WebKit-https.git
3 years agoUnreviewed, test expectations update
jiewen_tan@apple.com [Tue, 11 Apr 2017 01:14:15 +0000 (01:14 +0000)]
Unreviewed, test expectations update

* platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r195479) First main resource load in new WebProcess bypasses content exten...
commit-queue@webkit.org [Tue, 11 Apr 2017 00:40:00 +0000 (00:40 +0000)]
REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
https://bugs.webkit.org/show_bug.cgi?id=170707
<rdar://problem/27788755>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-10
Reviewed by Tim Horton.

Source/WebKit2:

We fix this by sending the UserContentController with the WebPageCreationParameters
instead of in a IPC message immediately following creation.  By the time the WebPage
receives its second message, it has already started loading the first main resource.

I also changed all instances of calling ChildProcessProxy::connection() to send a message
in favor of calling ChildProcessProxy::send, which does the same thing except if a child
process has not started, it will put the message in a queue and send it when the process
is finished launching.  This was necessary because the UserContentController is now connected
to the process sooner, so there were some API tests that would try to send messages between
initiating a process launch and finishing a process launch, and this change preserves the
existing behavior in those cases.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
(WebKit::DatabaseProcessProxy::didFinishLaunching):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentWorldUse):
(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
(WebKit::WebUserContentControllerProxy::addContentExtension):
(WebKit::WebUserContentControllerProxy::removeContentExtension):
(WebKit::WebUserContentControllerProxy::removeAllContentExtensions):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/VisitedLinkStore.cpp:
(WebKit::VisitedLinkStore::removeAll):
(WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkStore::sendTable):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::finishInitializingWebPageAfterProcessLaunch):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addWebUserContentControllerProxy):
* UIProcess/WebProcessProxy.h:
* WebProcess/UserContent/WebUserContentController.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_backgroundCPULimit):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoCachedImage should stop decoding images when unknown type is detected
commit-queue@webkit.org [Tue, 11 Apr 2017 00:24:17 +0000 (00:24 +0000)]
CachedImage should stop decoding images when unknown type is detected
https://bugs.webkit.org/show_bug.cgi?id=170530

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-04-10
Reviewed by Tim Horton.

If the status of the encoded data is "unknown type", WebKit should stop
decoding the rest of the data. Ideally WebKit should also cancel loading
the rest of the encoded data.

To do that we need to add a function to the ImageDecoder to return the
encodedDataStatus(). We also need to change the return type of Image::setData()
and Image::dataChanged() form bool to EncodedDataStatus.

* WebCore.xcodeproj/project.pbxproj: Add ImageTypes.h to the WebCore project.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::addIncrementalDataBuffer): Replace checking !sizeAvailable
by checking if encodedDataStatus isn't an error but it has not reached
sizeAvailable state
* loader/cache/CachedResourceClientWalker.h:
(WebCore::CachedResourceClientWalker::CachedResourceClientWalker): Unrelated clean-up.
(WebCore::CachedResourceClientWalker::next): Ditto.
* loader/icon/IconRecord.cpp:
(WebCore::IconRecord::setImageData): Image::setData() used to return a bool. Now it returns
an EncodedDataStatus. !setData() now means setData() < EncodedDataStatus::SizeAvailable.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::dataChanged): Replace the return of dataChanged() from bool
by EncodedDataStatus.
* platform/graphics/BitmapImage.h: Replace isSizeAvailable() by a new function
named encodedDataStatus().
* platform/graphics/Image.cpp:
(WebCore::Image::setData): Code clean-up and adding a clarification comment.
* platform/graphics/Image.h: Change the return of setData() and dataChanged() to be
EncodedDataStatus.
(WebCore::Image::dataChanged): Return EncodedDataStatus::Unknown as an indication
the size is not available but we do not have an error.
* platform/graphics/ImageTypes.h: Added.
Image definitions which are shared among Image, ImageDecoder, ImageSource,
ImageFrameCache and ImageFrame used to be added to ImageFrame.h. This has
been annoying since these definitions aren't related to ImageFrame only.
A new header file named ImageTypes.h is to the to include such definitions.
(WebCore::operator++):
* platform/graphics/ImageFrame.h:
(WebCore::operator++): Deleted.
* platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::ImageFrameCache): This is the case of a BitmapImage without
a decoder but with a NativeImage. The status has to be EncodedDataStatus::Complete.
(WebCore::ImageFrameCache::growFrames): Replace if (isSizeAvailable()) by
if (encodedDataStatus() >= EncodedDataStatus::SizeAvailable).
(WebCore::ImageFrameCache::metadata): Ditto.
(WebCore::ImageFrameCache::encodedDataStatus): This is a replacement for isSizeAvailable().
Don't cache the EncodedDataStatus until it is Complete. Don't call didDecodeProperties()
until the status >= EncodedDataStatus::SizeAvailable.
(WebCore::ImageFrameCache::isSizeAvailable): Deleted.
* platform/graphics/ImageFrameCache.h: Replace isSizeAvailable() by encodedDataStatus().
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::dataChanged): Make return an EncodedDataStatus instead of returning
a bool for isSizeAvailable.
* platform/graphics/ImageSource.h:
(WebCore::ImageSource::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
(WebCore::ImageSource::isSizeAvailable): Deleted.
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
The logic of this function is the following:
    -- CGImageSourceGetStatus() can return kCGImageStatusUnexpectedEOF, kCGImageStatusInvalidData
    or kCGImageStatusReadingHeader even if CG will end up recovering form the error and drawing
    the image. Actually CG initializes the status of CGImageSource before receiving any data
    with kCGImageStatusInvalidData. So the status will be considered an error only if all the
    data is received but CG does not move the status of this CGImageSource to Complete.
    -- If CGImageSourceGetStatus() returns Incomplete, this means CG already created the image
    reader and therefore the image type is known.
    -- If CGImageSourceGetStatus() returns UnknownType, this means CG could not create the
    image reader and this should be considered an error.
(WebCore::ImageDecoder::isSizeAvailable): Deleted.
* platform/graphics/cg/ImageDecoderCG.h: Replace isSizeAvailable() by encodedDataStatus().
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged): The PDFDocument is created only when allDataReceived.
* platform/graphics/cg/PDFDocumentImage.h: Change the return type from bool to EncodedDataStatus.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::encodedDataStatus): Add a new function encodedDataStatus(). Deduce the
status of the encoded data from the flags m_failed, m_isAllDataReceived and m_sizeAvailable in
this order.
(WebCore::ImageDecoder::isSizeAvailable): Make this function uses encodedDataStatus().
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
(WebCore::BMPImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::encodedDataStatus): Ditto.
(WebCore::GIFImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::encodedDataStatus): Ditto.
(WebCore::ICOImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::encodedDataStatus): Ditto.
(WebCore::JPEGImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::encodedDataStatus): Ditto.
(WebCore::PNGImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/png/PNGImageDecoder.h:
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::encodedDataStatus): Ditto.
(WebCore::WEBPImageDecoder::isSizeAvailable): Deleted.
* platform/image-decoders/webp/WEBPImageDecoder.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): m_page is created only when allDataReceived is true.
* svg/graphics/SVGImage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark two newly imported web-platform-tests as failing.
ryanhaddad@apple.com [Tue, 11 Apr 2017 00:23:03 +0000 (00:23 +0000)]
Mark two newly imported web-platform-tests as failing.

Unreviewed test gardening.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd API to get available content extension identifiers in a WKContentExtensionStore
achristensen@apple.com [Tue, 11 Apr 2017 00:11:15 +0000 (00:11 +0000)]
Add API to get available content extension identifiers in a WKContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=170093

Reviewed by Geoffrey Garen.

Source/WebKit2:

* UIProcess/API/APIContentExtensionStore.cpp:
(API::constructedPathPrefix):
(API::constructedPathFilter):
(API::constructedPath):
(API::ContentExtensionStore::getAvailableContentExtensionIdentifiers):
* UIProcess/API/APIContentExtensionStore.h:
* UIProcess/API/Cocoa/WKContentExtensionStore.h:
* UIProcess/API/Cocoa/WKContentExtensionStore.mm:
(-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]):
(-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]):
(-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]):
(-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark SVG-Within-OpenType as "Under Consideration"
mmaxfield@apple.com [Mon, 10 Apr 2017 23:59:41 +0000 (23:59 +0000)]
Mark SVG-Within-OpenType as "Under Consideration"
https://bugs.webkit.org/show_bug.cgi?id=170706

Reviewed by Brady Eidson.

* features.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRefactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against...
wenson_hsieh@apple.com [Mon, 10 Apr 2017 22:22:39 +0000 (22:22 +0000)]
Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval
https://bugs.webkit.org/show_bug.cgi?id=170658

Reviewed by Tim Horton.

Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction
preparation is synchronous, or passes if it is asynchronous.

* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
(-[TestWKWebView _setUpTestWindow:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: WebSockets: Don't clip data in the data grid
nvasilyev@apple.com [Mon, 10 Apr 2017 21:46:04 +0000 (21:46 +0000)]
Web Inspector: WebSockets: Don't clip data in the data grid
https://bugs.webkit.org/show_bug.cgi?id=170559

Reviewed by Timothy Hatcher.

Long lines without spaces should be broken down into several lines instead of being ellipsized.

* UserInterface/Views/WebSocketContentView.css:
(.web-socket.content-view > .data-grid td.data-column,):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd the UI for scheduling a A/B testing with a custom root
rniwa@webkit.org [Mon, 10 Apr 2017 21:45:11 +0000 (21:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemove call to WKShowKeyAndMain
andersca@apple.com [Mon, 10 Apr 2017 21:44:20 +0000 (21:44 +0000)]
Remove call to WKShowKeyAndMain
https://bugs.webkit.org/show_bug.cgi?id=170691
rdar://problem/31050032

Reviewed by Beth Dakin.

* Carbon/CarbonWindowAdapter.mm:
(-[CarbonWindowAdapter makeKeyWindow]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago.:
rniwa@webkit.org [Mon, 10 Apr 2017 21:43:11 +0000 (21:43 +0000)]
.:
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd the UI for scheduling a A/B testing with a custom root
rniwa@webkit.org [Mon, 10 Apr 2017 21:38:04 +0000 (21:38 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd CoreAudioCaptureSource.
commit-queue@webkit.org [Mon, 10 Apr 2017 21:24:13 +0000 (21:24 +0000)]
Add CoreAudioCaptureSource.
https://bugs.webkit.org/show_bug.cgi?id=170112
rdar://problem/30293338

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-04-10
Source/WebCore:

Reviewed by Eric Carlson.

No new tests because this provides the same funcitonality as AVAudioCaptureSource.
Funcionality is covered by existing test cases.

Add CoreAudioCaptureSource for audio capture. And use it by default in AVCaptureDeviceManager.
Add UseAVFoundationAudioCapture setting to switch back to AVFoundation for audio capture.

* WebCore.xcodeproj/project.pbxproj:
* page/Settings.cpp:
(WebCore::Settings::useAVFoundationAudioCapture):
(WebCore::Settings::setUseAVFoundationAudioCapture):
* page/Settings.h:
* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::setUseAVFoundationAudioCapture):
* platform/mediastream/mac/CoreAudioCaptureSource.cpp: Added.
(WebCore::CoreAudioCaptureSource::create):
(WebCore::CoreAudioCaptureSource::factory):
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::preferredSampleRate):
(WebCore::CoreAudioCaptureSource::preferredIOBufferDuration):
(WebCore::CoreAudioCaptureSource::configureMicrophoneProc):
(WebCore::CoreAudioCaptureSource::configureSpeakerProc):
(WebCore::CoreAudioCaptureSource::addMicrophoneDataConsumer):
(WebCore::CoreAudioCaptureSource::removeMicrophoneDataConsumer):
(WebCore::CoreAudioCaptureSource::addEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::removeEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::checkTimestamps):
(WebCore::CoreAudioCaptureSource::provideSpeakerData):
(WebCore::CoreAudioCaptureSource::speakerCallback):
(WebCore::CoreAudioCaptureSource::processMicrophoneSamples):
(WebCore::CoreAudioCaptureSource::microphoneCallback):
(WebCore::CoreAudioCaptureSource::defaultOutputDevice):
(WebCore::CoreAudioCaptureSource::defaultInputDevice):
(WebCore::CoreAudioCaptureSource::setupAudioUnits):
(WebCore::CoreAudioCaptureSource::startProducingData):
(WebCore::CoreAudioCaptureSource::stopProducingData):
(WebCore::CoreAudioCaptureSource::suspend):
(WebCore::CoreAudioCaptureSource::resume):
(WebCore::CoreAudioCaptureSource::capabilities):
(WebCore::CoreAudioCaptureSource::settings):
* platform/mediastream/mac/CoreAudioCaptureSource.h: Added.
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac):
(WebCore::RealtimeMediaSourceCenterMac::defaultAudioFactory):

Source/WebKit/mac:

Reviewed by Eric Carlson.

Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useAVFoundationAudioCapture]):
(-[WebPreferences setUseAVFoundationAudioCapture:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Reviewed by Tim Horton.

Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetUseAVFoundationAudioCapture):
(WKPreferencesGetUseAVFoundationAudioCapture):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWrap legacy MediaStream API in runtime flag
commit-queue@webkit.org [Mon, 10 Apr 2017 21:02:16 +0000 (21:02 +0000)]
Wrap legacy MediaStream API in runtime flag
https://bugs.webkit.org/show_bug.cgi?id=169877

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-10
Reviewed by Alex Christensen.

Covered by binding tests.

Marking navigator.getUserMedia and MediaStreamEvent as runtime enabled if mediastream and webrtclegacy api flags
are on.
Updated binding generator to support multiple runtime flags.

* Modules/mediastream/MediaStreamEvent.idl:
* Modules/mediastream/NavigatorUserMedia.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GetRuntimeEnableFunctionName):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::finishCreation):
* bindings/scripts/test/TestObj.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark media/modern-media-controls/volume-slider/volume-slider-value.html as flaky.
ryanhaddad@apple.com [Mon, 10 Apr 2017 20:00:55 +0000 (20:00 +0000)]
Mark media/modern-media-controls/volume-slider/volume-slider-value.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167475

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemove deprecated parts of media stream spec
commit-queue@webkit.org [Mon, 10 Apr 2017 19:59:26 +0000 (19:59 +0000)]
Remove deprecated parts of media stream spec
https://bugs.webkit.org/show_bug.cgi?id=169879

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-10
Reviewed by Jon Lee.

Removing MediaStreamTrackState 'new' value which was unused.
Removing MediaStreamTrack _readonly attribute which was unused.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readonly): Deleted.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:
* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::readonly): Deleted.
* platform/mediastream/MediaStreamTrackPrivate.h:
* platform/mediastream/RealtimeMediaSource.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WK2][macOS] Block access to Apple Events before launch.
bfulgham@apple.com [Mon, 10 Apr 2017 19:53:49 +0000 (19:53 +0000)]
[WK2][macOS] Block access to Apple Events before launch.
https://bugs.webkit.org/show_bug.cgi?id=170626
<rdar://problem/16079334>

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

