haiku
review-overcommit
review-scrollbar
haiku_newservicekit
${ noResults }
1447 Commits (haiku)
Author | SHA1 | Message | Date |
---|---|---|---|
![]() |
047df8617e |
Manifest.reset should clear static map for BugTracker and Bug objects.
https://bugs.webkit.org/show_bug.cgi?id=187186 Reviewed by Ryosuke Niwa If static maps of BugTracker and Bug objects are not cleared up, updating singleton of Bug object will fail assertion. * public/v3/models/manifest.js: Clear static map for BugTracker and Bug. (Manifest.reset): * server-tests/api-manifest-tests.js: Added a unit test for this change. Canonical link: https://commits.webkit.org/202541@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233456 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
d712acb3f9 |
Fix a bug in range bisector that start commit may be counted twice.
https://bugs.webkit.org/show_bug.cgi?id=187205 Reviewed by Darin Adler. Range bisector counted start commit twice if start commit is the same as end commit. * public/v3/commit-set-range-bisector.js: (CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits): * unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this change. Canonical link: https://commits.webkit.org/202540@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233455 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
97efe2721f |
Fix a bug ComponentBase that wrong content template may be used.
https://bugs.webkit.org/show_bug.cgi?id=187159 Reviewed by Ryosuke Niwa. ComponentBase uses '_parsed' to mark whether content and style templates of a class is parsed. However, derived class parsing will be skipped as 'Derive._parsed' is available via prototype chain whenever the base class is parsed. * browser-tests/component-base-tests.js: Added unit tests. * public/v3/components/base.js: Added 'hasOwnProperty' to make sure current class is parsed. (ComponentBase.prototype._ensureShadowTree): Canonical link: https://commits.webkit.org/202420@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233333 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
7e775c0d76 |
MeasurementSetAnalyzer should check triggerable availability before creating confirming A/B tests.
https://bugs.webkit.org/show_bug.cgi?id=187028 Reviewed by Ryosuke Niwa. If the triggerable is not available, MeasurmentSetAnalyzer should only create analysis task without confirming A/B tests. * tools/js/measurement-set-analyzer.js: Added logic to check triggerable availability. (MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet): (MeasurementSetAnalyzer): * unit-tests/measurement-set-analyzer-tests.js: Updated unit tests and added a new unit test for this change. Canonical link: https://commits.webkit.org/202413@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233326 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1d19751ed9 |
EWS for security bugs
https://bugs.webkit.org/show_bug.cgi?id=186291 <rdar://problem/40829658> Rubber-stamped by Lucas Forschler. Substitute "review" for "r" as the name of the Bugzilla flag to look at to determine if we should CC the feeder EWS on the associated bug. * extensions/EWS/Extension.pm: (isReviewFlag): Canonical link: https://commits.webkit.org/202201@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233109 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
57dfe64e0c |
[WPE] Some fixups on webkit.org page
https://bugs.webkit.org/show_bug.cgi?id=186844 Unreviewed as the content is not modified, only some minor fixups on the format. * wpe.md: Remove title as it's already provided by the website CMS. Avoid breaking lines at 80 chars as it's not rendered as expected. Canonical link: https://commits.webkit.org/202121@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233021 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1bda46ffca |
[WPE] Add page for webkit.org
https://bugs.webkit.org/show_bug.cgi?id=186844 Reviewed by Michael Catanzaro. * wpe.md: Added. Canonical link: https://commits.webkit.org/202112@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233012 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
9571ad2e97 |
EWS for security bugs
https://bugs.webkit.org/show_bug.cgi?id=186291
<rdar://problem/40829658>
Reviewed by Lucas Forschler
Part 2 of 2.
Adds a new Bugzilla extension that will automatically CC the EWS feeder queue
on each bug that has a patch up for review, including security bugs. This allows
the WebKit OpenSource Project to use an unprivileged Bugzilla account for the
EWS feeder queue.
* extensions/EWS/Config.pm: Added.
* extensions/EWS/Extension.pm: Added.
(new): Initialize some bookkeeping variables we use to track whether we have seen
a value change event for the review flag and whether we need to CC the feeder. The latter
we need to track because we can only make changes to the CC list in the callback
bug_start_of_update().
(object_before_set): This callback is called each time a setter is called on a Bugzilla
object. Check if the review flag was set to ? and do some bookkeeping. Although tempting
to do such work in the callback flag_end_of_update() instead of object_before_set() doing
such work would come AFTER we get callback bug_start_of_update() and hence after we have
committed the CC list of the bug to the database. Moreover, the "interface to [flag_end_of_update()]
is UNSTABLE and it may change in the future" according to <
|
6 years ago |
![]() |
66bba095d1 |
Use new jQuery file layout
https://bugs.webkit.org/show_bug.cgi?id=186636 Patch by Roy Reapor <rreapor@apple.com> on 2018-06-14 Reviewed by Aakash Jain. Tools: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html: * TestResultServer/static-dashboards/run-embedded-unittests.html: Websites/webkit.org: * ajax/libs/jqueryui/jquery-ui-1.8.15.css: Removed. * ajax/libs/jqueryui/jquery-ui-1.8.15.min.js: Removed. Canonical link: https://commits.webkit.org/201969@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232864 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
03e2d70256 |
Minor layout fix for WebKit Feature Status Page
https://bugs.webkit.org/show_bug.cgi?id=186539 Reviewed by Timothy Hatcher. * wp-content/themes/webkit/status.php: Added padding below the bottom paragraph. Canonical link: https://commits.webkit.org/201956@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232851 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1611da7ac8 |
jQuery UI image assets are missing on webkit.org website.
https://bugs.webkit.org/show_bug.cgi?id=185949 Patch by Roy Reapor <rreapor@apple.com> on 2018-06-14 Reviewed by Aakash Jain. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_flat_75_ffffff_40x100.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_65_ffffff_1x400.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_75_dadada_1x400.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_222222_256x240.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_2e83ff_256x240.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_454545_256x240.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_888888_256x240.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/images/ui-icons_cd0a0a_256x240.png: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery-ui.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.accordion.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.all.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.autocomplete.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.base.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.button.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.core.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.datepicker.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.dialog.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.progressbar.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.resizable.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.selectable.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.slider.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.tabs.min.css: Added. * ajax/libs/jqueryui/1.8.15/themes/base/jquery.ui.theme.min.css: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery-ui.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.blind.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.bounce.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.clip.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.core.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.drop.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.explode.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fade.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.fold.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.highlight.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.pulsate.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.scale.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.shake.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.slide.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.effects.transfer.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.accordion.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.autocomplete.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.button.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.core.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.datepicker.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.dialog.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.draggable.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.droppable.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.mouse.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.position.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.progressbar.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.resizable.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.selectable.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.slider.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.sortable.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.tabs.min.js: Added. * ajax/libs/jqueryui/1.8.15/ui/jquery.ui.widget.min.js: Added. Canonical link: https://commits.webkit.org/201950@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232845 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3f51803776 |
Extend test group rule to support 'userInitiated' field.
https://bugs.webkit.org/show_bug.cgi?id=186544 Reviewed by Ryosuke Niwa. Added support for rule specifying whether or not test group is user initiated. * tools/js/analysis-results-notifier.js: Rule now support 'userInitiated' field. (AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups): (AnalysisResultsNotifier.prototype._applyRules): (AnalysisResultsNotifier._matchesRule): * unit-tests/analysis-results-notifier-tests.js: Added unit tests for this change. Canonical link: https://commits.webkit.org/201872@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232740 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
cc3dcb9f9f |
CommitSet range bisector should use commits occur in commit sets which specify the range as valid commits for commits without ordering.
https://bugs.webkit.org/show_bug.cgi?id=186062 Reviewed by Ryosuke Niwa. For commits without ordering, we should use the commits occurs in the commit sets which specify the range as valid commits. Commit sets in range should only contain those valid commits for corresponding repositories. * public/v3/commit-set-range-bisector.js: Updated logic to add check on commits without ordering. (CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits): * unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this case. Canonical link: https://commits.webkit.org/201795@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232629 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
fee53c510a |
Related task may not have a metric or platform.
https://bugs.webkit.org/show_bug.cgi?id=186426 Reviewed by Ryosuke Niwa. Related task in the related task list can be a custom analysis task which may not have platform or metric. * public/v3/pages/analysis-task-page.js: Added null checks for platform and metric. (AnalysisTaskPage.prototype._renderRelatedTasks): Canonical link: https://commits.webkit.org/201788@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232617 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
26ff3ffb8a |
Fix browser test failed assertions and a bug in 'common-component-base'
https://bugs.webkit.org/show_bug.cgi?id=186423 Reviewed by Ryosuke Niwa. Fixed serveral assertion failures in browser tests. Fixed a bug in common-component-base that null/undefined as attribute value is not allowed. * browser-tests/chart-revision-range-tests.js: Should not import 'lazily-evaluated-function.js' twice. * browser-tests/chart-status-evaluator-tests.js: Should not import 'lazily-evaluated-function.js' twice. * browser-tests/component-base-tests.js: Added a unit test for element attributes being null or undefined. * browser-tests/index.html: Make mocked data from makeSampleCluster also contains commit_order. * public/shared/common-component-base.js: Make it allow to take null as attribute value. (CommonComponentBase.createElement): Canonical link: https://commits.webkit.org/201785@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232614 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
853907d100 |
Added sending notification feature when test group finishes.
https://bugs.webkit.org/show_bug.cgi?id=184340 Reviewed by Ryosuke Niwa. Added 'testgroup_needs_notification' filed to 'analysis_test_group' table to indicate whether a test group has a pending notification. Added 'testgroup_notification_sent_at' to record the last notification sent time. SQL queries to update existing database are: 'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_needs_notification boolean NOT NULL DEFAULT FALSE;' 'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_notification_sent_at timestamp DEFAULT NULL;' Updated 'run-analysis' script to be able to send notification when test group finishes. Added 'Notify on completion' checkbox while creating/retrying/bisecting a test group. * browser-tests/test-group-form-tests.js: Updated existing tests and added a new test. * browser-tests/test-group-result-page-tests.js: Added unit tests for TestGroupResultPage. * init-database.sql: Added 'testgroup_needs_notification' filed to 'analysis_test_group' table. * public/api/test-groups.php: Added '/api/test-groups/ready-for-notification' API to 'test-group' to show all test groups that need to send notification. Only the ones with 'completed', 'failed' or 'cancelled' status and its 'testgroup_needs_notification' is true will be returned by this API. * public/include/build-requests-fetcher.php: Added 'fetch_requests_for_groups' to return test groups with given ids. * public/include/commit-sets-helpers.php: Updated the logic to support setting 'testgroup_needs_notification' while create an analysis_test_groups. * public/privileged-api/create-analysis-task.php: Updated the logic to support setting 'testgroup_needs_notification'. * public/privileged-api/create-test-group.php: Updated the logic to support setting 'testgroup_needs_notification'. * public/privileged-api/update-test-group.php: Updated the logic to support updating 'testgroup_needs_notification'. Extended this API to allow authentication both from CSRF token and slave. * public/v3/components/custom-configuration-test-group-form.js: (CustomConfigurationTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents 'testgroup_needs_notification' from API perspective. * public/v3/components/customizable-test-group-form.js: (CustomizableTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents 'testgroup_needs_notification' from API perspective. (CustomizableTestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list. * public/v3/components/test-group-form.js: (TestGroupForm): Added '_notifyOnCompletion' instance variable. (TestGroupForm.prototype.didConstructShadowTree): Added 'onchange' event for notify on completion checkbox. (TestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents 'testgroup_needs_notification' from API perspective. (TestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list. * public/v3/models/analysis-results.js: Export 'AnalysisResults'. (AnalysisResults.fetch): Update API path to use absolute url. (AnalysisResults): * public/v3/models/analysis-task.js: (AnalysisTask.async.create): Extend this function to take notifyOnCompletion as argument which will be used as 'needsNotification' to send to server. (AnalysisTask): * public/v3/models/test-group.js: (TestGroup): Added '_needsNotification' field. (TestGroup.prototype.updateSingleton): Added logic to update '_needsNotification' field. (TestGroup.prototype.needsNotification): Returns '_needsNotification' field. (TestGroup.prototype.author): Returns author information. (TestGroup.prototype.async.didSendNotification): API that updates 'testgroup_needs_notification' to true. (TestGroup.prototype.async.fetchTask): API to fetch the task when it has not been fetched. (TestGroup.createWithTask): Updated this function to accept 'notifyOnCompletion' which will be used as 'needsNotification' to send to server. (TestGroup.createWithCustomConfiguration): Updated this function to accept 'notifyOnCompletion' which will be used as 'needsNotification' to send to server. (TestGroup.createAndRefetchTestGroups): Updated this function to accept 'notifyOnCompletion' which will be used as 'needsNotification' to send to server. (TestGroup.fetchAllWithNotificationReady): New function that invokes '/api/test-groups/ready-for-notification'. * public/v3/pages/analysis-task-page.js: Update logic to 'notifyOnCompletion' around (AnalysisTaskChartPane.prototype.didConstructShadowTree): (AnalysisTaskResultsPane.prototype.didConstructShadowTree): (AnalysisTaskTestGroupPane.prototype.didConstructShadowTree): (AnalysisTaskPage.prototype.didConstructShadowTree): (AnalysisTaskPage.prototype._retryCurrentTestGroup): (AnalysisTaskPage.prototype.async._bisectCurrentTestGroup): (AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList.set const): (AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList): (AnalysisTaskPage.prototype._createCustomTestGroup): * public/v3/pages/chart-pane.js: Added 'Notify on completion' checkbox. (ChartPane.prototype.didConstructShadowTree): (ChartPane.prototype.async._analyzeRange): * public/v3/pages/create-analysis-task-page.js: Adapted API change. (CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): * server-tests/api-test-groups.js: Added tests for '/api/test-groups/ready-for-notification'. * server-tests/privileged-api-create-analysis-task-tests.js: Updated tests to adapt this change. Added new tests. * server-tests/privileged-api-create-test-group-tests.js: Added new tests. * server-tests/privileged-api-update-test-group-tests.js: Added unit test for 'update-test-group' API. * server-tests/resources/mock-data.js: addMockData should set 'testgroup_needs_notification' to be true. * server-tests/tools-sync-buildbot-integration-tests.js: Updated tests to adapt this change. (async.createTestGroupWihPatch): (createTestGroupWihOwnedCommit): * tools/js/analysis-results-notifier.js: Added notifier to send notification for completed test groups. (AnalysisResultsNotifier): (AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups): (AnalysisResultsNotifier.prototype._sendNotification): Invoke remote API to send notification. (AnalysisResultsNotifier.prototype._constructMessageByRules): (AnalysisResultsNotifier._matchesRule): (AnalysisResultsNotifier._applyUpdate): (AnalysisResultsNotifier.async._messageForTestGroup): Build html as message body for a test group. (AnalysisResultsNotifier._URLForAnalysisTask): Returns URL for an analysis task. (AnalysisResultsNotifier._instantiateNotificationTemplate): * tools/js/test-group-result-page.js: Added 'TestGroupResultPage' and 'BarGraph' to show test group result. (TestGroupResultPage): (TestGroupResultPage.prototype.async.setTestGroup): (TestGroupResultPage._urlForAnalysisTask): (TestGroupResultPage.prototype._URLForAnalysisTask): (TestGroupResultPage.prototype.constructTables): (TestGroupResultPage.prototype._constructTableForMetric): (TestGroupResultPage.): (TestGroupResultPage.prototype.get pageContent): (TestGroupResultPage.prototype.get styleTemplate): (BarGraph): (BarGraph.prototype.setWidth): (BarGraph.prototype._constructBarGraph): (BarGraph.prototype.get pageContent): (BarGraph.prototype.get styleTemplate): * tools/js/measurement-set-analyzer.js: Adapted 'AnalysisTask.create' change. (MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet): (MeasurementSetAnalyzer): * tools/js/v3-models.js: * tools/run-analysis.js: Added the logic that sends notification for completed test groups. (main): (async.analysisLoop): * unit-tests/analysis-task-tests.js: * unit-tests/analysis-results-notifier-tests.js: Added a unit test for 'AnalysisResultsNotifier' and 'NotificationService'. * unit-tests/measurement-set-analyzer-tests.js: Updated unit tests per this change. * unit-tests/test-groups-tests.js: Added unit tests for 'TestGroup.needsNotification'. * unit-tests/resources/mock-remote-api.js: Only set 'privilegedAPI' when it exits. Canonical link: https://commits.webkit.org/201783@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232612 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
0f49408247 |
Add the basic support for writing components in node.js
https://bugs.webkit.org/show_bug.cgi?id=186299 Reviewed by Antti Koivisto. Add the basic support for writing components in node.js for generating rich email notifications. To do this, this patch introduces MarkupComponentBase and MarkupPage which implement similar API to ComponentBase and Page classes of v3 UI code. This enables us to share code between frontend and the backend in the future. Because there is no support for declarative custom elements or shadow root in HTML, MarkupComponentBase uses a similar but distinct concept of "content" tree to represent the "DOM" tree for a component. When generating the HTML, MarkupComponentBase and MarkupPage collectively transforms stylesheets and flattens the tree into a single HTML. In order to keep this flatteneing logic simple, MarkupComponentBase only supports a very small subset of CSS selectors to select elements by their local names and class names. Specifically, each class name and element name based selectors are replaced by a globally unique class name based selector, and each element which matches the selector is applied of the same globally unique class name. The transformation is applied when constructing the "content" tree as well as calls to renderReplace. Because much of v3 frontend code relies on DOM API, this patch also implements the simplest form of a fake DOM API as MarkupNode, MarkupParentNode, MarkupElement, and MarkupText. In order to avoid reimplementing HTML & CSS parsers, this patch introduces the concept of content and style templates to ComponentBase which are JSON alternatives to HTML & CSS template strings which can be used in both frontend & backend. * browser-tests/close-button-tests.js: Include CommonComponentBase. * browser-tests/commit-log-viewer-tests.js: Ditto. * browser-tests/component-base-tests.js: Ditto. Added a test cases for content & style templates. (async.importComponentBase): Added. * browser-tests/editable-text-tests.js: Include CommonComponentBase. * browser-tests/index.html: * browser-tests/markup-page-tests.js: Added. * browser-tests/page-router-tests.js: Include CommonComponentBase. * browser-tests/page-tests.js: Ditto. * browser-tests/test-group-form-tests.js: Ditto. * public/shared/common-component-base.js: Added. (CommonComponentBase): Extracted out of ComponentBase. (CommonComponentBase.prototype.renderReplace): Added. (CommonComponentBase.renderReplace): Moved from ComponentBase. (CommonComponentBase.prototype._recursivelyUpgradeUnknownElements): Moved and renamed from ComponentBase's _recursivelyReplaceUnknownElementsByComponents. (CommonComponentBase.prototype._upgradeUnknownElement): Extracted out of the same function. (CommonComponentBase._constructStylesheetFromTemplate): Added. (CommonComponentBase._constructNodeTreeFromTemplate): Added. (CommonComponentBase.prototype.createElement): Added. (CommonComponentBase.createElement): Moved from ComponentBase. (CommonComponentBase._addContentToElement): Moved from ComponentBase. (CommonComponentBase.prototype.createLink): Added. (CommonComponentBase.createLink): Moved from ComponentBase. (CommonComponentBase._context): Added. Set to document in a browser and MarkupDocument in node.js. (CommonComponentBase._isNode): Added. Set to a function which does instanceof Node/MarkupNode check. (CommonComponentBase._baseClass): Added. Set to ComponentBase or MarkupComponentBase. * public/v3/components/base.js: (ComponentBase): (ComponentBase.prototype._ensureShadowTree): Added the support for the content and style templates. Also avoid parsing the html template each time a component is instantiated by caching the result. * public/v3/index.html: * tools/js/markup-component.js: Added. (MarkupDocument): Added. A fake Document. (MarkupDocument.prototype.createContentRoot): A substitude for attachShadow. (MarkupDocument.prototype.createElement): (MarkupDocument.prototype.createTextNode): (MarkupDocument.prototype._idForClone): (MarkupDocument.prototype.reset): (MarkupDocument.prototype.markup): (MarkupDocument.prototype.escapeAttributeValue): (MarkupDocument.prototype.escapeNodeData): (MarkupNode): Added. A fake Node. Each node gets an unique ID. (MarkupNode.prototype._markup): (MarkupNode.prototype.clone): Implemented by the leave class. (MarkupNode.prototype._cloneNodeData): (MarkupNode.prototype.remove): (MarkupParentNode): Added. An equivalent of ContainerNode in WebCore. (MarkupParentNode.prototype.get childNodes): (MarkupParentNode.prototype._cloneNodeData): (MarkupParentNode.prototype.appendChild): (MarkupParentNode.prototype.removeChild): (MarkupParentNode.prototype.removeAllChildren): (MarkupParentNode.prototype.replaceChild): (MarkupContentRoot): Added. Used like a shadow tree. (MarkupContentRoot.prototype._markup): Added. (MarkupElement): Added. A fake Element. It also implements a subset of IDL attributes implemented by subclasses such as HTMLInputElement for simplicity. (MarkupElement.prototype.get id): Added. (MarkupElement.prototype.get localName): Added. (MarkupElement.prototype.clone): Added. (MarkupElement.prototype.appendChild): Added. (MarkupElement.prototype.addEventListener): Added. (MarkupElement.prototype.setAttribute): Added. (MarkupElement.prototype.getAttribute): Added. (MarkupElement.prototype.get attributes): Added. (MarkupElement.prototype.get textContent): Added. (MarkupElement.prototype.set textContent): Added. (MarkupElement.prototype._serializeStyle): Added. (MarkupElement.prototype._markup): Added. Flattens the tree with content tree like copy & paste so this can't be used to implement innerHTML. (MarkupElement.prototype.get value): Added. (MarkupElement.prototype.set value): Added. (MarkupElement.prototype.get style): Added. Returns a fake writeonly CSSStyleDeclaration. (MarkupElement.prototype.set style): Added. (MarkupElement.get selfClosingNames): Added. A small list of self-closing tags for the HTML generation. (MarkupText): Added. (MarkupText.prototype.clone): Added. (MarkupText.prototype._markup): Added. (MarkupText.prototype.get data): Added. (MarkupText.prototype.set data): Added. (MarkupComponentBase): Added. (MarkupComponentBase.prototype.element): Added. Like ComponentBase's element. (MarkupComponentBase.prototype.content): Added. Like ComponentBase's content. (MarkupComponentBase.prototype._findElementRecursivelyById): Added. A fake getElementById. (MarkupComponentBase.prototype.render): Added. Like ComponentBase's render. (MarkupComponentBase.prototype.runRenderLoop): Added. In ComponentBase, we use requestAnimationFrame. In MarkupComponentBase, we keep rendering until the queue drains empty. (MarkupComponentBase.prototype.renderReplace): Added. Like ComponentBase's renderReplace but applies the transformation of classes to workaround the lack of shadow tree support in scriptless HTML. (MarkupComponentBase.prototype._applyStyleOverrides): Added. Recursively applies the transformation. (MarkupComponentBase.prototype._ensureContentTree): Added. Like ComponentBase's _ensureShadowTree. (MarkupComponentBase.reset): Added. (MarkupComponentBase._parseTemplates): Added. Parses the content & style templates, and generates the transformed fake DOM tree and stylesheet text whereby selectors in each component is modified to be unique across all components. The function to apply the necessary changes to an element is saved in the global map of components, and later used in renderReplace via _applyStyleOverrides. (MarkupComponentBase.defineElement): Added. Like ComponentBase's defineElement. (MarkupComponentBase.prototype.createEventHandler): Added. (MarkupComponentBase.createEventHandler): Added. (MarkupPage): Added. The top-level component responsible for generating a DOCTYPE, head, and body. (MarkupPage.prototype.pageTitle): Added. (MarkupPage.prototype.content): Added. Overrides the one in MarkupComponentBase to return what would be the content of the body element as opposed to the html element for the connivance of subclasses, and to match the behavior of the frontend Page class. (MarkupPage.prototype.render): Added. (MarkupPage.prototype._updateComponentsStylesheet): Added. Concatenates the transformed stylesheet of all components used. (MarkupPage.get contentTemplate): Added. (MarkupPage.prototype.generateMarkup): Added. Enqueues the page to render, spin the render loop, and generates the HTML. We enqueue the page twice in order to invoke _updateComponentsStylesheet after all subcomponent had finished rendering. * unit-tests/markup-component-base-tests.js: Added. * unit-tests/markup-element-tests.js: Added. (.createElement): Added. * unit-tests/markup-page-tests.js: Added. Canonical link: https://commits.webkit.org/201761@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232588 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
101767badd |
[Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=186305 Reviewed by Dean Jackson. Source/WebCore: * animation/CSSAnimation.idl: * animation/CSSTransition.idl: Websites/webkit.org: Add a test for the WebAnimationsCSSIntegration runtime flag. * experimental-features.html: Canonical link: https://commits.webkit.org/201718@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232537 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
6668941ba9 |
Add a demo for passive touch listeners.
* demos/passive-touches/index.html: Added. Canonical link: https://commits.webkit.org/201605@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232402 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
8e2e483588 |
OSBuildFetcher should respect maxRevision while finding OS builds to report.
https://bugs.webkit.org/show_bug.cgi?id=185925 Reviewed by Ryosuke Niwa. * server-tests/tools-os-build-fetcher-tests.js: Fix a typo in the unit tests. Added unit tests for this change. Aslo convert an existing test using async. * tools/js/os-build-fetcher.js: (prototype._fetchAvailableBuilds): It should also use 'maxRevision' to filter builds to be reported. It should use 'minRevisionOrder' when no commit has ever been submitted. (prototype._commitsForAvailableBuilds): Takes 'maxOrder' as fifth argument. 'minOrder' and 'maxOrder' should be inclusive. Canonical link: https://commits.webkit.org/201378@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232142 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
218559bcca |
Update ChartPane per change r231087.
https://bugs.webkit.org/show_bug.cgi?id=185570 Reviewed by Ryosuke Niwa. On r231087 we change the return type of AnalysisTask.create, ChartPane needs to adapt this change. * public/v3/pages/chart-pane.js: Adapted the change that AnalysisTask.create now returns an AnalysisTask object. (ChartPane.prototype.async._analyzeRange): Canonical link: https://commits.webkit.org/201377@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232141 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
b82957e38d |
Remove Source Sans Pro from WebKit website
https://bugs.webkit.org/show_bug.cgi?id=185871 Patch by Roy Reapor <rreapor@apple.com> on 2018-05-23 Reviewed by Aakash Jain. * demos/spring/index.html: Canonical link: https://commits.webkit.org/201376@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232140 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
55209fa02c |
Test infrastructure websites should use jQuery and jQuery UI hosted on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=185788 Patch by Roy Reapor <rreapor@apple.com> on 2018-05-22 Reviewed by Aakash Jain. Tools: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/summary-mock.html: * TestResultServer/static-dashboards/run-embedded-unittests.html: * TestResultServer/static-dashboards/run-unittests.html: Websites/webkit.org: * ajax/libs/jquery/jquery-1.6.2.min.js: Added. * ajax/libs/jqueryui: Added. * ajax/libs/jqueryui/jquery-ui-1.8.15.css: Added. Canonical link: https://commits.webkit.org/201336@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232085 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
57777fe61d |
Add some additional demo content to webkit.org
https://bugs.webkit.org/show_bug.cgi?id=185892 Reviewed by Tim Horton. Adds three demo pages, and some placeholder assets. * demos/extrazoom/article/constitution.jpg: Added. * demos/extrazoom/article/index.html: Added. * demos/extrazoom/login/index.html: Added. * demos/extrazoom/login/webkit.svg: Added. * demos/extrazoom/recipes/butterchicken.jpg: Added. * demos/extrazoom/recipes/chowder.jpg: Added. * demos/extrazoom/recipes/hummus.jpg: Added. * demos/extrazoom/recipes/index.html: Added. * demos/extrazoom/recipes/padthai.jpg: Added. * demos/extrazoom/recipes/pizza.jpg: Added. * demos/extrazoom/recipes/salmon.jpg: Added. * demos/extrazoom/recipes/steak.jpg: Added. * demos/extrazoom/recipes/tacos.jpg: Added. Canonical link: https://commits.webkit.org/201335@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232084 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
690e1821cf |
Host jquery on webkit.org instead of 3rd party
https://bugs.webkit.org/show_bug.cgi?id=185691 Patch by Roy Reapor <rreapor@apple.com> on 2018-05-22 Reviewed by Alexey Proskuryakov. * PrettyPatch/PrettyPatch.rb: * code-review-test.html: Canonical link: https://commits.webkit.org/201319@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232068 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
4ff938da6c |
CommitLogViewer._preceedingCommit should not always be null
https://bugs.webkit.org/show_bug.cgi?id=185540 Reviewed by Ryosuke Niwa. Fix the bug introduced in r227746 that CommitLogViewer._preceedingCommit is always null. * browser-tests/index.html: Fix expected measurement-set url. * public/v3/components/commit-log-viewer.js: (CommitLogViewer.prototype._fetchCommitLogs): CommitLogViewer._preceedingCommit should be set when fetching for preceeding revision succeeds. Canonical link: https://commits.webkit.org/201045@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231715 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ae36184bf1 |
Range bisector should check the commits for repositories without change in specified range.
https://bugs.webkit.org/show_bug.cgi?id=185269 Reviewed by Ryosuke Niwa. For repositories without a change in the specified range, we still need to use them to filter commit sets. Before this change, code does not apply filtering by those repositories against commit set. As a result, commit sets with different commits for those repositories may be chosen as bisecting commit set. * public/v3/commit-set-range-bisector.js: Updated the logic to verify range for repositories without change in range. (CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits): * unit-tests/commit-set-range-bisector-tests.js: Added a unit test to guard against this change. Canonical link: https://commits.webkit.org/200966@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231593 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
93a571ae9d |
Create analysis task should sync analysis task status after creation.
https://bugs.webkit.org/show_bug.cgi?id=185222 Reviewed by Ryosuke Niwa. * public/v3/models/analysis-task.js: (AnalysisTask.async.create): Fetch newly-created analysis task right about its creation. (AnalysisTask): * tools/js/measurement-set-analyzer.js: (MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet): Adjust as 'AnalysisTask.create' now returns an anlysis task instance. (MeasurementSetAnalyzer): * unit-tests/analysis-task-tests.js: Added a unit test for this change. (async): * unit-tests/measurement-set-analyzer-tests.js: Update unit tests accordingly. Fix a typo in one previous unit test. (async): Canonical link: https://commits.webkit.org/200731@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231296 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
780bf260fb |
Write a script that detects chart changes by using v3 API.
https://bugs.webkit.org/show_bug.cgi?id=184419 Reviewed by Ryosuke Niwa. Added a script that detects chart changes and schedule confirming analysis task. * browser-tests/async-task-tests.js: Added a unit test for 'AsyncTask'. * browser-tests/index.html: Added import for 'AsyncTask' for testing. * public/shared/statistics.js: Make 'findRangesForChangeDetectionsWithWelchsTTest' defaults to 0.99 one sided possibility. (Statistics.new.this.findRangesForChangeDetectionsWithWelchsTTest): * public/v3/async-task.js: (AsyncTask.isAvailable): Helper function to determine whether AsyncTask is available or not as 'Worker' is not available in nodejs. (AsyncTask): * public/v3/models/bug.js: Export as a module. * public/v3/models/measurement-set.js: (MeasurementSet.prototype._invokeSegmentationAlgorithm): Added a check to avoid using AsyncTask when running in NodeJs. (MeasurementSet): * server-tests/resources/common-operations.js: Added a helper function to assert certain exception is thrown. (async.assertThrows): * tools/js/measurement-set-analyzer.js: Added 'MeasurementSetAnalyzer' module for analyzing measurement set. (MeasurementSetAnalyzer): (MeasurementSetAnalyzer.prototype.async.analyzeOnce): (MeasurementSetAnalyzer.measurementSetListForAnalysis): (MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet): * tools/js/v3-models.js: Added import for 'Bug' object. * tools/run-analysis.js: Added this script to detect measurement set changes. (main): (async.analysisLoop): * unit-tests/measurement-set-analyzer-tests.js: Added unit tests for 'MeasurementSetAnalyzer'. * unit-tests/resources/mock-v3-models.js: Reset 'MeasurementSet._set' every time. Update mock platform to include lastModifiedByMetric information. (MockModels.inject): Canonical link: https://commits.webkit.org/200671@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231225 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3460bf37ba |
Creating a custom analysis task after fetching all analysis tasks fail
https://bugs.webkit.org/show_bug.cgi?id=184641 Reviewed by Saam Barati. The bug was caused by AnalysisTask._fetchSubset not fetching the analysis task when all analysis tasks had previously been fetched (AnlaysisTask._fetchAllPromise is set) even when noCache is set to true. Fixed it by ignornig _fetchAllPromise when noCache is set to true. This patch also adds noCache argument to AnalysisTask.fetchById and reverts the inadvertent change in r226836 to always set noCache to true in this function. * public/v3/models/analysis-task.js: (AnalysisTask.fetchById): Added noCache argument instead of always specifying true, and modernized the code. (AnalysisTask._fetchSubset): Fixed the bug. See above description. * public/v3/models/test-group.js: (TestGroup.createWithTask): Set noCache to true when calling AnalysisTask.fetchById here. * unit-tests/analysis-task-tests.js: Added test cases for AnalysisTask.fetchById, including a test to make sure it doesn't fetch the specified analysis task when noCache is set to false and all analysis tasks had previously been fetched for the aforementioned revert of the inadvertent change in r226836. (sampleAnalysisTasks): Renamed from sampleAnalysisTasks as the result contains multiple analysis tasks. * unit-tests/test-groups-tests.js: Added a test case for TestGroup.createWithTask Canonical link: https://commits.webkit.org/200638@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231183 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
744b1a67ef |
REGRESSION(r230960): Browser tests under TimeSeriesChart fetchMeasurementSets all fail
https://bugs.webkit.org/show_bug.cgi?id=185125 Reviewed by Saam Barati. The bug was caused by mock-remote-api.js always loading PrivilegedAPI using require, which doesn't work in a browser. Fixed the bug by explicitly requiring the right kind of PrivilegedAPI in each unit test instead. * unit-tests/analysis-task-tests.js: * unit-tests/buildbot-syncer-tests.js: * unit-tests/commit-log-tests.js: * unit-tests/commit-set-range-bisector-tests.js: * unit-tests/commit-set-tests.js: * unit-tests/measurement-set-tests.js: * unit-tests/privileged-api-tests.js: * unit-tests/resources/mock-remote-api.js: (MockRemoteAPI.inject): Take PrivilegedAPI instead of the type string. Also fixed a bug that _token wasn't unset after each unit test, and superfluous initializations of originalRemoteAPI and originalPrivilegedAPI. * unit-tests/test-groups-tests.js: Canonical link: https://commits.webkit.org/200637@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231180 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
680343a2a0 |
MeasurementSet._constructUrl should construct absolute url.
https://bugs.webkit.org/show_bug.cgi?id=185137 Reviewed by Ryosuke Niwa. MeasurementSet._constructUrl should not construct an url with relative path. * public/v3/models/measurement-set.js: Should use '/api/measurement-set...' and '/data/measurement-set-...' for uncached and cached fetching. * unit-tests/measurement-set-tests.js: Updated unit tests. (const.set MeasurementSet): Canonical link: https://commits.webkit.org/200629@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231169 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
a76679c8d7 |
Extend create-analysis-test API to be able to create with confirming test group.
https://bugs.webkit.org/show_bug.cgi?id=184958 Reviewed by Ryosuke Niwa. Extend create-analysis-test API to be able to create an analysis task with confirming test group. Update create analysis task UI in chart pane to adapt this new API. Refactored '/privileged-api/create-test-group' API to share some creating test group logic with '/privileged-api/create-analysis-task' API. Moved the shared logic to commit-sets-helpers.php. * public/api/analysis-tasks.php: Use 'require_once' instead of 'require'. * public/include/commit-sets-helpers.php: Added. (create_test_group_and_build_requests): A helper function that creates test group and build requests for a analysis task. In long term, this should be a class to avoid passing long argument list around. (insert_commit_sets_and_construct_configuration_list): Based on commit sets returns build and test configurations. (insert_build_request_for_configuration): Insert build requests based on configuration. (commit_sets_from_revision_sets): Returns commit sets from given revision set list. * public/privileged-api/create-analysis-task.php: Added the ability to create analysis task with confirming test groups when repetition count is specified. * public/privileged-api/create-test-group.php: Moved shared function to commit-sets-helpers.php. * public/v3/models/analysis-task.js: (AnalysisTask.create): Instead of accepting run ids, it now accepts points and test group name and confirming iterations. It will conditionally add test group information into parameter when confirming iterations is a positive number. (AnalysisTask): * public/v3/models/commit-set.js: (CommitSet.revisionSetsFromCommitSets): Move 'TestGroup._revisionSetsFromCommitSets' since CommitSet class is more appropriate place and it will be shared by both TestGroup and AnalysisTask (CommitSet): * public/v3/models/test-group.js: (TestGroup.createWithTask): Adapt 'CommitSet.revisionSetsFromCommitSets'. (TestGroup.createWithCustomConfiguration): Adapt 'CommitSet.revisionSetsFromCommitSets'. (TestGroup.createAndRefetchTestGroups): Adapt 'CommitSet.revisionSetsFromCommitSets'. (TestGroup._revisionSetsFromCommitSets): Deleted and moved to 'CommitSet.revisionSetsFromCommitSets'. * public/v3/pages/chart-pane.js: (ChartPane.prototype.didConstructShadowTree): Added the logic to disable options when checkbox for creating confirming test group is unchecked. (ChartPane.prototype._analyzeRange): Conditionally create confirming test group from UI. (ChartPane.cssTemplate): * server-tests/privileged-api-create-analysis-task-tests.js: Added unit tests. Added a unit test for 'NodePrivilegedAPI'. * unit-tests/analysis-task-tests.js: Added unit tests. * unit-tests/commit-set-tests.js: Added unit test for 'CommitSet.revisionSetsFromCommitSets'. * unit-tests/resources/mock-remote-api.js: Reset csrf token when BrowserPrivilegedAPI is used. (MockRemoteAPI.inject): Canonical link: https://commits.webkit.org/200553@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231087 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
a65d83898f |
Update code style guidelines to mention braced initialization style.
https://bugs.webkit.org/show_bug.cgi?id=185053 Reviewed by Ryosuke Niwa. * code-style.md: Add a clause to the Spacing section about braced initialization. (Also, fix an erroneous element ID on a neighboring line.) Canonical link: https://commits.webkit.org/200551@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231085 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
6092fcc1e7 |
Tool scripts should not use PrivilegedAPI from 'public/v3/privileged-api.js'.
https://bugs.webkit.org/show_bug.cgi?id=184766 Reviewed by Ryosuke Niwa. For tools, we should not use PrivilegedAPI for tools as current PrivilegedAPI is used by UI and it is unnecessary to generate CSRF token for tools. Will post a followup patch that creates a PrivilegedAPI used by tools. Make a change on TestServer.inject and MockRemoteAPI.inject to allow specifying BrowserPrivilegedAPI or NodePrivilegedAPI in the test. Currently defaults to BrowserPrivilegedAPI as this is the test behavior before this change. * server-tests/resources/common-operations.js: Allow passing type of privileged api information to TestServer.inject. * server-tests/resources/test-server.js: Conditionally inject PrivilegedAPI based on type of privileged api. (TestServer.prototype.inject): (TestServer): * server-tests/tools-buildbot-triggerable-tests.js: Updated 'prepareServerTest' invocation. * server-tests/tools-os-build-fetcher-tests.js: Updated 'prepareServerTest' invocation. * server-tests/tools-sync-buildbot-integration-tests.js: Temporarily injecting BrowserPrivilegedAPI for mocking UploadedFile. The actual script does not rely on BrowserPrivilegedAPI at all. (async.createTestGroupWihPatch): (beforeEach): * tools/js/privileged-api.js: Added NodePrivilegedAPI (NodePrivilegedAPI.prototype.sendRequest): (NodePrivilegedAPI.configure): Configure the slave name and password. (NodePrivilegedAPI): * tools/js/v3-models.js: Removed the import of PrivilegedAPI. * unit-tests/privileged-api-tests.js:. Added unit tests for NodePrivilegedAPI. * unit-tests/resources/mock-remote-api.js: Conditionally inject PrivilegedAPI based on the type of privileged api. (MockRemoteAPI.inject): Canonical link: https://commits.webkit.org/200433@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230960 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1fa350d82d |
Revision information returned by querying measurement set api with analysis task id should contain commit order.
https://bugs.webkit.org/show_bug.cgi?id=184902 Reviewed by Ryosuke Niwa This is a bug fix for r230719 which does not cover the case while querying `measurement-set.php?analysisTask=$task_id` * public/api/measurement-set.php: AnalysisResultsFetcher.fetch_commits results should contains commit order. * server-tests/api-measurement-set-tests.js: Added unit test for this change. Canonical link: https://commits.webkit.org/200414@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230940 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
f13d7e6f6c |
Add a bisect button to automatically schedule bisecting A/B tasks.
https://bugs.webkit.org/show_bug.cgi?id=183888 Reviewed by Ryosuke Niwa. Extended AnalysisTask's ability to figure out bisecting A/B tasks based on existing data points and test groups. Updated analysis page UI to show bisect button which will only appear when the middle commit set of the range in test group can be found. Finding middle commit set algorithm is described as follows: 1. Find all commits from multiple repositories among the ranges specified by two commit sets in test group. In the meanwhile, merge all commits that have commit time into a single list. For commits only have commit order, put those commits into separate lists. 2. Filter all the available commit sets in current analysis task by keeping the ones have exact repositories as the two commit sets in specified test group, and every commit of a commit set is in side the commit range. After filtering the commit sets, sort the remaining ones and only keep one commit set if multiple commit sets are equal to each other. 3. Among commits processed by step 2, find the commit sets that have the commit which is closest to the middle of all commits that have commit time created from step 1. 4. Among commits processed by step 3, find the commit sets that have the commit which is closest to the middle of commits that only have commit order and categorized by repository. We have to iterate through repository as commit order is not granted to be comparable between different repositories. 5. If more than one commit sets are found, choose the middle commit set. * public/v3/commit-set-range-bisector.js: Added. (CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits): Instead of naively returning the middle of existing commit set array, this function selects a bisect bisection points that is closest to actually middle of the revision range based on all revisions reported to performance dashboard. (CommitSetRangeBisector._findCommitSetsWithinRange): Helper function to find commit sets those are in specified range. (CommitSetRangeBisector._orderCommitSetsByTimeAndOrderThenDeduplicate): Helper function to sort and deduplicate commit sets. (CommitSetRangeBisector._closestCommitSetsToBisectingCommitByTime): Helper function to find the commit sets those are closest to the middle of among all the commits in the range that have commit time. (CommitSetRangeBisector._findCommitSetsClosestToMiddleOfCommitsWithOrder): Helper function which goes through all repositories the commit of which has commit order, and find the commit sets those are closest to the middle of commits for each repository. (CommitSetRangeBisector._buildCommitToCommitSetMap): Helper function to builder mapping from a commit to commit sets those contain this commit. (CommitSetRangeBisector._findCommitClosestToMiddleIndex): Helper function to find closest commit to the middle of index. (CommitSetRangeBisector): * public/v3/index.html: Imports 'public/v3/commit-set-range-bisector.js'. * public/v3/models/analysis-task.js: (AnalysisTask.prototype.async.commitSetsFromTestGroupsAndMeasurementSet): Aggregates all existing commit sets in test groups of current analysis tasks. * public/v3/models/commit-log.js: (CommitLog.prototype.hasCommitTime): A helper function determine whether a commit has a commit time. For commit that does not have time, server will return commit time as zero. As it is unrealistic for a commit has commit time 0, it would be safe to assume a valid commit time is greater than 0. (CommitLog.prototype.hasCommitOrder): Returns whether a commit has a commit oder. (CommitLog.hasOrdering): Determine whether we can order two commits by commit time or commit order. (CommitLog.orderTwoCommits): Order two commits incrementally. * public/v3/models/commit-set.js: (CommitSet.prototype.hasSameRepositories): A helper function to determine whether a commit set has same repositories as current repository. (CommitSet.containsRootOrPatchOrOwnedCommit): A helper function to determine whether current commit set has root, patch or owned commit. (CommitSet.commitForRepository): This function defined twice identically, remove one of them. * public/v3/models/test-group.js: Make '_computeRequestedCommitSets' a static function as it does not use any instance variables. * public/v3/pages/analysis-task-page.js: Added bisect button. (AnalysisTaskTestGroupPane): (AnalysisTaskTestGroupPane.prototype.didConstructShadowTree): (AnalysisTaskTestGroupPane.prototype.setTestGroups): Update 'setTestGroups' to update _bisectingCommitSetByTestGroup when the test groups changes. (AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup): Added code to conditionally show bisect button. Bisect button will only show when there is a middle commit set for that test group. (AnalysisTaskTestGroupPane.htmlTemplate): (AnalysisTaskTestGroupPane.cssTemplate): (AnalysisTaskPage.prototype.didConstructShadowTree): (AnalysisTaskPage.prototype._retryCurrentTestGroup): (AnalysisTaskPage.prototype.async._bisectCurrentTestGroup): A callback when bisect button is clicked. * tools/js/v3-models.js: * unit-tests/commit-log-tests.js: Added unit tests for 'CommitLog.hasCommitTime', 'CommitLog.hasCommitOrder', 'CommitLog.orderTwoCommits', 'CommitLog.hasOrdering'. * unit-tests/commit-set-range-bisector-tests.js: Unit tests for 'CommitSetRangeBisector.commitSetClosestToMiddleOfAllCommits'. * unit-tests/commit-set-tests.js: Added unit tests for 'CommitSet.hasSameRepositories' and 'CommitSet.containsRootOrPatchOrOwnedCommit'. Canonical link: https://commits.webkit.org/200299@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230821 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
0bc5c6ce6f |
Commit order should always be returned by api.
https://bugs.webkit.org/show_bug.cgi?id=184674 Reviewed by Ryosuke Niwa. Commit order sometimes missing in CommitLog object before this change. This makes ordering commits logic become unnecessarily complicate. This change will ensure commit order is always fetched for a CommitLog object. Change measurement-set API to contain commit order information. Change commits API to contain commit order information. * public/api/measurement-set.php: Includes commit order information. * public/include/commit-log-fetcher.php: * public/v3/models/commit-log.js: Added a function to return order information. (CommitLog.prototype.updateSingleton): This function should update commit order. (CommitLog.prototype.order): Returns the order of commit. * public/v3/models/commit-set.js: (MeasurementCommitSet): Update MeasurementCommitSet to contain commit order information when creating CommitLog object. * server-tests/api-measurement-set-tests.js: Updated unit tests. * unit-tests/analysis-task-tests.js: Update unit tests to contain commit order information in mock data. (measurementCluster): * unit-tests/commit-log-tests.js: Added unit tests for CommitLog.order. * unit-tests/commit-set-tests.js: Added commit order in MeasurementCommitSet. * unit-tests/measurement-adaptor-tests.js: Updated unit tests to contain commit order information in mock data. * unit-tests/measurement-set-tests.js: Updated unit tests to contain commit order information in mock data. Canonical link: https://commits.webkit.org/200208@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230719 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
c3369228c3 |
Make it possible to hide some repository groups
https://bugs.webkit.org/show_bug.cgi?id=184632 Reviewed by Saam Barati. Added the ability to hide repository groups in the custom analysis task configurator from the admin page. Hidden repositroy groups will continue to function for existing test groups. This is purely an UI change. * init-database.sql: Added repositorygroup_hidden as a new column to triggerable_repository_groups. * public/admin/triggerables.php: Added a form field to hide a repository group. * public/include/manifest-generator.php: Include hidden state in the manifest file. * public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator.prototype._renderRepositoryPanes): Filter out hidden repository groups. * public/v3/models/triggerable.js: (prototype.isHidden): Added. * server-tests/api-manifest-tests.js: Updated an existing test case to test a hidden repository group. Canonical link: https://commits.webkit.org/200164@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230666 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
8a7176b2a4 |
Added 'CommitSet.diff' which will be shared between multiple independent incoming changes.
https://bugs.webkit.org/show_bug.cgi?id=184368 Reviewed by Ryosuke Niwa. 'CommitSet.diff' will be used in multiple independent incoming changes. It would be easier to make this a separate change to parallelize the changes depends on this API. * public/v3/models/commit-set.js: (CommitSet.prototype.createNameWithoutCollision): Moved from 'AnalysisTaskPage' and make it more generic. (CommitSet.prototype.diff): Describe differences between 2 commit sets including commit, root and patch differences. * public/v3/pages/analysis-task-page.js: Move 'AnalysisTaskPage._createRetryNameForTestGroup' to CommitSet in a more generic form. (AnalysisTaskPage.prototype._retryCurrentTestGroup): Use 'CommitSet.withoutRootPatchOrOwnedCommit' instead. (AnalysisTaskPage.prototype._createRetryNameForTestGroup): Moved to CommitSet in a more generic form. * unit-tests/commit-set-tests.js: Added unit tests for 'CommitSet.diff'. Canonical link: https://commits.webkit.org/199971@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230441 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ac1bb1219b |
Fix a bug introduced in r230295 that A/B test result is not shown.
https://bugs.webkit.org/show_bug.cgi?id=184350 Reviewed by Ryosuke Niwa. result.label should be assigned in `TestGroup._computeRequestedCommitSets`. * public/v3/models/test-group.js: (TestGroup.prototype._computeRequestedCommitSets): Canonical link: https://commits.webkit.org/199904@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230322 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
d3f7a2d02c |
Added UI to show potential regressions in chart with t-testing against segmentations.
https://bugs.webkit.org/show_bug.cgi?id=184131 Reviewed by Ryosuke Niwa. Added UI in the chart-pane so that user can use new option in trendline which not only shows the segmentation, but also t-test against potential changes indicated by segmentation. Fix a bug in AnalysisTaskPage that chart is not updated when change type of task changes. * public/shared/statistics.js: Added a function to t-test certain range based on segmentation results. (Statistics.supportedOneSideTTestProbabilities): (Statistics.findRangesForChangeDetectionsWithWelchsTTest): The argument `segmentations`, every 2 items in the list defines segmentation, that is why the index incremental is 2 in this funcion. * public/v3/components/chart-pane-base.js: Will select the range if user clicks on a suggested annotation. (ChartPaneBase.prototype.configure): (ChartPaneBase.prototype._didClickAnnotation): * public/v3/components/chart-styles.js: (ChartStyles.annotationFillStyleForTask): Added 'annotationFillStyleForTask' to determine the fillStyle for annotation based on change type of a analysis task. * public/v3/components/interactive-time-series-chart.js: (InteractiveTimeSeriesChart.prototype._findAnnotation): Also need to search among suggested annotaions. * public/v3/components/time-series-chart.js: Introduced 'suggested annotaion' which does not have an existing task and is suggested by t-test based on segmentation. (TimeSeriesChart): (TimeSeriesChart.prototype.setSuggestedAnnotations): (TimeSeriesChart.prototype.allAnnotations): Returns both annotations with and without analysis task. (TimeSeriesChart.prototype._layoutAnnotationBars): Should take all annotations in the calculation. * public/v3/models/measurement-set.js: (MeasurementSet.prototype.metricId): Returns metric id. * public/v3/models/metric.js: (Metric.prototype.summarizeForValues): Added helper function to summarize a given value * public/v3/models/test-group.js: (TestGroup.prototype.compareTestResults): Adapted to use 'Metric.summarizeForValues'. * public/v3/pages/chart-pane.js: Added 'Segmentation with t-test analysis' to 'ChartTrendLineTypes'. (ChartPane.prototype._renderTrendLinePopover): (ChartPane.prototype.async._updateTrendLine): make it an async function. * unit-tests/statistics-tests.js: Added unit tests for 'findRangesForChangeDetectionsWithWelchsTTest'. Canonical link: https://commits.webkit.org/199881@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230295 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1149fe7486 |
Unreviewed. Correct the path to merchant-validation-config.php.
* demos/payment-request/merchant-validation.php: Canonical link: https://commits.webkit.org/199865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230277 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
377c8d8caa |
Add Payment Request demo content.
Rubber-stamped by Zalan Bujtas. * demos/payment-request/demo.js: Added. (string_appeared_here.async.applePayButtonClicked): * demos/payment-request/index.html: Added. * demos/payment-request/merchant-validation.php: Added. * demos/payment-request/squirrelfish.png: Added. * demos/payment-request/style.css: Added. (@supports (-webkit-appearance: -apple-pay-button)): (.apple-pay-not-supported::before): (.hidden): (#black-buttons > .apple-pay-button): (#white-buttons > .apple-pay-button): (#demo): (#description): Canonical link: https://commits.webkit.org/199861@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230270 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
047ed30901 |
Remove deprecated Buildbot 0.8 code from Perf syncing scripts
https://bugs.webkit.org/show_bug.cgi?id=183915 Reviewed by Ryosuke Niwa. * server-tests/resources/mock-data.js: (MockData.buildbotBuildersURLDeprecated): Deleted. (MockData.mockBuildbotBuildersDeprecated): Deleted. (MockData.pendingBuildDeprecated): Deleted. (MockData.runningBuildDeprecated): Deleted. (MockData.finishedBuildDeprecated): Deleted. * tools/js/buildbot-syncer.js: (BuildbotBuildEntryDeprecated): Deleted. (BuildbotBuildEntryDeprecated.prototype.initialize): Deleted. (BuildbotBuildEntryDeprecated.prototype.url): Deleted. (BuildbotSyncer.prototype.scheduleBuildOnBuildbotDeprecated): Deleted. (BuildbotSyncer.prototype._pullRecentBuildsDeprecated): Deleted. (BuildbotSyncer.prototype.pathForPendingBuildsJSONDeprecated): Deleted. (BuildbotSyncer.prototype.pathForBuildJSONDeprecated): Deleted. (BuildbotSyncer.prototype.pathForForceBuildDeprecated): Deleted. (BuildbotSyncer.prototype.url): Deleted. (BuildbotSyncer.prototype.urlForBuildNumberDeprecated): Deleted. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.getBuilderNameToIDMapDeprecated): Deleted. * unit-tests/buildbot-syncer-tests.js: (smallPendingBuildDeprecated): Deleted. (smallInProgressBuildDeprecated): Deleted. (smallFinishedBuildDeprecated): Deleted. (samplePendingBuildRequestDeprecated): Deleted. (sampleInProgressBuildDeprecated): Deleted. (sampleFinishedBuildDeprecated): Deleted. Canonical link: https://commits.webkit.org/199774@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230151 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
cc75d9c52e |
Add support for an overridable byline in blog posts
https://bugs.webkit.org/show_bug.cgi?id=183799 Reviewed by Timothy Hatcher. * wp-content/themes/webkit/functions.php: Canonical link: https://commits.webkit.org/199458@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229816 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
c7ae3c1d60 |
Update Perf buildbot syncing scripts for Buildbot 0.9
https://bugs.webkit.org/show_bug.cgi?id=175969 Reviewed by Ryosuke Niwa. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.initSyncers): Switch from Deprecated version to new version of getBuilderNameToIDMap. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable): Switch from Deprecated version to new version of scheduleRequest. (BuildbotSyncer.prototype.pullBuildbot): Switch from Deprecated version to new version of pathForPendingBuilds, _pullRecentBuilds and BuildbotBuildEntry. Parse the pending build-requests data in Buildbot 0.9 format. * unit-tests/buildbot-syncer-tests.js: Updated as per Buildbot 0.9 code. * server-tests/tools-sync-buildbot-integration-tests.js: Ditto. * server-tests/tools-buildbot-triggerable-tests.js: Ditto. * server-tests/resources/mock-data.js: Ditto. (MockData.pendingBuildsUrl): Method to construct pendingBuildsUrl in Buildbot 0.9 format. (MockData.recentBuildsUrl): Ditto for recent builds url. (MockData.statusUrl): Ditto for status url. (MockData.builderIDForName): Method to get builder ID from builder name. Canonical link: https://commits.webkit.org/199388@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229728 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ed912b891c |
BuildbotBuildEntry creates an incorrect url for pending builds
https://bugs.webkit.org/show_bug.cgi?id=183670 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotBuildEntry.prototype.initialize): Fetch buildrequestid from Buildbot. (BuildbotBuildEntry.prototype.url): Construct url for pending build using buildrequestid from Buildbot. * unit-tests/buildbot-syncer-tests.js: Updated unit-test. Canonical link: https://commits.webkit.org/199354@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229687 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
736265431a |
Add support for boolean properties in BuildbotSyncer while submitting build request to Buildbot 0.9 server
https://bugs.webkit.org/show_bug.cgi?id=183638 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotSyncer._parseRepositoryGroupPropertyTemplate): Allow boolean properties. * server-tests/tools-sync-buildbot-integration-tests.js: Tests for boolean properties. * unit-tests/buildbot-syncer-tests.js: Ditto. Canonical link: https://commits.webkit.org/199298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229618 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
f2694b56b9 |
Create analysis task should use build time as fallback when commit time is not available.
https://bugs.webkit.org/show_bug.cgi?id=183309 Reviewed by Ryosuke Niwa. Added the ability to schedule analysis task for the range without commit time. * public/privileged-api/create-analysis-task.php: Use build time as fallback. * server-tests/privileged-api-create-analysis-task-tests.js: Added a unit test for this change. Canonical link: https://commits.webkit.org/199203@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229501 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
0a387a975c |
BuildbotBuildEntry for buildbot 0.9 uses incorrect buildrequestid
https://bugs.webkit.org/show_bug.cgi?id=183194 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotBuildEntry.prototype.initialize): Updated _buildRequestId to use correct build-request-id, as set in syncer._buildRequestPropertyName. (BuildbotSyncer.prototype.pathForPendingBuilds): Updated url to fetch properties for build-requests. * unit-tests/buildbot-syncer-tests.js: (sampleBuildData): Updated sampleBuildData with correct build-request-id in properties. Added properties to samplePendingBuildRequestData. Canonical link: https://commits.webkit.org/199191@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229489 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
56886825e8 |
Rename samplePendingBuild to samplePendingBuildRequest
https://bugs.webkit.org/show_bug.cgi?id=183171 Reviewed by Ryosuke Niwa. * unit-tests/buildbot-syncer-tests.js: (samplePendingBuildRequests): Renamed from samplePendingBuild. (samplePendingBuildRequestDeprecated): Renamed from samplePendingBuildDeprecated. (samplePendingBuild): Deleted. (samplePendingBuildDeprecated): Deleted. Canonical link: https://commits.webkit.org/198904@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229101 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1ce360e58d |
Add widescreen layout class for the Downloads page
https://bugs.webkit.org/show_bug.cgi?id=182948 Reviewed by Alexey Proskuryakov. * wp-content/themes/webkit/downloads.php: Added .widescreen for full-width layout. Canonical link: https://commits.webkit.org/198718@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228820 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
e23ffdda97 |
Apply Bugzilla patches for CVE-2018-5123
https://bugs.webkit.org/show_bug.cgi?id=182884 Patch by Ling Ho <lingho@apple.com> on 2018-02-16 Reviewed by Alexey Proskuryakov. * Bugzilla/CGI.pm: (_prevent_unsafe_response): (header): * attachment.cgi: Canonical link: https://commits.webkit.org/198646@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228584 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
b5e8d45a5e |
Added a redirect for /nightly to /downloads/.
https://bugs.webkit.org/show_bug.cgi?id=182743 <rdar://problem/35126697> Reviewed by Lucas Forschler. * .htaccess: Canonical link: https://commits.webkit.org/198529@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228433 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
37934a172d |
Add support for submitting build request to Buildbot 0.9 server in BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=182218 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype.scheduleRequest): Added assert to ensure forcescheduler property is always defined. Builds can not be scheduled on Buildbot without this property. Updated unit-tests and server-tests accordingly. (BuildbotSyncer.prototype.scheduleBuildOnBuildbotDeprecated): Method to schedule build request on Buildbot 0.8 server. (BuildbotSyncer.prototype.scheduleBuildOnBuildbot): Method to schedule build request on Buildbot 0.9 server. (BuildbotSyncer.prototype.pathForForceBuildDeprecated): Path for scheudling build on Buildbot 0.8 server. (BuildbotSyncer.prototype.pathForForceBuild): Path for scheudling build on Buildbot 0.9 server. * unit-tests/buildbot-syncer-tests.js: (smallConfiguration): Added test-case for scheduleBuildOnBuildbot. Also added forcescheduler property in sample data. * server-tests/resources/mock-data.js: Added forcescheduler property in sample data. * server-tests/tools-buildbot-triggerable-tests.js: Updated server-tests to take care of added forcescheduler property. Canonical link: https://commits.webkit.org/198280@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228099 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
82a8c41859 |
Add support for fetching recent builds in Buildbot 0.9 format in BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=179743 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype._pullRecentBuildsDeprecated): Renamed from _pullRecentBuilds. This method fetch from Buildbot 0.8 server. (BuildbotSyncer.prototype._pullRecentBuilds): Method to fetch recent builds from Buildbot 0.9 server. (BuildbotSyncer.prototype.pathForRecentBuilds): URL for fetching recent builds from Buildbot 0.9 server. (BuildbotSyncer.prototype.pathForBuildJSONDeprecated): Renamed from pathForBuildJSON. * unit-tests/buildbot-syncer-tests.js: (_pullRecentBuilds.it): unit-test - should not fetch recent builds when count is zero. (_pullRecentBuilds.it): unit-test - should pull the right number of recent builds. (_pullRecentBuilds.it): unit-test - should handle unexpected error while fetching recent builds. (_pullRecentBuilds.it): unit-test - should create BuildbotBuildEntry after fetching recent builds. Canonical link: https://commits.webkit.org/198279@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228098 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
a27dd2a272 |
Create BuildbotBuildEntry in Buildbot syncer in Buildbot 0.9 format
https://bugs.webkit.org/show_bug.cgi?id=182036 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotBuildEntry): Class for Buildbot entry in Buildbot 0.9 data format. (BuildbotBuildEntryDeprecated): Renamed from BuildbotBuildEntry, sub-classed from BuildBotEntry. Handles Buildbot 0.8 data format. (BuildbotBuildEntryDeprecated.prototype.url): URL in buildbot 0.8 format. (BuildbotSyncer.prototype.builderID): Added. (BuildbotSyncer.prototype.pathForPendingBuildsJSONDeprecated): Renamed from BuildbotSyncer.prototype.pathForPendingBuildsJSON. (BuildbotSyncer.prototype.pathForPendingBuilds): Path for pending builds in Buildbot 0.9 format. (BuildbotSyncer.prototype.urlForBuildNumberDeprecated): Deprecated. Renamed from urlForBuildNumber. (BuildbotSyncer.prototype.urlForBuildNumber): Updated in Buildbot 0.9 format. (BuildbotSyncer.prototype.urlForPendingBuild): Buildbot 0.9 has individual webpage for pending buildrequests as well. URL to that page. * unit-tests/buildbot-syncer-tests.js: Renamed BuildbotBuildEntry to BuildbotBuildEntryDeprecated. (sampleBuildData): Sample build data. Common method for in-progress and finished build data. (samplePendingBuildData): Sample data for a pending build. Separate method so that we can easily create sample data with multiple builds. (sampleInProgressBuildData): Ditto for in-progress build. (sampleFinishedBuildData): Ditto for finished build. (samplePendingBuild): Sample data for single pending build. (sampleInProgressBuild): Ditto for in-progress build. (sampleFinishedBuild): Ditto for finished build. (samplePendingBuildDeprecated): Renamed from samplePendingBuild. (sampleInProgressBuildDeprecated): Renamed from sampleInProgressBuild. (sampleFinishedBuildDeprecated): Renamed from sampleFinishedBuild. (BuildbotBuildEntry.it: Added unit-test for creating BuildbotBuildEntry for pending build. (BuildbotBuildEntry.it: Added unit-test for creating BuildbotBuildEntry for in-progress build. (BuildbotBuildEntry.it: Added unit-test for creating BuildbotBuildEntry for finished build. (BuildbotBuildEntry.it: Added unit-test for creating BuildbotBuildEntry for mix of in-progress and finished build. Canonical link: https://commits.webkit.org/198214@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227996 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
a37a1709c2 |
Should chose the best match during 'route' if there are multiple matches.
https://bugs.webkit.org/show_bug.cgi?id=182326 Reviewed by Ryosuke Niwa. r227749 made a change that 'analysisCategoryPage' will be added before 'analysisTaskPage'. As route names for both pages starts with 'analysis', whichever added first will be chosen. For a route like 'analysis/task/1'. As a result, 'analysisCategoryPage' will be chosen and this is not expected behavior. Adding the logic on the cases when route name does not extact match the route name, always choose the longest mathcing route name. Also modernized the code of 'page-router.js' to use const & let instead of var. Added a browser test to guard against this bug. * browser-tests/index.html: Import 'page-router-tests.js'. * browser-tests/page-router-tests.js: Added unit test to guard against this bug. * public/v3/pages/page-router.js: (PageRouter.prototype.route): Added logic to find best matching in the case of inexact match. (PageRouter.prototype.pageDidOpen): (PageRouter.prototype._updateURLState): (PageRouter.prototype._serializeToHash): (PageRouter.prototype._deserializeFromHash): (PageRouter.prototype._serializeHashQueryValue): (PageRouter.prototype._deserializeHashQueryValue): (PageRouter.prototype._countOccurrences): (PageRouter): Canonical link: https://commits.webkit.org/198160@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227938 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3f2ccc8f37 |
Should fetch owner commits in build-requests-fetcher.
https://bugs.webkit.org/show_bug.cgi?id=182266 Reviewed by Ryosuke Niwa. In a build request, owner commit of a commit is not always one of a commit in the commit set. Build request api should contain owner commits in the 'commits' field of the return value. * public/include/build-requests-fetcher.php: Added logic to fetch owner commits and added them into 'commits'. * server-tests/api-build-requests-tests.js: Added a unit test. * server-tests/resources/mock-data.js: (MockData.set addTestGroupWithOwnerCommitNotInCommitSet): Added a test group with a build request, the commit set of which does not contain owner commit of one commit. Canonical link: https://commits.webkit.org/198083@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227777 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
e291a52547 |
Add the support for reporting Speedometer 2.0 results to perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=182089 <rdar://problem/36172346> Rubber-stamped by Chris Dumez. Apparently, this has always worked since the very first version of the perf dashboard added in r163688. The relevant code is at the line 313 of report-processor.php now. Added regression tests for this feature since we didn't have any tests four years ago. * server-tests/api-report-tests.js: Canonical link: https://commits.webkit.org/198057@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227750 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
34475f1868 |
REGRESSION(r225898): The perf dashboard fails to open when there are no summary pages
https://bugs.webkit.org/show_bug.cgi?id=182210 Rubber-stamped by Chris Dumez. The bug was caused by TestFreshnessPage unconditionally assuming that summaryPageConfiguration is set. Fixed it by not creating TestFreshnessPage when there are no summary pages specified. Also modernized the code to use const & let instead of var. * public/v3/main.js: (main): Canonical link: https://commits.webkit.org/198056@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227749 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1f28a07a49 |
Perf dashboard's page title can be set to a previously visited page
https://bugs.webkit.org/show_bug.cgi?id=182209 Rubber-stamped by Chris Dumez. Before this patch, opening a page and navigating away from it could result in the page title getting set to that of the previously visited page after the new page had been opened. This bug was caused by Page.render keep setting document.title even though the page is no longer the currently open page of the router. Fixed it by exiting early in Page.enqueueToRender when this page is not the currently open page of the router. Also added basic tests for Page. * browser-tests/index.html: * browser-tests/page-tests.js: Added. * public/v3/pages/page.js: (Page): Removed the unused second constructor argument. (Page.prototype.enqueueToRender): Fixed the bug. (Page.prototype.render): Use const instead of var. Canonical link: https://commits.webkit.org/198054@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227747 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
7906f2e53e |
CommitLogViewer should not fetch commits in serial
https://bugs.webkit.org/show_bug.cgi?id=182207 Rubber-stamped by Chris Dumez. Fetch both the commits in the range as well as the preceding commit at once instead of fetching the preceding commit only after the commits in the range had been fetched. * browser-tests/commit-log-viewer-tests.js: Fixed the tcoest case after r224227. * public/v3/components/commit-log-viewer.js: (CommitLogViewer.prototype._fetchCommitLogs): Fetch commits in parallel. Canonical link: https://commits.webkit.org/198053@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227746 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
80c2803f0d |
Update code style guidelines for Python
https://bugs.webkit.org/show_bug.cgi?id=179387 Rubber-stamped by Alexey Proskuryakov. * code-style.md: Canonical link: https://commits.webkit.org/197915@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227576 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
cbaa0697b6 |
Check existence of 'node_modules_dir' before creating it.
https://bugs.webkit.org/show_bug.cgi?id=182040 Reviewed by Aakash Jain. Fix the bug introduced in r227395. * tools/run-tests.py: Added directory existence check. Canonical link: https://commits.webkit.org/197912@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227573 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
070d324a37 |
Fix the bug that 'TestGroupResultsViewer' creates unnecessary rows.
https://bugs.webkit.org/show_bug.cgi?id=181967 Reviewed by Ryosuke Niwa. Fixed a bug caused by a typo in CommitSet.equals, which makes it returns incorrect results for most comparison between a CommitSet and a MeasurementCommitSet. MeasurementCommitSet does not have full information for the commits, thus, it cannot build mappings between root/patch/owner commit/requires build to repository. When querying whether a given repository needs to be built, MeasurementCommitSet will return undefined. Due to 'undefined != false', this equality check will fail. Making 'CommitSet.requiresBuildForRepository' defaults to 'false' would fix this bug. * public/v3/models/commit-set.js: (CommitSet.prototype.requiresBuildForRepository): Make it return false when key does not exist instead of 'undefined'. (CommitSet.prototype.equals): Fixed the typo that causes the bug. Use wrapped functions instead of querying the mapping directly. * unit-tests/commit-set-tests.js: Added unit tests. Canonical link: https://commits.webkit.org/197908@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227568 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
8cc4faf408 |
'run-test.py' script should make sure 'node_modules' directory exists before installing node packages.
https://bugs.webkit.org/show_bug.cgi?id=181808 Reviewed by Ryosuke Niwa. 'run-test.py' will fail if 'node_modules' does not exist before running this script. Instead of calling 'os.chdir' to change directory, use 'cwd' in subprocess instead. * tools/run-tests.py: Added the logic to ensure 'node_modules' exists. Also use 'cwd' in subprocess.call instead of calling 'os.chdir' ahead. Canonical link: https://commits.webkit.org/197803@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227395 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
fb6ec544c9 |
Extend 'ifBuilt' config key to set property based on whether certain repositories are built or not.
https://bugs.webkit.org/show_bug.cgi?id=181906 Reviewed by Ryosuke Niwa. Before this change, 'ifBuilt' will always set specified property for test properties as long as there is a build type build in the same build request group. However, this is no longer valid as we don't want to set specified property for testing when only owned commit is built in previous build. 'ifBuilt' needs to conditionally set property based on whether certain required repositories are built. Empty required repository list means no requirement on repository to set property. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype._propertiesForBuildRequest):In the case of 'built', only set property when repository requirment is meet and there is a 'build' root request in the same build request group. (BuildbotSyncer._parseRepositoryGroup): Extend 'ifBuild' to pass information based on contition. * unit-tests/buildbot-syncer-tests.js: Added unit tests. Canonical link: https://commits.webkit.org/197782@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227356 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
2c00bae566 |
Should reject updating a build request which has an associated build.
https://bugs.webkit.org/show_bug.cgi?id=181893 Reviewed by Ryosuke Niwa. Current code does not prevent submitting to same build request multiple times. This could lead to a build losing its associated build request. As a result, this build will be visible in charts which is not right. Added a check when a build request is reported. Addressed a 'FIXME' for the race condition inside ReportProcessor->resolve_build_id by surrounding it with a database transaction. * public/include/report-processor.php: Wrap adding platform and resolve_build_id with a database transaction. Add a check to make sure only a build request has no associated build can be updated. * server-tests/api-report-tests.js: Added unit tests accordingly. Canonical link: https://commits.webkit.org/197750@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227283 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
0f2feae9dc |
Should allow updating a build-request to 'canceled'.
https://bugs.webkit.org/show_bug.cgi?id=181819 Reviewed by Ryosuke Niwa. It's possible syncing script update a build-request to 'canceled' state. * public/api/build-requests.php: Added 'canceled' as an acceptable update state. * server-tests/api-build-requests-tests.js: Added a unit test to update a build-request to 'canceled'. Canonical link: https://commits.webkit.org/197710@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227234 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
725e64db44 |
Add support for builderNameToIDMap in BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=176526 Reviewed by Ryosuke Niwa. * tools/js/buildbot-syncer.js: (BuildbotSyncer._loadConfig): Added builderNameToIDMap parameter. It would be used later on. (BuildbotSyncer._resolveBuildersWithPlatforms): Ditto. (BuildbotSyncer._validateAndMergeConfig): Added builderID as a valid config parameter. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.getBuilderNameToIDMap): Method to fetch BuilderNameToIDMap from Buildbot 0.9. (BuildbotTriggerable.prototype.getBuilderNameToIDMapDeprecated): Method to fetch BuilderNameToIDMap from Buildbot 0.8. (BuildbotTriggerable.prototype.initSyncers): Updated to use getBuilderNameToIDMap. * unit-tests/buildbot-syncer-tests.js: Updated unit-tests. * server-tests/resources/mock-data.js: (MockData.buildbotBuildersURLDeprecated): URL for fetching Builders list. (MockData.buildbotBuildersURL): Ditto for Buildbot 0.9 (MockData.mockBuildbotBuildersDeprecated): Sample builders data for Buildbot 0.8 (MockData.mockBuildbotBuilders): Ditto for Buildbot 0.9 * server-tests/tools-buildbot-triggerable-tests.js: Added test for getBuilderNameToIDMap. Updated tests to handle newly added promise for fetching builders list from Buildbot. * server-tests/tools-sync-buildbot-integration-tests.js: Ditto. Canonical link: https://commits.webkit.org/197660@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227184 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
81afe6292e |
Charts can be empty when values are all identical
https://bugs.webkit.org/show_bug.cgi?id=181828 Reviewed by Alexey Proskuryakov. Fixed the bug that when SampleVarianceUpperTriangularMatrix can store -Infinity as the initial cost of some entries when the sample standard deviation between two points turns out to be 0, and cause splitIntoSegmentsUntilGoodEnough to return undefiend because no segmentation has a finite cost. Also fixed the bug that the time series chart fails to show any data points when all data points have identical values as the entire y-coordinate gets collapsed to an empty value range by adjusting the max value when min & max values are identical. * public/v3/components/time-series-chart.js: (TimeSeriesChart.prototype._ensureValueRangeCache): Raise the max slightly when min & max are identical to avoid the chart becoming empty. Otherwise valueDiff in _computeVerticalRenderingMetrics becomes 0 and value-to-y-coordinate conversion always results in NaN. * public/shared/statistics.js: (Statistics..SampleVarianceUpperTriangularMatrix): * unit-tests/statistics-tests.js: Added a test case. Canonical link: https://commits.webkit.org/197658@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227182 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ff73dd67d3 |
Don't fetch more than two builds to check duplicity of builds in ReportProcessor
https://bugs.webkit.org/show_bug.cgi?id=181786 Reviewed by Wenson Hsieh. Limit the number of builds to check to avoid using a lot of memory with a long delay. * public/include/report-processor.php: (ReportProcessor::resolve_build_id): Canonical link: https://commits.webkit.org/197647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227166 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
7960a267eb |
Rename config.json to config.json.sample
https://bugs.webkit.org/show_bug.cgi?id=181785 Reviewed by Wenson Hsieh. * .gitignore: Added config.json. * ReadMe.md: Updated the instruction. * config.json.sample: Renamed from config.json. Canonical link: https://commits.webkit.org/197619@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227133 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
4c5574c1ca |
Unreviewed build fixes in TestGroupResultsViewer.
* public/v3/components/test-group-results-viewer.js: (TestGroupResultsViewer.prototype.render): _renderCurrentMetricsLazily was never called. (TestGroupResultsViewer.prototype._buildRowForMetric): Don't try to render null or NaN. Canonical link: https://commits.webkit.org/197616@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227125 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
39fea8bd16 |
Fix perf dashboard tests for node v8
https://bugs.webkit.org/show_bug.cgi?id=181782 Reviewed by Wenson Hsieh. Fixed the various tests for node.js v8, which is the latest LTS version. * server-tests/api-manifest-tests.js: Replaced the missing Triggerable.acceptsTest by Triggerable.acceptedTests after r226836. * server-tests/api-measurement-set-tests.js: Added "Z" to the end timestamps to force UTF timezone now that Date in node.js parses using the local timezone by default. * server-tests/resources/test-server.js: (TestServer.prototype._restoreDataDirectory): Fixed the bug that this function was erroneously using the async function to rename a directory per new warnings. This code was racy, and it used to cause a test error occasionally. * server-tests/tools-os-build-fetcher-tests.js: Fixed the assertions to make it work in the latest node.js. * unit-tests/measurement-set-tests.js: (waitForMeasurementSet): Wait for setTimeout to cycle through all microtasks instead of just two microtask cycles. Canonical link: https://commits.webkit.org/197615@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227122 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
134cc52361 |
ΩUpdate the default hyperlink for Speedometer to Speedometer 2.0.
Rubber-stamped by Saam Barati. * index.html: Canonical link: https://commits.webkit.org/197512@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226960 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
aad1fea8ac |
Cannot trigger Dromaeo tests on internal perf try bots
https://bugs.webkit.org/show_bug.cgi?id=179712 Reviewed by Chris Dumez. The bug was caused by CustomAnalysisTaskConfigurator only showing the top-level tests that are triggerable instead of the list of highest level tests that are triggerable. * public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator.prototype.selectTests): Update the test group name when a new test is picked. (CustomAnalysisTaskConfigurator.prototype.selectPlatform): (CustomAnalysisTaskConfigurator.prototype._didUpdateSelectedPlatforms): Extracted from selectPlatform. (CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Include the list of all highest-level tests which are triggerable. (CustomAnalysisTaskConfigurator.prototype._renderRadioButtonList): Added labelForObject which returns the label to be used in the list items. For tests, we want to use the full name, not just its label. * public/v3/models/analysis-task.js: (AnalysisTask.fetchById): * public/v3/models/triggerable.js: (Triggerable.prototype.acceptedTests): Added. (Triggerable.prototype.acceptsTest): Deleted. Canonical link: https://commits.webkit.org/197440@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226836 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
5b5673042a |
Merge the latest version of Speedometer 2.0 to browserbench.org against at r226694.
Rubber-stamped by Keith Miller. * Speedometer2.0: Replaced with PerformanceTests/Speedometer. Canonical link: https://commits.webkit.org/197328@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226695 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
981423f065 |
== Rolled over to ChangeLog-2018-01-01 ==
Canonical link: https://commits.webkit.org/197044@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226320 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
740276c85a |
Test freshness page should use build time instead of commit time to determine the freshness of the data point.
https://bugs.webkit.org/show_bug.cgi?id=181156 Reviewed by Alexey Proskuryakov. Build time is a better data point freshness indicator. Test freshness page is designed to highlight test failures. Using commit time will result in including the compiling and test running time which does not quite match the definition of data point fresshness. * public/v3/pages/test-freshness-page.js: (TestFreshnessPage.prototype._fetchTestResults): Use build time instead of commit time. Canonical link: https://commits.webkit.org/197027@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226303 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
fa0cb4a593 |
Add UI for A/B testing on owned commits.
https://bugs.webkit.org/show_bug.cgi?id=177993 Reviewed by Ryosuke Niwa. Customizable test group form should support specifying and A/B testing owned commits. Introduce 'IntermediateCommitSet' to achieve the goal of specifying owned commits for A/B test. In order to support configure A/B testing that may need to add/remove owned commits, CommitSet may be the closest thing we can get. However, it is a subclass of DataModelObject, which means CommitSet is a representation of 'commit_sets' table and can only be updated from server data. Thus, we want something like CustomCommitSet that is not a representation of database table, but unlike CustomCommitSet, it should store information about commits rather than a revision. As a result, IntermediateCommitSet is introduced. For a longer term, we may replace CustomCommitSet with IntermediateCommitSet as it carries more information and could potentially simplify some CustomCommitSet related APIs by using commit id instead of commit revision. Extend ButtonBase class so that we can enable/disable a button. * public/v3/components/button-base.js: (ButtonBase): (ButtonBase.prototype.setDisabled): Enable/disable a button. (ButtonBase.prototype.render): (ButtonBase.cssTemplate): Added css rule for disabled button. * public/v3/components/combo-box.js: Added. (ComboBox): (ComboBox.prototype.didConstructShadowTree): Setup text field. (ComboBox.prototype.render): (ComboBox.prototype._candidateNameForCurrentIndex): Returns candidate name based on current index. (ComboBox.prototype._candidateElementForCurrentIndex): Returns a list element based on current index. (ComboBox.prototype._autoCompleteIfOnlyOneMatchingItem): Supports auto completion. (ComboBox.prototype._moveCandidate): Supports arrow up/down. (ComboBox.prototype._updateCandidateList): Hide/unhide candidate list and high-light selected candidate. (ComboBox.prototype._renderCandidateList): Render candidate list base on value on text field. (ComboBox.htmlTemplate): (ComboBox.cssTemplate): * public/v3/components/customizable-test-group-form.js: (CustomizableTestGroupForm): (CustomizableTestGroupForm.prototype.didConstructShadowTree): Only fetch the full commits when we about to create a customized A/B tests. (CustomizableTestGroupForm.prototype._computeCommitSetMap): Compute the CustomCommitSet based on IntermediateCommitSet and other revision related information in some map. (CustomizableTestGroupForm.prototype.render): (CustomizableTestGroupForm.prototype._renderCustomRevisionTable): (CustomizableTestGroupForm.prototype._constructTableBodyList): This function builds table body for each highest level repository. It will also include the owned repository rows in the same table body if the commits for highest level repository owns other commits. (CustomizableTestGroupForm.prototype._constructTableRowForCommitsWithoutOwner): Build a table row for a highest level repository. (CustomizableTestGroupForm.prototype._constructTableRowForCommitsWithOwner): Build a table row for repository with owner. (CustomizableTestGroupForm.prototype._constructTableRowForIncompleteOwnedCommits): Build a table row for an unspecified repository. (CustomizableTestGroupForm.prototype._constructRevisionRadioButtons): Update the logic to support build radio buttons for the owned repository rows. (CustomizableTestGroupForm.cssTemplate): * public/v3/components/minus-button.js: Added. (MinusButton): (MinusButton.buttonContent): * public/v3/components/owned-commit-viewer.js: (OwnedCommitViewer.prototype._renderOwnedCommitTable): * public/v3/components/plus-button.js: Added. (PlusButton): (PlusButton.buttonContent): * public/v3/index.html: Added new components. * public/v3/models/commit-log.js: Added owner and owned commit information. (CommitLog): (CommitLog.prototype.ownedCommits): Returns a list of commits owned by current commit. (CommitLog.prototype.ownerCommit): Return owner commit of current commit. (CommitLog.prototype.setOwnerCommits): Set owner commit of current commit. (CommitLog.prototype.label): Remove unnecessary 'else'. (CommitLog.prototype.diff): Remove unused 'fromRevisionForURL' and tiny code cleanup. (CommitLog.prototype.ownedCommitForOwnedRepository): (CommitLog.prototype.fetchOwnedCommits): Sets the owner for those owned commits. The owner of a commit with multiple owner commits will be overwritten by each time this function is called. (CommitLog.ownedCommitDifferenceForOwnerCommits): A more generic version of diffOwnedCommits. diffOwnedCommits only accepts 2 commits, but ownedCommitDifferenceForOwnerCommits supports multiple commits. (CommitLog.diffOwnedCommits): Deleted and should use 'CommitLog.ownedCommitDifferenceForOwnerCommits' instead. * public/v3/models/commit-set.js: (CommitSet.prototype.topLevelRepositories): (CommitSet.prototype.commitForRepository): (IntermediateCommitSet): Take CommitSet as argument, note the commit from CommitSet doesn't contains full information of the commit. Always call 'fetchFullCommits' once before any further usages. (IntermediateCommitSet.prototype.fetchCommitLogs): Fetch all commits information in current commit set. (IntermediateCommitSet.prototype._fetchCommitLogAndOwnedCommits): Fetch commit log and owned commits if necessary. (IntermediateCommitSet.prototype.updateRevisionForOwnerRepository): Updates a commit for a repository by given a revision of the repository. (IntermediateCommitSet.prototype.setCommitForRepository): Sets a commit for a repository in commit set. (IntermediateCommitSet.prototype.removeCommitForRepository): Removes a commit for a repository in commit set. (IntermediateCommitSet.prototype.ownsCommitsForRepository): Returns whether the commit for repository owns commits. (IntermediateCommitSet.prototype.repositories): Returns all repositories in the commit set. (IntermediateCommitSet.prototype.highestLevelRepositories): Returns all repositories those don't have an owner. (IntermediateCommitSet.prototype.commitForRepository): Returns a commit for a given repository. (IntermediateCommitSet.prototype.ownedRepositoriesForOwnerRepository): Returns all repositories owned by a given repository in current commit set. (IntermediateCommitSet.prototype.ownerCommitForRepository): Returns owner commit for a given owned repository. * tools/js/v3-models.js: Added import for 'IntermediateCommitSet'. * unit-tests/commit-log-tests.js: Updated unittest which tests 'ownerCommit' function. * unit-tests/commit-set-tests.js: Added unit tests for IntermediateCommitSet. Canonical link: https://commits.webkit.org/196983@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226259 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
f82a1651f0 |
Add a test freshness page.
https://bugs.webkit.org/show_bug.cgi?id=180126 Reviewed by Ryosuke Niwa. Added a page to show freshness of a test. The test freshness page reports on the same set of tests as the one shown in the summary page. Use a logistic function to evaluate the freshness of the data points. This function has the desired property which increase dramatically when it close to the center of the graph. 'acceptableLastDataPointDurationInHour' configs the center of the graph. * public/include/manifest-generator.php: * public/v3/components/freshness-indicator.js: Added. (FreshnessIndicator): A cell of the test freshness table, color will transit from green to red. (FreshnessIndicator.prototype.update): Update the the data point information and triggers the cell to re-render if anything changes. (FreshnessIndicator.prototype._renderIndicator): Re-render the indicator. (FreshnessIndicator.prototype.render): Render the box color base on a logistic function. (FreshnessIndicator.prototype._createIndicator): (FreshnessIndicator.htmlTemplate): (FreshnessIndicator.cssTemplate): * public/v3/index.html: * public/v3/main.js: Added test freshness page. (main): * public/v3/models/build-request.js: Refactored waitingTime function to make it reusable. (BuildRequest.formatTimeInterval): Format time interval in million seconds to more user friendly text. (BuildRequest.prototype.waitingTime): * public/v3/pages/test-freshness-page.js: Added. (TestFreshnessPage): (TestFreshnessPage.prototype.name): (TestFreshnessPage.prototype._loadConfig): Load config from summary page configurations. (TestFreshnessPage.prototype.open): (TestFreshnessPage.prototype._fetchTestResults): (TestFreshnessPage.prototype.render): (TestFreshnessPage.prototype._renderTable): (TestFreshnessPage.prototype._isValidPlatformMetricCombination): Return whether a platform and metric combination is valid. (TestFreshnessPage.prototype._constructTableCell): (TestFreshnessPage.cssTemplate): (TestFreshnessPage.prototype.routeName): * server-tests/api-manifest-tests.js: Added 'warningHourBaseline' so that we can config the parameter of logistic funciton. * unit-tests/build-request-tests.js: Added unit tests for formatTimeInterval. Canonical link: https://commits.webkit.org/196700@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225898 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
f1e96d7322 |
Add a runtime feature flag for ImageBitmap and OffscreenCanvas
https://bugs.webkit.org/show_bug.cgi?id=180652 <rdar://problem/35969611> Reviewed by Antoine Quint. Source/WebCore: Add a RuntimeEnabledFeature for these interfaces, and link the bindings to the feature. Test: fast/canvas/offscreen-enabled.html * bindings/js/WebCoreBuiltinNames.h: * html/ImageBitmap.idl: * html/OffscreenCanvas.idl: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setImageBitmapOffscreenCanvasEnabled): (WebCore::RuntimeEnabledFeatures::imageBitmapOffscreenCanvasEnabled const): * page/WindowOrWorkerGlobalScope.idl: Source/WebKit: Add an experimental feature flag for these interfaces. * Shared/WebPreferences.yaml: Websites/webkit.org: Simple test to validate if these interfaces are enabled. * experimental-features.html: LayoutTests: * fast/canvas/offscreen-enabled-expected.txt: Added. * fast/canvas/offscreen-enabled.html: Added. Canonical link: https://commits.webkit.org/196562@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225746 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
595571d9e6 |
Include gl-matrix directly since github doesn't serve the correct mime type
https://bugs.webkit.org/show_bug.cgi?id=180102 <rdar://problem/35301622> Reviewed by Antoine Quint. * demos/webgpu/cubes.html: * demos/webgpu/gl-matrix-min.js: Added. * demos/webgpu/simple.html: Canonical link: https://commits.webkit.org/196096@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225235 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
dd89029357 |
Update safe area CSS for webkit.org
https://bugs.webkit.org/show_bug.cgi?id=179615 Reviewed by Alexey Proskuryakov. * wp-content/themes/webkit/style.css: (@media only screen and (max-height: 415px)): (@supports(padding:max(0px))): Canonical link: https://commits.webkit.org/195661@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224774 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
c5c19707fb |
Add a new landing page design and site-wide design detail updates for webkit.org
https://bugs.webkit.org/show_bug.cgi?id=179558 Reviewed by Alexey Proskuryakov. * wp-content/themes/webkit/404.php: Removed unnecessary prefixed CSS. * wp-content/themes/webkit/444.php: Removed unnecessary prefixed CSS. * wp-content/themes/webkit/css-status.php: Removed unnecessary prefixed CSS. * wp-content/themes/webkit/footer.php: Added new page wrapper container. * wp-content/themes/webkit/front-header.php: Redesigned landing hero. * wp-content/themes/webkit/functions.php: Added support for configurable non-breaking words. * wp-content/themes/webkit/header.php: Added viewport-fit, changed web font, changed logo title. * wp-content/themes/webkit/images/chevron.svg: Added. * wp-content/themes/webkit/images/circular.svg: Added. * wp-content/themes/webkit/images/compass.svg: Added. * wp-content/themes/webkit/images/download-white.svg: Added. * wp-content/themes/webkit/images/template.svg: Added. * wp-content/themes/webkit/loop.php: Updated "read more" link presentation. * wp-content/themes/webkit/nightly-start.php: Adjusted header background colors. * wp-content/themes/webkit/nightly-survey.php: Adjusted header background colors. * wp-content/themes/webkit/nightly.php: Adjusted header background colors. * wp-content/themes/webkit/page.php: Page clean up. * wp-content/themes/webkit/single.php: Updated "read more" link presentation. * wp-content/themes/webkit/status.php: Removed unnecessary prefixed CSS, improved page title. * wp-content/themes/webkit/style.css: Redesigned. (html): (body): (strong): (em): (code): (main): (h1,): (input[type=text]): (input[type=submit]): (header): (.home header): (@supports ( -webkit-backdrop-filter: blur(10px) )): (.sub-menu-layer): (.nextrouter .link,): (.pagination): (.pagination::after): (.pagination .page-numbers): (.pagination .dots,): (.pagination .next-button): (.nextrouter): (.nextrouter:hover): (.nextrouter.previous): (.nextrouter.previous:hover): (.nextrouter .bodycopy): (.nextrouter a): (.nextrouter a:hover): (.nextrouter-copy): (.nextrouter .label): (.nextrouter .title): (.nextrouter .link): (.nextrouter a:hover .link): (footer): (.tiles): (.tile): (.third-tile): (.two-thirds-tile): (.tile .background-image): (.tile .background-image.has-featured-image): (.tile .featured-image): (.tile:not(.has-post-thumbnail) .background-image,): (.tile h1): (.tile h2): (.tile .summary,): (pre): (article): (article::after): (article h1): (article h2): (article h3): (article h4): (article h5): (article h6): (article h2 + h3,): (article figcaption): (article figcaption::before): (.table-of-contents): (article .table-of-contents label): (.table-of-contents ul): (.table-of-contents ul li): (.table-of-contents ul li > ul): (.site-logo): (footer nav): (header nav li): (header nav a,): (header .menu-item-has-children .label-toggle::after): (header .menu-item): (@media only screen and (max-width: 1180px)): (article .byline): (@media only screen and (max-width: 920px)): (.main-menu.label-toggle): (header .menu): (header nav a): (header .menu-main-menu-container > ul > li): (header .sub-menu-layer): (@media only screen and (max-width: 690px)): (.third-tile,): (@media only screen and (max-width: 600px)): (.table-of-contents label:after): (@media only screen and (max-width: 415px)): (@media only screen and (max-height: 415px)): (@supports(padding:max(0px))): (header .menu .menu-item > .sub-menu): (.sub-menu-layer .menu-item:first-child,): (#template): (#compass): (.tile .featured-image,): Deleted. (.site-logo .tagline): Deleted. (.timeline): Deleted. (.timeline:after): Deleted. (.timeline *): Deleted. (.timeline:before): Deleted. (.timeline > li): Deleted. (.timeline > li:before): Deleted. (.timeline .content): Deleted. (.timeline figure): Deleted. (.timeline .time): Deleted. (.timeline h2, .timeline h3): Deleted. (.timeline .time::before): Deleted. (.timeline img): Deleted. (@media (min-width: 900px)): Deleted. (.timeline > li.force-clear): Deleted. (.timeline > li:nth-child(odd)): Deleted. (.timeline > li:nth-child(even)): Deleted. (.timeline > li:nth-child(2),): Deleted. (.timeline li .time): Deleted. (.timeline li:nth-child(odd) .time): Deleted. (.timeline li:nth-child(even) .time): Deleted. (.timeline li:nth-child(even) .time::before): Deleted. (.timeline > li:nth-child(even):before): Deleted. (@media (max-width: 900px)): Deleted. (.timeline li .time::before): Deleted. (.hero .logo,): Deleted. (.home .hero): Deleted. (.home.admin-bar .hero): Deleted. (@media only screen and (max-width: 320px)): Deleted. * wp-content/themes/webkit/widgets/post.php: Updated "read more" link presentation. Canonical link: https://commits.webkit.org/195644@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224757 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
59a84ef417 |
Add platform argument for syncing script.
https://bugs.webkit.org/show_bug.cgi?id=179162 Reviewed by Ryosuke Niwa. Syncing script should pass platform name to buildbot if platform argument is specified in configuration. * server-tests/tools-sync-buildbot-integration-tests.js: (return.createTriggerable.configWithPlatformName.then): Added unit test for platform argument. * tools/js/buildbot-syncer.js: (BuildbotSyncer): Add '_platformPropertyName' property. (BuildbotSyncer.prototype.scheduleRequest): Add '_platformPropertyName' to build property if specified. (BuildbotSyncer._loadConfig): Read '_plaformPropertyName' from config. Canonical link: https://commits.webkit.org/195459@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224551 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
77f7d7e854 |
Limit the number of results to be submitted in one submission.
https://bugs.webkit.org/show_bug.cgi?id=179045 Reviewed by Ryosuke Niwa. Submitting results for a large number of builds with owned commit information may exceed the size limit of php. Added a way to split the results into groups of certain sizes, and submit them one by one. * server-tests/tools-os-build-fetcher-tests.js: Updated the unit tests. * tools/js/os-build-fetcher.js: Added '_maxNumberOfResultsPerSubmit' which can be specified by a configuration but also use 20 as default value. (prototype.fetchAndReportNewBuilds): Instead of submitting all results once, split them into groups and submit them one by one. (prototype._fetchAvailableBuilds): 'label' is already quoted, should remove unnecessary quotes. (prototype._addOwnedCommitsForBuild): Added logging to log the size of owned commits. Canonical link: https://commits.webkit.org/195185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224228 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
a9a22623d7 |
OwnedCommitViewer should include the preceding commit.
https://bugs.webkit.org/show_bug.cgi?id=179047 Reviewed by Ryosuke Niwa. OwnedCommitViewer shows the difference between owned commits. To show changes made by first owned commit, we need to have the preceding commit information. * public/v3/components/commit-log-viewer.js: (CommitLogViewer): (CommitLogViewer.prototype._fetchCommitLogs): Fetch preceding commit if the commits fetched is not a single commit. (CommitLogViewer.prototype.render): (CommitLogViewer.prototype._renderCommitList): Conditionally rendering preceding commit in commit list. Canonical link: https://commits.webkit.org/195184@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224227 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1e99c664dd |
Update safe area inset demo pages to use env()
https://bugs.webkit.org/show_bug.cgi?id=179041 Reviewed by Simon Fraser. * demos/safe-area-insets/1-default.html: * demos/safe-area-insets/2-viewport-fit.html: * demos/safe-area-insets/3-safe-area-constants.html: * demos/safe-area-insets/4-min-max.html: * demos/safe-area-insets/safe-areas.html: Update to use env() instead of constant(), but keep constant() around for backwards-compatibility. Adjust the colors on the safe areas test page to look a little less holiday-like. Canonical link: https://commits.webkit.org/195179@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224219 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
2b53e5ed93 |
Fix a bug in syncing script that test/build syncer is never set.
https://bugs.webkit.org/show_bug.cgi?id=178772 Reviewed by Ryosuke Niwa. Neither 'buildSyncer' nor 'testSyncer' is ever set. Added a unit test to cover this case. * server-tests/tools-sync-buildbot-integration-tests.js: (createTriggerable): Refactor it to allow customized name. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Update syncer info accordingly. (BuildbotTriggerable._testGroupMapForBuildRequests): Initialize build and test syncer to null. Canonical link: https://commits.webkit.org/194970@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223975 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1c13d6b026 |
Owner commit does not necessarily exist in the same commit set for an owned commit.
https://bugs.webkit.org/show_bug.cgi?id=178763 Reviewed by Ryosuke Niwa. Remove the check based on previous incorrect assumption. Added unit tests to cover this change. * public/privileged-api/create-test-group.php: * server-tests/privileged-api-create-test-group-tests.js: (return.addTriggerableAndCreateTask.string_appeared_here.then.id.taskId.id.then): Canonical link: https://commits.webkit.org/194942@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223946 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
78f1d73dbd |
Update perf dashboard upload logic to support uploading binaries from owned commits.
https://bugs.webkit.org/show_bug.cgi?id=178610 Reviewed by Ryosuke Niwa. Update build requests to 'completed' only when all commit set items are satisfied. Extend 'repositoryList' parameter to be able to specified own commit information. Items in 'repositoryList' can either be a string for top level repository, or a dictionary with two keys: 'ownerRepository' and 'ownedRepository'. * public/api/upload-root.php: Extend upload logic for support uploading binaries from owned commits. * server-tests/api-upload-root-tests.js: Added unit tests. * server-tests/tools-sync-buildbot-integration-tests.js: Added unit tests. Canonical link: https://commits.webkit.org/194860@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223864 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
2a39714004 |
No nightlies listed on nightly.webkit.org when using shipping Safari on macOS Sierra and OS X El Capitan
https://bugs.webkit.org/show_bug.cgi?id=178372 Reviewed by Tim Horton. The Build Archive page depends on the collections (e.g. HTMLCollection) being iterable so as to support iteration using ES6 for-of loop. Such support postdates the version of WebKit shipped in macOS Sierra and OS X El Capitan. We should make <https://webkit.org/build-archives/> work for these OSes since we still publish nightlies for them. * wp-content/themes/webkit/build-archives.php: Use Array.prototype.slice() to convert the HTMLCollection to an array that can be iterated using a ES6 for-of loop. Canonical link: https://commits.webkit.org/194595@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223455 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3f04cc1c01 |
Add try-bot button on perf analysis status page.
https://bugs.webkit.org/show_bug.cgi?id=177995 Reviewed by Ryosuke Niwa. Add 'Create' button on analysis status top-left corner to create trybot analysis task. * public/v3/pages/analysis-category-toolbar.js: (AnalysisCategoryToolbar.cssTemplate): Canonical link: https://commits.webkit.org/194264@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222992 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
fd464fdca5 |
Update Webkit Style webpage to include Obj-C blocks
https://bugs.webkit.org/show_bug.cgi?id=177906 Reviewed by Tim Horton. * code-style.md: Canonical link: https://commits.webkit.org/194208@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222935 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
078d331dac |
Add a WebKit Build Archives page
https://bugs.webkit.org/show_bug.cgi?id=177654 Reviewed by Alexey Proskuryakov. * wp-content/themes/webkit/build-archives.php: Added. Canonical link: https://commits.webkit.org/194000@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222717 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ca06813305 |
Update syncing script to be able to build binary for commit set with owned commits.
https://bugs.webkit.org/show_bug.cgi?id=177225 Reviewed by Ryosuke Niwa. Added support for syncing script to be able to schedule builds to build binary for owned commits. Introduces 'ifRepositorySet' and 'ownedRevisions' in 'buildProperties'. 'ifRepositorySet' will conditionaly set a build property if at least one of the repositories it specified requires build. 'ownedRevisions' specifies owned commits revision informations. * public/v3/models/commit-set.js: (CommitSet): Added '_ownerRepositoryToOwnedRepositoriesMap'. (CommitSet.prototype.updateSingleton): Reset '_ownerRepositoryToOwnedRepositoriesMap'. (CommitSet.prototype._updateFromObject): Only update '_repositoryToCommitOwnerMap' and '_ownerRepositoryToOwnedRepositoriesMap' when 'commitOwner' exists. (CommitSet.prototype.ownerCommitForRepository): Returns a sorted list of top level repositories. (CommitSet.prototype.ownedRepositoriesForOwnerRepository): Returns owned repositories given a owner repository. (CustomCommitSet.prototype.ownerCommitForRepository): Returns a sorted list of top level repositories. * public/v3/models/triggerable.js: (prototype.accepts): It should only check against top-level repositories. Removed a deprecated 'FIXME'. * server-tests/tools-sync-buildbot-integration-tests.js: Added unit test for building owned commits binary. (createTriggerable): Added conditional 'ifRepositorySet' and 'ownedRevisions' in the repository groups. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype._propertiesForBuildRequest): Added logic to conditionaly create build property for 'ifRepositorySet'. Added logic to create 'ownedRevisions' based on the owner repositories it specified. (BuildbotSyncer._parseRepositoryGroup): Build property template should be able to handle 'ifRepositorySet' and 'ownedRevisions'. * unit-tests/buildbot-syncer-tests.js: Added unit tests for 'ifRepositorySet' and 'ownedRevisions'. * unit-tests/commit-set-tests.js: Added unit tests for 'topLevelRepositoriesSortedByNamePreferringOnesWithURL'. * unit-tests/resources/mock-v3-models.js: Added a repository group contains 'ios', 'webkit' and 'ownerRepository'. Canonical link: https://commits.webkit.org/193932@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222648 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3eb75bb6cf |
Merge the latest version of Speedometer 2.0 to browserbench.org against at r222534.
Rubber-stamped by Saam Barati (a while ago). * Speedometer2.0: Replaced with PerformanceTests/Speedometer. Canonical link: https://commits.webkit.org/193929@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222645 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
d9b00bfac3 |
Update some links in demos
* demos/safe-area-insets/1-default.html: * demos/safe-area-insets/2-viewport-fit.html: * demos/safe-area-insets/3-safe-area-constants.html: * demos/safe-area-insets/4-min-max.html: Canonical link: https://commits.webkit.org/193690@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222391 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
bf3ffca18f |
Add some blog post resources
https://bugs.webkit.org/show_bug.cgi?id=177333 Reviewed by Sam Weinig. * demos/safe-area-insets/1-default.html: Added. * demos/safe-area-insets/2-viewport-fit.html: Added. * demos/safe-area-insets/3-safe-area-constants.html: Added. * demos/safe-area-insets/4-min-max.html: Added. * demos/safe-area-insets/safe-areas.html: Added. * demos/safe-area-insets/style.css: Added. Canonical link: https://commits.webkit.org/193678@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222375 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
12ec07a274 |
Use 'owned commit' instead of 'sub commit' whenever refers to a commit owned by another commit.
https://bugs.webkit.org/show_bug.cgi?id=177178 Reviewed by Ryosuke Niwa. We use both 'owned commit' and 'sub commit' to refer to a commit owned by an another commit. We should use one term instead of two. Renaming 'subCommit' to 'ownedCommit', 'ownsSubCommit' to 'ownsCommit' and 'sub-commit' to 'owned-commit'. * browser-tests/commit-log-viewer-tests.js: * public/api/commits.php: * public/api/report-commits.php: * public/include/commit-log-fetcher.php: * public/v3/components/commit-log-viewer.js: (CommitLogViewer.prototype._renderCommitList): * public/v3/components/owned-commit-viewer.js: Renamed from Websites/perf.webkit.org/public/v3/components/sub-commit-viewer.js. (OwnedCommitViewer): (OwnedCommitViewer.prototype.didConstructShadowTree): (OwnedCommitViewer.prototype._toggleVisibility): (OwnedCommitViewer.prototype.render): (OwnedCommitViewer.prototype._renderOwnedCommitTable): (OwnedCommitViewer.htmlTemplate): (OwnedCommitViewer.cssTemplate): * public/v3/index.html: * public/v3/models/commit-log.js: (CommitLog): (CommitLog.prototype.updateSingleton): (CommitLog.prototype.ownsCommits): (CommitLog.prototype.fetchOwnedCommits): (CommitLog.prototype._buildOwnedCommitMap): (CommitLog.diffOwnedCommits): (CommitLog.prototype.ownsSubCommits): Deleted. (CommitLog.prototype.fetchSubCommits): Deleted. (CommitLog.prototype._buildSubCommitMap): Deleted. (CommitLog.diffSubCommits): Deleted. * server-tests/api-commits-tests.js: * server-tests/api-report-commits-tests.js: * server-tests/tools-os-build-fetcher-tests.js: (return.waitForInvocationPromise.then): (string_appeared_here.return.waitForInvocationPromise.then): * tools/js/os-build-fetcher.js: (prototype._fetchAvailableBuilds): (prototype._addOwnedCommitsForBuild): (prototype._addSubCommitsForBuild): Deleted. * unit-tests/commit-log-tests.js: (return.commit.fetchOwnedCommits.then): (return.fetchingPromise.then): (return.commit.fetchSubCommits.then): Deleted. Canonical link: https://commits.webkit.org/193549@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222227 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
7631cb192a |
Performance Dashboard backend should support A/B testing for owned components.
https://bugs.webkit.org/show_bug.cgi?id=175978 Reviewed by Ryosuke Niwa. Add backend change for Performance Dashboard to support A/B testing for owned components. Added 'commitset_commit_owner' and 'commitset_requires_build' columns to 'commit_set_items' table. 'commitset_commit_owner' referrs to determine a commit with owner. 'commitset_requires_build' indicates whether a root build is required. This will be set true whenever commit_set_item specifies a patch file, or commit_set_item is commit with owner commit, or any other commit from same repository and in same build-request group requires build. SQL for updating existing database: 'BEGIN; ALTER TABLE commit_set_items ADD COLUMN commitset_commit_owner integer REFERENCES commits DEFAULT NULL, ADD COLUMN commitset_requires_build boolean DEFAULT FALSE; UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_patch_file IS NOT NULL; UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_set IN (SELECT requests1.request_commit_set FROM build_requests as requests1 JOIN build_requests as requests2 ON requests1.request_group = requests2.request_group JOIN commit_set_items as item ON item.commitset_set = requests2.request_commit_set WHERE item.commitset_patch_file IS NOT NULL); ALTER TABLE commit_set_items ADD CONSTRAINT commitset_item_with_patch_must_requires_build CHECK (commitset_patch_file IS NULL OR commitset_requires_build = TRUE), ADD CONSTRAINT commitset_item_with_owned_commit_must_requires_build CHECK (commitset_commit_owner IS NULL OR commitset_requires_build = TRUE); END;' * init-database.sql: Updated 'commit_set_items' table. * public/admin/triggerables.php: Only top level repository should show on triggerables page. * public/include/build-requests-fetcher.php: Added 'commitOwner' and 'requireBuild' to 'revision_items'. Added 'commitOwner' field to a commit. * public/include/db.php: Should be able to insert boolean value to database without explicted convert to 't' or 'f'. * public/privileged-api/create-test-group.php: Added logic to process 'commitOwner' and 'requireBuild' in 'commit_set_items'. Removed a 'FIXME' that has been addressed before this commit. * public/v3/models/build-request.js: (BuildRequest.constructBuildRequestsFromData): Set 'commitOwner' field for a commit set item. * public/v3/models/commit-set.js: (CommitSet): Added maps for repository to commit owner and whether a repository requires builds. (CommitSet.prototype.updateSingleton): (CommitSet.prototype._updateFromObject): (CommitSet.prototype.ownerRevisionForRepository): Returns owner revision for a given repository in current commit set. (CommitSet.prototype.requiresBuildForRepository): Returns whether a repository need to build. (CommitSet.prototype.equals): Equality check should include 2 new maps. (CustomCommitSet): CustomCommitSet should be able to store commit with an owner commit. (CustomCommitSet.prototype.setRevisionForRepository): Added each revision list entry should have 'ownerRevision'(null by default). (CustomCommitSet.prototype.equals): Equality check should also check the equality of 'ownerRevision'. (CustomCommitSet.prototype.ownerRevisionForRepository): Returns a owner revision for a given repository. * public/v3/models/repository.js: (Repository.prototype.findOwnedRepositoryByName): Return an repository owned by current repository with a given name. * public/v3/models/test-group.js: Added 'ownerRevision' field in each entry of revisionSet. * server-tests/api-build-requests-tests.js: Added tests. * server-tests/privileged-api-create-test-group-tests.js: Added tests. * server-tests/privileged-api-upload-file-tests.js: Fix unit tests by setting'requires_build' field to be true when updating commit_set_item which has a patch.. * server-tests/resources/mock-data.js: Added mock build requests with commit sets contain owned commits. (MockData.jscRepositoryId): Returns id for JavaScriptsCore repository. (MockData.addMockConfiguration): Added mock JavaScriptCore and owned JavaScriptCore repositories and commits associated with them. (MockData.ownedJSCRepositoryId): Added a JavaScriptCore repository with WebKit as owner. (MockData.addMockConfiguration): Added mock data for test cases those require a commit with a owner commit. (MockData.addTestGroupWithOwnedCommits): Added mock data for analysis tasks, the build requires of which contains owned commits. (MockData.set addAnotherTriggerable): Added another triggerable which has mac, webkit and javascript core repositories as triggerable repository group. (MockData.set addAnotherMockTestGroup): Added another mock test group. * tools/js/v3-models.js: Import CustomCommitSet. * unit-tests/resources/mock-v3-models.js: Added an owned webkit repository. * unit-tests/commit-set-tests.js: Added unit tests CustomCommitSet. Canonical link: https://commits.webkit.org/193541@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222219 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
90f123c0e5 |
Should not mark a platform as missing in summary page if all expecting metrics are exlucded.
https://bugs.webkit.org/show_bug.cgi?id=176970 Reviewed by Ryosuke Niwa. In summary page, if all metrics for a test are excluded in excludedConfigurations for a platform, this platform should not be marked as missing. * public/v3/pages/summary-page.js: (SummaryPageConfigurationGroup): Canonical link: https://commits.webkit.org/193445@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222123 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
399dc37a08 |
Analysis task page shows an empty results for an irrelevant top-level test
https://bugs.webkit.org/show_bug.cgi?id=175252 Reviewed by Antti Koivisto. The bug was caused by TestGroupResultsViewer always listing every top-level test which has a result for the entire analysis task. Since a custom analysis task (perf try bots) allows multiple tests to be tested in each group, we have to only list the tests which contains results in a particular test group. * public/v3/components/test-group-results-viewer.js: (TestGroupResultsViewer.prototype.render): Find the tests that have results for the current test group instead of for any test group in this analysis task. any test * public/v3/models/analysis-results.js: (AnalysisResults): (AnalysisResults.prototype.topLevelTestsForTestGroup): Renamed from highestTests. Now takes a test group as an argument. (AnalysisResults.prototype._computedTopLevelTests): Renamed from _computeHighestTests. Filters the results with the specified test group. Canonical link: https://commits.webkit.org/193216@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221871 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
aedb18e30a |
Minor design changes for browserbench.org landing page
https://bugs.webkit.org/show_bug.cgi?id=176612 Reviewed by Darin Adler. * index.html: * resources/main.css: Shrink the logos and arrange them into a grid. (main): (.benchmarks): (.benchmarks a): (.benchmark): (.benchmark:hover): (.benchmark img): (#ares-6-logo): Deleted. (#motionmark-logo): Deleted. (#speedometer-logo): Deleted. (#jetstream-logo): Deleted. Canonical link: https://commits.webkit.org/193189@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221840 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
654fa1a550 |
Add initSyncers method in BuildbotTriggerable
https://bugs.webkit.org/show_bug.cgi?id=176125 Reviewed by Ryosuke Niwa. * tools/sync-buildbot.js: (syncLoop): Use initSyncers() which returns a promise. Modified to handle the promise. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable): Invokes initSyncers() appropriately. (BuildbotTriggerable.prototype.initSyncers): Returns a promise which initialize all the syncers. * server-tests/tools-buildbot-triggerable-tests.js: Updated tests to handle initSyncers(). * server-tests/tools-sync-buildbot-integration-tests.js: Ditto. Canonical link: https://commits.webkit.org/193076@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221717 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
36093d0fc7 |
Add a button to show two weeks of data to perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=176438 Reviewed by Saam Barati. Add "2W" button to show 14 days of data on dashboard pages. * public/v3/pages/dashboard-toolbar.js: (DashboardToolbar): Canonical link: https://commits.webkit.org/193025@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221664 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
0f5acf9b64 |
Build fix. OS X "revision" can have a space.
* public/include/commit-log-fetcher.php: Canonical link: https://commits.webkit.org/192741@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221312 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
459557a6b4 |
Make it possible to specify A/B testing revision with a partial hash
https://bugs.webkit.org/show_bug.cgi?id=176047 Rubber-stamped by Chris Dumez. Added the support for specifying a partial hash in A/B testing instead of the full hash. * public/include/commit-log-fetcher.php: (CommitLogFetcher::find_commit_id_by_revision): Extracted from associate-commit.php. * public/privileged-api/associate-commit.php: (main): * public/privileged-api/create-test-group.php: (main): Use find_commit_id_by_revision here to support scheduling an A/B testing with a partial hash. * server-tests/privileged-api-create-test-group-tests.js: (createAnalysisTask): Make it possible to customize revision string in some test cases. * server-tests/resources/test-server.js: (TestServer.prototype._stopApache): Fixed the bug that cleanup step always fails whenever the test file runs more than 8s. Canonical link: https://commits.webkit.org/192740@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221311 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
4f2d76305b |
Build fix. Creating trying a test group no longer updates the page.
* public/v3/models/test-group.js: (TestGroup.createWithCustomConfiguration): Added the missing ignoreCache=true. Canonical link: https://commits.webkit.org/192677@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221230 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
dae510703a |
Build fix. Copy the missing statistics.js for Speedometer 2.0.
* resources/statistics.js: Copied from PerformanceTests/resources/statistics.js. Canonical link: https://commits.webkit.org/192582@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221130 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
8f4a5757d5 |
Merge the latest version of Speedometer 2.0 to browserbench.org against at r221126.
Rubber-stamped by Yusuke Suzuki. * Speedometer2.0: Replaced with PerformanceTests/Speedometer. * Speedometer2.0/resources/todomvc/architecture-examples/preact/dist/app.js: * Speedometer2.0/resources/todomvc/architecture-examples/preact/dist/todomvc.css: * Speedometer2.0/resources/todomvc/architecture-examples/preact/src/app/footer.js: * Speedometer2.0/resources/todomvc/architecture-examples/preact/src/app/index.js: * Speedometer2.0/resources/todomvc/architecture-examples/preact/src/app/item.js: * Speedometer2.0/resources/todomvc/architecture-examples/preact/src/app/util.js: (export.uuid): Canonical link: https://commits.webkit.org/192579@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221127 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3fbf4f6ae8 |
Merge the latest version of Speedometer 2.0 to browserbench.org against at r221119.
Rubber-stamped by Joseph Pecoraro. * Speedometer2.0: Replaced with PerformanceTests/Speedometer. Canonical link: https://commits.webkit.org/192572@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221120 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
c55bc5a50f |
Merge the latest version of Speedometer 2.0 to browserbench.org against at r221056.
Rubber-stamped by Joseph Pecoraro. * Speedometer2.0: Replaced with PerformanceTests/Speedometer. * Speedometer2.0/resources/main.js: (window.benchmarkClient.didFinishLastIteration): * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.9debb1b0a94f14d0ebe9.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.9debb1b0a94f14d0ebe9.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.a55034b424c795b1a9a8.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.a55034b424c795b1a9a8.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.bade2cb8992d8a68d0d7.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.bade2cb8992d8a68d0d7.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.9debb1b0a94f14d0ebe9.css: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.9debb1b0a94f14d0ebe9.css.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.bade2cb8992d8a68d0d7.css: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.bade2cb8992d8a68d0d7.css.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: * Speedometer2.0/resources/todomvc/vanilla-examples/es2015/src/store.js: Canonical link: https://commits.webkit.org/192512@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221057 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
df2947433c |
Performance Dashboard should be compatible with PHP 7.
https://bugs.webkit.org/show_bug.cgi?id=175813 Reviewed by Ryosuke Niwa. Use `file_get_contents('php://input')` instead of '$HTTP_RAW_POST_DATA'. Update test harness script to load right php module in httpd. * ReadMe.md: JSON example format fix. * public/api/report-commits.php: Stop using '$HTTP_RAW_POST_DATA'. * public/api/report.php: Stop using '$HTTP_RAW_POST_DATA'. * public/api/update-triggerable.php: Stop using '$HTTP_RAW_POST_DATA'. * public/include/json-header.php: Stop using '$HTTP_RAW_POST_DATA'. * public/include/report-processor.php: Stop using '$HTTP_RAW_POST_DATA'. * server-tests/resources/test-server.conf: Load php5 or php7 module conditionally. * server-tests/resources/test-server.js: Pass PHP version info while launching httpd. (TestServer.prototype._startApache): * tools/remote-cache-server.py: Pass PHP version info while launching httpd. (start_httpd): * tools/remote-server-relay.conf: Load php5 or php7 module conditionally. * tools/sync-buildbot.js: (syncLoop.const.makeTriggerable): (syncLoop): Canonical link: https://commits.webkit.org/192508@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221053 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
01559b166f |
Merge the latest version of Speedometer 2.0 to browserbench.org
Rubber-stamped by Joseph Pecoraro. * Speedometer2.0: Replaced with PerformanceTests/Speedometer. * Speedometer2.0/resources/benchmark-runner.js: * Speedometer2.0/resources/todomvc/architecture-examples/angular/dist/inline.b342d102ba4a53bf2002.bundle.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/dist/main.779eb2f1ddbe23ac61c7.bundle.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/dist/polyfills.2d45a4c73c85e24fe474.bundle.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/dist/vendor.b4be818cb6d8028f9192.bundle.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/e2e: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.js: * Speedometer2.0/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.js: * Speedometer2.0/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.js: * Speedometer2.0/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: * Speedometer2.0/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: * Speedometer2.0/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: * Speedometer2.0/resources/todomvc/architecture-examples/react-redux/dist/static/css/main.d43d2909.css: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.946269ff.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/vuejs-cli/dist/static/css/app.677b45842d9f8b96e5b23c18969233b7.css: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/app.b0e835874bc8949670d1.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/manifest.84b2b4fceb74ab1f91f3.js: Removed. * Speedometer2.0/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/vendor.a52517c5aa98e7fbea2e.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css.map: Removed. * Speedometer2.0/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Canonical link: https://commits.webkit.org/192458@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221001 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
cf3e903984 |
Add Sony to domain affiliations on team page
https://bugs.webkit.org/show_bug.cgi?id=175806 Patch by Ross Kirsling <ross.kirsling@sony.com> on 2017-08-21 Reviewed by Alex Christensen. * wp-content/themes/webkit/team.php: Canonical link: https://commits.webkit.org/192456@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220999 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
9b3fccb87b |
REGRESSION(r219640): Speedometer no longer runs on Safari 7
https://bugs.webkit.org/show_bug.cgi?id=175749 Reviewed by Joseph Pecoraro. PerformanceTests: Use regular string instead of template literal to make the script compatible with older versions of Safari. * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._runTest): Websites/browserbench.org: Fix the bug on browserbench.org. * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._runTest): Canonical link: https://commits.webkit.org/192411@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220950 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1aa3f7792e |
Number each section in ReadMe.md and add more clarifications
https://bugs.webkit.org/show_bug.cgi?id=175687 Rubber-stamped by Joseph Pecoraro. Numbered each section and added more clarifications per issues Aakash encountered. * ReadMe.md: Canonical link: https://commits.webkit.org/192351@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220882 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
db98284507 |
Build fix. Make the test work with the latest versions of node modules.
* server-tests/privileged-api-upload-file-tests.js: Canonical link: https://commits.webkit.org/192348@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220877 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
753a4af6de |
Caging shouldn't have to use a patchpoint for adding
https://bugs.webkit.org/show_bug.cgi?id=175483 Reviewed by Mark Lam. Source/JavaScriptCore: Caging involves doing a Add(ptr, largeConstant). All of B3's heuristics for how to deal with constants and associative operations dictate that you always want to sink constants. For example, Add(Add(a, constant), b) always becomes Add(Add(a, b), constant). This is profitable because in typical code, it reveals downstream optimizations. But it's terrible in the case of caging, because we want the large constant (which is shared by all caging operations) to be hoisted. Reassociating to sink constants obscures the constant in this case. Currently, moveConstants is not smart enough to reassociate, so instead of sinking largeConstant, it tries (and often fails) to sink some other constants instead. Without some hacks, this is a 5% Kraken regression and a 1.6% Octane regression. It's not clear that moveConstants could ever be smart enough to rematerialize that constant and then hoist it - that would require quite a bit of algebraic reasoning. But the only case we know of where our current constant reassociation heuristics are wrong is caging. So, we can get away with some hacks for just stopping B3's reassociation only in this specific case. Previously, we achieved this by concealing the Add(ptr, largeConstant) inside a patchpoint. That's OK, but patchpoints are expensive. They require a SharedTask instance. They require callbacks from the backend, including during register allocation. And they cannot be CSE'd. We do want B3 to know that if we cage the same pointer in two places, both places will compute the same value. This patch improves the situation by introducing the Opaque opcode. This is handled by LowerToAir as if it was Identity, but all prior phases treat it as an unknown pure unary idempotent operation. I.e. they know that Opaque(x) == Opaque(x) and that Opaque(Opaque(x)) == Opaque(x). But they don't know that Opaque(x) == x until LowerToAir. So, you can use Opaque exactly when you know that B3 will mess up your code but Air won't. (Currently we know of no cases where Air messes things up on a large enough scale to warrant new opcodes.) This change is perf-neutral, but may start to help as I add more uses of caged() in the FTL. It also makes the code a bit less ugly. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::shouldCopyPropagate): (JSC::B3::Air::LowerToAir::lower): * b3/B3Opcode.cpp: (WTF::printInternal): * b3/B3Opcode.h: * b3/B3ReduceStrength.cpp: * b3/B3Validate.cpp: * b3/B3Value.cpp: (JSC::B3::Value::effects const): (JSC::B3::Value::key const): (JSC::B3::Value::isFree const): (JSC::B3::Value::typeFor): * b3/B3Value.h: * b3/B3ValueKey.cpp: (JSC::B3::ValueKey::materialize const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::caged): * ftl/FTLOutput.cpp: (JSC::FTL::Output::opaque): * ftl/FTLOutput.h: Websites/webkit.org: Write documentation for the new Opaque opcode. * docs/b3/intermediate-representation.html: Canonical link: https://commits.webkit.org/192206@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220625 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
02df470f40 |
Fixed superscript rendering for blog posts
https://bugs.webkit.org/show_bug.cgi?id=175285 Reviewed by Filip Pizlo. * wp-content/themes/webkit/style.css: (sup): Added. Canonical link: https://commits.webkit.org/192004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220360 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
232bef82a0 |
2017-08-06 James Craig <jcraig@apple.com>
Update prefers-reduced-motion demos to link back to blog post https://bugs.webkit.org/show_bug.cgi?id=175251 Unreviewed, added some cross links to older demo files. * blog-files/prefers-reduced-motion/axi.htm: * blog-files/prefers-reduced-motion/prm.htm: Canonical link: https://commits.webkit.org/191981@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220325 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
44d6513c38 |
Fixed loading feature status page queries and anchor link URLs
https://bugs.webkit.org/show_bug.cgi?id=175156 Reviewed by Simon Fraser. * wp-content/themes/webkit/status.php: Canonical link: https://commits.webkit.org/191938@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220280 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
63049de8b0 |
Build fix. Fixed a typo. task.id() isn't a thing in this function.
* public/v3/models/test-group.js: (TestGroup.createWithCustomConfiguration): Canonical link: https://commits.webkit.org/191789@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220080 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
129d4a1286 |
Unreviewed, minor adjustments to the previous demo.
Patch by Frederic Wang <fwang@igalia.com> on 2017-07-26 * demos/frames/index.html: Added. Index page for the list of demos. * demos/frames/sandboxing/index.html: Minor fixes. Canonical link: https://commits.webkit.org/191679@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219944 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
448df68a40 |
Unreviewed, add demos (frame sandboxing and scrolling) for a blog post.
Patch by Frederic Wang <fwang@igalia.com> on 2017-07-26 * demos/frames/sandboxing/am-i-sandboxed.html: Added. * demos/frames/sandboxing/framebusting-success.html: Added. * demos/frames/sandboxing/framebusting-without-user-activation.html: Added. * demos/frames/sandboxing/index.html: Added. * demos/frames/scrollable-iframes.html: Added. * demos/frames/scrollingElement.html: Added. Canonical link: https://commits.webkit.org/191677@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219942 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
3505f74304 |
Unreviewed, add the final demo page for a WebCrypto API blog post
* demos/webcrypto/pbkdf2.html: Added. Canonical link: https://commits.webkit.org/191502@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219693 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
996c38161c |
Unreviewed, add yet another demo page for a WebCrypto API blog post
* demos/webcrypto/aes-gcm.html: * demos/webcrypto/alice.png: Added. * demos/webcrypto/bob.png: Added. * demos/webcrypto/ecdh.html: Added. Canonical link: https://commits.webkit.org/191499@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219690 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
ea6c9bee6c |
Unreviewed, add another demo page for a WebCrypto API blog post
* demos/webcrypto/aes-gcm.html: Added. * demos/webcrypto/asynchronous-execution.html: * demos/webcrypto/common.js: Added. Canonical link: https://commits.webkit.org/191495@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219686 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
9e8ee57cf2 |
Unreviewed, add a demo page for a WebCrypto API blog post
* demos/webcrypto/asynchronous-execution-worker.js: Added. * demos/webcrypto/asynchronous-execution.html: Added. Canonical link: https://commits.webkit.org/191491@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219682 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
1adca3541e |
Merge r219640 into Speedometer 1.0.
* Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._writeMark): (BenchmarkRunner.prototype._runTest): (BenchmarkRunner.prototype._runTestAndRecordResults): Canonical link: https://commits.webkit.org/191454@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219643 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
77ac766bb8 |
Fix ambiguous description text in ARES-6 about the data the benchmark measures
https://bugs.webkit.org/show_bug.cgi?id=174510 Rubber stamped by Filip Pizlo. * ARES-6/about.html: Canonical link: https://commits.webkit.org/191334@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219512 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
dc8e2630f2 |
Another build fix.
* public/v3/components/chart-pane-base.js: (ChartPaneBase.prototype._updateCommitLogViewer): Canonical link: https://commits.webkit.org/191222@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219381 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
40ffbf5f0e |
Build fix. It looks like the code here is racy.
* public/v3/components/chart-pane-base.js: (ChartPaneBase.prototype.configure): (ChartPaneBase.prototype.setOpenRepository): Canonical link: https://commits.webkit.org/191221@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219380 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ac6599906b |
Show the roots built by perf try bots on results page
https://bugs.webkit.org/show_bug.cgi?id=174305 Reviewed by Joseph Pecoraro. Show build products created by a perf try bots so that we can download them for local testing. * public/v3/components/test-group-revision-table.js: (TestGroupRevisionTable.prototype._renderTable): Find the set of repositories for which a patch is applied. Show build products for all commit sets for such a repository since when WebKit is built with a patch in one configuration, the other configuration also needs to be built for consistency. (TestGroupRevisionTable.prototype._buildCommitCell): Added the hyperlink for build products. (TestGroupRevisionTable.prototype._buildFileInfo): Takes a string to override the file's label. Since all build products made by bots tend to have the same filename, we show the label of "Build product" instead. (TestGroupRevisionTable.prototype._mergeCellsWithSameCommitsAcrossRows): Fixed a bug that any entry with a patch wasn't getting merged since it was comparing against the result commit set, which does not contain the patch (only requested commit set contains a patch). Canonical link: https://commits.webkit.org/191211@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219370 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
463edf873f |
Address Antti's review comment.
* public/v3/models/analysis-results.js: (AnalysisResults.prototype.containsTest): Canonical link: https://commits.webkit.org/191165@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219322 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
59a2a422fd |
A/B testing results page show results for the top-level tests instead of the one being analyzed
https://bugs.webkit.org/show_bug.cgi?id=174304 Reviewed by Antti Koivisto. When a specific subtest is analyzed (e.g. Images subtest of MotionMark), then TestGroupResultsViewer should expand and highlight that specific subtest instead of simply showing the top-level test's score. This is especially misleading since AnalysisResultsViewer (stacking bars for each test group) uses the score of the specific subtest being analyzed. Fixed the bug by passing in the metric associated with the analysis task from AnalysisTaskPage to TestGroupResultsViewer via AnalysisTaskTestGroupPane. Also made TestGroupResultsViewer.setAnalysisResults auto-expand the tests that are ancestors of the specified metric. Without that, the test won't be shown to the user until the ancestor tests are expanded by the user. Also fixed the bug that we were always listing sub-tests regardless of whether they have results or not. Since tests tend to change over time, we shouldn't show a test if it doesn't have any results associated. * public/v3/components/test-group-results-viewer.js: (TestGroupResultsViewer.prototype.setAnalysisResults): Expand the ancestor tests of the metric. (TestGroupResultsViewer.prototype._buildRowsForTest): Exit early if this test doesn't have any results. * public/v3/models/analysis-results.js: (AnalysisResults.prototype.containsTest): Added. * public/v3/pages/analysis-task-page.js: (AnalysisTaskTestGroupPane.prototype.setAnalysisResults): Takes a metric to pass it to the results viewer. (AnalysisTaskPage.prototype._assignTestResultsIfPossible): Canonical link: https://commits.webkit.org/191164@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219321 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0b99ef5b22 |
Safari 10.1 fails to upload a patch on perf try bots page
https://bugs.webkit.org/show_bug.cgi?id=174214 Reviewed by Chris Dumez. Added the workaround to make the analysis task page work on Safari 10.1 * public/v3/components/instant-file-uploader.js: (InstantFileUploader.prototype._uploadFiles): Convert files to an array since for-of doesn't work otherwise on Safari 10.1. * public/v3/models/uploaded-file.js: (UploadedFile._computeSHA256Hash): Fallback to crypto.webkitSubtle since crypto.subtle isn't available on Safari 10.1 or 11. Canonical link: https://commits.webkit.org/191075@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219232 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
64182975dc |
Fix a typo pointed out by Andreas Kling.
* public/v3/components/instant-file-uploader.js: (InstantFileUploader.prototype._uploadFiles): * public/v3/models/uploaded-file.js: (UploadedFile.fetchUploadedFileWithIdenticalHash): Renamed from fetchUnloadedFileWithIdenticalHash. Canonical link: https://commits.webkit.org/190964@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219112 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
b19d29b3a2 |
Add an admin page to manage uploaded files
https://bugs.webkit.org/show_bug.cgi?id=174089 Reviewed by Andreas Kling. Add an admin page to see the disk usage per user as well as the total, and to prune any zombie files (ones marked as deleted but aren't actually deleted in the filesystem). * public/admin/files.php: Added. (format_size): Added. * public/include/admin-header.php: Canonical link: https://commits.webkit.org/190945@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219093 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
2a5adb6296 |
Roots uploaded by bots don't get author specified properly
https://bugs.webkit.org/show_bug.cgi?id=174087 Reviewed by Andreas Kling. When a root file is uploaded from the bot, we manually specify the remote user to upload_file_in_transaction. However, this was getting ignored by create_uploaded_file_from_form_data since it was always calling remote_user_name to get the user name off of $_SERVER. Fixed the bug by passing in the user name from upload_file_in_transaction to create_uploaded_file_from_form_data. * public/include/uploaded-file-helpers.php: (create_uploaded_file_from_form_data): Take the remote user as an argument instead of calling remote_user_name. (upload_file_in_transaction): * server-tests/api-upload-root-tests.js: Updated an existing test cases to make sure root files' author is set. (createTestGroupWihPatch): Manually override the author of a test group for testing. Canonical link: https://commits.webkit.org/190944@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219092 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
bd9e8f9e5b |
Prune unused uploaded files when the file quota is reached
https://bugs.webkit.org/show_bug.cgi?id=174086 Reviewed by Andreas Kling. Made /privileged-api/uploaded-file and /api/upload-root automatically delete old uploaded files when uploading a new file results in the file quota to be exceeded. Also added the notion of the total quota to avoid running out of a disk when there are hundreds of users each uploading near their quota. * config.json: Added a sample total disk quota of 100GB. * public/include/uploaded-file-helpers.php: (query_file_usage_for_user): Renamed from query_total_file_size. (query_total_file_usage): Added. (upload_file_in_transaction): (delete_file): Added. (prune_old_files): Added. * server-tests/privileged-api-upload-file-tests.js: Added tests for deleting old uploaded files as well as tests for the total quota. * server-tests/resources/test-server.js: (TestServer.prototype.testConfig): Added uploadTotalQuotaInMB to the test configuration. Canonical link: https://commits.webkit.org/190943@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219091 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
3afacc6e2e |
Add a WebRTC example for a blog post
https://bugs.webkit.org/show_bug.cgi?id=174049 Reviewed by Youenn Fablet. Example does a typical WebRTC video call, but uses canvas to do some image effects. Image effects will last for 30 seconds. After that time, the video stream is directly sent. This illustrates using RTCPeerConnection, replaceTrack and canvas capture. * blog-files/webrtc/pc-with-effects/LICENSE: Added. * blog-files/webrtc/pc-with-effects/glfx.js: Added. * blog-files/webrtc/pc-with-effects/index.html: Added. * blog-files/webrtc/pc-with-effects/main.css: Added. * blog-files/webrtc/pc-with-effects/main.js: Added. Canonical link: https://commits.webkit.org/190895@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219040 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
dab46ee9f6 |
UploadedFile should include the file extension in its url
https://bugs.webkit.org/show_bug.cgi?id=174009 Reviewed by Chris Dumez. Some command line tools such as darwinup use the file extension to determine the file type. Include the file extension in the URL of an uploaded file to make it work with these tools. * public/include/uploaded-file-helpers.php: (format_uploaded_file): Include the file extension. * public/v3/models/uploaded-file.js: (UploadedFile): (UploadedFile.prototype.url): Return the URL with hthe file extension specified. /api/uploaded-file already supports having the file extension specified. * server-tests/tools-sync-buildbot-integration-tests.js: Updated test cases. * unit-tests/buildbot-syncer-tests.js: Ditto. Canonical link: https://commits.webkit.org/190842@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218987 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4550f689db |
Add a Object rest/spread test to the experimental features test page
https://bugs.webkit.org/show_bug.cgi?id=173947 Rubber stamped by Dean Jackson. * experimental-features.html: Canonical link: https://commits.webkit.org/190780@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218904 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ef2b23bbf5 |
pretty patch doesn't show image diffs with newer versions of git
https://bugs.webkit.org/show_bug.cgi?id=173691 A new security check added in git >= 2.3.3 causes it to abort when the tool runs "git apply" to generate the images. Detect if git supports the flag --unsafe-paths and pass it. Reviewed by Darin Adler. * PrettyPatch/PrettyPatch.rb: Canonical link: https://commits.webkit.org/190594@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218711 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
5bc662f250 |
ARES-6 incorrectly measures Worst 4 Iterations
https://bugs.webkit.org/show_bug.cgi?id=172960 Reviewed by Mark Lam. Version 1.0 of ARES-6 was accidentally measuring the first 4 iterations, instead of the worst 4. This patch fixes the bug and bumps the version to 1.0.1. * ARES-6/glue.js: (driver.reportResult): * ARES-6/results.js: (Results.prototype.reportResult): Canonical link: https://commits.webkit.org/189922@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217897 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
c4f5ea19fa |
Update the design of the WebKit Feature Status page
https://bugs.webkit.org/show_bug.cgi?id=173036 Reviewed by Simon Fraser. * wp-content/themes/webkit/functions.php: Fixed a bad function call. * wp-content/themes/webkit/status.php: Implemented redesign with saved search. * wp-content/themes/webkit/style.css: (.feature-header:after): (@media only screen and (max-width: 920px)): (@media only screen and (max-width: 600px)): (.feature-filters): Deleted. (.feature-filters.opened): Deleted. (.feature-filters:after): Deleted. (.feature-filters.opened:after): Deleted. Canonical link: https://commits.webkit.org/189910@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217885 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ad786d9af4 |
Add a WebGPU test to the experimental features test page
https://bugs.webkit.org/show_bug.cgi?id=172953 Reviewed by Darin Adler. * experimental-features.html: Canonical link: https://commits.webkit.org/189867@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217842 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
20ee944758 |
Move Resource Timing / User Timing from experimental features into main preferences
https://bugs.webkit.org/show_bug.cgi?id=172950 Reviewed by Darin Adler. Source/WebCore: * features.json: Graduate some features from In Development to Supported. Source/WebKit2: * Shared/WebPreferencesDefinitions.h: Move Resource Timing and User Timing out of the Experimental Features section. Tools: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move out no longer experimental features to the main list. Websites/webkit.org: * experimental-features.html: Remove no longer experimental features. Canonical link: https://commits.webkit.org/189866@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217841 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
add368ef7b |
Add a version number to ARES-6
https://bugs.webkit.org/show_bug.cgi?id=172962 Reviewed by Yusuke Suzuki. * ARES-6/glue.js: (driver.reportResult): Canonical link: https://commits.webkit.org/189847@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217822 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
3fd5a46f94 |
Update index.html to include ARES-6.
Rubber stamped by Ryosuke Niwa. * index.html: Canonical link: https://commits.webkit.org/189816@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217789 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
5860d4086d |
Atomics.load and Atomics.store need to be fully fenced
https://bugs.webkit.org/show_bug.cgi?id=172844 Reviewed by Keith Miller. Source/JavaScriptCore: Implement fully fenced loads and stores in FTL using AtomicXchgAdd(0, ptr) for the load and AtomicXchg(value, ptr) for the store. DFG needed no changes because it implements all atomics using a CAS loop. AtomicsObject.cpp now uses new Atomic<> API for fully fences loads and stores. Prior to this change, we used half fences (acquire/release) for atomic loads and stores. This is not correct according to my current understanding of the SAB memory model, which requires that atomic operations are SC with respect to everything not just other atomics. * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): * ftl/FTLOutput.cpp: (JSC::FTL::Output::atomicWeakCAS): * ftl/FTLOutput.h: * runtime/AtomicsObject.cpp: Source/WTF: Add loadFullyFenced and storeFullyFenced to Atomic<>. * wtf/Atomics.h: (WTF::Atomic::loadFullyFenced): (WTF::Atomic::storeRelaxed): (WTF::Atomic::storeFullyFenced): (WTF::atomicLoadFullyFenced): (WTF::atomicStoreFullyFenced): Websites/webkit.org: Update documentation to say that the canonical way to do fully fenced loads and stores is AtomicXchgAdd(0, ptr) and AtomicXchg(value, ptr), respectively. * docs/b3/intermediate-representation.html: Canonical link: https://commits.webkit.org/189750@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217722 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
9cb030dcef |
Ensure a good experience for ARES-6 error reporting
https://bugs.webkit.org/show_bug.cgi?id=171699 Reviewed by Filip Pizlo and Jon Davis. This patch fixes a bug where we would silently fail running ARES-6. The bug was that we were calling reportError with the wrong |this| value. I also cleaned up a bit of the code around error reporting. We now indicate which test failed, and update the status to reflect that a failure happened. This patch also modifies the CSS a bit to work better on smaller screened devices. The CSS prevents the status from having a line break both when an error is reported and when we're running the benchmark. * ARES-6/driver.js: (Driver): (Driver.prototype.reportError): * ARES-6/results.js: (Results.prototype.reportError): (Results): * ARES-6/styles.css: (.start): (#status): (.failed): (#status.failed): (.test .failed:before): (#magic): (@media only screen and (max-width: 784px)): (.test): (p): (@media only screen and (max-width: 320px)): Canonical link: https://commits.webkit.org/189733@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217701 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
e8ce3ae67b |
Don't shouldn't create a request to build a patch if there is no patch to build
https://bugs.webkit.org/show_bug.cgi?id=172791 Reviewed by Chris Dumez. When a commit set doesn't have a patch specified, don't create a request to build. For example, when we're comparing WebKit in the system to WebKit with a patch, there is nothing to build for the first commit set. However, when conducting an A/B testing, it's advisible to compare WebKit built with and without a patch on a single machine with the same version of Xcode, etc... For this reason, we still create a request to build for a commit set if there is another commit set with a patch which uses the same repository group. * public/privileged-api/create-test-group.php: (main): Fixed the bug. Only create a build request to build if there is a matching repository group with a patch. * server-tests/privileged-api-create-test-group-tests.js: Added a test case. Canonical link: https://commits.webkit.org/189685@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217643 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
205220516d |
Allow sync-buildbot.js to set a buildbot property only when patches are built
https://bugs.webkit.org/show_bug.cgi?id=172743 Rubber-stamped by Chris Dumez. Added the ability to specify a buildbot property only when there are build requests to build a patch. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype.scheduleRequest): Pass in the list of build requests that belong to the same test group. (BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable): Ditto. (BuildbotSyncer.prototype._propertiesForBuildRequest): Added the support for specifying a conditional property. For the condition type of "built", we check if there was any other (BuildbotSyncer._parseRepositoryGroup): Added the support for "ifBuilt" conditional. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype._scheduleRequestIfSlaveIsAvailable): Pass in the list of build requests that belong to the same test group. (BuildbotTriggerable.prototype._scheduleRequestWithLog): Ditto. * unit-tests/buildbot-syncer-tests.js: Added test case for newly added "ifBuilt" as well as specifying a patch. Updated the various test cases per the addition of new argument to scheduleRequest, _propertiesForBuildRequest, and scheduleRequestInGroupIfAvailable. (createSampleBuildRequestWithPatch): Added. * unit-tests/resources/mock-v3-models.js: (MockModels.inject): Made "ios-svn-webkit" accept a WebKit patch and roots to allow new testing. Canonical link: https://commits.webkit.org/189670@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217623 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
fd35125257 |
Reduce Safari Technology Preview Release Notes posts shown on homepage
https://bugs.webkit.org/show_bug.cgi?id=172364 Reviewed by Daniel Bates. * wp-content/themes/webkit/functions.php: Load some extra posts. * wp-content/themes/webkit/widgets/post.php: Show STP blog posts when it is the current featured post. Canonical link: https://commits.webkit.org/189662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217614 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
cea6825f1c |
sync-builedbot.js fails to schedule the second request to test with a patch
https://bugs.webkit.org/show_bug.cgi?id=172701 Reviewed by Antti Koivisto. The bug was caused by an assertion failure in BuildbotTriggerable's _pullBuildbotOnAllSyncers failing to take into account that for a test group with a patch could be associated with two syncers, one to build a patch and another to run tests. Fixed the bug by differentiating the two types of syncers by buildSyncer and testSyncer per test group. * server-tests/tools-sync-buildbot-integration-tests.js: Extended a test case so that it would hit the assertion without the fix. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.syncOnce): Use the right kind of the syncer to schedule a build or a test. (BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Associate a given syncer based on the kind of the build request it processed, and assert accordingly. Canonical link: https://commits.webkit.org/189609@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217559 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a04bad9035 |
Fix UI glitches with a custom analysis test group with a patch
https://bugs.webkit.org/show_bug.cgi?id=172694 Reviewed by Sam Weinig. Fix the following UI glitches with perf try bots: - Retrying an A/B testing with a patch fails. - A patch specified in an test group does not get specified in the configurator. - Drag & dropping a patch doesn't work. - Results for custom analysis tasks don't get shown. * public/api/test-groups.php: (main): Fix a bug that test group's platform does not match that of the request'ed platform. Since each test group is associated with platform, just use that instead of querying test_configurations. This resulted in the configurator not being able to find a triggerable in some cases. * public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator): (CustomAnalysisTaskConfigurator.prototype.setCommitSets): Add patches in the commit set. (CustomAnalysisTaskConfigurator.prototype._setUploadedFilesToUploader): Now clears the exiting uploaded files Also renamed from _setUploadedFilesIfEmpty. (CustomAnalysisTaskConfigurator.prototype._setPatchFiles): Added. (CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): We no longer update the list of roots for the comparsion when a new root is added to the baseline. (CustomAnalysisTaskConfigurator.prototype._configureComparison): Copy over the list of patches and roots when starting to configure the comparsion. * public/v3/components/instant-file-uploader.js: (InstantFileUploader.prototype.clear): Added. (InstantFileUploader.prototype.didConstructShadowTree): Added event handlers for dragover & drop events to allow specifying a patch and root using drag & drop. Unfortunately, this still doesn't work in WebKit due to a bug in our shadow DOM implementation. (InstantFileUploader.prototype._didFileInputChange): (InstantFileUploader.prototype._uploadFiles): Extracted from _didFileInputChange. * public/v3/pages/analysis-task-page.js: (AnalysisTaskTestGroupPane.prototype.setAnalysisResults): No longer takes metric. (AnalysisTaskTestGroupPane.cssTemplate): Removed unused rules. Also disallow flexing on the list of test groups to avoid the name of a test froup from overflowing on top of the results pane. (AnalysisTaskPage.prototype._assignTestResultsIfPossible): Set setAnalysisResults even when metric is not set as is the case for a custom analysis task. (AnalysisTaskPage.prototype._retryCurrentTestGroup): Use createWithCustomConfiguration to allow retrying of an A/B testing with a patch in a custom analysis task. (AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList): Canonical link: https://commits.webkit.org/189593@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217541 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
18e3a8e224 |
Provide bug information when https://webkit.org/b/# URLs are added in comments
https://bugs.webkit.org/show_bug.cgi?id=169707 Reviewed by David Kilzer. * Bugzilla/Template.pm: (quoteUrls): Canonical link: https://commits.webkit.org/189558@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217504 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
e5fd9fac8e |
Show patches applied in each A/B testing build requests
https://bugs.webkit.org/show_bug.cgi?id=172636 Reviewed by Antti Koivisto. List patches applied along side revisions inn the list of revisions for an A/B tesing build requests if there are any patches applied. * public/v3/components/test-group-revision-table.js: (TestGroupRevisionTable.prototype._renderTable): Indicate which request is to build a patch and which one is to run tests. (TestGroupRevisionTable.prototype._buildCommitCell): Include the patch file's information when there is one. We need to use the requested commit set instead of the one reported by testers or builders since they don't include patch or root information. (TestGroupRevisionTable.prototype._buildCustomRootsCell): (TestGroupRevisionTable.prototype._buildFileInfo): Extracted from _buildCustomRootsCell. Canonical link: https://commits.webkit.org/189539@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217481 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
bb89a175ca |
The queue page is broke when there is a custom analysis task
https://bugs.webkit.org/show_bug.cgi?id=172631 Reviewed by Antti Koivisto. Fix the bug that we were always assuming each build request to have a test associated. * public/v3/models/test-group.js: (TestGroup.createAndRefetchTestGroups): Fixed the bug that we were referring to a non-existent variable task. * public/v3/pages/build-request-queue-page.js: (BuildRequestQueuePage.prototype._constructBuildRequestTable): Fixed the bug. Collect every request in the group and then find the first test request's test name. Make it clear that we're waiting for a build as needed. Canonical link: https://commits.webkit.org/189538@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217480 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
44dc4d8c52 |
Syncing script shouldn't schedule a build request when there is a build from another test group in progress
https://bugs.webkit.org/show_bug.cgi?id=172577 <rdar://problem/32395049> Reviewed by Chris Dumez. When a buildbot master gets restarted while there is an in-progress build and a pending build, the master will re-schedule the currently running build, and this can result in multiple build requests from different test groups being scheduled simultaneously. sync-buildbot.js was supposed to recover from this state by only processing build requests from one test group at a time and eventually come back to a state where only a single test group is running per buildbot slave. We had a test for this particular case but it wasn't testing what it claimed to test. Rewriten the test case and fixed the bug by explicitly checking this condition and treating it as if there is a pending build already scheduled in the builder in this case. * public/api/test-groups.php: (main): Fixed a regression from r217397. Return the platform ID of the first request when none of the requets have been processed yet or all of them had failed. * server-tests/tools-buildbot-triggerable-tests.js: Rewritten a test case intended to cover this bug. (.assertRequestAndResolve): Added. * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype.scheduleRequestInGroupIfAvailable): Fixed the bug. Avoid scheduling a new request on this syncer if there is a build in progress for a test group different from that of the new request. Reuse the code we had to deal with a pending build for this purpose. Canonical link: https://commits.webkit.org/189512@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217448 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4226d68ca5 |
Opening an analysis task from the queue page is broken
https://bugs.webkit.org/show_bug.cgi?id=172559 <rdar://problem/32389708> Rubber-stamped by Chris Dumez. Fix the bug that opening the analysis task page from the queue page results in multiple assertion failures as well as the list of test groups in the analysis task page not getting updated. * public/v3/models/build-request.js: (BuildRequest.prototype.updateSingleton): Because /api/build-requests/ do not include test groups, it's possible for testGroup to be dynamically updated upon loading an analysis task page. Update _testGroup in such instances instead of asserting that it doesn't happen. * public/v3/models/data-model.js: (DataModelObject.cachedFetch): Because various code to create model objects from the result of a JSON API modify the fetched content in irreversible manner, e.g. `object.platform = Platform.findById(object.platform)` we must return a fresh new content each time even if the result had been cached. * public/v3/models/test-group.js: (TestGroup.prototype.platform): Return this._platform as that's not available. * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage): (AnalysisTaskPage.prototype._resetVariables): Extracted from the constructor. (AnalysisTaskPage.prototype.updateFromSerializedState): Reset all instance variables when opening a new analysis task page. This would avoid showing the stale result even when fetching new test groups had failed. * unit-tests/test-groups-tests.js: Added a test case for fetching the same test group twice. This used to hit a problem in BuildRequest.constructBuildRequestsFromData which overrode platform property of each raw content with a Platform model object because in the case of a cached fetch, we end up trying to look up the platform again using the result of stringifying the Platform object instead of the platform ID included in the original fetched content. (sampleTestGroup): Added "platform" as included in the JSON API's response now. Canonical link: https://commits.webkit.org/189469@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217397 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
c57d8e1c2a |
The commit log viewer can overlap the analysis results viewer
https://bugs.webkit.org/show_bug.cgi?id=172534 Rubber-stamped by Chris Dumez. Allocate the padding on the right for the commit log viewer, and add a horizontal scrollbar to the analysis results viewer instead of letting it expand beneath the commit log viewer. * public/v3/pages/analysis-task-page.js: (AnalysisTaskResultsPane.htmlTemplate): (AnalysisTaskResultsPane.cssTemplate): Canonical link: https://commits.webkit.org/189468@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217396 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
11c4d58288 |
Sycning script build fix after r217378.
* tools/sync-buildbot.js: (syncLoop): Canonical link: https://commits.webkit.org/189460@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217385 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
6e77fddfc3 |
Add the support for perf try bots to sync-buildbot.js
https://bugs.webkit.org/show_bug.cgi?id=172529 Rubber-stamped by Chris Dumez. Make sync-buildbot.js schedule an A/B testing job with a patch or roots to buildbot. Change the buildbot property format in the syncing script's configuration again to use a dictionary with a single key of "revision", "patch", or "roots" to specify a revision, a patch, or a set of roots, and simplified the structure of the configuration by always having "types" and "builders", and make each entry in "configurations" refer to a list of types, platforms, and builders. Since now there are build requests to build patches and run tests, "configurations" has been renamed to "testConfigurations" and "buildConfigurations" have been added. Each entry in "buildConfigurations" specifies a list of platforms and builders. Similarly in repository group configurations, the buildbot properties for testing is now specified as "testProperties" and ones for building a patch is specified in newly introduced "buildProperties". * public/api/build-requests.php: (update_builds): When a build request to build a patch fails, mark all subsequent requests as failed since there is no way to run tests without a successful build. * public/api/update-triggerable.php: (main): Re-generate manifest.json after updating the triggerable. The lack of this re-generation was the reason we had to manually GET /api/manifest in api-update-triggerable-tests.js. * public/v3/models/build-request.js: (BuildRequest.prototype.hasCompleted): Added. * public/v3/models/manifest.js: (Manifest.reset): Added. Extracted from MockData.resetV3Models in unit-tests/mock-data.js and syncLoop in tools/sync-buildbot.js (Manifest.fetch): Reset V3 models before fetching the manifest. This eliminates the need to manually reset V3 models in syncLoop. * public/v3/models/uploaded-file.js: (UploadedFile.prototype.url): Use RemoteAPI.url to get the full URL instead of just a path. * public/v3/remote.js: (BrowserRemoteAPI.prototype.url): Added. Constructs the full URL. * server-tests/api-update-triggerable-tests.js: (.refetchManifest): Deleted. Now that /api/manifest re-generates manifest.json, we can simply call Manifest.fetch instead. * server-tests/resources/mock-data.js: (MockData.resetV3Models): Calls Manifest.reset(). (MockData.addMockConfiguration): Extracted from addMockData. (MockData.addMockData): Updated per the format change. (MockData.mockTestSyncConfigWithSingleBuilder): Ditto. (MockData.mockTestSyncConfigWithTwoBuilders): Ditto. (MockData.runningBuild): Make buildNumber specifiable. (MockData.finishedBuild): Ditto. * server-tests/tools-buildbot-triggerable-tests.js: Updated configurations per the format change. Now that now acceptsCustomRoots() for "system-and-webkit" must be true since we can't have a repository group that which accepts a patch and not take roots. * server-tests/tools-sync-buildbot-integration-tests.js: Added. (createTriggerable): Added. (createTestGroupWihPatch): Added. (uploadRoot): Added. (.assertAndResolveRequest): Added. (.assertTestBuildHasFailed): Added. * tools/js/buildbot-syncer.js: (BuildbotSyncer): Added. _type as an instance variable to identify whether this buildbot builder is a "builder" which builds a patch, builder, or a "tester" which runs a test. Also renamed _testConfigurations to _configurations. (BuildbotSyncer.prototype.addTestConfiguration): Assert that either the type of this syncer hasn't been set or it's a tester. (BuildbotSyncer.prototype.testConfigurations): Return [] when it's a builder. (BuildbotSyncer.prototype.addBuildConfiguration): Added. Adds a platform to a builder. (BuildbotSyncer.prototype.buildConfigurations): Added. Returns the list of configurations if this syncer is a builder. Otherwise returns []. (BuildbotSyncer.prototype.isTester): Added. (BuildbotSyncer.prototype.matchesConfiguration): (BuildbotSyncer.prototype._propertiesForBuildRequest): Updated to support the new format. (BuildbotSyncer._loadConfig): Ditto. Optionally parse buildConfigurations. (BuildbotSyncer._resolveBuildersWithPlatforms): Added. For each test or build configuration entry, creates the list of configurations per builder and platform. (BuildbotSyncer._parseRepositoryGroup): Added the support for parsing the new format with revision, roots, and patch option types with a lot of validations as we're seeing a bit of combinatorial explosion in the number of things that can go wrong. Also parse buildProperties optionally. (BuildbotSyncer._parseRepositoryGroupPropertyTemplate): Added. A helper function to parse a set of buildbot properties, validates its content, and invokes a callback if it's an dynamically resolved type such as "revision" and "patch". (BuildbotSyncer._validateAndMergeConfig): Updated per the format change. No longer allows "types", "type", "platforms", and "platform" as they're explicity resolved in _resolveBuildersWithPlatforms. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.syncOnce): (BuildbotTriggerable.prototype._validateRequests): Handle the case when a build request is not associated with any test. (BuildbotTriggerable.prototype._nextRequestInGroup): Return null when there is a build request to build a patch which has not been completed (pending, scheduled, running, or failed). Since all requests to build a patch has a negative order, those requests should all show up at the beginning. (BuildbotTriggerable.prototype._scheduleRequestIfSlaveIsAvailable): Pick a new buildbot syncer when scheduling the first request to build a patch or the first request to run a test. The first request to run a test will always have order of 0, so it's a sufficient condition to find such a request. On the other hand, the first request to build a patch can have a negative order number so we must explicitly check if it's the first item in the ordered list of requests in the test group. * tools/remote-server-relay.log: Added. * tools/sync-buildbot.js: (syncLoop): Fixed a bug we were not re-fetching the triggerable after updating the triggerable so that Triggerable and related objects we have in the memory may not reflect what we just synced to the perf dashboard. Also, we don't reset V3 models manually any more since Manifest.fetch does that. * unit-tests/buildbot-syncer-tests.js: Added more test cases and updated existing test cases to test exception messages explicitly since allowing any exception was resulting in some tests passing a result of unrelated parsing error being thrown, etc... (sampleiOSConfig): Updated per the format change. (sampleiOSConfigWithExpansions): Ditto. (smallConfiguration): Ditto. Canonical link: https://commits.webkit.org/189454@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217378 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
c34bd5467e |
Fix the bug that sometimes analysis task results pane is missing.
https://bugs.webkit.org/show_bug.cgi?id=172404 Reviewed by Ryosuke Niwa. AnalysisTaskPage._didFetchTask and AnalaysisTaskPage._fetchRelatedInfoForTaskId should be called in order. The race between those two functions causes the analysis task results pane sometimes missing. * public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer.prototype.render): Fix the bug in r217173 that commitSet can be undefined. * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.prototype.updateFromSerializedState): Use arrow function to get rid of self variable. Use `const` instead of var for constant variable. And call _didFetchTask before calling _fetchRelatedInfoForTaskId. (AnalysisTaskPage.prototype._renderTaskNameAndStatus): (AnalysisTaskPage.cssTemplate): Canonical link: https://commits.webkit.org/189356@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217230 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
90f48a44db |
Add a commit log viewer next to the analysis results viewer
https://bugs.webkit.org/show_bug.cgi?id=172399 Reviewed by Chris Dumez. Add a commit log viewer next to the analysis results viewer, which visualizes the A/B testing results. Also linkify the revisions in the table that shows the status of each A/B testing job, and allow the prefix of "r" when associating a Subversion revision. Finally, Fixed a bug that the list of commits associated with the analysis task were not re-rendered when the list was updated by the user. * public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer): Added _selectorRadioButtonList as an instance variable. It's a list of radio buttons to select a configuration (A/B) with a commit set. It's added to update the checked status of radio buttons upon changing the currently selected test group. (AnalysisResultsViewer.prototype.setTestGroups): Update the selected range to that of the currently selected group. (AnalysisResultsViewer.prototype.render): Fill _selectorRadioButtonList with radio buttons. * public/v3/components/commit-log-viewer.js: (CommitLogViewer): Added _showRepositoryName as an instance variable. (CommitLogViewer.prototype.setShowRepositoryName): Added. (CommitLogViewer.prototype.render): Hide the repository name when _showRepositoryName is false. This is used in the newly added commit log viewer for the analysis results since we're showing a select element with all the names of repositories above this component. * public/v3/components/test-group-revision-table.js: (TestGroupRevisionTable.prototype._buildCommitCell): Linkify the revisions if possible. * public/v3/models/analysis-task.js: (AnalysisTask.prototype.associateCommit): Strip "r" at the beginning for a Subversion like r12345 since that's the format we use to show to the user. This makes copy & paste easier. * public/v3/pages/analysis-task-page.js: (AnalysisTaskResultsPane): Added a bunch of new instance variables to show and update the commit log viewer next to the analysis results viewer. (AnalysisTaskResultsPane.prototype.setPoints): Create the list of repositories to show details. (AnalysisTaskResultsPane.prototype.didConstructShadowTree): Re-render when the current selected test group changes since that may have updated the selected range for A/B testing. Also re-render when a new repository is selected to show details. (AnalysisTaskResultsPane.prototype.render): Update the list of repositories and the commit log viewer. (AnalysisTaskResultsPane.prototype._renderRepositoryList): Renders the list of repositories. (AnalysisTaskResultsPane.prototype._updateCommitViewer): Updates the commit log viewer given the range selected in the analysis results viewer. (AnalysisTaskResultsPane.htmlTemplate): Updated the template. (AnalysisTaskResultsPane.cssTemplate): Ditto. (AnalysisTaskTestGroupPane.cssTemplate): Add a little space between the list of results and the table of A/B testing jobs with revisions. (AnalysisTaskPage.prototype.render): Fixed the bug that the list of commits associated with the task is not updated when the list changes the task or the start point never changed when the list of commits associated with the task changed. Make the lazily evaluated function compare the actual list of commits so that it will invoke _renderCauseAndFixes when the list changes. (AnalysisTaskPage.prototype._renderCauseAndFixes): Now renders a specific list. Canonical link: https://commits.webkit.org/189302@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217173 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
524370d25b |
REGRESSION(r217118): Speedometer 2.0: Flight.js test is broken
https://bugs.webkit.org/show_bug.cgi?id=172394 Reviewed by Chris Dumez. PerformanceTests: Fixed the bug that we were never clearing window.checkLoadedTimeoutId. * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: (newContext.checkLoaded): Websites/browserbench.org: Merge the fix. * Speedometer2.0/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: (newContext.checkLoaded): Canonical link: https://commits.webkit.org/189292@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217161 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
93a4930efa |
Merge Speedometer 2.0 fixes up to r217121 to browserbench.org
https://bugs.webkit.org/show_bug.cgi?id=172389 Rubber-stamped by Chris Dumez. Merged the various fixes for Speedometer 2.0 starting from r217107 through r217121. * Speedometer2.0/InteractiveRunner.html: * Speedometer2.0/resources/benchmark-runner.js: * Speedometer2.0/resources/tests.js: * Speedometer2.0/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: * Speedometer2.0/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: * Speedometer2.0/resources/todomvc/functional-prog-examples/elm/dist/elm.js: * Speedometer2.0/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Canonical link: https://commits.webkit.org/189287@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217154 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
037989aa20 |
Add Speedometer 2.0 to browserbench.org for final testing
https://bugs.webkit.org/show_bug.cgi?id=172335 Rubber-stamped by Chris Dumez. Stage Speedometer 2.0 here for the final testing before we call it official. * Speedometer2.0: Copied from PerformanceTests/Speedometer. * Speedometer2.0/Full.html: Removed. * Speedometer2.0/index.html: Copied from PerformanceTests/Speedometer/index.html. Canonical link: https://commits.webkit.org/189232@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217090 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
cfc5afb349 |
Add an Accessibility icon to webkit.org
https://bugs.webkit.org/show_bug.cgi?id=172298 Reviewed by Alexey Proskuryakov. * wp-content/themes/webkit/images/icons.svg: Added accessibility icon to the sprite. * wp-content/themes/webkit/style.css: New rule to use the accessibility icon from the icons sprite. (.tile.category-accessibility .background-image): Canonical link: https://commits.webkit.org/189212@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217070 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
92217b10f2 |
Another build fix. Added a missing null check.
* public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator.prototype._setUploadedFilesIfEmpty): Canonical link: https://commits.webkit.org/189111@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216942 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
712e67f4de |
browserbench.org/Speedometer/ should show the benchmark not an index of files
https://bugs.webkit.org/show_bug.cgi?id=172141 Reviewed by Alexey Proskuryakov. Renamed Speedometer/Full.html to Speedometer/index.html. We used to have a .htaccess but it's better to use the same file name convention as other benchmarks. * Speedometer/index.html: Renamed from Websites/browserbench.org/Speedometer/Full.html. Canonical link: https://commits.webkit.org/189073@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216897 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a162c474cb |
AX: Inaccessible content on webkit.org main page
https://bugs.webkit.org/show_bug.cgi?id=172106 Reviewed by Joseph Pecoraro. * wp-content/themes/webkit/widgets/icon.php: Resolved link title. * wp-content/themes/webkit/widgets/post.php: Resolved link title. * wp-content/themes/webkit/widgets/twitter.php: Resolved link titles. Suppressed unlabeled images with alt="". Canonical link: https://commits.webkit.org/189056@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216879 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
470a712721 |
2017-05-14 James Craig <jcraig@apple.com>
Upload poster images and working captioned video https://bugs.webkit.org/show_bug.cgi?id=172102 Unreviewed. More resources for prefers-reduced-motion post. * blog-files/prefers-reduced-motion/axi.htm: Added. * blog-files/prefers-reduced-motion/axi.png: Removed. * blog-files/prefers-reduced-motion/posters: Added. * blog-files/prefers-reduced-motion/posters/apple_env_load.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_env_planeshift.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_ios10.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_shoot.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_shoot_reduced.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_sierra.jpg: Added. * blog-files/prefers-reduced-motion/posters/apple_sierra_reduced.jpg: Added. * blog-files/prefers-reduced-motion/posters/axi.jpg: Added. * blog-files/prefers-reduced-motion/posters/viljami.jpg: Added. * blog-files/prefers-reduced-motion/prm.htm: Link to axi.htm video demo. Canonical link: https://commits.webkit.org/189038@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216858 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
d32a9c555a |
2017-05-14 James Craig <jcraig@apple.com>
AX: All the articles on the WebKit blog are called 'Clickable Link' by VoiceOver https://bugs.webkit.org/show_bug.cgi?id=172096 <rdar://problem/31624323> Unreviewed. Fixing broken link titles for screen readers. * wp-content/themes/webkit/loop.php: Adding relevant link label for accessibility. Canonical link: https://commits.webkit.org/189035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216855 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
672089c6ca |
Build fix. Added a missing null check.
* public/v3/pages/analysis-task-page.js: (AnalysisTaskConfiguratorPane.prototype.setTestGroups): Canonical link: https://commits.webkit.org/189025@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216840 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
441edbede2 |
Add Websites/browserbench.org
https://bugs.webkit.org/show_bug.cgi?id=172049 Rubber-stamped by Geoffrey Garen. Added the current contents of browserbench.org. * ARES-6/ARES-6.svg: Added. * ARES-6/Air/README.md: Added. * ARES-6/Air/airjs-tests.yaml: Added. * ARES-6/Air/all.js: Added. * ARES-6/Air/allocate_stack.js: Added. * ARES-6/Air/arg.js: Added. * ARES-6/Air/basic_block.js: Added. * ARES-6/Air/benchmark.js: Added. * ARES-6/Air/code.js: Added. * ARES-6/Air/custom.js: Added. * ARES-6/Air/frequented_block.js: Added. * ARES-6/Air/insertion_set.js: Added. * ARES-6/Air/inst.js: Added. * ARES-6/Air/liveness.js: Added. * ARES-6/Air/make_dist.sh: Added. * ARES-6/Air/opcode.js: Added. * ARES-6/Air/payload-airjs-ACLj8C.js: Added. * ARES-6/Air/payload-gbemu-executeIteration.js: Added. * ARES-6/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Added. * ARES-6/Air/payload-typescript-scanIdentifier.js: Added. * ARES-6/Air/reg.js: Added. * ARES-6/Air/stack_slot.js: Added. * ARES-6/Air/stress-test.js: Added. * ARES-6/Air/strip-hash.rb: Added. * ARES-6/Air/symbols.js: Added. * ARES-6/Air/test.html: Added. * ARES-6/Air/test.js: Added. * ARES-6/Air/tmp.js: Added. * ARES-6/Air/tmp_base.js: Added. * ARES-6/Air/util.js: Added. * ARES-6/Babylon/AUTHORS: Added. * ARES-6/Babylon/air-blob.js: Added. * ARES-6/Babylon/babylon-blob.js: Added. * ARES-6/Babylon/basic-blob.js: Added. * ARES-6/Babylon/benchmark.js: Added. * ARES-6/Babylon/index.js: Added. * ARES-6/Babylon/inspector-blob.js: Added. * ARES-6/Basic/ast.js: Added. * ARES-6/Basic/basic-tests.yaml: Added. * ARES-6/Basic/basic.js: Added. * ARES-6/Basic/benchmark.js: Added. * ARES-6/Basic/caseless_map.js: Added. * ARES-6/Basic/lexer.js: Added. * ARES-6/Basic/number.js: Added. * ARES-6/Basic/parser.js: Added. * ARES-6/Basic/random.js: Added. * ARES-6/Basic/state.js: Added. * ARES-6/Basic/stress-test.js: Added. * ARES-6/Basic/test.html: Added. * ARES-6/Basic/test.js: Added. * ARES-6/Basic/util.js: Added. * ARES-6/about.html: Added. * ARES-6/air_benchmark.js: Added. * ARES-6/babylon_benchmark.js: Added. * ARES-6/basic_benchmark.js: Added. * ARES-6/cli.js: Added. * ARES-6/driver.js: Added. * ARES-6/glue.js: Added. * ARES-6/index.html: Added. * ARES-6/ml/benchmark.js: Added. * ARES-6/ml/index.js: Added. * ARES-6/ml_benchmark.js: Added. * ARES-6/results.js: Added. * ARES-6/stats.js: Added. * ARES-6/styles.css: Added. * ARES-6/swoop.svg: Added. * JetStream/CDjsSetup.js: Added. * JetStream/JetStream-Logo.png: Added. * JetStream/JetStream-Logo@2x.png: Added. * JetStream/JetStream.css: Added. * JetStream/JetStreamDriver.js: Added. * JetStream/LLVM-test-suite-LICENSE.txt: Added. * JetStream/Octane/base.js: Added. * JetStream/Octane/code-load.js: Added. * JetStream/Octane2/base.js: Added. * JetStream/Octane2/box2d.js: Added. * JetStream/Octane2/code-load.js: Added. * JetStream/Octane2/crypto.js: Added. * JetStream/Octane2/deltablue.js: Added. * JetStream/Octane2/earley-boyer.js: Added. * JetStream/Octane2/gbemu-part1.js: Added. * JetStream/Octane2/gbemu-part2.js: Added. * JetStream/Octane2/mandreel.js: Added. * JetStream/Octane2/navier-stokes.js: Added. * JetStream/Octane2/pdfjs.js: Added. * JetStream/Octane2/raytrace.js: Added. * JetStream/Octane2/regexp.js: Added. * JetStream/Octane2/richards.js: Added. * JetStream/Octane2/run.js: Added. * JetStream/Octane2/splay.js: Added. * JetStream/Octane2/typescript-compiler.js: Added. * JetStream/Octane2/typescript-input.js: Added. * JetStream/Octane2/typescript.js: Added. * JetStream/Octane2/zlib-data.js: Added. * JetStream/Octane2/zlib.js: Added. * JetStream/Octane2Setup.js: Added. * JetStream/OctaneSetup.js: Added. * JetStream/Reference.js: Added. * JetStream/SimplePayload.js: Added. * JetStream/SimpleSetup.js: Added. * JetStream/SunSpiderPayload.js: Added. * JetStream/SunSpiderSetup.js: Added. * JetStream/Swoosh.png: Added. * JetStream/Swoosh@2x.png: Added. * JetStream/TestingSetup.js: Added. * JetStream/cdjs/benchmark.js: Added. * JetStream/cdjs/call_sign.js: Added. * JetStream/cdjs/collision.js: Added. * JetStream/cdjs/collision_detector.js: Added. * JetStream/cdjs/constants.js: Added. * JetStream/cdjs/motion.js: Added. * JetStream/cdjs/red_black_tree.js: Added. * JetStream/cdjs/reduce_collision_set.js: Added. * JetStream/cdjs/simulator.js: Added. * JetStream/cdjs/util.js: Added. * JetStream/cdjs/vector_2d.js: Added. * JetStream/cdjs/vector_3d.js: Added. * JetStream/in-depth.html: Added. * JetStream/index.html: Added. * JetStream/simple/bigfib.cpp: Added. * JetStream/simple/bigfib.cpp.js: Added. * JetStream/simple/container.cpp: Added. * JetStream/simple/container.cpp.js: Added. * JetStream/simple/dry.c: Added. * JetStream/simple/dry.c.js: Added. * JetStream/simple/float-mm.c: Added. * JetStream/simple/float-mm.c.js: Added. * JetStream/simple/gcc-loops.cpp: Added. * JetStream/simple/gcc-loops.cpp.js: Added. * JetStream/simple/hash-map.js: Added. * JetStream/simple/n-body.c: Added. * JetStream/simple/n-body.c.js: Added. * JetStream/simple/quicksort.c: Added. * JetStream/simple/quicksort.c.js: Added. * JetStream/simple/towers.c: Added. * JetStream/simple/towers.c.js: Added. * JetStream/sources/3d-cube.js: Added. * JetStream/sources/3d-raytrace.js: Added. * JetStream/sources/base64.js: Added. * JetStream/sources/bigfib.cpp: Added. * JetStream/sources/bigfib.cpp.js: Added. * JetStream/sources/box2d.js: Added. * JetStream/sources/cdjs-benchmark.js: Added. * JetStream/sources/cdjs-call_sign.js: Added. * JetStream/sources/cdjs-collision.js: Added. * JetStream/sources/cdjs-collision_detector.js: Added. * JetStream/sources/cdjs-constants.js: Added. * JetStream/sources/cdjs-motion.js: Added. * JetStream/sources/cdjs-red_black_tree.js: Added. * JetStream/sources/cdjs-reduce_collision_set.js: Added. * JetStream/sources/cdjs-simulator.js: Added. * JetStream/sources/cdjs-util.js: Added. * JetStream/sources/cdjs-vector_2d.js: Added. * JetStream/sources/cdjs-vector_3d.js: Added. * JetStream/sources/code-first-load-code-load.js: Added. * JetStream/sources/code-multi-load-code-load.js: Added. * JetStream/sources/container.cpp: Added. * JetStream/sources/container.cpp.js: Added. * JetStream/sources/crypto-aes.js: Added. * JetStream/sources/crypto-md5.js: Added. * JetStream/sources/crypto-sha1.js: Added. * JetStream/sources/crypto.js: Added. * JetStream/sources/date-format-tofte.js: Added. * JetStream/sources/date-format-xparb.js: Added. * JetStream/sources/deltablue.js: Added. * JetStream/sources/dry.c: Added. * JetStream/sources/dry.c.js: Added. * JetStream/sources/earley-boyer.js: Added. * JetStream/sources/float-mm.c: Added. * JetStream/sources/float-mm.c.js: Added. * JetStream/sources/gbemu-part1.js: Added. * JetStream/sources/gbemu-part2.js: Added. * JetStream/sources/gcc-loops.cpp: Added. * JetStream/sources/gcc-loops.cpp.js: Added. * JetStream/sources/hash-map.js: Added. * JetStream/sources/mandreel.js: Added. * JetStream/sources/n-body.c: Added. * JetStream/sources/n-body.c.js: Added. * JetStream/sources/n-body.js: Added. * JetStream/sources/navier-stokes.js: Added. * JetStream/sources/pdfjs.js: Added. * JetStream/sources/quicksort.c: Added. * JetStream/sources/quicksort.c.js: Added. * JetStream/sources/raytrace.js: Added. * JetStream/sources/regex-dna.js: Added. * JetStream/sources/regexp.js: Added. * JetStream/sources/richards.js: Added. * JetStream/sources/splay.js: Added. * JetStream/sources/tagcloud.js: Added. * JetStream/sources/towers.c: Added. * JetStream/sources/towers.c.js: Added. * JetStream/sources/typescript-compiler.js: Added. * JetStream/sources/typescript-input.js: Added. * JetStream/sources/typescript.js: Added. * JetStream/sources/zlib-data.js: Added. * JetStream/sources/zlib.js: Added. * JetStream/sunspider/3d-cube.js: Added. * JetStream/sunspider/3d-raytrace.js: Added. * JetStream/sunspider/base64.js: Added. * JetStream/sunspider/crypto-aes.js: Added. * JetStream/sunspider/crypto-md5.js: Added. * JetStream/sunspider/crypto-sha1.js: Added. * JetStream/sunspider/date-format-tofte.js: Added. * JetStream/sunspider/date-format-xparb.js: Added. * JetStream/sunspider/n-body.js: Added. * JetStream/sunspider/regex-dna.js: Added. * JetStream/sunspider/tagcloud.js: Added. * MotionMark/about.html: Added. * MotionMark/developer.html: Added. * MotionMark/index.html: Added. * MotionMark/resources/debug-runner/animometer.css: Added. * MotionMark/resources/debug-runner/animometer.js: Added. * MotionMark/resources/debug-runner/d3.min.js: Added. * MotionMark/resources/debug-runner/graph.js: Added. * MotionMark/resources/debug-runner/tests.js: Added. * MotionMark/resources/extensions.js: Added. * MotionMark/resources/runner/animometer.css: Added. * MotionMark/resources/runner/animometer.js: Added. * MotionMark/resources/runner/benchmark-runner.js: Added. * MotionMark/resources/runner/crystal.svg: Added. * MotionMark/resources/runner/lines.svg: Added. * MotionMark/resources/runner/logo.svg: Added. * MotionMark/resources/runner/tests.js: Added. * MotionMark/resources/statistics.js: Added. * MotionMark/resources/strings.js: Added. * MotionMark/tests/3d/resources/webgl.js: Added. * MotionMark/tests/3d/webgl.html: Added. * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Added. * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Added. * MotionMark/tests/bouncing-particles/bouncing-css-images.html: Added. * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Added. * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Added. * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Added. * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-particles.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added. * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added. * MotionMark/tests/bouncing-particles/resources/image1.jpg: Added. * MotionMark/tests/bouncing-particles/resources/image2.jpg: Added. * MotionMark/tests/bouncing-particles/resources/image3.jpg: Added. * MotionMark/tests/bouncing-particles/resources/image4.jpg: Added. * MotionMark/tests/bouncing-particles/resources/image5.jpg: Added. * MotionMark/tests/dom/compositing-transforms.html: Added. * MotionMark/tests/dom/focus.html: Added. * MotionMark/tests/dom/leaves.html: Added. * MotionMark/tests/dom/particles.html: Added. * MotionMark/tests/dom/resources/compositing-transforms.js: Added. * MotionMark/tests/dom/resources/dom-particles.js: Added. * MotionMark/tests/dom/resources/focus.js: Added. * MotionMark/tests/dom/resources/leaves.js: Added. * MotionMark/tests/master/canvas-stage.html: Added. * MotionMark/tests/master/focus.html: Added. * MotionMark/tests/master/image-data.html: Added. * MotionMark/tests/master/leaves.html: Added. * MotionMark/tests/master/multiply.html: Added. * MotionMark/tests/master/resources/canvas-stage.js: Added. * MotionMark/tests/master/resources/canvas-tests.js: Added. * MotionMark/tests/master/resources/compass.svg: Added. * MotionMark/tests/master/resources/compass100.png: Added. * MotionMark/tests/master/resources/console.svg: Added. * MotionMark/tests/master/resources/console100.png: Added. * MotionMark/tests/master/resources/contribute.svg: Added. * MotionMark/tests/master/resources/contribute100.png: Added. * MotionMark/tests/master/resources/debugger.svg: Added. * MotionMark/tests/master/resources/debugger100.png: Added. * MotionMark/tests/master/resources/focus.js: Added. * MotionMark/tests/master/resources/image-data.js: Added. * MotionMark/tests/master/resources/inspector.svg: Added. * MotionMark/tests/master/resources/inspector100.png: Added. * MotionMark/tests/master/resources/layout.svg: Added. * MotionMark/tests/master/resources/layout100.png: Added. * MotionMark/tests/master/resources/leaves.js: Added. * MotionMark/tests/master/resources/multiply.js: Added. * MotionMark/tests/master/resources/particles.js: Added. * MotionMark/tests/master/resources/performance.svg: Added. * MotionMark/tests/master/resources/performance100.png: Added. * MotionMark/tests/master/resources/script.svg: Added. * MotionMark/tests/master/resources/script100.png: Added. * MotionMark/tests/master/resources/shortcuts.svg: Added. * MotionMark/tests/master/resources/shortcuts100.png: Added. * MotionMark/tests/master/resources/standards.svg: Added. * MotionMark/tests/master/resources/standards100.png: Added. * MotionMark/tests/master/resources/storage.svg: Added. * MotionMark/tests/master/resources/storage100.png: Added. * MotionMark/tests/master/resources/styles.svg: Added. * MotionMark/tests/master/resources/styles100.png: Added. * MotionMark/tests/master/resources/svg-particles.js: Added. * MotionMark/tests/master/resources/text.js: Added. * MotionMark/tests/master/resources/timeline.svg: Added. * MotionMark/tests/master/resources/timeline100.png: Added. * MotionMark/tests/master/svg-particles.html: Added. * MotionMark/tests/master/text.html: Added. * MotionMark/tests/resources/main.js: Added. * MotionMark/tests/resources/math.js: Added. * MotionMark/tests/resources/stage.css: Added. * MotionMark/tests/resources/star.svg: Added. * MotionMark/tests/resources/yin-yang.png: Added. * MotionMark/tests/resources/yin-yang.svg: Added. * MotionMark/tests/simple/resources/simple-canvas-paths.js: Added. * MotionMark/tests/simple/resources/simple-canvas.js: Added. * MotionMark/tests/simple/resources/tiled-canvas-image.js: Added. * MotionMark/tests/simple/simple-canvas-paths.html: Added. * MotionMark/tests/simple/tiled-canvas-image.html: Added. * MotionMark/tests/template/resources/template-canvas.js: Added. * MotionMark/tests/template/resources/template-css.js: Added. * MotionMark/tests/template/resources/template-svg.js: Added. * MotionMark/tests/template/template-canvas.html: Added. * MotionMark/tests/template/template-css.html: Added. * MotionMark/tests/template/template-svg.html: Added. * MotionMark/version: Added. * Speedometer/Full.html: Added. * Speedometer/InteractiveRunner.html: Added. * Speedometer/resources/benchmark-report.js: Added. * Speedometer/resources/benchmark-runner.js: Added. * Speedometer/resources/flightjs-example-app/LICENSE.md: Added. * Speedometer/resources/flightjs-example-app/README.md: Added. * Speedometer/resources/flightjs-example-app/app/boot/page.js: Added. * Speedometer/resources/flightjs-example-app/app/component_data/compose_box.js: Added. * Speedometer/resources/flightjs-example-app/app/component_data/mail_items.js: Added. * Speedometer/resources/flightjs-example-app/app/component_data/move_to.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/compose_box.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/folders.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/mail_controls.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/mail_items.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/move_to_selector.js: Added. * Speedometer/resources/flightjs-example-app/app/component_ui/with_select.js: Added. * Speedometer/resources/flightjs-example-app/app/css/custom.css: Added. * Speedometer/resources/flightjs-example-app/app/data.js: Added. * Speedometer/resources/flightjs-example-app/app/templates.js: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added. * Speedometer/resources/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/.gitignore: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/CHANGES: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/LICENSE: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/README.md: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/component.json: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/es5-sham.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/es5-shim.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/package.json: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/index.html: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added. * Speedometer/resources/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/.travis.yml: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/advice.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/component.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/compose.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/index.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/logger.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/registry.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/lib/utils.js: Added. * Speedometer/resources/flightjs-example-app/components/flight/tools/debug/debug.js: Added. * Speedometer/resources/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added. * Speedometer/resources/flightjs-example-app/components/jasmine-flight/README.md: Added. * Speedometer/resources/flightjs-example-app/components/jasmine-flight/bower.json: Added. * Speedometer/resources/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added. * Speedometer/resources/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added. * Speedometer/resources/flightjs-example-app/components/jquery/component.json: Added. * Speedometer/resources/flightjs-example-app/components/jquery/composer.json: Added. * Speedometer/resources/flightjs-example-app/components/jquery/jquery.js: Added. * Speedometer/resources/flightjs-example-app/components/jquery/jquery.min.js: Added. * Speedometer/resources/flightjs-example-app/components/mustache/mustache.js: Added. * Speedometer/resources/flightjs-example-app/components/requirejs/require.js: Added. * Speedometer/resources/flightjs-example-app/index.html: Added. * Speedometer/resources/flightjs-example-app/karma.conf.js: Added. * Speedometer/resources/flightjs-example-app/package.json: Added. * Speedometer/resources/flightjs-example-app/requireMain.js: Added. * Speedometer/resources/gauge.png: Added. * Speedometer/resources/gauge@2x.png: Added. * Speedometer/resources/logo.png: Added. * Speedometer/resources/logo@2x.png: Added. * Speedometer/resources/main.css: Added. * Speedometer/resources/main.js: Added. * Speedometer/resources/statistics.js: Added. * Speedometer/resources/tests.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/index.html: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added. * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/index.html: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added. * Speedometer/resources/todomvc/architecture-examples/backbone/readme.md: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Added. * Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/css/app.css: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js: Added. * Speedometer/resources/todomvc/architecture-examples/jquery/readme.md: Added. * Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Added. * Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/dependency-examples/flight/index.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/package.json: Added. * Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added. * Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower.json: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/index.html: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/js/app.jsx: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/js/footer.jsx: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx: Added. * Speedometer/resources/todomvc/labs/architecture-examples/react/readme.md: Added. * Speedometer/resources/todomvc/learn.json: Added. * Speedometer/resources/todomvc/license.md: Added. * Speedometer/resources/todomvc/readme.md: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js: Added. * Speedometer/resources/todomvc/vanilla-examples/vanillajs/readme.md: Added. * index.html: Added. * resources/ARES-6-Logo.png: Added. * resources/ARES-6-Logo@2x.png: Added. * resources/JetStream-Logo.png: Added. * resources/JetStream-Logo@2x.png: Added. * resources/MotionMark-Logo.png: Added. * resources/MotionMark-Logo@2x.png: Added. * resources/Speedometer-Logo.png: Added. * resources/Speedometer-Logo@2x.png: Added. * resources/main.css: Added. Canonical link: https://commits.webkit.org/189005@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216811 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0e20eecb1c |
Remove the code for old syncing script configuration in BuildbotSyncer
https://bugs.webkit.org/show_bug.cgi?id=171963 Reviewed by Chris Dumez. Removed the code for specifying {"root": ~}, {"rootOptions": [~]}, and {"rootsExcluding": [~]} in buildbot properties in the syncing script's configurations since they are no longer used after r215061. Also removed the support for using "arguments" as an alias to "properties", and updated the tests accordingly. * tools/js/buildbot-syncer.js: (BuildbotSyncer._parseRepositoryGroup): Removed the unused code. (BuildbotSyncer._validateAndMergeConfig): Just allow string values in properties. (BuildbotSyncer._validateAndMergeProperties): Deleted. * unit-tests/buildbot-syncer-tests.js: (sampleiOSConfig): Use "properties" instead of "arguments" to specify the buildbot properties. (sampleiOSConfigWithExpansions): Ditto. Canonical link: https://commits.webkit.org/188923@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216703 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0807ab64a6 |
Another build fix after r215633 to make the bar graphs render even when the confidence intervals aren't available.
* public/v3/components/bar-graph-group.js: (BarGraphGroup.prototype._computeRange): Canonical link: https://commits.webkit.org/188888@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216651 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
b7973508f5 |
Build fix after r215633.
* public/v3/models/test-group.js: (TestGroup.prototype._computeRequestedCommitSets): (TestGroup.prototype.requestsForCommitSet): Canonical link: https://commits.webkit.org/188886@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216649 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
9a723fe68c |
Add API to upload a patched build for a custom A/B testing
https://bugs.webkit.org/show_bug.cgi?id=171956 Reviewed by Chris Dumez. Added /api/upload-root to upload a root file, the build product of a patch associated with a commit set. Extracted more functions out of privileged-api/upload-file.php to uploaded-file-helpers.php to share code with /api/upload-root.php. * public/api/upload-root.php: Added. (main): (compute_commit_set_items_to_update): Find the list of commit set items to associate this root with. A root can be associated with multiple repositories and there fore commit set items; e.g. if a software is built from multiple repositories and there is a patch associated with one of them, the built product must be associated with all those repositories. * public/include/build-requests-fetcher.php: (BuildRequestsFetcher::fetch_commits_for_set_if_needed): Include the root file is there is one. * public/include/json-header.php: (validate_arguments): Added the support for validating json string. (verify_slave): Return the slave ID found. * public/include/uploaded-file-helpers.php: (validate_uploaded_file): Extracted from /privileged-api/upload-file to be shared with /api/upload-root. (query_total_file_size): Ditto. (create_uploaded_file_from_form_data): Ditto. (upload_file_in_transaction): Ditto. Takes a lambda to do the extra work inside the transaction. * public/privileged-api/upload-file.php: (main): * public/v3/models/build-request.js: (BuildRequest.constructBuildRequestsFromData): Resolve the rootFIle of each commit set item. * public/v3/models/commit-set.js: (CommitSet): Added _repositoryToRootMap and _allRootFiles as instance variables. (CommitSet.prototype.updateSingleton): Added. Previously, each commit set's states never changed after its creation. After this patch, each item can be newly associated with a root so we must update its _repositoryToRootMap and _allRootFiles. For simplicity, we update all states. (CommitSet.prototype._updateFromObject): Extracted from the constructor. (CommitSet.prototype.allRootFiles): Added. Includes custom roots and roots created for patches. (CommitSet.prototype.rootForRepository): Added. (CommitSet.prototype.equals): Fixed the bug that we were comparing _repositoryToPatchMap to _repositoryToCommitMap, and added a check for _repositoryToRootMap. * public/v3/models/test-group.js: (TestGroup.prototype.task): Added. (TestGroup.createWithTask): (TestGroup.createWithCustomConfiguration): (TestGroup.createAndRefetchTestGroups): (TestGroup._fetchTestGroupsForTask): Deleted. Now fetchForTask takes a boolean argument: ignoreCache. (TestGroup.findAllByTask): Added. (TestGroup.fetchForTask): Renamed from fetchByTask. * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.prototype._fetchRelatedInfoForTaskId): * server-tests/api-build-requests-tests.js: * server-tests/api-upload-root-tests.js: Added. Added tests for /api/upload-root. (makeReport): Added. (addSlaveAndCreateRootFile): Added. (createTestGroupWihPatch): Added. * server-tests/privileged-api-create-test-group-tests.js: * server-tests/resources/mock-data.js: (MockData.sharedRepositoryId): Added. (MockData.addMockData): Added "Shared" repository along with commits. Canonical link: https://commits.webkit.org/188885@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216647 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0e1d7d95bc |
Rename server-tests/api-update-triggerable.js to server-tests/api-update-triggerable-tests.js
https://bugs.webkit.org/show_bug.cgi?id=171905 Reviewed by Chris Dumez. * server-tests/api-update-triggerable-tests.js: Renamed from server-tests/api-update-triggerable.js. Canonical link: https://commits.webkit.org/188884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216646 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ab44aa5083 |
2017-05-08 James Craig <jcraig@apple.com>
More demo files for prefers-reduced-motion post https://bugs.webkit.org/show_bug.cgi?id=170663 Unreviewed. * blog-files/prefers-reduced-motion/jaws.gif: Added. * blog-files/prefers-reduced-motion/jaws.jpg: Added. * blog-files/prefers-reduced-motion/prm.htm: New animated GIF example. Canonical link: https://commits.webkit.org/188709@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216359 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
afa5373856 |
Add the support for scheduling a A/B testing with a patch.
https://bugs.webkit.org/show_bug.cgi?id=171209 Reviewed by Chris Dumez. Added the support for creating a custom test group with a patch applied. First, each repository in a repository group has a boolean indicating whether a given repository can have a patch applied or not. When any configuration in a test group contains a patch, we create build requests without a test specified in order to "build" those patches. These build requests have negative order numbers to differentiate them from regular build requests. We can't simply build ones with patches since there could be differences in SDK, build options, etc... when patches are applied. The JSON format for commit sets returned by /api/build-requests have been changed from using an array of commit IDs to an array of dictionaries indicate commit and acceptsPatch boolean. /api/update-triggerable now uses a dictionary with two keys: repository and acceptsPatch to specify a set of repositories associated with a repository group, and /privileged-api-create-test-group uses a dictionary with two keys: revision and patch instead of a revision string to specify commit sets. Furthermore, the syncing script's configuration have been updated to use a dictionary of repository names to an options dictionary instead of an array of repositories names. For now, the only supported option is acceptsPatch but will be extended when we add the support for rolling back system components. e.g. {"WebKit": {acceptsPatch: true}, "macOS": {}} instead of ["WebKit", "macOS"] On the UI side, InstantFileUploader has been changed to accept only one file by default, and added a new method allowMultipleFiles() to allow multiple files to be selected for custom roots. Also replaced the input element with type=file by a button with a custom label to show labels such as "Apply a patch" or "Add a new root" instead of the generic label like "choose a file". * init-database.sql: Added trigrepo_accepts_patch to triggerable_repositories to indicate whether a given repository can have a patch applied or not. Made request_test optional in build_requests for when a build request is created to build patches. Such a build request have a negative request_order. Updated the related constraints accordingly. * public/admin/triggerables.php: Added the support for updating whether a given repository can have a patch applied in each repository group. Only show the repositories in the repository group for this purpose since there is no way to accept a patch on a repository without it being a part of the group. (generate_repository_form): Now takes the markup for checkboxes instead of generating one itself. (generate_repository_checkboxes): Now takes an array of repositories to generate checkboxes. The checkbox is shown when the repository ID exists as a key in this array, and is checked when its value is true. The new capability to skip repositories not in the array is used to hide repositories not associated with the group in the list of checkboxes to indicate a repository accepts a patch. * public/api/update-triggerable.php: (main): Now updates the description and acceptsRoots states of each repository group, and sets acceptsPatch boolean for each repository in the group if set in the update. (validate_repository_groups): Use a reference to $repository_groups in order to set repository_id_list, which contains an array of repository IDs to find the existing repository group that matches the set via RepositoryGroupFinder's find_by_repositories. Also added a various validations for acceptsRoots, a dictionary specifying repository and acceptsPatch. * public/include/build-requests-fetcher.php: (BuildRequestsFetcher::fetch_commits_for_set_if_needed): Instead of returning an array of commit IDs as "commits", it now returns an array of dictionaries with "commit" and "patch" keys specifying the commit ID and the patch file's ID respectively as "revisionItems". (BuildRequestsFetcher::add_uploaded_file): Added. Extracted from fetch_commits_for_set_if_needed. Used to add either a patch file or a custom root file in the list of uploaded files in the result. * public/include/manifest-generator.php: (fetch_triggerables): Each element in repository group's "repositories" field is now an array of dictionaries with "repository" and "acceptsPatch" as keys. * public/include/repository-group-finder.php: (RepositoryGroupFinder::__construct): Added a map for boolean indicating whether a given repository group allows a patch on a repository. Used in /privileged-api/create-test-group. (RepositoryGroupFinder::accepts_patch): Added. (RepositoryGroupFinder::populate_map): Build up the map for acceptsPatch boolean per repository per group. * public/privileged-api/create-test-group.php: (main): Fixed a bug that we were not explicitly checking for a duplicate test group name (with a test). Create build requests to "build" patches if there is any patch file specified. (commit_sets_from_revision_sets): Updated to take a dictionary with "revision" and "patch" as keys to specify a revision and a patch if any instead of just a revision string for each repository. Also validate that each repository is allowed to have a patch once the repository group has been found for the set of repositories. (ensure_commit_sets): * public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator): Added _patchUploaders as an instance variable, which is a dictionary of configuration names to a map of InstantFileUploader's used to upload a patch. Also renamed _fileUploaders to _customRootUploaders for clarity. (CustomAnalysisTaskConfigurator.prototype.setCommitSets): (CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree.createRootUploader): Added. (CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): (CustomAnalysisTaskConfigurator.prototype._ensurePatchUploader): Added. Creates an instant file uploader for patches. We only allow a single patch per repository. (CustomAnalysisTaskConfigurator.prototype._computeCommitSet): Include a patch in the commit set as needed. (CustomAnalysisTaskConfigurator.prototype._buildRevisionTable): Show the patch file uploader for repositories which can have patches in the current repository group. (CustomAnalysisTaskConfigurator.cssTemplate): Show borders between every rows instead of just between tbody's now that each row can have a patch file uploader. * public/v3/components/instant-file-uploader.js: (InstantFileUploader): Added _fileInput and _allowMultipleFiles as instance variables. We now show a button in the UI instead of an input with type=file. _fileInput is a hidden input with type=file used inside a click event of the button to let the user pick a file. (InstantFileUploader.prototype.allowMultipleFiles): Added. Allows this instance to accept multiple files. (InstantFileUploader.prototype.didConstructShadowTree): Synthetically click on the hidden input element when the newly added button element is clicked to open the browser's file picker. (InstantFileUploader.prototype.render): Hide the button to add a file if this instance can only select one file and there is already some file being uploaded in this instance. (InstantFileUploader.htmlTemplate): Replaced the input element with type=file with a button. Its label comes from the default slot content. * public/v3/models/build-request.js: (BuildRequest): Made the test optional. (BuildRequest.prototype.isBuild): Returns true if this is a build request for building a patch. (BuildRequest.prototype.isTest): Returns true if this is a build request for running tests. (BuildRequest.constructBuildRequestsFromData): Create each commit log here instead of relying on CommitSet's constructor to construct its commit logs. Also updated per the replacement of an array of commit IDs by an array of dictionaries with commit and patch properties. * public/v3/models/commit-set.js: (CommitSet): Made _repositoryToCommitMap a real Map object. Also added _repositoryToPatchMap. Also got rid of the code to instantiate commit logs since that's now done in BuildRequest.constructBuildRequestsFromData. (CommitSet.prototype.commitForRepository): (CommitSet.prototype.revisionForRepository): (CommitSet.prototype.patchForRepository): Added. (CommitSet.prototype.latestCommitTime): Modernized the code. (CommitSet.prototype.equals): Modernized the code. Also added the check for patches. (MeasurementCommitSet): Updated per the change to make _repositoryToCommitMap a real Map. (CustomCommitSet.prototype.setRevisionForRepository): (CustomCommitSet.prototype.equals): Added the check for patches. (CustomCommitSet.prototype.revisionForRepository): (CustomCommitSet.prototype.patchForRepository): Added. * public/v3/models/manifest.js: (Manifest._didFetchManifest): Updated per the replacement of an array of commit IDs by an array of dictionaries with commit and patch properties. * public/v3/models/repository.js: (Repository.prototype.ownerId): Renamed from owner for clarity. * public/v3/models/test-group.js: (TestGroup): Modernized the code by using LazilyEvaluatedFunction. Removed _requestsAreInOrder since it's not necessary anymore with LazilyEvaluatedFunction. (TestGroup.prototype.addBuildRequest): (TestGroup.prototype.test): Use the last build request's test since the first few requests could be requests to build patches. (TestGroup.prototype.platform): Ditto. (TestGroup.prototype._lastRequest): Added. (TestGroup.prototype._orderedBuildRequests): Added. (TestGroup.prototype.repetitionCount): Only count the build requests for testing (skipping any requests to build patches). (TestGroup.prototype.requestedCommitSets): Simply call _computeRequestedCommitSetsLazily. (TestGroup.prototype._computeRequestedCommitSets): Extracted from requestedCommitSets. (TestGroup.prototype.requestsForCommitSet): (TestGroup.prototype.labelForCommitSet): Rewritten. Just compute the label here instead of relying on _commitSetToLabel since requestedSets is always of the length two at the moment. (TestGroup._revisionSetsFromCommitSets): Specify both the revision and the patch in the revision set. * public/v3/models/triggerable.js: (TriggerableRepositoryGroup): Added _patchAcceptingSet as an instance variable. Use sortByNamePreferringOnesWithURL to sort repositories instead of simple sortByName. (TriggerableRepositoryGroup.prototype.accepts): Added checks for the custom roots and patches. (TriggerableRepositoryGroup.prototype.acceptsPatchForRepository): Added. * server-tests/api-build-requests-tests.js: Updated the test cases per the replacement of an array of commit IDs by an array of dictionaries with commit and patch properties. * server-tests/api-manifest-tests.js: Updated the test case per the name of Repository's owner to ownerId. * server-tests/api-update-triggerable.js: Updated the test case per the name of Repository's owner to ownerId, and added a test case for updating whether a given repository group allows custom roots as well as patches on repositories via /api/update-triggerable. (.updateWithOSXRepositoryGroup): Updated the sample syncing script configuration per the format change. (.refetchManifest): Added. * server-tests/privileged-api-create-test-group-tests.js: Updated per the syncing script configuration format change. Also added a test for creating a test group with a duplicate name, which is expected to fail with DuplicateTestGroupName, and creating a test group with a patch both when it's allowed and when it's not allowed in the matching repository group. (.addTriggerableAndCreateTask): Updated per the format change. * server-tests/resources/mock-data.js: (MockData.addEmptyTriggerable): Added a metric and its configuration to make it appear in the manifest file. The new test case in api-update-triggerable.js requires this. (MockData.mockTestSyncConfigWithSingleBuilder): Updated per the syncing script configuration format change. (MockData.mockTestSyncConfigWithTwoBuilders): Ditto. * server-tests/tools-buildbot-triggerable-tests.js: Removed the useless assertions about test configurations, and added assertions about custom roots and patches in the test case for updateTriggerables. * tools/js/buildbot-syncer.js: (BuildbotSyncer._parseRepositoryGroup): Made each assertion explicitly refer to the specific repository group to make it more user friendly. Now each repository group uses a dictionary of repository names to its options in the syncing script configurations. When parsed, we insert it as an array of dictionaries with repository ID and acceptsPatch boolean specified separately since this is the format /api/update-triggerable expects. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.updateTriggerable): * unit-tests/build-request-tests.js: (sampleBuildRequestData): Updated per the commit sets format change in /api/build-requests. * unit-tests/buildbot-syncer-tests.js: Updated the existing tests per various format changes and added a couple of new test cases for the syncing script's configuration validation. (sampleiOSConfig): (smallConfiguration): (createSampleBuildRequest): * unit-tests/resources/mock-v3-models.js: (MockModels.inject): Updated per the repository group format change. * unit-tests/test-groups-tests.js: (sampleTestGroup): Updated per the commit sets format change in /api/build-requests. Canonical link: https://commits.webkit.org/188378@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215987 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
89fba98114 |
2017-04-24 James Craig <jcraig@apple.com>
Upload demo files for prefers-reduced-motion post https://bugs.webkit.org/show_bug.cgi?id=170663 Rubber stamped by Jon Davis. * blog-files/prefers-reduced-motion: Added. * blog-files/prefers-reduced-motion/axi.png: Added. * blog-files/prefers-reduced-motion/prm.htm: Added. Canonical link: https://commits.webkit.org/188120@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215716 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
794bc77257 |
Rename commit_set_relationships to commit_set_items
https://bugs.webkit.org/show_bug.cgi?id=171143 Reviewed by Joseph Pecoraro. Renamed commit_set_relationships to commit_set_items. Also added commitset_patch_file in the preparation to add the support for applying patches in custom test groups. To migrate an existing database, run: ```sql BEGIN; ALTER TABLE commit_set_relationships RENAME TO commit_set_items; ALTER TABLE commit_set_items ADD COLUMN commitset_patch_file integer REFERENCES uploaded_files; ALTER TABLE commit_set_items ADD CONSTRAINT commitset_with_patch_must_have_commit CHECK (commitset_patch_file IS NULL OR commitset_commit IS NOT NULL); END; ``` * init-database.sql: * public/include/build-requests-fetcher.php: * public/privileged-api/create-test-group.php: * server-tests/resources/mock-data.js: (MockData.addMockData): (MockData.addMockTestGroupWithGitWebKit): * tools/js/database.js: Canonical link: https://commits.webkit.org/188044@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215640 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
96b994241e |
Add the support for creating a custom test group in the analysis task page
Make it possible to create more custom test groups in the analysis task page https://bugs.webkit.org/show_bug.cgi?id=171138 Rubber-stamped by Chris Dumez. Extracted CustomConfigurationTestGroupForm out of CreateAnalysisTaskPage and added it to AnalysisTaskPage inside AnalysisTaskConfiguratorPane. This allows configuration of a new test group within a custom analysis task. * public/privileged-api/create-test-group.php: (main): Fixed the bug that the triggerable wasn't resolved when creating a test group in a custom analysis task. * public/v3/components/custom-analysis-task-configurator.js: (CustomAnalysisTaskConfigurator.prototype.selectTests): Added. Used by CustomConfigurationTestGroupForm's setConfigurations. (CustomAnalysisTaskConfigurator.prototype.selectPlatform): Ditto. (CustomAnalysisTaskConfigurator.prototype.setCommitSets): Ditto. (CustomAnalysisTaskConfigurator.prototype._setUploadedFilesIfEmpty): Added. (CustomAnalysisTaskConfigurator.prototype._revisionMapFromCommitSet): Added. (CustomAnalysisTaskConfigurator.prototype.render): Update the currently selected platforms and tests now that they can be set externally via selectTests and selectPlatform. (CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Return the result of _renderRadioButtonList so that the caller can update the currently selected tests without having to reconstruct the list. (CustomAnalysisTaskConfigurator.prototype._renderTriggerablePlatforms): Ditto. (CustomAnalysisTaskConfigurator.prototype._renderRadioButtonList): Renamed from _buildCheckboxList. Now returns a function which updates the currently selected items. We still pretend that multiple items can be selected to make it future-proof. * public/v3/components/custom-configuration-test-group-form.js: Added. (CustomConfigurationTestGroupForm): Added. Inherits from TestGroupForm. Extracted from CreateAnalysisTaskPage. (CustomConfigurationTestGroupForm.prototype.setHasTask): Added. (CustomConfigurationTestGroupForm.prototype.hasCommitSets): Added. (CustomConfigurationTestGroupForm.prototype.setConfigurations): Added. Used by AnalysisTaskConfiguratorPane to set the default configuration to what the latest test group used. (CustomConfigurationTestGroupForm.prototype.startTesting): Added. Dispatches "startTesting" action with platform, test, taskName in addition to what CustomizedTestGroupForm emits. (CustomConfigurationTestGroupForm.prototype.didConstructShadowTree): Added. (CustomConfigurationTestGroupForm.prototype.render): Added. (CustomConfigurationTestGroupForm.prototype._updateTestGroupName): Added. (CustomConfigurationTestGroupForm.cssTemplate): Added. (CustomConfigurationTestGroupForm.htmlTemplate): Added. * public/v3/components/test-group-form.js: (TestGroupForm.cssTemplate): Make the form display: block. * public/v3/index.html: * public/v3/models/test-group.js: (TestGroup.prototype.test): Added. (TestGroup.prototype.platform): Added. (TestGroup.createWithCustomConfiguration): Added. Creates a custom test group with an existing analysis task. * public/v3/models/uploaded-file.js: (UploadedFile): Fixed a bug that _deletedAt was set to a Date object even when object.deletedAt is null. * public/v3/pages/analysis-task-page.js: (AnalysisTaskConfiguratorPane): Added. (AnalysisTaskConfiguratorPane.prototype.didConstructShadowTree): Added. Dispatch createCustomTestGroup action in turn when receiving startTesting from CustomConfigurationTestGroupForm. (AnalysisTaskConfiguratorPane.prototype.setTestGroups): Added. (AnalysisTaskConfiguratorPane.prototype.render): Added. (AnalysisTaskConfiguratorPane.htmlTemplate): Added. We override this instead of formContent to display the "Start" button at the end instead of at the beginnning. (AnalysisTaskConfiguratorPane.cssTemplate): Added. (AnalysisTaskPage.prototype.didConstructShadowTree): Listen to createCustomTestGroup. (AnalysisTaskPage.prototype.render): Hide AnalysisTaskConfiguratorPane when the analysis task is not custom. (AnalysisTaskPage.prototype._showTestGroup): Let AnalysisTaskConfiguratorPane know of the current test group so that it can update the default configuration if the user hasn't modified yet. (AnalysisTaskPage.prototype._createCustomTestGroup): Added. * public/v3/pages/create-analysis-task-page.js: (CreateAnalysisTaskPage.prototype.didConstructShadowTree): (CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): (CreateAnalysisTaskPage.prototype.render): (CreateAnalysisTaskPage.prototype._renderMessage): (CreateAnalysisTaskPage.htmlTemplate): (CreateAnalysisTaskPage.cssTemplate): * server-tests/privileged-api-create-test-group-tests.js: Added a test case for creating a custom test group for an existing analysis task. * server-tests/resources/mock-data.js: (MockData.otherPlatformId): Added. (MockData.addMockData): Added a test configuration for otherPlatformId. Canonical link: https://commits.webkit.org/188040@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215636 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4c2b4ecff1 |
Make it possible to view results for sub tests and metrics in A/B testing
https://bugs.webkit.org/show_bug.cgi?id=170975 Reviewed by Chris Dumez. Replaced TestGroupResultsTable, which was a single table that presented the test results with a set of revisions each build request used, with TestGroupResultsViewer and TestGroupRevisionTable. TestGroupResultsViewer provides an UI to look the results of sub-tests and sub-metrics and TestGroupRevisionTable provides an UI to display the set of revisions each build request used. TestGroupRevisionTable can also show the list of custom roots now that we've added UI to schedule an analysis task with a custom test group. This patch extends BarGraphGroup to show multiple bars per SingleBarGraph using a canvas with bars indicating their mean and confidence interval. * browser-tests/index.html: (ChartTest.importChartScripts): Include lazily-evaluated-function.js now that Test model object uses LazilyEvaluatedFunction. * public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer.TestGroupStackingBlock.prototype._valuesForCommitSet): (AnalysisResultsViewer.TestGroupStackingBlock.prototype._computeTestGroupStatus): * public/v3/components/bar-graph-group.js: (BarGraphGroup): No longer takes formatter. Added _computeRangeLazily and _showLabels as instance variables. (BarGraphGroup.prototype.addBar): Now takes a list of values, their labels, mean, confidence interval, and the colors of bar graphs shown for each value and the mean indicator. (BarGraphGroup.prototype.showLabels): Added. (BarGraphGroup.prototype.setShowLabels): Added. (BarGraphGroup.prototype.range): Added. (BarGraphGroup.prototype._computeRange): Renamed from updateGroupRendering. Now returns the range instead off setting it to each bar, and each SingleBarGraph's render function uses the value via BarGraphGroup's range. (BarGraph): Renamed from SingleBarGraph. Added various arguments introduced in addBar, and now stores various lazily evaluated functions used for rendering. (BarGraph.prototype.render): Rewritten to use canvas to draw bar graphs and show a label when group's showLabels() returns true. (BarGraph.prototype._resizeCanvas): Added. (BarGraph.prototype._renderCanvas): Added. (BarGraph.prototype._renderLabels): Added. We align the top of each label to the middle of each bar and shift it back up by half the height of the label (0.4rem) using margin-top in css. (BarGraph.htmlTemplate): Uses a canvas now. (BarGraph.cssTemplate): * public/v3/components/results-table.js: (ResultsTable.prototype.renderTable): Updated per code changes to BarGraphGroup. (ResultsTableRow.prototype.resultContent): Ditto. * public/v3/components/test-group-results-table.js: Removed. * public/v3/components/test-group-results-viewer.js: Added. (TestGroupResultsViewer): Added. Shows a list of test results with bar graphs with mean and confidence interval indicators. The results of sub tests and metrics can be expanded via "(Breakdown)" link shown below each test. (TestGroupResultsViewer.prototype.setTestGroup): Added. (TestGroupResultsViewer.prototype.setAnalysisResults): Added. (TestGroupResultsViewer.prototype.render): Added. (TestGroupResultsViewer.prototype._renderResultsTable): Compute the depth of the test tree we show, and construct the header rows. Each sub test is "indented" by a new column. (TestGroupResultsViewer.prototype._buildRowForTest): Added. Build rows for metrics of the given test. Expand the list of its child tests if it's in expandedTests. Otherwise add a link to "Breakdown" if it has any child tests. (TestGroupResultsViewer.prototype._buildRowForMetric): Added. Builds rows of table cells to show the results for the given metric for each configuration. (TestGroupResultsViewer.prototype._buildRowForMetric.createConfigurationRow): Added. A helper to build cells for a given configuration represented by a requested commit set. (TestGroupResultsViewer.prototype._buildValueMap): Added. Creates a mappting between a requested commit set, and the list of values, mean, etc... associated with the results for the commit set. (TestGroupResultsViewer.prototype._buildEmptyCells): Added. A helper to create empty cells to indent sub tests. (TestGroupResultsViewer.prototype._expandCurrentMetrics): Added. Highlights the current metrics and renders the label for each bar in the results. (TestGroupResultsViewer.htmlTemplate): Added. (TestGroupResultsViewer.cssTemplate): Added. * public/v3/components/test-group-revision-table.js: Added. (TestGroupRevisionTable): Added. Renders the list of revisions requested for each test configuration as well as ones used in actual testing, and additional repositories being reported (e.g. repositories for helper scripts). (TestGroupRevisionTable.prototype.setTestGroup): Added. (TestGroupRevisionTable.prototype.setAnalysisResults): Added. (TestGroupRevisionTable.prototype.render): Added. (TestGroupRevisionTable.prototype._renderTable): Added. The basic algorithm here is to first create a row entry object for each build request, merge cells that use the same revision of the same repository, and then render the entire table. (TestGroupRevisionTable.prototype._buildCommitCell): Added. (TestGroupRevisionTable.prototype._buildCustomRootsCell): Added. (TestGroupRevisionTable.prototype._mergeCellsWithSameCommitsAcrossRows): Added. Compute rowspan for each cell by traversing the rows that use the same revision per repository, and store it in rowCountByRepository while adding the repository to each succeeding row's repositoriesToSkip. (TestGroupRevisionTable.htmlTemplate): Added. (TestGroupRevisionTable.cssTemplate): Added. * public/v3/index.html: * public/v3/models/analysis-results.js: (AnalysisResults): Added _metricIds and _lazilyComputedHighestTests as instance variables. (AnalysisResults.prototype.findResult): Renamed from find. (AnalysisResults.prototype.highestTests): Added. (AnalysisResults.prototype._computeHighestTests): Added. Finds the root tests for this analysis result. (AnalysisResults.prototype.add): Update _metricIds. (AnalysisResults.prototype.commitSetForRequest): Added. Returns the reported commit set for the build request. This commit set contains the set of revisions reported to /api/report by A/B testers. (AnalysisResultsView.prototype.resultForRequest): Renamed from resultForBuildId. * public/v3/models/metric.js: (Metric.prototype.relativeName): Added. Computes the relative name given the test/metric path. This function is used to determine the label for each test/metric in TestGroupResultsViewer. (Metric.prototype.aggregatorLabel): Extracted from label. (Metric.prototype.label): (Metric.makeFormatter): Added the default value of false to alwaysShowSign. * public/v3/models/test-group.js: (TestGroup.prototype.compareTestResults): Now takes a metric instead of retrieving it from the analysis task since a custom analysis task may not have a metric associated with it. * public/v3/models/test.js: (Test): Added _computePathLazily as an instance variable. (Test.prototype.path): Lazily computes the path now that this function can be called on the same test for many times in TestGroupResultsViewer while computing relative names of tests and metrics. (Test.prototype._computePath): Extracted path. (Test.prototype.fullName): Modernized the code. (Test.prototype.relativeName): Added. * public/v3/models/uploaded-file.js: (UploadedFile): (UploadedFile.prototype.deletedAt): Added. (UploadedFile.prototype.label): Added. (UploadedFile.prototype.url): Added. * public/v3/pages/analysis-task-page.js: (AnalysisTaskTestGroupPane.prototype.setTestGroups): (AnalysisTaskTestGroupPane.prototype.setAnalysisResults): Replaced setAnalysisResultsView. Now takes an analysisResults instead of its view. (AnalysisTaskTestGroupPane.prototype.render): No longer enqueues the results table and the retry form to render since the results table no longer exists, and the retry form re-renders itself as needed. (AnalysisTaskTestGroupPane.htmlTemplate): Now uses test-group-results-viewer and test-group-revision-table instead of test-group-results-table, which has been removed. (AnalysisTaskTestGroupPane.cssTemplate): (AnalysisTaskPage.prototype._assignTestResultsIfPossible): * public/v3/pages/create-analysis-task-page.js: (CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): Removed superflous console.log's. * tools/js/v3-models.js: Import LazilyEvaluatedFunction now that it's used in the Test model. * unit-tests/test-model-tests.js: Added. Canonical link: https://commits.webkit.org/188037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215633 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
767bb65581 |
Another build fix after r215061. Clear TriggerableRepositoryGroup's static map in each iteration.
* tools/sync-buildbot.js: (syncLoop): Canonical link: https://commits.webkit.org/187912@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215505 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a68323fff6 |
Build fix after r215061.
There was a mismatch between the format updateTriggerable and /api/update-triggerable were using. Namely, each repository group was assumed to contain a name field in /api/update-triggerable but updateTriggerable was not including that at all. We didn't catch this because the test for updateTriggerable also used the wrong format :( * server-tests/tools-buildbot-triggerable-tests.js: * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.updateTriggerable): Canonical link: https://commits.webkit.org/187910@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215503 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ea6d2d0ad2 |
Images in WebKit.org blog article are stretched out
https://bugs.webkit.org/show_bug.cgi?id=169208 Reviewed by Michael Catanzaro. * wp-content/themes/webkit/style.css: (article figure > img): Canonical link: https://commits.webkit.org/187870@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215462 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
2dfb95eefb |
Add sub-commit UI in commit log viewer.
https://bugs.webkit.org/show_bug.cgi?id=170379 Reviewed by Ryosuke Niwa. Add an API to return sub-commits for a given commit. Add sub-commit difference viewer into commit log viewer to show changed sub-commits between two commits. Add 'ownsSubCommits' info in 'api/commits' return values. Extend 'api/manifest' to include whether a repositories owns other repositories. Only show this sub-commit difference viewer when a repository owns other repositories and both commits owns sub-commits. Add unit tests for those new features. * browser-tests/commit-log-viewer-tests.js: Updated test cases. * public/api/commits.php: Added 'sub-commits' to provide sub-commit for a given commit. * public/include/commit-log-fetcher.php: Added function to query sub-commit from database. Added 'repository' and 'ownsSubCommits' fields in returning commits. * public/v3/components/expand-collapse-button.js: Added. (ExpandCollapseButton): (ExpandCollapseButton.prototype.didConstructShadowTree): Changes state on click and dispatches 'toggle' event. (ExpandCollapseButton.sizeFactor): (ExpandCollapseButton.buttonContent): (ExpandCollapseButton.cssTemplate): * public/v3/components/commit-log-viewer.js: (CommitLogViewer.prototype._renderCommitList): Added sub-commit viewer if two adjacent commits both have sub-commits. (CommitLogViewer.cssTemplate): * public/v3/components/sub-commit-viewer.js: Added. (SubCommitViewer): Added 'SubCommitViewer' class to represent the sub-commit differences between two given commits.` (SubCommitViewer.prototype.didConstructShadowTree): Makes 'expand-collapse' button listen to 'toggle' event. (SubCommitViewer.prototype._toggleVisibility): Updates UI once 'expand-collapse' button is clicked. (SubCommitViewer.prototype.render): Render sub-commit view based on the state. (SubCommitViewer.prototype._renderSubcommitTable): Generates sub-commits difference table entries. (SubCommitViewer.htmlTemplate): (SubCommitViewer.cssTemplate): * public/v3/index.html: Added 'sub-commit-viewer.js' and 'expand-collapse-button.js'. * public/v3/models/commit-log.js: (CommitLog): Added '_subCommits'. (CommitLog.prototype.updateSingleton): Updates 'rawData.ownsSubCommits' as well. (CommitLog.prototype.ownsSubCommits): (CommitLog.prototype.subCommits): Added. Returns sub-commits. (CommitLog.prototype.fetchSubCommits): Added. Fetches sub-commits if haven't fetched them before. (CommitLog.prototype._buildSubCommitMap): Added. Creates a map which maps repositories to commits. (CommitLog.diffSubCommits): Added. Finds difference between two given commits. (CommitLog.fetchBetweenRevisions): Updated due to '_constructFromRawData' change. (CommitLog.fetchForSingleRevision): Updated due to '_constructFromRawData' change. (CommitLog._constructFromRawData): Removed first argument 'repository' as it can be determined by calling 'Repository.findById'. * public/v3/models/repository.js: (Repository): (Repository.prototype.owner): Returns the owner id. (Repository.prototype.ownedRepositories): Returns a list of repositories owned by this repository. * server-tests/api-commits-tests.js: Added tests for 'sub-commits' filter. * server-tests/api-manifest-tests.js: Added a test. * unit-tests/commit-log-tests.js: Added tests for 'fetchSubCommits' and 'diffSubCommits'. * unit-tests/resources/mock-v3-models.js: Added 'ownerRepository' and 'ownedRepository'. Canonical link: https://commits.webkit.org/187795@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215378 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
6ffeeac143 |
WebAssembly: manage memory better
https://bugs.webkit.org/show_bug.cgi?id=170628 Reviewed by Keith Miller, Michael Saboff. JSTests: * wasm/Builder.js: move a helper out so tests can use it (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): * wasm/WASM.js: add utilities to classify opcodes (export.opcodes): (export.const.memoryAccessInfo.op.const.sign): * wasm/function-tests/memory-access-past-4gib.js: Added. This test fails before this patch. (const.op.of.WASM.opcodes): * wasm/function-tests/memory-many.js: Added. This simple tests just shouldn't crash. In verbose mode it's useful at determining if the GC falls behind or not. * wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage. (const.startAgents.numAgentsToStart.a.agent.receiveBroadcast): (const.startAgents.numAgentsToStart.a.write.const.idx.Math.random): (const.broadcastToAgents): * wasm/js-api/extension-MemoryMode.js: verbose logging. (testMemoryNoMax): (testMemory): (testInstanceNoMemory): (testInstanceNoMax): (testInstance): * wasm/utilities.js: move a utility here. Source/JavaScriptCore: WebAssembly fast memories weren't managed very well. This patch refactors it and puts us in a good position to further improve our fast memory handling in the future. We now cache fast memories at a process granularity, but make sure that they don't consume dirty pages. We add a cap to the total number of allocated fast memories to avoid ASLR degradation. We teach the GC about memories as a kind of resource it should care about because it didn't have visibility into the amount of memory each represented. This allows benchmarks which allocate memories back-to-back to reliably get fast memories 100% of the time, even on a system under load, which wasn't the case before. This reliability yields roughly 8% perf bump on x86-64 WasmBench. The GC heuristic is as follows: each time we allocate a fast memory we notify the GC, which then keeps track of the total number of fast memories allocated since it last GC'd. We separately keep track of the total number of fast memories which have ever existed at any point in time (cached + allocated). This is a monotonically-increasing high watermark. The GC will force a full collection if, since it last ran, half or more of the high watermark of fast memories was allocated. At the same time, if we fail obtaining a fast memory from the cache we do a GC to try to find one. If that fails we'll allocate a new one (this can also fail, then we go to slow memory). This can also be improved, but it's a good start. This currently disables fast memories on iOS because getting fast memories isn't a guaranteed thing. Rather, we get quite a few of them and achieve significant speedups, but benchmarks which allocate memories back-to-back end up falling behind because the GC can conservatively hold onto memories, which then yields a perf cliff. That cliff isn't reliable, WasmBench gets roughly 10 of 18 fast memories when in theory it should get all of them fast (as MacOS does). The patch significantly improves the state of iOS though, and in a follow-up we could re-enable fast memories. Part of this good positioning is a facility to pre-allocate fast memories very early at startup, before any fragmentation occurs. This is currently disabled but worked extremely reliably on iOS. Once we fix the above issues we'll want to re-visit and turn on pre-allocation. We also avoid locking for fast memory identification when performing signal handling. I'm very nervous about acquiring locks in a signal handler because in general signals can happen when we've messed up. This isn't the case with fast memories: we're raising a signal on purpose and handling it. However this doesn't mean we won't mess up elsewhere! This will get more complicated once we add support for multiple threads sharing memories and being able to grow their memories. One example: the code calls CRASH(), which executes the following code in release: *(int *)(uintptr_t)0xbbadbeef = 0; This is a segfault, which our fast memory signal handler tries to handle. It does so by first figuring out whether 0xbbadbeef is in a fast memory region, reqiring a lock. If we CRASH() while holding the lock then our thread self-deadlocks, giving us no crash report and a bad user experience. Avoiding a lock therefore it's not about speed or reduced contention. In fact, I'd use something else than a FIFO if these were a concern. We're also doing syscalls, which dwarf any locking cost. We now only allocate 4GiB + redzone of 64k * 128 for fast memories instead of 8GiB. This patch reuses the logic from B3::WasmBoundsCheck to perform bounds checks when accesses could exceed the redzone. We'll therefore benefit from CSE goodness when it reaches WasmBoundsCheck. See bug #163469. * b3/B3LowerToAir.cpp: fix a baaaaddd bug where unsigned->signed conversion allowed out-of-bounds reads by -2GiB. I'll follow-up in bug #170692 to prevent this type of bug once and for all. (JSC::B3::Air::LowerToAir::lower): * b3/B3Validate.cpp: update WasmBoundsCheck validation. * b3/B3Value.cpp: (JSC::B3::Value::effects): update WasmBoundsCheck effects. * b3/B3WasmBoundsCheckValue.cpp: (JSC::B3::WasmBoundsCheckValue::WasmBoundsCheckValue): (JSC::B3::WasmBoundsCheckValue::redzoneLimit): (JSC::B3::WasmBoundsCheckValue::dumpMeta): * b3/B3WasmBoundsCheckValue.h: (JSC::B3::WasmBoundsCheckValue::maximum): * b3/air/AirCustom.cpp: (JSC::B3::Air::WasmBoundsCheckCustom::isValidForm): * b3/testb3.cpp: (JSC::B3::testWasmBoundsCheck): * heap/Heap.cpp: (JSC::Heap::Heap): (JSC::Heap::reportWebAssemblyFastMemoriesAllocated): (JSC::Heap::webAssemblyFastMemoriesThisCycleAtThreshold): (JSC::Heap::updateAllocationLimits): (JSC::Heap::didAllocateWebAssemblyFastMemories): (JSC::Heap::shouldDoFullCollection): (JSC::Heap::collectIfNecessaryOrDefer): * heap/Heap.h: * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/Options.cpp: * runtime/Options.h: * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::fixupPointerPlusOffset): (JSC::Wasm::B3IRGenerator::B3IRGenerator): (JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer): (JSC::Wasm::B3IRGenerator::emitLoadOp): (JSC::Wasm::B3IRGenerator::emitStoreOp): (JSC::Wasm::createJSToWasmWrapper): * wasm/WasmFaultSignalHandler.cpp: (JSC::Wasm::trapHandler): * wasm/WasmMemory.cpp: Rewrite. (JSC::Wasm::makeString): (JSC::Wasm::Memory::initializePreallocations): (JSC::Wasm::Memory::createImpl): (JSC::Wasm::Memory::create): (JSC::Wasm::Memory::~Memory): (JSC::Wasm::Memory::fastMappedRedzoneBytes): (JSC::Wasm::Memory::fastMappedBytes): (JSC::Wasm::Memory::maxFastMemoryCount): (JSC::Wasm::Memory::addressIsInActiveFastMemory): (JSC::Wasm::Memory::grow): * wasm/WasmMemory.h: (Memory::maxFastMemoryCount): (Memory::addressIsInActiveFastMemory): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::finishCreation): (JSC::JSWebAssemblyInstance::visitChildren): (JSC::JSWebAssemblyInstance::globalMemoryByteSize): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::grow): (JSC::JSWebAssemblyMemory::finishCreation): (JSC::JSWebAssemblyMemory::visitChildren): Source/WebCore: Re-use a VM tag which was intended for JavaScript core, was then used by our GC, and is now unused. If I don't do this then WebAssembly fast memories will make vmmap look super weird because it'll look like multi-gigabyte of virtual memory are allocated as part of our process' regular memory! Separately I need to update vmmap and other tools to print the right name. Right now this tag gets identified as "JS garbage collector". * page/ResourceUsageData.cpp: (WebCore::ResourceUsageData::ResourceUsageData): * page/ResourceUsageData.h: * page/cocoa/ResourceUsageOverlayCocoa.mm: (WebCore::HistoricResourceUsageData::HistoricResourceUsageData): * page/cocoa/ResourceUsageThreadCocoa.mm: (WebCore::displayNameForVMTag): (WebCore::categoryForVMTag): Source/WTF: Re-use a VM tag which was intended for JavaScript core, was then used by our GC, and is now unused. If I don't do this then WebAssembly fast memories will make vmmap look super weird because it'll look like multi-gigabyte of virtual memory are allocated as part of our process' regular memory! Separately I need to update vmmap and other tools to print the right name. Right now this tag gets identified as "JS garbage collector". * wtf/OSAllocator.h: * wtf/VMTags.h: Websites/webkit.org: * docs/b3/intermediate-representation.html: typos Canonical link: https://commits.webkit.org/187757@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215340 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
bb021681a6 |
Retrying an A/B testing does not set the repetition count in some cases
https://bugs.webkit.org/show_bug.cgi?id=170695 Reviewed by Joseph Pecoraro. When selecting an existing A/B test group, the analysis task page automatically sets the repetition count of its retry to be that of the original test group. However, this information wasn't being passed correctly to the code that actually created a test group. As a result, the retried test group's repetition count does not match that of the original group or the number shown to the user on UI. Fixed the bug by updating this._repetitionCount in setRepetitionCount. * browser-tests/index.html: * browser-tests/test-group-form-tests.js: Added. Added tests. (.createTestGroupFormWithContext): Added. * public/v3/components/test-group-form.js: (TestGroupForm.prototype.setRepetitionCount): (TestGroupForm.formContent): (TestGroupForm): Canonical link: https://commits.webkit.org/187683@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215257 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
24d96fe83c |
Add the UI for scheduling a A/B testing with a custom root
https://bugs.webkit.org/show_bug.cgi?id=170622 Reviewed by Anders Carlsson. 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/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. * tools/js/remote.js: Include global.FormData from form-data.js. * unit-tests/build-request-tests.js: (sampleBuildRequestData): Updated the mock response. * unit-tests/buildbot-syncer-tests.js: (createSampleBuildRequest): Ditto. * unit-tests/test-groups-tests.js: (sampleTestGroup): Ditto. Canonical link: https://commits.webkit.org/187631@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215205 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
50b3877a0a |
.:
Elftoolchain ar doesn't support response files https://bugs.webkit.org/show_bug.cgi?id=170105 Patch by Ting-Wei Lan <lantw44@gmail.com> on 2017-04-08 Reviewed by Michael Catanzaro. WebKit enables the use of response files when cmake and ninja is used. However, the default implementation of ar command used in FreeBSD, which is part of elftoolchain project, doesn't support reading arguments from response files. To avoid causing undefined reference error on FreeBSD, we disable the use of response files when elftoolchain ar is detected. * Source/cmake/OptionsCommon.cmake: Websites/perf.webkit.org: Unreviewed, rolling out r215202. https://bugs.webkit.org/show_bug.cgi?id=170694 Committed incorrectly (Requested by rniwa on #webkit). Reverted changeset: "Add the UI for scheduling a A/B testing with a custom root" https://bugs.webkit.org/show_bug.cgi?id=170622 http://trac.webkit.org/changeset/215202 Patch by Commit Queue <commit-queue@webkit.org> on 2017-04-10 Canonical link: https://commits.webkit.org/187629@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215203 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
6c5587a73e |
Add the UI for scheduling a A/B testing with a custom root
https://bugs.webkit.org/show_bug.cgi?id=170622 Reviewed by Anders Carlsson. 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. Canonical link: https://commits.webkit.org/187628@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215202 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
af5126d74f |
Update the css-status page to handle changes in CSSProperties.json.
Change the page structure to allow the left sidebar to use sticky positioning. "Done" -> "Supported". Save the search in the URL. Other formatting changes. * wp-content/themes/webkit/css-status.php: Canonical link: https://commits.webkit.org/187580@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215154 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a24ed0574a |
Make cycler page scroll down when a dashboard is too tall for the current viewport size
https://bugs.webkit.org/show_bug.cgi?id=170588 Rubber-stamped by Chris Dumez. Updated the cycler page to scroll down smoothly over 500ms and scroll up again before moving to the next page when a dashboard page is too tall to be shown at once. For now, we assume that each dashboard's height is no more than 2x the height of the viewport. * public/cycler.html: Canonical link: https://commits.webkit.org/187546@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215118 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a79b9e03b2 |
Fix broken link.
* demos/webgpu/index.html: Canonical link: https://commits.webkit.org/187503@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215074 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
658e5485ca |
Each build request should be associated with a repository group
https://bugs.webkit.org/show_bug.cgi?id=170528 Rubber-stamped by Chris Dumez. Make the buildbot syncing script use the concept of repository groups so that each repository group can post a different set of properties to buildbot. In order to do this, we associate each build request with a repository group to use. Each triggerable's repository groups is now updated by the syncing scripts via /api/update-triggerable just the same way the set of the supported platform, test pairs are updated. Each repository group specifies the list of repositories, a dictionary that maps the buildbot property name to either a string value or a repository name enclosed in < and >: ```js "repositoryGroups": { "webkit-svn": { "repositories": ["WebKit", "macOS"], "properties": {"os": "<macOS>", "wk": "<WebKit>"} } } ``` With this, removed the support for specifying a repository to use in generic dictionary of properties via a dictionary with a single key of "root", "rootOptions", and "rootsExcluding". We now validate that the list of repositories in each repository group matches exactly the ones used in buildbot properties as well as ones in build requests. After this patch, sync-with-buildbot.js will no longer schedule a build request without a repository group. Run the appropriate database queries to set the repository group on each build request. Because of this change, this patch also makes BuildbotTriggerable.prototype.syncOnce more robust against invalid build requests. Instead of throwing an exception and exiting early, it simply skips all build requests that belong to the same test group if the next build request to be scheduled does not specify a repository group. * init-database.sql: Add request_repository_group column to build_requests table, and a unique constraint for repository and group pair in triggerable_repositories table. * public/api/update-triggerable.php: (main): Validate and insert repository groups. (validate_configurations): Extracted from main. (validate_repository_groups): Added. * public/v3/models/repository.js: (Repository.findTopLevelByName): Added. * public/include/build-requests-fetcher.php: (BuildRequestsFetcher::results_internal): Include the repository group of each request in the JSON response. * public/include/repository-group-finder.php: Added. A helper class to find the repository group for a given triggerable for a list of repositories. (RepositoryGroupFinder): Added. (RepositoryGroupFinder::__construct): Added. (RepositoryGroupFinder::find_by_repositories): Added. (RepositoryGroupFinder::populate_map): Added. * public/privileged-api/create-test-group.php: (main): Each element in an array returned by ensure_commit_sets and commit_sets_from_revision_sets now contains "set", the list of commit IDs, and "repository_group", the repository group identified for each commit set. Use that to set the repository group in each new build request. (commit_sets_from_revision_sets): Use RepositoryGroupFinder to find the right repository group. (ensure_commit_sets): Ditto. There is no need to find a repository group for each commit set here since its argument is keyed by the repository name. e.g. {"WebKit": [123, 456], "macOS": ["16A323", "16A323"]} * public/v3/models/build-request.js: (BuildRequest): (BuildRequest.prototype.triggerable): Added. (BuildRequest.prototype.repositoryGroup): Added. (BuildRequest.constructBuildRequestsFromData): Resolve the triggerable and the repository group. * public/v3/models/triggerable.js: (Triggerable.prototype.name): Added. (Triggerable.prototype.acceptedRepositories): Deleted. (TriggerableRepositoryGroup): (TriggerableRepositoryGroup.prototype.accepts): Added. Retruns true if the repository group * server-tests/api-build-requests-tests.js: Added a test for getting the repository group of a build request. * server-tests/api-manifest-tests.js: Added assertions for the repository groups. * server-tests/api-report-tests.js: (.emptyReport): (.reportWithTwoLevelsOfAggregations): * server-tests/api-update-triggerable.js: Added test cases for updating the repository groups associated with a triggerable. (.updateWithOSXRepositoryGroup): (.mapRepositoriesByGroup): * server-tests/privileged-api-create-test-group-tests.js: (addTriggerableAndCreateTask): Add two repository groups for testing. Added assertions for repository groups in existing test cases, and added a test case for creating a test group with two different repository groups. * server-tests/resources/mock-data.js: (MockData.resetV3Models): Reset TriggerableRepositoryGroup's static maps. (MockData.emptyTriggeragbleId): Added. (MockData.macosRepositoryId): Added. (MockData.webkitRepositoryId): Added. (MockData.gitWebkitRepositoryId): Added. (MockData.addMockData): Create repository groups as needed. Renamed the "OS X" repository to "macOS" since some tests were using the latter, and now we need mock data to be consistent across tests due to stricter checks. (MockData.addEmptyTriggerable): Added. Used in api-update-triggerable.js. (MockData.addMockTestGroupWithGitWebKit): Added. Used in api-build-requests-tests.js. (MockData.addAnotherMockTestGroup): Cleanup. (MockData.mockTestSyncConfigWithSingleBuilder): Updated the mock configuration per code changes. (MockData.mockTestSyncConfigWithTwoBuilders): Ditto. * server-tests/tools-buildbot-triggerable-tests.js: Updated a test case testing /api/update-triggerable to test updating the set of repository groups in addition to the set of test, platform pairs. (.refetchManifest): Added. * tools/js/buildbot-syncer.js: (BuildbotSyncer): Now takes a set of configurations shared across syncers: repositoryGroups, slaveArgument, and buildRequestArgument as the third argument. (BuildbotSyncer.prototype.repositoryGroups): Added. (BuildbotSyncer.prototype._testGroupMapForBuildRequests): Cleaned up the code to use Array.prototype.find. Also added an assertion that the build request is associated with a repository group. (BuildbotSyncer.prototype._propertiesForBuildRequest): Removed the support for using an arbitary property to specify a revision in favor of explicity listing each property and repository name in a repository group. (BuildbotSyncer._loadConfig): Removed the support for "shared", which specified the set of buildbot properties shared across syncers, the name of properties which specifies the build slave name and build request ID. These values are not stored as top-level properties and superseded by the concept of repository groups. (BuildbotSyncer._parseRepositoryGroup): Parses and validates repository groups. (BuildbotSyncer._createTestConfiguration): We no longer expect each configuration to specify a dictionary of properties or buildRequestArgument (often inherited from shared). (BuildbotSyncer._validateAndMergeConfig): Removed "slaveArgument" and "buildRequestArgument" from the list of allowed proeprties in each configuration now that they're specified as top-level properties. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.updateTriggerable): Update the associated repository groups. (BuildbotTriggerable.prototype.syncOnce): Skip test groups for which the next build request to be scheduled is not included in the list of valid build requests. (BuildbotTriggerable.prototype._validateRequests): Now returns the list of valid build requests, which excludes those that lack a repository group set. (BuildbotTriggerable.prototype._nextRequestInGroup): Extracted from _scheduleRequestIfSlaveIsAvailable. Finds the next build request to be scheduled for the test group. (BuildbotTriggerable.prototype._scheduleRequestIfSlaveIsAvailable): Renamed from _scheduleNextRequestInGroupIfSlaveIsAvailable. Now takes the syncer and the slave name as arguments instead of a test group information since syncOnce now calls _nextRequestInGroup to find the next build request. * tools/js/v3-models.js: * unit-tests/build-request-tests.js: Fixed the test name. * unit-tests/buildbot-syncer-tests.js: Removed tests for "rootOptions" and "rootsExcluding", and added tests for parsing repository groups. (sampleiOSConfig): Updated the mock configuration per code changes. (sampleiOSConfigWithExpansions): Ditto. (smallConfiguration): Ditto. Now returns the entire configuration instead of a single builder configuration. Various test cases have been updated to reflect this. (createSampleBuildRequest): Removed the git hash of WebKit to match the repository groups listed in the mock configurations. The git hash was there to test "rootOptions", which this patch removed. (samplePendingBuild): Removed "root_dict" from the list of properties. This was used to test "rootsExcluding" which, again, this patch removed. (sampleInProgressBuild): Ditto. (sampleFinishedBuild): Ditto. * unit-tests/resources/mock-v3-models.js: (MockModels.inject): Added ock repository groups so that existing tests will continue to function. Canonical link: https://commits.webkit.org/187490@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215061 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
70b114e7af |
Updates feature status for recently shipped features
https://bugs.webkit.org/show_bug.cgi?id=170359 Reviewed by Brian Burg. Source/JavaScriptCore: Changed "Done" status to "Supported". * features.json: Source/WebCore: Added missing Gamepad entry. Changed "Done" status to "Supported". Also changed status from "In Development" to "Supported" for: - CSS Grid Layout Level 1 - CSS Inline Layout Module Level 3 - CSS Scroll Snap Points Module Level 1 - CSS Color Level 4 - Fetch API - Indexed Database 2.0 - Media Capture and Streams - Pointer Lock - Preload - Input Events * features.json: Websites/webkit.org: Added styles for "Supported" status. * wp-content/themes/webkit/status.php: Canonical link: https://commits.webkit.org/187482@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215053 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
9e3a23f74f |
Introduce the notion of repository groups to triggerables
https://bugs.webkit.org/show_bug.cgi?id=170228 Reviewed by Chris Dumez. On some triggerable, it's desirable to specify multiple sets of repositories that are accepted. For example, if a repository X transitioned from Subversion to Git, and if a triggerable accepted X and some other repository Y, then it's desirable to two sets: (X-Subversion, Y) and (X-Git, Y) since neither (X-Subversion, X-Git) nor (X-Subversion, X-Git, Y) makes sense as a set. This patch introduces triggerable_repository_groups table to represent a set of repositories accepted by a triggerable. It has many to one relationship to build_triggerables and triggerable_repositories in turn now has many to one relationship to triggerable_repository_groups instead of build_triggerables. Also make it possible to disable a triggerable e.g. a set of tests and platforms are no longer supported. We don't want to delete the triggerable completely from the database since it would result in the associated A/B testing results being purged, which is not desirale. To migrate an existing database, run the following transaction: ```sql BEGIN; ALTER TABLE build_triggerables ADD COLUMN triggerable_disabled boolean NOT NULL DEFAULT FALSE; CREATE TABLE triggerable_repository_groups ( repositorygroup_id serial PRIMARY KEY, repositorygroup_triggerable integer REFERENCES build_triggerables NOT NULL, repositorygroup_name varchar(256) NOT NULL, repositorygroup_description varchar(256), repositorygroup_accepts_roots boolean NOT NULL DEFAULT FALSE, CONSTRAINT repository_group_name_must_be_unique_for_triggerable UNIQUE(repositorygroup_triggerable, repositorygroup_name)); INSERT INTO triggerable_repository_groups (repositorygroup_triggerable, repositorygroup_name) SELECT triggerable_id, 'default' FROM build_triggerables; ALTER TABLE triggerable_repositories ADD COLUMN trigrepo_group integer REFERENCES triggerable_repository_groups; UPDATE triggerable_repositories SET trigrepo_group = repositorygroup_id FROM triggerable_repository_groups WHERE trigrepo_triggerable = repositorygroup_triggerable; ALTER TABLE triggerable_repositories ALTER COLUMN trigrepo_group SET NOT NULL; ALTER TABLE triggerable_repositories DROP COLUMN trigrepo_triggerable; ALTER TABLE triggerable_repositories DROP COLUMN trigrepo_sub_roots; END; ``` * init-database.sql: * public/admin/triggerables.php: Use a custom column to make forms to add and configure repository groups. (insert_triggerable_repositories): Added. (generate_repository_list): Added. (generate_repository_form): Added. (generate_repository_checkboxes): Now generates checkboxes for a repository group instead of a triggerable. * public/include/manifest-generator.php: (fetch_triggerables): Fixed the bug that we were not filtering results with query in /api/triggerable. Rewrote it to include an array of repository groups, which in turn contains an array of repositories along with its name and a description, and a boolean indicating whether it accepts a custom root file or not. The boolean will be used when we're adding the support for perf try bots. We will keep acceptedRepositories since it's still used by detect-changes.js. * public/v3/models/manifest.js: (Manifest._didFetchManifest): Resolve repositoriy, test, and platform IDs to their respective objects. * public/v3/models/triggerable.js: (Triggerable): (Triggerable.prototype.isDisabled): Added. (Triggerable.prototype.repositoryGroups): Added. (Triggerable.prototype.acceptsTest): Added. (TriggerableRepositoryGroup): Added. (TriggerableRepositoryGroup.prototype.description): Added. (TriggerableRepositoryGroup.prototype.acceptsCustomRoots): Added. (TriggerableRepositoryGroup.prototype.repositories): Added. * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.prototype._didFetchTask): Don't use a disabled triggerable. * server-tests/api-manifest-tests.js: Updated a test case to test repository groups. * tools/js/database.js: (tableToPrefixMap): Added triggerable_repository_groups. * tools/js/v3-models.js: Imported TriggerableRepositoryGroup from triggerable.js. Canonical link: https://commits.webkit.org/187454@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214975 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
fdac680d67 |
Unreviewed. Add details on how to enable the experimental feature.
* demos/webgpu/index.html: Canonical link: https://commits.webkit.org/187382@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214898 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
705fd2dd0c |
Unreviewed. More WebGPU demos.
* demos/webgpu/2d.jpg: Added. * demos/webgpu/2d.js: * demos/webgpu/circle.svg: Added. * demos/webgpu/cubes.jpg: Added. * demos/webgpu/hello.html: Added. * demos/webgpu/hello.jpg: Added. * demos/webgpu/hello.js: Copied from Websites/webkit.org/demos/webgpu/2d.js. (init): (render): * demos/webgpu/index.html: Added. * demos/webgpu/simple.jpg: Added. Canonical link: https://commits.webkit.org/187349@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214849 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0ddafd875c |
Unreviewed. Add some WebGPU examples.
* demos/webgpu/2d.html: Added. * demos/webgpu/2d.js: Added. * demos/webgpu/cubes.html: Added. * demos/webgpu/cubes.js: Added. * demos/webgpu/shared.css: Added. * demos/webgpu/shared.js: Added. * demos/webgpu/simple.html: Added. * demos/webgpu/simple.js: Added. Canonical link: https://commits.webkit.org/187291@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214710 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4b16249e48 |
Build fix. For OS versions, we can end up with non-alphanumeric revision.
Delete the code path only used by the v2 UI since nobody uses that now. * public/api/commits.php: (main): Canonical link: https://commits.webkit.org/187288@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214707 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
5074f685f6 |
sync-buildbot.js can schedule more than one build per builder
https://bugs.webkit.org/show_bug.cgi?id=170318 Reviewed by Saam Barati. The bug was caused by _scheduleNextRequestInGroupIfSlaveIsAvailable not returning a promise when scheduling the first build request of a test group. This resulted in _pullBuildbotOnAllSyncers to prematurely resolve before POST'ing new build had finished. That in turn could result in the next cycle of syncing to occur before POST'ing has actually taken place. More precisely, when the nextRequest was the first request or its associated syncer object could not be identified, we were supposed to find the first available syncer, schedule the request, and then return the promise returned by scheduleRequestInGroupIfAvailable. However, the for loop which called scheduleRequestInGroupIfAvailable on every syncer was declaring its own variable named "promise" thereby shadowing the outer variable, which is returned to the caller. Fixed the bug by not declaring a shadowing variable, and refactored the code. Namely, the only reason we had such a complicated logic with two local variables, promise and syncer, was so that we could log that we're scheduling a build. Extracted this code as _scheduleRequestWithLog. _scheduleNextRequestInGroupIfSlaveIsAvailable can now simply exit early with a call to _scheduleRequestWithLog when the syncer is readily identified. When looping over syncers, it can simply return the first non-null result of _scheduleNextRequestInGroupIfSlaveIsAvailable. * server-tests/tools-buildbot-triggerable-tests.js: Added a test case where we wait 10ms after receiving the request to POST a build. There should be no new network request until we resolve this request. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype._scheduleNextRequestInGroupIfSlaveIsAvailable): Fixed the bug. (BuildbotTriggerable.prototype._scheduleRequestWithLog): Extracted. Canonical link: https://commits.webkit.org/187244@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214652 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
0331d703de |
Modernize BuildbotSyncer and BuildbotTriggerable
https://bugs.webkit.org/show_bug.cgi?id=170310 Reviewed by Chris Dumez. Modernized the code to use arrow functions and other modern idoms in ES2016. * ReadMe.md: Added instructions on how to run tests, and moved the steps to configure postgres above the steps to configure Apache since only the former is needed to run tests. * tools/js/buildbot-syncer.js: * tools/js/buildbot-triggerable.js: Canonical link: https://commits.webkit.org/187243@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214650 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a7b2604afb |
Yet another build fix after r214502. Workaround webkit.org/b/169907 for now.
* public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.cssTemplate): Canonical link: https://commits.webkit.org/187240@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214647 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
e9b5dbb709 |
Revert an erronously change in the previous commit.
* public/v3/components/base.js: Canonical link: https://commits.webkit.org/187225@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214629 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
bb5e34b63d |
Build fix after r214280. Don't render components until its element is inserted into a document.
* public/v3/components/base.js: (ComponentBase): Canonical link: https://commits.webkit.org/187224@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214628 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
5d2ad33446 |
Another build fix after r214502.
* public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer.prototype.render): this._groupToCellMap.get may not contain the cell when startPoint or metric had not been fetched yet even if currentTestGroup is set. Canonical link: https://commits.webkit.org/187175@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214563 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
2ac6405431 |
Build fix after r214502. Analysis tasks without any test groups are throwing exceptions.
* public/v3/components/results-table.js: (ResultsTable.prototype.renderTable): Don't show the header row when there are no content to show. (ResultsTable.prototype._computeRepositoryList): Return a pair of arrays. The caller expects the repository list to be an array, not undefined. Canonical link: https://commits.webkit.org/187174@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214562 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
af2e510f96 |
Modernize AnalysisTaskPage
https://bugs.webkit.org/show_bug.cgi?id=170165 Reviewed by Antti Koivisto. Modernized AnalysisTaskPage and related components. The main refactoring happened in AnalysisTaskPage from which AnalysisTaskResultsPane and AnalysisTaskTestGroupPane have been extracted. Decoupled BuildRequest from its results. AnalysisResultsViewer and TestGroupResultsTable now stores a reference to AnalysisResultsView and Metric to find the results for each build request. This refactoring is necessary in order to view results of an arbitrary metric in the future. Also refactored ResultsTable and its subclasses extensively. Instead of making its render() to invoke subclass' methods such as buildRowGroups, heading, and additionalHeading, rely on each subclass call to invoke renderTable(), renamed from render(), with callbacks to add extra headers and columns. This patch also fixes a number of usability issues found by the user such as changing the test name resets the customized revisions by the virtue of the modern code being naturally more correct. * public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer): (AnalysisResultsViewer.prototype.setTestGroupCallback): Deleted. Replaced by "testGroupClick" action. (AnalysisResultsViewer.prototype.setRangeSelectorLabels): Moved here from ResultsTable since it's never used in ResultsTable or TestGroupResultsTable. (AnalysisResultsViewer.prototype.selectedRange): Ditto. (AnalysisResultsViewer.prototype.setPoints): Now takes metric as the third argument. (AnalysisResultsViewer.prototype.setTestGroups): Now takes the current test group. (AnalysisResultsViewer.prototype.didUpdateResults): Deleted. (AnalysisResultsViewer.prototype.setAnalysisResultsView): Added. (AnalysisResultsViewer.prototype.render): Invoke _renderTestGroups lazily. Also simplified the logic to find the selected list item. Since we always use a shadow DOM now, we can simply look for an element with ".seleted" instead of crafting a unique class name. (AnalysisResultsViewer.prototype.renderTestGroups): Renamed from buildRowGroups. Specify callbacks to insert headers for A/B radio buttons, which has been moved from ResultsTable.prototype.render, and the stacked blocks of testing results. (AnalysisResultsViewer.prototype._classForTestGroup): Deleted. (AnalysisResultsViewer.prototype._openStackingBlock): Deleted. (AnalysisResultsViewer.prototype._expandBetween): Create a new set for expandedPoints to make _renderTestGroupsLazily.evaluate do the work. (AnalysisResultsViewer._layoutBlocks): Moved from TestGroupStackingGrid.layout. (AnalysisResultsViewer._sortBlocksByRow): Moved from AnalysisResultsViewer.TestGroupStackingGrid. (AnalysisResultsViewer._insertAfterBlockWithSameRange): Ditto. (AnalysisResultsViewer._insertBlockInFirstAvailableColumn): Ditto. (AnalysisResultsViewer._createCellsForRow): Ditto. (AnalysisResultsViewer.TestGroupStackingBlock): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.addRowIndex): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.createStackingCell): No longer creates a unique class name here. See the inline comment for AnalysisResultsViewer.prototype.render. (AnalysisResultsViewer.TestGroupStackingBlock.prototype.isThin): Deleted. We used to collapse "failed" test groups as a thin vertical line, and we wanted to show them next to each other in _layoutBlock but we don't do that anymore. (AnalysisResultsViewer.TestGroupStackingBlock.prototype._valuesForCommitSet): Added. Uses this._analysisResultsView to extract the results for the current metrics. (AnalysisResultsViewer.TestGroupStackingBlock.prototype._computeTestGroupStatus): * public/v3/components/analysis-task-bug-list.js: Added. (AnalysisTaskBugList): Added. Extracted from AnalysisTaskChartPane. (AnalysisTaskBugList.prototype.setTask): Added. (AnalysisTaskBugList.prototype.didConstructShadowTree): Added. (AnalysisTaskBugList.prototype.render): Added. (AnalysisTaskBugList.prototype._associateBug): Added. (AnalysisTaskBugList.prototype._dissociateBug): Added. (AnalysisTaskBugList.htmlTemplate): Added. * public/v3/components/chart-pane-base.js: (ChartPaneBase.htmlTemplate): Added a hook to insert more content at the end in AnalysisTaskChartPane. (ChartPaneBase.paneFooterTemplate): Added. * public/v3/components/customizable-test-group-form.js: (CustomizableTestGroupForm): (CustomizableTestGroupForm.prototype.setCommitSetMap): (CustomizableTestGroupForm.prototype.startTesting): Renamed from _submitted. Now dispatches an action by the name of "startTesting" instead of calling this._startCallback. (CustomizableTestGroupForm.prototype.didConstructShadowTree): Added. Moved the logic to attach event handlers here to avoid eagerly creating the shadow tree in the constructor. (CustomizableTestGroupForm.prototype._computeCommitSetMap): Use the newly added this._revisionEditorMap to find the relevant input element instead of running a querySelector. (CustomizableTestGroupForm.prototype.render): Lazily invoke _renderCustomRevisionTable. This avoids overriding the customized revisions when the user finally types in the test group name. (CustomizableTestGroupForm.prototype._renderCustomRevisionTable): Extracted from render. (CustomizableTestGroupForm.prototype._constructRevisionRadioButtons): Made this a non-static method since it needs to update this._revisionEditorMap now. Merged _constructRevisionRadioButtons. (CustomizableTestGroupForm.prototype._createRadioButton): Deleted. See above. (CustomizableTestGroupForm.cssTemplate): (CustomizableTestGroupForm.formContent): Use IDs instead of classes to make this.content(ID) work. * public/v3/components/mutable-list-view.js: (MutableListView.prototype.setList): (MutableListView.prototype.setKindList): (MutableListView.prototype.setAddCallback): Deleted. Replaced by "addItem" action. (MutableListView.prototype.render): (MutableListItem.prototype.content): * public/v3/components/results-table.js: (ResultsTable): Removed this._rangeSelectorLabels, this._rangeSelectorCallback, and this._selectedRange as they are only used by AnalysisResultsViewer. Also replaced this._valueFormatter by this._analysisResultsView which knows a metric. (ResultsTable.prototype.setValueFormatter): Deleted. (ResultsTable.prototype.setRangeSelectorLabels): Deleted. (ResultsTable.prototype.setRangeSelectorCallback): Deleted. (ResultsTable.prototype.selectedRange): Deleted. (ResultsTable.prototype._rangeSelectorClicked): Deleted. (ResultsTable.prototype.setAnalysisResultsView): Added. (ResultsTable.prototype.renderTable): Added. Removed the logic to add _rangeSelectorLabels since it has been moved to AnalysisResultsViewer.prototype.render inside buildColumns, which also inserts additional columns which used to be stored on each ResultsTableRow. Use the same technique to insert additional headers. Also take the name (thead tr th) of row header (tbody tr td) as an argument and automatically create a table cell of an appropriate colspan. (ResultsTable.prototype._createRevisionListCells): (ResultsTable.prototype.heading): Deleted. Superseded by buildHeaders callback. (ResultsTable.prototype.additionalHeading): Ditto. (ResultsTable.prototype.buildRowGroups): Deleted. It is now the responsibility of each subclass to call ResultsTable's renderTable() in the subclass' render() function. (ResultsTable.prototype._computeRepositoryList): No longer takes extraRepositories as an argument. Instead, this function now returns a pair of the repository list and the list of constant commits. (ResultsTable.htmlTemplate): (ResultsTable.cssTemplate): * public/v3/components/test-group-form.js: (TestGroupForm): Avoid eagerly creating the shadow tree. Also removed the removed the dead code. (TestGroupForm.prototype.setRepetitionCount): Simply override the value of the select element. (TestGroupForm.prototype.didConstructShadowTree): Added. Attach event handlers here to avoid eagerly creating the shadow tree in the constructor. (TestGroupForm.prototype.startTesting): Renamed from _submitted. Dispatch "startTesting" action instead of invoking _startCallback which has been removed. (TestGroupForm.htmlTemplate): (TestGroupForm.formContent): * public/v3/components/test-group-results-table.js: (TestGroupResultsTable): (TestGroupResultsTable.prototype.didUpdateResults): Deleted. No longer neeed per setAnalysisResultsView in ResultsTable. (TestGroupResultsTable.prototype.setTestGroup): (TestGroupResultsTable.prototype.heading): Deleted. (TestGroupResultsTable.prototype.render): (TestGroupResultsTable.prototype._renderTestGroup): Extracted from render. (TestGroupResultsTable.prototype._buildRowGroups): Renamed from buildRowGroups. (TestGroupResultsTable.prototype._buildRowGroupForCommitSet): Extracted from buildRowGroups. (TestGroupResultsTable.prototype._buildComparisonRow): Extracted from buildRowGroups.buildRowGroups * public/v3/index.html: Include analysis-task-bug-list.js. * public/v3/models/analysis-results.js: (AnalysisResults): Inverted the map so that we can easily create a view based on metric. (AnalysisResults.prototype.find): Ditto. (AnalysisResults.prototype.add): Ditto. (AnalysisResults.prototype.viewForMetric): Added. (AnalysisResults.fetch): (AnalysisResultsView): Added. (AnalysisResultsView.prototype.metric): Added. (AnalysisResultsView.prototype.resultForBuildId): Added. * public/v3/models/build-request.js: (BuildRequest.result): Deleted. (BuildRequest.setResult): Deleted. * public/v3/models/test-group.js: (TestGroup): Removed this._allCommitSets since it was never used. (TestGroup.prototype.didSetResult): Deleted since it was never used. (TestGroup.prototype.compareTestResults): Now takes an array of measurement set values. (TestGroup.prototype._valuesForCommitSet): Deleted. * public/v3/pages/analysis-task-page.js: (AnalysisTaskChartPane): This class now includes the form to cutomize the revisions. (AnalysisTaskChartPane.prototype.setShowForm): Added. (AnalysisTaskChartPane.prototype._mainSelectionDidChange): (AnalysisTaskChartPane.prototype.didConstructShadowTree): Added. Dispatches "newTestGroup" action when the user presses the button to start a new A/B testing from the chart. (AnalysisTaskChartPane.prototype.render): Added. (AnalysisTaskChartPane.prototype.paneFooterTemplate): Added. (AnalysisTaskChartPane.cssTemplate): (AnalysisTaskResultsPane): Added. Encapsulates AnalysisResultsViewer and CustomizableTestGroupForm. (AnalysisTaskResultsPane.prototype.setPoints): Added. (AnalysisTaskResultsPane.prototype.setTestGroups): Added. (AnalysisTaskResultsPane.prototype.setAnalysisResultsView): Added. (AnalysisTaskResultsPane.prototype.setShowForm): Added. (AnalysisTaskResultsPane.prototype.didConstructShadowTree): Added. Dispatches "newTestGroup" action when the user presses the button to start a new A/B testing from the chart. (AnalysisTaskResultsPane.prototype.render): Added. (AnalysisTaskResultsPane.htmlTemplate): Added. (AnalysisTaskResultsPane.cssTemplate): Added. (AnalysisTaskTestGroupPane): Added. Encapsulates TestGroupResultsTable and CustomizableTestGroupForm. (AnalysisTaskTestGroupPane.prototype.didConstructShadowTree): Added. (AnalysisTaskTestGroupPane.prototype.setTestGroups): Added. (AnalysisTaskTestGroupPane.prototype.setAnalysisResultsView): Added. (AnalysisTaskTestGroupPane.prototype.render): Added. (AnalysisTaskTestGroupPane.prototype._renderTestGroups): Added. Updates the list of test groups. Hide the hidden groups unless showHiddenGroups is set. Updates this._testGroupMap so that the visibility of groups and their names can be updated without having to re-render the entire list. (AnalysisTaskTestGroupPane.prototype._renderTestGroupVisibility): Added. (AnalysisTaskTestGroupPane.prototype._renderTestGroupNames): Added. (AnalysisTaskTestGroupPane.prototype._renderCurrentTestGroup): Added. Update TestGroupResultsTable with the selected test group. Also highlight the list view, and update the hide-unhide toggle button's label as needed. (AnalysisTaskTestGroupPane.htmlTemplate): Added. (AnalysisTaskTestGroupPane.cssTemplate): Added. (AnalysisTaskPage): Deleted a massive number of instance variables. They are now manged by newly added AnalysisTaskChartPane, AnalysisTaskResultsPane, and AnalysisTaskTestGroupPane (AnalysisTaskPage.prototype.didConstructShadowTree): Added. Attach various event handlers here to avoid eagerly creating the shadow tree in the constructor. (AnalysisTaskPage.prototype._fetchRelatedInfoForTaskId): (AnalysisTaskPage.prototype._didFetchTask): No longer sets the value formatter to the results viewer and the results table as they now recieve AnalysisResultsView later in _assignTestResultsIfPossible. (AnalysisTaskPage.prototype._didFetchMeasurement): Set the metric to the results viewer. (AnalysisTaskPage.prototype._didUpdateTestGroupHiddenState): (AnalysisTaskPage.prototype._assignTestResultsIfPossible): Create AnalysisResultsView from the newly retrieved AnalysisResults and pass it to AnalysisTaskResultsPane and AnalysisTaskTestGroupPane. (AnalysisTaskPage.prototype.render): Dramatically simplified. (AnalysisTaskPage.prototype._renderTaskNameAndStatus): Extracted from render. (AnalysisTaskPage.prototype._renderRelatedTasks): Ditto. (AnalysisTaskPage.prototype._renderCauseAndFixes): Ditto. (AnalysisTaskPage.prototype._showTestGroup): (AnalysisTaskPage.prototype._updateTaskName): Now takes the new name as an argument. (AnalysisTaskPage.prototype._updateTestGroupName): Now takes the new name as the second argument. (AnalysisTaskPage.prototype._hideCurrentTestGroup): Now takes the test group to hide. (AnalysisTaskPage.prototype._associateCommit): Moved to AnalysisTaskBugList. (AnalysisTaskPage.prototype._dissociateCommit): Ditto. (AnalysisTaskPage.prototype._retryCurrentTestGroup): Now takes the test group as the first argument. (AnalysisTaskPage.prototype._chartSelectionDidChange): Deleted. (AnalysisTaskPage.prototype._createNewTestGroupFromChart): Deleted. (AnalysisTaskPage.prototype._selectedRowInAnalysisResultsViewer): Deleted. (AnalysisTaskPage.prototype._createNewTestGroupFromViewer): Deleted. (AnalysisTaskPage.htmlTemplate): (AnalysisTaskPage.cssTemplate): * unit-tests/test-groups-tests.js: Updated a test case which was expecting BuildReqeust's result, which has been removed, to exist. Canonical link: https://commits.webkit.org/187127@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214502 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ef0eeb8605 |
[Bugzilla] Add a checkbox to add self to the CC list when creating or editing an attachment
<https://webkit.org/b/124047> Original patch by Csaba Osztrogonác. Reviewed by Daniel Bates. * template/en/default/attachment/reviewform.html.tmpl: Add template for "Add me to CC list" by default. This adds the reviewer to the CC list whether the "Preview" or "Publish" button is used. Only the "Preview" button allows the checkbox to be unchecked, though. Canonical link: https://commits.webkit.org/187026@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214401 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a332e4d961 |
Fix Apache::SizeLimit unshared size limit in mod_perl.pl for bugs.webkit.org
<https://webkit.org/b/169926> Reviewed by Brent Fulgham. * mod_perl.pl: Update syntax for setting unshared size limit, and bump it up another 100 Mb so children don't respawn as quickly. Canonical link: https://commits.webkit.org/186957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214332 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4477d29301 |
Share more code between ManifestGenerator and /api/triggerables
https://bugs.webkit.org/show_bug.cgi?id=169993 Reviewed by Chris Dumez. Shared the code to fetch the list of triggerables from the database between ManifestGenerator and /api/triggerables. * public/api/triggerables.php: (main): * public/include/manifest-generator.php: (ManifestGenerator::fetch_triggerables): Extracted as a static function. Also include the ID in the triggerable data. Canonical link: https://commits.webkit.org/186941@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214315 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
564c076ca4 |
create-test-group should allow a different set of repositories to be used in each configuration
https://bugs.webkit.org/show_bug.cgi?id=169992 Rubber-stamped by Antti Koivisto. Added the support for new POST parameter, revisionSets, to /privileged-api/create-test-group. This new parameter now specifies an array of repository id to revision dictionaries, and allows different set of repositories' revisions to be specified in each dictionary. We keep the old API for v2 UI and detect-changes.js compatibility for now. * public/privileged-api/create-test-group.php: (main): (commit_sets_from_revision_sets): Added. (ensure_commit_sets): Only fetch the top-level repository per r213788 and r213976. * public/v3/models/test-group.js: (TestGroup.createAndRefetchTestGroups): Use the newly added revisionSets parameter instead of the now depreacted commitSets parameter. * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList): Simplified this code by simply verifying the consistency of commit sets now that createAndRefetchTestGroups takes an array of commit sets instead of a dictionary of repository name to a list of revisions. * server-tests/privileged-api-create-test-group-tests.js: Added test cases for new parameter. Canonical link: https://commits.webkit.org/186940@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214314 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4bd8d9eb49 |
/api/uploaded-file should return createdAt as a POSIX timestamp
https://bugs.webkit.org/show_bug.cgi?id=169980 Rubber-stamped by Antti Koivisto. Call Database::to_js_time on createdAt to return it as a POSIX timestamp. * public/include/uploaded-file-helpers.php: (format_uploaded_file): Fixed the bug. * server-tests/api-manifest-tests.js: Renamed from api-manifest.js. * server-tests/api-uploaded-file-tests.js: Renamed from api-uploaded-file.js. Added a test case. Canonical link: https://commits.webkit.org/186914@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214287 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
4ff46a1f70 |
UploadedFile should support a callback for upload progress
https://bugs.webkit.org/show_bug.cgi?id=169977 Reviewed by Andreas Kling. Added a new option dictionary to CommonRemoteAPI.sendHttpRequest with uploadProgressCallback Moved request headers and responseHandler callback in NodeRemoteAPI to this dictionary, and updated the tests which relied on this code. * public/shared/common-remote.js: (CommonRemoteAPI.prototype.postJSON): (CommonRemoteAPI.prototype.postJSONWithStatus): (CommonRemoteAPI.prototype.postFormData): (CommonRemoteAPI.prototype.postFormDataWithStatus): * public/v3/privileged-api.js: (PrivilegedAPI.prototype.sendRequest): * public/v3/remote.js: (BrowserRemoteAPI.prototype.sendHttpRequest): (BrowserRemoteAPI.prototype.sendHttpRequestWithFormData): (BrowserRemoteAPI): * server-tests/api-uploaded-file.js: * tools/js/remote.js: (NodeRemoteAPI.prototype.sendHttpRequest): (NodeRemoteAPI.prototype.sendHttpRequestWithFormData): (NodeRemoteAPI): Canonical link: https://commits.webkit.org/186912@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214285 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
8912ebfbd7 |
ComponentBase should enqueue itself to render when it becomes connected
https://bugs.webkit.org/show_bug.cgi?id=169905 Reviewed by Antti Koivisto. When a component becomes connected to a document, enqueue itself to render automatically. Also added the support for boolean attribute to ComponentBase.createElement. * ReadMe.md: Added an instruction to raise the upload limit per r214065. * browser-tests/component-base-tests.js: Added tests for the new behavior and createElement. Also moved the tests related to enqueueToRenderOnResize out of defineElement tests. * browser-tests/index.html: (BrowsingContext.prototype.constructor): Override requestAnimationFrame so that the callback would be involved immediately durign testing. * public/v3/components/base.js: (ComponentBase): Enqueue itself to render during construction if custom elements is not available. (ComponentBase.defineElement): (ComponentBase.defineElement.elementClass.prototype.connectedCallback): Enqueue itself to render when the component's element became connected. (ComponentBase.createElement): Use Array.isArray instead of instanceof to make it work with arrays made in other realms (global objects) during testing. Added the support for boolean attributes. Setting an attribute value to true would set the attribute, and setting it to false would not set the attribute. (ComponentBase.useNativeCustomElements): Added. True iff window.customElements is defined. * public/v3/components/chart-pane-base.js: (ChartPaneBase.prototype.render): No longer need to call enqueueToRender on the commit log viewer. * public/v3/components/commit-log-viewer.js: (CommitLogViewer.prototype.render): No longer need to call enqueueToRender on the spinner icon. * public/v3/models/time-series.js: (TimeSeries): Made this a proper class declaration now that we don't include data.js after r213300. * public/v3/pages/chart-pane.js: (ChartPane.prototype._renderActionToolbar): No longer need to call enqueueToRender on the close icon. * public/v3/pages/summary-page.js: (SummaryPage.prototype._renderCell): No longer need to call enqueueToRender on the spinner icon. Canonical link: https://commits.webkit.org/186907@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214280 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
be1b9641cb |
Commit local changes for Bugzilla 5.0.3
* images/favicon.ico: Update favicon from Dec 11, 2015. * data/params.json: Deleted. Canonical link: https://commits.webkit.org/186857@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214225 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
fecbec0087 |
Upgrade to Bugzilla 5.0.3.
Canonical link: https://commits.webkit.org/186856@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214224 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
9d061ae95b |
[Planet WebKit] Use HTTPS instead of HTTP for Igalia blog
Unreviewed patch just updating the Igalia WebKit blog configuration. * config.ini: Canonical link: https://commits.webkit.org/186854@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214222 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
a0df31e2c3 |
Delete another function that was supposed to be removed in the previous commit.
* public/v3/models/build-request.js: (BuildRequest.cachedRequestsForTriggerableID): Deleted. Canonical link: https://commits.webkit.org/186838@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214206 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
deeaf6997d |
Modernize BuildRequestQueuePage
https://bugs.webkit.org/show_bug.cgi?id=169903 Reviewed by Antti Koivisto. Modernized the code for /v3/#/analysis/queue. * public/v3/models/build-request.js: (BuildRequest.fetchTriggerables): Deleted since the manifest JSON now contains all the triggerables. * public/v3/pages/build-request-queue-page.js: (BuildRequestQueuePage): Deleted this._triggerables. Added this._buildRequestsByTriggerable. (BuildRequestQueuePage.prototype.open): Modernized the code. (BuildRequestQueuePage.prototype.render): Ditto. (BuildRequestQueuePage.prototype._constructBuildRequestTable): Ditto. Canonical link: https://commits.webkit.org/186837@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214205 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
7da9412382 |
Charts page show an inconsistent list of revisions for Git and Subversion
https://bugs.webkit.org/show_bug.cgi?id=169888 Reviewed by Andreas Kling. With Git, CommitLogViewer was showing the list of revisions including the starting hash, which was the last data point's revision instead of all revisions after the last data point. Fixed the bug by always specifying the revision at the last data point in both Subversion and Git and then making /api/commits/<repository>/?from=X&to=Y exclude the first revision. For clarity, "from" and "to" query parameters have been renamed to "precedingRevision" and "lastRevision" respectively. We also no longer adds 1 to the starting revision of Subversion-like starting revisions. e.g. when the last data point was at r1234, new data point is at r1250, the label is now "r1234-r1250" instead of "r1235-r1250". * browser-tests/chart-revision-range-tests.js: Fixed the tests since revisionList no longer specifies from/to revisions. * browser-tests/commit-log-viewer-tests.js: Added. Added tests for CommitLogViewer. * browser-tests/index.html: Include the new test. Also use a local copy of mocha.js/css. * public/api/commits.php: (main): Renamed "from" and "to" query parameters. * public/include/commit-log-fetcher.php: (CommitLogFetcher::fetch_between): Added a check that commit time should either be specified in both rows or not specified in either. Also reject when before_first_revision is identical or after last_revision instead of re-ordering them since it no longer makes sense to do so with new query parameter names. * public/v3/components/base.js: (ComponentBase._addContentToElement): Use Array.isArray instead of instanceof. It's resilient againt realm (global object) differences. * public/v3/components/chart-pane-base.js: (ChartPaneBase.prototype._updateCommitLogViewer): No longer calls enqueueToRender on this since CommitLogViewer does that on its own now. (ChartPaneBase.prototype.render): Juse use this._openRepository instead of relying on CommitLogViewer to remember which repository is current. This was the only use of currentRepository. * public/v3/components/commit-log-viewer.js: (CommitLogViewer): (CommitLogViewer.prototype.currentRepository): Deleted. (CommitLogViewer.prototype.view): (CommitLogViewer.prototype._fetchCommitLogs): Modernized and extracted from view to make it lazy. Call fetchForSingleRevision when precedingRevision is not specified or it's identical to lastRevision since the generic JSON API no longer supports being called with the identical revisions. (CommitLogViewer.prototype.render): Modernized & simplified the code. (CommitLogViewer.prototype._renderCommitList): Extracted from render to make it lazy. (CommitLogViewer.htmlTemplate): Add ID on caption & tbody so that they're more easily addressable. (CommitLogViewer.cssTemplate): * public/v3/models/commit-log.js: (CommitLog.prototype.diff): No longer includes from/to revisions in the result. Also avoid adding 1 to a Subversion-like starting revision for creating the label. See above. But we still do this for forming URLs due to the way tools like Trac work with Subversion revisions. (CommitLog.fetchBetweenRevisions): Rewritten using DataModel.prototype.cachedFetch with FIXME for what this function is supposed to be doing. (CommitLog._cachedCommitLogs): Deleted. (CommitLog.fetchForSingleRevision): Added. (CommitLog._constructFromRawData): Added. * public/v3/models/data-model.js: (DataModelObject.cachedFetch): Don't parse query values as an integer. Just URL-escape them. * public/v3/remote.js: (BrowserRemoteAPI.prototype.sendHttpRequest): Fixed a typo. * server-tests/api-commits-tests.js: Renamed from api-commits.js. Updated the existing tests to use new query parameters and added more test cases. * unit-tests/commit-log-tests.js: Updated the test cases now that CommitLog.prototype.diff no longer includes from/to values. They're computed in ChartRevisionRange instead. Canonical link: https://commits.webkit.org/186834@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214202 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
f3c25d7a4d |
Fix os-build-fetcher.js and subprocess.js to make them work
https://bugs.webkit.org/show_bug.cgi?id=169844 Reviewed by Antti Koivisto. The script added in r213976 has a bug that it can execute commands to fetch subcommits in parallel. Some commands to poll the lsit of system components is not desirable to be ran in parallel. * server-tests/resources/mock-subprocess.js: (MockSubprocess): Use const declaration. (MockSubprocess.resetAndWaitForInvocation): Added. (MockSubprocess.waitForInvocation): Renamed from waitingForInvocation. A function name must be a verb. See https://webkit.org/code-style-guidelines/#names-verb (MockSubprocess.reset): Set invocations.length to 0 so that tests can store a reference to the array regardless of whether reset is called or when it's called. * server-tests/tools-os-build-fetcher-tests.js: Updated tests per the code change. Most of codes now expect each command to be ran seprately. e.g. if there were two commands to run, instead of expecting them to be both ran, and resolving invocation promises, we'd wait for one command to run, resolve, its subcommand to run, and then move onto the second top-level command. Also use a local reference to MockSubprocess.invocations instead of using the fully qualified name. * tools/js/os-build-fetcher.js: (mapInSerialPromiseChain): Added. Calling a closure that returns a promise on each item in an array in serial (not asynchronous) is a very common pattern in this class. (OSBuildFetcher.fetchAndReportAllInOrder): Added. (OSBuildFetcher.prototype.fetchAndReportNewBuilds): Log what the number of builds being submitted. (OSBuildFetcher.prototype._fetchAvailableBuilds): Fixed the main bug. Using Promise.all would result in each top-level command to be execued in parallel. Since each subcommand is executed as soon as its parent command is executed, this results in commands to be executed in parallel. Added a whole bunch of logging so that we can at least detect a bug like this in the future. (OSBuildFetcher.prototype._commitsForAvailableBuilds): Cleanup the coding style. (OSBuildFetcher.prototype._addSubCommitsForBuild): Use mapInSerialPromiseChain. Tightened the assertion about the content returned by a subcommand. * tools/js/subprocess.js: Fixed the bug that we were importing require('child_process').ChildProcess. execFile is defined on require('child_process') itself. (Subprocess.prototype.execute): Fixed a typo. this._childProcess doesn't exist. (Subprocess): * tools/sync-os-versions.js: Renamed from tools/pull-os-versions.js. (syncLoop): Cleaned up the coding style a little. Also added logging about how long we're about to sleep. Canonical link: https://commits.webkit.org/186826@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214193 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
e51524a82b |
Add the file uploading capability to the perf dashboard.
https://bugs.webkit.org/show_bug.cgi?id=169737 Reviewed by Chris Dumez. Added /privileged-api/upload-file to upload a file, and /api/uploaded-file/ to download the file and retrieve its meta data based on its SHA256. We treat two files with the identical SHA256 as identical since anyone who can upload a file using this mechanism can execute arbitrary code in our bots anyway. This is important for avoiding uploading a large darwinup roots multiple times to the server, saving both user's time/bandwidth and server's disk space. * config.json: Added uploadDirectory, uploadFileLimitInMB, and uploadUserQuotaInMB as options. * init-database.sql: Added uploaded_files table. * public/api/uploaded-file.php: Added. (main): /api/uploaded-file/N would download uploaded_file with id=N. /api/uploaded-file/?sha256=X would return the meta data for uploaded_file with sha256=X. (stream_file_content): Streams the file content in 64KB chunks. We support Range & If-Range HTTP request headers so that browsers can pause and resume downloading of a large root file. (parse_range_header): Parses Range HTTP request header. * public/include/json-header.php: (remote_user_name): Use the default argument of NULL. * public/include/manifest-generator.php: (ManifestGenerator::generate): Include the maximum upload size in the manifest file to let the frontend code preemptively check the file size before attempting to submit a file. * public/include/uploaded-file-helpers.php: Added. (format_uploaded_file): (uploaded_file_path_for_row): * public/privileged-api/upload-file-form.html: Added. For debugging purposes. (fetchCSRFfToken): (upload): * public/privileged-api/upload-file.php: Added. (main): (query_total_file_size): (create_uploaded_file_from_form_data): * public/shared/common-remote.js: (CommonRemoteAPI.prototype.postFormData): Added. (CommonRemoteAPI.prototype.postFormDataWithStatus): Added. (CommonRemoteAPI.prototype.sendHttpRequestWithFormData): Added. (CommonRemoteAPI.prototype._asJSON): Throw an exception instead of calling a non-existent reject. * public/v3/models/uploaded-file.js: Added. (UploadedFile): Added. (UploadedFile.uploadFile): Added. (UploadedFile.fetchUnloadedFileWithIdenticalHash): Added. Finds the file with the same SHA256 in the server to avoid uploading a large custom root multiple times. (UploadedFile._computeSHA256Hash): Added. * public/v3/privileged-api.js: (PrivilegedAPI.prototype.sendRequest): Added the options dictionary as a third argument. For now, only support useFormData boolean. * public/v3/remote.js: (BrowserRemoteAPI.prototype.sendHttpRequestWithFormData): Added. * server-tests/api-manifest.js: Updated per the inclusion of fileUploadSizeLimit in the manifest. * server-tests/api-uploaded-file.js: Added. * server-tests/privileged-api-upload-file-tests.js: Added. * server-tests/resources/temporary-file.js: Added. (TemporaryFile): Added. A helper class for creating a temporary file to upload. (TemporaryFile.makeTemporaryFileOfSizeInMB): (TemporaryFile.makeTemporaryFile): (TemporaryFile.inject): * server-tests/resources/test-server.conf: Set upload_max_filesize and post_max_size for testing. * server-tests/resources/test-server.js: (TestServer.prototype.testConfig): Use uploadFileLimitInMB and uploadUserQuotaInMB of 2MB and 5MB. (TestServer.prototype._ensureDataDirectory): Create a directory to store uploaded files inside the data directory. In a production server, we can place it outside ServerRoot / DocumentRoot. (TestServer.prototype.cleanDataDirectory): Delete the aforementioned directory as needed. * tools/js/database.js: (tableToPrefixMap): Added uploaded_files. * tools/js/remote.js: (NodeRemoteAPI.prototype.sendHttpRequest): Added a dictionary to specify request headers and a callback to process the response as arguments. Fixed the bug that any 2xx code other than 200 was resulting in a rejected promise. Also include the response headers in the result for tests. Finally, when content is a function, call that instead of writing the content since FormData requires a custom logic. (NodeRemoteAPI.prototype.sendHttpRequestWithFormData): Added. * tools/js/v3-models.js: Include uploaded-file.js. * tools/run-tests.py: (main): Add form-data as a new dependency. Canonical link: https://commits.webkit.org/186730@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214065 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
7dfa02dcb0 |
Fix unit test and bug fix for 'pull-os-versions.js' script.
https://bugs.webkit.org/show_bug.cgi?id=169701 Reviewed by Ryosuke Niwa. Fix unit tests warnings on node-6.10.0. Fix 'pull-os-versions.js' does not fetch new builds and report. * server-tests/tools-os-build-fetcher-tests.js: (then): (beforeEach): (afterEach): * tools/pull-os-versions.js: (syncLoop): Canonical link: https://commits.webkit.org/186703@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214031 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
608e67eb45 |
In-browser and node.js implementations of RemoteAPI should share some code
https://bugs.webkit.org/show_bug.cgi?id=169695 Rubber-stamped by Antti Koivisto. Extracted CommonRemoteAPI out of RemoteAPI implementations for node.js and browser. * public/shared/common-remote.js: Added. (CommonRemoteAPI): Added. (CommonRemoteAPI.prototype.postJSON): Extracted from RemoteAPI. (CommonRemoteAPI.prototype.postJSONWithStatus): Ditto. (CommonRemoteAPI.prototype.getJSON): Ditto. (CommonRemoteAPI.prototype.getJSONWithStatus): Ditto. (CommonRemoteAPI.prototype.sendHttpRequest): Added. Needs to implemented by a subclass. (CommonRemoteAPI.prototype._asJSON): Added. (CommonRemoteAPI.prototype._checkStatus): Added. * public/v3/index.html: Include common-remote.js. * public/v3/privileged-api.js: (PrivilegedAPI): Use class now that we don't include data.js. (PrivilegedAPI.sendRequest): Modernized the code. (PrivilegedAPI.requestCSRFToken): Ditto. * public/v3/remote.js: (BrowserRemoteAPI): Renamed from RemoteAPI. window.RemoteAPI is now an instance of this class. (BrowserRemoteAPI.prototype.sendHttpRequest): Moved from RemoteAPI.sendHttpRequest. (BrowserRemoteAPI.prototype.sendHttpRequest): * server-tests/privileged-api-create-analysis-task-tests.js: Updated tests since NodeJSRemoteAPI now throws the JSON status as an error to be consistent with BrowserRemoteAPI. * server-tests/privileged-api-create-test-group-tests.js: Ditto. * server-tests/privileged-api-upate-run-status.js: Ditto. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable.prototype.syncOnce): Just use postJSONWithStatus instead of manually checking the status. * tools/js/remote.js: (NodeRemoteAPI): Renamed from RemoteAPI. Still exported as RemoteAPI. (NodeRemoteAPI.prototype.constructor): (NodeRemoteAPI.prototype.sendHttpRequest): Modernized the code. Canonical link: https://commits.webkit.org/186683@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214008 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
e5f9c4228a |
Fix server tests after r213998 and r213969
https://bugs.webkit.org/show_bug.cgi?id=169690 Reviewed by Antti Koivisto. Fixed the existing server tests. * public/v3/models/analysis-task.js: (AnalysisTask.prototype._updateRemoteState): Use the relative path from the root so that it works inside tests. (AnalysisTask.prototype.associateBug): Ditto. (AnalysisTask.prototype.dissociateBug): Ditto. (AnalysisTask.prototype.associateCommit): Ditto. (AnalysisTask.prototype.dissociateCommit): Ditto. (AnalysisTask._fetchSubset): Ditto. (AnalysisTask.fetchAll): Ditto. * public/v3/models/test-group.js: (TestGroup.prototype.updateName): Ditto. (TestGroup.prototype.updateHiddenFlag): Ditto. (TestGroup.createAndRefetchTestGroups): Ditto. (TestGroup.cachedFetch): Ditto. * server-tests/api-manifest.js: Reverted an inadvertant change in r213969. * tools/js/database.js: (tableToPrefixMap): Added analysis_strategies. * unit-tests/analysis-task-tests.js: Updated expectations per changes to AnalysisTask. Canonical link: https://commits.webkit.org/186675@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214000 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
834bae10aa |
Add tests for privileged-api/create-analysis-task and privileged-api/create-test-group
https://bugs.webkit.org/show_bug.cgi?id=169688 Rubber-stamped by Antti Koivisto. Added tests for privileged-api/create-analysis-task and privileged-api/create-test-group, and fixed newly found bugs. * public/privileged-api/create-analysis-task.php: (main): Fixed the bug that we were not explicitly checking whether start_run and end_run were integers or not. Also return InvalidTimeRange when start and end times are identical as that makes no sense for an analysis task. * public/privileged-api/create-test-group.php: (main): Fixed a bug that we were not explicitly checking task and repetitionCount to be an integer. (ensure_commit_sets): Fixed the bug that the number of commit sets weren't checked. * server-tests/privileged-api-create-analysis-task-tests.js: Added. * server-tests/privileged-api-create-test-group-tests.js: Added. * server-tests/resources/common-operations.js: (prepareServerTest): Increase the timeout from 1s to 5s. * server-tests/resources/mock-data.js: (MockData.addMockData): Use a higher database ID of 20 for a mock build_slave to avoid a conflict with auto-generated IDs. Canonical link: https://commits.webkit.org/186673@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213998 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
3358386933 |
Make unit tests return a promise instead of manually calling done
https://bugs.webkit.org/show_bug.cgi?id=169663 Reviewed by Antti Koivisto. Make the existing unit tests always reutrn a promise instead of manually calling "done" callback as done in r213969. The promise tests are a lot more stable and less error prone. Also use MockRemoteAPI.waitForRequest() instead of chaining two resolved promises where appropriate. * unit-tests/analysis-task-tests.js: * unit-tests/buildbot-syncer-tests.js: * unit-tests/checkconfig.js: * unit-tests/privileged-api-tests.js: Canonical link: https://commits.webkit.org/186668@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213993 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
d94d62b902 |
Rewrite 'pull-os-versions' script in Javascript to add support for reporting os revisions with sub commits.
https://bugs.webkit.org/show_bug.cgi?id=169542 Reviewed by Ryosuke Niwa. Extend '/api/commits/<repository>/last-reported' to accept a range and return last reported commits in given range. Rewrite 'pull-os-versions' in JavaScript and add unit tests for it. Instead of writing query manually while searching criteria contains null columns, use the methods provided in 'db.php'. Add '.gitignore' file to ommit files generated by while running tests/instances locally. * .gitignore: Added. * public/api/commits.php: * public/api/report-commits.php: * public/include/commit-log-fetcher.php: * public/include/db.php: 'null_columns' of prepare_params should be a reference. * public/include/report-processor.php: * server-tests/api-commits.js: (then): * server-tests/api-report-commits-tests.js: * server-tests/resources/mock-logger.js: Added. (MockLogger): (MockLogger.prototype.log): (MockLogger.prototype.error): * server-tests/resources/mock-subprocess.js: Added. (MockSubprocess.call): (MockSubprocess.waitingForInvocation): (MockSubprocess.inject): (MockSubprocess.reset): * server-tests/tools-buildbot-triggerable-tests.js: (MockLogger): Deleted. (MockLogger.prototype.log): Deleted. (MockLogger.prototype.error): Deleted. * server-tests/tools-os-build-fetcher-tests.js: Added. (beforeEach): (return.waitingForInvocationPromise.then): (then): (string_appeared_here.return.waitingForInvocationPromise.then): (return.addSlaveForReport.emptyReport.then): * tools/js/os-build-fetcher.js: Added. (OSBuildFetcher): (OSBuildFetcher.prototype._fetchAvailableBuilds): (OSBuildFetcher.prototype._computeOrder): (OSBuildFetcher.prototype._commitsForAvailableBuilds.return.this._subprocess.call.then.): (OSBuildFetcher.prototype._commitsForAvailableBuilds): (OSBuildFetcher.prototype._addSubCommitsForBuild): (OSBuildFetcher.prototype._submitCommits): (OSBuildFetcher.prototype.fetchAndReportNewBuilds): * tools/js/subprocess.js: Added. (const.childProcess.require.string_appeared_here.Subprocess.prototype.call): (const.childProcess.require.string_appeared_here.Subprocess): * tools/pull-os-versions.js: Added. (main): (syncLoop): * tools/sync-commits.py: (Repository.fetch_commits_and_submit): Canonical link: https://commits.webkit.org/186651@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213976 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
ce44d63675 |
Make server tests return a promise instead of manually calling done
https://bugs.webkit.org/show_bug.cgi?id=169648 Rubber-stamped by Chris Dumez. Make the existing server tests always reutrn a promise instead of manually calling "done" callback. The promise tests are a lot more stable and less error prone. Also use arrow functions everywhere and use prepareServerTest, renamed from connectToDatabaseInEveryTest, in more tests instead of manually connecting to database in every test, and reset v3 models. * server-tests/admin-platforms-tests.js: * server-tests/admin-reprocess-report-tests.js: * server-tests/api-build-requests-tests.js: * server-tests/api-manifest.js: * server-tests/api-measurement-set-tests.js: (.postReports): Deleted. Not used in any test. * server-tests/api-report-commits-tests.js: * server-tests/api-report-tests.js: * server-tests/api-update-triggerable.js: * server-tests/privileged-api-upate-run-status.js: * server-tests/resources/common-operations.js: (prepareServerTest): Renamed from connectToDatabaseInEveryTest. Increase the timeout and reset v3 models. * server-tests/tools-buildbot-triggerable-tests.js: Canonical link: https://commits.webkit.org/186644@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213969 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
174649807a |
Rename RootSet to CommitSet
https://bugs.webkit.org/show_bug.cgi?id=169580 Rubber-stamped by Chris Dumez. Renamed root_sets to commit_sets and roots to commit_set_relationships in the database schema, and renamed related classes in public/v3/ and tools accordingly. RootSet, MeasurementRootSet, and CustomRootSet are respectively renamed to CommitSet, MeasurementCommitSet, and CustomCommitSet. In order to migrate the database, run: ``` BEGIN; ALTER TABLE root_sets RENAME TO commit_sets; ALTER TABLE commit_sets RENAME COLUMN rootset_id TO commitset_id; ALTER TABLE roots RENAME TO commit_set_relationships; ALTER TABLE commit_set_relationships RENAME COLUMN root_set TO commitset_set; ALTER TABLE commit_set_relationships RENAME COLUMN root_commit TO commitset_commit; ALTER TABLE build_requests RENAME COLUMN request_root_set TO request_commit_set; END; ``` * browser-tests/index.html: * init-database.sql: * public/api/build-requests.php: (main): * public/api/test-groups.php: (main): (format_test_group): * public/include/build-requests-fetcher.php: (BuildRequestsFetcher::__construct): (BuildRequestsFetcher::results_internal): (BuildRequestsFetcher::commit_sets): Renamed from root_sets. (BuildRequestsFetcher::commits): Renamed from roots. (BuildRequestsFetcher::fetch_commits_for_set_if_needed): Renamed from fetch_roots_for_set_if_needed. * public/privileged-api/create-test-group.php: (main): (ensure_commit_sets): Renamed from commit_sets_from_root_sets. * public/v3/components/analysis-results-viewer.js: (AnalysisResultsViewer.prototype.buildRowGroups): (AnalysisResultsViewer.prototype._collectCommitSetsInTestGroups): Renamed from _collectRootSetsInTestGroups. (AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups): (AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups): (AnalysisResultsViewer.CommitSetInTestGroup): Renamed from RootSetInTestGroup. (AnalysisResultsViewer.CommitSetInTestGroup.prototype.constructor): (AnalysisResultsViewer.CommitSetInTestGroup.prototype.commitSet): Renamed from rootSet. (AnalysisResultsViewer.CommitSetInTestGroup.prototype.succeedingCommitSet): Renamed from succeedingRootSet. (AnalysisResultsViewer.TestGroupStackingBlock.prototype.constructor): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.addRowIndex): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.isComplete): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.startRowIndex): (AnalysisResultsViewer.TestGroupStackingBlock.prototype.endRowIndex): (AnalysisResultsViewer.TestGroupStackingBlock.prototype._computeTestGroupStatus): * public/v3/components/chart-revision-range.js: (ChartRevisionRange.prototype._revisionForPoint): (ChartRevisionRange.prototype._computeRevisionList): * public/v3/components/customizable-test-group-form.js: (CustomizableTestGroupForm.prototype.constructor): (CustomizableTestGroupForm.prototype.setCommitSetMap): Renamed from setRootSetMap. (CustomizableTestGroupForm.prototype._submitted): (CustomizableTestGroupForm.prototype._computeCommitSetMap): Renamed from _computeRootSetMap. (CustomizableTestGroupForm.prototype.render): Renamed from render. (CustomizableTestGroupForm.prototype._constructRevisionRadioButtons): * public/v3/components/results-table.js: (ResultsTable.prototype.render): (ResultsTable.prototype._createRevisionListCells): (ResultsTable.prototype._computeRepositoryList): (ResultsTableRow.prototype.constructor): (ResultsTableRow.prototype.commitSet): Renamed from rootSet. * public/v3/components/test-group-results-table.js: (TestGroupResultsTable.prototype.buildRowGroups): * public/v3/index.html: * public/v3/models/build-request.js: (BuildRequest.prototype.constructor): (BuildRequest.prototype.updateSingleton): (BuildRequest.prototype.commitSet): Renamed from rootSet. (BuildRequest.constructBuildRequestsFromData): * public/v3/models/commit-set.js: Renamed from public/v3/models/root-set.js. (CommitSet): Renamed from RootSet. (CommitSet.containsMultipleCommitsForRepository): (MeasurementCommitSet): Renamed from MeasurementRootSet. (MeasurementCommitSet.prototype.namedStaticMap): (MeasurementCommitSet.prototype.ensureNamedStaticMap): (MeasurementCommitSet.namedStaticMap): (MeasurementCommitSet.ensureNamedStaticMap): (MeasurementCommitSet.ensureSingleton): (CustomCommitSet): Renamed from CustomRootSet. * public/v3/models/measurement-adaptor.js: (MeasurementAdaptor.prototype.applyTo): * public/v3/models/test-group.js: (TestGroup.prototype.constructor): (TestGroup.prototype.addBuildRequest): (TestGroup.prototype.repetitionCount): (TestGroup.prototype.requestedCommitSets): Renamed from requestedRootSets. (TestGroup.prototype.requestsForCommitSet): Renamed from requestsForRootSet. (TestGroup.prototype.labelForCommitSet): Renamed from labelForRootSet. (TestGroup.prototype.didSetResult): (TestGroup.prototype.compareTestResults): (TestGroup.prototype._valuesForCommitSet): Renamed from _valuesForRootSet. (TestGroup.prototype.createAndRefetchTestGroups): * public/v3/pages/analysis-task-page.js: (AnalysisTaskPage.prototype.render): (AnalysisTaskPage.prototype._retryCurrentTestGroup): (AnalysisTaskPage.prototype._createNewTestGroupFromChart): (AnalysisTaskPage.prototype._createNewTestGroupFromViewer): (AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList): * server-tests/api-build-requests-tests.js: * server-tests/resources/mock-data.js: (MockData.resetV3Models): (MockData.addMockData): (MockData.addAnotherMockTestGroup): * tools/detect-changes.js: (createAnalysisTaskAndNotify): * tools/js/buildbot-syncer.js: (BuildbotSyncer.prototype._propertiesForBuildRequest): (BuildbotSyncer.prototype._revisionSetFromCommitSetWithExclusionList): * tools/js/database.js: (tableToPrefixMap): * tools/js/v3-models.js: * tools/sync-buildbot.js: (syncLoop): * tools/sync-with-buildbot.py: Deleted. No longer used. * unit-tests/analysis-task-tests.js: * unit-tests/build-request-tests.js: (sampleBuildRequestData): * unit-tests/buildbot-syncer-tests.js: (sampleCommitSetData): * unit-tests/measurement-adaptor-tests.js: * unit-tests/measurement-set-tests.js: * unit-tests/resources/mock-v3-models.js: (MockModels.inject): * unit-tests/test-groups-tests.js: (sampleTestGroup): Canonical link: https://commits.webkit.org/186635@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213952 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
b898d27e1b |
Database's query functions should support querying for a row with NULL value
https://bugs.webkit.org/show_bug.cgi?id=169504 Reviewed by Antti Koivisto. Add the support for calling select_* with one of column values set to NULL. This feature is useful in webkit.org/b/146374 and webkit.org/b/168962. * public/include/db.php: (Database::prepare_params): Added $null_columns as an optional argument. (Database::select_conditions_with_null_columns): Added. Builds up a query string by appending AND x is NULL to match columns whose value must be NULL. (Database::_select_update_or_insert_row): (Database::select_rows): Canonical link: https://commits.webkit.org/186567@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213870 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
849ae629e1 |
Add the ability to report a commit with sub-commits.
https://bugs.webkit.org/show_bug.cgi?id=168962 Reviewed by Ryosuke Niwa. Introduce 'commit_ownerships' which records ownership between commits. On existing production server, run ``` CREATE TABLE commit_ownerships ( commit_owner integer NOT NULL REFERENCES commits ON DELETE CASCADE, commit_ownee integer NOT NULL REFERENCES commits ON DELETE CASCADE, PRIMARY KEY (commit_owner, commit_ownee) ); ALTER TABLE repositories RENAME repository_parent TO repository_owner; ALTER TABLE repositories DROP repository_name_must_be_unique; CREATE UNIQUE INDEX repository_name_owner_unique_index ON repositories (repository_owner, repository_name) WHERE repository_owner IS NOT NULL; CREATE UNIQUE INDEX repository_name_unique_index ON repositories (repository_name) WHERE repository_owner IS NULL; ``` to update database. Add unit-tests to cover this change. * init-database.sql: * public/api/report-commits.php: * public/include/commit-log-fetcher.php: * public/include/db.php: * public/include/manifest-generator.php: * public/include/report-processor.php: * public/v3/models/repository.js: (Repository): (Repository.prototype.owner): * server-tests/admin-reprocess-report-tests.js: (addBuilderForReport.simpleReportWithRevisions.0.then): (then): * server-tests/api-manifest.js: (then): * server-tests/api-report-commits-tests.js: (addSlaveForReport.sameRepositoryNameInSubCommitAndMajorCommit.then): (then): (addSlaveForReport.systemVersionCommitWithSubcommits.then): (addSlaveForReport.multipleSystemVersionCommitsWithSubcommits.then): (addSlaveForReport.systemVersionCommitWithEmptySubcommits.then): (addSlaveForReport.systemVersionCommitAndSubcommitWithTimestamp.then): * tools/js/database.js: Canonical link: https://commits.webkit.org/186535@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213788 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
79deaf36aa |
Add Swift syntax highlighting to webkit.org
https://bugs.webkit.org/show_bug.cgi?id=163672 Reviewed by Matt Baker. * wp-content/plugins/hyperlight/hyperlight/languages/swift.php: Added. Canonical link: https://commits.webkit.org/186508@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213761 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
bf163e5dbe |
Switch back to the Twitter API for the Tweet widget
https://bugs.webkit.org/show_bug.cgi?id=168749 Reviewed by Lucas Forschler. Updates the Twitter widget tile implementation to prefer the Twitter API to populate tweets displayed through the widget. If the API fails for any reason, it falls back to using the Tweet listener for updated tweets. The Twitter API provides the benefit of embedding media and being able to display the full URLs rather than Twitter-shortened URLs. * wp-content/plugins/tweet-listener.php: * wp-content/themes/webkit/style.css: (.twitter-tile .tile-content): (.twitter-tile.text-only): (.twitter-tile .media): (.twitter-tile img): * wp-content/themes/webkit/widgets/twitter.php: Canonical link: https://commits.webkit.org/186492@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213740 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |
![]() |
662de29537 |
B3 should have comprehensive support for atomic operations
https://bugs.webkit.org/show_bug.cgi?id=162349 Reviewed by Keith Miller. Source/JavaScriptCore: This adds the following capabilities to B3: - Atomic weak/strong unfenced/fenced compare-and-swap - Atomic add/sub/or/and/xor/xchg - Acquire/release fencing on loads/stores - Fenceless load-load dependencies This adds lowering to the following instructions on x86: - lock cmpxchg - lock xadd - lock add/sub/or/and/xor/xchg This adds lowering to the following instructions on ARM64: - ldar and friends - stlr and friends - ldxr and friends (unfenced LL) - stxr and friends (unfended SC) - ldaxr and friends (fenced LL) - stlxr and friends (fenced SC) - eor as a fenceless load-load dependency This does instruction selection pattern matching to ensure that weak/strong CAS and all of the variants of fences and atomic math ops get lowered to the best possible instruction sequence. For example, we support the Equal(AtomicStrongCAS(expected, ...), expected) pattern and a bunch of its friends. You can say Branch(Equal(AtomicStrongCAS(expected, ...), expected)) and it will generate the best possible branch sequence on x86 and ARM64. B3 now knows how to model all of the kinds of fencing. It knows that acq loads are ordered with respect to each other and with respect to rel stores, creating sequential consistency that transcends just the acq/rel fences themselves (see Effects::fence). It knows that the phantom fence effects may only target some abstract heaps but not others, so that load elimination and store sinking can still operate across fences if you just tell B3 that the fence does not alias those accesses. This makes it super easy to teach B3 that some of your heap is thread-local. Even better, it lets you express fine-grained dependencies where the atomics that affect one property in shared memory do not clobber non-atomics that ffect some other property in shared memory. One of my favorite features is Depend, which allows you to express load-load dependencies. On x86 it lowers to nothing, while on ARM64 it lowers to eor. This also exposes a common atomicWeakCAS API to the x86_64/ARM64 MacroAssemblers. Same for acq/rel. JSC's 64-bit JITs are now a happy concurrency playground. This doesn't yet expose the functionality to JS or wasm. SAB still uses the non-intrinsic implementations of the Atomics object, for now. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::ldar): (JSC::ARM64Assembler::ldxr): (JSC::ARM64Assembler::ldaxr): (JSC::ARM64Assembler::stxr): (JSC::ARM64Assembler::stlr): (JSC::ARM64Assembler::stlxr): (JSC::ARM64Assembler::excepnGenerationImmMask): (JSC::ARM64Assembler::exoticLoad): (JSC::ARM64Assembler::storeRelease): (JSC::ARM64Assembler::exoticStore): * assembler/AbstractMacroAssembler.cpp: Added. (WTF::printInternal): * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssemblerBase::invert): * assembler/MacroAssembler.h: * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadAcq8SignedExtendTo32): (JSC::MacroAssemblerARM64::loadAcq8): (JSC::MacroAssemblerARM64::storeRel8): (JSC::MacroAssemblerARM64::loadAcq16SignedExtendTo32): (JSC::MacroAssemblerARM64::loadAcq16): (JSC::MacroAssemblerARM64::storeRel16): (JSC::MacroAssemblerARM64::loadAcq32): (JSC::MacroAssemblerARM64::loadAcq64): (JSC::MacroAssemblerARM64::storeRel32): (JSC::MacroAssemblerARM64::storeRel64): (JSC::MacroAssemblerARM64::loadLink8): (JSC::MacroAssemblerARM64::loadLinkAcq8): (JSC::MacroAssemblerARM64::storeCond8): (JSC::MacroAssemblerARM64::storeCondRel8): (JSC::MacroAssemblerARM64::loadLink16): (JSC::MacroAssemblerARM64::loadLinkAcq16): (JSC::MacroAssemblerARM64::storeCond16): (JSC::MacroAssemblerARM64::storeCondRel16): (JSC::MacroAssemblerARM64::loadLink32): (JSC::MacroAssemblerARM64::loadLinkAcq32): (JSC::MacroAssemblerARM64::storeCond32): (JSC::MacroAssemblerARM64::storeCondRel32): (JSC::MacroAssemblerARM64::loadLink64): (JSC::MacroAssemblerARM64::loadLinkAcq64): (JSC::MacroAssemblerARM64::storeCond64): (JSC::MacroAssemblerARM64::storeCondRel64): (JSC::MacroAssemblerARM64::atomicStrongCAS8): (JSC::MacroAssemblerARM64::atomicStrongCAS16): (JSC::MacroAssemblerARM64::atomicStrongCAS32): (JSC::MacroAssemblerARM64::atomicStrongCAS64): (JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS8): (JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS16): (JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS32): (JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS64): (JSC::MacroAssemblerARM64::branchAtomicWeakCAS8): (JSC::MacroAssemblerARM64::branchAtomicWeakCAS16): (JSC::MacroAssemblerARM64::branchAtomicWeakCAS32): (JSC::MacroAssemblerARM64::branchAtomicWeakCAS64): (JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS8): (JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS16): (JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS32): (JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS64): (JSC::MacroAssemblerARM64::depend32): (JSC::MacroAssemblerARM64::depend64): (JSC::MacroAssemblerARM64::loadLink): (JSC::MacroAssemblerARM64::loadLinkAcq): (JSC::MacroAssemblerARM64::storeCond): (JSC::MacroAssemblerARM64::storeCondRel): (JSC::MacroAssemblerARM64::signExtend): (JSC::MacroAssemblerARM64::branch): (JSC::MacroAssemblerARM64::atomicStrongCAS): (JSC::MacroAssemblerARM64::atomicRelaxedStrongCAS): (JSC::MacroAssemblerARM64::branchAtomicWeakCAS): (JSC::MacroAssemblerARM64::branchAtomicRelaxedWeakCAS): (JSC::MacroAssemblerARM64::extractSimpleAddress): (JSC::MacroAssemblerARM64::signExtend<8>): (JSC::MacroAssemblerARM64::signExtend<16>): (JSC::MacroAssemblerARM64::branch<64>): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::add32): (JSC::MacroAssemblerX86Common::and32): (JSC::MacroAssemblerX86Common::and16): (JSC::MacroAssemblerX86Common::and8): (JSC::MacroAssemblerX86Common::neg32): (JSC::MacroAssemblerX86Common::neg16): (JSC::MacroAssemblerX86Common::neg8): (JSC::MacroAssemblerX86Common::or32): (JSC::MacroAssemblerX86Common::or16): (JSC::MacroAssemblerX86Common::or8): (JSC::MacroAssemblerX86Common::sub16): (JSC::MacroAssemblerX86Common::sub8): (JSC::MacroAssemblerX86Common::sub32): (JSC::MacroAssemblerX86Common::xor32): (JSC::MacroAssemblerX86Common::xor16): (JSC::MacroAssemblerX86Common::xor8): (JSC::MacroAssemblerX86Common::not32): (JSC::MacroAssemblerX86Common::not16): (JSC::MacroAssemblerX86Common::not8): (JSC::MacroAssemblerX86Common::store16): (JSC::MacroAssemblerX86Common::atomicStrongCAS8): (JSC::MacroAssemblerX86Common::atomicStrongCAS16): (JSC::MacroAssemblerX86Common::atomicStrongCAS32): (JSC::MacroAssemblerX86Common::branchAtomicStrongCAS8): (JSC::MacroAssemblerX86Common::branchAtomicStrongCAS16): (JSC::MacroAssemblerX86Common::branchAtomicStrongCAS32): (JSC::MacroAssemblerX86Common::atomicWeakCAS8): (JSC::MacroAssemblerX86Common::atomicWeakCAS16): (JSC::MacroAssemblerX86Common::atomicWeakCAS32): (JSC::MacroAssemblerX86Common::branchAtomicWeakCAS8): (JSC::MacroAssemblerX86Common::branchAtomicWeakCAS16): (JSC::MacroAssemblerX86Common::branchAtomicWeakCAS32): (JSC::MacroAssemblerX86Common::atomicRelaxedWeakCAS8): (JSC::MacroAssemblerX86Common::atomicRelaxedWeakCAS16): (JSC::MacroAssemblerX86Common::atomicRelaxedWeakCAS32): (JSC::MacroAssemblerX86Common::branchAtomicRelaxedWeakCAS8): (JSC::MacroAssemblerX86Common::branchAtomicRelaxedWeakCAS16): (JSC::MacroAssemblerX86Common::branchAtomicRelaxedWeakCAS32): (JSC::MacroAssemblerX86Common::atomicAdd8): (JSC::MacroAssemblerX86Common::atomicAdd16): (JSC::MacroAssemblerX86Common::atomicAdd32): (JSC::MacroAssemblerX86Common::atomicSub8): (JSC::MacroAssemblerX86Common::atomicSub16): (JSC::MacroAssemblerX86Common::atomicSub32): (JSC::MacroAssemblerX86Common::atomicAnd8): (JSC::MacroAssemblerX86Common::atomicAnd16): (JSC::MacroAssemblerX86Common::atomicAnd32): (JSC::MacroAssemblerX86Common::atomicOr8): (JSC::MacroAssemblerX86Common::atomicOr16): (JSC::MacroAssemblerX86Common::atomicOr32): (JSC::MacroAssemblerX86Common::atomicXor8): (JSC::MacroAssemblerX86Common::atomicXor16): (JSC::MacroAssemblerX86Common::atomicXor32): (JSC::MacroAssemblerX86Common::atomicNeg8): (JSC::MacroAssemblerX86Common::atomicNeg16): (JSC::MacroAssemblerX86Common::atomicNeg32): (JSC::MacroAssemblerX86Common::atomicNot8): (JSC::MacroAssemblerX86Common::atomicNot16): (JSC::MacroAssemblerX86Common::atomicNot32): (JSC::MacroAssemblerX86Common::atomicXchgAdd8): (JSC::MacroAssemblerX86Common::atomicXchgAdd16): (JSC::MacroAssemblerX86Common::atomicXchgAdd32): (JSC::MacroAssemblerX86Common::atomicXchg8): (JSC::MacroAssemblerX86Common::atomicXchg16): (JSC::MacroAssemblerX86Common::atomicXchg32): (JSC::MacroAssemblerX86Common::loadAcq8): (JSC::MacroAssemblerX86Common::loadAcq8SignedExtendTo32): (JSC::MacroAssemblerX86Common::loadAcq16): (JSC::MacroAssemblerX86Common::loadAcq16SignedExtendTo32): (JSC::MacroAssemblerX86Common::loadAcq32): (JSC::MacroAssemblerX86Common::storeRel8): (JSC::MacroAssemblerX86Common::storeRel16): (JSC::MacroAssemblerX86Common::storeRel32): (JSC::MacroAssemblerX86Common::storeFence): (JSC::MacroAssemblerX86Common::loadFence): (JSC::MacroAssemblerX86Common::replaceWithJump): (JSC::MacroAssemblerX86Common::maxJumpReplacementSize): (JSC::MacroAssemblerX86Common::patchableJumpSize): (JSC::MacroAssemblerX86Common::supportsFloatingPointRounding): (JSC::MacroAssemblerX86Common::supportsAVX): (JSC::MacroAssemblerX86Common::updateEax1EcxFlags): (JSC::MacroAssemblerX86Common::x86Condition): (JSC::MacroAssemblerX86Common::atomicStrongCAS): (JSC::MacroAssemblerX86Common::branchAtomicStrongCAS): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::add64): (JSC::MacroAssemblerX86_64::and64): (JSC::MacroAssemblerX86_64::neg64): (JSC::MacroAssemblerX86_64::or64): (JSC::MacroAssemblerX86_64::sub64): (JSC::MacroAssemblerX86_64::xor64): (JSC::MacroAssemblerX86_64::not64): (JSC::MacroAssemblerX86_64::store64): (JSC::MacroAssemblerX86_64::atomicStrongCAS64): (JSC::MacroAssemblerX86_64::branchAtomicStrongCAS64): (JSC::MacroAssemblerX86_64::atomicWeakCAS64): (JSC::MacroAssemblerX86_64::branchAtomicWeakCAS64): (JSC::MacroAssemblerX86_64::atomicRelaxedWeakCAS64): (JSC::MacroAssemblerX86_64::branchAtomicRelaxedWeakCAS64): (JSC::MacroAssemblerX86_64::atomicAdd64): (JSC::MacroAssemblerX86_64::atomicSub64): (JSC::MacroAssemblerX86_64::atomicAnd64): (JSC::MacroAssemblerX86_64::atomicOr64): (JSC::MacroAssemblerX86_64::atomicXor64): (JSC::MacroAssemblerX86_64::atomicNeg64): (JSC::MacroAssemblerX86_64::atomicNot64): (JSC::MacroAssemblerX86_64::atomicXchgAdd64): (JSC::MacroAssemblerX86_64::atomicXchg64): (JSC::MacroAssemblerX86_64::loadAcq64): (JSC::MacroAssemblerX86_64::storeRel64): * assembler/X86Assembler.h: (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::addq_mr): (JSC::X86Assembler::addq_rm): (JSC::X86Assembler::addq_im): (JSC::X86Assembler::andl_mr): (JSC::X86Assembler::andl_rm): (JSC::X86Assembler::andw_rm): (JSC::X86Assembler::andb_rm): (JSC::X86Assembler::andl_im): (JSC::X86Assembler::andw_im): (JSC::X86Assembler::andb_im): (JSC::X86Assembler::andq_mr): (JSC::X86Assembler::andq_rm): (JSC::X86Assembler::andq_im): (JSC::X86Assembler::incq_m): (JSC::X86Assembler::negq_m): (JSC::X86Assembler::negl_m): (JSC::X86Assembler::negw_m): (JSC::X86Assembler::negb_m): (JSC::X86Assembler::notl_m): (JSC::X86Assembler::notw_m): (JSC::X86Assembler::notb_m): (JSC::X86Assembler::notq_m): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_rm): (JSC::X86Assembler::orw_rm): (JSC::X86Assembler::orb_rm): (JSC::X86Assembler::orl_im): (JSC::X86Assembler::orw_im): (JSC::X86Assembler::orb_im): (JSC::X86Assembler::orq_mr): (JSC::X86Assembler::orq_rm): (JSC::X86Assembler::orq_im): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::subl_rm): (JSC::X86Assembler::subw_rm): (JSC::X86Assembler::subb_rm): (JSC::X86Assembler::subl_im): (JSC::X86Assembler::subw_im): (JSC::X86Assembler::subb_im): (JSC::X86Assembler::subq_mr): (JSC::X86Assembler::subq_rm): (JSC::X86Assembler::subq_im): (JSC::X86Assembler::xorl_mr): (JSC::X86Assembler::xorl_rm): (JSC::X86Assembler::xorl_im): (JSC::X86Assembler::xorw_rm): (JSC::X86Assembler::xorw_im): (JSC::X86Assembler::xorb_rm): (JSC::X86Assembler::xorb_im): (JSC::X86Assembler::xorq_im): (JSC::X86Assembler::xorq_rm): (JSC::X86Assembler::xorq_mr): (JSC::X86Assembler::xchgb_rm): (JSC::X86Assembler::xchgw_rm): (JSC::X86Assembler::xchgl_rm): (JSC::X86Assembler::xchgq_rm): (JSC::X86Assembler::movw_im): (JSC::X86Assembler::movq_i32m): (JSC::X86Assembler::cmpxchgb_rm): (JSC::X86Assembler::cmpxchgw_rm): (JSC::X86Assembler::cmpxchgl_rm): (JSC::X86Assembler::cmpxchgq_rm): (JSC::X86Assembler::xaddb_rm): (JSC::X86Assembler::xaddw_rm): (JSC::X86Assembler::xaddl_rm): (JSC::X86Assembler::xaddq_rm): (JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM): * b3/B3AtomicValue.cpp: Added. (JSC::B3::AtomicValue::~AtomicValue): (JSC::B3::AtomicValue::dumpMeta): (JSC::B3::AtomicValue::cloneImpl): (JSC::B3::AtomicValue::AtomicValue): * b3/B3AtomicValue.h: Added. * b3/B3BasicBlock.h: * b3/B3BlockInsertionSet.cpp: (JSC::B3::BlockInsertionSet::BlockInsertionSet): (JSC::B3::BlockInsertionSet::insert): Deleted. (JSC::B3::BlockInsertionSet::insertBefore): Deleted. (JSC::B3::BlockInsertionSet::insertAfter): Deleted. (JSC::B3::BlockInsertionSet::execute): Deleted. * b3/B3BlockInsertionSet.h: * b3/B3Effects.cpp: (JSC::B3::Effects::interferes): (JSC::B3::Effects::operator==): (JSC::B3::Effects::dump): * b3/B3Effects.h: (JSC::B3::Effects::forCall): (JSC::B3::Effects::mustExecute): * b3/B3EliminateCommonSubexpressions.cpp: * b3/B3Generate.cpp: (JSC::B3::generateToAir): * b3/B3GenericBlockInsertionSet.h: Added. (JSC::B3::GenericBlockInsertionSet::GenericBlockInsertionSet): (JSC::B3::GenericBlockInsertionSet::insert): (JSC::B3::GenericBlockInsertionSet::insertBefore): (JSC::B3::GenericBlockInsertionSet::insertAfter): (JSC::B3::GenericBlockInsertionSet::execute): * b3/B3HeapRange.h: (JSC::B3::HeapRange::operator|): * b3/B3InsertionSet.cpp: (JSC::B3::InsertionSet::insertClone): * b3/B3InsertionSet.h: * b3/B3LegalizeMemoryOffsets.cpp: * b3/B3LowerMacros.cpp: (JSC::B3::lowerMacros): * b3/B3LowerMacrosAfterOptimizations.cpp: * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::LowerToAir): (JSC::B3::Air::LowerToAir::run): (JSC::B3::Air::LowerToAir::effectiveAddr): (JSC::B3::Air::LowerToAir::addr): (JSC::B3::Air::LowerToAir::loadPromiseAnyOpcode): (JSC::B3::Air::LowerToAir::appendShift): (JSC::B3::Air::LowerToAir::tryAppendStoreBinOp): (JSC::B3::Air::LowerToAir::storeOpcode): (JSC::B3::Air::LowerToAir::createStore): (JSC::B3::Air::LowerToAir::finishAppendingInstructions): (JSC::B3::Air::LowerToAir::newBlock): (JSC::B3::Air::LowerToAir::splitBlock): (JSC::B3::Air::LowerToAir::fillStackmap): (JSC::B3::Air::LowerToAir::appendX86Div): (JSC::B3::Air::LowerToAir::appendX86UDiv): (JSC::B3::Air::LowerToAir::loadLinkOpcode): (JSC::B3::Air::LowerToAir::storeCondOpcode): (JSC::B3::Air::LowerToAir::appendCAS): (JSC::B3::Air::LowerToAir::appendVoidAtomic): (JSC::B3::Air::LowerToAir::appendGeneralAtomic): (JSC::B3::Air::LowerToAir::lower): (JSC::B3::Air::LowerToAir::lowerX86Div): Deleted. (JSC::B3::Air::LowerToAir::lowerX86UDiv): Deleted. * b3/B3LowerToAir.h: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::isLegalOffset): (JSC::B3::MemoryValue::accessType): (JSC::B3::MemoryValue::accessBank): (JSC::B3::MemoryValue::accessByteSize): (JSC::B3::MemoryValue::dumpMeta): (JSC::B3::MemoryValue::MemoryValue): (JSC::B3::MemoryValue::accessWidth): Deleted. * b3/B3MemoryValue.h: * b3/B3MemoryValueInlines.h: Added. (JSC::B3::MemoryValue::isLegalOffset): (JSC::B3::MemoryValue::requiresSimpleAddr): (JSC::B3::MemoryValue::accessWidth): * b3/B3MoveConstants.cpp: * b3/B3NativeTraits.h: Added. * b3/B3Opcode.cpp: (JSC::B3::storeOpcode): (WTF::printInternal): * b3/B3Opcode.h: (JSC::B3::isLoad): (JSC::B3::isStore): (JSC::B3::isLoadStore): (JSC::B3::isAtomic): (JSC::B3::isAtomicCAS): (JSC::B3::isAtomicXchg): (JSC::B3::isMemoryAccess): (JSC::B3::signExtendOpcode): * b3/B3Procedure.cpp: (JSC::B3::Procedure::dump): * b3/B3Procedure.h: (JSC::B3::Procedure::hasQuirks): (JSC::B3::Procedure::setHasQuirks): * b3/B3PureCSE.cpp: (JSC::B3::pureCSE): * b3/B3PureCSE.h: * b3/B3ReduceStrength.cpp: * b3/B3Validate.cpp: * b3/B3Value.cpp: (JSC::B3::Value::returnsBool): (JSC::B3::Value::effects): (JSC::B3::Value::key): (JSC::B3::Value::performSubstitution): (JSC::B3::Value::typeFor): * b3/B3Value.h: * b3/B3Width.cpp: (JSC::B3::bestType): * b3/B3Width.h: (JSC::B3::canonicalWidth): (JSC::B3::isCanonicalWidth): (JSC::B3::mask): * b3/air/AirArg.cpp: (JSC::B3::Air::Arg::jsHash): (JSC::B3::Air::Arg::dump): (WTF::printInternal): * b3/air/AirArg.h: (JSC::B3::Air::Arg::isAnyUse): (JSC::B3::Air::Arg::isColdUse): (JSC::B3::Air::Arg::cooled): (JSC::B3::Air::Arg::isEarlyUse): (JSC::B3::Air::Arg::isLateUse): (JSC::B3::Air::Arg::isAnyDef): (JSC::B3::Air::Arg::isEarlyDef): (JSC::B3::Air::Arg::isLateDef): (JSC::B3::Air::Arg::isZDef): (JSC::B3::Air::Arg::simpleAddr): (JSC::B3::Air::Arg::statusCond): (JSC::B3::Air::Arg::isSimpleAddr): (JSC::B3::Air::Arg::isMemory): (JSC::B3::Air::Arg::isStatusCond): (JSC::B3::Air::Arg::isCondition): (JSC::B3::Air::Arg::ptr): (JSC::B3::Air::Arg::base): (JSC::B3::Air::Arg::isGP): (JSC::B3::Air::Arg::isFP): (JSC::B3::Air::Arg::isValidForm): (JSC::B3::Air::Arg::forEachTmpFast): (JSC::B3::Air::Arg::forEachTmp): (JSC::B3::Air::Arg::asAddress): (JSC::B3::Air::Arg::asStatusCondition): (JSC::B3::Air::Arg::isInvertible): (JSC::B3::Air::Arg::inverted): * b3/air/AirBasicBlock.cpp: (JSC::B3::Air::BasicBlock::setSuccessors): * b3/air/AirBasicBlock.h: * b3/air/AirBlockInsertionSet.cpp: Added. (JSC::B3::Air::BlockInsertionSet::BlockInsertionSet): (JSC::B3::Air::BlockInsertionSet::~BlockInsertionSet): * b3/air/AirBlockInsertionSet.h: Added. * b3/air/AirDumpAsJS.cpp: Removed. * b3/air/AirDumpAsJS.h: Removed. * b3/air/AirEliminateDeadCode.cpp: (JSC::B3::Air::eliminateDeadCode): * b3/air/AirGenerate.cpp: (JSC::B3::Air::prepareForGeneration): * b3/air/AirInstInlines.h: (JSC::B3::Air::isAtomicStrongCASValid): (JSC::B3::Air::isBranchAtomicStrongCASValid): (JSC::B3::Air::isAtomicStrongCAS8Valid): (JSC::B3::Air::isAtomicStrongCAS16Valid): (JSC::B3::Air::isAtomicStrongCAS32Valid): (JSC::B3::Air::isAtomicStrongCAS64Valid): (JSC::B3::Air::isBranchAtomicStrongCAS8Valid): (JSC::B3::Air::isBranchAtomicStrongCAS16Valid): (JSC::B3::Air::isBranchAtomicStrongCAS32Valid): (JSC::B3::Air::isBranchAtomicStrongCAS64Valid): * b3/air/AirOpcode.opcodes: * b3/air/AirOptimizeBlockOrder.cpp: (JSC::B3::Air::optimizeBlockOrder): * b3/air/AirPadInterference.cpp: (JSC::B3::Air::padInterference): * b3/air/AirSpillEverything.cpp: (JSC::B3::Air::spillEverything): * b3/air/opcode_generator.rb: * b3/testb3.cpp: (JSC::B3::testLoadAcq42): (JSC::B3::testStoreRelAddLoadAcq32): (JSC::B3::testStoreRelAddLoadAcq8): (JSC::B3::testStoreRelAddFenceLoadAcq8): (JSC::B3::testStoreRelAddLoadAcq16): (JSC::B3::testStoreRelAddLoadAcq64): (JSC::B3::testTrappingStoreElimination): (JSC::B3::testX86LeaAddAdd): (JSC::B3::testX86LeaAddShlLeftScale1): (JSC::B3::testAtomicWeakCAS): (JSC::B3::testAtomicStrongCAS): (JSC::B3::testAtomicXchg): (JSC::B3::testDepend32): (JSC::B3::testDepend64): (JSC::B3::run): * runtime/Options.h: Websites/webkit.org: Document the new opcodes! * docs/b3/intermediate-representation.html: Canonical link: https://commits.webkit.org/186470@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213714 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
7 years ago |