[WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client...
[WebKit-https.git] / Tools / ChangeLog
1 2018-09-07  Fujii Hironori  <Hironori.Fujii@sony.com>
2
3         [WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
4         https://bugs.webkit.org/show_bug.cgi?id=189336
5
6         Reviewed by Alex Christensen.
7
8         WKPageSetPageLoaderClient is deprecated. Replaced it with
9         WKPageSetPageNavigationClient.
10
11         * MiniBrowser/win/WebKitBrowserWindow.cpp:
12         (WebKitBrowserWindow::WebKitBrowserWindow):
13         Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
14         (WebKitBrowserWindow::didFinishNavigation):
15         Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
16         (WebKitBrowserWindow::didCommitNavigation):
17         Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
18         (WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
19         (WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
20         * MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
21
22 2018-09-07  Daniel Bates  <dabates@apple.com>
23
24         [iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
25         https://bugs.webkit.org/show_bug.cgi?id=189325
26
27         Reviewed by Wenson Hsieh.
28
29         Fixes an issue where the test infrastructure would incorrectly synthesized a shift key press followed
30         by a ` key press (i.e. type '~') when instructed to simulate typing a grave accent (`). Typing a
31         grave accent does not require holding the shift key.
32
33         * WebKitTestRunner/ios/HIDEventGenerator.mm:
34         (shouldWrapWithShiftKeyEventForCharacter):
35
36 2018-09-07  Frederic Wang  <fwang@igalia.com>
37
38         [CSSOM View] Handle the scrollingElement in Element::scroll(Left/Top/Width/Height/To)
39         https://bugs.webkit.org/show_bug.cgi?id=182230
40
41         Reviewed by Simon Fraser.
42
43         This patch enables CSSOMViewScrollingAPI during test execution.
44
45         * DumpRenderTree/mac/DumpRenderTree.mm:
46         (enableExperimentalFeatures):
47         (resetWebPreferencesToConsistentValues):
48         * DumpRenderTree/win/DumpRenderTree.cpp:
49         (enableExperimentalFeatures):
50         * WebKitTestRunner/TestController.cpp:
51         (WTR::TestController::resetPreferencesToConsistentValues):
52
53 2018-09-07  Simon Fraser  <simon.fraser@apple.com>
54
55         resultsjsonparser needs to handle leak failures
56         https://bugs.webkit.org/show_bug.cgi?id=189430
57
58         Reviewed by Alexey Proskuryakov.
59         
60         Teach resultsjsonparser how to handle LEAK failures, building a FailureDocumentLeak
61         with a list of the leaked URLs.
62
63         * Scripts/webkitpy/common/net/resultsjsonparser.py:
64         (JSONTestResult._failure_types_from_actual_result):
65         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
66         (ParsedJSONResultsTest):
67         (test_basic):
68
69 2018-09-07  Aakash Jain  <aakash_jain@apple.com>
70
71         [ews-build] API tests should output result summary in json
72         https://bugs.webkit.org/show_bug.cgi?id=189417
73
74         Reviewed by Lucas Forschler.
75
76         * BuildSlaveSupport/ews-build/steps.py:
77         (RunAPITests): Passed --json-output parameter to run-api-tests.
78         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
79
80 2018-09-07  Commit Queue  <commit-queue@webkit.org>
81
82         Unreviewed, rolling out r235784.
83         https://bugs.webkit.org/show_bug.cgi?id=189421
84
85         RunLoopCF does not agree to the fix (Requested by yusukesuzuki
86         on #webkit).
87
88         Reverted changeset:
89
90         "[RunLoopGeneric] OneShotTimer should be inactive when fired."
91         https://bugs.webkit.org/show_bug.cgi?id=189335
92         https://trac.webkit.org/changeset/235784
93
94 2018-09-07  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
95
96         [RunLoopGeneric] OneShotTimer should be inactive when fired.
97         https://bugs.webkit.org/show_bug.cgi?id=189335
98
99         Reviewed by Yusuke Suzuki.
100
101         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
102         (TestWebKitAPI::TEST):
103
104         Add test expectations about timer's active state.
105
106         Add a new test to restart a one-shot timer within
107         its fired callback.
108
109 2018-09-06  Zalan Bujtas  <zalan@apple.com>
110
111         [LFC] Add support for min/max-height percentage values.
112         https://bugs.webkit.org/show_bug.cgi?id=189391
113
114         Reviewed by Antti Koivisto.
115
116         * LayoutReloaded/misc/LFC-passing-tests.txt:
117
118 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
119
120         Log when leak detection changes the test result
121         https://bugs.webkit.org/show_bug.cgi?id=189293
122
123         Reviewed by Jon Lee.
124         
125         When you have an "Leak" expectation in TestExpectations, it's confusing to see a test unexpectedly pass,
126         but then show up as an expected fail at the end (because leak detection happens at the end of a shard).
127         So log when leak detection changes a test result.
128
129         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
130         (LayoutTestRunner._annotate_results_with_additional_failures):
131         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
132         (TestExpectations):
133
134 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
135
136         [macOS] [WK2] Support changing attributes for selected text (text shadow, underline, strike-through)
137         https://bugs.webkit.org/show_bug.cgi?id=189356
138         <rdar://problem/44185674>
139
140         Reviewed by Tim Horton.
141
142         Adds a new API test to verify that some font attributes (text shadow, underline, and strike-through) can be
143         added and removed using NSFontPanel.
144
145         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
146         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
147
148         Add the new API test.
149
150         (TestWebKitAPI::TEST):
151         * TestWebKitAPI/cocoa/TestWKWebView.h:
152         * TestWebKitAPI/mac/NSFontPanelTesting.h: Added.
153         * TestWebKitAPI/mac/NSFontPanelTesting.mm: Added.
154
155         Introduce a new file that extends NSFontPanel with some additional testing functionality. This includes the
156         ability to interact with the text shadow toggle button, choose the text shadow blur radius and opacity, and
157         change underline and strike-through styles.
158
159         (findSubviewOfClass):
160         (findMenuItemWithTitle):
161         (-[NSFontPanel fontEffectsBox]):
162
163         NSFontEffectsBox (an internal AppKit class) is the sender in the case where -changeAttributes: is invoked
164         through interaction with the font panel. To simulate this for testing, grab this font effects box and pass it
165         directory to -changeAttributes:.
166
167         (-[NSFontPanel chooseUnderlineMenuItemWithTitle:]):
168         (-[NSFontPanel chooseStrikeThroughMenuItemWithTitle:]):
169
170         The supported values for these menu items are "none" and "single", which adds a single underline or
171         strike-through to selected text. We grab these menu items by asking for the font panel's NSToolbar, and finding
172         the relevant menu items via toolbar item identifiers.
173
174         (-[NSFontPanel _didChangeAttributes]):
175         (-[NSFontPanel shadowBlurSlider]):
176         (-[NSFontPanel shadowOpacitySlider]):
177         (-[NSFontPanel shadowToggleButton]):
178         (-[NSFontPanel toggleShadow]):
179         (-[NSFontPanel shadowOpacity]):
180         (-[NSFontPanel setShadowOpacity:]):
181         (-[NSFontPanel shadowBlur]):
182         (-[NSFontPanel setShadowBlur:]):
183         (-[NSFontPanel _toolbarItemWithIdentifier:]):
184
185 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
186
187         run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
188         https://bugs.webkit.org/show_bug.cgi?id=189219
189
190         Reviewed by Jon Lee.
191         
192         If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
193         it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
194         tests are marked as [ Leak ] in TestExpectations.
195         
196         Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
197         a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
198         
199         Add various unit tests to test the various combinations.
200
201         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
202         (LayoutTestRunner._update_summary_with_result):
203         (LayoutTestRunner._annotate_results_with_additional_failures):
204         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
205         (LayoutTestRunnerTests.test_update_summary_with_result):
206         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
207         (TestExpectationsModel.get_expectations_or_pass):
208         (TestExpectationsModel):
209         (TestExpectationsModel.expectations_to_string):
210         (TestExpectationsModel.get_expectations_string):
211         (TestExpectations.filtered_expectations_for_test):
212         (TestExpectations):
213         (TestExpectations.matches_an_expected_result):
214         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
215         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
216         (summarize_results):
217         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
218         (summarized_results):
219         (SummarizedResultsTest.setUp):
220         (SummarizedResultsTest.test_summarized_results_include_passes):
221         (SummarizedResultsTest):
222         (SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
223         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
224         * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
225         (BuildBotPrinterTests.test_print_unexpected_results):
226         (BuildBotPrinterTests.test_print_unexpected_results_with_options):
227         (BuildBotPrinterTests.test_print_results):
228         * Scripts/webkitpy/port/test.py:
229         (unit_test_list):
230
231 2018-09-06  Zalan Bujtas  <zalan@apple.com>
232
233         [LFC][BFC] Add support for min(max)-height
234         https://bugs.webkit.org/show_bug.cgi?id=189377
235
236         Reviewed by Antti Koivisto.
237
238         * LayoutReloaded/misc/LFC-passing-tests.txt:
239
240 2018-09-06  Dewei Zhu  <dewei_zhu@apple.com>
241
242         BenchmarkResults.format should support specifying depth of tests to show.
243         https://bugs.webkit.org/show_bug.cgi?id=189135
244
245         Reviewed by Ryosuke Niwa.
246
247         Added the option to specify the depth of tests to show.
248
249         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
250         (BenchmarkResults):
251         (BenchmarkResults.format): Added 'max_depth' option.
252         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
253
254
255 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
256
257         An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
258         https://bugs.webkit.org/show_bug.cgi?id=189368
259
260         Reviewed by Alexey Proskuryakov.
261         
262         Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
263         which should fix EWS showing leaks in Bugzilla.
264
265         * Scripts/webkitpy/layout_tests/models/test_failures.py:
266         (FailureDocumentLeak.__init__):
267         * Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
268         (TestFailuresTest.test_all_failure_classes):
269
270 2018-09-06  Commit Queue  <commit-queue@webkit.org>
271
272         Unreviewed, rolling out r235755.
273         https://bugs.webkit.org/show_bug.cgi?id=189367
274
275         Didn't address the review comment (Requested by rniwa on
276         #webkit).
277
278         Reverted changeset:
279
280         "BenchmarkResults.format should support specifying depth of
281         tests to show."
282         https://bugs.webkit.org/show_bug.cgi?id=189135
283         https://trac.webkit.org/changeset/235755
284
285 2018-08-29  Dewei Zhu  <dewei_zhu@apple.com>
286
287         BenchmarkResults.format should support specifying depth of tests to show.
288         https://bugs.webkit.org/show_bug.cgi?id=189135
289
290         Reviewed by Ryosuke Niwa.
291
292         Added the option to specify the depth of tests to show.
293
294         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
295         (BenchmarkResults):
296         (BenchmarkResults.format): Added 'max_depth' option.
297         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
298
299 2018-09-06  Thomas Denney  <tdenney@apple.com>
300
301         [WHLSL] Call arguments should be copied as soon as they are evaluated
302         https://bugs.webkit.org/show_bug.cgi?id=189360
303
304         Reviewed by Myles C. Maxfield.
305
306         Previously all call arguments were evaluated and then their results were
307         copied into new buffers for the call. However, the results are not
308         necessarily independent, so the result should be copied immediately
309         after evaluation.
310
311         * WebGPUShadingLanguageRI/Evaluator.js:
312         (Evaluator.prototype.visitCallExpression): Move location of copy.
313         (Evaluator):
314         * WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
315         behavior.
316
317 2018-09-06  Thomas Denney  <tdenney@apple.com>
318
319         [WHLSL] The test suite should log the compile time for the standard library
320         https://bugs.webkit.org/show_bug.cgi?id=189354
321
322         Reviewed by Myles C. Maxfield.
323
324         The test suite previously only logged the time for test execution, and
325         not the compile time for the standard library.
326
327         * WebGPUShadingLanguageRI/Test.js:
328
329 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
330
331         [macOS] Cannot change font size at selection until font panel is shown
332         https://bugs.webkit.org/show_bug.cgi?id=189295
333         <rdar://problem/35593389>
334
335         Reviewed by Ryosuke Niwa.
336
337         Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
338         NSFontPanel to specify the font family, font size, and other traits.
339
340         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
341         * TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
342         (-[TestWKWebView selectedText]):
343         (-[TestWKWebView selectNextWord]):
344         (-[TestWKWebView stylePropertyAtSelectionStart:]):
345         (-[TestWKWebView stylePropertyAtSelectionEnd:]):
346         (webViewForFontManagerTesting):
347         (menuItemCellForFontAction):
348         (TestWebKitAPI::TEST):
349
350 2018-09-06  Zalan Bujtas  <zalan@apple.com>
351
352         [LFC][BFC] Add support for min(max)-width
353         https://bugs.webkit.org/show_bug.cgi?id=189358
354
355         Reviewed by Antti Koivisto.
356
357         * LayoutReloaded/misc/LFC-passing-tests.txt:
358
359 2018-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
360
361         [WHLSL] The parser is too slow
362         https://bugs.webkit.org/show_bug.cgi?id=189014
363
364         Reviewed by Filip Pizlo.
365
366         This patch includes three changes:
367         1. Migrate from using try/catch to simply returning the WSyntaxError. This means that
368            each parser call has to check for this sentinel value. The lexer still can throw if
369            it encounters an unknown token or an unmatched "/*" token (which is rare).
370         2. After removing try/catch, making the sentinel values not inherit from Error (the
371            Error constructor was taking lots of time)
372         3. Previously, every time the parser failed (which is many times per expression) it was
373            running a regex over the entire source text to figure out where the error occurred.
374            Instead, we can preprocess the text string to find these line numbers ahead of time.
375
376         Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
377         hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
378         the bulk of the standard library.
379
380         * WebGPUShadingLanguageRI/All.js:
381         * WebGPUShadingLanguageRI/Lexer.js:
382         (Lexer):
383         (Lexer.prototype.lineNumberForIndex):
384         * WebGPUShadingLanguageRI/Parse.js:
385         (fail):
386         (backtrackingScope):
387         (testScope):
388         (genericConsume):
389         (consumeEndOfTypeArgs):
390         (parseTerm):
391         (parseConstexpr):
392         (parseTypeArguments):
393         (parseType.getAddressSpace):
394         (parseType):
395         (parseTypeDef):
396         (genericParseLeft):
397         (parseCallExpression.let.parseArguments):
398         (isCallExpression):
399         (parseSuffixOperator):
400         (parsePossibleSuffix):
401         (parsePreIncrement):
402         (parsePossiblePrefix):
403         (parsePossibleTernaryConditional):
404         (parsePossibleAssignment):
405         (parsePostIncrement):
406         (parseEffectfulExpression):
407         (genericParseCommaExpression):
408         (parseEffectfulStatement):
409         (parseReturn):
410         (parseBreak):
411         (parseContinue):
412         (parseIfStatement):
413         (parseWhile):
414         (parseFor):
415         (parseDo):
416         (parseVariableDecls):
417         (parseSwitchCase):
418         (parseSwitchStatement):
419         (parseStatement):
420         (parseBlockBody):
421         (parseBlock):
422         (parseParameter):
423         (parseFuncName):
424         (parseFuncDecl):
425         (parseFuncDef):
426         (parseField):
427         (parseStructType):
428         (parseNativeFunc):
429         (parseNative):
430         (parseRestrictedFuncDef):
431         (parseEnumMember):
432         (parseEnumType):
433         (parse):
434         * WebGPUShadingLanguageRI/SPIRV.html:
435         * WebGPUShadingLanguageRI/StandardLibrary.js:
436         (let.standardLibrary):
437         * WebGPUShadingLanguageRI/Test.html:
438         * WebGPUShadingLanguageRI/Test.js:
439         (checkFail.doPrep): Deleted.
440         * WebGPUShadingLanguageRI/WLexicalError.js: Added.
441         (WLexicalError):
442         * WebGPUShadingLanguageRI/index.html:
443
444 2018-09-06  Xan Lopez  <xan@igalia.com>
445
446         [test262] Do not call keys on a reference
447         https://bugs.webkit.org/show_bug.cgi?id=189301
448
449         Reviewed by Keith Miller.
450
451         * Scripts/test262/Runner.pm:
452         (UpdateResults):
453
454 2018-09-06  David Kilzer  <ddkilzer@apple.com>
455
456         svn-create-patch fails when svn mv is used on directory trees
457         <https://webkit.org/b/14590>
458
459         Reviewed by Daniel Bates.
460
461         * Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
462         svn-create-patch.
463         (parseDiffStartLine): Use parseSvnDiffStartLine().
464         (parseGitDiffStartLine): Document a prerequisite.  Fix a bug
465         when parsing Git patches using `git diff --no-prefix` that have
466         non-native line endings.  Found by new tests written for
467         Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
468         (parseSvnDiffStartLine): Add.  Extract logic from
469         parseDiffStartLine() for use with svn-create-patch.
470
471         * Scripts/svn-create-patch: Update copyright and license.
472         (generateDiff): Return early for moved directories since
473         individual files within the directory are handled separately.
474         (generateFileList): Keep track of moved directories in the
475         @additionWithHistoryDirectories array, then process this array
476         in reverse order to create delete/add patches for each file in
477         a moved directory.  This also prevents duplicate patches.
478         (manufacturePatchForAdditionWithHistory): Fix a long-standing
479         bug where the path used to describe property changes contained
480         the original (moved-from) path instead of the new (moved-to)
481         path. This could cause svn-apply to fail mysteriously when
482         trying to apply an empty patch created by the property change
483         containing the moved-from path.
484
485         * Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
486         Tests for parseDiffStartLine(), parseGitDiffStartLine() and
487         parseSvnDiffStartLine().
488
489 2018-09-05  Don Olmstead  <don.olmstead@sony.com>
490
491         [CMake] Allow port specific options on gtest
492         https://bugs.webkit.org/show_bug.cgi?id=189313
493
494         Reviewed by Alex Christensen.
495
496         Use the global property set by the gtest CMake file to add to the
497         compilation definitions for TestWebKitAPI rather than repeating the
498         logic.
499
500         * TestWebKitAPI/CMakeLists.txt:
501
502 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
503
504         Add infrastructure to dump resource load statistics
505         https://bugs.webkit.org/show_bug.cgi?id=189213
506
507         Reviewed by Daniel Bates.
508
509         The dumping functionality is not currently used, but will be included in tests for
510         <https://bugs.webkit.org/show_bug.cgi?id=187773>.
511
512         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
513         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
514         (WTR::TestRunner::setDumpResourceLoadStatistics):
515         * WebKitTestRunner/InjectedBundle/TestRunner.h:
516         * WebKitTestRunner/TestController.cpp:
517         (WTR::resourceStatisticsStringResultCallback):
518         (WTR::TestController::dumpResourceLoadStatistics):
519         * WebKitTestRunner/TestController.h:
520         * WebKitTestRunner/TestInvocation.cpp:
521         (WTR::TestInvocation::dumpResults):
522         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
523         (WTR::TestInvocation::setDumpResourceLoadStatistics):
524         * WebKitTestRunner/TestInvocation.h:
525
526 2018-09-05  Wenson Hsieh  <wenson_hsieh@apple.com>
527
528         [macOS] DragAndDropTests.ExposeMultipleURLsInDataTransfer fails on macOS versions prior to Mojave
529         https://bugs.webkit.org/show_bug.cgi?id=189315
530
531         Reviewed by Tim Horton.
532
533         Fix the test failure by explicitly enabling custom pasteboard data.
534
535         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
536         (TEST):
537
538 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
539
540         Added runtime feature flag for web API statistics
541         https://bugs.webkit.org/show_bug.cgi?id=189211
542
543         Reviewed by Daniel Bates.
544
545         Added functionality to set the runtime flag with a JavaScript exposed function
546         for testing.
547
548         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
549         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
550         (WTR::TestRunner::setWebAPIStatisticsEnabled):
551         * WebKitTestRunner/InjectedBundle/TestRunner.h:
552
553 2018-09-05  Ross Kirsling  <ross.kirsling@sony.com>
554
555         Add WinCairo to bot watcher's dashboard.
556         https://bugs.webkit.org/show_bug.cgi?id=189273
557
558         Reviewed by Aakash Jain.
559
560         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: Added.
561         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: Added.
562
563         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
564         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
565         (table.queue-grid tr.platform.windows-10 img.logo): Added.
566         (table.queue-grid tr.platform.windows-8 img.logo): Deleted.
567         (table.queue-grid tr.platform.windows-xp img.logo): Deleted.
568         Add Win10 section to dashboard. Remove unused WinXP and Win8 sections.
569
570         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
571         (BubbleQueueServer):
572         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
573         (WebKitBuildbot):
574         Add WinCairo build, test, and EWS bots to Win10 section of dashboard.
575
576 2018-09-05  David Kilzer  <ddkilzer@apple.com>
577
578         REGRESSION (r209470): EditingHistory folder is missing in EditingHistory Xcode project
579
580         Found using `tidy-Xcode-project-file --missing` (see Bug
581         188754).  Fixes were made manually.
582
583         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
584         (EditingHistory): Change the path of the folder to
585         "EditingHistory", then remove the now-redundant name.
586         (EditingHistory/Resources/DumpEditingHistory.js): Remove
587         redundant file reference since another file reference exists at
588         the top of the project file list, and that file reference is the
589         one used in the "Copy Bundle Resources" build phase.
590         (EditingHistory/Resources/EditingHistoryUtil.js): Ditto.
591
592 2018-09-05  David Kilzer  <ddkilzer@apple.com>
593
594         REGRESSION (r160736): Bundle folder is missing in MiniBrowser Xcode project
595
596         Found using `tidy-Xcode-project-file --missing` (see Bug
597         188754).  Folder fix was made manually.
598
599         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
600         (Bundle): Change the path of the folder to "mac/Bundle", and set
601         the name back to "Bundle".
602         (Bundle/Info.plist): Change file reference to be relative to its
603         group.  Accomplished using Xcode after fixing the folder path.
604         (Bundle/MiniBrowserBundle_Prefix.pch): Ditto.
605
606 2018-09-05  David Kilzer  <ddkilzer@apple.com>
607
608         REGRESSION (r184033): ContentExtensionTester folder is missing in ContentExtensionTester Xcode project
609
610         Found using `tidy-Xcode-project-file --missing` (see Bug
611         188754).  Fixes were made manually.
612
613         * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
614         (ContentExtensionTester): Change the path of the folder to map
615         to "." (which exists and is where main.m is located), and then
616         set the folder's name back to "ContentExtensionTester".
617         (main.m): Change file reference to be relative to its group now
618         that the group's path is fixed.
619
620 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
621
622         Add generic entrypoint and run loop in TestWebKitAPI
623         https://bugs.webkit.org/show_bug.cgi?id=189287
624
625         Reviewed by Michael Catanzaro.
626
627         The implementations in jsconly are platform agnostic.
628
629         * TestWebKitAPI/PlatformJSCOnly.cmake:
630         Use the glib implementation of Utilities when using that as a run loop
631         otherwise use the generic implementation.
632
633         * TestWebKitAPI/PlatformUtilities.h:
634         Remove repeated entries from Utilities.h.
635
636         * TestWebKitAPI/PlatformWPE.cmake:
637         Use the generic main.cpp.
638         
639         * TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
640         (TestWebKitAPI::Util::run):
641         (TestWebKitAPI::Util::spinRunLoop):
642         Moved to a generic implementation and added spinRunLoop.
643
644         * TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
645         Share between JSCOnly and WPE
646
647         * TestWebKitAPI/wpe/main.cpp: Removed.
648
649 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
650
651         [CMake] Make TestWebKitAPI dependencies explicit
652         https://bugs.webkit.org/show_bug.cgi?id=189282
653
654         Reviewed by Fujii Hironori.
655
656         The config.h file includes files from JSC, WebCore and WebKit which
657         places a dependency on those headers even when just building TestWTF.
658         This makes the depedencies explicit for all CMake ports and shoud
659         remove any race conditions that can be encountered when building tests.
660
661         * TestWebKitAPI/CMakeLists.txt:
662         * TestWebKitAPI/PlatformGTK.cmake:
663         * TestWebKitAPI/PlatformWPE.cmake:
664         * TestWebKitAPI/PlatformWin.cmake:
665
666 2018-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
667
668         Populate "text/uri-list" with multiple URLs when the pasteboard contains multiple URLs
669         https://bugs.webkit.org/show_bug.cgi?id=188890
670         <rdar://problem/43648605>
671
672         Reviewed by Tim Horton.
673
674         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
675         (-[LocalPasteboard pasteboardItems]):
676
677         Implement this method to avoid crashing when running layout tests that access the pasteboard.
678
679         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
680
681         Add a test to verify that on macOS and iOS, multiple URLs dropped onto the page are accessible via
682         "text/uri-list".
683
684         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
685
686         Add a test that exercises 5 different ways to write one or more URLs to the pasteboard on macOS; in all cases,
687         the URLs written to the pasteboard should be exposed to the page via "text/uri-list". In all of these different
688         cases, the results of using `-[NSPasteboardItem stringForType:]`, `-[NSURL URLFromPasteboard:]` and
689         `-[NSPasteboard stringForType:]` will yield different results, so the purpose of this API test is to ensure that
690         our logic for grabbing a list of URLs from the pasteboard on macOS is robust enough to handle all of these
691         different behaviors.
692
693         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
694
695         Add a test to verify that on iOS, using `-[UIPasteboard setURLs:]` to write to multiple URLs to the pasteboard
696         and then pasting results in "text/uri-list" exposing a list of all the URLs written to the pasteboard.
697
698         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
699         (-[LocalPasteboard pasteboardItems]):
700
701         Implement this method to avoid crashing when running layout tests that access the pasteboard.
702
703 2018-09-04  Simon Fraser  <simon.fraser@apple.com>
704
705         REGRESSION(r235408): GTK bots exiting early
706         https://bugs.webkit.org/show_bug.cgi?id=189063
707
708         Reviewed by Michael Catanzaro.
709         
710         WebKitTestRunner was running the world leak checks even when run without --world-leaks,
711         causing GTK bot timeouts. So guard updateLiveDocumentsAfterTest(), checkForWorldLeaks()
712         and findAndDumpWorldLeaks() with m_checkForWorldLeaks checks, and in
713         TestController::handleControlCommand() print a message if the control script sends the
714         "#CHECK FOR WORLD LEAKS" command if WTR was not run with --world-leaks.
715         
716         I tested that running with --world-leaks still works.
717
718         * WebKitTestRunner/TestController.cpp:
719         (WTR::TestController::resetStateToConsistentValues):
720         (WTR::TestController::updateLiveDocumentsAfterTest):
721         (WTR::TestController::checkForWorldLeaks):
722         (WTR::TestController::findAndDumpWorldLeaks):
723         (WTR::TestController::handleControlCommand):
724         (WTR::TestController::run):
725
726 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
727
728         Unreviewed follow-up to r235635
729         https://bugs.webkit.org/show_bug.cgi?id=188940
730
731         Use "let" variables instead of "var" variables.
732
733         * WebGPUShadingLanguageRI/StandardLibrary.js:
734         (let.standardLibrary):
735
736 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
737
738         [WHLSL] Implement texture types
739         https://bugs.webkit.org/show_bug.cgi?id=188940
740
741         Rubber-stamped by Dean Jackson.
742
743         Implement the texture types and operations. This includes Sample(), Load(), Store(), Gather(), and GetDimensions().
744         These functions were implemented according to section 15 of the Vulkan 1.1.83 spec, which lists each operation
745         and how to compute its results.
746
747         * WebGPUShadingLanguageRI/All.js:
748         * WebGPUShadingLanguageRI/Casts.js: Moved from Intrinsics. The texture operations need to cast too, so these are
749         moved into a common location.
750         (cast):
751         (bitwiseCast):
752         (castToUchar):
753         (castToUshort):
754         (castToUint):
755         (castToChar):
756         (castToShort):
757         (castToInt):
758         (castToHalf):
759         (castToFloat):
760         * WebGPUShadingLanguageRI/Intrinsics.js: Use Casts.js and call into TextureOperations.js.
761         (Intrinsics.):
762         (Intrinsics.checkFalse):
763         (Intrinsics.boxVector):
764         (Intrinsics.unboxVector):
765         (Intrinsics):
766         (Intrinsics.cast): Deleted.
767         (Intrinsics.bitwiseCast): Deleted.
768         (Intrinsics.castToHalf): Deleted.
769         * WebGPUShadingLanguageRI/SPIRV.html:
770         * WebGPUShadingLanguageRI/Sampler.js: Added. Represent the Sampler type. 
771         (Sampler):
772         (Sampler.prototype.get rAddressMode):
773         (Sampler.prototype.get sAddressMode):
774         (Sampler.prototype.get tAddressMode):
775         (Sampler.prototype.get minFilter):
776         (Sampler.prototype.get magFilter):
777         (Sampler.prototype.get mipmapFilter):
778         (Sampler.prototype.get lodMinClamp):
779         (Sampler.prototype.get lodMaxClamp):
780         (Sampler.prototype.get maxAnisotropy):
781         (Sampler.prototype.get compareFunction):
782         (Sampler.prototype.get borderColor):
783         (Sampler.prototype.calculateBorderColor.computeValues):
784         (Sampler.prototype.calculateBorderColor):
785         * WebGPUShadingLanguageRI/StandardLibrary.js: Update the standard library. Some of the functions were
786         either missing or wrong.
787         (let.standardLibrary):
788         * WebGPUShadingLanguageRI/Test.html:
789         * WebGPUShadingLanguageRI/Test.js: Test many, many combinations of the texture operations.
790         (makeSampler):
791         (make1DTexture):
792         (make1DTextureArray):
793         (make2DTexture):
794         (make2DTextureArray):
795         (make3DTexture):
796         (makeTextureCube):
797         (makeRW1DTexture):
798         (makeRW1DTextureArray):
799         (makeRW2DTexture):
800         (makeRW2DTextureArray):
801         (makeRW3DTexture):
802         (make2DDepthTexture):
803         (make2DDepthTextureArray):
804         (makeDepthTextureCube):
805         (makeRW2DDepthTexture):
806         (makeRW2DDepthTextureArray):
807         (checkFloat4):
808         * WebGPUShadingLanguageRI/Texture.js: Added. Represents each of the texture types.
809         (Texture):
810         (Texture.prototype.get dimension):
811         (Texture.prototype.get width):
812         (Texture.prototype.get height):
813         (Texture.prototype.get depth):
814         (Texture.prototype.get levelCount):
815         (Texture.prototype.get layerCount):
816         (Texture.prototype.get innerType):
817         (Texture.prototype.get data):
818         (Texture.prototype.elementChecked):
819         (Texture.prototype.setElementChecked):
820         (Texture1D):
821         (Texture1D.prototype.widthAtLevel):
822         (Texture1D.prototype.heightAtLevel):
823         (Texture1D.prototype.depthAtLevel):
824         (Texture1D.prototype.element):
825         (Texture1D.prototype.setElement):
826         (Texture1DArray):
827         (Texture1DArray.prototype.widthAtLevel):
828         (Texture1DArray.prototype.heightAtLevel):
829         (Texture1DArray.prototype.depthAtLevel):
830         (Texture1DArray.prototype.element):
831         (Texture1DArray.prototype.setElement):
832         (Texture2D):
833         (Texture2D.prototype.widthAtLevel):
834         (Texture2D.prototype.heightAtLevel):
835         (Texture2D.prototype.depthAtLevel):
836         (Texture2D.prototype.element):
837         (Texture2D.prototype.setElement):
838         (Texture2DArray):
839         (Texture2DArray.prototype.widthAtLevel):
840         (Texture2DArray.prototype.heightAtLevel):
841         (Texture2DArray.prototype.depthAtLevel):
842         (Texture2DArray.prototype.element):
843         (Texture2DArray.prototype.setElement):
844         (Texture3D):
845         (Texture3D.prototype.widthAtLevel):
846         (Texture3D.prototype.heightAtLevel):
847         (Texture3D.prototype.depthAtLevel):
848         (Texture3D.prototype.element):
849         (Texture3D.prototype.setElement):
850         (TextureCube):
851         (TextureCube.prototype.widthAtLevel):
852         (TextureCube.prototype.heightAtLevel):
853         (TextureCube.prototype.depthAtLevel):
854         (TextureCube.prototype.element):
855         (TextureCube.prototype.setElement):
856         (Texture1DRW):
857         (Texture1DRW.prototype.widthAtLevel):
858         (Texture1DRW.prototype.heightAtLevel):
859         (Texture1DRW.prototype.depthAtLevel):
860         (Texture1DRW.prototype.element):
861         (Texture1DRW.prototype.setElement):
862         (Texture1DArrayRW):
863         (Texture1DArrayRW.prototype.widthAtLevel):
864         (Texture1DArrayRW.prototype.heightAtLevel):
865         (Texture1DArrayRW.prototype.depthAtLevel):
866         (Texture1DArrayRW.prototype.element):
867         (Texture1DArrayRW.prototype.setElement):
868         (Texture2DRW):
869         (Texture2DRW.prototype.widthAtLevel):
870         (Texture2DRW.prototype.heightAtLevel):
871         (Texture2DRW.prototype.depthAtLevel):
872         (Texture2DRW.prototype.element):
873         (Texture2DRW.prototype.setElement):
874         (Texture2DArrayRW):
875         (Texture2DArrayRW.prototype.widthAtLevel):
876         (Texture2DArrayRW.prototype.heightAtLevel):
877         (Texture2DArrayRW.prototype.depthAtLevel):
878         (Texture2DArrayRW.prototype.element):
879         (Texture2DArrayRW.prototype.setElement):
880         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW):
881         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.widthAtLevel):
882         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.heightAtLevel):
883         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.depthAtLevel):
884         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.element):
885         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.setElement):
886         * WebGPUShadingLanguageRI/TextureOperations.js: Added. This implements the texture operations
887         as described in section 15 of the Vulkan 1.1.83 spec.
888         (depthCompareOperation):
889         (conversionToRGBA):
890         (projectionOperation):
891         (cubeMapFaceSelection):
892         (cubeMapCoordinateTransformation):
893         (cubeMapDerivativeTransformation):
894         (scaleFactorOperation):
895         (levelOfDetailOperation):
896         (nearest):
897         (imageLevelSelection):
898         (strqaToUVWATransformation):
899         (rne):
900         (uvwaToIJKLNTransformationAndArrayLayerSelection):
901         (integerTexelCoordinateOperations):
902         (mirror):
903         (transform):
904         (wrappingOperation):
905         (calculateLambda):
906         (shouldBeBorder):
907         (accessColor):
908         (computeTau):
909         (reduce):
910         (texelGathering):
911         (computeColorFromLevel):
912         (texelFiltering):
913         (castToInnerTypeForGather):
914         (gatherTexture):
915         (castToInnerType):
916         (sampleTexture):
917         * WebGPUShadingLanguageRI/index.html:
918
919 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
920
921         Removing an accidentally committed debugging print.
922
923         * Scripts/run-leaks: (runLeaks)
924
925 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
926
927         run-leaks should run leaks with --list (on Mojave)
928         https://bugs.webkit.org/show_bug.cgi?id=187716
929         <rdar://problem/42261676>
930
931         Reviewed by Lucas Forschler.
932
933         Also enabled dumping memgraphs. We'll be pruning these aggressively, as they take
934         significant space.
935
936         * Scripts/run-leaks:
937         (main): Added an option to store memgraphs.
938         (runLeaks): As there is no way to test whether the new format is supported in advance,
939         we have to try with --list first, and retry if that fails. Also, made leaks operate
940         on a memgraph file if we are saving it anyway.
941
942         * Scripts/webkitpy/port/leakdetector.py:
943         (LeakDetector._leaks_args): Pass --memgraph-file to run-leaks.
944         (LeakDetector.leaks_file_name): Removed an incorrect comment.
945         (LeakDetector.memgraph_file_name): Added.
946         (LeakDetector.check_for_leaks): Changed how arguments are passed to _leaks_args.
947         It is a bit ugly that leaks path ends up being computed twice, but this is the least
948         ugly approach that I could find.
949
950         * Scripts/webkitpy/port/leakdetector_unittest.py: Updated for _leaks_args changes.
951
952 2018-09-04  Chris Dumez  <cdumez@apple.com>
953
954         Add process pool configuration flag to turn on automatic process pre-warming
955         https://bugs.webkit.org/show_bug.cgi?id=189263
956         <rdar://problem/44101941>
957
958         Reviewed by Antti Koivisto.
959
960         Add API test coverage.
961
962         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
963         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm.
964         (TEST):
965         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
966         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Removed.
967
968 2018-09-04  Keith Miller  <keith_miller@apple.com>
969
970         Perl doesn't like calling keys on a reference
971         https://bugs.webkit.org/show_bug.cgi?id=189261
972
973         Reviewed by Michael Saboff.
974
975         * Scripts/test262/Runner.pm:
976         (UpdateResults):
977
978 2018-09-04  Jer Noble  <jer.noble@apple.com>
979
980         REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
981         https://bugs.webkit.org/show_bug.cgi?id=187972
982         <rdar://problem/42667737>
983
984         Reviewed by Darin Adler.
985
986         Ensure that listeners are added in time to catch messages broadcast at them.
987
988         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
989         (TestWebKitAPI::TEST):
990
991 2018-09-04  Ross Kirsling  <ross.kirsling@sony.com>
992
993         Update googletest
994         https://bugs.webkit.org/show_bug.cgi?id=175722
995
996         Reviewed by Brent Fulgham.
997
998         * TestWebKitAPI/config.h:
999         Instead of modifying the gtest source, add the necessary WTF includes here.
1000
1001         * TestWebKitAPI/Configurations/Base.xcconfig
1002         Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
1003
1004 2018-09-03  Pablo Saavedra  <psaavedra@igalia.com>
1005
1006         [WPE] Add more WPE bots to dashboard
1007         https://bugs.webkit.org/show_bug.cgi?id=189245
1008
1009         Reviewed by Daniel Bates.
1010
1011         There are two missing bots which are not listed in the dashboard for
1012         a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
1013
1014         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1015         (WebKitBuildbot):
1016
1017 2018-09-01  Michael Catanzaro  <mcatanzaro@igalia.com>
1018
1019         [WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
1020         https://bugs.webkit.org/show_bug.cgi?id=189006
1021
1022         Reviewed by Darin Adler.
1023
1024         The MiniBrowser source code is missing from the tarball. Oops! Add it.
1025
1026         * wpe/manifest.txt.in:
1027
1028 2018-09-01  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
1029
1030         [WinCairo] Add CryptoDigestOpenSSL
1031         https://bugs.webkit.org/show_bug.cgi?id=188978
1032
1033         Reviewed by Darin Adler.
1034
1035         Add API tests for the PAL::CryptoDigest class.
1036
1037         * TestWebKitAPI/PlatformWin.cmake:
1038         Add CryptoDigest.cpp to TestWebCoreLib_Sources.
1039
1040         Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
1041         without the definition the functions marked with PAL_EXPORT are supposed to be
1042         imported from another shared library, but as it is, TestWebCoreLib
1043         links PAL statically.
1044
1045         * TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
1046         (TestWebKitAPI::toHex):
1047         (TestWebKitAPI::expect):
1048         (TestWebKitAPI::expectSHA1):
1049         (TestWebKitAPI::expectSHA224):
1050         (TestWebKitAPI::expectSHA256):
1051         (TestWebKitAPI::expectSHA384):
1052         (TestWebKitAPI::expectSHA512):
1053         (TestWebKitAPI::TEST):
1054
1055 2018-09-01  Dan Bernstein  <mitz@apple.com>
1056
1057         [Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
1058         https://bugs.webkit.org/show_bug.cgi?id=189222
1059         <rdar://problem/33283179>
1060
1061         Reviewed by Sam Weinig.
1062
1063         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1064         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
1065         (TEST):
1066
1067 2018-08-31  Aditya Keerthi  <akeerthi@apple.com>
1068
1069         Unreviewed, add an alternate email for Aditya Keerthi.
1070
1071         * Scripts/webkitpy/common/config/contributors.json:
1072
1073 2018-08-31  Wenson Hsieh  <wenson_hsieh@apple.com>
1074
1075         [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
1076         https://bugs.webkit.org/show_bug.cgi?id=189054
1077         <rdar://problem/43819779>
1078
1079         Reviewed by Tim Horton.
1080
1081         See WebCore/ChangeLog for more detail.
1082
1083         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1084         (createWebViewWithCustomPasteboardDataEnabled):
1085
1086 2018-08-31  Commit Queue  <commit-queue@webkit.org>
1087
1088         Unreviewed, rolling out r235565.
1089         https://bugs.webkit.org/show_bug.cgi?id=189212
1090
1091         Broke the WHLSL build (Requested by litherum on #webkit).
1092
1093         Reverted changeset:
1094
1095         "[WHLSL] Remove useless code in NameResolver"
1096         https://bugs.webkit.org/show_bug.cgi?id=189176
1097         https://trac.webkit.org/changeset/235565
1098
1099 2018-08-31  Myles C. Maxfield  <mmaxfield@apple.com>
1100
1101         [WHLSL] Remove useless code in NameResolver
1102         https://bugs.webkit.org/show_bug.cgi?id=189176
1103
1104         Reviewed by Dean Jackson and Thomas Denney.
1105
1106         The check will always pass becase the standard library contains at least one function with the correct name.
1107
1108         * WebGPUShadingLanguageRI/NameResolver.js:
1109         (NameResolver.prototype.visitDotExpression):
1110         (NameResolver.prototype._handlePropertyAccess): Deleted.
1111         (NameResolver.prototype.visitIndexExpression): Deleted.
1112
1113 2018-08-31  Simon Fraser  <simon.fraser@apple.com>
1114
1115         Make it possible to mark tests as leaks in TestExpectations
1116         https://bugs.webkit.org/show_bug.cgi?id=189088
1117
1118         Reviewed by Jon Lee.
1119         
1120         Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
1121         thing if the test run did not use --world-leaks. Add unit tests for leaks combined
1122         with various other result combinations.
1123
1124         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1125         (LayoutTestRunner._update_summary_with_result):
1126         (LayoutTestRunner._annotate_results_with_additional_failures):
1127         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1128         (TestExpectationParser):
1129         (TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
1130         (TestExpectations.remove_leak_failures):
1131         (TestExpectations.matches_an_expected_result):
1132         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1133         (Base.get_basic_tests):
1134         * Scripts/webkitpy/port/test.py:
1135         (TestList.add_reftest):
1136         (unit_test_list):
1137
1138 2018-08-31  Zalan Bujtas  <zalan@apple.com>
1139
1140         [LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
1141         https://bugs.webkit.org/show_bug.cgi?id=189193
1142
1143         Reviewed by Antti Koivisto.
1144
1145         * LayoutReloaded/misc/LFC-passing-tests.txt:
1146
1147 2018-08-31  Antti Koivisto  <antti@apple.com>
1148
1149         Replace OptionSet |= and -= operators with add() and remove() functions
1150         https://bugs.webkit.org/show_bug.cgi?id=189169
1151
1152         Reviewed by Anders Carlsson.
1153
1154         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1155         (TestWebKitAPI::TEST):
1156
1157 2018-08-31  Daniel Bates  <dabates@apple.com>
1158
1159         lldb-webkit: KeyError thrown for OptionSet with invalid value
1160         https://bugs.webkit.org/show_bug.cgi?id=189070
1161
1162         Update comment to explain that we return early and do not compute the set of enumerators in the
1163         OptionSet when the underlying value of the set is an invalid value.
1164
1165         Additionally, update the change log entry for r235482 to reflect the updated title for the bug
1166         and to better describe the change that was made.
1167
1168         * lldb/lldb_webkit.py:
1169         (WTFOptionSetProvider.update):
1170
1171 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1172
1173         WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
1174
1175         This makes the Configurations folder in the Xcode project match
1176         what's in the Configurations directory on disk.  Found by
1177         tidy-Xcode-project-file (see Bug 188754).
1178
1179         * WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
1180         * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
1181         - Update project for file move.
1182
1183 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1184
1185         WebKitLauncher: Fix build failures
1186
1187         * WebKitLauncher/Configurations/Base.xcconfig:
1188         (ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
1189         (MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
1190
1191         * WebKitLauncher/WebKitNightlyEnabler.m:
1192         (myApplicationWillFinishLaunching):
1193         * WebKitLauncher/main.m:
1194         (displayErrorAndQuit):
1195         (locateSafariBundle):
1196         - Use pragma to ignore deprecation warnings.
1197
1198 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1199
1200         MobileMiniBrowser: Move test2s.mp4 into Resources directory
1201
1202         This makes the Resources folder in the Xcode project match
1203         what's in the Resources directory on disk.  Found by
1204         tidy-Xcode-project-file (see Bug 188754).
1205
1206         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1207         - Update project for file move.
1208         * MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
1209
1210 2018-08-31  Frederic Wang  <fwang@igalia.com>
1211
1212         Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
1213         https://bugs.webkit.org/show_bug.cgi?id=182053
1214
1215         Reviewed by Simon Fraser.
1216
1217         Add FIXMEs comments to add the new developer flag in the future and  disable it for now.
1218
1219         * DumpRenderTree/mac/DumpRenderTree.mm:
1220         (enableExperimentalFeatures):
1221         (resetWebPreferencesToConsistentValues):
1222         * DumpRenderTree/win/DumpRenderTree.cpp:
1223         (enableExperimentalFeatures):
1224         * WebKitTestRunner/TestController.cpp:
1225         (WTR::TestController::resetPreferencesToConsistentValues):
1226
1227 2018-08-30  Thomas Denney  <tdenney@apple.com>
1228
1229         [WHLSL] Fix array indexing behavior
1230         https://bugs.webkit.org/show_bug.cgi?id=189175
1231
1232         Array, pointer, and array ref types are now parsed and then constructed
1233         in reverse so that the declaration order matches the indexing order, as
1234         in C/C++.
1235
1236         Reviewed by Myles C. Maxfield.
1237
1238         * WebGPUShadingLanguageRI/Parse.js:
1239         (parseType):
1240         * WebGPUShadingLanguageRI/Test.js:
1241
1242 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1243
1244         Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1245         https://bugs.webkit.org/show_bug.cgi?id=185965
1246
1247         Reviewed by Andy Estes.
1248
1249         The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
1250         from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
1251         message handlers in the UI process *before* evaluating script that could propagate the script message.
1252
1253         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1254         (-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
1255         (TEST):
1256
1257 2018-08-30  Thomas Denney  <tdenney@apple.com>
1258
1259         [WHLSL] Implement tests to verify array indexing order matches our desires
1260         https://bugs.webkit.org/show_bug.cgi?id=189099
1261
1262         Reviewed by Myles C. Maxfield.
1263
1264         * WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
1265         and the option to explicitly disable tests (this test is disabled by
1266         default).
1267         * WebGPUShadingLanguageRI/TypeRef.js:
1268         (TypeRef.wrap): Fixes  typo.
1269
1270 2018-08-30  Sihui Liu  <sihui_liu@apple.com>
1271
1272         WKNavigation.ProcessCrashDuringCallback is failing on iOS
1273         https://bugs.webkit.org/show_bug.cgi?id=189148
1274
1275         Reviewed by Chris Dumez.
1276
1277         We should not deference WebView or we may get WKErrorWebViewInvalidated error, because 
1278         WebView could be destroyed before Web Process termination is noticed.
1279
1280         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1281         (TEST):
1282
1283 2018-08-30  Zalan Bujtas  <zalan@apple.com>
1284
1285         [LFC][Floating] Formatting context roots avoid floats.
1286         https://bugs.webkit.org/show_bug.cgi?id=189150
1287
1288         Reviewed by Antti Koivisto.
1289
1290         * LayoutReloaded/misc/LFC-passing-tests.txt:
1291
1292 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1293
1294         [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1295         https://bugs.webkit.org/show_bug.cgi?id=185965
1296
1297         Reviewed by Andy Estes.
1298
1299         These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
1300         element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
1301         because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
1302         this by waiting for the "load" event (which is also done in some of the other tests in this file).
1303
1304         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1305         (TEST):
1306
1307 2018-08-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1308
1309         Unreviewed, rolling out r235114.
1310
1311         ostree server deleted our commits?
1312
1313         Reverted changeset:
1314
1315         "[Flatpak] Update to GNOME master runtime"
1316         https://bugs.webkit.org/show_bug.cgi?id=188731
1317         https://trac.webkit.org/changeset/235114
1318
1319 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1320
1321         [WHLSL] Test row-majorness of matrices
1322         https://bugs.webkit.org/show_bug.cgi?id=189101
1323
1324         The matrix multiplication functions are temporarily commented out of the standard library,
1325         so I've temporarily copy/pasted them into the test. Matrix multiplication is not
1326         commutative, so it requires the right indexing order.
1327
1328         Reviewed by Dean Jackson and Thomas Denney.
1329
1330         * WebGPUShadingLanguageRI/Intrinsics.js:
1331         * WebGPUShadingLanguageRI/StandardLibrary.js:
1332         (let.standardLibrary):
1333         * WebGPUShadingLanguageRI/Test.js:
1334
1335 2018-08-29  Jer Noble  <jer.noble@apple.com>
1336
1337         Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
1338
1339         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
1340
1341 2018-08-29  Youenn Fablet  <youenn@apple.com>
1342
1343         Remove WebRTC legacy API implementation
1344         https://bugs.webkit.org/show_bug.cgi?id=189040
1345
1346         Reviewed by Eric Carlson.
1347
1348         * DumpRenderTree/mac/DumpRenderTree.mm:
1349         (enableExperimentalFeatures):
1350         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1351         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1352         (WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
1353         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1354         * WebKitTestRunner/TestController.cpp:
1355         (WTR::TestController::resetPreferencesToConsistentValues):
1356
1357 2018-08-29  Daniel Bates  <dabates@apple.com>
1358
1359         lldb-webkit: KeyError thrown for OptionSet with invalid value
1360         https://bugs.webkit.org/show_bug.cgi?id=189070
1361
1362         Reviewed by Simon Fraser.
1363
1364         Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
1365         variable is only considered valid when execution passes over its assignment/constructor.
1366
1367         The LLDB Python API does not provide a way to determine whether a variable has a valid
1368         value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
1369         a variable represents a valid value). So, we use a simple heuristic: when the value of
1370         the OptionSet is greater than the value of the bitmask with all enumerators set then we
1371         consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
1372         will notify us to update our state.
1373
1374         * lldb/lldb_webkit.py:
1375         (WTFOptionSetProvider.update):
1376
1377 2018-08-29  Chris Dumez  <cdumez@apple.com>
1378
1379         [PSON] We should only process-swap when eTLD+1 changes on navigation
1380         https://bugs.webkit.org/show_bug.cgi?id=189090
1381         <rdar://problem/43799225>
1382
1383         Reviewed by Geoffrey Garen.
1384
1385         Update existing PSON API tests to use different registrable domains instead of different
1386         protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
1387
1388         Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
1389
1390         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1391
1392 2018-08-29  Youenn Fablet  <youenn@apple.com>
1393
1394         Add a runtime flag for WebRTC unified plan
1395         https://bugs.webkit.org/show_bug.cgi?id=189068
1396
1397         Reviewed by Eric Carlson.
1398
1399         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1400         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1401         (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
1402         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1403
1404 2018-08-29  Don Olmstead  <don.olmstead@sony.com>
1405
1406         [CMake] Split Tools/CMakeLists.txt into platform files
1407         https://bugs.webkit.org/show_bug.cgi?id=189093
1408
1409         Reviewed by Michael Catanzaro.
1410
1411         * CMakeLists.txt:
1412         * PlatformGTK.cmake: Added.
1413         * PlatformMac.cmake: Added.
1414         * PlatformWPE.cmake: Added.
1415         * PlatformWin.cmake: Added.
1416
1417 2018-08-29  Jer Noble  <jer.noble@apple.com>
1418
1419         Muted elements do not have their Now Playing status updated when unmuted.
1420         https://bugs.webkit.org/show_bug.cgi?id=189069
1421
1422         Reviewed by Eric Carlson.
1423
1424         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1425         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
1426         (userInfoHasNowPlayingApplicationPID):
1427         (getNowPlayingClient):
1428         (getNowPlayingClientPid):
1429         (NowPlayingTest::webView):
1430         (NowPlayingTest::configuration):
1431         (NowPlayingTest::webViewPid):
1432         (NowPlayingTest::loadPage):
1433         (NowPlayingTest::runScriptWithUserGesture):
1434         (NowPlayingTest::runScriptWithoutUserGesture):
1435         (NowPlayingTest::executeAndWaitForPlaying):
1436         (NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
1437         (NowPlayingTest::observers):
1438         (NowPlayingTest::addObserver):
1439         (NowPlayingTest::removeObserver):
1440         (NowPlayingTest::notificationCallback):
1441         (NowPlayingTest::receivedNotification):
1442         (NowPlayingTest::performAfterReceivingNotification):
1443         (TEST_F):
1444         * TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
1445
1446 2018-08-29  Thomas Denney  <tdenney@apple.com>
1447
1448         [WHLSL] Ensure that isLValue is copied by the rewriter
1449         https://bugs.webkit.org/show_bug.cgi?id=189083
1450
1451         The value of isLValue was not propagated when new TernaryExpressions are
1452         created in Rewriter.
1453
1454         Reviewed by Myles C. Maxfield.
1455
1456         * WebGPUShadingLanguageRI/Rewriter.js:
1457         (Rewriter.prototype.visitTernaryExpression):
1458         * WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
1459         propagated.
1460
1461 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1462
1463         [WHLSL] Add more functions to the standard library
1464         https://bugs.webkit.org/show_bug.cgi?id=188873
1465
1466         Reviewed by Filip Pizlo.
1467
1468         This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
1469
1470         There are a few major pieces:
1471         1. Swizzle operators are now implemented in the language, instead of as native functions
1472         2. Vector constructors are now implemented in the language, instead of as native functions
1473         3. The matrix type is implemented
1474         4. Vector operator&[] is illegal, and is removed from the compiler
1475         5. Vector index setters & index getters are now implemented in the language, instead of as native functions
1476         6. Vector and matrix equality operators are implemented in the language, instead of as native functions
1477         7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
1478         8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
1479         9. Half-precision floating point types are implemented
1480
1481         * WebGPUShadingLanguageRI/All.js:
1482         * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1483         (BuiltinMatrixGetter):
1484         (BuiltinMatrixGetter.prototype.get height):
1485         (BuiltinMatrixGetter.prototype.get width):
1486         (BuiltinMatrixGetter.prototype.toString):
1487         (BuiltinMatrixGetter.functions):
1488         (BuiltinMatrixGetter.prototype.instantiateImplementation):
1489         * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1490         (BuiltinMatrixSetter):
1491         (BuiltinMatrixSetter.prototype.get height):
1492         (BuiltinMatrixSetter.prototype.get width):
1493         (BuiltinMatrixSetter.prototype.toString):
1494         (BuiltinMatrixSetter.functions):
1495         (BuiltinMatrixSetter.prototype.instantiateImplementation):
1496         * WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
1497         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
1498         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
1499         (BuiltinVectorGetter.prototype.instantiateImplementation):
1500         (BuiltinVectorGetter):
1501         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
1502         (BuiltinVectorSetter.functions):
1503         (BuiltinVectorSetter.prototype.instantiateImplementation):
1504         (BuiltinVectorSetter):
1505         * WebGPUShadingLanguageRI/CallExpression.js:
1506         (CallExpression.prototype.resolve):
1507         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
1508         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
1509         (checkTypesWithArguments.TypeWithArgumentsChecker):
1510         (checkTypesWithArguments):
1511         * WebGPUShadingLanguageRI/Checker.js:
1512         (Checker.prototype.visitVectorType):
1513         (Checker.prototype.visitMatrixType):
1514         * WebGPUShadingLanguageRI/ConstexprFolder.js:
1515         (ConstexprFolder.prototype.visitCallExpression):
1516         (ConstexprFolder):
1517         * WebGPUShadingLanguageRI/Evaluator.js:
1518         (Evaluator.prototype.visitTernaryExpression):
1519         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1520         (FlattenedStructOffsetGatherer.prototype.visitMatrixType):
1521         (FlattenedStructOffsetGatherer):
1522         * WebGPUShadingLanguageRI/Intrinsics.js:
1523         (Intrinsics.):
1524         (Intrinsics):
1525         * WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
1526         (MatrixType):
1527         (MatrixType.prototype.get elementType):
1528         (MatrixType.prototype.get numRows):
1529         (MatrixType.prototype.get numColumns):
1530         (MatrixType.prototype.get numRowsValue):
1531         (MatrixType.prototype.get numColumnsValue):
1532         (MatrixType.prototype.get size):
1533         (MatrixType.prototype.unifyImpl):
1534         (MatrixType.prototype.populateDefaultValue):
1535         (MatrixType.prototype.toString):
1536         * WebGPUShadingLanguageRI/NameContext.js:
1537         (NameContext.prototype.add):
1538         * WebGPUShadingLanguageRI/NativeType.js:
1539         (NativeType.create):
1540         (NativeType):
1541         * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
1542         (OperatorAnderIndexer):
1543         * WebGPUShadingLanguageRI/OperatorBool.js: Removed.
1544         * WebGPUShadingLanguageRI/Prepare.js:
1545         (let.prepare):
1546         * WebGPUShadingLanguageRI/Program.js:
1547         (Program.prototype.add):
1548         * WebGPUShadingLanguageRI/Rewriter.js:
1549         (Rewriter.prototype.visitMatrixType):
1550         (Rewriter):
1551         * WebGPUShadingLanguageRI/SPIRV.html:
1552         * WebGPUShadingLanguageRI/StandardLibrary.js:
1553         (operator.bool):
1554         (bool.operator):
1555         (uchar.operator):
1556         (ushort.operator):
1557         (char.operator):
1558         (short.operator):
1559         (uint.operator):
1560         (int.operator):
1561         (half.operator):
1562         (float.operator):
1563         (uchar2.operator):
1564         (uchar3.operator):
1565         (uchar4.operator):
1566         (ushort2.operator):
1567         (ushort3.operator):
1568         (ushort4.operator):
1569         (uint2.operator):
1570         (uint3.operator):
1571         (uint4.operator):
1572         (char2.operator):
1573         (char3.operator):
1574         (char4.operator):
1575         (short2.operator):
1576         (short3.operator):
1577         (short4.operator):
1578         (int2.operator):
1579         (int3.operator):
1580         (int4.operator):
1581         (half2.operator):
1582         (half3.operator):
1583         (half4.operator):
1584         (float2.operator):
1585         (float3.operator):
1586         (float4.operator):
1587         (half2x2.operator):
1588         (half2x3.operator):
1589         (half2x4.operator):
1590         (half3x2.operator):
1591         (half3x3.operator):
1592         (half3x4.operator):
1593         (half4x2.operator):
1594         (half4x3.operator):
1595         (half4x4.operator):
1596         (float2x2.operator):
1597         (float2x3.operator):
1598         (float2x4.operator):
1599         (float3x2.operator):
1600         (float3x3.operator):
1601         (float3x4.operator):
1602         (float4x2.operator):
1603         (float4x3.operator):
1604         (float4x4.operator):
1605         (operator.bool2):
1606         (operator.bool3):
1607         (operator.bool4):
1608         (uint.operator.length):
1609         (operator.uchar2):
1610         (operator.uchar3):
1611         (operator.uchar4):
1612         (operator.ushort2):
1613         (operator.ushort3):
1614         (operator.ushort4):
1615         (operator.uint2):
1616         (operator.uint3):
1617         (operator.uint4):
1618         (operator.char2):
1619         (operator.char3):
1620         (operator.char4):
1621         (operator.short2):
1622         (operator.short3):
1623         (operator.short4):
1624         (operator.int2):
1625         (operator.int3):
1626         (operator.int4):
1627         (operator.half2):
1628         (operator.half3):
1629         (operator.half4):
1630         (operator.float2):
1631         (operator.float3):
1632         (operator.float4):
1633         (bool2.operator):
1634         (bool3.operator):
1635         (bool4.operator):
1636         (allVectorTypeNames):
1637         * WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
1638         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
1639         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
1640         (synthesizeDefaultConstructorOperator.FindAllTypes):
1641         (synthesizeDefaultConstructorOperator):
1642         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
1643         * WebGPUShadingLanguageRI/Test.html:
1644         * WebGPUShadingLanguageRI/Test.js:
1645         (makeHalf):
1646         (checkHalf):
1647         * WebGPUShadingLanguageRI/Visitor.js:
1648         (Visitor.prototype.visitMatrixType):
1649         (Visitor):
1650         * WebGPUShadingLanguageRI/index.html:
1651
1652 2018-08-29  Simon Fraser  <simon.fraser@apple.com>
1653
1654         Teach webkitpy how to check leaks and treat leaks as test failures
1655         https://bugs.webkit.org/show_bug.cgi?id=189067
1656
1657         Reviewed by Darin Adler.
1658         
1659         Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
1660         with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
1661         behavior added in r235408, namely that they check for leaked documents after each test, and at
1662         the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
1663         "#CHECK FOR WORLD LEAKS" command to get still-live documents.
1664         
1665         LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
1666         and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
1667         If this results block includes leaks, we convert an existing TestResult into a LEAK failure
1668         in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
1669
1670         Unit tests are updated with some leak examples.
1671
1672         * DumpRenderTree/mac/DumpRenderTree.mm:
1673         (initializeGlobalsFromCommandLineOptions):
1674         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
1675         (ParsedJSONResultsTest):
1676         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1677         (LayoutTestRunner._annotate_results_with_additional_failures):
1678         (LayoutTestRunner._handle_finished_test_group):
1679         (Worker.handle):
1680         (Worker._run_test):
1681         (Worker._do_post_tests_work):
1682         (Worker._finished_test_group):
1683         (Worker._run_test_in_another_thread):
1684         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
1685         (JSONLayoutResultsGenerator):
1686         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1687         (TestExpectationParser):
1688         (TestExpectations):
1689         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1690         (Base.get_basic_tests):
1691         * Scripts/webkitpy/layout_tests/models/test_failures.py:
1692         (determine_result_type):
1693         (FailureLeak):
1694         (FailureLeak.__init__):
1695         (FailureLeak.message):
1696         (FailureDocumentLeak):
1697         (FailureDocumentLeak.__init__):
1698         (FailureDocumentLeak.message):
1699         * Scripts/webkitpy/layout_tests/models/test_results.py:
1700         (TestResult.convert_to_failure):
1701         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
1702         (TestRunResults.change_result_to_failure):
1703         (_interpret_test_failures):
1704         (summarize_results):
1705         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
1706         (get_result):
1707         (run_results):
1708         (summarized_results):
1709         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1710         (parse_args):
1711         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1712         (parse_args):
1713         (RunTest.test_check_for_world_leaks):
1714         * Scripts/webkitpy/port/driver.py:
1715         (DriverPostTestOutput):
1716         (DriverPostTestOutput.__init__):
1717         (Driver.do_post_tests_work):
1718         (Driver._parse_world_leaks_output):
1719         (Driver.cmd_line):
1720         (DriverProxy.do_post_tests_work):
1721         * Scripts/webkitpy/port/test.py:
1722         (unit_test_list):
1723         * WebKitTestRunner/Options.cpp:
1724         (WTR::OptionsHandler::OptionsHandler):
1725         * WebKitTestRunner/TestController.cpp:
1726         (WTR::TestController::checkForWorldLeaks):
1727
1728 2018-08-29  David Kilzer  <ddkilzer@apple.com>
1729
1730         Remove empty directories from from svn.webkit.org repository
1731         <https://webkit.org/b/189081>
1732
1733         * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
1734         * WebKitTestRunner/UIScriptContext: Removed.
1735
1736 2018-08-29  Pablo Saavedra  <psaavedra@igalia.com>
1737
1738         [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
1739         https://bugs.webkit.org/show_bug.cgi?id=189077
1740
1741         Reviewed by Michael Catanzaro.
1742
1743         Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
1744         This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
1745         Linux ARMv7 Thumb2 SoftFP Release' buildjob.
1746
1747         * BuildSlaveSupport/build.webkit.org-config/config.json:
1748         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1749
1750 2018-08-28  Daniel Bates  <dabates@apple.com>
1751
1752         lldb-webkit: KeyError thrown for OptionSet
1753         https://bugs.webkit.org/show_bug.cgi?id=189062
1754
1755         Reviewed by Simon Fraser.
1756
1757         For some reason lldb(1) may not retrieve the enumerator names for an enum value
1758         when it calls update() on the synthetic children provider. If this occurs then
1759         bail out as we cannot compute what enumerators are in the set.
1760
1761         * lldb/lldb_webkit.py:
1762         (WTFOptionSetProvider.update):
1763
1764 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
1765
1766         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
1767         https://bugs.webkit.org/show_bug.cgi?id=189037
1768
1769         Reviewed by Chris Dumez.
1770
1771         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1772         (TEST):
1773
1774 2018-08-28  David Kilzer  <ddkilzer@apple.com>
1775
1776         Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
1777
1778         Found by tidy-Xcode-project-file script (see Bug 188754).
1779
1780         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1781         (IOKit.framework): Use `sourceTree = "<absolute>";` to match
1782         other frameworks in the project.
1783         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1784         (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
1785         built product instead of relative build directory path.
1786         * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
1787         (JavaScriptCore.framework): Ditto.
1788         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
1789         (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
1790         product.
1791
1792 2018-08-28  Alex Christensen  <achristensen@webkit.org>
1793
1794         Fix 32-bit Mac build.
1795
1796         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
1797
1798 2018-08-28  Alex Christensen  <achristensen@webkit.org>
1799
1800         REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
1801         https://bugs.webkit.org/show_bug.cgi?id=189050
1802
1803         Reviewed by Tim Horton.
1804
1805         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
1806         This test wasn't run on iOS before.  Let's re-introduce the WK_HAVE_C_SPI guard.
1807
1808 2018-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1809
1810         [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
1811         https://bugs.webkit.org/show_bug.cgi?id=189049
1812
1813         Reviewed by Tim Horton.
1814
1815         Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
1816         load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
1817
1818         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1819         (simulateFolderDragWithURL):
1820
1821 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1822
1823         [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
1824         https://bugs.webkit.org/show_bug.cgi?id=189004
1825
1826         Reviewed by Dan Bernstein.
1827
1828         Move off of deprecated attachment insertion SPI.
1829
1830         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1831         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
1832         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
1833         (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
1834
1835 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
1836
1837         Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
1838         https://bugs.webkit.org/show_bug.cgi?id=188994
1839
1840         Reviewed by Tim Horton.
1841         
1842         This patch adds the notion of a "control command" in the protocol between webkitpy and 
1843         WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
1844         that is checked for before trying to parse the input as test URL. For now, just one
1845         commmand is supported, which is "#CHECK FOR WORLD LEAKS".
1846         
1847         In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
1848         with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
1849         
1850         DumpRenderTree stubs out the command, returning an empty block.
1851         
1852         WebKitTestRunner responds to the command by dumping the list of live documents, if it was
1853         run with the --check-for-world-leaks option.
1854         
1855         When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
1856         WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
1857         that leaked a document), and keeps them in a map of document identifier to test and live document URL.
1858         Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
1859         clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
1860         after which it requests the list of live documents for a final time, excluding any that are loaded
1861         in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
1862         list are therefore leaked (or abandoned).
1863         
1864         Future patches will hook up webkitpy reporting for leaked documents.
1865
1866         * DumpRenderTree/mac/DumpRenderTree.mm:
1867         (initializeGlobalsFromCommandLineOptions):
1868         (handleControlCommand):
1869         (runTestingServerLoop):
1870         * DumpRenderTree/win/DumpRenderTree.cpp:
1871         (handleControlCommand):
1872         (main):
1873         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1874         (WTR::postGCTask):
1875         (WTR::InjectedBundle::reportLiveDocuments):
1876         (WTR::InjectedBundle::didReceiveMessageToPage):
1877         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1878         * WebKitTestRunner/Options.cpp:
1879         (WTR::handleOptionCheckForWorldLeaks):
1880         (WTR::OptionsHandler::OptionsHandler):
1881         * WebKitTestRunner/Options.h:
1882         * WebKitTestRunner/TestController.cpp:
1883         (WTR::AsyncTask::run):
1884         (WTR::AsyncTask::currentTask):
1885         (WTR::TestController::initialize):
1886         (WTR::TestController::ensureViewSupportsOptionsForTest):
1887         (WTR::TestController::resetStateToConsistentValues):
1888         (WTR::TestController::updateLiveDocumentsAfterTest):
1889         (WTR::TestController::checkForWorldLeaks):
1890         (WTR::TestController::findAndDumpWorldLeaks):
1891         (WTR::TestController::willDestroyWebView):
1892         (WTR::parseInputLine):
1893         (WTR::TestController::waitForCompletion):
1894         (WTR::TestController::handleControlCommand):
1895         (WTR::TestController::runTestingServerLoop):
1896         (WTR::TestController::run):
1897         (WTR::TestController::didReceiveLiveDocumentsList):
1898         (WTR::TestController::didReceiveMessageFromInjectedBundle):
1899         * WebKitTestRunner/TestController.h:
1900         (WTR::AsyncTask::AsyncTask):
1901         (WTR::AsyncTask::taskComplete):
1902         (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
1903         * WebKitTestRunner/TestInvocation.cpp:
1904         (WTR::TestInvocation::invoke):
1905         * WebKitTestRunner/TestOptions.h:
1906         (WTR::TestOptions::hasSameInitializationOptions const):
1907
1908 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1909
1910         Fix API test after r235398
1911         https://bugs.webkit.org/show_bug.cgi?id=188997
1912
1913         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1914         (TestWebKitAPI::setPageLoaderClient):
1915         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
1916         willGoToBackForwardListItem is unused and unsupported.  Removing its check.
1917
1918 2018-08-27  Daniel Bates  <dabates@apple.com>
1919
1920         Partial revert of r235376
1921         https://bugs.webkit.org/show_bug.cgi?id=189011
1922
1923         For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
1924         Debug and Apple High Sierra Debug bots:
1925
1926             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
1927             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
1928
1929         Will investigate offline.
1930
1931         * lldb/lldbWebKitTester/main.cpp:
1932         (testSummaryProviders):
1933         * lldb/lldb_webkit_unittest.py:
1934         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
1935         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
1936         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
1937         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
1938         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
1939
1940 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
1941
1942         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
1943         https://bugs.webkit.org/show_bug.cgi?id=188931
1944
1945         Reviewed by Wenson Hsieh.
1946
1947         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
1948
1949 2018-08-27  Justin Fan  <justin_fan@apple.com>
1950
1951         Add Justin Fan to list of WebKit contributors
1952         https://bugs.webkit.org/show_bug.cgi?id=184431
1953
1954         * Scripts/webkitpy/common/config/contributors.json:
1955
1956 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
1957
1958         Convert timeout values in WebKitTestRunner to WTF::Seconds
1959         https://bugs.webkit.org/show_bug.cgi?id=188987
1960
1961         Reviewed by Ryosuke Niwa.
1962         
1963         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
1964         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
1965         using integers, convert to and from milliseconds.
1966         
1967         Also do some #pragma once, and initializer cleanup.
1968
1969         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1970         (WTR::InjectedBundle::didReceiveMessageToPage):
1971         (WTR::InjectedBundle::beginTesting):
1972         (WTR::InjectedBundle::InjectedBundle): Deleted.
1973         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1974         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1975         (WTR::TestRunner::timeout):
1976         (WTR::TestRunner::setCustomTimeout):
1977         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1978         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1979         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1980         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
1981         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1982         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1983         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1984         * WebKitTestRunner/TestController.cpp:
1985         (WTR::TestController::TestController):
1986         (WTR::parseInputLine):
1987         (WTR::TestController::runTest):
1988         (WTR::TestController::runUntil):
1989         (WTR::TestController::didReceiveMessageFromInjectedBundle):
1990         * WebKitTestRunner/TestController.h:
1991         * WebKitTestRunner/TestInvocation.cpp:
1992         (WTR::TestInvocation::shortTimeout const):
1993         (WTR::TestInvocation::createTestSettingsDictionary):
1994         * WebKitTestRunner/TestInvocation.h:
1995         * WebKitTestRunner/TestOptions.h:
1996         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1997         (WTR::TestController::platformRunUntil):
1998         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1999         (WTR::TestController::platformRunUntil):
2000         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2001         (WTR::TestController::platformRunUntil):
2002
2003 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2004
2005         Convert timeout values in WebKitTestRunner to WTF::Seconds
2006         https://bugs.webkit.org/show_bug.cgi?id=188987
2007
2008         Reviewed by Ryosuke Niwa.
2009         
2010         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
2011         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
2012         using integers, convert to and from milliseconds.
2013         
2014         Also do some #pragma once, and initializer cleanup.
2015
2016         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2017         (WTR::InjectedBundle::didReceiveMessageToPage):
2018         (WTR::InjectedBundle::beginTesting):
2019         (WTR::InjectedBundle::InjectedBundle): Deleted.
2020         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2021         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2022         (WTR::TestRunner::timeout):
2023         (WTR::TestRunner::setCustomTimeout):
2024         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2025         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2026         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
2027         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
2028         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2029         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2030         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2031         * WebKitTestRunner/TestController.cpp:
2032         (WTR::TestController::TestController):
2033         (WTR::parseInputLine):
2034         (WTR::TestController::runTest):
2035         (WTR::TestController::runUntil):
2036         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2037         * WebKitTestRunner/TestController.h:
2038         * WebKitTestRunner/TestInvocation.cpp:
2039         (WTR::TestInvocation::shortTimeout const):
2040         (WTR::TestInvocation::createTestSettingsDictionary):
2041         * WebKitTestRunner/TestInvocation.h:
2042         * WebKitTestRunner/TestOptions.h:
2043         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2044         (WTR::TestController::platformRunUntil):
2045         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2046         (WTR::TestController::platformRunUntil):
2047         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2048         (WTR::TestController::platformRunUntil):
2049
2050 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2051
2052         REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
2053         https://bugs.webkit.org/show_bug.cgi?id=189002
2054
2055         Reviewed by Tim Horton.
2056
2057         * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
2058         (TestWebKitAPI::TEST_F):
2059
2060 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2061
2062         [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
2063         https://bugs.webkit.org/show_bug.cgi?id=188903
2064         <rdar://problem/43702993>
2065
2066         Reviewed by Tim Horton.
2067
2068         Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
2069         both iOS and macOS:
2070         •       Dropping a folder as an attachment element, and then moving that attachment element in the document by
2071                 dragging and dropping.
2072         •       Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
2073                 _WKAttachment SPI to swap the attachments' backing file wrappers.
2074
2075         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2076         (runTestWithTemporaryFolder):
2077
2078         Add a helper function to run a test with a new folder path, created in the temporary directory and populated
2079         with some sample content. This folder is deleted after running the test.
2080
2081         (simulateFolderDragWithURL):
2082
2083         Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
2084         external to the web view.
2085
2086         (platformCopyRichTextWithMultipleAttachments):
2087         (platformCopyRichTextWithImage):
2088         (platformCopyPNG):
2089         (TestWebKitAPI::TEST):
2090
2091         Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
2092         ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
2093         preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
2094         this quirk is no longer supported.
2095
2096         Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
2097
2098         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2099
2100         Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
2101         when using the same DragAndDropSimulator to perform multiple drags in a single test.
2102
2103         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2104         (-[DragAndDropSimulator clearExternalDragInformation]):
2105         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2106         (-[DragAndDropSimulator clearExternalDragInformation]):
2107
2108 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2109
2110         Translate 4 tests using WKPageLoaderClient to ObjC
2111         https://bugs.webkit.org/show_bug.cgi?id=188827
2112
2113         Reviewed by Tim Horton.
2114
2115         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2116         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2117         willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
2118         bundle functionality any more.
2119
2120         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2121         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2122         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2123         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2124         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2125         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2126         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2127         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2128         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2129         (TestWebKitAPI::TEST):
2130         (): Deleted.
2131         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2132         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2133         (TestWebKitAPI::setPageLoaderClient): Deleted.
2134         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2135         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2136         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2137         (TestWebKitAPI::TEST):
2138         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2139         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2140         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2141         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2142         (TestWebKitAPI::setPageLoaderClient): Deleted.
2143         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2144         (-[SessionStateDelegate webView:didFinishNavigation:]):
2145         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2146         (TestWebKitAPI::createSessionStateData):
2147         (TestWebKitAPI::TEST):
2148         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2149         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2150         (TestWebKitAPI::setPageLoaderClient): Deleted.
2151         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2152         (-[BackForwardClient webView:didFinishNavigation:]):
2153         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2154         (TestWebKitAPI::TEST):
2155         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2156         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2157         (TestWebKitAPI::setPageLoaderClient): Deleted.
2158
2159 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2160
2161         [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
2162         https://bugs.webkit.org/show_bug.cgi?id=188989
2163
2164         Reviewed by Andy Estes.
2165
2166         Move this into the Tests/WebKit/Resources group in the project.
2167
2168         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2169
2170 2018-08-27  Thomas Denney  <tdenney@apple.com>
2171
2172         Avoid an exception in the interactive interpreter
2173         https://bugs.webkit.org/show_bug.cgi?id=188991
2174
2175         Reviewed by Myles C. Maxfield.
2176
2177         * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
2178         local variable
2179
2180 2018-08-27  Thomas Denney  <tdenney@apple.com>
2181
2182         Allow new vector types to work with the interactive interpreter
2183         https://bugs.webkit.org/show_bug.cgi?id=188988
2184
2185         Reviewed by Myles C. Maxfield.
2186
2187         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2188         (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
2189         unncessarily visit the type arguments of a TypeRef, as by this point
2190         there are none that are relevant.
2191         * WebGPUShadingLanguageRI/Intrinsics.js:
2192         (Intrinsics): Treat VectorType as a primitive type.
2193
2194 2018-08-27  Keith Rollin  <krollin@apple.com>
2195
2196         Build system support for LTO
2197         https://bugs.webkit.org/show_bug.cgi?id=187785
2198         <rdar://problem/42353132>
2199
2200         Reviewed by Dan Bernstein.
2201
2202         Add tools/scripts support for controlling LTO builds.
2203
2204         * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
2205         * Scripts/set-webkit-configuration: Add support for saving LTO
2206         configuration to WebKitBuild/LTO.
2207         * Scripts/webkitdirs.pm: Add support for reading configuration from
2208         WebKitBuild/LTO and providing it to xcodebuild.
2209         (determineLTOMode):
2210         (ltoMode):
2211         (XcodeOptions):
2212
2213 2018-08-27  Daniel Bates  <dabates@apple.com>
2214
2215         lldb-webkit: Pretty-print OptionSet
2216         https://bugs.webkit.org/show_bug.cgi?id=188936
2217
2218         Reviewed by Simon Fraser.
2219
2220         Add LLDB formatters to pretty-print an OptionSet.
2221
2222         * lldb/lldbWebKitTester/main.cpp:
2223         (testSummaryProviders):
2224         * lldb/lldb_webkit.py:
2225         (__lldb_init_module):
2226         (__lldb_init_module.lldb_webkit):
2227         (WTFOptionSet_SummaryProvider):
2228         (WTFOptionSetProvider):
2229         (WTFOptionSetProvider.__init__):
2230         (WTFOptionSetProvider.has_children):
2231         (WTFOptionSetProvider.num_children):
2232         (WTFOptionSetProvider.get_child_index):
2233         (WTFOptionSetProvider.get_child_at_index):
2234         (WTFOptionSetProvider.update):
2235         * lldb/lldb_webkit_unittest.py:
2236         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2237         (TestSummaryProviders):
2238         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
2239         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
2240         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
2241         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
2242
2243 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2244
2245         [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
2246         https://bugs.webkit.org/show_bug.cgi?id=188957
2247         <rdar://problem/43737715>
2248
2249         Reviewed by Darin Adler.
2250
2251         Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
2252         generates _WKAttachments whose names reflect those alt attributes.
2253
2254         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2255         (testGIFFileURL):
2256         (testGIFData):
2257         (TestWebKitAPI::TEST):
2258
2259 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2260
2261         Unreviewed, rolling out r235367.
2262
2263         Broke iOS build.
2264
2265         Reverted changeset:
2266
2267         "Translate 4 tests using WKPageLoaderClient to ObjC"
2268         https://bugs.webkit.org/show_bug.cgi?id=188827
2269         https://trac.webkit.org/changeset/235367
2270
2271 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2272
2273         Fix GTK build.
2274
2275         * TestWebKitAPI/CMakeLists.txt:
2276
2277 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2278
2279         Fix iOS build.
2280
2281         * TestWebKitAPI/PlatformWebView.h:
2282
2283 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2284
2285         Translate 4 tests using WKPageLoaderClient to ObjC
2286         https://bugs.webkit.org/show_bug.cgi?id=188827
2287
2288         Reviewed by Tim Horton.
2289
2290         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2291         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2292         willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
2293         bundle functionality any more.
2294
2295         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2296         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2297         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2298         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2299         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2300         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2301         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2302         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2303         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2304         (TestWebKitAPI::TEST):
2305         (): Deleted.
2306         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2307         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2308         (TestWebKitAPI::setPageLoaderClient): Deleted.
2309         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2310         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2311         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2312         (TestWebKitAPI::TEST):
2313         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2314         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2315         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2316         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2317         (TestWebKitAPI::setPageLoaderClient): Deleted.
2318         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2319         (-[SessionStateDelegate webView:didFinishNavigation:]):
2320         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2321         (TestWebKitAPI::createSessionStateData):
2322         (TestWebKitAPI::TEST):
2323         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2324         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2325         (TestWebKitAPI::setPageLoaderClient): Deleted.
2326         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2327         (-[BackForwardClient webView:didFinishNavigation:]):
2328         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2329         (TestWebKitAPI::TEST):
2330         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2331         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2332         (TestWebKitAPI::setPageLoaderClient): Deleted.
2333
2334 2018-08-27  Keith Miller  <keith_miller@apple.com>
2335
2336         test262-runner -s --test-only should replace test results
2337         https://bugs.webkit.org/show_bug.cgi?id=188450
2338
2339         Reviewed by Michael Saboff.
2340
2341         * Scripts/test262/Runner.pm:
2342         (main):
2343         (SetFailureForTest):
2344         (UpdateResults):
2345
2346 2018-08-26  Sam Weinig  <sam@webkit.org>
2347
2348         Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
2349         https://bugs.webkit.org/show_bug.cgi?id=188958
2350
2351         Reviewed by Anders Carlsson.
2352
2353         * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
2354         Update test protocol to have inheritance.
2355
2356 2018-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
2357
2358         [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
2359         https://bugs.webkit.org/show_bug.cgi?id=188933
2360         <rdar://problem/43699724>
2361
2362         Reviewed by Darin Adler.
2363
2364         Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
2365         tests. These new tests exercise the following cases:
2366         •       Inserting and removing newlines before an inline image with an attachment element does not cause new
2367                 _WKAttachments to be created and destroyed.
2368         •       Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
2369                 process with the original _WKAttachment.
2370         •       A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
2371                 lose a _WKAttachment.
2372
2373         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2374         (-[TestWKWebView expectElementCount:tagName:]):
2375         (TestWebKitAPI::TEST):
2376
2377         Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
2378         as image elements, but still have associated attachment elements whose attachment identifiers (observed via
2379         script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
2380
2381         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2382         (-[DragAndDropSimulator runFrom:to:]):
2383         (-[DragAndDropSimulator continueDragSession]):
2384         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2385
2386         Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
2387         execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
2388         flaky, due to how the promised data is retrieved asynchronously when performing the drop.
2389
2390         (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
2391
2392 2018-08-26  Lucas Forschler  <lforschler@apple.com>
2393
2394         Open svn.webkit.org for commits.
2395
2396 2018-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
2397
2398         Unreviewed test fix after r235249
2399         https://bugs.webkit.org/show_bug.cgi?id=178981
2400
2401         * WebGPUShadingLanguageRI/Test.js:
2402
2403 2018-08-24  Alex Christensen  <achristensen@webkit.org>
2404
2405         Introduce _WKInspector
2406         https://bugs.webkit.org/show_bug.cgi?id=188923
2407         <rdar://problem/34657861>
2408
2409         Reviewed by Brian Burg.
2410
2411         * MiniBrowser/mac/WK2BrowserWindowController.m:
2412         (-[WK2BrowserWindowController validateMenuItem:]):
2413         (-[WK2BrowserWindowController showHideWebInspector:]):
2414
2415 2018-08-24  Jonathan Bedard  <jbedard@apple.com>
2416
2417         Fix handling of iOS minor versions in default_baseline_search_path
2418         https://bugs.webkit.org/show_bug.cgi?id=188902
2419
2420         Reviewed by Aakash Jain.
2421
2422         * Scripts/webkitpy/port/ios.py:
2423         (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
2424         it as a the CURRENT_VERSION.
2425
2426 2018-08-24  Antti Koivisto  <antti@apple.com>
2427
2428         Allow creating WeakPtrs to const objects
2429         https://bugs.webkit.org/show_bug.cgi?id=188785
2430
2431         Reviewed by Geoff Garen.
2432
2433         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2434         (TestWebKitAPI::Base::weakPtrFactory const):
2435         (TestWebKitAPI::TEST):
2436         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2437
2438 2018-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2439
2440         [GTK][WPE] Add API to inject/register user content in isolated worlds
2441         https://bugs.webkit.org/show_bug.cgi?id=188883
2442
2443         Reviewed by Michael Catanzaro.
2444
2445         Add test cases for the new API.
2446
2447         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2448         (isStyleSheetInjectedForURLAtPath):
2449         (isScriptInjectedForURLAtPath):
2450         (testUserContentManagerInjectedStyleSheet):
2451         (testUserContentManagerInjectedScript):
2452         (UserScriptMessageTest::registerHandler):
2453         (UserScriptMessageTest::unregisterHandler):
2454         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
2455         (testUserContentManagerScriptMessageInWorldReceived):
2456         (beforeAll):
2457
2458 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
2459
2460         Add support for dumping GC heap snapshots, and a viewer
2461         https://bugs.webkit.org/show_bug.cgi?id=186416
2462
2463         Reviewed by Joseph Pecoraro.
2464
2465         Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
2466         page for inspection (or set via the 'filename' URL parameter).
2467
2468         For now, this page shows all objects, all roots, and the shortest path from a root
2469         to all HTMLDocuments and Windows.
2470
2471         * GCHeapInspector/gc-heap-inspector.html: Added.
2472         * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
2473         * GCHeapInspector/script/interface.js: Added.
2474
2475 2018-08-23  Alex Christensen  <achristensen@webkit.org>
2476
2477         Add new _webViewRequestPointerLock SPI with a completionHandler
2478         https://bugs.webkit.org/show_bug.cgi?id=188907
2479         <rdar://problem/35871109>
2480
2481         Reviewed by Andy Estes.
2482
2483         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2484         (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
2485         (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2486         (TEST):
2487
2488 2018-08-23  David Fenton  <david_fenton@apple.com>
2489
2490         Unreviewed, rolling out r235129.
2491
2492         broke internal builds
2493
2494         Reverted changeset:
2495
2496         "Allow creating WeakPtrs to const objects"
2497         https://bugs.webkit.org/show_bug.cgi?id=188785
2498         https://trac.webkit.org/changeset/235129
2499
2500 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2501
2502         API tests should output json results
2503         https://bugs.webkit.org/show_bug.cgi?id=188869
2504         <rdar://problem/43615652>
2505
2506         Reviewed by Aakash Jain.
2507
2508         JSON output for API tests is of the form:
2509             {
2510                 "Failed": [{"name": <test name>, "output": <test log>}],
2511                 "Timedout": [...],
2512                 "Skipped": [...],
2513                 "Crashed": [...]
2514             }
2515         Tests which are successful are not displayed in the json output.
2516
2517         * Scripts/webkitpy/api_tests/manager.py:
2518         (Manager.run): Print test results to provided file as a json dictionary.
2519         * Scripts/webkitpy/api_tests/run_api_tests.py:
2520         (run): Pass json option.
2521         (parse_args): Add --json-output flag.
2522
2523 2018-08-23  Andy Estes  <aestes@apple.com>
2524
2525         [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
2526         https://bugs.webkit.org/show_bug.cgi?id=188829
2527
2528         Reviewed by Tim Horton.
2529
2530         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2531
2532 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2533
2534         [WSL] Ternary expressions appear to be unimplemented
2535         https://bugs.webkit.org/show_bug.cgi?id=178981
2536
2537         Reviewed by Saam Barati.
2538
2539         Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
2540         is parsed as (a ? b : (c ? d : e)).
2541
2542         * WebGPUShadingLanguageRI/All.js:
2543         * WebGPUShadingLanguageRI/Checker.js:
2544         (Checker.prototype.visitTernaryExpression):
2545         * WebGPUShadingLanguageRI/Evaluator.js:
2546         (Evaluator.prototype.visitTernaryExpression):
2547         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
2548         (NormalUsePropertyResolver.prototype.visitTernaryExpression):
2549         (NormalUsePropertyResolver):
2550         * WebGPUShadingLanguageRI/Parse.js:
2551         (parsePossibleTernaryConditional):
2552         * WebGPUShadingLanguageRI/PropertyResolver.js:
2553         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
2554         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
2555         (PropertyResolver.prototype._visitRValuesWithinLValue):
2556         * WebGPUShadingLanguageRI/Rewriter.js:
2557         (Rewriter.prototype.visitTernaryExpression):
2558         * WebGPUShadingLanguageRI/SPIRV.html:
2559         * WebGPUShadingLanguageRI/Test.html:
2560         * WebGPUShadingLanguageRI/Test.js:
2561         * WebGPUShadingLanguageRI/Visitor.js:
2562         (Visitor.prototype.visitProtocolDecl):
2563         * WebGPUShadingLanguageRI/index.html:
2564
2565 2018-08-22  Ryosuke Niwa  <rniwa@webkit.org>
2566
2567         Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
2568         https://bugs.webkit.org/show_bug.cgi?id=188880
2569
2570         Reviewed by Saam Barati.
2571
2572         Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
2573         were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
2574         test WebKit's behavior in layout tests.
2575
2576         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2577         (WTR::TestRunner::terminateNetworkProcess):
2578         (WTR::TestRunner::terminateServiceWorkerProcess):
2579         (WTR::TestRunner::terminateStorageProcess):
2580         * WebKitTestRunner/TestInvocation.cpp:
2581         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2582         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2583
2584 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2585
2586         [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
2587         https://bugs.webkit.org/show_bug.cgi?id=188773
2588
2589         Reviewed by Filip Pizlo.
2590
2591         Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
2592         typeArguments.
2593
2594         Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
2595         "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
2596         there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
2597         be uniquely identified by name. That name was then matched to the string-only NativeType name.
2598
2599         This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
2600         natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
2601         the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
2602
2603         It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
2604         type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
2605         information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
2606         implement in the future.
2607
2608         So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
2609         typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
2610         TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
2611         which had been set - this was true even before this patch.
2612
2613         This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
2614         that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
2615         NameContext for the appropriate array. This is the same way that function resolution works.
2616
2617         We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
2618         an okay start. This works just about the same way that function overload resolution works. 
2619
2620         * WebGPUShadingLanguageRI/All.js:
2621         * WebGPUShadingLanguageRI/CallExpression.js:
2622         (CallExpression.prototype.resolve):
2623         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
2624         have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
2625         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
2626         (checkTypesWithArguments.TypeWithArgumentsChecker):
2627         (checkTypesWithArguments):
2628         * WebGPUShadingLanguageRI/Checker.js:
2629         (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
2630         typeArguments share names, this has to be updated to map strings to arrays for these types.
2631         (Checker.prototype.visitTypeRef):
2632         * WebGPUShadingLanguageRI/InferTypesForCall.js:
2633         (inferTypesForCall): Don't know why this was here.
2634         (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
2635         * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
2636         don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
2637         moves in the direction of matching the standard library in the spec.
2638         (Intrinsics.cast):
2639         (Intrinsics.bitwiseCast):
2640         (Intrinsics.castToHalf):
2641         (Intrinsics.):
2642         (Intrinsics):
2643         * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
2644         (NameContext.prototype.add):
2645         (NameContext.prototype.get let):
2646         (NameContext.underlyingThings.prototype.else):
2647         (NameContext.prototype.Symbol.iterator):
2648         (NameContext):
2649         * WebGPUShadingLanguageRI/NameResolver.js:
2650         (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
2651         (NameResolver.prototype.visitCallExpression):
2652         (NameResolver):
2653         (NameResolver.prototype.visitVectorType): Deleted.
2654         * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
2655         (NativeType):
2656         (NativeType.prototype.get typeArguments):
2657         (NativeType.prototype.toString):
2658         (NativeType.create):
2659         * WebGPUShadingLanguageRI/Prepare.js:
2660         (let.prepare):
2661         * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
2662         (Program.prototype.add):
2663         (Program.prototype.toString):
2664         (Program):
2665         * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
2666         * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
2667         (resolveNamesInTypes):
2668         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
2669         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
2670         (resolveTypeDefsInTypes):
2671         * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
2672         (Rewriter.prototype.visitTypeRef):
2673         (Rewriter.prototype.visitVectorType):
2674         (Rewriter):
2675         * WebGPUShadingLanguageRI/SPIRV.html:
2676         * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
2677         (bool.operator):
2678         * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
2679         (StatementCloner.prototype.visitNativeType):
2680         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
2681         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
2682         (synthesizeDefaultConstructorOperator.FindAllTypes):
2683         (synthesizeDefaultConstructorOperator):
2684         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
2685         (synthesizeStructAccessors.createTypeRef):
2686         * WebGPUShadingLanguageRI/Test.html:
2687         * WebGPUShadingLanguageRI/Test.js:
2688         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
2689         (TypeOverloadResolutionFailure):
2690         (TypeOverloadResolutionFailure.prototype.get type):
2691         (TypeOverloadResolutionFailure.prototype.get reason):
2692         (TypeOverloadResolutionFailure.prototype.toString):
2693         * WebGPUShadingLanguageRI/TypeRef.js:
2694         (TypeRef.wrap):
2695         (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
2696         (TypeRef.prototype.toString):
2697         (TypeRef):
2698         (TypeRef.instantiate): Deleted.
2699         * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
2700         adds this facility back into the compiler (it was previously deleted).
2701         (UnificationContext.prototype.verify):
2702         * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
2703         (VectorType):
2704         (VectorType.prototype.get elementType):
2705         (VectorType.prototype.get numElements):
2706         (VectorType.prototype.get numElementsValue):
2707         (VectorType.prototype.toString):
2708         * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
2709         (Visitor.prototype.visitTypeRef):
2710         (Visitor.prototype.visitNativeType):
2711         (Visitor.prototype.visitVectorType):
2712         (Visitor):
2713         * WebGPUShadingLanguageRI/index.html:
2714
2715 2018-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>
2716
2717         [Attachment Support] Attachment elements don't appear in drag images on macOS
2718         https://bugs.webkit.org/show_bug.cgi?id=188823
2719         <rdar://problem/43616378>
2720
2721         Reviewed by Tim Horton.
2722
2723         Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
2724         attachment element in macOS is not completely transparent.
2725
2726         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2727         (isCompletelyTransparent):
2728         (TestWebKitAPI::TEST):
2729
2730 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2731
2732         Explain test name matching in run-api-tests help
2733         https://bugs.webkit.org/show_bug.cgi?id=188280
2734
2735         Reviewed by Ryosuke Niwa.
2736
2737         Improve the run-api-tests help message to explain how test
2738         name matching works.
2739
2740         * Scripts/webkitpy/api_tests/run_api_tests.py:
2741         (parse_args):
2742         * Scripts/webkitpy/port/base.py:
2743         (Port):
2744         (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
2745         * Scripts/webkitpy/port/win.py:
2746         (WinPort):
2747         (WinPort.path_to_api_test_binaries): Ditto.
2748
2749 2018-08-23  Youenn Fablet  <youenn@apple.com>
2750
2751         Use "wpt serve" to launch WPT server
2752         https://bugs.webkit.org/show_bug.cgi?id=188848
2753
2754         Reviewed by Ryosuke Niwa.
2755
2756         Use "wpt serve" provided by WPT instead of using our custom launcher.
2757         This simplifies things and will avoid future breakage.
2758         Further simplify web_platform_test_server.py by removing no longer needed actions.
2759         - Do not copy files but use alias
2760         - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
2761         - Stop enumerating subprocess pids.
2762
2763         * Scripts/webkitpy/common/system/executive_mock.py:
2764         (MockExecutive.interrupt):
2765         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
2766         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
2767         (WebPlatformTestServer.__init__):
2768         (WebPlatformTestServer.ports_to_forward):
2769         (WebPlatformTestServer._prepare_config):
2770         (WebPlatformTestServer._spawn_process):
2771         (WebPlatformTestServer._stop_running_server):
2772
2773 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2774
2775         run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests 
2776         https://bugs.webkit.org/show_bug.cgi?id=188262
2777
2778         Reviewed by Ryosuke Niwa.
2779
2780         * Scripts/webkitpy/api_tests/run_api_tests.py:
2781         (parse_args):
2782
2783 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
2784
2785         [Attachment Support] Support dragging attachment elements out as files on macOS
2786         https://bugs.webkit.org/show_bug.cgi?id=181294
2787         <rdar://problem/36298801>
2788
2789         Reviewed by Tim Horton.
2790
2791         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
2792         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
2793         elements.
2794
2795         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2796         (-[TestWKWebView attachmentElementMidPoint]):
2797
2798         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
2799         attachment element in the document.
2800
2801         (TestWebKitAPI::TEST):
2802
2803         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
2804         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
2805         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
2806         attachment elements around in a document by using drag and drop.
2807
2808         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2809         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2810         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
2811         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
2812         (-[DragAndDropSimulator dealloc]):
2813         (-[DragAndDropSimulator runFrom:to:]):
2814         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
2815
2816         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
2817         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
2818         updates asynchronously. This matches AppKit behavior.
2819
2820         (-[DragAndDropSimulator continueDragSession]):
2821
2822         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
2823         itself until the progress reaches 1.
2824
2825         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2826         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
2827
2828         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
2829
2830         (-[DragAndDropSimulator insertedAttachments]):
2831         (-[DragAndDropSimulator removedAttachments]):
2832         (-[DragAndDropSimulator draggingSession]):
2833         (-[DragAndDropSimulator receivePromisedFiles]):
2834
2835         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
2836         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
2837
2838         (-[DragAndDropSimulator endDataTransfer]):
2839
2840         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
2841
2842         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
2843         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
2844
2845         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
2846
2847 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
2848
2849         [iOS] Add support for the inputmode attribute
2850         https://bugs.webkit.org/show_bug.cgi?id=183621
2851
2852         Reviewed by Tim Horton.
2853
2854         Added an API test to verify that the correct UIKeyboardType is set depending on
2855         the type, inputmode, and pattern specified for an input field.
2856
2857         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2858         (TestWebKitAPI::TEST):
2859         * TestWebKitAPI/ios/UIKitSPI.h:
2860
2861 2018-08-22  Alex Christensen  <achristensen@webkit.org>
2862
2863         Fix API test on Sierra after r235139
2864         https://bugs.webkit.org/show_bug.cgi?id=188810
2865
2866         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
2867         (TEST):
2868
2869 2018-08-22  David Kilzer  <ddkilzer@apple.com>
2870
2871         Move files in WebCore project to match Xcode folder structure
2872         <https://webkit.org/b/188851>
2873
2874         Reviewed by Tim Horton.
2875
2876         * Scripts/extract-localizable-strings:
2877         * Scripts/update-webkit-localizable-strings:
2878         - Update to match new location of extract-localizable-strings.pl.
2879
2880 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2881
2882         Roll out r235139 and r235146
2883         https://bugs.webkit.org/show_bug.cgi?id=188805
2884
2885         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2886         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2887
2888 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2889
2890         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
2891         https://bugs.webkit.org/show_bug.cgi?id=188715
2892         <rdar://problem/43541790>
2893
2894         Reviewed by Tim Horton.
2895
2896         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
2897         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
2898
2899         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2900         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
2901         (TestWebKitAPI::TEST):
2902
2903 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2904
2905         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
2906         https://bugs.webkit.org/show_bug.cgi?id=188821
2907
2908         Reviewed by Simon Fraser.
2909
2910         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
2911         (TestWebKitAPI::didLayout):
2912         (TestWebKitAPI::TEST):
2913
2914 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
2915
2916         [WHLSL] Call expressions shouldn't have type arguments
2917         https://bugs.webkit.org/show_bug.cgi?id=188770
2918
2919         Reviewed by Filip Pizlo.
2920
2921         Call expressions only had type arguments for casts, becuase native types can have type arguments.
2922         However, instead of putting those type arguments on the CallExpression, we should parse the casted
2923         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
2924
2925         Test: casts
2926
2927         * WebGPUShadingLanguageRI/CallExpression.js:
2928         (CallExpression):
2929         (CallExpression.prototype.get name):
2930         (CallExpression.resolve):
2931         (CallExpression.prototype.get typeArguments): Deleted.
2932         (CallExpression.prototype.becomeCast): Deleted.
2933         * WebGPUShadingLanguageRI/NameResolver.js:
2934         (NameResolver.prototype.visitCallExpression):
2935         * WebGPUShadingLanguageRI/Parse.js:
2936         (parseConstexpr):
2937         (parseTypeDef):
2938         (parseLeftOperatorCall):
2939         (parseCallExpression.let.parseArguments):
2940         (parsePossiblePrefix):
2941         (parsePossibleRelationalEquality):
2942         (parseLeftLogicalExpression):
2943         (parseIfStatement):
2944         (parseWhile):
2945         (parseFor):
2946         (parseDo):
2947         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
2948         * WebGPUShadingLanguageRI/Rewriter.js:
2949         (Rewriter.prototype.visitCallExpression):
2950
2951 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2952
2953         Translate WebKit.LimitTitleSize API test into ObjC
2954         https://bugs.webkit.org/show_bug.cgi?id=188810
2955
2956         Reviewed by Andy Estes.
2957
2958         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
2959         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
2960
2961         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2962         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
2963         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
2964         (TEST):
2965         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
2966         (TestWebKitAPI::TEST): Deleted.
2967
2968 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2969
2970         Remove unused shouldKeepCurrentBackForwardListItemInList check
2971         https://bugs.webkit.org/show_bug.cgi?id=188805
2972
2973         Reviewed by Andy Estes.
2974
2975         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2976         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
2977
2978 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2979
2980         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
2981         https://bugs.webkit.org/show_bug.cgi?id=188813
2982
2983         Reviewed by Andy Estes.
2984
2985         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
2986         (TestWebKitAPI::didLayout):
2987         (TestWebKitAPI::setPageLoaderClient):
2988         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
2989         (TestWebKitAPI::didFinishNavigation):
2990         (TestWebKitAPI::didLayout):
2991         (TestWebKitAPI::setPageLoaderClient):
2992         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2993         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
2994         (TestWebKitAPI::didLayout):
2995         (TestWebKitAPI::setPageLoaderClient):
2996
2997 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2998
2999         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
3000         https://bugs.webkit.org/show_bug.cgi?id=188496
3001         <rdar://problem/43216836>
3002
3003         Reviewed by Tim Horton.
3004
3005         Adjusts existing attachment API tests. See below for more detail.
3006
3007         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3008         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
3009         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
3010         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
3011         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
3012
3013         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
3014         update an existing attachment with a file wrapper.
3015
3016         (-[_WKAttachment expectRequestedDataToBe:]):
3017         (TestWebKitAPI::TEST):
3018
3019         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
3020         Also augment an existing test to check that an attachment element which has been copied and pasted within the
3021         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
3022         backed by the same NSFileWrapper that was originally used to insert the attachment.
3023
3024         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
3025         editable area inserts attachment elements into the document and notifies the UI client with the inserted
3026         attachment data.
3027
3028         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
3029         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
3030         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3031         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
3032
3033         Move off of -_webView:didInsertAttachment:.
3034
3035         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
3036
3037 2018-08-21  David Kilzer  <ddkilzer@apple.com>
3038
3039         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
3040         <https://webkit.org/b/188755>
3041
3042         Reviewed by Andy Estes.
3043
3044         * Scripts/sort-Xcode-project-file: Fix regular expression to
3045         make `mainGroup` name optional.
3046
3047 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
3048
3049         Unreviewed, add myself to committers list.
3050
3051         * Scripts/webkitpy/common/config/contributors.json:
3052
3053 2018-08-21  Antti Koivisto  <antti@apple.com>
3054
3055         Allow creating WeakPtrs to const objects
3056         https://bugs.webkit.org/show_bug.cgi?id=188785
3057
3058         Reviewed by Geoffrey Garen.
3059
3060         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3061         (TestWebKitAPI::Base::weakPtrFactory const):
3062         (TestWebKitAPI::TEST):
3063         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
3064
3065 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
3066
3067         [WebGL] Contexts are not updated when display configuration changed.
3068         https://bugs.webkit.org/show_bug.cgi?id=188750
3069
3070         Reviewed by Brent Fulgham.
3071
3072         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3073         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3074         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
3075         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3076         * WebKitTestRunner/TestController.cpp:
3077         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
3078         * WebKitTestRunner/TestController.h:
3079         * WebKitTestRunner/TestInvocation.cpp:
3080         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3081
3082 2018-08-21  John Wilander  <wilander@apple.com>
3083
3084         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
3085         https://bugs.webkit.org/show_bug.cgi?id=188757
3086         <rdar://problem/38713390>
3087
3088         Reviewed by Alex Christensen.
3089
3090         These changes add the new WebKitTestRunner function
3091         isStatisticsRegisteredAsSubresourceUnder().
3092
3093         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3094         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3095         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
3096         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3097         * WebKitTestRunner/TestController.cpp:
3098         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
3099         * WebKitTestRunner/TestController.h:
3100         * WebKitTestRunner/TestInvocation.cpp:
3101         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3102
3103 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3104
3105         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
3106         https://bugs.webkit.org/show_bug.cgi?id=188797
3107
3108         Reviewed by Tim Horton.
3109
3110         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
3111         (TestWebKitAPI::didFinishNavigation):
3112         (TestWebKitAPI::TEST):
3113         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3114         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
3115         (TestWebKitAPI::didSameDocumentNavigation):
3116         (TestWebKitAPI::TEST):
3117         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3118         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
3119         (TestWebKitAPI::didFailProvisionalNavigation):
3120         (TestWebKitAPI::TEST):
3121         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3122         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
3123         (TestWebKitAPI::didStartProvisionalNavigation):
3124         (TestWebKitAPI::didCommitNavigation):
3125         (TestWebKitAPI::didFinishNavigation):
3126         (TestWebKitAPI::TEST):
3127         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3128         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3129         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3130         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
3131         (TestWebKitAPI::didStartProvisionalNavigation):
3132         (TestWebKitAPI::didCommitNavigation):
3133         (TestWebKitAPI::didFinishNavigation):
3134         (TestWebKitAPI::TEST):
3135         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3136         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3137         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3138         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
3139         (TestWebKitAPI::renderingProgressDidChange):
3140         (TestWebKitAPI::TEST):
3141         (TestWebKitAPI::didLayout): Deleted.
3142         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
3143         (TestWebKitAPI::didFinishNavigation):
3144         (TestWebKitAPI::renderingProgressDidChange):
3145         (TestWebKitAPI::setPageLoaderClient):
3146         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3147         (TestWebKitAPI::didLayout): Deleted.
3148         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3149         (TestWebKitAPI::State::State):
3150         (TestWebKitAPI::didStartProvisionalNavigation):
3151         (TestWebKitAPI::didCommitNavigation):
3152         (TestWebKitAPI::didFinishNavigation):
3153         (TestWebKitAPI::decidePolicyForNavigationAction):
3154         (TestWebKitAPI::decidePolicyForResponse):
3155         (TestWebKitAPI::TEST):
3156         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3157         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3158         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3159         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
3160         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
3161         (TestWebKitAPI::didSameDocumentNavigation):
3162         (TestWebKitAPI::TEST):
3163         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3164         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3165         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
3166         (TestWebKitAPI::TEST):
3167         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3168         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
3169         (TestWebKitAPI::didFinishLoad):
3170         (TestWebKitAPI::TEST):
3171         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
3172         (TestWebKitAPI::didFinishNavigation):
3173         (TestWebKitAPI::TEST):
3174         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3175         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
3176         (TestWebKitAPI::didFinishLoad):
3177         (TestWebKitAPI::TEST):
3178         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
3179         (WebKit2_CommandBackForwardTestWKView::SetUp):
3180         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
3181
3182 2018-08-20  Alex Christensen  <achristensen@webkit.org>
3183
3184         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
3185         https://bugs.webkit.org/show_bug.cgi?id=188771
3186
3187         Reviewed by Tim Horton.
3188
3189         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
3190         (TestWebKitAPI::didFinishNavigation):
3191         (TestWebKitAPI::TEST):
3192         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3193         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
3194         (TestWebKitAPI::didFinishNavigation):
3195         (TestWebKitAPI::TEST):
3196         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3197         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
3198         (TestWebKitAPI::didFinishNavigation):
3199         (TestWebKitAPI::setPageLoaderClient):
3200         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3201         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
3202         (TestWebKitAPI::TEST):
3203         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3204         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
3205         (TestWebKitAPI::didFinishNavigation):
3206         (TestWebKitAPI::setPageLoaderClient):
3207         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3208         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
3209         (TestWebKitAPI::didFinishNavigation):
3210         (TestWebKitAPI::setClients):
3211         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3212         * TestWebKitAPI/Tests/WebKit/Find.cpp:
3213         (TestWebKitAPI::didFinishNavigation):
3214         (TestWebKitAPI::TEST):
3215         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3216         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
3217         (TestWebKitAPI::didFinishNavigation):
3218         (TestWebKitAPI::TEST):
3219         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3220         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
3221         (TestWebKitAPI::didFinishNavigation):
3222         (TestWebKitAPI::TEST):
3223         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3224         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
3225         (TestWebKitAPI::didFinishNavigation):
3226         (TestWebKitAPI::TEST):
3227         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3228         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
3229         (TestWebKitAPI::didFinishNavigation):
3230         (TestWebKitAPI::TEST):
3231         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3232         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
3233         (TestWebKitAPI::didFinishNavigation):
3234         (TestWebKitAPI::setPageLoaderClient):
3235         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3236         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
3237         (TestWebKitAPI::didFinishNavigation):
3238         (TestWebKitAPI::TEST):
3239         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3240         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
3241         (TestWebKitAPI::didFinishLoadForFrame):
3242         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
3243         (TestWebKitAPI::didFinishNavigation):
3244         (TestWebKitAPI::loadAlternateHTMLString):
3245         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3246         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
3247         (TestWebKitAPI::didFinishNavigation):
3248         (TestWebKitAPI::TEST):
3249         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3250         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
3251         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
3252         (TestWebKitAPI::didFinishLoad):
3253         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
3254         (TestWebKitAPI::didFinishNavigation):
3255         (TestWebKitAPI::setPageLoaderClient):
3256         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3257         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
3258         (TestWebKitAPI::didFinishNavigation):
3259         (TestWebKitAPI::setPageLoaderClient):
3260         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3261         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3262         (TestWebKitAPI::didFinishLoadForFrame):
3263         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3264         (TestWebKitAPI::TEST):
3265         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
3266         (TestWebKitAPI::TEST):
3267         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
3268         (TestWebKitAPI::didFinishLoad):
3269         (TestWebKitAPI::TEST):
3270         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3271         (TestWebKitAPI::didFinishNavigation):
3272         (TestWebKitAPI::setPageLoaderClient):
3273         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3274         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
3275         (TestWebKitAPI::didFinishNavigation):
3276         (TestWebKitAPI::setPageLoaderClient):
3277         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3278         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
3279         (TestWebKitAPI::didFinishNavigation):
3280         (TestWebKitAPI::TEST):
3281         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
3282         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
3283         (TestWebKitAPI::didFinishNavigation):
3284         (TestWebKitAPI::TEST):
3285         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3286         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
3287         (TestWebKitAPI::didFailProvisionalNavigation):
3288         (TestWebKitAPI::TEST):
3289         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3290         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
3291         (TestWebKitAPI::didFinishNavigation):
3292         (TestWebKitAPI::TEST):
3293         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3294         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
3295         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
3296         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
3297         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
3298         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
3299         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
3300         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
3301         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
3302         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
3303         (TestWebKitAPI::didFinishNavigation):
3304         (TestWebKitAPI::setPageLoaderClient):
3305         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3306         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
3307         (TestWebKitAPI::didFinishNavigation):
3308         (TestWebKitAPI::setPageLoaderClient):
3309         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3310         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
3311         (TestWebKitAPI::didFinishNavigation):
3312         (TestWebKitAPI::setPageLoaderClient):
3313         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3314         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
3315         (TestWebKitAPI::didFinishNavigation):
3316         (TestWebKitAPI::setUpClients):
3317         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3318         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3319         (TestWebKitAPI::didFinishNavigation):
3320         (TestWebKitAPI::setPageLoaderClient):
3321         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3322         * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
3323         (TestWebKitAPI::didFinishNavigation):
3324         (TestWebKitAPI::TEST):
3325         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3326         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
3327         (TestWebKitAPI::didFinishNavigation):
3328         (TestWebKitAPI::TEST):
3329         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3330         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
3331         (TestWebKitAPI::didFinishNavigation):
3332         (TestWebKitAPI::TEST):
3333         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3334         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
3335         (TestWebKitAPI::didFinishNavigation):
3336         (TestWebKitAPI::TEST):
3337         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3338         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
3339         (TestWebKitAPI::didFinishNavigation):
3340         (TestWebKitAPI::TEST):
3341         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3342         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
3343         (TestWebKitAPI::didFinishNavigation):
3344         (TestWebKitAPI::TEST):
3345         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3346         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
3347         (TestWebKitAPI::didFinishNavigation):
3348         (TestWebKitAPI::TEST):
3349         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3350         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
3351         (didFinishNavigation):
3352         (TestWebKitAPI::TEST):
3353         (didFinishLoadForFrame): Deleted.
3354         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3355         (didFinishNavigation):
3356         (TestWebKitAPI::TEST):
3357         (didFinishLoadForFrame): Deleted.
3358         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
3359         (TestWebKitAPI::didFinishNavigation):
3360         (TestWebKitAPI::TEST):
3361         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3362         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
3363         (TestWebKitAPI::didFinishNavigation):
3364         (TestWebKitAPI::setPageLoaderClient):
3365         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3366
3367 2018-08-21  Adrian Perez de Castro  <aperez@igalia.com>
3368
3369         [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
3370         https://bugs.webkit.org/show_bug.cgi?id=188782
3371
3372         Reviewed by Michael Catanzaro.
3373
3374         Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
3375         environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
3376
3377         * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
3378         release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
3379         * wpe/jhbuild.modules: Ditto.
3380
3381 2018-08-21  Michael Catanzaro  <mcatanzaro@igalia.com>
3382
3383         [Flatpak] Update to GNOME master runtime
3384         https://bugs.webkit.org/show_bug.cgi?id=188731
3385
3386         Reviewed by Philippe Normand.
3387
3388         The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
3389         runtime, but I don't think there's any need to stick with the stable runtime when we have
3390         the ability to pin to a particular version of the master runtime. There are also several
3391         advantages to switching to the master runtime.
3392
3393         * flatpak/files/httpd-autogen.sh: Removed.
3394         * flatpak/flatpakutils.py:
3395         (WebkitFlatpak.clean_args):
3396         * flatpak/org.webkit.GTK.yaml:
3397         * flatpak/org.webkit.WebKit.yaml:
3398         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
3399         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
3400
3401 2018-08-20  Jonathan Bedard  <jbedard@apple.com>
3402
3403         WebKitTestRunner: Add watchOS entitlements
3404         https://bugs.webkit.org/show_bug.cgi?id=188758
3405
3406         Reviewed by Tim Horton.
3407
3408         watchOS needs an additional entitlement to open up a socket for on-device testing.
3409
3410         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
3411         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3412         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3413
3414 2018-08-20  Thomas Denney  <tdenney@apple.com>
3415
3416         [WHLSL] Remove generics from the interpreter
3417         https://bugs.webkit.org/show_bug.cgi?id=187988
3418
3419         Reviewed by Myles C. Maxfield.
3420
3421         This patch completely removes generic and protocol support from WHLSL
3422         whilst adding back any features that were originally implemented with
3423         generics.
3424
3425         Many of the changes in this patch just remove occurrences of type
3426         arguments and type parameters --- although there are some cases where
3427         they have been deliberately left in --- as well as removing tests only
3428         relevant to those features. These changes are not listed below.
3429
3430         * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
3431         * WebGPUShadingLanguageRI/AutoWrapper.js:
3432         (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
3433         * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
3434         vectors have many constructors for different scalar and vector types.
3435         These were originally implemented with generics.
3436         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
3437         equality operator for built-in vectors, again this was removed with
3438         generics.
3439         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
3440         Built-in vectors only support the getter and setter, and not the ander.
3441         * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
3442         * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
3443         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
3444         * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
3445         instantiating functions which cannot be discovered earlier in
3446         preparation because their types are absent (specifically support for the
3447         operator &[] for array references and the length operator for array
3448         references). Previously support for these was implemented with generics.
3449         (CallExpression.resolve):
3450         (CallExpression.prototype.resolve):
3451         (CallExpression.prototype._resolveByInstantiation):
3452         (CallExpression.prototype._resolveToOperatorAnderIndexer):
3453         (CallExpression.prototype._resolveToOperatorLength):
3454         (CallExpression.prototype.resolveToOverload):
3455         (CallExpression.prototype.becomeCast):
3456         (CallExpression.prototype.toString):
3457         (CallExpression):
3458         * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
3459         We support syntax like vector<int, 2>(a, b) for constructing vectors;
3460         this new preparation step resolves them to specific constructors.
3461         * WebGPUShadingLanguageRI/CallFunction.js:
3462         * WebGPUShadingLanguageRI/Checker.js:
3463         * WebGPUShadingLanguageRI/ConstexprFolder.js:
3464         * WebGPUShadingLanguageRI/CreateLiteralType.js:
3465         * WebGPUShadingLanguageRI/ExpressionFinder.js:
3466         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
3467         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
3468         * WebGPUShadingLanguageRI/Func.js:
3469         * WebGPUShadingLanguageRI/FuncDef.js:
3470         * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
3471         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
3472         * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
3473         * WebGPUShadingLanguageRI/Inliner.js: Ditto.
3474         * WebGPUShadingLanguageRI/Intrinsics.js:
3475         * WebGPUShadingLanguageRI/Lexer.js:
3476         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
3477         * WebGPUShadingLanguageRI/NameContext.js:
3478         (NameContext.prototype.add):
3479         (NameContext.prototype.get let):
3480         (NameContext.underlyingThings.prototype.else):
3481         (NameContext.prototype.resolveFuncOverload):
3482         * WebGPUShadingLanguageRI/NameFinder.js:
3483         * WebGPUShadingLanguageRI/NameResolver.js:
3484         (NameResolver.prototype.visitFunc):
3485         (NameResolver.prototype.visitFuncDef):
3486         (NameResolver.prototype.visitTypeDef):
3487         (NameResolver.prototype.visitStructType):
3488         (NameResolver.prototype.visitTypeRef):
3489         (NameResolver.prototype.visitCallExpression):
3490         (NameResolver.prototype.visitVectorType):
3491         (NameResolver):
3492         (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
3493         (NameResolver.prototype.visitProtocolDecl): Deleted.
3494         * WebGPUShadingLanguageRI/NativeFunc.js:
3495         (NativeFunc):
3496         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
3497         * WebGPUShadingLanguageRI/NativeType.js:
3498         (NativeType):
3499         (NativeType.prototype.get name):
3500         (NativeType.prototype.toString):
3501         (NativeType.prototype.get typeParameters): Deleted.
3502         (NativeType.prototype.instantiate): Deleted.
3503         * WebGPUShadingLanguageRI/Node.js:
3504         (Node.prototype.commit):
3505         (Node):
3506         (Node.prototype.substitute): Deleted.
3507         (Node.prototype.substituteToUnification): Deleted.
3508         * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
3509         implemented with generics.
3510         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
3511         * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
3512         * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
3513         generics and protocols.
3514         * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
3515         * WebGPUShadingLanguageRI/Program.js:
3516         (Program):
3517         (Program.prototype.get types):
3518         (Program.prototype.add):
3519         (Program.prototype.get protocols): Deleted.
3520         * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
3521         * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
3522         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
3523         * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
3524         * WebGPUShadingLanguageRI/ResolveNames.js:
3525         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3526         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
3527         (resolveTypeDefsInProtocols): Deleted.
3528         * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
3529         * WebGPUShadingLanguageRI/SPIRV.html:
3530         * WebGPUShadingLanguageRI/SPIRVCodegen.js:
3531         * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
3532         * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
3533         (StructLayoutBuilder):
3534         * WebGPUShadingLanguageRI/StructType.js:
3535         * WebGPUShadingLanguageRI/SwizzleOp.js:
3536         (SwizzleOp):
3537         (SwizzleOp.prototype.get baseTypeName):
3538         (SwizzleOp.prototype.toString):
3539         (SwizzleOp.functions.):
3540         (SwizzleOp.functions):
3541         (SwizzleOp.prototype.instantiateImplementation):
3542         (SwizzleOp.allSwizzleOperators.): Deleted.
3543         (SwizzleOp.allSwizzleOperators): Deleted.
3544         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
3545         previously implemented with generics.
3546         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
3547         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
3548         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
3549         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
3550         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
3551         (synthesizeStructAccessors.setupImplementationData):
3552         (synthesizeStructAccessors.createFieldType):
3553         (synthesizeStructAccessors.createTypeRef):
3554         (synthesizeStructAccessors.setupAnder):
3555         (synthesizeStructAccessors):
3556         (synthesizeStructAccessors.createTypeParameters): Deleted.
3557         (synthesizeStructAccessors.): Deleted.
3558         * WebGPUShadingLanguageRI/Test.html:
3559         * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
3560         tests for changed language features.
3561         * WebGPUShadingLanguageRI/Type.js:
3562         * WebGPUShadingLanguageRI/TypeDef.js:
3563         * WebGPUShadingLanguageRI/TypeDefResolver.js:
3564         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
3565         * WebGPUShadingLanguageRI/TypeRef.js:
3566         * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
3567         * WebGPUShadingLanguageRI/UnificationContext.js:
3568         * WebGPUShadingLanguageRI/VectorType.js: Added.
3569         * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
3570         * WebGPUShadingLanguageRI/WSL.md: Removed description of
3571         generics/protocols.
3572         * WebGPUShadingLanguageRI/WrapChecker.js:
3573         (WrapChecker):
3574         (WrapChecker.visitConstexprTypeParameter): Deleted.
3575         (WrapChecker.prototype.visitFuncParameter): Deleted.
3576         (WrapChecker.prototype.visitTypeVariable): Deleted.
3577         * WebGPUShadingLanguageRI/index.html:
3578
3579 2018-08-20  Thomas Denney  <tdenney@apple.com>
3580
3581         Added Thomas Denney to contributors.json.
3582         https://bugs.webkit.org/show_bug.cgi?id=188525
3583
3584         Reviewed by Myles C. Maxfield.
3585
3586         * Scripts/webkitpy/common/config/contributors.json:
3587
3588 2018-08-20  Bernhard M. Wiedemann  <bwiedemann@suse.de>
3589
3590         [GTK] Sort inspector GResource manifest to ensure reproducible builds
3591         https://bugs.webkit.org/show_bug.cgi?id=188738
3592
3593         Reviewed by Michael Catanzaro.
3594
3595         * glib/generate-inspector-gresource-manifest.py:
3596         (get_filenames): sort list of input files
3597
3598 2018-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3599
3600         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
3601         https://bugs.webkit.org/show_bug.cgi?id=184271
3602         <rdar://problem/39256708>
3603
3604         Reviewed by Andy Estes.
3605
3606         This API test is failing when run against older macOS builds, where custom pasteboard
3607         data is not enabled by default.
3608
3609         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
3610         (TestWebKitAPI::TEST):
3611
3612 2018-08-20  Claudio Saavedra  <csaavedra@igalia.com>
3613
3614         Add WPE Debug configuration to the flakiness dashboard
3615         https://bugs.webkit.org/show_bug.cgi?id=188743
3616
3617         Reviewed by Michael Catanzaro.
3618
3619         * TestResultServer/static-dashboards/builders.jsonp:
3620         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
3621
3622 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3623
3624         [GLIB] Add API to throw exceptions using printf formatted strings
3625         https://bugs.webkit.org/show_bug.cgi?id=188698
3626
3627         Reviewed by Michael Catanzaro.
3628
3629         Add cases to test the new API.
3630
3631         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3632         (createFormattedError):
3633         (createCustomFormattedError):
3634         (testJSCExceptions):
3635
3636 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3637
3638         [GLIB] Complete the JSCException API
3639         https://bugs.webkit.org/show_bug.cgi?id=188695
3640
3641         Reviewed by Michael Catanzaro.
3642
3643         Add cases to test the new API.
3644
3645         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3646         (testJSCCheckSyntax):
3647         (createCustomError):
3648         (testJSCExceptions):
3649
3650 2018-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3651
3652         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
3653         https://bugs.webkit.org/show_bug.cgi?id=184271
3654         <rdar://problem/39256708>
3655
3656         Reviewed by Ryosuke Niwa.
3657
3658         Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
3659         matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
3660
3661         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
3662         (TestWebKitAPI::TEST):
3663         (imagePath): Deleted.
3664         (writeTypesAndDataToPasteboard): Deleted.
3665         (setUpWebView): Deleted.
3666         (markupString): Deleted.
3667
3668         Make this test file no longer exclusive to macOS.
3669
3670         * TestWebKitAPI/cocoa/TestWKWebView.h:
3671         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3672         (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
3673
3674         Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
3675
3676         (-[TestWKWebView synchronouslyLoadHTMLString:]):
3677
3678 2018-08-17  Jonathan Bedard  <jbedard@apple.com>
3679
3680         Add back --wtf-only to run-api-tests
3681         https://bugs.webkit.org/show_bug.cgi?id=187893
3682         <rdar://problem/42483983>
3683
3684         Reviewed by Aakash Jain.
3685
3686         When doing WTF development, it is not necessary to build or run all of the API
3687         tests. Generally, if a user has specified a specific binary (or binaries) that
3688         they are interested in testing, it is not necessary to check all API test binaries.
3689
3690         * Scripts/webkitpy/api_tests/manager.py:
3691         (Manager._collect_tests): Only use the binaries matching the program arguments
3692         when collecting tests.
3693         (Manager._binaries_for_arguments): Generate a list of binaries which match the
3694         program arguments.
3695         (Manager.run): Pass a list binaries to check.
3696         * Scripts/webkitpy/api_tests/run_api_tests.py:
3697         (parse_args):
3698         * Scripts/webkitpy/port/base.py:
3699         (Port.check_api_test_build): If the caller specifies which API test binaries it
3700         requires, only check the ones specified.
3701         (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
3702         (Port._build_api_tests): Allow the caller to only build the WTF API tests.
3703         * Scripts/webkitpy/port/win.py:
3704         (WinPort.path_to_api_test_binaries):
3705
3706 2018-08-17  Jer Noble  <jer.noble@apple.com>
3707
3708         REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
3709         https://bugs.webkit.org/show_bug.cgi?id=188470
3710         <rdar://problem/43144969>
3711
3712         Reviewed by Alex Christensen.
3713
3714         On a loaded server, the WebContent process may send the "playing" message before the
3715         UIProcess has a chance to register a listener for that message. Restructure the tests
3716         so that the listener is registered before the page is loaded.
3717
3718         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
3719         (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
3720         (TEST_F):
3721
3722 2018-08-16  Wenson Hsieh  <wenson_hsieh@apple.com>
3723
3724         [macOS] [WK2] Add infrastructure to test receiving file promises on drop
3725         https://bugs.webkit.org/show_bug.cgi?id=188583
3726
3727         Reviewed by Andy Estes.
3728
3729         Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
3730         NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
3731         concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
3732         introduces 3 new macOS tests. See below for more details.
3733
3734         A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
3735         future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
3736         DumpRenderTree, and make this code shared among all three testing harnesses.
3737
3738         Tests:  DragAndDropTests.DragImageElementIntoFileUpload
3739                 DragAndDropTests.DragPromisedImageFileIntoFileUpload
3740                 DragAndDropTests.DragImageFileIntoFileUpload
3741
3742         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3743         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3744         (TEST):
3745
3746         Drive-by fix: Replace NSMakePoint with CGPointMake.
3747
3748         * TestWebKitAPI/Tests/WebKitCocoa/image-and-file-upload.html:
3749
3750         Add a new test page consisting of an image and a "file upload" area that updates exercises DataTransfer API to
3751         load the dropped image.
3752
3753         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
3754         (waitForConditionWithLogging):
3755
3756         Add a helper function to wait for a condition to evaluate to true. To make failures more informative,
3757         additionally add a mechanism to log a warning message after a given timeout, if the condition has yet to be met.
3758
3759         (TEST):
3760
3761         Add new tests to exercise a few cases of file upload in WebKit, including: (1) dragging from an image element,
3762         (2) dragging files written to the pasteboard as promises, and (3) files written to the pasteboard as file URLs.
3763
3764         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3765
3766         Surface the new functionality provided by the file promise receiver mock via two new methods on
3767         DragAndDropSimulator to (1) write files as file promises to the pasteboard, and (2) write files as file paths
3768         directly to the pasteboard.
3769
3770         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
3771         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
3772         (-[DragAndDropSimulator externalPromisedFiles]):
3773         (getFilePathsAndTypeIdentifiers):
3774         (-[DragAndDropSimulator writePromisedFiles:]):
3775         (-[DragAndDropSimulator writeFiles:]):
3776         * TestWebKitAPI/mac/TestDraggingInfo.h:
3777         * TestWebKitAPI/mac/TestDraggingInfo.mm:
3778         (-[TestDraggingInfo initWithDragAndDropSimulator:]):
3779         (-[TestDraggingInfo filePromiseReceivers]):
3780         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3781
3782         Implement this by invoking the given block with a TestFilePromiseReceiver. While all other classes are
3783         unhandled by this testing code, WebKit only calls into this with [NSFilePromiseReceiver class], this is
3784         currently sufficient for testing purposes.
3785
3786         * TestWebKitAPI/mac/TestFilePromiseReceiver.h: Copied from Tools/TestWebKitAPI/mac/TestDraggingInfo.h.
3787         * TestWebKitAPI/mac/TestFilePromiseReceiver.mm: Added.
3788         (-[TestFilePromiseReceiver initWithPromisedTypeIdentifiers:dragAndDropSimulator:]):
3789         (-[TestFilePromiseReceiver fileTypes]):
3790         (-[TestFilePromiseReceiver fileNames]):
3791         (-[TestFilePromiseReceiver dealloc]):
3792         (-[TestFilePromiseReceiver draggingSource]):
3793         (-[TestFilePromiseReceiver setDraggingSource:]):
3794         (fileNameWithNumericSuffix):
3795         (copyFile):
3796
3797         Add a helper to copy a file into a destination directory. Used to implement the main functionality of our
3798         NSFilePromiseReceiver subclass, which copies the files specified by test code into the directory determined by
3799         WebKit.
3800
3801         (-[TestFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
3802
3803 2018-08-16  Alex Christensen  <achristensen@webkit.org>
3804
3805         Add entitlement to MiniBrowser to allow it to communicate with com.apple.Safari.SafeBrowsing.Service
3806         https://bugs.webkit.org/show_bug.cgi?id=188677
3807
3808         Reviewed by Tim Horton.
3809
3810         * MiniBrowser/MiniBrowser.entitlements:
3811         SSBLookupContext lookUpURL:completionHandler: fails to communicate with its service without this entitlement
3812         on released operating systems.  See <rdar://problem/42749777>
3813
3814 2018-08-16  Jer Noble  <jer.noble@apple.com>
3815
3816         Add option to run-api-tests to force running of DISABLED tests.
3817         https://bugs.webkit.org/show_bug.cgi?id=188674
3818
3819         Reviewed by Joseph Pecoraro.
3820
3821         * Scripts/webkitpy/api_tests/run_api_tests.py:
3822         (parse_args):
3823         * Scripts/webkitpy/api_tests/runner.py:
3824         (Runner.command_for_port):
3825         (_Worker._run_single_test):
3826
3827 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
3828
3829         [ews-build] Separate queues for Builders and Testers - macOS High Sierra
3830         https://bugs.webkit.org/show_bug.cgi?id=188540
3831
3832         Reviewed by Lucas Forschler.
3833
3834         * BuildSlaveSupport/ews-build/config.json: Splitted few macOS queues into builders and testers. 
3835
3836 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
3837
3838         [ews-build] Add build steps ArchiveTestResults, UploadTestResults and ExtractTestResults
3839         https://bugs.webkit.org/show_bug.cgi?id=188666
3840
3841         Reviewed by Lucas Forschler.
3842
3843         * BuildSlaveSupport/ews-build/steps.py:
3844         (ArchiveTestResults): Build step to Archive the test results.
3845         (UploadTestResults): Build step to upload the archive.
3846         (ExtractTestResults): Build step to unzip the archive on server and generate a link.
3847         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3848         (ExpectMasterShellCommand): Copied from other similar internal code.
3849
3850 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
3851
3852         [ews-build] Separate queues for Builders and Testers - macOS Sierra
3853         https://bugs.webkit.org/show_bug.cgi?id=188516
3854
3855         Reviewed by Lucas Forschler.
3856
3857         * BuildSlaveSupport/ews-build/config.json: Splitted macOS Sierra Release queues into builders and testers.
3858         * BuildSlaveSupport/ews-build/factories.py: Used appropriate base classes for builders and testers.
3859
3860 2018-08-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3861
3862         [Win][DumpRenderTree] Remove error message for duplicated tests.
3863         https://bugs.webkit.org/show_bug.cgi?id=188662
3864
3865         Reviewed by Per Arne Vollan.
3866
3867         This was added to track down an issue where the same tests appeared
3868         to be run multiple times. This turned out to not be the case.
3869         See https://bugs.webkit.org/show_bug.cgi?id=166760 .
3870
3871         * DumpRenderTree/win/DumpRenderTree.cpp:
3872         (runTest):
3873
3874 2018-08-16  Alex Christensen  <achristensen@webkit.org>
3875
3876         Re-introduce assertion removed in r234890
3877         https://bugs.webkit.org/show_bug.cgi?id=188611
3878
3879         Reviewed by Geoffrey Garen.
3880
3881         * TestWebKitAPI/Tests/WTF/Vector.cpp:
3882         (TestWebKitAPI::TEST):
3883
3884 2018-08-16  Jer Noble  <jer.noble@apple.com>
3885
3886         Add Experimental Feature support for SourceBuffer.changeType()
3887         https://bugs.webkit.org/show_bug.cgi?id=188626
3888         <rdar://problem/43356021>
3889
3890         Reviewed by Eric Carlson.
3891
3892         * DumpRenderTree/mac/DumpRenderTree.mm:
3893         (enableExperimentalFeatures):
3894         (resetWebPreferencesToConsistentValues):
3895         * WebKitTestRunner/TestController.cpp:
3896         (WTR::TestController::resetPreferencesToConsistentValues):
3897
3898 2018-08-16  Aditya Keerthi  <akeerthi@apple.com>
3899
3900         Support drag-and-drop for input[type=color]
3901         https://bugs.webkit.org/show_bug.cgi?id=188464
3902
3903         Reviewed by Wenson Hsieh.
3904
3905         Added five cross-platform API tests, to verify that dragging and dropping with
3906         color inputs changes the value of the drop target if and only if both inputs are
3907         enabled. Also tests that the change and input events are fired when changing the
3908         value of a color input through drag and drop. 
3909
3910         Additionally, added a macOS-specific test to verify that dropping an item with
3911         NSColorPboardType changes the value of the color input.
3912
3913         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3914         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3915         (TestWebKitAPI::TEST):
3916         * TestWebKitAPI/Tests/WebKitCocoa/color-drop.html: Added.
3917         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
3918         (TestWebKitAPI::TEST):
3919
3920 2018-08-16  Antti Koivisto  <antti@apple.com>
3921
3922         Use OptionSet for ActivityState::Flags
3923         https://bugs.webkit.org/show_bug.cgi?id=188554
3924
3925         Reviewed by Brent Fulgham.
3926
3927         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
3928         (TestWebKitAPI::TEST):
3929
3930 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3931
3932         [GTK] MiniBrowser: web view doesn't get the focus when new window is created
3933         https://bugs.webkit.org/show_bug.cgi?id=188546
3934
3935         Reviewed by Michael Catanzaro.
3936
3937         When a new window is created, the first widget of the windo is getting the focus, the toolbar in this case. We
3938         always want the WebView to grab the focus. In case of new empty tab, we want to the URL bar to be focused
3939         instead. This was causing failures in WebDriver tests that create a popup window with an input element that is
3940         filled with send keys command. The input element is marked as focused in the DOM, but the actual focused widget
3941         is the toolbar, so key events are sent to the toolbar instead of the web view.
3942
3943         * MiniBrowser/gtk/BrowserWindow.c:
3944         (webViewCreate):
3945         (newTabCallback):
3946         (openPrivateWindow):
3947         (browser_window_get_or_create_web_view_for_automation):
3948
3949 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3950
3951         Unreviewed. Fix WebDriver tests after r234839.
3952
3953         New pytest requires to autoinstall attrs too.
3954
3955         * Scripts/webkitpy/thirdparty/__init__.py:
3956         (AutoinstallImportHook._install_pytest):
3957
3958 2018-08-15  Ansh Shukla  <ansh_shukla@apple.com>
3959
3960         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
3961         https://bugs.webkit.org/show_bug.cgi?id=186870
3962         <rdar://problem/41314410>
3963
3964         Reviewed by Alex Christensen.
3965
3966         * WebKitTestRunner/TestController.cpp:
3967         (WTR::toString):
3968         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
3969         (WTR::TestController::didReceiveAuthenticationChallenge):
3970
3971 2018-08-15  Ben Richards  <benton_richards@apple.com>
3972
3973         We should cache the compiled sandbox profile in a data vault
3974         https://bugs.webkit.org/show_bug.cgi?id=184991
3975
3976         Reviewed by Ryosuke Niwa.
3977
3978         Added trace points for sandbox initialization
3979
3980         * Tracing/SystemTracePoints.plist:
3981
3982 2018-08-15  Ryan Haddad  <ryanhaddad@apple.com>
3983
3984         Unreviewed, rolling out r234870.
3985
3986         The test introduced with this change is a flaky failure.
3987
3988         Reverted changeset:
3989
3990         "NSURLAuthenticationMethodOAuth challenges are surfaced to
3991         clients in -didReceiveAuthenticationChallenge as
3992         NSURLAuthenticationMethodDefault"
3993         https://bugs.webkit.org/show_bug.cgi?id=186870
3994         https://trac.webkit.org/changeset/234870
3995
3996 2018-08-15  Jonathan Bedard  <jbedard@apple.com>
3997
3998         WebKitTestRunner should support watch devices
3999         https://bugs.webkit.org/show_bug.cgi?id=188570
4000
4001         Reviewed by Alex Christensen.
4002
4003         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
4004
4005 2018-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
4006
4007         [Attachment SPI] Remove attachment display mode options
4008         https://bugs.webkit.org/show_bug.cgi?id=188596
4009
4010         Reviewed by Dan Bernstein.
4011
4012         Remove API tests and API test helpers for verifying the behavior of in-place media attachment elements.
4013
4014         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4015         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
4016         (TestWebKitAPI::TEST):
4017         (testVideoData): Deleted.
4018         (displayOptionsWithMode): Deleted.
4019         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]): Deleted.
4020
4021 2018-08-14  Devin Rousso  <drousso@apple.com>
4022
4023         Unreviewed, change my emails.
4024
4025         * Scripts/webkitpy/common/config/contributors.json:
4026         * Scripts/webkitpy/common/config/watchlist:
4027
4028 2018-08-14  Saam barati  <sbarati@apple.com>
4029
4030         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
4031         https://bugs.webkit.org/show_bug.cgi?id=188582
4032
4033         Reviewed by Sam Weinig.
4034
4035         * TestWebKitAPI/Tests/WTF/HashMap.cpp:
4036         (TestWebKitAPI::TEST):
4037
4038 2018-08-14  Zalan Bujtas  <zalan@apple.com>
4039
4040         [LFC][Floating] Add support for negative clearance.
4041         https://bugs.webkit.org/show_bug.cgi?id=188555
4042
4043         Reviewed by Simon Fraser.
4044
4045         * LayoutReloaded/misc/LFC-passing-tests.txt:
4046
4047 2018-08-14 Sihui Liu <sihui_liu@apple.com>
4048
4049         Crash in WebKit::filterPreloadHSTSEntry via NetworkProcess::getHostNamesWithHSTSCache
4050         https://bugs.webkit.org/show_bug.cgi?id=188576
4051         <rdar://problem/43148977>
4052
4053         Reviewed by Alex Christensen.
4054
4055         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4056         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Added.
4057         (TEST):
4058
4059 2018-08-14  Alex Christensen  <achristensen@webkit.org>
4060
4061         isValidCSSSelector is unsafe to be called from a non-main thread
4062         https://bugs.webkit.org/show_bug.cgi?id=188581
4063         <rdar://problem/40517358>
4064
4065         Reviewed by Sam Weinig.
4066
4067         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4068         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
4069         (TestWebKitAPI::checkCompilerError):
4070
4071 2018-08-14  Ansh Shukla  <ansh_shukla@apple.com>
4072
4073         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
4074         https://bugs.webkit.org/show_bug.cgi?id=186870
4075         <rdar://problem/41314410>
4076
4077         Reviewed by Alex Christensen.
4078
4079         * WebKitTestRunner/TestController.cpp:
4080         (WTR::toString):
4081         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
4082         (WTR::TestController::didReceiveAuthenticationChallenge):
4083
4084 2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
4085
4086         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
4087         https://bugs.webkit.org/show_bug.cgi?id=187973
4088
4089         Reviewed by Alex Christensen.
4090
4091         In LayoutTests, test names have been canonicalized in Unix style
4092         since Bug 63597, for example 'fast/css/001.html'. But Bug 179219,
4093         Bug 179572, Bug 180660, and Bug 181814 have changed to use
4094         os.path.seq instead of slash if Windows Python is used.
4095
4096         Revert parts of those changes. Change relative_test_filename to
4097         return a slash-separated test name as chromium_win.py used to do.
4098
4099         This change fixes all 41 test-webkitpy failures in WinCairo port.
4100
4101         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
4102         (TestExpectationParser._parse_line): Do not convert test names with normpath.
4103         * Scripts/webkitpy/port/base.py:
4104         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
4105         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
4106         (Port.abspath_for_test): Replace self.TEST_PATH_SEPARATOR with self.host.filesystem.sep.
4107         * Scripts/webkitpy/port/driver.py:
4108         (Driver): Use '/' instead of os.sep.
4109         * Scripts/webkitpy/port/win.py:
4110         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
4111
4112 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
4113
4114         [ews-build] Add build step to run WK1 layout-test
4115         https://bugs.webkit.org/show_bug.cgi?id=188498
4116
4117         Reviewed by Lucas Forschler.
4118
4119         * BuildSlaveSupport/ews-build/steps.py:
4120         (RunWebKit1Tests): Class to run WebKit1Tests.
4121         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
4122
4123 2018-08-14  Patrick Griffis  <pgriffis@igalia.com>
4124
4125         [Flatpak] Fix --cmakeargs
4126         https://bugs.webkit.org/show_bug.cgi?id=188567
4127
4128         Reviewed by Michael Catanzaro.
4129
4130         * flatpak/flatpakutils.py:
4131         (WebkitFlatpak.setup_dev_env):
4132
4133 2018-08-14  Darshan Kadu  <dkadu@igalia.com>
4134
4135         Enhancement request: Make export-w3c-test-changes add the PR to "See Also" links
4136         https://bugs.webkit.org/show_bug.cgi?id=186140
4137
4138         Reviewed by Youenn Fablet.
4139
4140         Added an optional parameter see_also to post_comment_to_bug function and used it for adding see_also variable's content in "See Also"
4141         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
4142         (Bugzilla.post_comment_to_bug):
4143         Modified mock for see_also parameter
4144         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
4145         (MockBugzilla.post_comment_to_bug):
4146         Made following unit tests to have see_also in bug comment
4147         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
4148         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
4149         (SheriffTest.test_post_blame_comment_on_bug):
4150         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
4151         * Scripts/webkitpy/tool/commands/queues_unittest.py:
4152         * Scripts/webkitpy/tool/commands/upload_unittest.py:
4153         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
4154         * Scripts/webkitpy/w3c/test_exporter.py:
4155         (WebPlatformTestExporter.make_pull_request):
4156         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
4157         (TestExporterTest.MockBugzilla.post_comment_to_bug):
4158         (TestExporterTest.test_export):
4159
4160 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
4161
4162         [ews-build] Add support for max_builds parameter for workers
4163         https://bugs.webkit.org/show_bug.cgi?id=188531
4164
4165         Reviewed by Lucas Forschler.
4166
4167         * BuildSlaveSupport/ews-build/loadConfig.py:
4168         (loadBuilderConfig): Added support for max_builds.
4169
4170 2018-08-14  Zalan Bujtas  <zalan@apple.com>
4171
4172         [LFC][Floating] Adjust vertical position with non-collapsing previous sibling margin.
4173         https://bugs.webkit.org/show_bug.cgi?id=188543
4174
4175         Reviewed by Antti Koivisto.
4176
4177         * LayoutReloaded/misc/LFC-passing-tests.txt:
4178
4179 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4180
4181         Unreviewed. Fix WebDriver tests after r234839.
4182
4183         New pytest requires to autoinstall more_itertools and six too.
4184
4185         * Scripts/webkitpy/thirdparty/__init__.py:
4186         (AutoinstallImportHook._install_pytest):
4187
4188 2018-08-14  Tomas Popela  <tpopela@redhat.com>
4189
4190         [GTK] Minibrowser: Add labels for buttons
4191         https://bugs.webkit.org/show_bug.cgi?id=188549
4192
4193         Reviewed by Carlos Garcia Campos.