Clear the environment of the AppleEvent server name before initializing
AppKit so we never bother connecting.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):

Tools:

Add a new TestWebKitAPI test that fails if Apple Events are sent.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added.
(TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest):
(TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215197 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMove ProbeContext and ProbeFunction out of AbstractMacroAssembler.
mark.lam@apple.com [Mon, 10 Apr 2017 19:38:44 +0000 (19:38 +0000)]
Move ProbeContext and ProbeFunction out of AbstractMacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=170681

Reviewed by Michael Saboff.

This is a refactoring step towards enabling custom probe printers the way printInternal() works for dataLog.

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::ProbeContext::gpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::gprName): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fprName): Deleted.
* assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
(JSC::MacroAssembler::probe):
* assembler/MacroAssembler.h:
(JSC::ProbeContext::gpr):
(JSC::ProbeContext::fpr):
(JSC::ProbeContext::gprName):
(JSC::ProbeContext::fprName):
* assembler/MacroAssemblerARM.cpp:
(JSC::MacroAssemblerARM::probe):
* assembler/MacroAssemblerARM64.cpp:
(JSC::arm64ProbeTrampoline):
(JSC::MacroAssemblerARM64::probe):
* assembler/MacroAssemblerARMv7.cpp:
(JSC::MacroAssemblerARMv7::probe):
* assembler/MacroAssemblerPrinter.cpp:
* assembler/MacroAssemblerPrinter.h:
* assembler/MacroAssemblerX86Common.cpp:
(JSC::MacroAssemblerX86Common::probe):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::abstractStructure):
(JSC::FTL::DFG::LowerDFGToB3::probe): Deleted.
- Deleted because this became a useless place-holder after the transition to B3.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[JSC] Do not run FTL stress tests on MIPS
commit-queue@webkit.org [Mon, 10 Apr 2017 19:01:57 +0000 (19:01 +0000)]
[JSC] Do not run FTL stress tests on MIPS
https://bugs.webkit.org/show_bug.cgi?id=170684

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-04-10
Reviewed by Carlos Alberto Lopez Perez.

run-jsc-stress-tests does not correctly detect MIPS platforms, and its
logic to detect if the platform supports FTL ignores that MIPS does
not support FTL. This adds detection of MIPS (with the magic number
determined empirically) and fixes the determination of whether we
support FTL.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWebAssembly: Update spec tests
keith_miller@apple.com [Mon, 10 Apr 2017 18:34:53 +0000 (18:34 +0000)]
WebAssembly: Update spec tests
https://bugs.webkit.org/show_bug.cgi?id=170683

Rubber-stamped by JF Bastien.

* wasm.yaml:
* wasm/spec-tests/br_table.wast.js:
* wasm/spec-tests/conversions.wast.js: Removed.
* wasm/spec-tests/f32_bitwise.wast.js: Added.
* wasm/spec-tests/f32_cmp.wast.js:
* wasm/spec-tests/f64_bitwise.wast.js: Added.
* wasm/spec-tests/f64_cmp.wast.js:
* wasm/spec-tests/i32.wast.js:
* wasm/spec-tests/i64.wast.js:
* wasm/spec-tests/int_exprs.wast.js:
* wasm/spec-tests/memory.wast.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWebAssembly: Fix B3IRGenerator for BrTable
keith_miller@apple.com [Mon, 10 Apr 2017 18:31:22 +0000 (18:31 +0000)]
WebAssembly: Fix B3IRGenerator for BrTable
https://bugs.webkit.org/show_bug.cgi?id=170685

Reviewed by JF Bastien.

For some reason this didn't get included in r215141.

This fixes an issue with BrTable and loops where we would use the loop's return type
as the branch target type.

* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::ControlData::resultForBranch):
(JSC::Wasm::B3IRGenerator::unifyValuesWithBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Placeholder text is clipped in the 'Enter Class Name' field at the...
nvasilyev@apple.com [Mon, 10 Apr 2017 18:11:59 +0000 (18:11 +0000)]
Web Inspector: Placeholder text is clipped in the 'Enter Class Name' field at the bottom of Rules style sidebar in some localizations
https://bugs.webkit.org/show_bug.cgi?id=167641
<rdar://problem/26541953>

Reviewed by Joseph Pecoraro.

Make the "Enter Class Name" text field span the entire width of the Styles sidebar.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]): Deleted.
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon): Deleted.
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class.active > .add-class-icon,): Deleted.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
Remove the checkbox, which didn't do anything, and the plus icon. Make the "Enter Class Name" text field visible by default.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215192 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agowebkitpy: Increase estimate for processes run by iOS Simulators
jbedard@apple.com [Mon, 10 Apr 2017 18:11:55 +0000 (18:11 +0000)]
webkitpy: Increase estimate for processes run by iOS Simulators
https://bugs.webkit.org/show_bug.cgi?id=170678
<rdar://problem/31534061>

Reviewed by Aakash Jain.

Previously, it was estimated that each simulated iOS device would run about 100
processes.  With newer versions of iOS, this is closer to 125.

* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Increase process estimate from 100 to 125.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
commit-queue@webkit.org [Mon, 10 Apr 2017 18:06:32 +0000 (18:06 +0000)]
[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
https://bugs.webkit.org/show_bug.cgi?id=170553

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2017-04-10
Reviewed by Michael Catanzaro.

Source/WebKit2:

Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when building with GTK+ 3.22 or
newer. This allows the Wayland GTK+ backend to properly position popup menus, and also avoids
using functions which were deprecated starting at that GTK+ release.

* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::show): Use gtk_menu_popup_at_pointer() as there is always a
pointer event that can be passed to it.
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_popup_at_rect(), using the coordinates
of the control passed as reference rectangle. Some conditional code is needed because with newer
GTK+ versions a relative offset instead of an absolute position is needed.

Tools:

Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when
building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend
to properly position popup menus, and also avoids using functions
which were deprecated starting at that GTK+ release.

* MiniBrowser/gtk/BrowserSearchBar.c:
(searchEntryMenuIconPressedCallback):
Update MiniBrowser to use gtk_menu_popup_at_pointer().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid...
wenson_hsieh@apple.com [Mon, 10 Apr 2017 17:58:58 +0000 (17:58 +0000)]
REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
https://bugs.webkit.org/show_bug.cgi?id=170677
<rdar://problem/31512633>

Reviewed by Tim Horton.

Tools:

Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad)
to allow dropping URLs to trigger page navigation.

* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate resetToConsistentStateBeforeTesting:]):
(-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):

LayoutTests:

Turn enableDragDestinationActionLoad on in these two LayoutTests via WKTR options.

* fast/events/drag-to-navigate.html:
* fast/events/only-valid-drop-targets-receive-file-drop.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Opening a popup menu does not pre-select the active item
commit-queue@webkit.org [Mon, 10 Apr 2017 17:55:50 +0000 (17:55 +0000)]
[GTK] Opening a popup menu does not pre-select the active item
https://bugs.webkit.org/show_bug.cgi?id=170680

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2017-04-10
Reviewed by Michael Catanzaro.

* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_shell_select_item() to
ensure that the active item appears selected right after popping up the menu.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark media/modern-media-controls/volume-up-support/volume-up-support.html as flaky.
ryanhaddad@apple.com [Mon, 10 Apr 2017 17:54:49 +0000 (17:54 +0000)]
Mark media/modern-media-controls/volume-up-support/volume-up-support.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170682

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoupdate-webkit-dependency should report $response->message for diagnose
commit-queue@webkit.org [Mon, 10 Apr 2017 17:35:20 +0000 (17:35 +0000)]
update-webkit-dependency should report $response->message for diagnose
https://bugs.webkit.org/show_bug.cgi?id=170666

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-04-10
Reviewed by Alex Christensen.

* Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r215175.
ryanhaddad@apple.com [Mon, 10 Apr 2017 17:28:02 +0000 (17:28 +0000)]
Unreviewed, rolling out r215175.

This change caused a flaky crash in existing media tests.

Reverted changeset:

"Add fallback fonts to video captions stylesheet."
https://bugs.webkit.org/show_bug.cgi?id=170495
http://trac.webkit.org/changeset/215175

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoData interaction on an image enclosed by an anchor should vend the anchor's URL
wenson_hsieh@apple.com [Mon, 10 Apr 2017 17:07:44 +0000 (17:07 +0000)]
Data interaction on an image enclosed by an anchor should vend the anchor's URL
https://bugs.webkit.org/show_bug.cgi?id=170660
<rdar://problem/31043220>

Reviewed by Tim Horton.

Source/WebCore:

When writing an image embedded inside an anchor to the pasteboard, actually use the enclosing anchor's href if
it exists. Previously, we were simply dropping this argument on the floor.

Covered by 2 new DataInteractionTests: ImageInLinkToInput and ImageInLinkWithoutHREFToInput.

* editing/ios/EditorIOS.mm:
(WebCore::Editor::writeImageToPasteboard):

Tools:

Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an
anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we
should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection
rects, but should not be.

See WebCore ChangeLog for more details.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRebaseline js/dom/global-constructors-attributes.html after r215131.
ryanhaddad@apple.com [Mon, 10 Apr 2017 16:44:01 +0000 (16:44 +0000)]
Rebaseline js/dom/global-constructors-attributes.html after r215131.

Unreviewed test gardening.

* platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUpdate localizable strings to "full screen" from "fullscreen"
jonlee@apple.com [Mon, 10 Apr 2017 16:05:16 +0000 (16:05 +0000)]
Update localizable strings to "full screen" from "fullscreen"
https://bugs.webkit.org/show_bug.cgi?id=170675
rdar://problem/28207034

Reviewed by Antoine Quint.

Source/WebCore:

For localizable strings, it should consistently be "full screen" instead of "fullscreen".

* English.lproj/Localizable.strings:
* English.lproj/modern-media-controls-localized-strings.js:
* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagExitVideoFullscreen):
(WebCore::localizedMediaControlElementString):
* platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::exitFullScreenButtonAccessibilityTitle):

Source/WebInspectorUI:

* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.EventType.displayName): For localizable strings, it should consistently be
"full screen" instead of "fullscreen".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoDon't generate extra scrolling tiles for non-visible pages.
akling@apple.com [Mon, 10 Apr 2017 13:49:18 +0000 (13:49 +0000)]
Don't generate extra scrolling tiles for non-visible pages.
https://bugs.webkit.org/show_bug.cgi?id=167213
<rdar://problem/30105774>

Reviewed by Antti Koivisto.

Source/WebCore:

Reduce the tiling coverage to a minimum when the page is non-visible.
On macOS, this means that fully occluded web views can maintain a smaller set of tiles
in non-volatile surfaces, reducing net footprint.

Test: compositing/tiling/non-visible-window-tile-coverage.html

* rendering/RenderLayerBacking.cpp:
(WebCore::computePageTiledBackingCoverage): If the page's activity state is non-visible, use minimal tile coverage.
* platform/ScrollView.h:
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::hide): Call adjustTiledBackingCoverage() in hide() since it now takes page visibility into account.

(WebCore::FrameView::enableSpeculativeTilingIfNeeded):
* testing/Internals.cpp:
(WebCore::Internals::setSpeculativeTilingDelayDisabledForTesting):
* testing/Internals.h:
* testing/Internals.idl: Add an internals API for disabling the 500ms delay before speculative tiling begins after
the main frame load finishes. This is needed for reliably testing this change.

LayoutTests:

* TestExpectations:
* compositing/tiling/non-visible-window-tile-coverage-expected.txt: Added.
* compositing/tiling/non-visible-window-tile-coverage.html: Added.
* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Fix x32 build
berto@igalia.com [Mon, 10 Apr 2017 12:55:07 +0000 (12:55 +0000)]
[GTK] Fix x32 build
https://bugs.webkit.org/show_bug.cgi?id=170673

Patch by Thorsten Glaser <tg@mirbsd.de> on 2017-04-10
Reviewed by Carlos Alberto Lopez Perez.

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Remove the GDK dependency from ImageDiff
carlosgc@webkit.org [Mon, 10 Apr 2017 11:48:22 +0000 (11:48 +0000)]
[GTK] Remove the GDK dependency from ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=85299

Reviewed by Žan Doberšek.

Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the
Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is
actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the
ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo
implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation
and also add CG implementation.

* ImageDiff/CMakeLists.txt:
* ImageDiff/Cairo.cmake: Added.
* ImageDiff/ImageDiff.cpp: Added.
(main):
* ImageDiff/PlatformGTK.cmake:
* ImageDiff/PlatformImage.cpp: Added.
(ImageDiff::PlatformImage::isCompatible):
(ImageDiff::PlatformImage::difference):
* ImageDiff/PlatformImage.h: Added.
* ImageDiff/cairo/PlatformImageCairo.cpp: Added.
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::createFromDiffData):
(ImageDiff::PlatformImage::PlatformImage):
(ImageDiff::PlatformImage::~PlatformImage):
(ImageDiff::PlatformImage::width):
(ImageDiff::PlatformImage::height):
(ImageDiff::PlatformImage::rowBytes):
(ImageDiff::PlatformImage::hasAlpha):
(ImageDiff::PlatformImage::pixels):
(ImageDiff::PlatformImage::writeAsPNGToStdout):
* ImageDiff/gtk/ImageDiff.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started...
carlosgc@webkit.org [Mon, 10 Apr 2017 11:44:21 +0000 (11:44 +0000)]
REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
https://bugs.webkit.org/show_bug.cgi?id=170667

Reviewed by Žan Doberšek.

Tools:

In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override
that value.

* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls.

LayoutTests:

Unskip then test that is passing now.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Enable DOM timer throttling and CSS animations suspension
carlosgc@webkit.org [Mon, 10 Apr 2017 11:04:34 +0000 (11:04 +0000)]
[GTK] Enable DOM timer throttling and CSS animations suspension
https://bugs.webkit.org/show_bug.cgi?id=170669

Reviewed by Žan Doberšek.

* Shared/WebPreferencesDefinitions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWTR: Avoid conversion from platform image to WKImage and then to platform image again...
commit-queue@webkit.org [Mon, 10 Apr 2017 10:16:26 +0000 (10:16 +0000)]
WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results
https://bugs.webkit.org/show_bug.cgi?id=170653

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-04-10
Reviewed by Tim Horton.

When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage,
which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the
platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web
snapshot from TestInvocation::dumpPixelsAndCompareWithExpected().

* WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage().
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel
results were created in the web process.
* WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected().
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case
of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed.
(WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage().
(WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web
contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use
RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque).
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::windowSnapshotImage): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd fallback fonts to video captions stylesheet.
pvollan@apple.com [Mon, 10 Apr 2017 10:01:46 +0000 (10:01 +0000)]
Add fallback fonts to video captions stylesheet.
https://bugs.webkit.org/show_bug.cgi?id=170495

Reviewed by Myles C. Maxfield.

The kCTFontCascadeListAttribute key is used to obtain the cascade list for a font reference.

