Add a class for parsing application manifests
[WebKit-https.git] / Tools / ChangeLog
index 65aadfb..e0c22c0 100644 (file)
@@ -1,3 +1,442 @@
+2017-12-04  David Quesada  <david_quesada@apple.com>
+
+        Add a class for parsing application manifests
+        https://bugs.webkit.org/show_bug.cgi?id=177973
+        rdar://problem/34747949
+
+        Reviewed by Geoffrey Garen.
+
+        Add basic unit tests for ApplicationManifestParser. For each of the implemented top-level properties,
+        attempt to parse manifests with varying types of valid and invalid data to ensure the resulting
+        ApplicationManifest is configured with the appropriate values per the spec.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add ENABLE_APPLICATION_MANIFEST feature flag.
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: Added.
+        (ApplicationManifestParserTest::SetUp):
+        (ApplicationManifestParserTest::parseString):
+        (ApplicationManifestParserTest::parseTopLevelProperty):
+        (ApplicationManifestParserTest::testStartURL):
+        (ApplicationManifestParserTest::testName):
+        (ApplicationManifestParserTest::testDescription):
+        (ApplicationManifestParserTest::testShortName):
+        (ApplicationManifestParserTest::testScope):
+        (assertManifestHasDefaultValues):
+        (TEST_F):
+
+2017-12-04  Aakash Jain  <aakash_jain@apple.com>
+
+        Add docstring in EarlyWarningSystemTask to explain return values
+        https://bugs.webkit.org/show_bug.cgi?id=180303
+
+        Reviewed by Daniel Bates.
+
+        * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
+        (EarlyWarningSystemTask.run): Added docstring to explain return values.
+        * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+        (AbstractEarlyWarningSystem.review_patch): Added comment to explain the result of unlocking a patch.
+
+2017-12-04  JF Bastien  <jfbastien@apple.com>
+
+        Update std::expected to match libc++ coding style
+        https://bugs.webkit.org/show_bug.cgi?id=180264
+
+        Reviewed by Alex Christensen.
+
+        Update tests according to name changes as well as removal of
+        now-gone APIs.
+
+        * TestWebKitAPI/Tests/WTF/Expected.cpp:
+        (std::experimental::fundamentals_v3::operator<<):
+        (TestWebKitAPI::TEST):
+        (WTF::operator<<): Deleted.
+        * TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
+        (TestWebKitAPI::testParseHTMLInteger):
+        (TestWebKitAPI::testParseHTMLNonNegativeInteger):
+
+2017-12-04  Ross Kirsling  <ross.kirsling@sony.com>
+
+        download-latest-github-release.py should use existing release ANY time latest is not found
+        https://bugs.webkit.org/show_bug.cgi?id=180293
+
+        Reviewed by Per Arne Vollan.
+
+        * Scripts/download-latest-github-release.py:
+        (find_latest_release):
+        Handle all URLErrors, not just HTTPErrors. Stop special-casing 404s.
+
+        (main):
+        Rearrange logic so any failure to detect a latest release falls back to an existing release. Improve logging.
+
+        (Status):
+        (download_release):
+        (load_version_info): Renamed from existing_version info.
+        (has_latest_release): Deleted.
+        Cleanup.
+
+2017-12-04  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Exclude some more leak callstacks
+        https://bugs.webkit.org/show_bug.cgi?id=180379
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Scripts/webkitpy/port/leakdetector.py:
+        (LeakDetector._types_to_exclude_from_leaks):
+        (LeakDetector._callstacks_to_exclude_from_leaks):
+        (LeakDetector._leaks_args):
+        (LeakDetector._types_to_exlude_from_leaks): Deleted.
+        * Scripts/webkitpy/port/leakdetector_unittest.py:
+        (LeakDetectorTest.test_leaks_args):
+
+2017-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        WTF shouldn't have both Thread and ThreadIdentifier
+        https://bugs.webkit.org/show_bug.cgi?id=180308
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (dumpRenderTree):
+        (runThread): Deleted.
+        (runPthread): Deleted.
+        (testThreadIdentifierMap): Deleted.
+        * TestWebKitAPI/CMakeLists.txt:
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
+        * TestWebKitAPI/Tests/WTF/Threading.cpp: Added.
+        (TestWebKitAPI::TEST):
+
+2017-12-03  Aakash Jain  <aakash_jain@apple.com>
+
+        webkitpy EWS keeps retrying a failing patch
+        https://bugs.webkit.org/show_bug.cgi?id=180302
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Scripts/webkitpy/tool/bot/patchanalysistask.py:
+        (PatchAnalysisTask._test_patch): Instead of returning false, call report_failure() 
+        which raises an exception, this exception is catched by earlywarningsystem.py and
+        it posts a comment on bugzilla. Returning false simply unlocks the patch and returns
+        it to the queue.
+
+2017-12-03  Darin Adler  <darin@apple.com>
+
+        Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
+        https://bugs.webkit.org/show_bug.cgi?id=180318
+
+        Reviewed by JF Bastien.
+
+        * TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
+
+        * TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
+        WTF::Hasher class.
+
+        * TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
+        Hasher.h.
+
+2017-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        WebDriver: auto-install pytest instead of importing it from wpt tools directory
+        https://bugs.webkit.org/show_bug.cgi?id=180243
+
+        Reviewed by Brian Burg.
+
+        We don't really need the (old) version included in wpt tools dir, so we can simply remove it and use autoinstall
+        instead.
+
+        * Scripts/webkitpy/thirdparty/__init__.py:
+        (AutoinstallImportHook.find_module): Check pytest.
+        (AutoinstallImportHook._install_pytest): Install pytest.
+        * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Import autoinstalled pytest.
+        * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
+        (WebDriverTestRunnerW3C.run): Update the subtest path since the new pytest uses a different strategy for
+        rootdir.
+        * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Import autoinstalled pytest.
+
+2017-12-01  Dewei Zhu  <dewei_zhu@apple.com>
+
+        Hardcoded python path is not compatible with virtual environment.
+        https://bugs.webkit.org/show_bug.cgi?id=180300
+
+        Reviewed by Stephanie Lewis.
+
+        Hardcoding '/usr/bin/python' does not work with python virtual environment.
+        Use 'python' instead.
+
+        * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
+        (SimpleHTTPServerDriver.serve):
+
+2017-12-01  Aakash Jain  <aakash_jain@apple.com>
+
+        [build.webkit.org] Move python code to load config from master.cfg in separate file
+        https://bugs.webkit.org/show_bug.cgi?id=180278
+
+        Reviewed by Daniel Bates.
+
+        * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved appropriate code to loadConfig.py
+        * BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.
+        * BuildSlaveSupport/build.webkit.org-config/steps.py: Removed extra import.
+
+2017-12-01  Brian Burg  <bburg@apple.com>
+
+        Web Inspector: move Inspector::Protocol::Array<T> to JSON namespace
+        https://bugs.webkit.org/show_bug.cgi?id=173662
+
+        Reviewed by Joseph Pecoraro.
+
+        Add duplicate test cases for JSON::ArrayOf<T> based on JSON::Array.
+
+        * TestWebKitAPI/Tests/WTF/JSONValue.cpp:
+        (TestWebKitAPI::TEST):
+
+2017-12-01  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Attachment Support] Implement SPI for clients to update a given attachment's data
+        https://bugs.webkit.org/show_bug.cgi?id=180184
+        <rdar://problem/35355731>
+
+        Reviewed by Tim Horton.
+
+        Adds two new API tests to exercise the attachment data update flow.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
+        (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
+        (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
+        (-[_WKAttachment synchronouslyRequestData:]):
+        (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
+        (TestWebKitAPI::TEST):
+
+2017-12-01  Alicia Boya García  <aboya@igalia.com>
+
+        [GTK] Add SampleMap.cpp API tests to CMake
+        https://bugs.webkit.org/show_bug.cgi?id=180252
+
+        Reviewed by Žan Doberšek.
+
+        * TestWebKitAPI/PlatformGTK.cmake:
+
+2017-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        WebDriver: add support for importing and running selenium tests
+        https://bugs.webkit.org/show_bug.cgi?id=180145
+
+        Reviewed by Brian Burg.
+
+        We currently import and run W3C tests, which are the best ones to ensure our implementation is spec
+        compliant. However, the selenium API is what user will actually use in the end, so it's important to ensure that
+        we don't break the selenium support. This patch adds webdriver_test_runner_selenium.py and
+        webdriver_selenium_executor.py to run selenium tests. The script import-w3c-webdriver-tests has been renamed as
+        import-webdriver-tests and it can now import selenium tests too.
+
+        * Scripts/import-w3c-webdriver-tests: Removed.
+        * Scripts/import-webdriver-tests: Added.
+        (Importer):
+        (Importer.__init__):
+        (Importer.download_tests):
+        (Importer.import_tests):
+        (Importer.import_tests.should_skip_file):
+        * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
+        (WebDriver.browser_path):
+        (WebDriver):
+        (WebDriver.browser_args):
+        (WebDriver.selenium_name):
+        * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
+        (WebDriverGtk.browser_path):
+        (WebDriverGtk):
+        (WebDriverGtk.browser_args):
+        (WebDriverGtk.capabilities):
+        (WebDriverGtk.selenium_name):
+        * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
+        (WebDriverWPE.browser_args):
+        (WebDriverWPE.capabilities):
+        * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Added.
+        (_ensure_directory_in_path):
+        (CollectRecorder):
+        (CollectRecorder.__init__):
+        (CollectRecorder.pytest_collectreport):
+        (WebDriverSeleniumExecutor):
+        (WebDriverSeleniumExecutor.__init__):
+        (WebDriverSeleniumExecutor.collect):
+        (WebDriverSeleniumExecutor.run):
+        * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
+        (WebDriverTestRunner):
+        (WebDriverTestRunner.__init__):
+        (WebDriverTestRunner.run):
+        (WebDriverTestRunner.print_results):
+        (WebDriverTestRunner.dump_results_to_json_file):
+        * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: Added.
+        (WebDriverTestRunnerSelenium):
+        (WebDriverTestRunnerSelenium.__init__):
+        (WebDriverTestRunnerSelenium._tests_dir):
+        (WebDriverTestRunnerSelenium.collect_tests):
+        (WebDriverTestRunnerSelenium.run):
+        (WebDriverTestRunnerSelenium.results):
+        * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
+        (WebDriverTestRunnerW3C.__init__):
+        (WebDriverTestRunnerW3C.run):
+        * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
+
+2017-11-30  Alex Christensen  <achristensen@webkit.org>
+
+        REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
+        https://bugs.webkit.org/show_bug.cgi?id=180235
+
+        Reviewed by Joseph Pecoraro.
+
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
+        (-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
+        (TEST):
+
+2017-11-30  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Make LegacyCustomProtocolManager optional for network process
+        https://bugs.webkit.org/show_bug.cgi?id=176230
+
+        Reviewed by Alex Christensen.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
+
+2017-11-30  Dewei Zhu  <dewei_zhu@apple.com>
+
+        HTTP server driver is responsible for ensuring the dependencies of HTTP server.
+        https://bugs.webkit.org/show_bug.cgi?id=180231
+
+        Reviewed by Stephanie Lewis.
+
+        Added the logic to ensure system environment meet the requirments of launching the http server.
+
+        * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
+        (SimpleHTTPServerDriver.serve):
+        (SimpleHTTPServerDriver.set_device_id):
+        (SimpleHTTPServerDriver):
+        (SimpleHTTPServerDriver._ensure_http_server_dependencies):
+
+2017-11-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
+
+        [WinCairo] Cannot build without Internet connection
+        https://bugs.webkit.org/show_bug.cgi?id=180068
+
+        Reviewed by Alex Christensen
+
+        With no Internet connection, if libraries has been downloaded
+        before, trust that version and keep building.
+
+        * Scripts/download-latest-github-release.py:
+        (Status):
+        (current_release):
+        (has_latest_release):
+        (main):
+
+2017-11-30  Alex Christensen  <achristensen@webkit.org>
+
+        WKURLSchemeHandler.request should include HTTPBody
+        https://bugs.webkit.org/show_bug.cgi?id=180220
+
+        Reviewed by Brady Eidson.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
+        (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
+
+2017-11-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        Add a script for automatically running the buildbot configurations on a test environment.
+        https://bugs.webkit.org/show_bug.cgi?id=169084
+
+        Reviewed by Michael Catanzaro.
+
+        This new script does the following:
+        - Creates a temporal workingdir.
+        - Installs buildbot and its dependencies there (very same version used by the webkit.org buildbot master https://build.webkit.org/about ).
+          This is important as there are problems that that may not be detected if you don't test with the same version that will be used on production.
+        - Copies the buildmaster config files to the temporal workingdir.
+        - Performs the required steps to start a buildmaster.
+        - Creates the required config for each slave and starts all of them.
+
+        The test buildmaster should be accessible at http://localhost:8710/ allowing to trigger manual builds.
+        This allows to test any configuration changes on this test environment that is pretty much identical to the production one.
+
+        * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Added.
+        (check_tcp_port_open):
+        (upgrade_db_needed):
+        (create_tempdir):
+        (print_if_error_stdout_stderr):
+        (setup_master_workdir):
+        (wait_for_master_ready):
+        (start_master):
+        (get_list_workers):
+        (start_worker):
+        (clean):
+        (cmd_exists):
+        (check_buildbot_installed):
+        (setup_virtualenv):
+        (configdir_is_valid):
+        (main):
+
+2017-11-30  Aakash Jain  <aakash_jain@apple.com>
+
+        [build.webkit.org] Move python code from master.cfg in separate files
+        https://bugs.webkit.org/show_bug.cgi?id=180180
+
+        Reviewed by Alexey Proskuryakov.
+
+        * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved code to steps.py and master.cfg appropriately.
+        * BuildSlaveSupport/build.webkit.org-config/factories.py: Moved all factory related code from master.cfg.
+        * BuildSlaveSupport/build.webkit.org-config/steps.py: Moved all steps related code from master.cfg
+
+2017-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
+        https://bugs.webkit.org/show_bug.cgi?id=180200
+
+        Reviewed by Alexey Proskuryakov.
+
+        Rewrites an API test to avoid checking against the hard-coded platform-dependent size of an attachment element.
+        Instead, first insert the attachment element as an icon and compute its size, and then check that the size of
+        the element is restored to this original value after toggling the display mode to in-place mode and back.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
+        (-[TestWKWebView attachmentElementSize]):
+        (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
+        (TestWebKitAPI::TEST):
+        (platformAttachmentIconElementSize): Deleted.
+
+2017-11-30  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        [WPE] Stop building Wayland in JHBuild moduleset
+        https://bugs.webkit.org/show_bug.cgi?id=179951
+
+        Reviewed by Žan Doberšek.
+
+        Since Wayland is not used for running tests, and since it does not seem to depend on
+        anything in the JHBuild moduleset, I think we can remove it safely without having to worry
+        that the system version of Wayland might use libraries in the JHBuild environment (which
+        would be unsafe).
+
+        * wpe/install-dependencies: Install Wayland.
+        * wpe/jhbuild.modules: Stop building Wayland.
+
+2017-11-30  Alexey Proskuryakov  <ap@apple.com>
+
+        Silence the BitVector leak for
+        https://bugs.webkit.org/show_bug.cgi?id=121662
+
+        The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
+
+        * Scripts/webkitpy/port/leakdetector.py:
+        (LeakDetector._callstacks_to_exclude_from_leaks):
+
+2017-11-29  Aakash Jain  <aakash_jain@apple.com>
+
+        Fix build.webkit.org broken unit-test after r225080
+        https://bugs.webkit.org/show_bug.cgi?id=180176
+
+        Reviewed by Carlos Garcia Campos.
+
+        * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
+
 2017-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
 
         [Attachment Support] Implement SPI for clients to make an attachment element display in-place