WebDriver: driver environment not passed to pytest when running w3c tests
[WebKit-https.git] / Tools / ChangeLog
1 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         WebDriver: driver environment not passed to pytest when running w3c tests
4         https://bugs.webkit.org/show_bug.cgi?id=181852
5
6         Reviewed by Carlos Alberto Lopez Perez.
7
8         That's why color codes are not used in the bots log for selenium tests but they appear in w3c tests.
9
10         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
11         (WebDriverW3CExecutor.run):
12
13 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
14
15         [GTK] WebDriver: wayland display no used in wayland bot
16         https://bugs.webkit.org/show_bug.cgi?id=181851
17
18         Reviewed by Carlos Alberto Lopez Perez.
19
20         We need to handle the additionalArguments property in the WebDriverTests step.
21
22         * BuildSlaveSupport/build.webkit.org-config/steps.py:
23         (RunWebDriverTests.start):
24
25 2018-01-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
26
27         [GTK] TERM environment variable is not passed to the test driver.
28         https://bugs.webkit.org/show_bug.cgi?id=181847
29
30         Rubber-stamped by by Carlos Garcia Campos.
31
32         * Scripts/webkitpy/port/base.py:
33         (Port.to.setup_environ_for_server):
34
35 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
36
37         WebDriver: run-webdriver-tests is crashing in the bots when creating results json file
38         https://bugs.webkit.org/show_bug.cgi?id=181844
39
40         Reviewed by Carlos Alberto Lopez Perez.
41
42         We always try to create the directory where to store the json file, but when the filename is given directly,
43         like in the bots, the current dir is used.
44
45         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
46         (WebDriverTestRunner.dump_results_to_json_file): Do not try to create the directory if dirname() returns an
47         empty string.
48
49 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
50
51         [GTK] WebDriver tests are running outside the jhbuild env
52         https://bugs.webkit.org/show_bug.cgi?id=181842
53
54         Reviewed by Žan Doberšek.
55
56         We need to enter jhbuild env in run-webdriver-tests.
57
58         * Scripts/run-webdriver-tests:
59
60 2018-01-18  Carlos Garcia Campos  <cgarcia@igalia.com>
61
62         [GTK] Run WebDriver tests in the bots
63         https://bugs.webkit.org/show_bug.cgi?id=181787
64
65         Reviewed by Michael Catanzaro.
66
67         Add a step to run WebDriver tests in the GTK test bots. The new step is not GTK specific, but only added to the
68         factory for the GTK port for now.
69
70         * BuildSlaveSupport/build.webkit.org-config/factories.py:
71         (TestFactory.__init__):
72         * BuildSlaveSupport/build.webkit.org-config/steps.py:
73         (RunWebDriverTests):
74         (RunWebDriverTests.start):
75         (RunWebDriverTests.commandComplete):
76         (RunWebDriverTests.evaluateCommand):
77         (RunWebDriverTests.getText):
78         (RunWebDriverTests.getText2):
79
80 2018-01-18  Basuke Suzuki  <Basuke.Suzuki@sony.com>
81
82         [WinCairo] Pass correct url for http test to test driver.
83         https://bugs.webkit.org/show_bug.cgi?id=181814
84
85         Reviewed by Alex Christensen.
86
87         * Scripts/webkitpy/port/driver.py:
88         (Driver):
89         (Driver.http_test_path_to_uri):
90         (Driver.is_secure_path):
91         (Driver.http_base_url):
92         (Driver.uri_to_test):
93
94 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
95
96         Unreviewed, update the triggerable name for 'sierra-release-perf-tests'
97
98         * BuildSlaveSupport/build.webkit.org-config/config.json:
99
100 2018-01-18  Dan Bernstein  <mitz@apple.com>
101
102         [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
103         https://bugs.webkit.org/show_bug.cgi?id=181803
104
105         Reviewed by Tim Horton.
106
107         * DumpRenderTree/mac/Configurations/Base.xcconfig: Updated.
108         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Ditto.
109         * ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
110         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Ditto.
111         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
112         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
113         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
114         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
115         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals
116           helpers.
117         * TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build
118           settings useful for defining settings that depend on the target macOS version.
119         * WebKitTestRunner/Configurations/Base.xcconfig: Updated.
120         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Updated.
121
122 2018-01-18  Ling Ho  <lingcherd_ho@apple.com>
123
124         Remove Opensource El Capitan queues from buildbot
125         https://bugs.webkit.org/show_bug.cgi?id=181712
126
127         Reviewed by Aakash Jain.
128
129         * BuildSlaveSupport/build.webkit.org-config/config.json:
130         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
131         (WebKitBuildbot):
132         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
133
134 2018-01-18  Chris Dumez  <cdumez@apple.com>
135
136         Service Workers restored from persistent storage have 'redundant' state
137         https://bugs.webkit.org/show_bug.cgi?id=181749
138         <rdar://problem/36556486>
139
140         Reviewed by Youenn Fablet.
141
142         Add API test coverage.
143
144         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
145         (-[SWMessageHandlerForFetchTest userContentController:didReceiveScriptMessage:]):
146
147 2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
148
149         [GTK] AX: Two layout tests crash with error 'g_strstr_len: assertion 'haystack != NULL' failed' in Accessibility::UIElement::url
150         https://bugs.webkit.org/show_bug.cgi?id=176796
151
152         Reviewed by Chris Fleizach.
153
154         Add sanity check that we have a URL before calling g_strstr_len().
155
156         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
157         (WTR::AccessibilityUIElement::url):
158
159 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
160
161         Add triggers for Sierra test262 and perf queues
162         https://bugs.webkit.org/show_bug.cgi?id=181799
163
164         Reviewed by Aakash Jain.
165
166         * BuildSlaveSupport/build.webkit.org-config/config.json:
167
168 2018-01-18  Wenson Hsieh  <wenson_hsieh@apple.com>
169
170         [iOS] Specify -[NSURL _title] for the associated URL when copying an image element
171         https://bugs.webkit.org/show_bug.cgi?id=181783
172         <rdar://problem/35785445>
173
174         Reviewed by Ryosuke Niwa.
175
176         Augments an existing API test and adds a new test to make sure that the resulting NSItemProvider's NSURL when
177         copying an image contains a relevant title.
178
179         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
180         (TestWebKitAPI::TEST):
181         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
182         * TestWebKitAPI/ios/UIKitSPI.h:
183
184 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
185
186         WebDriver: ignore the driver in selenium test names when getting expectations
187         https://bugs.webkit.org/show_bug.cgi?id=181738
188
189         Reviewed by Carlos Alberto Lopez Perez.
190
191         In selenium tests, the driver is added as a parameter to every test which results in tests names like
192         foo[DriverName] or foo[DriverName-param2] in case of tests using more parameters. We don't want to include the
193         driver name in the test expectations file, so we need to remove it when querying the expectations.
194
195         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
196         (TestExpectationsMarker.__init__): Save the param to ignore.
197         (TestExpectationsMarker._item_name): Return the name of the test without the para to ignore.
198         (TestExpectationsMarker.pytest_collection_modifyitems): Use _item_name().
199         (run): Pass param to ignore to TestExpectationsMarker().
200         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
201         (WebDriverSeleniumExecutor.__init__): Save the driver name.
202         (WebDriverSeleniumExecutor.run): Pass the driver name as param to ignore.
203
204 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
205
206         [GTK][WPE] Show unit tests unexpectedly passing in the bots
207         https://bugs.webkit.org/show_bug.cgi?id=181726
208
209         Reviewed by Michael Catanzaro.
210
211         Now that we have the info, let's show it also in the bots.
212
213         * BuildSlaveSupport/build.webkit.org-config/steps.py:
214         (RunGLibAPITests.commandComplete):
215
216 2018-01-17  Ling Ho  <lingcherd_ho@apple.com>
217
218         Fix broken unittest after r227048
219         https://bugs.webkit.org/show_bug.cgi?id=181760
220
221         Reviewed by Aakash Jain.
222
223
224 2018-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
225
226         WEBKIT_FRAMEWORK should not modify file-global include directories
227         https://bugs.webkit.org/show_bug.cgi?id=181656
228
229         Reviewed by Konstantin Tokarev.
230
231         * TestWebKitAPI/PlatformWPE.cmake:
232         * TestWebKitAPI/glib/CMakeLists.txt:
233
234 2018-01-17  Alicia Boya García  <aboya@igalia.com>
235
236         Unreviewed, mark Alicia as committer in contributors.json
237
238         * Scripts/webkitpy/common/config/contributors.json:
239
240 2018-01-17  Youenn Fablet  <youenn@apple.com>
241
242         Put fetch Request.keepalive behind a runtime flag
243         https://bugs.webkit.org/show_bug.cgi?id=181592
244
245         Reviewed by Chris Dumez.
246
247         * DumpRenderTree/mac/DumpRenderTree.mm:
248         (enableExperimentalFeatures):
249         * DumpRenderTree/win/DumpRenderTree.cpp:
250         (enableExperimentalFeatures):
251         * WebKitTestRunner/TestController.cpp:
252         (WTR::TestController::resetPreferencesToConsistentValues):
253
254 2018-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
255
256         Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
257         https://bugs.webkit.org/show_bug.cgi?id=181637
258         <rdar://problem/36508471>
259
260         Reviewed by Tim Horton.
261
262         Add 2 new API tests to exercise injected bundle SPI for supplying replacement URLs when pasting an image, and an
263         attributed string containing multiple NSTextAttachments. See WebKit and WebCore ChangeLogs for more detail.
264
265         * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm:
266         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
267         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:replacementURLForResource:mimeType:]):
268
269         Implement the new Objective-C bundle SPI to look up the incoming MIME type in the dictionary supplied via the
270         "MIMETypeToReplacementURLMap" bundle initialization parameter, and return it.
271
272         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
273         (webViewForTestingAttachments):
274         (-[TestWKWebView tagsInBody]):
275         (-[TestWKWebView expectElementTagsInOrder:]):
276         (-[TestWKWebView expectElementTag:toComeBefore:]):
277
278         Add a test helper to check that the given list of element tags appears in the document body. Also, reimplement
279         the existing -expectElementTag:toComeBefore: as a special case of -expectElementTagsInOrder:.
280
281         (TestWebKitAPI::TEST):
282         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
283         (WTR::InjectedBundlePage::InjectedBundlePage):
284
285 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
286
287         WebDriver: add support for test expectations
288         https://bugs.webkit.org/show_bug.cgi?id=180420
289
290         Reviewed by Carlos Alberto Lopez Perez.
291
292         Add support for parsing test expectations from a JSON file and mark tests on collection accordingly.
293
294         * Scripts/run-webdriver-tests: Get the retval from process_results().
295         * Scripts/webkitpy/thirdparty/__init__.py:
296         (AutoinstallImportHook._install_pytest): Install also py because pytest needs it.
297         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
298         (TestExpectationsMarker): Plugin to mark tests based on given expectations.
299         (TestExpectationsMarker.__init__): Initialize expectations.
300         (TestExpectationsMarker.pytest_collection_modifyitems): Mark tests if needed,
301         (run): Create and use TestExpectationsMarker plugin.
302         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
303         (WebDriverSeleniumExecutor.run): Pass expectations to pytest_runner.
304         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
305         (WebDriverTestRunner.__init__): Create a TestExpectations and pass it to the runners.
306         (WebDriverTestRunner.run): Do not count results here.
307         (WebDriverTestRunner.process_results): Rename print_results() as process_results() since it now returns the
308         amount of failures. Printing the test summary while processing results will be made optional in a follow up
309         patch.
310         (WebDriverTestRunner.process_results.report): Return the amount of failures.
311         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
312         (WebDriverTestRunnerSelenium.__init__): Initialize _expectations.
313         (WebDriverTestRunnerSelenium.collect_tests): Do not include skipped tests.
314         (WebDriverTestRunnerSelenium.run): Stop returning the tests count.
315         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
316         (WebDriverTestRunnerW3C.__init__): Initialize _expectations.
317         (WebDriverTestRunnerW3C.collect_tests): Do not include skipped tests.
318         (WebDriverTestRunnerW3C._scan_directory): Ditto.
319         (WebDriverTestRunnerW3C.run): Stop returning the tests count.
320         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
321         (WebDriverW3CExecutor.run): Pass expectations to pytest_runner.
322
323 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
324
325         Unreviewed WPE gardening. Mark some known unit test failures.
326
327         * TestWebKitAPI/glib/TestExpectations.json:
328
329 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
330
331         [GTK][WPE] Use the same subtest names in GTK and WPE unit tests
332         https://bugs.webkit.org/show_bug.cgi?id=181724
333
334         Reviewed by Philippe Normand.
335
336         We currently use /webkit2/foo/bar for GTK and /wpe/foo/bar for WPE. Many of the tests are common, so there's no
337         reason to use different names. This way we can refer to the same test names for both and we can share the
338         expectations in the TestExpectations.json file.
339
340         * TestWebKitAPI/glib/TestExpectations.json:
341         * TestWebKitAPI/glib/WebKitGLib/TestMain.h: Use /webkit/foo/bar in GTK and WPE.
342
343 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
344
345         Unreviewed. Increase the slow timeout of GTK and WPE unit tests.
346
347         We are using now a lower default timeout, so multiplying by 5 is no longer enough for some of the WTF
348         tests. Multiply by 10 so that we get the same slow timeout as before, 50.
349
350         * glib/api_test_runner.py:
351         (TestRunner._run_test_glib):
352         (TestRunner._run_google_test):
353
354 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
355
356         [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
357         https://bugs.webkit.org/show_bug.cgi?id=179914
358
359         Reviewed by Žan Doberšek.
360
361         Add two scripts to be run by dist-check step when releasing. One is to detect symbols duplicated in
362         libjavascriptcoregtk and libwebkit2gtk that should be included to the version script. The other one is to ensure
363         all symbols listed in the script are present in the library.
364
365         * Scripts/check-for-global-bss-symbols-in-webkigtk-libs: Added.
366         (bss_symbols):
367         * Scripts/check-for-invalid-symbols-in-version-script: Added.
368         (script_symbols):
369         * Scripts/make-dist:
370         (Distcheck.build):
371         (Distcheck):
372         (Distcheck.check_symbols):
373         (Distcheck.check):
374
375 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
376
377         [GTK][WPE] Propagate the parameters when restarting glib api tests after a crash
378         https://bugs.webkit.org/show_bug.cgi?id=181722
379
380         Reviewed by Žan Doberšek.
381
382         I forgot to pass the parameters to run() when restarting.
383
384         * glib/glib_test_runner.py:
385         (GLibTestRunner.run):
386
387 2018-01-16  Fujii Hironori  <Hironori.Fujii@sony.com>
388
389         [CMake] Remove WebCoreDerivedSources library target
390         https://bugs.webkit.org/show_bug.cgi?id=181664
391
392         Reviewed by Carlos Garcia Campos.
393
394         * TestWebKitAPI/PlatformWPE.cmake: Do not link WebCoreDerivedSources.
395         * TestWebKitAPI/PlatformWin.cmake: Ditto.
396
397 2018-01-16  Ling Ho  <lingcherd_ho@apple.com>
398
399         Move Debug Test262, Release Test262 and Performance queues to Sierra
400         https://bugs.webkit.org/show_bug.cgi?id=181692
401
402         Unreviewed
403
404 2018-01-16  Zach Li  <zachli@apple.com>
405
406         Add pop-up policy support in website policies.
407         https://bugs.webkit.org/show_bug.cgi?id=181544.
408         rdar://problem/30521400.
409
410         Reviewed by Alex Christensen.
411
412         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
413         Added pop-up-check.html.
414
415         * TestWebKitAPI/Tests/WebKit/pop-up-check.html: Added.
416
417         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
418         (-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
419         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
420         (-[PopUpPoliciesDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
421         (TEST):
422
423 2018-01-16  Wenson Hsieh  <wenson_hsieh@apple.com>
424
425         [Attachment Support] Provide the `src` of an attachment to the UI delegate when an attachment is inserted
426         https://bugs.webkit.org/show_bug.cgi?id=181638
427         <rdar://problem/36508702>
428
429         Reviewed by Dan Bernstein.
430
431         Tweak an existing API test to check that the `src` of an attachment element inserted via script matches the
432         `source` provided to the UI delegate via -[WKUIDelegate _webView:didInsertAttachment:withSource:].
433
434         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
435         (-[AttachmentUpdateObserver init]):
436         (-[AttachmentUpdateObserver sourceForIdentifier:]):
437         (-[AttachmentUpdateObserver _webView:didInsertAttachment:withSource:]):
438         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectSourceForIdentifier):
439         (TestWebKitAPI::TEST):
440         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]): Deleted.
441
442 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
443
444         Unreviewed. Fix GTK unit tests execution in the bots after r226967.
445
446         I forgot to pass the environment to the GLibTestRunner and Xvfb was not used in the bots.
447
448         * glib/api_test_runner.py:
449         (TestRunner._run_test_glib): Pass env to GLibTestRunner.
450         * glib/glib_test_runner.py:
451         (GLibTestRunner.run): Use given env.
452
453 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
454
455         [GTK][WPE] Stop passing --verbose to run-api-tests from the bots
456         https://bugs.webkit.org/show_bug.cgi?id=181676
457
458         Reviewed by Carlos Alberto Lopez Perez.
459
460         The option was removed in r226967.
461
462         * BuildSlaveSupport/build.webkit.org-config/steps.py:
463         (RunGtkAPITests):
464         (RunWPEAPITests):
465
466 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
467
468         Unreviewed. Temporarily bring back --verbose option of api_test_runner.py.
469
470         The bots are still passing that option and the step is failing because it was removed in r226967.
471
472         * glib/api_test_runner.py:
473         (add_options):
474
475 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
476
477         [GTK][WPE] Improve the way glib tests are run
478         https://bugs.webkit.org/show_bug.cgi?id=181674
479
480         Reviewed by Žan Doberšek.
481
482         Stop using gtester external program and use our own tester from python directly. This way we no longer need to
483         parse the tests output to get the results which is causing problems in WPE bot. We can now differentiate between
484         tests failing due to an expected assert in the test and unexpected crashes.
485         This also fixes a bug in previous code where we failed to properly detect tests timing out, because gtester was
486         not showing the subtest name in stdout in case of timeouts.
487         I've lowered the default timeout from 10 to 5, since we are now properly handling the timeout for every test
488         case. I've also removed the verbose option, since it was only used by gtester and we now always show the result
489         of every test case.
490
491         * glib/api_test_runner.py:
492         (TestRunner._run_test_glib): Use GLibTestRunner.
493         (TestRunner._run_google_test): Wrote tests timing out to stdout too.
494         (add_options):
495         * glib/glib_test_runner.py: Added.
496         (TestTimeout):
497         (Message):
498         (Message.__init__):
499         (Message.create):
500         (Message.create.read_unsigned):
501         (Message.create.read_double):
502         (Message.create.read_string):
503         (GLibTestRunner):
504         (GLibTestRunner.__init__):
505         (GLibTestRunner._process_data):
506         (GLibTestRunner._process_message):
507         (GLibTestRunner._read_from_pipe):
508         (GLibTestRunner._read_from_stderr):
509         (GLibTestRunner._start_timeout):
510         (GLibTestRunner._start_timeout._alarm_handler):
511         (GLibTestRunner._stop_timeout):
512         (GLibTestRunner._subtest_start):
513         (GLibTestRunner._subtest_message):
514         (GLibTestRunner._subtest_stderr):
515         (GLibTestRunner._subtest_end):
516         (GLibTestRunner.run):
517
518 2018-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
519
520         Unreviewed, add Thibault to contributors.json
521
522         It's a bit weird to add someone here before their first contribution, but this affects
523         Bugzilla autocomplete, and that is serious business.
524
525         * Scripts/webkitpy/common/config/contributors.json:
526
527 2018-01-15  JF Bastien  <jfbastien@apple.com>
528
529         Remove makePoisonedUnique
530         https://bugs.webkit.org/show_bug.cgi?id=181630
531         <rdar://problem/36498623>
532
533         Reviewed by Mark Lam.
534
535         Update tests.
536
537         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
538         (TestWebKitAPI::TEST):
539         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
540         (TestWebKitAPI::TEST):
541
542 2018-01-15  Adrian Perez de Castro  <aperez@igalia.com>
543
544         [GTK][JHBuild] Tools/gtk/install-dependencies: Package libxfont does not exist anymore in Arch Linux
545         https://bugs.webkit.org/show_bug.cgi?id=181476
546
547         Reviewed by Michael Catanzaro.
548
549         Update to xorg-server 1.19.6 which depends on libxfont2, and change
550         the lists of packages to install libxfont2-devel (or equivalent).
551
552         * gtk/install-dependencies:
553         * gtk/jhbuild.modules:
554
555 2018-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
556
557         [GTK][WPE] Add support for unit test expectations
558         https://bugs.webkit.org/show_bug.cgi?id=181589
559
560         Reviewed by Michael Catanzaro.
561
562         We currently have a way to skip tests by annotating them in the api test runner script. The main problem of this
563         approach is that we skip tests when they fail in the bots and we never notice if they stop failing, keeping the
564         tests skipped forever. This is indeed the case of several WebKit2 C API tests. Annotating skipped tests in the
565         script itself is not a good idea either.
566
567         This patch adds a generic TestExpectations class for simple tests based on tests with subtests, like our unit
568         tests, but also WebDriver tests. It parses a json file with the tests and subtests expectations and provides
569         convenient methods to query them.
570
571         * Scripts/run-gtk-tests:
572         (GtkTestRunner): Remove all Skipped and Slow tests marked here.
573         * Scripts/run-wpe-tests:
574         (WPETestRunner): Ditto.
575         * Scripts/webkitpy/common/test_expectations.py: Added.
576         (TestExpectations):
577         (TestExpectations.__init__):
578         (TestExpectations._port_name_for_expected):
579         (TestExpectations._expected_value):
580         (TestExpectations.skipped_tests):
581         (TestExpectations.skipped_subtests):
582         (TestExpectations._expectation_value):
583         (TestExpectations.is_slow):
584         (TestExpectations.get_expectation):
585         * Scripts/webkitpy/common/test_expectations_unittest.py: Added.
586         (MockTestExpectations):
587         (MockTestExpectations.__init__):
588         (MockTestExpectations.is_skip):
589         (ExpectationsTest):
590         (assert_exp):
591         (assert_not_exp):
592         (assert_bad_exp):
593         (assert_skip):
594         (test_basic):
595         (test_skip):
596         (test_flaky):
597         (test_build_type):
598         * TestWebKitAPI/glib/TestExpectations.json: Added.
599         * glib/api_test_runner.py:
600         (TestRunner): Remove SkippedTest implementation.
601         (TestRunner.__init__): Create a TestExpectations.
602         (TestRunner._test_cases_to_skip): Use TestExpectations to check skipped tests.
603         (TestRunner._should_run_test_program): Ditto.
604         (TestRunner._run_test_glib): Use TestExpectations to check if test suite is slow.
605         (TestRunner._run_test_glib.parse_line.set_test_result): Register also tests passing.
606         (TestRunner._run_google_test): Use TestExpectations to check if test cases is slow and register tests passing.
607         (TestRunner.run_tests): Check if actual result is the expected one and register also unexpected passes.
608         (TestRunner.run_tests.report): Helper to write report to stdout.
609
610 2018-01-13  Mark Lam  <mark.lam@apple.com>
611
612         Replace all use of ConstExprPoisoned with Poisoned.
613         https://bugs.webkit.org/show_bug.cgi?id=181542
614         <rdar://problem/36442138>
615
616         Reviewed by JF Bastien.
617
618         1. Converted tests to using new uintptr_t& poison type.
619         2. Added tests for Poisoned comparison operators.
620
621         * TestWebKitAPI/CMakeLists.txt:
622         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
623         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Removed.
624         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
625         (TestWebKitAPI::TEST):
626         (TestWebKitAPI::initializeTestPoison): Deleted.
627         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
628         (TestWebKitAPI::TEST):
629         (TestWebKitAPI::passWithRef):
630         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
631         (TestWebKitAPI::TEST):
632         (TestWebKitAPI::f1):
633         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
634         (TestWebKitAPI::TEST):
635         (TestWebKitAPI::poisonedPtrFoo):
636         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
637         (TestWebKitAPI::TEST):
638         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
639         (TestWebKitAPI::TEST):
640
641 2018-01-13  David Kilzer  <ddkilzer@apple.com>
642
643         check-webkit-style: false positive for [whitespace/braces] with os_log format string
644         <https://webkit.org/b/181606>
645
646         Reviewed by Darin Adler.
647
648         * Scripts/webkitpy/style/checkers/cpp.py:
649         (check_spacing): Modify regular expression to ignore
650         os_log format strings like '%{public}'.
651         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
652         (CppStyleTest.test_spacing_before_braces): Add os_log
653         format string test.
654
655 2018-01-12  Wenson Hsieh  <wenson_hsieh@apple.com>
656
657         [macOS] API tests ChangeAttachmentDataUpdatesWithInPlaceDisplay and InPlaceVideoAttachmentInsertionWithinList are failing
658         https://bugs.webkit.org/show_bug.cgi?id=181626
659
660         Reviewed by Joseph Pecoraro.
661
662         Make the web view for WKAttachmentTests slightly bigger to avoid size clamping behavior introduced in r226915.
663         Additionally, write a new API test covering the change in r226915.
664
665         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
666         (webViewForTestingAttachments):
667         (TestWebKitAPI::TEST):
668
669 2018-01-12  Alex Christensen  <achristensen@webkit.org>
670
671         History state should be updated during client redirects with asynchronous policy decisions
672         https://bugs.webkit.org/show_bug.cgi?id=181358
673         <rdar://problem/35547689>
674
675         Reviewed by Andy Estes.
676
677         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
678         (-[AsyncPolicyDecisionDelegate webView:didFinishNavigation:]):
679         (-[AsyncPolicyDecisionDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
680         (TEST):
681
682 2018-01-12  Jonathan Bedard  <jbedard@apple.com>
683
684         webkitpy: Refactor simulator code (Part 4)
685         https://bugs.webkit.org/show_bug.cgi?id=180555
686         <rdar://problem/36131381>
687
688         Reviewed by Aakash Jain.
689
690         Move new_simulated_device.py to simulated_device.py.
691
692         * Scripts/webkitpy/port/ios_simulator.py: Update import statement.
693         * Scripts/webkitpy/xcode/new_simulated_device.py: Removed.
694         * Scripts/webkitpy/xcode/new_simulated_device_unittest.py: Removed.
695         * Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device.py.
696         * Scripts/webkitpy/xcode/simulated_device_unittest.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device_unittest.py.
697
698 2018-01-12  Alex Christensen  <achristensen@webkit.org>
699
700         REGRESSION (r226818): API test WebKitLegacy.LoadInvalidURLRequest is failing
701         https://bugs.webkit.org/show_bug.cgi?id=181595
702
703         This test was testing behavior of an invalid URL that WebCore parses but NSURL does not.
704         It was using example.com<> but after r226479 < and > are considered invalid by WebCore.
705         I change the < and > to $ to make this test pass and continue to test what it used to.
706
707         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.html:
708         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
709         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
710
711 2018-01-11  Keith Miller  <keith_miller@apple.com>
712
713         Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION
714         https://bugs.webkit.org/show_bug.cgi?id=181573
715
716         Reviewed by Simon Fraser.
717
718         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
719
720 2018-01-11  Jiewen Tan  <jiewen_tan@apple.com>
721
722         [WebAuthN] Import a CBOR coder from Chromium
723         https://bugs.webkit.org/show_bug.cgi?id=181522
724         <rdar://problem/36055729>
725
726         Reviewed by Brent Fulgham.
727
728         This patch also imports all unit tests into our API tests to ensure all
729         workarounds and modification against the original codebase doesn't change
730         any original functionalities.
731
732         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
733         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: Added.
734         (TestWebKitAPI::TEST):
735         * TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp: Added.
736         (TestWebKitAPI::TEST):
737         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp: Added.
738         (TestWebKitAPI::eq):
739         Workarounds applied.
740         (TestWebKitAPI::TEST):
741
742 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
743
744         webkitpy: Use partially disambiguated type in SimulatedDeviceManager._disambiguate_device_type
745         https://bugs.webkit.org/show_bug.cgi?id=181538
746         <rdar://problem/36440580>
747
748         Reviewed by Aakash Jain.
749
750         When disambiguating a device type, it is possible that the provided device type is sufficiently
751         ambiguous that the comparisons against complete device types without a disambiguated hardware_family
752         will result in a failure to disambiguate the type.
753
754         * Scripts/webkitpy/xcode/new_simulated_device.py:
755         (SimulatedDeviceManager._disambiguate_device_type):
756
757 2018-01-11  Brent Fulgham  <bfulgham@apple.com>
758
759         REGRESSION(r219530): ResourceLoadStatisticsPersistentStorage should be read-only in ephemeral sessions
760         https://bugs.webkit.org/show_bug.cgi?id=181136
761         <rdar://problem/36116604>
762
763         Reviewed by Chris Dumez.
764
765         Add a new API test to confirm that ResourceLoadStatistics can be turned on safely for ephemeral
766         browsing sessions.
767
768         * Scripts/run-gtk-tests:
769         (GtkTestRunner): Unskip test now that it passes.
770         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
771         (TEST): Add new WebsiteDataStoreEphemeral test.
772
773 2018-01-11  Ryan Haddad  <ryanhaddad@apple.com>
774
775         Unreviewed, rolling out r226816.
776
777         This change broke LayoutTests on the bots.
778
779         Reverted changeset:
780
781         "run-webkit-tests fails when there is a curly brace in Xcode
782         build output"
783         https://bugs.webkit.org/show_bug.cgi?id=181254
784         https://trac.webkit.org/changeset/226816
785
786 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
787
788         webkitpy: Fix flakey webserver tests
789         https://bugs.webkit.org/show_bug.cgi?id=181555
790         <rdar://problem/36448273>
791
792         Reviewed by Aakash Jain.
793
794         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
795         (LayoutTestRunnerTests.test_servers_started): Add and bind custom checks to
796         determine if a specific server is running.
797
798 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
799
800         Commit queue failed to land a bug, 'NoneType' object has no attribute 'strip'
801         https://bugs.webkit.org/show_bug.cgi?id=181561
802         <rdar://problem/36452652>
803
804         Reviewed by Aakash Jain.
805
806         BeautifulSoup.find may return None, this case should be gracefully handled.
807
808         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
809         (BugzillaQueries._parse_result_count):
810         (BugzillaQueries._fetch_bugs_from_advanced_query): Added logging.
811
812 2018-01-11  Alexey Proskuryakov  <ap@apple.com>
813
814         run-webkit-tests fails when there is a curly brace in Xcode build output
815         https://bugs.webkit.org/show_bug.cgi?id=181254
816
817         Reviewed by Daniel Bates.
818
819         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
820         (MeteredStream.write):
821
822 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
823
824         webkitpy: Reimplement simulator code (Part 3)
825         https://bugs.webkit.org/show_bug.cgi?id=180555
826         <rdar://problem/36131381>
827
828         Reviewed by Aakash Jain.
829
830         Remove old simulator code.
831
832         * Scripts/webkitpy/xcode/__init__.py: Remove import statement.
833         * Scripts/webkitpy/xcode/simulated_device.py: Removed.
834         * Scripts/webkitpy/xcode/simulator.py: Removed.
835         * Scripts/webkitpy/xcode/simulator_unittest.py: Removed.
836
837 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
838
839         [Attachment Support] Support moving attachment elements in editable areas using drag and drop
840         https://bugs.webkit.org/show_bug.cgi?id=181337
841         <rdar://problem/36324813>
842
843         Reviewed by Tim Horton.
844
845         Add 3 new API tests for attachment element dragging.
846
847         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
848         (-[TestWKWebView expectElementTag:toComeBefore:]):
849         (-[NSItemProvider expectType:withData:]):
850         (TestWebKitAPI::TEST):
851
852 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
853
854         REGRESSION(r225856): Incorrectly managing 'future' baseline_search_paths. 
855         https://bugs.webkit.org/show_bug.cgi?id=179621
856         <rdar://problem/35589585>
857
858         Unreviewed infrastructure fix.
859
860         * Scripts/webkitpy/port/mac.py:
861         (MacPort.default_baseline_search_path): Include 'future' in the version_fallback
862         list if we are the VERSION_MAX, which usually corresponds with future.
863
864 2018-01-11  Filip Pizlo  <fpizlo@apple.com>
865
866         CodeBlocks should be in IsoSubspaces
867         https://bugs.webkit.org/show_bug.cgi?id=180884
868
869         Reviewed by Saam Barati.
870         
871         Remove some less important benchmarks from the default run. Doing run-jsc-benchmarks
872         shouldn't take a long time due to benchmarks we don't optimize for.
873         
874         * Scripts/run-jsc-benchmarks:
875
876 2018-01-11  Ms2ger  <Ms2ger@igalia.com>
877
878         Test gardening for GTK.
879         https://bugs.webkit.org/show_bug.cgi?id=181477
880
881         Unreviewed test gardening.
882
883         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Correct the file name.
884         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Adjust the expected console message.
885
886 2018-01-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
887
888         Add the new JSCOnly bot to the scheduler.
889         https://bugs.webkit.org/show_bug.cgi?id=181487
890
891         Unreviewed follow-up patch after r226729
892
893         On r226729 I missed to add the new JSCOnly bot the default scheduler.
894         This is needed to make the bot automatically pick each commit for testing.
895
896         * BuildSlaveSupport/build.webkit.org-config/config.json:
897
898 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
899
900         [Attachment Support] Support dragging attachment elements out as files on iOS
901         https://bugs.webkit.org/show_bug.cgi?id=181199
902         <rdar://problem/36299316>
903
904         Reviewed by Tim Horton, Andy Estes and Joseph Pecoraro.
905
906         Add support in the drag and drop simulator for testing blob-backed attachment element dragging, and also add new
907         attachment API tests.
908
909         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
910         (-[NSItemProvider expectType:withData:]):
911         (TestWebKitAPI::TEST):
912
913         Add two new WKAttachmentTests to exercise dragging data- and file-backed blobs via attachment elements. These
914         tests first insert attachments via drop or WKWebView SPI, and then drag these attachments out and use the
915         -expectType:withData: helper to inspect the item providers created from the drag source.
916
917         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
918         (TestWebKitAPI::TEST):
919         * TestWebKitAPI/ios/DataInteractionSimulator.h:
920         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
921         (-[MockDragSession localContext]):
922         (-[MockDragSession setLocalContext:]):
923         (-[DataInteractionSimulator _resetSimulatedState]):
924         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
925         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
926         (-[DataInteractionSimulator _advanceProgress]):
927         (-[DataInteractionSimulator endDataTransfer]):
928
929         Make some tweaks to the iOS drag and drop simulator. In particular, this patch (1) adds a new hook to tell
930         WebKit that data transfers have been completed, (2) fixes incorrect drop proposal handling when returning
931         UIDropOperationForbidden by replacing _shouldPerformOperation with a UIDropProposal, and (3) teach the
932         MockDragSession to hold on to a localContext.
933
934 2018-01-11  Ali Juma  <ajuma@chromium.org>
935
936         Unreviewed. Add Ali Juma as contributor
937
938         * Scripts/webkitpy/common/config/contributors.json:
939
940 2018-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
941
942         Unreviewed. Update Selenium WebDriver imported tests.
943
944         New version of selenium uses command line options to pass driver and browser binaries to pytest instead of
945         environment variables.
946
947         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
948         (collect): Reorder the arguments to make pytest happy.
949         (run): Ditto.
950         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
951         (WebDriverSeleniumExecutor.__init__): Add driver binary, browser binary and browser args as arguments.
952
953 2018-01-11  Ling Ho  <lingcherd_ho@apple.com>
954
955         Move Commit Queue and EWS Queues to Sierra on Bot Watcher's Dasboard
956         https://bugs.webkit.org/show_bug.cgi?id=181492
957         <rdar://problem/36359679>
958
959         Reviewed by Alexey Proskuryakov. 
960
961 2018-01-10  Adrian Perez de Castro  <aperez@igalia.com>
962
963         [GTK] Tools/gtk/install-dependencies: Packages geoclue, ruby-highline, xorg-utils do not exist in Arch Linux
964         https://bugs.webkit.org/show_bug.cgi?id=181475
965
966         Reviewed by Michael Catanzaro.
967
968         * gtk/install-dependencies: Update package list for Arch Linux, extend
969         message shown at end of installation with additional tips.
970
971 2018-01-10  Wenson Hsieh  <wenson_hsieh@apple.com>
972
973         REGRESSION(r222507): Composition highlight doesn't render when using IME
974         https://bugs.webkit.org/show_bug.cgi?id=181485
975         <rdar://problem/35896516>
976
977         Reviewed by Ryosuke Niwa.
978
979         Add a `suppressUnderline` argument to TextInputController.setMarkedText. This suppresses the custom underlines
980         rendered when testing IME on iOS in WebKit2. In this new test, suppressing underline rendering is needed to
981         allow rendering composition backgrounds (see InlineTextBox::paint).
982
983         * DumpRenderTree/ios/TextInputControllerIOS.m:
984         (+[TextInputController isSelectorExcludedFromWebScript:]):
985         (+[TextInputController webScriptNameForSelector:]):
986         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
987         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
988         * DumpRenderTree/mac/TextInputControllerMac.m:
989         (+[TextInputController isSelectorExcludedFromWebScript:]):
990         (+[TextInputController webScriptNameForSelector:]):
991         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
992         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
993         * WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
994         * WebKitTestRunner/InjectedBundle/TextInputController.cpp:
995         (WTR::TextInputController::setMarkedText):
996         * WebKitTestRunner/InjectedBundle/TextInputController.h:
997
998 2018-01-10  JF Bastien  <jfbastien@apple.com>
999
1000         Poison small JSObject derivatives which only contain pointers
1001         https://bugs.webkit.org/show_bug.cgi?id=181483
1002         <rdar://problem/36407127>
1003
1004         Reviewed by Mark Lam.
1005
1006         Test the new move-assign and move-copy from unique_ptr, as well as
1007         nullptr_t ctors.
1008
1009         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
1010         (TestWebKitAPI::TEST):
1011         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
1012         (TestWebKitAPI::TEST):
1013         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
1014         (TestWebKitAPI::TEST):
1015
1016 2018-01-10  Chris Dumez  <cdumez@apple.com>
1017
1018         Multiple http/wpt/beacon/contentextensions/ test are flaky.
1019         https://bugs.webkit.org/show_bug.cgi?id=179256
1020         <rdar://problem/35401978>
1021
1022         Reviewed by Alex Christensen.
1023
1024         Update WebKitTestRunner to set a temporary path for content extensions so that its WKTR
1025         instance gets its own folder to avoid conflicts and flakiness.
1026
1027         * WebKitTestRunner/mac/TestControllerMac.mm:
1028         (WTR::TestController::platformConfigureViewForTest):
1029
1030 2018-01-10  Tim Horton  <timothy_horton@apple.com>
1031
1032         REGRESSION (r213590): Swipe from edge to go to previous page is significantly slower than tapping back button on Twitter
1033         https://bugs.webkit.org/show_bug.cgi?id=181269
1034         <rdar://problem/35110344>
1035
1036         Reviewed by Simon Fraser.
1037
1038         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1039         (WTR::UIScriptController::beginBackSwipe):
1040         (WTR::UIScriptController::completeBackSwipe):
1041         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1042         (WTR::UIScriptController::beginBackSwipe):
1043         (WTR::UIScriptController::completeBackSwipe):
1044         (WTR::UIScriptController::overridePreference):
1045         (WTR::UIScriptController::replaceTextAtRange):
1046         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
1047         (WTR::PlatformWebView::setNavigationGesturesEnabled):
1048         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1049         (WTR::UIScriptController::beginBackSwipe):
1050         (WTR::UIScriptController::completeBackSwipe):
1051         Implement beginBackSwipe and completeBackSwipe on iOS (they already
1052         exist on Mac) in terms of the new WKWebView testing SPI.
1053
1054 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
1055
1056         REGRESSION (r226715): ignore WARNING output in linter tests
1057         https://bugs.webkit.org/show_bug.cgi?id=181486
1058         <rdar://problem/36408847>
1059
1060         Reviewed by Aakash Jain.
1061
1062         Linter unit tests should not be interested in logs at the the INFO or WARNING levels.
1063
1064         * Scripts/webkitpy/common/system/outputcapture.py:
1065         (OutputCapture.__init__): Pass logging level to be captured.
1066         * Scripts/webkitpy/style/main_unittest.py:
1067         (ExpectationLinterInStyleCheckerTest.test_no_linter_errors): Capture logging at the ERROR level.
1068         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line): Ditto.
1069         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_no_edit): Ditto.
1070         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_edit_in_file): Ditto.
1071         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_only_deletes): Ditto.
1072         (ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Ditto.
1073         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file): Ditto.
1074         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file_no_edit): Ditto.
1075
1076 2018-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1077
1078         Add a JSCOnly MIPS buildbot
1079         https://bugs.webkit.org/show_bug.cgi?id=181487
1080
1081         Reviewed by Michael Catanzaro.
1082
1083         Add the new bot configs definitions for the master and update the unit tests.
1084
1085         * BuildSlaveSupport/build.webkit.org-config/config.json:
1086         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1087
1088 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
1089
1090         REGRESSION (r226715): don't re-check number of simulators in child processes
1091         https://bugs.webkit.org/show_bug.cgi?id=181484
1092         <rdar://problem/36407151>
1093
1094         Reviewed by Aakash Jain.
1095
1096         * Scripts/webkitpy/port/ios_simulator.py:
1097         (IOSSimulatorPort.__init__): Skip the number of simulators check if simulators
1098         are already initialized.
1099
1100 2018-01-10  Commit Queue  <commit-queue@webkit.org>
1101
1102         Unreviewed, rolling out r226667 and r226673.
1103         https://bugs.webkit.org/show_bug.cgi?id=181488
1104
1105         This caused a flaky crash. (Requested by mlewis13 on #webkit).
1106
1107         Reverted changesets:
1108
1109         "CodeBlocks should be in IsoSubspaces"
1110         https://bugs.webkit.org/show_bug.cgi?id=180884
1111         https://trac.webkit.org/changeset/226667
1112
1113         "REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
1114         https://bugs.webkit.org/show_bug.cgi?id=180884
1115         https://trac.webkit.org/changeset/226673
1116
1117 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
1118
1119         Follow-up fix to r226715
1120         https://bugs.webkit.org/show_bug.cgi?id=180555
1121         <rdar://problem/36131381>
1122
1123         Unreviewed infrastructure fix.
1124
1125         * Scripts/webkitpy/xcode/new_simulated_device.py:
1126         (SimulatedDeviceManager._create_or_find_device_for_request): Use _delete instead
1127         of delete.
1128
1129 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
1130
1131         webkitpy: Refactor simulator code (Part 2)
1132         https://bugs.webkit.org/show_bug.cgi?id=180555
1133         <rdar://problem/36131381>
1134
1135         Reviewed by Aakash Jain.
1136
1137         The patch leverages the SimulatedDeviceManager when running layout tests.
1138         This patch is primarily code removal, since much of the IOSSimulatorPort
1139         was dedicated to managing simulators. The removed code is either now owned by the
1140         SimulatedDeviceManager (and committed in Part 1) or supported a technique to
1141         boot multiple simulators which was made obsolete in Xcode 9.
1142
1143         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1144         (Manager._custom_device_for_test.in): Device names now have spaces in them,
1145         strip those spaces.
1146         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1147         (parse_args): Remove '--runtime' flag, this is achieved with the --version flag.
1148         * Scripts/webkitpy/port/ios.py:
1149         (IOSPort.__init__): The _current_device idiom is no longer required since the
1150         SimulatedDeviceManager keeps track of any previously booted devices.
1151         (IOSPort.target_host): Even when only a single device is used, it will be accessed
1152         through the array of managed devices.
1153         (IOSPort.using_multiple_devices): Deleted.
1154         * Scripts/webkitpy/port/ios_device.py:
1155         (IOSDevicePort.using_multiple_devices): Deleted.
1156         * Scripts/webkitpy/port/ios_simulator.py:
1157         (IOSSimulatorPort): Remove constants required to manage simulators, change device
1158         class strings so they can be parsed by the DeviceType class.
1159         (IOSSimulatorPort.__init__): Determine the number of processes to use by checking
1160         the number of simulators currently booted, the number of child processes specified
1161         and the maximum number of simulators supported by this system.
1162         (IOSSimulatorPort._device_for_worker_number_map):Return the array of initialized
1163         devices owned by the SimulatedDeviceManager.
1164         (IOSSimulatorPort.ios_version): Remove support for the --runtime option.
1165         (IOSSimulatorPort.default_child_processes): Use the SimulatedDeviceManager to check
1166         the maximum number of supported simulators on this system.
1167         (IOSSimulatorPort._create_devices): Construct a list of device requests with a
1168         request for each child process and send this list to the SimulatedDeviceManager to
1169         initialize the devices.
1170         (IOSSimulatorPort.clean_up_test_run):
1171         (IOSSimulatorPort.check_sys_deps): Check that there are simulators running the
1172         specified version of iOS.
1173         (IOSSimulatorPort.reset_preferences):
1174         (IOSSimulatorPort.simulator_runtime): Deleted.
1175         (IOSSimulatorPort.simulator_device_type): Deleted.
1176         (IOSSimulatorPort._teardown_managed_simulators): Deleted.
1177         (IOSSimulatorPort.use_multiple_simulator_apps): Deleted.
1178         (IOSSimulatorPort._create_simulators): Deleted.
1179         (IOSSimulatorPort._quit_ios_simulator): Deleted.
1180         (IOSSimulatorPort._using_dedicated_simulators): Deleted.
1181         (IOSSimulatorPort.using_multiple_devices): Deleted.
1182         (IOSSimulatorPort._create_device): Deleted.
1183         (IOSSimulatorPort.get_simulator_path): Deleted.
1184         (IOSSimulatorPort._createSimulatorApps): Deleted.
1185         (IOSSimulatorPort._createSimulatorApp): Deleted.
1186         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
1187         (TestRebaseline.test_rebaseline): Filter out commands run when determining the
1188         maximum number of simulators run on this system.
1189         (TestRebaselineExpectations.test_rebaseline_expectations): Ditto.
1190         * Scripts/webkitpy/xcode/new_simulated_device.py:
1191         (SimulatedDeviceManager._does_fulfill_request): Fixed log statement.
1192
1193 2018-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1194
1195         WebDriver: run-webdriver-tests doesn't handle test names with a '/' correctly
1196         https://bugs.webkit.org/show_bug.cgi?id=181474
1197
1198         Reviewed by Carlos Alberto Lopez Perez.
1199
1200         We use os.path.basename() to get the subtest name. If the test name contains a slash we get part of the subtest
1201         name as the name.
1202
1203         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
1204         (WebDriverTestRunnerW3C._subtest_name): Helper function to get the subtest name.
1205         (WebDriverTestRunnerW3C.run): Use _subtest_name() instead of os.path.basename().
1206
1207 2018-01-09  Andy Estes  <aestes@apple.com>
1208
1209         [Xcode] Use the Apple Internal SDK if available when building ImageDiff
1210         https://bugs.webkit.org/show_bug.cgi?id=181459
1211
1212         Reviewed by Dan Bernstein.
1213
1214         * ImageDiff/cg/Configurations/Base.xcconfig:
1215
1216 2018-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
1217
1218         font-display:fallback can cause a visual flash (which is supposed to be impossible)
1219         https://bugs.webkit.org/show_bug.cgi?id=181374
1220
1221         Reviewed by Simon Fraser.
1222
1223         The test requires Palatino.
1224
1225         * DumpRenderTree/mac/DumpRenderTree.mm:
1226         (allowedFontFamilySet):
1227         * WebKitTestRunner/mac/TestControllerMac.mm:
1228         (WTR::allowedFontFamilySet):
1229
1230 2018-01-09  Saam Barati  <sbarati@apple.com>
1231
1232         Give some slack in display-profiler-outputs computation of the terminal window's number of columns
1233         https://bugs.webkit.org/show_bug.cgi?id=181449
1234
1235         Reviewed by JF Bastien.
1236
1237         This allows me to Cmd+f in my terminal to search for things without
1238         having the results become misaligned.
1239
1240         * Scripts/display-profiler-output:
1241
1242 2018-01-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1243
1244         [webkitpy] PlatformInfo should have default argument for casual use
1245         https://bugs.webkit.org/show_bug.cgi?id=180827
1246
1247         Reviewed by David Kilzer.
1248
1249         PlatformInfo should be the only way to check platform specific thing instead
1250         of sys.platform or other various checks. If there is something you want to check,
1251         it should be placed in PlatformInfo.
1252
1253         Currently to instantiate PlatformInfo, it requires arguments, which is usually
1254         sys, platform and Executive(). They are straight forward and should be handled
1255         by default arguments. Then we can instantiate PlatformInfo more casual.
1256
1257         * Scripts/webkitpy/common/system/platforminfo.py:
1258         (PlatformInfo): Use relative module path import
1259         (PlatformInfo.__init__):
1260         (PlatformInfo.executive): Lazy instantiation of Executive()
1261         (PlatformInfo.total_bytes_memory): Accessing via above property
1262         (PlatformInfo.xcode_sdk_version): Ditto
1263         (PlatformInfo.xcode_simctl_list): Ditto
1264         (PlatformInfo.xcode_version): Ditto
1265         (PlatformInfo._win_version_str): Ditto
1266         * Scripts/webkitpy/common/system/systemhost.py:
1267         (SystemHost.__init__):
1268         * Scripts/webkitpy/common/system/user.py:
1269         (User.__init__):
1270
1271 2018-01-09  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
1272
1273         [Win] Remove workaround for Bug 176442 after stopping MSVC 2015 support
1274         https://bugs.webkit.org/show_bug.cgi?id=176443
1275
1276         Reviewed by Darin Adler.
1277
1278         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
1279         (TEST):
1280
1281 2018-01-09  Frederic Wang  <fwang@igalia.com.fr>
1282
1283         check-webkit-style: Verify syntax for WK_API_AVAILABLE
1284         https://bugs.webkit.org/show_bug.cgi?id=181394
1285
1286         Reviewed by Darin Adler.
1287
1288         A common syntax error for WK_API_AVAILABLE is to write ios(WK_MAC_TBA)
1289         as the second parameter instead of ios(WK_IOS_TBA). This generally
1290         builds for iOS on EWS but not when using the public SDK. See r224057,
1291         r223207 and r226211 for example. This patch adds a basic style check
1292         for that macro to prevent this kind of mistake.
1293
1294         * Scripts/webkitpy/style/checkers/cpp.py:
1295         (check_min_versions_of_wk_api_available): New function to verify the parameters of WX_API_AVAILABLE.
1296         (check_style): Run new style check.
1297         (CppChecker): Add build type for the new style check.
1298         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1299         (WebKitStyleTest.test_min_versions_of_wk_api_available): Add tests for the new style check.
1300
1301 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1302
1303         [Attachment Support] Expose HTMLAttachmentElement.uniqueIdentifier to bindings
1304         https://bugs.webkit.org/show_bug.cgi?id=181420
1305         <rdar://problem/36365827>
1306
1307         Reviewed by Alex Christensen.
1308
1309         Adjusts some existing API tests to verify that attachment elements' uniqueIdentifiers match the uniqueIdentifier
1310         of corresponding _WKAttachments.
1311
1312         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1313         (TestWebKitAPI::TEST):
1314
1315 2018-01-08  Alex Christensen  <achristensen@webkit.org>
1316
1317         Add WKNavigationDelegate SPI exposing WebProcess crash reason
1318         https://bugs.webkit.org/show_bug.cgi?id=181410
1319         <rdar://problem/36167199>
1320
1321         Reviewed by Wenson Hsieh.
1322
1323         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
1324         (-[CrashReasonDelegate _webView:webContentProcessDidTerminateWithReason:]):
1325         (TEST):
1326
1327 2018-01-08  Alex Christensen  <achristensen@webkit.org>
1328
1329         Add SPI for WKOpenPanelParameters._acceptedMIMETypes and _acceptedFileExtensions
1330         https://bugs.webkit.org/show_bug.cgi?id=181408
1331         <rdar://problem/35884960>
1332
1333         Reviewed by Tim Horton.
1334
1335         * TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
1336         (-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
1337
1338 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1339
1340         [Attachment Support] Expose file name and content type of WKAttachment
1341         https://bugs.webkit.org/show_bug.cgi?id=181390
1342         <rdar://problem/36336837>
1343
1344         Reviewed by Tim Horton.
1345
1346         Adjusts some existing tests in WKAttachmentTests to exercise -requestInfo:.
1347
1348         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1349         (-[_WKAttachment synchronouslyRequestInfo:]):
1350         (-[_WKAttachment synchronouslyRequestData:]):
1351
1352         Reimplement this in terms of -synchronouslyRequestInfo:.
1353
1354         (-[_WKAttachment expectRequestedDataToBe:]):
1355         (TestWebKitAPI::TEST):
1356
1357 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1358
1359         Copying, pasting, and then deleting an attachment element breaks attachment data requests
1360         https://bugs.webkit.org/show_bug.cgi?id=181365
1361         <rdar://problem/36340647>
1362
1363         Reviewed by Tim Horton.
1364
1365         Adds two new attachment API tests to verify that copying and pasting an existing attachment inserts an
1366         attachment element that may be edited independently of the original attachment. See WebCore/ChangeLog for more
1367         detail.
1368
1369         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1370         (TestWebKitAPI::TEST):
1371
1372 2018-01-08  Youenn Fablet  <youenn@apple.com>
1373
1374         navigator.onLine does not work inside service workers
1375         https://bugs.webkit.org/show_bug.cgi?id=181079
1376         <rdar://problem/36178606>
1377
1378         Reviewed by Darin Adler.
1379
1380         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1381         (WTR::InjectedBundle::initialize): Setting service worker creation callback to inject ServiceWorkerInternals object.
1382
1383 2018-01-07  Saam Barati  <sbarati@apple.com>
1384
1385         Add total exits and total compilations sorting mode to the "full" command in display-profiler-output
1386         https://bugs.webkit.org/show_bug.cgi?id=181372
1387
1388         Reviewed by Filip Pizlo.
1389
1390         Adding these sorting modes makes it easier to analyze functions
1391         that recompile a lot and exit a lot.
1392
1393         * Scripts/display-profiler-output:
1394
1395 2018-01-06  Julien Brianceau  <julien.brianceau@gmail.com>
1396
1397         Unreviewed, remove my Cisco email from contributors.json
1398
1399         * Scripts/webkitpy/common/config/contributors.json:
1400
1401 2018-01-05  JF Bastien  <jfbastien@apple.com>
1402
1403         WebAssembly: poison JS object's secrets
1404         https://bugs.webkit.org/show_bug.cgi?id=181339
1405         <rdar://problem/36325001>
1406
1407         Reviewed by Mark Lam.
1408
1409         Update tests for swap(Poisoned<k, T>, T*)
1410
1411         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
1412         (TestWebKitAPI::TEST):
1413         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
1414         (TestWebKitAPI::TEST):
1415         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
1416         (TestWebKitAPI::TEST):
1417
1418 2018-01-05  Wenson Hsieh  <wenson_hsieh@apple.com>
1419
1420         REGRESSION(r226396) DataInteractionTests: ContentEditableToContentEditable and ContentEditableToTextarea are failing
1421         https://bugs.webkit.org/show_bug.cgi?id=181359
1422
1423         Reviewed by Tim Horton.
1424
1425         Ensure that these tests still pass using older SDKs.
1426
1427         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1428         (TestWebKitAPI::TEST):
1429
1430 2018-01-05  Alex Christensen  <achristensen@webkit.org>
1431
1432         Rebase API test after r226469
1433         https://bugs.webkit.org/show_bug.cgi?id=181308
1434
1435         * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
1436         (-[LoadInvalidURLNavigationActionDelegate webView:didFailProvisionalNavigation:withError:]):
1437         A URL with < or > in it is now recognized as invalid by WebKit.  This is intentional, and matches our behavior before enabling the new URLParser.
1438
1439 2018-01-05  Alex Christensen  <achristensen@webkit.org>
1440
1441         Restrict navigation-time WKWebsiteDataStore swapping to main frame navigations
1442         https://bugs.webkit.org/show_bug.cgi?id=181217
1443
1444         Reviewed by Tim Horton.
1445
1446         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1447         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1448         (TEST):
1449
1450 2018-01-05  Alex Christensen  <achristensen@webkit.org>
1451
1452         Add WKBundleFrameCreateFrameHandle
1453         https://bugs.webkit.org/show_bug.cgi?id=181232
1454         <rdar://problem/35926696>
1455
1456         Reviewed by Tim Horton.
1457
1458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1459         * TestWebKitAPI/Tests/WebKitCocoa/FrameHandleSerialization.mm: Added.
1460         (mouseDidMoveOverElement):
1461         (-[FrameHandleSerialization webProcessPlugIn:didCreateBrowserContextController:]):
1462         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1463         (-[MouseMoveOverElementDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
1464         (TEST):
1465
1466 2018-01-05  Chris Fleizach  <cfleizach@apple.com>
1467
1468         iOS: Build fix after r226432.
1469         
1470         Unreviewed. Stop duplicating speakAs symbols for iOS.
1471
1472         * DumpRenderTree/AccessibilityUIElement.cpp:
1473         (AccessibilityUIElement::speakAs):
1474
1475 2018-01-05  Javier Fernandez  <jfernandez@igalia.com>
1476
1477         Unreviewed, added myself as WebKit reviewer
1478
1479         * Scripts/webkitpy/common/config/contributors.json:
1480
1481 2018-01-05  Claudio Saavedra  <csaavedra@igalia.com>
1482
1483         WPE: Build fix after r226432.
1484
1485         Unreviewed. Rename ::speak() to ::speakAs().
1486         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
1487         (WTR::AccessibilityUIElement::speakAs):
1488         (WTR::AccessibilityUIElement::speak): Deleted.
1489
1490 2018-01-04  Chris Fleizach  <cfleizach@apple.com>
1491
1492         AX: Implement updated CSS3 Speech for 'speak' and 'speak-as' properties
1493         https://bugs.webkit.org/show_bug.cgi?id=180361
1494
1495         Reviewed by Zalan Bujtas.
1496
1497         * DumpRenderTree/AccessibilityUIElement.cpp:
1498         (speakAsCallback):
1499         (AccessibilityUIElement::speakAs):
1500         (AccessibilityUIElement::getJSClass):
1501         (speakCallback): Deleted.
1502         (AccessibilityUIElement::speak): Deleted.
1503         * DumpRenderTree/AccessibilityUIElement.h:
1504         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
1505         (AccessibilityUIElement::speakAs):
1506         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
1507         (AccessibilityUIElement::speakAs):
1508         (AccessibilityUIElement::speak): Deleted.
1509         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
1510         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
1511         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
1512         (WTR::AccessibilityUIElement::speakAs):
1513         (WTR::AccessibilityUIElement::speak): Deleted.
1514         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1515         (WTR::AccessibilityUIElement::speakAs):
1516         (WTR::AccessibilityUIElement::speak): Deleted.
1517
1518 2018-01-04  Jonathan Bedard  <jbedard@apple.com>
1519
1520         REGRESSION (r226395): test-webkitperl test expectations incorrect
1521         https://bugs.webkit.org/show_bug.cgi?id=181307
1522         <rdar://problem/36306558>
1523
1524         Rubber-stamped by Aakash Jain.
1525
1526         r226395 added two lines towards the beginning of
1527         Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl, the line
1528         numbers in the test expectations need to update.
1529
1530         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests-expected.txt:
1531
1532 2018-01-04  Tim Horton  <timothy_horton@apple.com>
1533
1534         WKWebView loses minimum layout size overrides that happen while the process is terminated
1535         https://bugs.webkit.org/show_bug.cgi?id=181306
1536         <rdar://problem/34398288>
1537
1538         Reviewed by Dan Bernstein.
1539
1540         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
1541         (TEST):
1542         Add a test that calling _overrideLayoutParametersWithMinimumLayoutSize
1543         while the process is terminated results in the page getting the correct
1544         minimum layout size.
1545
1546 2018-01-04  Eric Carlson  <eric.carlson@apple.com>
1547
1548         [MediaStream] Add Mock screen capture source
1549         https://bugs.webkit.org/show_bug.cgi?id=181291
1550         <rdar://problem/36298164>
1551
1552         Reviewed by Dean Jackson.
1553
1554         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test.
1555         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
1556         * TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
1557
1558 2018-01-04  Lucas Forschler  <lforschler@apple.com>
1559
1560         <rdar://problem/36300930> Change proxy server setting on master config to reach s3 servers
1561
1562         Reviewed by Ling Ho.
1563
1564         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1565
1566 2018-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>
1567
1568         [Attachment Support] Create attachment elements when dropping files on iOS
1569         https://bugs.webkit.org/show_bug.cgi?id=181192
1570         <rdar://problem/36280945>
1571
1572         Reviewed by Tim Horton.
1573
1574         Adds 3 new API tests to exercise different use cases of dropping content as attachment elements when the runtime
1575         switch is enabled. See below for more details.
1576
1577         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1578         (-[NSItemProvider registerData:type:]):
1579         (platformCopyPNG):
1580         (TestWebKitAPI::TEST):
1581         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1582
1583         Fix some currently failing iOS drag and drop tests. In this case, there's no reason RTFD should appear in the
1584         source item provider when dragging rich text *without* attachments, so this should have been a check for just
1585         kUTTypeRTF instead.
1586
1587         (TestWebKitAPI::TEST):
1588
1589         Tests a few cases of inserting attachment elements via drop:
1590         1.  We should distinguish between drops containing rich/plain text files from just dropping rich/plain text.
1591             Instead of inserting the contents as inline web content, this should generate attachment elements.
1592         2.  Test the fallback mechanism for inserting attachment elements. If the preferred presentation style is not
1593             explicitly set, but there's nothing WebKit would otherwise do with the dropped content, then we should fall
1594             back to inserting the content as an attachment.
1595         3.  Test that if multiple attachments and inline item providers are present, WebKit will respect the order in
1596             which they were inserted by the source (as opposed to, for instance, putting all of the attachments in front
1597             or at the end).
1598
1599         * TestWebKitAPI/cocoa/TestWKWebView.h:
1600         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1601         (-[TestWKWebView objectByEvaluatingJavaScript:]):
1602
1603         Add a helper method to return an object that represents the result of evaluating some given script, and rewrite
1604         -stringByEvaluatingJavaScript to just turn around and call this.
1605
1606         (-[TestWKWebView stringByEvaluatingJavaScript:]):
1607
1608 2018-01-03  Ting-Wei Lan  <lantw44@gmail.com>
1609
1610         Replace hard-coded paths in shebangs with #!/usr/bin/env
1611         https://bugs.webkit.org/show_bug.cgi?id=181040
1612
1613         Reviewed by Alex Christensen.
1614
1615         * BuildSlaveSupport/build-launcher-app:
1616         * BuildSlaveSupport/build-launcher-dmg:
1617         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1618         * BuildSlaveSupport/built-product-archive:
1619         * BuildSlaveSupport/clean-build:
1620         * BuildSlaveSupport/delete-stale-build-files:
1621         * BuildSlaveSupport/download-built-product:
1622         * BuildSlaveSupport/gtk/buildbot/log/run:
1623         * BuildSlaveSupport/gtk/buildbot/run:
1624         * BuildSlaveSupport/gtk/pulseaudio/run:
1625         * BuildSlaveSupport/kill-old-processes:
1626         * BuildSlaveSupport/test-result-archive:
1627         * BuildSlaveSupport/win/kill-old-processes:
1628         * Scripts/SpacingHeuristics.pm:
1629         * Scripts/add-include:
1630         * Scripts/build-api-tests:
1631         * Scripts/build-dumprendertree:
1632         * Scripts/build-imagediff:
1633         * Scripts/build-jsc:
1634         * Scripts/build-webkit:
1635         * Scripts/build-webkittestrunner:
1636         * Scripts/check-Xcode-source-file-types:
1637         * Scripts/check-dom-results:
1638         * Scripts/check-for-exit-time-destructors:
1639         * Scripts/check-for-global-initializers:
1640         * Scripts/check-for-inappropriate-objc-class-names:
1641         * Scripts/check-for-weak-vtables-and-externals:
1642         * Scripts/clean-header-guards:
1643         * Scripts/compare-timing-files:
1644         * Scripts/configure-xcode-for-ios-development:
1645         * Scripts/copy-webkitlibraries-to-product-directory:
1646         * Scripts/create-exports:
1647         * Scripts/debug-minibrowser:
1648         * Scripts/debug-safari:
1649         * Scripts/debug-test-runner:
1650         * Scripts/do-file-rename:
1651         * Scripts/do-webcore-rename:
1652         * Scripts/dump-webkit-tests-run:
1653         * Scripts/ensure-valid-python:
1654         * Scripts/execAppWithEnv:
1655         * Scripts/extract-localizable-js-strings:
1656         * Scripts/filter-build-webkit:
1657         * Scripts/find-extra-includes:
1658         * Scripts/fix-blink-patch:
1659         * Scripts/generate-coverage-data:
1660         * Scripts/git-add-reviewer:
1661         * Scripts/jsc-stress-test-helpers/js-exception-fuzz:
1662         * Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz:
1663         * Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz:
1664         * Scripts/make-new-script-test:
1665         * Scripts/make-script-test-wrappers:
1666         * Scripts/package-root:
1667         * Scripts/parse-malloc-history:
1668         * Scripts/report-include-statistics:
1669         * Scripts/resolve-ChangeLogs:
1670         * Scripts/run-api-tests:
1671         * Scripts/run-bindings-tests:
1672         * Scripts/run-content-extension-tester:
1673         * Scripts/run-iexploder-tests:
1674         * Scripts/run-javascriptcore-tests:
1675         * Scripts/run-jsc:
1676         * Scripts/run-leaks:
1677         * Scripts/run-mangleme-tests:
1678         * Scripts/run-minibrowser:
1679         * Scripts/run-pageloadtest:
1680         * Scripts/run-regexp-tests:
1681         * Scripts/run-safari:
1682         * Scripts/run-sunspider:
1683         * Scripts/run-test-runner:
1684         * Scripts/run-webkit-app:
1685         * Scripts/run-webkit-httpd:
1686         * Scripts/run-webkit-websocketserver:
1687         * Scripts/set-webkit-configuration:
1688         * Scripts/show-pretty-diff:
1689         * Scripts/sort-Xcode-project-file:
1690         * Scripts/split-file-by-class:
1691         * Scripts/sunspider-compare-results:
1692         * Scripts/svn-apply:
1693         * Scripts/svn-unapply:
1694         * Scripts/test-webkit-scripts:
1695         * Scripts/test-webkitperl:
1696         * Scripts/update-iexploder-cssproperties:
1697         * Scripts/update-javascriptcore-test-results:
1698         * Scripts/update-webkit:
1699         * Scripts/update-webkit-auxiliary-libs:
1700         * Scripts/update-webkit-dependency:
1701         * Scripts/update-webkit-libs-jhbuild:
1702         * Scripts/update-webkit-localizable-strings:
1703         * Scripts/update-webkit-support-libs:
1704         * Scripts/update-webkitgtk-libs:
1705         * Scripts/update-webkitwpe-libs:
1706         * Scripts/webkit-build-directory:
1707         * Scripts/webkitperl/LoadAsModule.pm:
1708         * Scripts/webkitperl/VCSUtils_unittest/decodeGitBinaryPatch.pl:
1709         * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl:
1710         * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl:
1711         * Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:
1712         * Scripts/webkitperl/VCSUtils_unittest/generatePatchCommand.pl:
1713         * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl:
1714         * Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl:
1715         * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
1716         * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
1717         * Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl:
1718         * Scripts/webkitperl/VCSUtils_unittest/parseFirstEOL.pl:
1719         * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
1720         * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl:
1721         * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl:
1722         * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
1723         * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl:
1724         * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
1725         * Scripts/webkitperl/VCSUtils_unittest/parseUnifiedDiffHeader.pl:
1726         * Scripts/webkitperl/VCSUtils_unittest/prepareParsedPatch.pl:
1727         * Scripts/webkitperl/VCSUtils_unittest/removeEOL.pl:
1728         * Scripts/webkitperl/VCSUtils_unittest/runCommand.pl:
1729         * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl:
1730         * Scripts/webkitperl/VCSUtils_unittest/setChangeLogDateAndReviewer.pl:
1731         * Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl:
1732         * Scripts/webkitperl/auto-version_unittest/versionStampTests.pl:
1733         * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
1734         * Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl:
1735         * Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl:
1736         * Scripts/webkitperl/prepare-ChangeLog_unittest/generateFunctionLists.pl:
1737         * Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:
1738         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl:
1739         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl:
1740         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl:
1741         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl:
1742         * Scripts/webkitperl/webkitdirs_unittest/appendToEnvironmentVariableList.pl:
1743         * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRef.pl:
1744         * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl:
1745         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl:
1746         * Scripts/webkitperl/webkitdirs_unittest/prependToEnvironmentVariableList.pl:
1747         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1748         * ccache/ccache-clang:
1749         * ccache/ccache-clang++:
1750         * ccache/ccache-wrapper:
1751         * gtk/install-dependencies:
1752         * iExploder/iexploder-1.3.2/htdocs/iexploder.cgi:
1753         * iExploder/iexploder-1.3.2/htdocs/webserver.rb:
1754         * iExploder/iexploder-1.3.2/tools/lasthit.rb:
1755         * iExploder/iexploder-1.3.2/tools/osx_last_crash.rb:
1756         * iExploder/iexploder-1.3.2/tools/showtest.rb:
1757         * iExploder/iexploder-1.7.2/src/browser_harness.rb:
1758         * iExploder/iexploder-1.7.2/src/iexploder.cgi:
1759         * iExploder/iexploder-1.7.2/src/webserver.rb:
1760         * iExploder/iexploder-1.7.2/tools/lasthit.rb:
1761         * iExploder/iexploder-1.7.2/tools/osx_last_crash.rb:
1762         * wpe/install-dependencies:
1763
1764 2018-01-03  Simon Fraser  <simon.fraser@apple.com>
1765
1766         filter-build-webkit filters out useful compiler error lines
1767         https://bugs.webkit.org/show_bug.cgi?id=179864
1768
1769         Reviewed by Tim Horton.
1770
1771         Don't filter out lines that contain information about build errors by always showing lines
1772         after a line that contains "note:" or "error:".
1773
1774         * Scripts/filter-build-webkit:
1775         (shouldShowSubsequentLine):
1776         (shouldIgnoreLine):
1777
1778 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1779
1780         REGRESSION(r226366): [GTK] Broke TestBackForwardList and TestWebKitWebView
1781         https://bugs.webkit.org/show_bug.cgi?id=173915
1782
1783         Unreviewed follow-up. Fix /webkit2/WebKitWebView/session-state-with-form-data and
1784         /webkit2/WebKitWebView/submit-form. The form ID may be NULL, but we can't put NULL into a
1785         GVariant unless we use maybe types, and maybe types are incompatible with D-Bus. So use an
1786         empty string in this case.
1787
1788         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1789         (emitFormSubmissionEvent):
1790
1791 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1792
1793         [GTK] Add web process API to detect when form is submitted via JavaScript
1794         https://bugs.webkit.org/show_bug.cgi?id=173915
1795
1796         Reviewed by Carlos Garcia Campos.
1797
1798         Test it.
1799
1800         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
1801         (FormSubmissionTest::FormSubmissionTest):
1802         (FormSubmissionTest::~FormSubmissionTest):
1803         (FormSubmissionTest::testFormSubmissionResult):
1804         (FormSubmissionTest::willSendDOMEventCallback):
1805         (FormSubmissionTest::willCompleteCallback):
1806         (FormSubmissionTest::runJavaScriptAndWaitUntilFormSubmitted):
1807         (testWebExtensionFormSubmissionSteps):
1808         (beforeAll):
1809         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1810         (DelayedSignal::DelayedSignal):
1811         (emitFormSubmissionEvent):
1812         (handleFormSubmissionCallback):
1813         (willSubmitFormCallback):
1814         (pageCreatedCallback):
1815
1816 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1817
1818         Unreviewed, skip broken API test /webkit2/WebKitWebsiteData/databases
1819         https://bugs.webkit.org/show_bug.cgi?id=181251
1820
1821         * Scripts/run-gtk-tests:
1822         (GtkTestRunner):
1823
1824 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1825
1826         Unreviewed, skip broken API test /webkit2/WebKitWebsiteData/ephemeral
1827         https://bugs.webkit.org/show_bug.cgi?id=181136
1828
1829         * Scripts/run-gtk-tests:
1830         (GtkTestRunner):
1831
1832 2018-01-02  Brent Fulgham  <bfulgham@apple.com>
1833
1834         [macOS, iOS] Adopt new secure coding APIs in WebKit
1835         https://bugs.webkit.org/show_bug.cgi?id=181085
1836         <rdar://problem/34837397>
1837
1838         Reviewed by Tim Horton.
1839
1840         Update API tests to use secure coding wherever possible. Currently, NSView/UIView-based classes are not
1841         capable of supporting NSSecureCoding, so pass through the current coding routines.
1842
1843         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Updated for NSSecureCoding.
1844         * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:
1845         (encodeAndDecode): Check if class supports the NSSecureCoding protocol and use non-secure coding
1846         routines if necessary.
1847         (TEST): Updated for NSSecureCoding.
1848         * TestWebKitAPI/Tests/mac/EarlyKVOCrash.mm:
1849         (TestWebKitAPI::TEST): Updated for NSSecureCoding.
1850
1851 2017-12-28  Yusuke Suzuki  <utatane.tea@gmail.com>
1852
1853         Remove std::chrono completely
1854         https://bugs.webkit.org/show_bug.cgi?id=181186
1855
1856         Reviewed by Alex Christensen.
1857
1858         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1859         (WTR::TestController::platformRunUntil):
1860
1861 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1862
1863         REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
1864         https://bugs.webkit.org/show_bug.cgi?id=181231
1865
1866         Reviewed by Alex Christensen.
1867
1868         Implement TestController APIs needed by ResourceLoadStatistics tests.
1869
1870         * WebKitTestRunner/TestController.cpp:
1871         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
1872         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
1873
1874 2018-01-02  Tim Horton  <timothy_horton@apple.com>
1875
1876         Disable WKAttachmentTests if UIPasteboard.itemProviders is not available
1877         https://bugs.webkit.org/show_bug.cgi?id=181219
1878
1879         Reviewed by Wenson Hsieh.
1880
1881         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1882
1883 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
1884
1885         Add a WebAuthentication runtime feature flag
1886         https://bugs.webkit.org/show_bug.cgi?id=181220
1887         <rdar://problem/36055305>
1888
1889         Reviewed by Brent Fulgham.
1890
1891         Renames the CredentialManagement runtime feature flag into WebAuthentication.
1892
1893         * DumpRenderTree/TestOptions.h:
1894         * DumpRenderTree/TestOptions.mm:
1895         (TestOptions::TestOptions):
1896         * DumpRenderTree/mac/DumpRenderTree.mm:
1897         (enableExperimentalFeatures):
1898         (setWebPreferencesForTestOptions):
1899         * WebKitTestRunner/TestController.cpp:
1900         (WTR::TestController::resetPreferencesToConsistentValues):
1901         (WTR::updateTestOptionsFromTestHeader):
1902         * WebKitTestRunner/TestOptions.h:
1903         (WTR::TestOptions::hasSameInitializationOptions const):
1904
1905 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1906
1907         [Attachment Support] Don't Blob-convert images and attachments with https:, http: or data: urls
1908         https://bugs.webkit.org/show_bug.cgi?id=181143
1909         <rdar://problem/36200381>
1910
1911         Reviewed by Tim Horton.
1912
1913         Add a new API test to ensure that a copied image with a data URL does not get pasted as an attachment when
1914         attachment elements are enabled.
1915
1916         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1917         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1918         (TestWebKitAPI::TEST):
1919
1920 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
1921
1922         Update Credential Management API for WebAuthentication
1923         https://bugs.webkit.org/show_bug.cgi?id=181082
1924         <rdar://problem/36055239>
1925
1926         Reviewed by Brent Fulgham.
1927
1928         Enable Credential Management API for testing.
1929
1930         * DumpRenderTree/TestOptions.h:
1931         * WebKitTestRunner/TestOptions.h:
1932
1933 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1934
1935         [GTK] Test /webkit2/WebKitWebExtension/form-controls-associated-signal is flaky
1936         https://bugs.webkit.org/show_bug.cgi?id=168194
1937
1938         Reviewed by Carlos Garcia Campos.
1939
1940         Fix an assertion and unskip the test. The order that form controls are associated is not
1941         guaranteed.
1942
1943         * Scripts/run-gtk-tests:
1944         (GtkTestRunner):
1945         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
1946         (didAssociateFormControlsCallback):
1947
1948 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1949
1950         Use new WebsiteDataStore passed in through decidePolicyForNavigation SPI
1951         https://bugs.webkit.org/show_bug.cgi?id=180897
1952         <rdar://problem/35535328>
1953
1954         Reviewed by Brent Fulgham.
1955
1956         Test two forms of storage to be sure we are using a different WebsiteDataStore: cookies and sessionStorage.
1957
1958         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1959         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1960         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
1961         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1962         (websiteDataStoreTestWebView):
1963         (TEST):
1964
1965 == Rolled over to ChangeLog-2018-01-01 ==