I have not added a test, since CaptionUserPreferences::testingMode() returns true when running tests,
preventing this code path from being executed.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed GTK+ gardening. Mark several tests as failing/timing out.
carlosgc@webkit.org [Mon, 10 Apr 2017 08:28:40 +0000 (08:28 +0000)]
Unreviewed GTK+ gardening. Mark several tests as failing/timing out.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoDrop Timer::startOneShot() overload taking a double
cdumez@apple.com [Mon, 10 Apr 2017 08:02:21 +0000 (08:02 +0000)]
Drop Timer::startOneShot() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170659

Reviewed by Yusuke Suzuki.

Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.

Source/WebCore:

* Modules/geolocation/GeoNotifier.cpp:
(WebCore::GeoNotifier::startTimerIfNeeded):
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::configureWatchdogTimer):
* Modules/mediasession/WebMediaSessionManager.h:
* Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::timerFired):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::close):
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::focusAriaModalNode):
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::setStatus):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::addToMatchedPropertiesCache):
* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::finishedParsing):
* dom/ScriptedAnimationController.cpp:
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::startAlternativeTextUITimer):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::handleSeekToPlaybackPosition):
* html/SearchInputType.cpp:
(WebCore::SearchInputType::startSearchEventTimer):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
* html/canvas/WebGLRenderingContextBase.cpp:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::startTimer):
(WebCore::MediaControlPanelElement::makeTransparent):
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::startTimer):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameScheduledNavigation):
* inspector/InspectorPageAgent.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::startTimer):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
* loader/icon/IconDatabase.cpp:
* page/EventHandler.cpp:
* page/EventSource.cpp:
(WebCore::EventSource::scheduleReconnect):
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedElementNeedsRepaint):
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::enableSpeculativeTilingIfNeeded):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
* page/SuspendableTimer.h:
* page/animation/CSSAnimationController.cpp:
* page/mac/EventHandlerMac.mm:
* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::setTextIndicator):
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::stop):
* platform/ScrollAnimationSmooth.cpp:
(WebCore::getAnimationParametersForGranularity):
(WebCore::ScrollAnimationSmooth::updatePerAxisData):
(WebCore::ScrollAnimationSmooth::animateScroll):
(WebCore::ScrollAnimationSmooth::animationTimerFired):
(WebCore::ScrollAnimationSmooth::startNextTimer):
* platform/ScrollAnimationSmooth.h:
* platform/Timer.h:
(WebCore::TimerBase::startRepeating):
* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::scheduleClientDataBufferingCheck):
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::scheduleStatelessScrollSnap):
* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::gamepadHadInput):
* platform/gamepad/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::valuesChanged):
* platform/glib/MainThreadSharedTimerGLib.cpp:
(WebCore::MainThreadSharedTimer::setFireInterval):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::startTimer):
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::resetAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/MediaPlaybackTargetPicker.cpp:
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::scheduleScratchBufferPurge):
* platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::schedulePrune):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3DManager::updateHighPerformanceState):
* platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
* platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::overlayScrollbarAnimationTimerFired):
(WebCore::ScrollAnimatorGtk::showOverlayScrollbars):
(WebCore::ScrollAnimatorGtk::hideOverlayScrollbars):
* platform/gtk/ScrollAnimatorGtk.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speak):
* platform/mock/TimerEventBasedMock.h:
(WebCore::TimerEvent::TimerEvent):
* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/PingHandle.h:
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* platform/network/mac/NetworkStateNotifierMac.cpp:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::sendPendingRequest):
* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::restartTimer):
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
* rendering/RenderProgress.h:
* rendering/RenderText.cpp:
(WebCore::SecureTextTimer::restart):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsFadeOutDuration):
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
* rendering/RenderThemeGtk.h:
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
* replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::dispatchInputSoon):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::startTimer):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
* testing/InternalSettings.h:
* testing/Internals.cpp:
(WebCore::Internals::setImageFrameDecodingDuration):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit:

* Storage/StorageAreaSync.cpp:
* Storage/StorageTracker.cpp:
(WebKit::StorageTracker::StorageTracker):
* Storage/StorageTracker.h:
(WebKit::StorageTracker::storageDatabaseIdleInterval):
(WebKit::StorageTracker::setStorageDatabaseIdleInterval):

Source/WebKit/mac:

* Plugins/WebNetscapePluginView.mm:
(PluginTimer::start):
* Storage/WebStorageManager.mm:
(+[WebStorageManager setStorageDatabaseIdleInterval:]):

Source/WebKit/win:

* Plugins/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::appendMessage):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
* Plugins/PluginViewWin.cpp:
(WebCore::PluginView::invalidateRect):
* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::scheduleLayerFlush):

Source/WebKit2:

* NetworkProcess/PingLoad.h:
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::startTimeout):
* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
(IPC::Connection::terminateSoon):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::setMinimumLifetime):
* PluginProcess/PluginProcess.h:
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
* Shared/ChildProcess.h:
(WebKit::ChildProcess::setTerminationTimeout):
* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::startUpdateTimer):
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::initializeTimers):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
(API::SharedJSContext::ensureContext):
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didChangeIsLoading):
* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
* UIProcess/Cocoa/ViewGestureController.h:
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
* UIProcess/Gamepad/UIGamepadProvider.cpp:
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/ProcessThrottler.cpp:
* UIProcess/ResponsivenessTimer.cpp:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
* UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::DragGesture::begin):
* UIProcess/mac/WebInspectorProxyMac.mm:
* WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
* WebProcess/WebProcess.cpp:

Tools:

* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
magomez@igalia.com [Mon, 10 Apr 2017 07:39:19 +0000 (07:39 +0000)]
REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
https://bugs.webkit.org/show_bug.cgi?id=168425

Reviewed by Said Abou-Hallawa.

Source/WebCore:

There is a problem with animations that are blending their frames into the previous frame. Due to a change
in how pixel components are premultiplied (the result is now rounded up), the parameters to the blending
operation may vary in one unit, causing the result of the blending to be different from the expected result.
In order to fix this, a new parameter is added to indicate whether we want to use rounding up when
premultiplying or not, and ImageBackingStore uses that parameter to disable rounding up.

Adjusted the expectation for fast/images/animated-png.html, as it must pass now.

* platform/graphics/Color.cpp:
(WebCore::premultipliedChannel):
(WebCore::makePremultipliedRGBA):
* platform/graphics/Color.h:
* platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue):

LayoutTests:

Adjusted expectation for fast/images/animated-png.html. It must pass now.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WK2] Add infrastructure to perform actions after an asynchronous position informatio...
wenson_hsieh@apple.com [Mon, 10 Apr 2017 06:25:22 +0000 (06:25 +0000)]
[WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
https://bugs.webkit.org/show_bug.cgi?id=170658
<rdar://problem/31431450>

Reviewed by Tim Horton.

Source/WebCore:

Minor adjustments to fix the build in the newest version of the SDK.

* platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard setItemsFromObjectRepresentations:]):
(-[WebItemProviderPasteboard _tryToCreateAndAppendObjectOfClass:toArray:usingProvider:]):

Source/WebKit2:

Introduces doAfterPositionInformationUpdate:forRequest:, which WKContentView can use internally to perform
an action requiring InteractionInformationAtPosition asynchronously. See below for additional details.

New API unit test: DataInteractionTests.UnresponsivePageDoesNotHangUI.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _actionForLongPressFromPositionInformation:]):
(-[WKContentView _actionForLongPress]):
(-[WKContentView doAfterPositionInformationUpdate:forRequest:]):

If current position information satisfies the request, then perform the given block immediately; otherwise, we
save the block and request as a pair in a list of pending position information handlers, and then make a new
request to the web process for position information if the currently outgoing request does not already satisfy
the given request.

(-[WKContentView ensurePositionInformationIsUpToDate:]):

Fire all asynchronous position information handlers that are satisfied by the incoming position information.

(-[WKContentView requestAsynchronousPositionInformationUpdate:]):
(-[WKContentView _currentPositionInformationIsValidForRequest:]):
(-[WKContentView _hasValidOutstandingPositionInformationRequest:]):

Pulled out common logic for managing InteractionInformationRequests into separate helper methods.

(-[WKContentView _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]):
(-[WKContentView gestureRecognizerShouldBegin:]):

Refactored to use ensurePositionInformationIsUpToDate:. There is no behavior change here, but it makes sure that
this particular request will also any valid pending position information handlers.

(-[WKContentView _positionInformationDidChange:]):

Fire all asynchronous position information handlers that are satisfied by the incoming position information.

(-[WKContentView pointIsInDataInteractionContent:]): Deleted.

We should no longer use this method, since it makes a synchronous request to the web process -- see
positionInformationMayStartDataInteraction.

Tools:

Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction
does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it
should complete before the unresponsiveness timeout is triggered.

See WebKit2 ChangeLog for more details.

* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: tabbing in Styles sidebar is broken when additional ":" and ";" are...
webkit@devinrousso.com [Mon, 10 Apr 2017 05:26:44 +0000 (05:26 +0000)]
Web Inspector: tabbing in Styles sidebar is broken when additional ":" and ";" are in the property value
https://bugs.webkit.org/show_bug.cgi?id=170184

Reviewed by Matt Baker.

Source/WebInspectorUI:

New tests:
- inspector/unit-tests/text-utilities.html

* UserInterface/Base/TextUtilities.js: Added.
(WebInspector.rangeForNextCSSNameOrValue):
Consolidate logic for finding the next range to highlight in a CSS string given a starting index.

* UserInterface/Main.html:
* UserInterface/Test.html:
Include TextUtilities.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._rangeForNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
Utilize TextUtilities for range-finding logic.

LayoutTests:

* inspector/unit-tests/text-utilities-expected.txt: Added.
* inspector/unit-tests/text-utilities.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WTF] Annotate Seconds' member functions and operators with constexpr
utatane.tea@gmail.com [Mon, 10 Apr 2017 02:41:04 +0000 (02:41 +0000)]
[WTF] Annotate Seconds' member functions and operators with constexpr
https://bugs.webkit.org/show_bug.cgi?id=170662

Reviewed by Daniel Bates.

Source/WebCore:

* page/Frame.cpp:

Source/WTF:

Annotate Seconds' member functions and operators with constexpr.
It allows us to use Seconds calculation in compile time and use these
calculation for static const global variables.

operator% is an exception: it uses fmod and it is not offered as constexpr.

* wtf/MathExtras.h:
(defaultMinimumForClamp):
(defaultMaximumForClamp):
(clampToAccepting64):
Super unfortunate ugly code. This is because GCC 4.9 does not support C++14 relaxed constexpr.

* wtf/Seconds.h:
(WTF::Seconds::Seconds):
(WTF::Seconds::value):
(WTF::Seconds::minutes):
(WTF::Seconds::seconds):
(WTF::Seconds::milliseconds):
(WTF::Seconds::microseconds):
(WTF::Seconds::nanoseconds):
(WTF::Seconds::operator bool):
(WTF::Seconds::operator+):
(WTF::Seconds::operator-):
(WTF::Seconds::operator*):
(WTF::Seconds::operator/):
(WTF::Seconds::operator==):
(WTF::Seconds::operator!=):
(WTF::Seconds::operator<):
(WTF::Seconds::operator>):
(WTF::Seconds::operator<=):
(WTF::Seconds::operator>=):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemove use of strcpy from JSC
oliver@apple.com [Sun, 9 Apr 2017 23:47:14 +0000 (23:47 +0000)]
Remove use of strcpy from JSC
https://bugs.webkit.org/show_bug.cgi?id=170646

Reviewed by Mark Lam.

Replace the use of strcpy with memcpy as strcpy keeps
on tripping various analyser warnings even though its
trivially safe in this case.

Essentially code hygiene, no change in behaviour, no
perf impact.

* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dumpDisassembly):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoDrop Timer::startRepeating() overload taking a double
cdumez@apple.com [Sun, 9 Apr 2017 23:42:02 +0000 (23:42 +0000)]
Drop Timer::startRepeating() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170656

Reviewed by Yusuke Suzuki.

Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.

Source/WebCore:

* Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::startProducingData):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearance):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::startProgressEventTimer):
(WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
* html/HTMLMediaElement.h:
* html/MediaController.cpp:
(MediaController::MediaController):
(MediaController::scheduleTimeupdateEvent):
* html/MediaController.h:
* html/MediaElementSession.cpp:
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::showPaintRect):
* loader/ProgressTracker.cpp:
* page/AutoscrollController.cpp:
* page/Frame.cpp:
* page/PageOverlay.cpp:
(WebCore::PageOverlay::startFadeAnimation):
* page/SuspendableTimer.h:
* page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::setTestCallbackAndStartNotificationTimer):
* platform/Theme.h:
(WebCore::Theme::caretBlinkInterval):
* platform/Timer.h:
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::startSnapRubberbandTimer):
(WebCore::ScrollController::startScrollSnapTimer):
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::scheduleCohortRemoval):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSourceMac::reconfigure):
* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::startProducingData):
* platform/mock/MockRealtimeAudioSource.h:
(WebCore::MockRealtimeAudioSource::renderInterval):
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::startProducingData):
(WebCore::MockRealtimeVideoSource::applyFrameRate):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::start):
(WebCore::RenderMarquee::updateMarqueeStyle):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::caretBlinkInterval):
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::caretBlinkInterval):
* rendering/RenderThemeGtk.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent):
* xml/XMLHttpRequestProgressEventThrottle.h:

Source/WebKit/mac:

* Plugins/WebNetscapePluginView.mm:
(PluginTimer::start):

Source/WebKit/win:

* FullscreenVideoController.cpp:

Source/WebKit2:

* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::initializeTimers):
* UIProcess/Cocoa/ViewGestureController.cpp:
* UIProcess/HighPerformanceGraphicsUsageSampler.cpp:
* UIProcess/PerActivityStateCPUUsageSampler.cpp:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::Timer::start):
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::scheduleReleaseInactiveAtlases):

Tools:

* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agogenerate-bindings-all.pl shouldn't use Perl threads
commit-queue@webkit.org [Sun, 9 Apr 2017 21:48:06 +0000 (21:48 +0000)]
generate-bindings-all.pl shouldn't use Perl threads
https://bugs.webkit.org/show_bug.cgi?id=170106

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-04-09
Reviewed by Yusuke Suzuki.

The use of interpreter-based threads in Perl is officially
discouraged and not all Linux distributions and BSD compile Perl
with threads support. Use fork instead of threads to run
generate-bindings.pl in parallel.

* bindings/scripts/generate-bindings-all.pl:
(spawnGenerateBindingsIfNeeded): Added.
(executeCommand): Removed the workaround for Cygwin Perl threads.
(spawnCommand): Added.
(worker): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agotest262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js
commit-queue@webkit.org [Sun, 9 Apr 2017 21:39:02 +0000 (21:39 +0000)]
test262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js
https://bugs.webkit.org/show_bug.cgi?id=170650

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-04-09
Reviewed by Saam Barati.

