REGRESSION (r213168): An extra Web Content process is spun up on launch and is never...
[WebKit.git] / ChangeLog
index 5ea7552..06dd6fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2017-04-10  Ryosuke Niwa  <rniwa@webkit.org>
+2017-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
 
-        Add the UI for scheduling a A/B testing with a custom root
-        https://bugs.webkit.org/show_bug.cgi?id=170622
+        [JSCOnly] Fix build failures in macOS
+        https://bugs.webkit.org/show_bug.cgi?id=170887
 
-        Reviewed by Anders Carlsson.
+        Reviewed by Alex Christensen.
+
+        Align ICU header configuration to MacCMake port.
+
+        * Source/cmake/OptionsJSCOnly.cmake:
+
+2017-04-16  Sam Weinig  <sam@webkit.org>
+
+        [WebIDL] Switch IDLAttributes.txt over to a more structured format so that more information can be added for each attribute
+        https://bugs.webkit.org/show_bug.cgi?id=170843
+
+        Reviewed by Chris Dumez.
+
+        * Source/cmake/WebKitMacros.cmake:
+        Update extension of IDLAttributes to .json
+
+2017-04-13  Don Olmstead  <don.olmstead@am.sony.com>
+
+        [WinCairo] Assign WEBKIT_LIBRARIES_DIR to CMAKE_PREFIX_PATH
+        https://bugs.webkit.org/show_bug.cgi?id=170797
+
+        Reviewed by Alex Christensen.
+
+        * Source/cmake/FindCairo.cmake:
+        * Source/cmake/OptionsWin.cmake:
+
+2017-04-11  Zan Dobersek  <zdobersek@igalia.com>
+
+        [CMake] OpenWebRTC libraries path isn't properly deduced
+        https://bugs.webkit.org/show_bug.cgi?id=170670
+
+        Reviewed by Carlos Garcia Campos.
+
+        When using OpenWebRTC installation that's outside of the usual Jhbuild
+        installation directories, the library paths are ignored because the
+        dependency libraries are simply gathered from the pkg-config file.
+
+        Instead, the pkg-config data should be used to search for the correct
+        paths to the header and library locations. Both libopenwebrtc and
+        libopenwebrtc_gst libraries are needed, so the two library paths are
+        concatenated into the OPENWEBRTC_LIBRARIES variable.
 