JSTests:

* stress/inferred-names.js:
* test262.yaml:

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
There needs to be special handling of:

  PropertyDefinition :  PropertyName ':' AssignmentExpression

When the property name is __proto__. In this case the
SetFunctionName path does not happen, so the name "__proto__"
is not inferred on any anonymous function. See:
https://tc39.github.io/ecma262/#sec-__proto__-property-names-in-object-initializers

* parser/Parser.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createProperty):
Add an extra parameter to see if inferring / setting names are allowed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoResync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
commit-queue@webkit.org [Sun, 9 Apr 2017 18:49:22 +0000 (18:49 +0000)]
Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
https://bugs.webkit.org/show_bug.cgi?id=170647

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-09
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Removing CSS import repository as it is merged into WPT.

* resources/TestRepositories:
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/%CERTS_DIR%/FEFE.pem: Added.
* web-platform-tests/%CERTS_DIR%/FEFF.pem: Added.
* web-platform-tests/%CERTS_DIR%/cacert.pem: Added.
* web-platform-tests/%CERTS_DIR%/cakey.pem: Added.
* web-platform-tests/%CERTS_DIR%/index.txt: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.attr: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.attr.old: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.old: Added.
* web-platform-tests/%CERTS_DIR%/localhost.key: Added.
* web-platform-tests/%CERTS_DIR%/localhost.pem: Added.
* web-platform-tests/%CERTS_DIR%/serial: Added.
* web-platform-tests/%CERTS_DIR%/serial.old: Added.
* web-platform-tests/%CERTS_DIR%/w3c-import.log: Added.
* web-platform-tests/CONTRIBUTING.md:
* web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt:
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html:
* web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm:
* web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm: Added.
* web-platform-tests/IndexedDB/idbobjectstore_deleted.htm:
* web-platform-tests/IndexedDB/interleaved-cursors-expected.txt: Added.
* web-platform-tests/IndexedDB/interleaved-cursors.html: Added.
* web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt: Added.
* web-platform-tests/IndexedDB/parallel-cursors-upgrade.html: Added.
* web-platform-tests/IndexedDB/support-promises.js:
(migrateNamedDatabase):
(createNamedDatabase):
(openNamedDatabase):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/LICENSE.md:
* web-platform-tests/README.md:
* web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html:
* web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm:
* web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py:
(main):
* web-platform-tests/XMLHttpRequest/resources/conditional.py:
(main):
* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm:
* web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/send-conditional-cors.htm: Added.
* web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm:
* web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt:
* web-platform-tests/XMLHttpRequest/send-non-same-origin.htm:
* web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/send-usp.any.html: Added.
* web-platform-tests/XMLHttpRequest/send-usp.any.js: Added.
(encode):
(x.onload.overall_test.step_func):
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/background-fetch/OWNERS: Added.
* web-platform-tests/background-fetch/interfaces-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces-worker.https-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces-worker.https.html: Added.
* web-platform-tests/background-fetch/interfaces.html: Added.
* web-platform-tests/background-fetch/interfaces.idl: Added.
* web-platform-tests/background-fetch/interfaces.worker-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces.worker.html: Added.
* web-platform-tests/background-fetch/interfaces.worker.js: Added.
(promise_test):
* web-platform-tests/background-fetch/w3c-import.log: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer.html: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-same-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer.js: Added.
(testReferrerHeader):
(return.new.Promise.):
(return.new.Promise):
* web-platform-tests/beacon/headers/w3c-import.log: Added.
* web-platform-tests/beacon/resources/inspect-header.py: Added.
(main):
* web-platform-tests/beacon/resources/w3c-import.log: Added.
* web-platform-tests/check_stability.py:
(get_git_cmd.git):
(fetch_wpt):
(get_branch_point):
(get_files_changed):
(process_results):
(markdown_adjust):
(get_parser):
(main):
* web-platform-tests/ci_lint.sh:
* web-platform-tests/cors/allow-headers-expected.txt:
* web-platform-tests/cors/allow-headers.htm:
* web-platform-tests/cors/origin-expected.txt:
* web-platform-tests/cors/origin.htm:
* web-platform-tests/cors/preflight-failure.htm:
* web-platform-tests/cors/redirect-userinfo-expected.txt:
* web-platform-tests/cors/redirect-userinfo.htm:
* web-platform-tests/cors/request-headers.htm:
* web-platform-tests/css-timing-1/OWNERS: Added.
* web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-syntax.html: Added.
* web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/step-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/testcommon.js: Added.
(createDiv):
(createElement):
(pxToNum):
(xForT):
(yForT):
(tForX):
(return.bezierClosure):
(cubicBezier):
* web-platform-tests/css-timing-1/w3c-import.log: Added.
* web-platform-tests/css/.htaccess: Added.
* web-platform-tests/css/OWNERS: Added.
* web-platform-tests/css/README.md: Added.
* web-platform-tests/css/build-css-testsuites.sh: Added.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht:
* web-platform-tests/css/css-grid-1/grid-items/w3c-import.log:
* web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht:
* web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht:
* web-platform-tests/css/css-grid-1/grid-model/w3c-import.log:
* web-platform-tests/css/requirements.txt: Added.
* web-platform-tests/css/w3c-import.log: Added.
* web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration.html:
* web-platform-tests/dom/lists/README.md: Added.
* web-platform-tests/dom/lists/w3c-import.log:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/Document-createEvent.js:
* web-platform-tests/encrypted-media/content/content-metadata.js:
* web-platform-tests/encrypted-media/content/w3c-import.log:
* web-platform-tests/fetch/OWNERS:
* web-platform-tests/fetch/api/basic/accept-header-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/accept-header-worker.html: Removed.
* web-platform-tests/fetch/api/basic/accept-header.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/accept-header.any.html: Added.
* web-platform-tests/fetch/api/basic/accept-header.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/accept-header.html: Removed.
* web-platform-tests/fetch/api/basic/accept-header.js: Removed.
* web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/accept-header.worker.html: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin-worker.html: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.any.html: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.any.js: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.html: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.js: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.worker.html: Added.
* web-platform-tests/fetch/api/basic/referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/referrer-worker.html: Removed.
* web-platform-tests/fetch/api/basic/referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/referrer.any.html: Added.
* web-platform-tests/fetch/api/basic/referrer.any.js: Added.
* web-platform-tests/fetch/api/basic/referrer.html: Removed.
* web-platform-tests/fetch/api/basic/referrer.js: Removed.
* web-platform-tests/fetch/api/basic/referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/referrer.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.html: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.js: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-head-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-head-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-head.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt.
* web-platform-tests/fetch/api/basic/request-head.any.html: Added.
* web-platform-tests/fetch/api/basic/request-head.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/request-head.html: Removed.
* web-platform-tests/fetch/api/basic/request-head.js: Removed.
* web-platform-tests/fetch/api/basic/request-head.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-head.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-headers-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-headers.any.html: Added.
* web-platform-tests/fetch/api/basic/request-headers.any.js: Added.
* web-platform-tests/fetch/api/basic/request-headers.html: Removed.
* web-platform-tests/fetch/api/basic/request-headers.js: Removed.
* web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-headers.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt:
* web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html:
* web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-referrer-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.any.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer.any.js: Added.
* web-platform-tests/fetch/api/basic/request-referrer.html: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.js: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-upload-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-upload-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-upload.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-upload.any.html: Added.
* web-platform-tests/fetch/api/basic/request-upload.any.js: Added.
* web-platform-tests/fetch/api/basic/request-upload.html: Removed.
* web-platform-tests/fetch/api/basic/request-upload.js: Removed.
* web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-upload.worker.html: Added.
* web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/scheme-about-worker.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt.
* web-platform-tests/fetch/api/basic/scheme-about.any.html: Added.
* web-platform-tests/fetch/api/basic/scheme-about.any.js: Added.
* web-platform-tests/fetch/api/basic/scheme-about.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.js: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/scheme-about.worker.html: Added.
* web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/scheme-data-worker.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt.
* web-platform-tests/fetch/api/basic/scheme-data.any.html: Added.
* web-platform-tests/fetch/api/basic/scheme-data.any.js: Added.
* web-platform-tests/fetch/api/basic/scheme-data.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.js: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/scheme-data.worker.html: Added.
* web-platform-tests/fetch/api/basic/stream-response-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/stream-response-worker.html: Removed.
* web-platform-tests/fetch/api/basic/stream-response.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/stream-response.any.html: Added.
* web-platform-tests/fetch/api/basic/stream-response.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/stream-response.html: Removed.
* web-platform-tests/fetch/api/basic/stream-response.js: Removed.
* web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/stream-response.worker.html: Added.
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-basic-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-basic.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-basic.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-basic.html: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.js: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-basic.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-cookies-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.html: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.js: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-filtering-expected.txt:
* web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt:
* web-platform-tests/fetch/api/cors/cors-filtering.js:
(corsExposeFilter):
* web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-origin-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-origin.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-origin.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-origin.html: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.js: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-origin.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any.js: Added.
(corsPreflightStatus):
* web-platform-tests/fetch/api/cors/cors-preflight-status.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.worker.html: Added.
* web-platform-tests/fetch/api/cors/w3c-import.log:
* web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic-worker.html: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.any.html: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.any.js: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.html: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.js: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.worker.html: Added.
* web-platform-tests/fetch/api/credentials/cookies-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/cookies-worker.html: Removed.
* web-platform-tests/fetch/api/credentials/cookies.any-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/cookies.any.html: Added.
* web-platform-tests/fetch/api/credentials/cookies.any.js: Added.
* web-platform-tests/fetch/api/credentials/cookies.html: Removed.
* web-platform-tests/fetch/api/credentials/cookies.js: Removed.
* web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/cookies.worker.html: Added.
* web-platform-tests/fetch/api/credentials/w3c-import.log:
* web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
* web-platform-tests/fetch/api/headers/historical.any-expected.txt: Added.
* web-platform-tests/fetch/api/headers/historical.any.html: Added.
* web-platform-tests/fetch/api/headers/historical.any.js: Added.
(test):
* web-platform-tests/fetch/api/headers/historical.worker-expected.txt: Added.
* web-platform-tests/fetch/api/headers/historical.worker.html: Added.
* web-platform-tests/fetch/api/headers/w3c-import.log:
* web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
* web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Removed.
* web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-003.sub.html:
* web-platform-tests/fetch/api/resources/redirect-count.py: Removed.
* web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
* web-platform-tests/fetch/http-cache/304-update.html: Added.
* web-platform-tests/fetch/http-cache/README.md: Added.
* web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
* web-platform-tests/fetch/http-cache/cc-request.html: Added.
* web-platform-tests/fetch/http-cache/freshness-expected.txt: Added.
* web-platform-tests/fetch/http-cache/freshness.html: Added.
* web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
* web-platform-tests/fetch/http-cache/heuristic.html: Added.
* web-platform-tests/fetch/http-cache/http-cache.js: Added.
(make_url):
(server_state):
(make_test.fetch_functions.push.):
(make_test.fetch_functions.push):
(make_test.):
(make_test.run_next_step):
(make_test):
(http_date):
* web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
* web-platform-tests/fetch/http-cache/invalidate.html: Added.
* web-platform-tests/fetch/http-cache/partial-expected.txt: Added.
* web-platform-tests/fetch/http-cache/partial.html: Added.
* web-platform-tests/fetch/http-cache/resources/http-cache.py: Added.
(main):
* web-platform-tests/fetch/http-cache/resources/w3c-import.log: Added.
* web-platform-tests/fetch/http-cache/status-expected.txt: Added.
* web-platform-tests/fetch/http-cache/status.html: Added.
* web-platform-tests/fetch/http-cache/vary-expected.txt: Added.
* web-platform-tests/fetch/http-cache/vary.html: Added.
* web-platform-tests/fetch/http-cache/w3c-import.log: Added.
* web-platform-tests/fetch/nosniff/importscripts-expected.txt: Removed.
* web-platform-tests/hr-time/basic.any-expected.txt: Added.
* web-platform-tests/hr-time/basic.any.html: Added.
* web-platform-tests/hr-time/basic.any.js: Added.
(test):
(async_test):
* web-platform-tests/hr-time/monotonic-clock.any-expected.txt: Added.
* web-platform-tests/hr-time/monotonic-clock.any.html: Added.
* web-platform-tests/hr-time/monotonic-clock.any.js: Added.
(test):
* web-platform-tests/hr-time/monotonic-clock.worker-expected.txt: Added.
* web-platform-tests/hr-time/monotonic-clock.worker.html: Added.
* web-platform-tests/hr-time/w3c-import.log:
* web-platform-tests/html/OWNERS:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html:
* web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html: Added.
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html:
* web-platform-tests/html/browsers/windows/browsing-context-expected.txt:
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log:
* web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
* web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html: Added.
* web-platform-tests/html/browsers/windows/resources/w3c-import.log:
* web-platform-tests/html/browsers/windows/w3c-import.log:
* web-platform-tests/html/dom/OWNERS: Added.
* web-platform-tests/html/dom/w3c-import.log:
* web-platform-tests/html/resources/common.js:
(newIFrame):
* web-platform-tests/html/semantics/OWNERS: Added.
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection.html:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
* web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
* web-platform-tests/html/semantics/w3c-import.log:
* web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html:
* web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/negative-setinterval.html: Added.
* web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/negative-settimeout.html: Added.
* web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/type-long-setinterval.html: Added.
* web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/type-long-settimeout.html: Added.
* web-platform-tests/html/webappapis/timers/w3c-import.log:
* web-platform-tests/images/pattern.ogv: Added.
* web-platform-tests/images/pattern.png: Added.
* web-platform-tests/images/w3c-import.log:
* web-platform-tests/innerText/setter-expected.txt:
* web-platform-tests/innerText/setter-tests.js:
* web-platform-tests/innerText/setter.html:
* web-platform-tests/lint.whitelist:
* web-platform-tests/mediacapture-fromelement/idlharness-expected.txt: Added.
* web-platform-tests/mediacapture-fromelement/idlharness.html: Added.
* web-platform-tests/mediacapture-fromelement/w3c-import.log: Added.
* web-platform-tests/resource-timing/SyntheticResponse.py:
(main):
* web-platform-tests/resource-timing/resource-timing.js:
* web-platform-tests/resource-timing/resource_connection_reuse.html:
* web-platform-tests/resources/.htaccess: Added.
* web-platform-tests/resources/docs/api.md: Added.
* web-platform-tests/resources/docs/idlharness.md: Added.
* web-platform-tests/resources/docs/w3c-import.log: Added.
* web-platform-tests/resources/examples/apisample-error-worker.js: Added.
* web-platform-tests/resources/examples/apisample-worker.js: Added.
(test):
(async_test):
* web-platform-tests/resources/examples/apisample.htm: Added.
* web-platform-tests/resources/examples/apisample10.html: Added.
* web-platform-tests/resources/examples/apisample11.html: Added.
* web-platform-tests/resources/examples/apisample12.html: Added.
* web-platform-tests/resources/examples/apisample13.html: Added.
* web-platform-tests/resources/examples/apisample14.html: Added.
* web-platform-tests/resources/examples/apisample15.html: Added.
* web-platform-tests/resources/examples/apisample16.html: Added.
* web-platform-tests/resources/examples/apisample17.html: Added.
* web-platform-tests/resources/examples/apisample2.htm: Added.
* web-platform-tests/resources/examples/apisample3.htm: Added.
* web-platform-tests/resources/examples/apisample4.htm: Added.
* web-platform-tests/resources/examples/apisample5.htm: Added.
* web-platform-tests/resources/examples/apisample6.html: Added.
* web-platform-tests/resources/examples/apisample7.html: Added.
* web-platform-tests/resources/examples/apisample8.html: Added.
* web-platform-tests/resources/examples/apisample9.html: Added.
* web-platform-tests/resources/examples/w3c-import.log: Added.
* web-platform-tests/resources/idlharness.js:
(IdlInterface.prototype.test_member_iterable):
* web-platform-tests/resources/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/coverage.html: Added.
* web-platform-tests/resources/webidl2/index.js: Added.
* web-platform-tests/resources/webidl2/lib/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/package.json: Added.
* web-platform-tests/resources/webidl2/test/invalid.js: Added.
(idls.fs.readdirSync.dir.filter):
(map):
(errors.idls.map):
(i.func):
* web-platform-tests/resources/webidl2/test/invalid/idl/dict-required-default.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/maplike-1type.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/module.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/setlike-2types.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/typedef-nested.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/dict-required-default.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/enum.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/maplike-1type.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/module.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/raises.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/setlike-2types.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/mocha.opts: Added.
* web-platform-tests/resources/webidl2/test/syntax.js: Added.
(idls.fs.readdirSync.dir.filter):
(map):
(jsons.idls.map):
(i.func):
* web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/array.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/extended-attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/iterable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/setlike.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/static.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/allowany.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/array.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/attributes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/callback.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/caller.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/constants.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/constructor.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/documentation.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/enum.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/exception.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/extended-attributes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/generic.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/implements.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/iterable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/iterator.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/map.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/maplike.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nullable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/overloading.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/primitives.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/sequence.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/serializer.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/setlike.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/static.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/syntax/opt/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/web/make-web-tests.js: Added.
(dir):
(allFromDir):
* web-platform-tests/resources/webidl2/test/web/run-tests.js: Added.
(i.func):
* web-platform-tests/resources/webidl2/test/web/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/LICENSE: Added.
* web-platform-tests/resources/webidl2/test/widlproc/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/README.md: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/README: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css: Added.
(body):
(:link):
(:visited):
(a:active):
(a:link img, a:visited img):
(h1, h2, h3, h4, h5, h6):
(h1, h2, h3):
(h1):
(h2):
(h3):
(h4):
(h5):
(h6):
(.hide):
(code):
(ul.toc, ol.toc, ul.authors):
(div.head):
(div.head h1):
(div.head table):
(div.constraint, div.issue, div.note, div.notice):
(div.exampleInner pre):
(div.exampleOuter):
(div.exampleInner):
(div.exampleWrapper):
(div.exampleHeader):
(div.term):
(div.list):
(.optional):
(.copyright,.legalnotice):
(.copyright small):
(@media screen):
(a[href]:hover):
(ol.enumar):
(ol.enumla):
(ol.enumlr):
(ol.enumua):
(ol.enumur):
(.toc):
(pre):
(.examplecode):
(.def-api-feature-set dt, .def-api-feature dt, dt .def-device-cap, dt.const code):
(dt.attribute code, dt.method code):
(.def-device-caps dd):
(dt.method):
(.summary td):
* web-platform-tests/resources/webidl2/test/widlproc/src/comment.c: Added.
(setcommentnode):
(joininlinecomments):
(outputchildren):
(default_askend):
(root_askend):
(root_output):
(endspecificcnode):
(startcnode):
(para_output):
(para_end):
(return_output):
(author_output):
(code_end):
(code_output):
(text_end):
(text_output):
(html_output):
(param_output):
(api_feature_output):
(def_api_feature_askend):
(def_api_feature_output):
(def_api_feature_set_output):
(def_instantiated_output):
(def_device_cap_output):
(iswhitespace):
(parseword):
(dox_b):
(dox_n):
(dox_code):
(dox_endcode):
(dox_param):
(dox_para):
(dox_throw):
(dox_attr):
(parsecomment):
(parsecomments):
(attachcommenttonode):
(attachcomments):
(processcomments):
(outputdescriptive):
* web-platform-tests/resources/webidl2/test/widlproc/src/comment.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/entities.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/lex.c: Added.
(readinput):
(lexerrorexit):
(lexblockcomment):
(lexinlinecomment):
(lexnumber):
(lexstring):
(lexidentifier):
(lex):
(outputwidl):
* web-platform-tests/resources/webidl2/test/widlproc/src/lex.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/main.c: Added.
(options):
(main):
* web-platform-tests/resources/webidl2/test/widlproc/src/misc.c: Added.
(memalloc):
(memrealloc):
(memfree):
(memprintf):
(vmemprintf):
(vlocerrorexit):
(locerrorexit):
(errorexit):
* web-platform-tests/resources/webidl2/test/widlproc/src/misc.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/node.c: Added.
(newelement):
(newattr):
(newattrlist):
(addnode):
(reversechildren):
(nodeisempty):
(nodewalk):
(findchildelement):
(getattr):
(findchildelementwithnameattr):
(findreturntype):
(findparamidentifier):
(findthrowidentifier):
(outputid):
(outputnode):
* web-platform-tests/resources/webidl2/test/widlproc/src/node.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/os.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/parse.c: Added.
(tokerrorexit):
(lexnocomment):
(eat):
(setid):
(setidentifier):
(setargumentname):
(parsescopedname):
(parsescopednamelist):
(parsereturntype):
(parseunsignedintegertype):
(parsetypesuffix):
(parsetypesuffixstartingwitharray):
(parseprimitiveorstringtype):
(parsenonanytype):
(parseunionmembertype):
(parseuniontype):
(parsetype):
(parseextendedattribute):
(parseextendedattributelist):
(parseexceptionfield):
(parseargument):
(parseargumentlist):
(parseoperationrest):
(parsereturntypeandoperationrest):
(parseoptionaliteratorinterface):
(parseoperationoriteratorrest):
(parseattribute):
(parseserializer):
(parseattributeoroperationoriterator):
(parseconstexpr):
(parsedefaultvalue):
(parsedictionarymember):
(parseconst):
(parseimplementsstatement):
(parsetypedef):
(parseexception):
(parseinterface):
(parsecallback):
(parsedictionary):
(parseenum):
(parsedefinitions):
(parse):
* web-platform-tests/resources/webidl2/test/widlproc/src/parse.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/process.c: Added.
(outputnodeastext):
(printfqid):
(output):
(outputchildren):
(processfiles):
* web-platform-tests/resources/webidl2/test/widlproc/src/process.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/w3c-import.log: Added.
* web-platform-tests/resources/webiwarning: inexact rename detection was skipped due to too many files.: Added.
* web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.js:
(promise_test):
* web-platform-tests/streams/piping/flow-control-expected.txt:
* web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/flow-control.js:
(promise_test):
* web-platform-tests/streams/piping/multiple-propagation-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.js:
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.flushAsyncEvents.then):
* web-platform-tests/streams/piping/pipe-through-expected.txt:
* web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/pipe-through.js:
(promise_test):
* web-platform-tests/streams/readable-byte-streams/general-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.js:
(test):
* web-platform-tests/streams/readable-streams/general-expected.txt:
* web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-streams/general.js:
(test.get assert_throws):
(test):
* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/setters_tests.json:
* web-platform-tests/url/url-constructor-expected.txt:
* web-platform-tests/url/url-setters-expected.txt:
* web-platform-tests/url/urltestdata.json:
* web-platform-tests/user-timing/clear_all_marks.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_marks.any.html: Added.
* web-platform-tests/user-timing/clear_all_marks.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_all_marks.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_marks.worker.html: Added.
* web-platform-tests/user-timing/clear_all_measures.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_measures.any.html: Added.
* web-platform-tests/user-timing/clear_all_measures.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_all_measures.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_measures.worker.html: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any.html: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_non_existent_mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.worker.html: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any.html: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_non_existent_measure.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.worker.html: Added.
* web-platform-tests/user-timing/clear_one_mark.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_mark.any.html: Added.
* web-platform-tests/user-timing/clear_one_mark.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_one_mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_mark.worker.html: Added.
* web-platform-tests/user-timing/clear_one_measure.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_measure.any.html: Added.
* web-platform-tests/user-timing/clear_one_measure.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_one_measure.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_measure.worker.html: Added.
* web-platform-tests/user-timing/entry_type.any-expected.txt: Added.
* web-platform-tests/user-timing/entry_type.any.html: Added.
* web-platform-tests/user-timing/entry_type.any.js: Added.
(test):
* web-platform-tests/user-timing/entry_type.worker-expected.txt: Added.
* web-platform-tests/user-timing/entry_type.worker.html: Added.
* web-platform-tests/user-timing/idlharness-expected.txt:
* web-platform-tests/user-timing/idlharness.html:
* web-platform-tests/user-timing/invoke_with_timing_attributes-expected.txt: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.html: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker-expected.txt: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker.html: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker.js: Added.
(emit_test):
(emit_test2):
* web-platform-tests/user-timing/invoke_without_parameter-expected.txt: Added.
* web-platform-tests/user-timing/invoke_without_parameter.html: Added.
* web-platform-tests/user-timing/mark.any-expected.txt: Added.
* web-platform-tests/user-timing/mark.any.html: Added.
* web-platform-tests/user-timing/mark.any.js: Added.
(match_entries):
(filter_entries_by_type):
(test):
(test_mark):
* web-platform-tests/user-timing/mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/mark.worker.html: Added.
* web-platform-tests/user-timing/mark_exceptions-expected.txt: Added.
* web-platform-tests/user-timing/mark_exceptions.html: Added.
* web-platform-tests/user-timing/measure-expected.txt: Added.
* web-platform-tests/user-timing/measure.html: Added.
* web-platform-tests/user-timing/measure_exceptions_navigation_timing-expected.txt: Added.
* web-platform-tests/user-timing/measure_exceptions_navigation_timing.html: Added.
* web-platform-tests/user-timing/measure_navigation_timing-expected.txt: Added.
* web-platform-tests/user-timing/measure_navigation_timing.html: Added.
* web-platform-tests/user-timing/measure_syntax_err.any-expected.txt: Added.
* web-platform-tests/user-timing/measure_syntax_err.any.html: Added.
* web-platform-tests/user-timing/measure_syntax_err.any.js: Added.
(test):
* web-platform-tests/user-timing/measure_syntax_err.worker-expected.txt: Added.
* web-platform-tests/user-timing/measure_syntax_err.worker.html: Added.
* web-platform-tests/user-timing/resources/webperftestharness.js:
* web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
* web-platform-tests/user-timing/user_timing_exists.any-expected.txt: Added.
* web-platform-tests/user-timing/user_timing_exists.any.html: Added.
* web-platform-tests/user-timing/user_timing_exists.any.js: Added.
(test):
* web-platform-tests/user-timing/user_timing_exists.worker-expected.txt: Added.
* web-platform-tests/user-timing/user_timing_exists.worker.html: Added.
* web-platform-tests/user-timing/w3c-import.log:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/OWNERS:
* web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates-expected.txt: Added.
* web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState-expected.txt: Added.
* web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize-expected.txt:
* web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize.html:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html:
* web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log:

Tools:

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.fetch): Fetching origin remote in case there is more than one.

LayoutTests:

* TestExpectations:
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
* platform/mac/TestExpectations:
* tests-options.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r214635): Calculate image subsampling only for CG
commit-queue@webkit.org [Sun, 9 Apr 2017 18:45:06 +0000 (18:45 +0000)]
REGRESSION(r214635): Calculate image subsampling only for CG
https://bugs.webkit.org/show_bug.cgi?id=170353

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-04-09
Reviewed by Simon Fraser.

In r214635, we needed to calculate the image scaleFactor for all platforms.
It was needed do the calculation: sizeForDrawing = sizeOfImage * imageScaleFactor.
This made ImageSource::subsamplingLevelForScale() now returns a SubsamplingLevel
not equal to SubsamplingLevel::Default if the image scaleFactor is greater
than {1, 1} for all platforms. The subsamplingLevel should only be used for CG.

This is also a chance to make nativeImageDrawingScale() a across platform
function and move it to the GraphicsContext class.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::scaleFactorForDrawing):
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::subsamplingLevelForScaleFactor):
(WebCore::ImageSource::subsamplingLevelForScale): Deleted.
* platform/graphics/ImageSource.h:
* platform/graphics/NativeImage.h:
* platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::nativeImageDrawingScale): Deleted.
* platform/graphics/cg/NativeImageCG.cpp:
(WebCore::nativeImageDrawingScale): Deleted.
* platform/graphics/win/NativeImageDirect2D.cpp:
(WebCore::nativeImageDrawingScale): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WK2][iOS] Add CoreMedia entitlement for WebProcess
jonlee@apple.com [Sun, 9 Apr 2017 17:11:24 +0000 (17:11 +0000)]
[WK2][iOS] Add CoreMedia entitlement for WebProcess
https://bugs.webkit.org/show_bug.cgi?id=170623
rdar://problem/30020073

Reviewed by Youenn Fablet.

* Configurations/WebContent-iOS.entitlements: Update entitlement to an array of strings instead of bool.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agotest262: test262/test/annexB/language/literals/regexp/identity-escape.js
commit-queue@webkit.org [Sun, 9 Apr 2017 15:27:08 +0000 (15:27 +0000)]
test262: test262/test/annexB/language/literals/regexp/identity-escape.js
https://bugs.webkit.org/show_bug.cgi?id=170651

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-04-09
Reviewed by Saam Barati.

JSTests:

* test262.yaml:

Source/JavaScriptCore:

* yarr/YarrParser.h:
(JSC::Yarr::Parser::parseEscape):
For \8 and \9 match just the number "8" or "9" instead of both "\\" and the number.
See: https://tc39.github.io/ecma262/#sec-decimalescape

LayoutTests:

* js/regexp-no-extensions-expected.txt:
* js/script-tests/regexp-no-extensions.js:
Update existing test for these edge cases.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoStart dropping Timer API dealing with double
cdumez@apple.com [Sun, 9 Apr 2017 14:49:14 +0000 (14:49 +0000)]
Start dropping Timer API dealing with double
https://bugs.webkit.org/show_bug.cgi?id=170649

Reviewed by Yusuke Suzuki.

Start dropping Timer API dealing with double as people should use Seconds now.

Source/WebCore:

* Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::generateKeyRequest):
(WebCore::WebKitMediaKeySession::update):
* Modules/geolocation/GeoNotifier.cpp:
(WebCore::GeoNotifier::setFatalError):
(WebCore::GeoNotifier::setUseCachedPosition):
* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::resume):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::schedulePendingOperationTimer):
(WebCore::IDBTransaction::scheduleCompletedOperationTimer):
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::rangeRemoval):
(WebCore::SourceBuffer::appendBufferInternal):
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::scheduleActiveStateChange):
* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::scheduleDispatchEvent):
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::scheduleDispatchEvent):
* Modules/notifications/Notification.cpp:
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::requestPermission):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::vibrate):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::resume):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::resume):
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::postNotification):
* bindings/js/GCController.cpp:
(WebCore::GCController::garbageCollectOnNextRunLoop):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadingFontSoon):
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateFocusAppearanceSoon):
(WebCore::Document::resumeScheduledTasks):
(WebCore::Document::requestFullScreenForElement):
(WebCore::Document::webkitDidEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::decrementLoadEventDelayCount):
(WebCore::Document::didAssociateFormControl):
(WebCore::Document::setCachedDOMCookies):
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueEvent):
* dom/EventSender.h:
(WebCore::EventSender<T>::dispatchEventSoon):
* dom/Microtasks.cpp:
(WebCore::MicrotaskQueue::append):
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::resume):
(WebCore::ScriptRunner::notifyFinished):
* dom/ScriptableDocumentParser.cpp:
(WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheetsSoon):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection):
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::didCheck):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::finishRequestAutocomplete):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::scheduleDelayedAction):
(WebCore::HTMLMediaElement::beginScanning):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::setDisplayState):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::scheduleErrorEvent):
(WebCore::HTMLSourceElement::resume):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::scheduleLoad):
* html/MediaController.cpp:
(MediaController::currentTime):
(MediaController::scheduleEvent):
* html/MediaDocument.cpp:
(WebCore::MediaDocument::mediaElementSawUnsupportedTracks):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::externalOutputDeviceAvailableDidChange):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::requestToHideMessage):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::forceRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::resume):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::scheduleLoad):
* inspector/InspectorCSSAgent.cpp:
(WebCore::ChangeRegionOversetTask::scheduleFor):
* inspector/InspectorDOMAgent.cpp:
(WebCore::RevalidateStyleAttributeTask::scheduleFor):
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorBackendDispatchTask::dispatch):
(WebCore::InspectorBackendDispatchTask::timerFired):
* inspector/WebHeapAgent.cpp:
(WebCore::SendGarbageCollectionEventsTask::addGarbageCollection):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startDataLoadTimer):
(WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::startCheckCompleteTimer):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updatedHasPendingEvent):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::newCuesParsed):
(WebCore::TextTrackLoader::fileFailedToParse):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::scheduleReachedMaxAppCacheSizeCallback):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::Callback::Callback):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::loadDone):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneSoon):
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::notify):
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
* page/DeviceController.cpp:
(WebCore::DeviceController::addDeviceEventListener):
* page/EventHandler.cpp:
(WebCore::EventHandler::scheduleHoverStateUpdate):
* page/EventSource.cpp:
(WebCore::EventSource::scheduleInitialConnect):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
* page/Settings.cpp:
(WebCore::Settings::setLoadsImagesAutomatically):
(WebCore::Settings::setImagesEnabled):
* page/SuspendableTimer.h:
* page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::invalidateHighlightsOfType):
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
* page/scrolling/ios/ScrollingCoordinatorIOS.mm:
(WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::startTimerIfNeeded):
* platform/Scrollbar.h:
* platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
(WebCore::ScrollbarTheme::autoscrollTimerDelay):
* platform/Timer.cpp:
* platform/Timer.h:
(WebCore::TimerBase::startRepeating):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::augmentFireInterval):
(WebCore::TimerBase::augmentRepeatInterval):
* platform/gamepad/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::deviceAdded):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::networkStateChanged):
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::updateOptions):
(WebCore::MediaSelectionGroupAVFObjC::setSelectedOption):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
* platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::setNeedsUpdate):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(VideoRenderRequestScheduler::requestRender):
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation):
* platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::showOverlayScrollbars):
* platform/gtk/ScrollbarThemeGtk.h:
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::finishedCreatingTiles):
(WebCore::LegacyTileCache::setSpeculativeTileCreationEnabled):
* platform/ios/ScrollbarThemeIOS.h:
* platform/ios/ScrollbarThemeIOS.mm:
(WebCore::ScrollbarThemeIOS::initialAutoscrollTimerDelay):
(WebCore::ScrollbarThemeIOS::autoscrollTimerDelay):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::preferencesChanged):
(WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
(WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
* platform/mock/DeviceOrientationClientMock.cpp:
(WebCore::DeviceOrientationClientMock::setOrientation):
* platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::asyncUpdatePermission):
(WebCore::GeolocationClientMock::asyncUpdateController):
* platform/mock/MockMediaEndpoint.cpp:
(WebCore::MockMediaEndpoint::dispatchFakeIceCandidates):
(WebCore::MockMediaEndpoint::iceCandidateTimerFired):
(WebCore::MockMediaEndpoint::stepIceTransportStates):
(WebCore::MockMediaEndpoint::iceTransportTimerFired):
(WebCore::MockMediaEndpoint::unmuteRemoteSourcesByMid):
(WebCore::MockMediaEndpoint::unmuteTimerFired):
* platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::scheduleFailure):
(WebCore::ResourceHandle::setDefersLoading):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):
* rendering/RenderScrollbarTheme.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::scheduleLazyRepaint):
* style/StyleScope.cpp:
(WebCore::Style::Scope::scheduleUpdate):
* svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossibleAsynchronously):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::prepareToSend):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::resume):
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::resume):

Source/WebKit:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::scheduleServePendingRequests):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::deliverData):

Source/WebKit/win:

* Plugins/PluginPackage.cpp:
(WebCore::PluginPackage::freeLibrarySoon):
* Plugins/PluginStream.cpp:
(WebCore::PluginStream::deliverData):
* Plugins/PluginView.cpp:
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::scheduleRequest):
(WebCore::PluginView::setJavaScriptPaused):
(WebCore::PluginView::keepAlive):
* Plugins/PluginViewWin.cpp:
(WebCore::PluginView::wndProc):
* WebView.cpp:
(WebView::closeWindowSoon):

Source/WebKit2:

* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::scheduleFailure):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::resume):
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::destroy):
(WebKit::PluginControllerProxy::startPaintTimer):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseScheduleUpdateActivityState):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::setViewExposedRect):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/VisitedLinkStore.cpp:
(WebKit::VisitedLinkStore::addVisitedLinkHash):
* UIProcess/WebProcessPool.cpp:
(WebKit::m_hiddenPageThrottlingAutoIncreasesCounter):
* UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::ZoomGesture::scaleChanged):
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
* WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
(WebKit::NetscapePluginStream::deliverDataToPlugin):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pendingURLRequestsTimerFired):
(WebKit::PluginView::loadURL):
* WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeSoon):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::scheduleDisplay):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::addPluginView):
(WebKit::WebPage::setMayStartMediaWhenInWindow):
(WebKit::WebPage::didFinishLoad):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):

Source/WTF:

* wtf/RunLoopTimer.h:
* wtf/glib/MainThreadGLib.cpp:
(WTF::MainThreadDispatcher::schedule):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[Variation Fonts] Width values of GX fonts are not mapped correctly
mmaxfield@apple.com [Sun, 9 Apr 2017 03:32:21 +0000 (03:32 +0000)]
[Variation Fonts] Width values of GX fonts are not mapped correctly
https://bugs.webkit.org/show_bug.cgi?id=170367

Reviewed by Simon Fraser.

Source/WebCore:

For some reason, when I performed my calculations for how to map the 'wdth' axis of GX-style
variation fonts, I thought that font-stretch: 100% should map to a variation value of 0.0.
Instead, this should map to 1.0.

Test: fast/text/variations/gx-width.html

* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::denormalizeSlope):
(WebCore::denormalizeVariationWidth):
(WebCore::normalizeVariationWidth):
(WebCore::normalizeWidth):
(WebCore::preparePlatformFont):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::denormalizeWidth): Deleted.

LayoutTests:

* fast/text/variations/font-selection-properties-expected.html:
* fast/text/variations/gx-width-expected.html: Added.
* fast/text/variations/gx-width.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[MediaStream Mac] Revert change of Mac video capture format
eric.carlson@apple.com [Sun, 9 Apr 2017 02:51:19 +0000 (02:51 +0000)]
[MediaStream Mac] Revert change of Mac video capture format
https://bugs.webkit.org/show_bug.cgi?id=170642
<rdar://problem/31520492>

Reviewed by Sam Weinig.

Revert r214968 which changed macOS video capture format to kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
from kCVPixelFormatType_420YpCbCr8Planar because AVSampleBufferDisplayLayer sometimes fails
to display the former.

* platform/mediastream/mac/AVVideoCaptureSource.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoA synchronous DecodingOptions should be compatible with any asynchronous sizeForDrawi...
commit-queue@webkit.org [Sun, 9 Apr 2017 02:39:28 +0000 (02:39 +0000)]
A synchronous DecodingOptions should be compatible with any asynchronous sizeForDrawing DecodingOptions
https://bugs.webkit.org/show_bug.cgi?id=170577

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-04-08
Reviewed by Simon Fraser.

Source/WebCore:

Once a synchronous decoded frame is found, there is no need to decode it
again. This decoded frame is suitable for any sizeForDrawing. This will
prevent double decoding if one image client wants synchronous decoded
frame while the other needs an asynchronous decode frame for a specific
sizeForDrawing.

Test: fast/images/async-image-background-image-repeated.html

* platform/graphics/DecodingOptions.h:
(WebCore::DecodingOptions::DecodingOptions):
(WebCore::DecodingOptions::isNone):
(WebCore::DecodingOptions::isAsynchronousCompatibleWith):

LayoutTests:

* fast/images/async-image-background-image-repeated-expected.html: Added.
* fast/images/async-image-background-image-repeated.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoElftoolchain ar doesn't support response files
commit-queue@webkit.org [Sun, 9 Apr 2017 00:50:32 +0000 (00:50 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r215150.
mcatanzaro@igalia.com [Sun, 9 Apr 2017 00:21:11 +0000 (00:21 +0000)]
Unreviewed, rolling out r215150.

Broke buildbot

Reverted changeset:

"[CMake] Don't force-enable response files when using Ninja
generator"
https://bugs.webkit.org/show_bug.cgi?id=170105
http://trac.webkit.org/changeset/215150

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUpdate the css-status page to handle changes in CSSProperties.json.
simon.fraser@apple.com [Sat, 8 Apr 2017 23:55:33 +0000 (23:55 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAlign the timers for throttled rAF to reduce power usage
simon.fraser@apple.com [Sat, 8 Apr 2017 23:55:30 +0000 (23:55 +0000)]
Align the timers for throttled rAF to reduce power usage
https://bugs.webkit.org/show_bug.cgi?id=170630
rdar://problem/31490620

Reviewed by Chris Dumez.

Align the timers for all throttled ScriptedAnimationControllers in the process with
a resolution of 30ms, which reduces process wake-ups and thus saves power.

* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::scheduleAnimation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoDrop std::chrono support from Timer class
cdumez@apple.com [Sat, 8 Apr 2017 23:19:16 +0000 (23:19 +0000)]
Drop std::chrono support from Timer class
https://bugs.webkit.org/show_bug.cgi?id=170645

Reviewed by Sam Weinig.

Drop std::chrono support from Timer class now that we prefer using Seconds type.

Source/WebCore:

* css/CSSImageGeneratorValue.cpp:
* html/HTMLPlugInImageElement.cpp:
* html/canvas/WebGLRenderingContextBase.cpp:
* loader/cache/CachedResource.cpp:
(WebCore::deadDecodedDataDeletionIntervalForResourceType):
(WebCore::CachedResource::destroyDecodedDataIfNeeded):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::MemoryCache):
* loader/cache/MemoryCache.h:
(WebCore::MemoryCache::setDeadDecodedDataDeletionInterval):
(WebCore::MemoryCache::deadDecodedDataDeletionInterval):
* page/PerformanceMonitor.cpp:
* page/SuspendableTimer.h:
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::selectionRectsDidChange):
(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
(WebCore::ServicesOverlayController::determineActiveHighlight):
(WebCore::ServicesOverlayController::mouseEvent):
* platform/Timer.h:
(WebCore::TimerBase::startRepeating):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::augmentFireInterval):
(WebCore::TimerBase::augmentRepeatInterval):
(WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::fontForFamily):
* platform/graphics/ca/TileController.cpp:
* platform/graphics/cg/IOSurfacePool.cpp:
* platform/graphics/cg/SubimageCacheWithTimer.cpp:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setTimeout):
(WebCore::XMLHttpRequest::createRequest):
* xml/XMLHttpRequest.h:

Source/WebKit/mac:

* WebView/WebView.mm:
(+[WebView _setCacheModel:]):

Source/WebKit/win:

* WebView.cpp:
(WebView::setCacheModel):

Source/WebKit2:

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::Throttle::Throttle):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::loadThrottleLatency):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkResourceLoadParameters.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::store):
* Shared/CacheModel.cpp:
(WebKit::calculateMemoryCacheSizes):
* Shared/CacheModel.h:
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
* WebProcess/WebProcess.cpp:
(WebKit::m_resourceLoadStatisticsStore):
(WebKit::WebProcess::setCacheModel):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUpdate CSSProperties.json with correct fill-and-stroke status, and other cleanup
simon.fraser@apple.com [Sat, 8 Apr 2017 23:03:16 +0000 (23:03 +0000)]
Update CSSProperties.json with correct fill-and-stroke status, and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=170643

Reviewed by Chris Dumez.
Source/WebCore:

Structural changes:
    - move implementation-related "comment" blocks into "codegen-properties"
    - move status-related "comment" blocks into "status"

Add the concept of "obsolete-category" and "obsolete-url" for properties
like the text-fill-and-stroke properties that used to be specified in SVG but
now have their own module shared with CSS.

Update the status of paint-order, stroke-linecap, stroke-linejoin, stroke-miterlimit
and stroke-width to "supported", overriding the default for css-text-fill-and-stroke which
is "under consideration".

Add display values "flow" and "flow-root" but mark them as unimplemented.

Fix makeprop.pl to ignore comments inside codegen-properties.

* css/CSSProperties.json:
* css/makeprop.pl:
(addProperty):

Tools:

Update the CSSProperties.json style checker to allow:
    - comments in codegen_properties
    - obsolete-category and obsolete-url in specification blocks
    - renamed "done" to "supported"

Fix some references to codegen_properties to be codegen-properties.

* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.validate_status_type):
(JSONCSSPropertiesChecker.validate_property_specification):
(JSONCSSPropertiesChecker.check_codegen_properties):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[CMake] Don't force-enable response files when using Ninja generator
commit-queue@webkit.org [Sat, 8 Apr 2017 22:44:39 +0000 (22:44 +0000)]
[CMake] Don't force-enable response files when using Ninja generator
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.