-        This patch adds the support for creating a new analysis task with a custom darwinup roots. A follow up patch
-        would update the syncing script to schedule such an A/B testing job to a buildbot instance.
-
-
-        * ReadMe.md: Updated instructions for backing up and restoring the database so that it's easier to replace
-        the file path for the backup.
-
-        * init-database.sql: Make task_platform and task_metric optional in each analysis task. Also added a column
-        to store the root file in commit_set_relationships.
-
-        * public/api/build-requests.php:
-        (main): Include the uploaded files.
-
-        * public/api/commits.php:
-        (main): Added the support for querying the latest commits for a given platform. This is used in a new page
-        to create a custom analysis task to autofill the latest revisions for a given platform.
-
-        * public/api/test-groups.php:
-        (main): Include the uploaded files.
-
-        * public/include/build-requests-fetcher.php:
-        (BuildRequestsFetcher::__construct): Added a list of uploaded_files and a map from its id.
-        (BuildRequestsFetcher::uploaded_files): Added.
-        (BuildRequestsFetcher::fetch_commits_for_set_if_needed): Added the support for including custom roots' id in
-        each commit set, and inserting its meta data in the list of uplaoded files.
-
-        * public/include/commit-log-fetcher.php:
-        (CommitLogFetcher::fetch_latest_for_platform): Added. Finds the latest commit for a given platform. Ideally,
-        we should be finding the latest commit for a given platform, but this is very slow so instead find the commit
-        of the latest build for a given platform.
-
-        * public/privileged-api/create-test-group.php:
-        (main): Added the support for creating an analysis task along with a group.
-        (commit_sets_from_revision_sets): Added the support for custom roots. Verify the specified uploaded file exists
-        and include it in commit_set_relationships. Because commits and upload files are stored in a different column
-        in commit_set_relationships, this function now stores the information for each row of commit_set_relationships
-        except the commit set ID, which is unknown until the set is created, instead of a commit ID.
-        (ensure_commit_sets): Made the each entry in a commit set a row instead of a commit ID as done. As this format
-        is only by v2 UI and detect-changes.js, we don't add the support for specifying custom roots here.
-
-        * public/privileged-api/upload-file.php:
-        (main): Fixed a typo. Also added one more error check.
-
-        * public/v3/components/custom-analysis-task-configurator.js: Added. The UI for selecting a test, a platform,
-        and a set of revisions, as well as custom roots for a custom A/B testing job. The first set of revision with
-        custom roots is referred as "baseline", and the second configuration is referred as "comparison" in this class.
-        (CustomAnalysisTaskConfigurator):
-        (CustomAnalysisTaskConfigurator.prototype.tests): Added.
-        (CustomAnalysisTaskConfigurator.prototype.platform): Added.
-        (CustomAnalysisTaskConfigurator.prototype.commitSets): Added. Returns a pair of baseline and comparsion if both
-        have been configured by the user.
-        (CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): Added.
-        (CustomAnalysisTaskConfigurator.prototype._configureComparison): Added. Called when the user is to configu the
-        "comparison" configuration.
-        (CustomAnalysisTaskConfigurator.prototype.render): Added.
-        (CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Added. Renders the list of top-level tests
-        that can be scheduled by a triggerable.
-        (CustomAnalysisTaskConfigurator.prototype._renderTriggerablePlatforms): Added. Renders the list of platforms
-        that can be schedule with the currently selected list of tests by a triggerable. Note that the current UI only
-        lets the user select a single test but the intent is to allow multiple tests to be selected in the near future.
-        (CustomAnalysisTaskConfigurator.prototype._buildCheckboxList): Added. Creates a list of radio boxes to select
-        an item with a callback for each. It automatically sets "selected" class on the selected item. It's used to
-        render both the list of tests and platforms.
-        (CustomAnalysisTaskConfigurator.prototype._updateTriggerable): Added. Finds the triggerable for a given list of
-        tests and platforms. Returns an error when some tests belong to another triggearalbe.
-        (CustomAnalysisTaskConfigurator.prototype._updateRepositoryGroups): Added. Finds a repository group to use when
-        the current triggerable has changed. We try to use the repository group of the same name if there is any, and
-        defaults to the first repository group if there is none. This allows the set of repositories to be specified to
-        more or less persist across different triggerables. For example, if iOS platforms and Mac platforms use two
-        distinct triggerables , and both triggerables have two repository groups: one that only specify the OS and the
-        other that specifies both teh OS and WebKit revision, then this code allows the choice the user had made to
-        specify either just the OS or the OS and WebKit will be preserved when the user switches from an iOS platform
-        to a Mac platform.
-        (CustomAnalysisTaskConfigurator.prototype._updateCommitSetMap): Added. Create a commit set map, the format that
-        TestGroup.createWithTask accepts given "baseline" and "comparison" commit sets. Pretend "comparison" is not set
-        if two sets are identical since it makes no sense to schedule an A/B testing job when A and B are identical.
-        (CustomAnalysisTaskConfigurator.prototype._computeCommitSet): Added. Creates a commit set using the revisions
-        and the csutom roots the user had specified.
-        (CustomAnalysisTaskConfigurator.prototype._renderRepositoryPanes): Added. Renders the pane to specify revisions
-        and custom roots for "baseline" and "comparison".
-        (CustomAnalysisTaskConfigurator.prototype._renderBaselineRevisionTable): Added.
-        (CustomAnalysisTaskConfigurator.prototype._renderComparisonRevisionTable): Added.
-        (CustomAnalysisTaskConfigurator.prototype._optionalRepositoryList): Added.
-        (CustomAnalysisTaskConfigurator.prototype._buildRevisionTable): Added. Creates a table for specifying revisions
-        and custom roots along with a list of repository groups to pick. The set of repositories and custom roots are
-        shown at the all if all repository groups require them. Otherwise, they are grouped at the bottom as optional.
-        (CustomAnalysisTaskConfigurator.prototype._buildRepositoryGroupList): Added.
-        (CustomAnalysisTaskConfigurator.prototype._selectRepositoryGroup): Added.
-        (CustomAnalysisTaskConfigurator.prototype._buildRevisionInput): Added. Creates an input element to specify
-        a revision for a given repository. Autofills it with the latest commit for the currently selected platform if
-        the user had not modified the field by the time the revisions are fetched.
-        (CustomAnalysisTaskConfigurator.htmlTemplate): Added.
-        (CustomAnalysisTaskConfigurator.cssTemplate): Added.
-
-        * public/v3/components/instant-file-uploader.js: Added. A form to upload a custom darwinup root in "baseline"
-        or "comparison" configurations of CustomAnalysisTaskConfigurator. It's "instant" because it auto-detects when a
-        file to be uploaded had already been uploaded elsewhere by checking its SHA-256 hash.
-        (InstantFileUploader):
-        (InstantFileUploader.prototype.hasFileToUpload): Added.
-        (InstantFileUploader.prototype.uploadedFiles): Added.
-        (InstantFileUploader.prototype.addUploadedFile): Added. It's called on the uploader for "comparison"
-        configuration when the uploader for "baseline" configuration dipsatches "uploadedFile" action to automatically
-        mirror the newly uploaded custom root to "comparision" configuration.
-        (InstantFileUploader.prototype.didConstructShadowTree): Added.
-        (InstantFileUploader.prototype.render): Added.
-        (InstantFileUploader.prototype._renderUploadedFiles): Added. Renders the list of the uploaded files.
-        (InstantFileUploader.prototype._renderPreuploadFiles): Added. Renders the list of the files to be uploaded with
-        a progress bar.
-        (InstantFileUploader.prototype._updateUploadStatus): Added. Updates the progress bar for uploading the file.
-        (InstantFileUploader.prototype._formatUploadError): Added.
-        (InstantFileUploader.prototype._didFileInputChange): Added. Called when the user picks a file to uploaded on
-        the input element. Fetch the meta data for the uploaded file with the same SHA-256 hash if there is any, and
-        start uploading the file if there isn't one.
-        (InstantFileUploader.prototype._removeUploadedFile): Added.
-        (InstantFileUploader.prototype._didUploadFile): Added. Move a file from the list of files to be uploaded to
-        the list of uploaded files.
-        (InstantFileUploader.htmlTemplate): Added.
-        (InstantFileUploader.cssTemplate): Added.
-
-        * public/v3/index.html:
-
-        * public/v3/models/analysis-task.js:
-        (AnalysisTask): Made platform and metric optional as it is now.
-        (AnalysisTask.findByPlatformAndMetric): Skip analysis tasks without a platform or a metric.
-        (AnalysisTask.prototype.isCustom): Added. Returns true for a custom analysis task.
-        (AnalysisTask.fetchRelatedTasks): Skip custom analysis tasks.
-        (AnalysisTask._constructAnalysisTasksFromRawData): Construct analysis tasks even if they were missing a metric
-        or a platform instead of silently skipping them.
-
-        * public/v3/models/build-request.js:
-        (BuildRequest.constructBuildRequestsFromData): Construct uploaded file objects returned by /api/build-requests.
-
-        * public/v3/models/commit-log.js:
-        (CommitLog.fetchLatestCommitForPlatform): Added.
-
-        * public/v3/models/commit-set.js:
-        (CommitSet): Added this._customRoots.
-        (CommitSet.prototype.customRoots): Returns this._customRoots.
-        (CommitSet.prototype.equals): Returns false when the set of custom roots are not equal.
-        (CommitSet.areCustomRootsEqual): Added.
-        (CustomCommitSet):
-        (CustomCommitSet.prototype.equals): Added.
-        (CustomCommitSet.prototype.customRoots): Added.
-        (CustomCommitSet.prototype.addCustomRoot): Added.
-
-        * public/v3/models/manifest.js:
-        (Manifest._didFetchManifest): Store fileUploadSizeLimit in the manifest as UploadedFile.fileUploadSizeLimit.
-        This allows a file size check in the client size instead of uploading it to the server and receiving an error.
-
-        * public/v3/models/metric.js:
-        (Metric.formatTime): Moved from ChartPaneStatusView to be also used by InstantFileUploader._renderUploadedFiles.
-
-        * public/v3/models/test-group.js:
-        (TestGroup.prototype.createWithTask): Added.
-        (TestGroup.prototype.createAndRefetchTestGroups):
-        (TestGroup.prototype._revisionSetsFromCommitSets): Added. Extracted from createAndRefetchTestGroups.
-        (TestGroup.prototype._fetchTestGroupsForTask): Added. Extracted from createAndRefetchTestGroups.
-
-        * public/v3/models/triggerable.js:
-        (Triggerable.triggerablePlatformsForTests): Added.
-        (Triggerable.sortByNamePreferringSmallerRepositories): Added.
-
-        * public/v3/models/uploaded-file.js:
-        (UploadedFile.prototype.createdAt): Added.
-        (UploadedFile.prototype.filename): Added.
-        (UploadedFile.prototype.author): Added.
-        (UploadedFile.prototype.size): Added.
-        (UploadedFile.uploadFile): Added a client-side check for the file size using UploadedFile.fileUploadSizeLimit.
-        (UploadedFile.fetchUnloadedFileWithIdenticalHash): Ditto. Also fixed a bug that 404 was resulting in a rejected
-        promise instead of a resolved promise with null.
-
-        * public/v3/pages/analysis-category-page.js:
-        (AnalysisCategoryPage.prototype._reconstructTaskList): Modernized the code. Added the support for platform and
-        metric being null for some analysis tasks.
-
-        * public/v3/pages/analysis-task-page.js:
-        (AnalysisTaskPage.prototype._didFetchTask): Don't fetch the measurement set or create a chart for custom tasks.
-        (AnalysisTaskPage.prototype.render): Don't display the charts or the stacking table for custom tasks.
-        (AnalysisTaskPage.prototype._renderTaskNameAndStatus): Don't try to show the full test name for custom tasks
-        since it's not associated with exactly one pair.
-
-        * public/v3/pages/chart-pane-status-view.js:
-        (ChartPaneStatusView.prototype._renderBuildRevisionTable):
-        (ChartPaneStatusView.prototype._formatTime): Moved to Metric.formatTime.
-
-        * public/v3/pages/chart-pane.js:
-        (ChartPane.prototype._analyzeRange): Set inProgress to true to hide CustomAnalysisTaskConfigurator in
-        CreateAnalysisTaskPage when creating a non-custom analysis task for a specific range.
-
-        * public/v3/pages/create-analysis-task-page.js:
-        (CreateAnalysisTaskPage): This page now shows CustomAnalysisTaskConfigurator by default, and lets a user create
-        a custom analysis task by picking a test, a platform, and a set of revisions and custom darwinup roots.
-        (CreateAnalysisTaskPage.prototype.updateFromSerializedState): Show a message when inProgress is set. This is
-        the old behavior of this page.
-        (CreateAnalysisTaskPage.prototype.didConstructShadowTree): Added.
-        (CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): Added.
-        (CreateAnalysisTaskPage.prototype.render):
-        (CreateAnalysisTaskPage.prototype._renderMessage): Added. Hides CustomAnalysisTaskConfigurator and the select
-        element to specify the numebr of iterations when a message is set.
-        (CreateAnalysisTaskPage.htmlTemplate):
-        (CreateAnalysisTaskPage.cssTemplate):
-
-        * public/v3/pages/page-router.js:
-        (PageRouter.prototype.route): Always enqueue the page to re-render when the route has changed.
-
-        * server-tests/api-build-requests-tests.js: Updated test cases now that the response contains a list of
-        uploaded files associated with build requests.
-        *server-tests/api-commits-tests.js: Added a test case for /api/commits/<repository-name>/latest?platform=X.
-        * server-tests/privileged-api-create-test-group-tests.js: Added test cases for creating a custom analysis task
-        and a test group with custom roots. 
-        * server-tests/resources/mock-data.js:
-        (MockData.addMockData): Updated the mock data to satisfy new constraint on analysis-tasks table. Also inserted
-        more commits, builds, and build_commits rows for testing /api/commits/<repository-name>/latest?platform=X.
-
-        * tools/js/remote.js: Include global.FormData from form-data.js.
-
-        * unit-tests/analysis-task-tests.js: Added a test for calling findByPlatformAndMetric when there is a custom
-        analysis task.
-        (sampleAnalysisTask): Removed the category since /api/analysis-tasks/ no longer generate this property.
-        (sampleCustomAnalysisTask): Added.
-        * unit-tests/build-request-tests.js:
-        (sampleBuildRequestData): Updated the mock response. Added a test case for fetcing custom roots.
-        * unit-tests/buildbot-syncer-tests.js:
-        (createSampleBuildRequest): Ditto.
-        * unit-tests/test-groups-tests.js:
-        (sampleTestGroup): Ditto.
+        * Source/cmake/FindOpenWebRTC.cmake:
 
 2017-04-08  Ting-Wei Lan  <lantw44@gmail.com>