Not all platforms support response files, and unconditionally enabling
response files is known to cause build failure for some platforms.
Since WebKit builds fine on many platforms without force-enabling
response files and bug 129771 didn't mention which platform required
it, we remove it instead of adding more platform checks.

* Source/cmake/OptionsCommon.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed attempt to fix GTK build after r215138.
cdumez@apple.com [Sat, 8 Apr 2017 21:29:37 +0000 (21:29 +0000)]
Unreviewed attempt to fix GTK build after r215138.

* UIProcess/API/gtk/WebKitUIClient.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemoved an empty directory left behind after r212841.
mitz@apple.com [Sat, 8 Apr 2017 20:36:36 +0000 (20:36 +0000)]
Removed an empty directory left behind after r212841.

* WebKitPrivateFrameworkStubs/iOS/10/CorePrediction.framework: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[MediaStream iOS] Update muted state when interrupted
eric.carlson@apple.com [Sat, 8 Apr 2017 20:35:44 +0000 (20:35 +0000)]
[MediaStream iOS] Update muted state when interrupted
https://bugs.webkit.org/show_bug.cgi?id=170605
<rdar://problem/31503896>

Reviewed by Youenn Fablet.

* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setMuted): Don't check both m_stopped and stopped(). Split code
to  notify observers out into notifyMutedObservers.
(WebCore::RealtimeMediaSource::notifyMutedObservers): Split from setMuted.
* platform/mediastream/RealtimeMediaSource.h:

* platform/mediastream/mac/AVMediaCaptureSource.h:
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Set m_muted directly and
call notifyMutedObservers because the session has already stopped running.
(WebCore::AVMediaCaptureSource::isProducingData): Move from .h file to make debugging easier.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnprefix CSS cursor values grab and grabbing
simon.fraser@apple.com [Sat, 8 Apr 2017 18:48:04 +0000 (18:48 +0000)]
Unprefix CSS cursor values grab and grabbing
https://bugs.webkit.org/show_bug.cgi?id=170543

Reviewed by Jon Lee.

Source/WebCore:

Add support for unprefixed "grab" and "grabbing" values for cursor (retaining
support for the prefixed values) which are now in <https://drafts.csswg.org/css-ui-3/#cursor>

Canonicalize the order of the values based on the order in the spec in the enums
and switch statements.

Tested by fast/css/cursor-parsing.html

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ECursor):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* rendering/style/RenderStyleConstants.h:

Source/WebInspectorUI:

Sort the cursor autosuggestions to match the order in the spec, and add the unprefixed
grab and grabbing values.

* UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

Enhanced the cursor test to check round-tripping of all values.

* fast/css/cursor-parsing-expected.txt:
* fast/css/cursor-parsing.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWebRTC tests gardening
commit-queue@webkit.org [Sat, 8 Apr 2017 18:22:38 +0000 (18:22 +0000)]
WebRTC tests gardening
https://bugs.webkit.org/show_bug.cgi?id=170508

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-08
Reviewed by Eric Carlson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Changing webrtc enabling for ios.

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* platform/ios-wk1/TestExpectations:
* platform/ios-wk2/TestExpectations:
* platform/ios/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMediaStreamTrack id should be preserved by PeerConnection
commit-queue@webkit.org [Sat, 8 Apr 2017 18:08:13 +0000 (18:08 +0000)]
MediaStreamTrack id should be preserved by PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=170624

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-08
Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::createReceiverForSource): Setting track id according source id.

LayoutTests:

* webrtc/video.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoTimer's nextFireInterval() / repeatInterval() should return Seconds
cdumez@apple.com [Sat, 8 Apr 2017 17:09:09 +0000 (17:09 +0000)]
Timer's nextFireInterval() / repeatInterval() should return Seconds
https://bugs.webkit.org/show_bug.cgi?id=170639

Reviewed by Simon Fraser.

Timer's nextFireInterval() / repeatInterval() should return Seconds, not double.

Source/WebCore:

* loader/NavigationScheduler.cpp:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::suspend):
(WebCore::SuspendableTimer::repeatInterval):
* page/SuspendableTimer.h:
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::timeToNextService):
(WebCore::AnimationBase::getTimeToNextEvent):
(WebCore::AnimationBase::goIntoEndingOrLoopingState):
* page/animation/AnimationBase.h:
* page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationControllerPrivate::updateAnimations):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimer):
(WebCore::CSSAnimationControllerPrivate::animationFrameCallbackFired):
* page/animation/CSSAnimationControllerPrivate.h:
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::timeToNextService):
* page/animation/CompositeAnimation.h:
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::timeToNextService):
* page/animation/ImplicitAnimation.h:
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::timeToNextService):
* page/animation/KeyframeAnimation.h:
* platform/ThreadTimers.cpp:
(WebCore::ThreadTimers::sharedTimerFiredInternal):
* platform/Timer.cpp:
(WebCore::TimerBase::nextFireInterval):
* platform/Timer.h:
(WebCore::TimerBase::repeatInterval):
* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setIsInWindow):
(WebCore::TileController::scheduleTileRevalidation):
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed Mac cmake buildfix after r215051, just for fun.
ossy@webkit.org [Sat, 8 Apr 2017 13:43:10 +0000 (13:43 +0000)]
Unreviewed Mac cmake buildfix after r215051, just for fun.
https://bugs.webkit.org/show_bug.cgi?id=169761

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWebAssembly: Fix issue with BrTable targeting a Loop
keith_miller@apple.com [Sat, 8 Apr 2017 05:30:47 +0000 (05:30 +0000)]
WebAssembly: Fix issue with BrTable targeting a Loop
https://bugs.webkit.org/show_bug.cgi?id=170638

Reviewed by Saam Barati.

This fixes the same issue V8 had in: https://github.com/WebAssembly/spec/pull/456#event-1033547537

* wasm/WasmValidate.cpp:
(JSC::Wasm::Validate::ControlData::branchTargetSignature):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoBuild fix: TimerBase::start(double, double) can't be inline and exported,
simon.fraser@apple.com [Sat, 8 Apr 2017 03:53:46 +0000 (03:53 +0000)]
Build fix: TimerBase::start(double, double) can't be inline and exported,
so make it non-inline.

* platform/Timer.cpp:
(WebCore::TimerBase::start):
* platform/Timer.h:
(WebCore::TimerBase::start): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, remove constexpr function since GTK didn't like it.
keith_miller@apple.com [Sat, 8 Apr 2017 03:22:26 +0000 (03:22 +0000)]
Unreviewed, remove constexpr function since GTK didn't like it.

* wtf/PriorityQueue.h:
(WTF::PriorityQueue::parentOf):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModernize WebPage.h
commit-queue@webkit.org [Sat, 8 Apr 2017 02:26:43 +0000 (02:26 +0000)]
Modernize WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=170633

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-07
Reviewed by Joseph Pecoraro.

* UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
* UIProcess/API/C/WKPage.cpp:
(WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
(WebKit::RunJavaScriptAlertResultListener::create):
(WebKit::RunJavaScriptConfirmResultListener::create):
(WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
(WebKit::RunJavaScriptPromptResultListener::create):
(WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
(WKPageSetPageUIClient):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadStringImpl):
(WebKit::WebPage::loadData):
(WebKit::WebPage::scaledSnapshotWithOptions):
(WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction):
(WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
* WebProcess/WebPage/WebPage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION (r203941): iAd Producer widgets fail to play in iBooks
cdumez@apple.com [Sat, 8 Apr 2017 02:23:12 +0000 (02:23 +0000)]
REGRESSION (r203941): iAd Producer widgets fail to play in iBooks
https://bugs.webkit.org/show_bug.cgi?id=170635
<rdar://problem/30797958>

Reviewed by Daniel Bates.

Extend the MouseEvent::initMouseEvent() workaround we added for iAd Producer
to iBooks since the iBooks widgets generated by iAd Producer contain the same
bug.

* dom/MouseEvent.cpp:
(WebCore::MouseEvent::initMouseEventQuirk):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoStart using MonotonicTime / Seconds in Timer class
cdumez@apple.com [Sat, 8 Apr 2017 01:33:55 +0000 (01:33 +0000)]
Start using MonotonicTime / Seconds in Timer class
https://bugs.webkit.org/show_bug.cgi?id=170625

Reviewed by Simon Fraser.

Source/WebCore:

Start using MonotonicTime / Seconds in Timer class. More work will be needed
for the transition to be complete. I plan to do this in a follow-up.

* page/DOMTimer.cpp:
(WebCore::DOMTimer::alignedFireTime):
* page/DOMTimer.h:
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::suspend):
(WebCore::SuspendableTimer::startRepeating):
(WebCore::SuspendableTimer::startOneShot):
(WebCore::SuspendableTimer::repeatInterval):
(WebCore::SuspendableTimer::augmentFireInterval):
(WebCore::SuspendableTimer::augmentRepeatInterval):
* page/SuspendableTimer.h:
(WebCore::SuspendableTimer::startRepeating):
(WebCore::SuspendableTimer::startOneShot):
(WebCore::SuspendableTimer::augmentFireInterval):
(WebCore::SuspendableTimer::augmentRepeatInterval):
* platform/ThreadTimers.cpp:
(WebCore::ThreadTimers::ThreadTimers):
(WebCore::ThreadTimers::setSharedTimer):
(WebCore::ThreadTimers::updateSharedTimer):
(WebCore::ThreadTimers::sharedTimerFiredInternal):
(WebCore::ThreadTimers::fireTimersInNestedEventLoop):
* platform/ThreadTimers.h:
* platform/Timer.cpp:
(WebCore::TimerHeapLessThanFunction::operator()):
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::start):
(WebCore::TimerBase::stop):
(WebCore::TimerBase::nextFireInterval):
(WebCore::TimerBase::heapPop):
(WebCore::TimerBase::updateHeapIfNeeded):
(WebCore::TimerBase::setNextFireTime):
(WebCore::TimerBase::nextUnalignedFireInterval):
* platform/Timer.h:
(WebCore::TimerBase::start):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::repeatInterval):
(WebCore::TimerBase::repeatIntervalSeconds):
(WebCore::TimerBase::augmentFireInterval):
(WebCore::TimerBase::augmentRepeatInterval):
(WebCore::TimerBase::alignedFireTime):
(WebCore::TimerBase::isActive):
* testing/Internals.cpp:
(WebCore::Internals::isTimerThrottled):

Source/WTF:

Add modulo operator to MonotonicTime.

* wtf/MonotonicTime.h:
(WTF::MonotonicTime::operator%):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd a PriorityQueue class
keith_miller@apple.com [Sat, 8 Apr 2017 01:15:09 +0000 (01:15 +0000)]
Add a PriorityQueue class
https://bugs.webkit.org/show_bug.cgi?id=170579

Reviewed by Saam Barati.

Source/JavaScriptCore:

Update Wasm::Worklist to use WTF::PriorityQueue.

* wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::enqueue):
(JSC::Wasm::Worklist::completePlanSynchronously):
(JSC::Wasm::Worklist::stopAllPlansForVM):
(JSC::Wasm::Worklist::~Worklist):
(JSC::Wasm::Worklist::iterate): Deleted.
* wasm/WasmWorklist.h:
(JSC::Wasm::Worklist::isHigherPriority):
(JSC::Wasm::Worklist::Comparator::operator()): Deleted.

Source/WTF:

This patch adds a new PriorityQueue class that is backed by
WTF::Vector.  It also has a number of other niceties such as being
able to iterate the queue and increase or decrease keys.

One note is that increaseKey and decreaseKey are O(n) rather than
O(log(n)).  Traditionally, the lookup of the key is done with a
hash map but that's not feasible here.  This is because unless the
queue's element type is a pointer there is no good way maintain a
persistent reference to every entry in the queue while we sift.
The only way to update the location of an entry is to do a hash
table lookup with the entry's hash but this is probably more
expensive than just doing a linear search.

Also, add comparison operator functions, which can be passed to PriorityQueue.

* WTF.xcodeproj/project.pbxproj:
* wtf/MathExtras.h:
(isLessThan):
(isLessThanEqual):
(isGreaterThan):
(isGreaterThanEqual):
* wtf/PriorityQueue.h: Added.
(WTF::PriorityQueue::size):
(WTF::PriorityQueue::isEmpty):
(WTF::PriorityQueue::enqueue):
(WTF::PriorityQueue::peek):
(WTF::PriorityQueue::dequeue):
(WTF::PriorityQueue::decreaseKey):
(WTF::PriorityQueue::increaseKey):
(WTF::PriorityQueue::begin):
(WTF::PriorityQueue::end):
(WTF::PriorityQueue::isValidHeap):
(WTF::PriorityQueue::parentOf):
(WTF::PriorityQueue::leftChildOf):
(WTF::PriorityQueue::rightChildOf):
(WTF::PriorityQueue::siftUp):
(WTF::PriorityQueue::siftDown):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: Added.
(operator  _z ):
(enqueue):
(dequeue):
(TEST):
(compareMove):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, update 2 media tests after r215120 so they work on iOS.
cdumez@apple.com [Sat, 8 Apr 2017 01:11:10 +0000 (01:11 +0000)]
Unreviewed, update 2 media tests after r215120 so they work on iOS.

Setting the volume is a no-op on iOS so mute the video instead.

* media/video-restricted-invisible-autoplay-allowed-when-visible.html:
* media/video-restricted-invisible-autoplay-not-allowed.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072
msaboff@apple.com [Sat, 8 Apr 2017 00:56:24 +0000 (00:56 +0000)]
Fix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072
https://bugs.webkit.org/show_bug.cgi?id=170580

Reviewed by JF Bastien.

Commented out subtest that expects defineProperty("length") to a getter on a
sealed function shouldn't throw.

* ChakraCore.yaml:
* ChakraCore/test/es6/ES6Function_bugs.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUse audit_token_t instead of pid_t for checking sandbox of other processes
commit-queue@webkit.org [Sat, 8 Apr 2017 00:24:58 +0000 (00:24 +0000)]
Use audit_token_t instead of pid_t for checking sandbox of other processes
https://bugs.webkit.org/show_bug.cgi?id=170616
<rdar://problem/31158189>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-07
Reviewed by Daniel Bates.

Source/WebKit2:

pid's can be reused, so it's theoretically unsafe to use the pid of another process to check whether it's sandboxed.
Use an audit_token_t instead to be more sure that we are not mistakenly checking a new process that has reused the
old process's pid. For the current process, though, we have no xpc_connection_t to the process because we are the process.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::initializeSandbox):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
* Shared/mac/SandboxUtilities.h:
* Shared/mac/SandboxUtilities.mm:
(WebKit::currentProcessIsSandboxed):
(WebKit::connectedProcessIsSandboxed):
(WebKit::processIsSandboxed): Deleted.
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::platformIsBeingDebugged):
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):

Source/WTF:

* wtf/spi/darwin/SandboxSPI.h:
Declare more SPI.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoSource/JavaScriptCore:
commit-queue@webkit.org [Sat, 8 Apr 2017 00:21:26 +0000 (00:21 +0000)]
Source/JavaScriptCore:
WebGPU: implement ComputeCommandEncoder and related components
https://bugs.webkit.org/show_bug.cgi?id=170444

Patch by Yuichiro Kikura <y.kikura@gmail.com> on 2017-04-07
Reviewed by Alex Christensen.

I added some identifiers related with WebGPUComputeCommandEncoder based on the proposal.
https://webkit.org/wp-content/uploads/webgpu-api-proposal.html

* runtime/CommonIdentifiers.h:

Source/WebCore:
WebGPU: implement ComputeCommandEncoder and related components
https://bugs.webkit.org/show_bug.cgi?id=170444

Patch by Yuichiro Kikura <y.kikura@gmail.com> on 2017-04-07
Reviewed by Alex Christensen.

I implemented WebGPUComputeCommandEncoder and related components based on the WebGPU proposal.
https://webkit.org/wp-content/uploads/webgpu-api-proposal.html

Test: fast/canvas/webgpu/webgpu-dispatch.html

* CMakeLists.txt:
* DerivedSources.make:
* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGPUCommandBufferCustom.cpp: Added.
(WebCore::JSWebGPUCommandBuffer::completed):
* html/canvas/WebGPUCommandBuffer.cpp:
(WebCore::WebGPUCommandBuffer::createComputeCommandEncoder):
* html/canvas/WebGPUCommandBuffer.h:
* html/canvas/WebGPUCommandBuffer.idl:
* html/canvas/WebGPUComputeCommandEncoder.cpp: Added.
(WebCore::GPUSizeMake):
(WebCore::WebGPUComputeCommandEncoder::create):
(WebCore::WebGPUComputeCommandEncoder::WebGPUComputeCommandEncoder):
(WebCore::WebGPUComputeCommandEncoder::~WebGPUComputeCommandEncoder):
(WebCore::WebGPUComputeCommandEncoder::setComputePipelineState):
(WebCore::WebGPUComputeCommandEncoder::setBuffer):
(WebCore::WebGPUComputeCommandEncoder::dispatch):
(WebCore::WebGPUComputeCommandEncoder::endEncoding):
* html/canvas/WebGPUComputeCommandEncoder.h: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.h.
(WebCore::WebGPUComputeCommandEncoder::computeCommandEncoder):
* html/canvas/WebGPUComputeCommandEncoder.idl: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
* html/canvas/WebGPUComputePipelineState.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUCommandBuffer.cpp.
(WebCore::WebGPUComputePipelineState::create):
(WebCore::WebGPUComputePipelineState::WebGPUComputePipelineState):
(WebCore::WebGPUComputePipelineState::~WebGPUComputePipelineState):
* html/canvas/WebGPUComputePipelineState.h: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.h.
(WebCore::WebGPUComputePipelineState::computePipelineState):
* html/canvas/WebGPUComputePipelineState.idl: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
* html/canvas/WebGPURenderingContext.cpp:
(WebCore::WebGPURenderingContext::createComputePipelineState):
* html/canvas/WebGPURenderingContext.h:
* html/canvas/WebGPURenderingContext.idl:
* html/canvas/WebGPUSize.h: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
* html/canvas/WebGPUSize.idl: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
* platform/graphics/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::completed):
* platform/graphics/cocoa/GPUComputeCommandEncoderMetal.mm: Added.
(WebCore::MTLSizeMake):
(WebCore::GPUComputeCommandEncoder::GPUComputeCommandEncoder):
(WebCore::GPUComputeCommandEncoder::setComputePipelineState):
(WebCore::GPUComputeCommandEncoder::setBuffer):
(WebCore::GPUComputeCommandEncoder::dispatch):
(WebCore::GPUComputeCommandEncoder::endEncoding):
(WebCore::GPUComputeCommandEncoder::platformComputeCommandEncoder):
* platform/graphics/cocoa/GPUComputePipelineStateMetal.mm: Copied from Source/WebCore/platform/graphics/gpu/GPUCommandBuffer.cpp.
(WebCore::GPUComputePipelineState::GPUComputePipelineState):
(WebCore::GPUComputePipelineState::platformComputePipelineState):
* platform/graphics/gpu/GPUCommandBuffer.cpp:
(WebCore::GPUCommandBuffer::createComputeCommandEncoder):
* platform/graphics/gpu/GPUCommandBuffer.h:
* platform/graphics/gpu/GPUComputeCommandEncoder.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUCommandBuffer.cpp.
(WebCore::GPUComputeCommandEncoder::create):
(WebCore::GPUComputeCommandEncoder::~GPUComputeCommandEncoder):
(WebCore::GPUComputeCommandEncoder::setComputePipelineState):
(WebCore::GPUComputeCommandEncoder::setBuffer):
(WebCore::GPUComputeCommandEncoder::endEncoding):
* platform/graphics/gpu/GPUComputeCommandEncoder.h: Copied from Source/WebCore/platform/graphics/gpu/GPUCommandBuffer.h.
* platform/graphics/gpu/GPUComputePipelineState.cpp: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
(WebCore::GPUComputePipelineState::create):
(WebCore::GPUComputePipelineState::~GPUComputePipelineState):
* platform/graphics/gpu/GPUComputePipelineState.h: Copied from Source/WebCore/platform/graphics/gpu/GPUCommandBuffer.h.
* platform/graphics/gpu/GPUSize.h: Copied from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.

LayoutTests:
WebGPU: implement ComputeCommandEncoder and related components
https://bugs.webkit.org/show_bug.cgi?id=170444

Patch by Yuichiro Kikura <y.kikura@gmail.com> on 2017-04-07
Reviewed by Alex Christensen.

Added a test case to ensure ComputeCommandEncoder is dispatched successfully

* fast/canvas/webgpu/webgpu-dispatch-expected.txt: Added.
* fast/canvas/webgpu/webgpu-dispatch.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoEnable SSE4 and NEON optimizations of libopus where available
commit-queue@webkit.org [Sat, 8 Apr 2017 00:00:45 +0000 (00:00 +0000)]
Enable SSE4 and NEON optimizations of libopus where available
https://bugs.webkit.org/show_bug.cgi?id=170592

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-07
Reviewed by Youenn Fablet.

* Configurations/opus.xcconfig:
* libwebrtc.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WK2][iOS] Add CoreMedia entitlement for WebProcess
bfulgham@apple.com [Fri, 7 Apr 2017 23:59:25 +0000 (23:59 +0000)]
[WK2][iOS] Add CoreMedia entitlement for WebProcess
https://bugs.webkit.org/show_bug.cgi?id=170623
<rdar://problem/30020073>

Reviewed by Youenn Fablet.

Add new "com.apple.tcc.delegated-services" entitlement to allow CoreMedia
to work properly in WebRTC.

* Configurations/WebContent-iOS.entitlements:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoVersioning.
jmarcell@apple.com [Fri, 7 Apr 2017 23:11:32 +0000 (23:11 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoPrivate browsing sessions should not look in keychain for client certificates
commit-queue@webkit.org [Fri, 7 Apr 2017 23:02:41 +0000 (23:02 +0000)]
Private browsing sessions should not look in keychain for client certificates
https://bugs.webkit.org/show_bug.cgi?id=170618
<rdar://problem/18457427>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-07
Reviewed by Dan Bernstein.

Source/WebCore:

Our client certificate testing in WebKit leaves much to be desired.
See rdar://problem/17694210 for reproduction steps.

* platform/spi/cf/CFNetworkSPI.h:
Add some new SPI.

Source/WebKit2:

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoSimple line layout: FlowContents::segmentIndexForRunSlow skips empty runs.
zalan@apple.com [Fri, 7 Apr 2017 22:48:22 +0000 (22:48 +0000)]
Simple line layout: FlowContents::segmentIndexForRunSlow skips empty runs.
https://bugs.webkit.org/show_bug.cgi?id=170552

Reviewed by Antti Koivisto.

Source/WebCore:

The compare function passed to std::lower_bound completely misses empty runs.

Test: fast/text/simple-line-layout-hover-over-subsequent-linebreaks.html

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForRunSlow):

LayoutTests:

* fast/text/simple-line-layout-hover-over-subsequent-linebreaks-expected.txt: Added.
* fast/text/simple-line-layout-hover-over-subsequent-linebreaks.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWe should log how much CPU a background process was using when killing it due to...
cdumez@apple.com [Fri, 7 Apr 2017 22:22:24 +0000 (22:22 +0000)]
We should log how much CPU a background process was using when killing it due to CPU limiting
https://bugs.webkit.org/show_bug.cgi?id=170619

Reviewed by Andreas Kling.

Source/WebCore:

CPUMonitor now passes the CPU usage to the callback when it exceeds the threashold.

* platform/CPUMonitor.cpp:
(WebCore::CPUMonitor::timerFired):
* platform/CPUMonitor.h:

Source/WebKit2:

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateBackgroundCPUMonitorState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse...
ryanhaddad@apple.com [Fri, 7 Apr 2017 22:13:22 +0000 (22:13 +0000)]
Mark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168540

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMark inspector/codemirror/prettyprinting-css.html as a flaky timeout.
ryanhaddad@apple.com [Fri, 7 Apr 2017 22:13:19 +0000 (22:13 +0000)]
Mark inspector/codemirror/prettyprinting-css.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=170615

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAudible autoplay videos should not get paused when outside the viewport
cdumez@apple.com [Fri, 7 Apr 2017 22:04:50 +0000 (22:04 +0000)]
Audible autoplay videos should not get paused when outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=170610
<rdar://problem/31505984>

Reviewed by Eric Carlson.

Source/WebCore:

Audible autoplay videos should not get paused when outside the viewport as this
would be observable by the user.

Test: media/video-restricted-invisible-autoplay-allowed-if-audible.html

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::autoplayPermitted):

LayoutTests:

Add layout test coverage.

* media/video-restricted-invisible-autoplay-allowed-if-audible-expected.txt: Added.
* media/video-restricted-invisible-autoplay-allowed-if-audible.html: Copied from LayoutTests/media/video-restricted-invisible-autoplay-not-allowed.html.
* media/video-restricted-invisible-autoplay-allowed-when-visible.html:
* media/video-restricted-invisible-autoplay-not-allowed.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoReplace ES6SampleBench by ARES-6 in run-benchmark
rniwa@webkit.org [Fri, 7 Apr 2017 21:52:22 +0000 (21:52 +0000)]
Replace ES6SampleBench by ARES-6 in run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=170585

Reviewed by Saam Barati.

Updated the plan file for ES6SampleBench to run ARES-6 instead. Also increased the number of iterations
from 4 to 8 to match teh default, and reduced the number of browser instances to use from 5 to 3.

* Scripts/webkitpy/benchmark_runner/data/patches/ARES-6.patch: Renamed from ES6SampleBench.patch.
* Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan: Renamed from es6bench.plan.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMake cycler page scroll down when a dashboard is too tall for the current viewport...
rniwa@webkit.org [Fri, 7 Apr 2017 21:45:45 +0000 (21:45 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r211382): Complex text with justification erroneously overflows containers
mmaxfield@apple.com [Fri, 7 Apr 2017 21:37:57 +0000 (21:37 +0000)]
REGRESSION(r211382): Complex text with justification erroneously overflows containers
https://bugs.webkit.org/show_bug.cgi?id=170399
<rdar://problem/31442008>

Reviewed by Simon Fraser.

Source/WebCore:

When we perform justification, we adjust glyphs' advances to add extra space between words.
ComplexTextController maintains an invariant where m_totalWidth is equal to the sum of these
advances. However, in RTL text, inserting extra justification space to the left of a glyph
would break that invariant, and would increase the advances of two glyphs instead of just
one. Then, when we go to draw the text, the sum of the advances is wider than m_totalWidth,
which means the glyphs would be drawn outside of their container.

This regressed in r211382 simply because of an oversight and because there were no tests for
this codepath.

Test: ComplexTextControllerTest.TotalWidthWithJustification

* platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):

Tools:

Check for the invariant that the sum of the advances is equal to m_totalWidth.

* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoThrottle / Align DOM Timers in cross-origin iframes to 30fps
cdumez@apple.com [Fri, 7 Apr 2017 20:49:49 +0000 (20:49 +0000)]
Throttle / Align DOM Timers in cross-origin iframes to 30fps
https://bugs.webkit.org/show_bug.cgi?id=170613
<rdar://problem/31506444>

Reviewed by Simon Fraser.

Source/WebCore:

Throttle / Align DOM Timers in cross-origin iframes to 30fps unless the user
has interacted with them, in order to reduce power use.

Test: http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html

* dom/Document.cpp:
(WebCore::Document::domTimerAlignmentInterval):
(WebCore::Document::updateLastHandledUserGestureTimestamp):
* page/DOMTimer.h:

LayoutTests:

Add layout test coverage.

* http/tests/frame-throttling/resources/timer-throttling-frame.html: Added.
* http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe-expected.txt: Added.
* http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFollow-up fix for Soup platform.
wilander@apple.com [Fri, 7 Apr 2017 19:57:03 +0000 (19:57 +0000)]
Follow-up fix for Soup platform.
https://bugs.webkit.org/show_bug.cgi?id=170322

Unreviewed build fix. Error introduced by me in
https://trac.webkit.org/changeset/215104/webkit.

No new tests.

* platform/network/soup/SocketStreamHandleImpl.h:
    Move parameter change to the right
    SocketStreamHandleImpl::create() function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWebAssembly: Module::getOrCreateCodeBlock is wrong
sbarati@apple.com [Fri, 7 Apr 2017 19:42:37 +0000 (19:42 +0000)]
WebAssembly: Module::getOrCreateCodeBlock is wrong
https://bugs.webkit.org/show_bug.cgi?id=170612

Reviewed by Keith Miller.

When we were getting a module's CodeBlock, we were checking if !runnable(),
and if !runnable(), we were re-creating the CodeBlock. This is wrong, since
!runnable() is true while the CodeBlock is compiling. Instead, we should check
if we've finished compiling, and if so, if that compilation failed.

* wasm/WasmModule.cpp:
(JSC::Wasm::Module::getOrCreateCodeBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: DOM/XHR breakpoint tree elements shouldn't persist their represented...
mattbaker@apple.com [Fri, 7 Apr 2017 19:31:06 +0000 (19:31 +0000)]
Web Inspector: DOM/XHR breakpoint tree elements shouldn't persist their represented objects
https://bugs.webkit.org/show_bug.cgi?id=170611
<rdar://problem/31506161>

Reviewed by Joseph Pecoraro.

Prevent tree elements for DOM and XHR breakpoints from persisting their
represented objects.

* UserInterface/Views/ContentView.js:
(WebInspector.ContentView.createFromRepresentedObject):
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
ryanhaddad@apple.com [Fri, 7 Apr 2017 19:28:09 +0000 (19:28 +0000)]
[ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
https://bugs.webkit.org/show_bug.cgi?id=167594

Unreviewed test gardening.

Disable this test because it is still timing out on the bots.

* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215112 268f45cc-cd09-0410-ab3c-d52691b4dbfc