WebKit-https.git
2 years agoRebaseline fast/text/font-face-javascript.html after r212405.
ryanhaddad@apple.com [Thu, 16 Feb 2017 00:42:58 +0000 (00:42 +0000)]
Rebaseline fast/text/font-face-javascript.html after r212405.

Unreviewed test gardening.

* fast/text/font-face-javascript-expected.txt:

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

2 years agoMark media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen...
ryanhaddad@apple.com [Thu, 16 Feb 2017 00:13:40 +0000 (00:13 +0000)]
Mark media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167589

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

2 years agoTry again.
andersca@apple.com [Wed, 15 Feb 2017 23:49:42 +0000 (23:49 +0000)]
Try again.

* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):

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

2 years agoAnother attempt at fixing the Windows build.
andersca@apple.com [Wed, 15 Feb 2017 23:45:33 +0000 (23:45 +0000)]
Another attempt at fixing the Windows build.

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::startDrag):

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

2 years agoAttempt to fix the GTK+ build.
andersca@apple.com [Wed, 15 Feb 2017 23:43:19 +0000 (23:43 +0000)]
Attempt to fix the GTK+ build.

* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):

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

2 years ago[WebIDL] Remove custom conversion from FontFace code by using a Variant
weinig@apple.com [Wed, 15 Feb 2017 23:38:18 +0000 (23:38 +0000)]
[WebIDL] Remove custom conversion from FontFace code by using a Variant
https://bugs.webkit.org/show_bug.cgi?id=168384

Reviewed by Alex Christensen.

Source/WebCore:

Match the font face spec and use a union rather than any in the FontFace constructor.

Test: Added additional cases to fast/text/font-face-javascript.html.

* css/FontFace.cpp:
(WebCore::FontFace::create):
* css/FontFace.h:
* css/FontFace.idl:

LayoutTests:

* fast/text/font-face-javascript.html:

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

2 years agoClean up WebProcessCreationParameters a little
simon.fraser@apple.com [Wed, 15 Feb 2017 23:37:41 +0000 (23:37 +0000)]
Clean up WebProcessCreationParameters a little
https://bugs.webkit.org/show_bug.cgi?id=168349

Reviewed by Alex Christensen.

Initialize the data members better, and rearrange to group the types in a slightly more space-efficient manner.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
* Shared/WebProcessCreationParameters.h:

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

2 years agorevert DOMTextEvent.h and DOMHTMLCanvasElement.h to private header
aakash_jain@apple.com [Wed, 15 Feb 2017 23:29:49 +0000 (23:29 +0000)]
revert DOMTextEvent.h and DOMHTMLCanvasElement.h to private header
https://bugs.webkit.org/show_bug.cgi?id=168393

Reviewed by Dan Bernstein.

Reverting a seemingly accidental change from r204717.

* WebKit.xcodeproj/project.pbxproj:

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

2 years agoMake libwebrtc.dylib
achristensen@apple.com [Wed, 15 Feb 2017 23:23:30 +0000 (23:23 +0000)]
Make libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168335

Reviewed by Dan Bernstein.

We were building libwebrtc as a static library, which would prevent us from weak linking with it.
We need to explicitly export what we use from WebCore or WebKit2, and RTCLogging.mm now needs to
be built on Mac, so we make it not automatically reference counted to make it work on 32-bit El Capitan.

* Configurations/libwebrtc.xcconfig:
* Source/webrtc/api/jsep.h:
* Source/webrtc/api/mediastream.h:
* Source/webrtc/api/notifier.h:
(webrtc::Notifier::Notifier): Deleted.
(webrtc::Notifier::RegisterObserver): Deleted.
(webrtc::Notifier::UnregisterObserver): Deleted.
(webrtc::Notifier::FireOnChanged): Deleted.
* Source/webrtc/api/peerconnectioninterface.h:
* Source/webrtc/base/asyncpacketsocket.h:
* Source/webrtc/base/asyncresolverinterface.h:
(rtc::AsyncResolverInterface::address): Deleted.
* Source/webrtc/base/copyonwritebuffer.h:
(rtc::CopyOnWriteBuffer::CopyOnWriteBuffer): Deleted.
(rtc::CopyOnWriteBuffer::data): Deleted.
(rtc::CopyOnWriteBuffer::cdata): Deleted.
(rtc::CopyOnWriteBuffer::size): Deleted.
(rtc::CopyOnWriteBuffer::capacity): Deleted.
(rtc::CopyOnWriteBuffer::operator=): Deleted.
(rtc::CopyOnWriteBuffer::operator!=): Deleted.
(rtc::CopyOnWriteBuffer::operator[]): Deleted.
(rtc::CopyOnWriteBuffer::SetData): Deleted.
(rtc::CopyOnWriteBuffer::AppendData): Deleted.
(rtc::CopyOnWriteBuffer::swap): Deleted.
(rtc::CopyOnWriteBuffer::IsConsistent): Deleted.
* Source/webrtc/base/event.h:
* Source/webrtc/base/export.h: Added.
* Source/webrtc/base/helpers.h:
* Source/webrtc/base/ipaddress.h:
(rtc::IPAddress::IPAddress): Deleted.
(rtc::IPAddress::~IPAddress): Deleted.
(rtc::IPAddress::operator=): Deleted.
(rtc::IPAddress::family): Deleted.
* Source/webrtc/base/location.h:
(rtc::Location::function_name): Deleted.
(rtc::Location::file_and_line): Deleted.
* Source/webrtc/base/messagehandler.h:
(rtc::MessageHandler::MessageHandler): Deleted.
* Source/webrtc/base/network.h:
(rtc::NetworkManagerBase::ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::set_enumeration_permission): Deleted.
(rtc::BasicNetworkManager::started): Deleted.
(rtc::BasicNetworkManager::set_network_ignore_list): Deleted.
(rtc::BasicNetworkManager::set_ignore_non_default_routes): Deleted.
(rtc::Network::default_local_address_provider): Deleted.
(rtc::Network::set_default_local_address_provider): Deleted.
(rtc::Network::name): Deleted.
(rtc::Network::description): Deleted.
(rtc::Network::prefix): Deleted.
(rtc::Network::prefix_length): Deleted.
(rtc::Network::key): Deleted.
(rtc::Network::ip): Deleted.
(rtc::Network::AddIP): Deleted.
(rtc::Network::GetIPs): Deleted.
(rtc::Network::ClearIPs): Deleted.
(rtc::Network::scope_id): Deleted.
(rtc::Network::set_scope_id): Deleted.
(rtc::Network::ignored): Deleted.
(rtc::Network::set_ignored): Deleted.
(rtc::Network::type): Deleted.
(rtc::Network::set_type): Deleted.
(rtc::Network::GetCost): Deleted.
(rtc::Network::id): Deleted.
(rtc::Network::set_id): Deleted.
(rtc::Network::preference): Deleted.
(rtc::Network::set_preference): Deleted.
(rtc::Network::active): Deleted.
(rtc::Network::set_active): Deleted.
* Source/webrtc/base/proxyinfo.h:
* Source/webrtc/base/refcountedobject.h:
(rtc::RefCountedObject::RefCountedObject): Deleted.
(rtc::RefCountedObject::AddRef): Deleted.
(rtc::RefCountedObject::Release): Deleted.
(rtc::RefCountedObject::HasOneRef): Deleted.
(rtc::RefCountedObject::~RefCountedObject): Deleted.
* Source/webrtc/base/socketaddress.h:
(rtc::SocketAddress::hostname): Deleted.
(rtc::SocketAddress::family): Deleted.
(rtc::SocketAddress::scope_id): Deleted.
(rtc::SocketAddress::SetScopeID): Deleted.
(rtc::SocketAddress::operator !=): Deleted.
* Source/webrtc/base/thread.h:
* Source/webrtc/common_types.h:
* Source/webrtc/common_video/include/video_frame_buffer.h:
(webrtc::I420Buffer::Copy): Deleted.
(webrtc::I420Buffer::CropAndScaleFrom): Deleted.
(webrtc::I420Buffer::ScaleFrom): Deleted.
* Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
* Source/webrtc/p2p/base/basicpacketsocketfactory.h:
* Source/webrtc/p2p/client/basicportallocator.h:
(cricket::BasicPortAllocator::network_ignore_mask): Deleted.
(cricket::BasicPortAllocator::network_manager): Deleted.
(cricket::BasicPortAllocator::socket_factory): Deleted.
* Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm:
(RTCFileName):
* Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
* Source/webrtc/video_frame.h:
(webrtc::VideoFrame::timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp): Deleted.
(webrtc::VideoFrame::timestamp): Deleted.
(webrtc::VideoFrame::transport_frame_id): Deleted.
(webrtc::VideoFrame::set_ntp_time_ms): Deleted.
(webrtc::VideoFrame::ntp_time_ms): Deleted.
(webrtc::VideoFrame::rotation): Deleted.
(webrtc::VideoFrame::set_rotation): Deleted.
(webrtc::VideoFrame::set_render_time_ms): Deleted.
(webrtc::VideoFrame::render_time_ms): Deleted.
(webrtc::VideoFrame::is_texture): Deleted.
* build: Added.
* build/Debug: Added.
* libwebrtc.xcodeproj/project.pbxproj:

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

2 years agoWeb Inspector: Split console should be allowed when docked bottom on Elements/Resourc...
commit-queue@webkit.org [Wed, 15 Feb 2017 22:48:35 +0000 (22:48 +0000)]
Web Inspector: Split console should be allowed when docked bottom on Elements/Resources/Debugger/Storage tabs
https://bugs.webkit.org/show_bug.cgi?id=168385

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2017-02-15
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector.updateDockedState):
If the new docked configuration does not support the split console, hide it.

* UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/StorageTabContentView.js:
(WebInspector.StorageTabContentView.prototype.get supportsSplitContentBrowser):

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

2 years agoDisabled Media Sources should render black/silence
jer.noble@apple.com [Wed, 15 Feb 2017 22:44:25 +0000 (22:44 +0000)]
Disabled Media Sources should render black/silence
https://bugs.webkit.org/show_bug.cgi?id=168281
Source/WebCore:

Reviewed by Eric Carlson.

Test: webrtc/video-disabled-black.html

Pass the enabled flag setting down from the MediaStreamTrackPrivate to its underlying
source, including RealtimeMediaSource and RealtimeOutgoingAudio/VideoSource. When either
enabled is cleared or muted is set, generate empty (black or silent) media, as opposed to
pausing media or (worse) continuing to send generated media.

* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::setEnabled):
(WebCore::MediaStreamTrackPrivate::sourceEnabledChanged):
* platform/mediastream/MediaStreamTrackPrivate.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setEnabled):
* platform/mediastream/RealtimeMediaSource.h:
(WebCore::RealtimeMediaSource::enabled):
* platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSourceMac::render):
* platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::RealtimeOutgoingAudioSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingAudioSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):
* platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
* platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingVideoSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingVideoSource::videoSampleAvailable):
* platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::generateFrame):

LayoutTests:

<rdar://problem/30508003>

Reviewed by Eric Carlson.

* webrtc/video-disabled-black-expected.txt: Added.
* webrtc/video-disabled-black.html: Added.

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

2 years agoREGRESSION(r183937): Fullscreen Exit animation missing mask
jer.noble@apple.com [Wed, 15 Feb 2017 22:43:59 +0000 (22:43 +0000)]
REGRESSION(r183937): Fullscreen Exit animation missing mask
https://bugs.webkit.org/show_bug.cgi?id=168360

Reviewed by Eric Carlson.

In r183937, the fullscreen window's clip layer has it's mask removed when the enter
fullscreen animation completes, allowing low-power video playback mode to be entered. But
this breaks the exit fullscreen animaiton, which assumes a mask is present. Abstract the
mask creation code out into a static helper method, and use it at the beginning of the exit
fullscreen animation to re-create the mask before adding animations to it.

* UIProcess/mac/WKFullScreenWindowController.mm:
(createMask):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):

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

2 years ago[WebRTC] Remove libwebrtc ObjectiveC files that use UIKit
achristensen@apple.com [Wed, 15 Feb 2017 22:43:45 +0000 (22:43 +0000)]
[WebRTC] Remove libwebrtc ObjectiveC files that use UIKit
https://bugs.webkit.org/show_bug.cgi?id=168392

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

Removing default AudioDeviceModule as WebKit is providing its own.
Removing checks for active application in H264 codec as WebKit should be made responsible for that.
Removing no longer needed ObjectiveC files.

* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
* Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc:
* Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
(webrtc::H264VideoToolboxEncoder::Encode):
* libwebrtc.xcodeproj/project.pbxproj:

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

2 years agohttps://bugs.webkit.org/show_bug.cgi?id=168386
lforschler@apple.com [Wed, 15 Feb 2017 22:42:16 +0000 (22:42 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=168386
Remove EFL from build.webkit.org

Reviewed by Alex Christensen

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DeleteStaleBuildFiles.start):
(appendCustomBuildFlags):
(RunWebKitTests.start):
(RunBuiltinsTests):
(Factory.__init__):
(TestFactory.__init__):
(loadBuilderConfig):
(InstallEflDependencies): Deleted.
(RunEflAPITests): Deleted.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._triggeringQueue):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.linux-efl img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):

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

2 years agoRemove ElCapitan flag from flaky test media/modern-media-controls/airplay-support...
ryanhaddad@apple.com [Wed, 15 Feb 2017 22:36:56 +0000 (22:36 +0000)]
Remove ElCapitan flag from flaky test media/modern-media-controls/airplay-support/airplay-support.html.
https://bugs.webkit.org/show_bug.cgi?id=167442

Unreviewed test gardening.

* TestExpectations:
* platform/mac/TestExpectations:

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

2 years agoUnreviewed, rolling out r212169.
achristensen@apple.com [Wed, 15 Feb 2017 22:31:07 +0000 (22:31 +0000)]
Unreviewed, rolling out r212169.

Broke iOS WebInspector

Reverted changeset:

"WebInspector: refactor RemoteInspector to move cocoa specific
code to their own files"
https://bugs.webkit.org/show_bug.cgi?id=166681
http://trac.webkit.org/changeset/212169

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

2 years agoEditing history scripts should not add the contenteditable attribute or override...
wenson_hsieh@apple.com [Wed, 15 Feb 2017 21:50:10 +0000 (21:50 +0000)]
Editing history scripts should not add the contenteditable attribute or override key events
https://bugs.webkit.org/show_bug.cgi?id=168389
<rdar://problem/30529945>

Reviewed by Dan Bernstein.

Clients that hook into editing history tracking should handle setting the contenteditable attribute on the body
rather than have the script add it to the body. Additionally, this script should NOT be overriding any keydown
events. These were initially added for compatibility with a test harness early on, and should have been removed
earlier.

* Scripts/DumpEditingHistory.js:

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

2 years agoUpdate TestExpectations for resourceLoadStatistics tests.
ryanhaddad@apple.com [Wed, 15 Feb 2017 21:22:37 +0000 (21:22 +0000)]
Update TestExpectations for resourceLoadStatistics tests.

Unreviewed test gardening.

* platform/wk2/TestExpectations:

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

2 years agoSkip fast/frames/exponential-frames.html on ios-simulator
ryanhaddad@apple.com [Wed, 15 Feb 2017 21:22:35 +0000 (21:22 +0000)]
Skip fast/frames/exponential-frames.html on ios-simulator

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

2 years agoTry to fix the Windows build.
andersca@apple.com [Wed, 15 Feb 2017 20:49:42 +0000 (20:49 +0000)]
Try to fix the Windows build.

* WebCoreSupport/WebDragClient.h:

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

2 years agoVersioning.
matthew_hanson@apple.com [Wed, 15 Feb 2017 20:03:23 +0000 (20:03 +0000)]
Versioning.

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

2 years agowebkitpy: Fix DarwinPort._get_crash_log()
jbedard@apple.com [Wed, 15 Feb 2017 20:01:01 +0000 (20:01 +0000)]
webkitpy: Fix DarwinPort._get_crash_log()
https://bugs.webkit.org/show_bug.cgi?id=168372
<rdar://problem/30535156>

Reviewed by Daniel Bates.

Callers of _get_crash_log expect a pair to be returned and do not check it's return value.
DarwinPort should return the expected return value for _get_crash_log.

* Scripts/webkitpy/port/darwin.py:
(DarwinPort._get_crash_log): Call parent class's implementation of _get_crash_log.

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

2 years agoFix the build after r212379
wenson_hsieh@apple.com [Wed, 15 Feb 2017 19:55:20 +0000 (19:55 +0000)]
Fix the build after r212379

Rubber-stamped by Anders Carlsson.

* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):

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

2 years agoPass "RequiresCustomURLLoading" in AVURLAsset options dictionary
jer.noble@apple.com [Wed, 15 Feb 2017 19:42:14 +0000 (19:42 +0000)]
Pass "RequiresCustomURLLoading" in AVURLAsset options dictionary
https://bugs.webkit.org/show_bug.cgi?id=168381

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

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

2 years agoSkip fast/frames/exponential-frames.html.
ryanhaddad@apple.com [Wed, 15 Feb 2017 19:24:09 +0000 (19:24 +0000)]
Skip fast/frames/exponential-frames.html.

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoRemove Release flag from flaky test http/tests/xmlhttprequest/auth-reject-protection...
ryanhaddad@apple.com [Wed, 15 Feb 2017 19:24:07 +0000 (19:24 +0000)]
Remove Release flag from flaky test http/tests/xmlhttprequest/auth-reject-protection-space.html.
https://bugs.webkit.org/show_bug.cgi?id=163136

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agoFix build.
andersca@apple.com [Wed, 15 Feb 2017 18:45:10 +0000 (18:45 +0000)]
Fix build.

* page/DragController.cpp:
(WebCore::DragController::doSystemDrag):

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

2 years agoModernize DragClient::startDrag somewhat
andersca@apple.com [Wed, 15 Feb 2017 18:31:00 +0000 (18:31 +0000)]
Modernize DragClient::startDrag somewhat
https://bugs.webkit.org/show_bug.cgi?id=168379

Reviewed by Tim Horton.

Source/WebCore:

Change DragClient::startDrag to take a DragImage instead of a DragImageRef, and to pass along the source action
instead of whether it's a link or not.

* loader/EmptyClients.cpp:
* page/DragClient.h:
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
* page/DragController.h:

Source/WebKit/mac:

Update for WebCore changes.

* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):

Source/WebKit/win:

Update for WebCore changes.

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::startDrag):

Source/WebKit2:

Update for WebCore changes.

* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit::WebDragClient::startDrag):
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::startDrag):

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

2 years agoExpose Symbol.toPrimitive / valueOf on Location instances
cdumez@apple.com [Wed, 15 Feb 2017 18:23:33 +0000 (18:23 +0000)]
Expose Symbol.toPrimitive / valueOf on Location instances
https://bugs.webkit.org/show_bug.cgi?id=168295

Reviewed by Geoffrey Garen, Keith Miller and Mark Lam.

LayoutTests/imported/w3c:

Import test coverage from upstream web-platform-tests.

* web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-valueof-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-valueof.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:

Source/JavaScriptCore:

Cache origin objectProtoValueOf function on JSGlobalObject.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectProtoValueOfFunction):

Source/WebCore:

Expose Symbol.toPrimitive / valueOf on Location instances as per:
- https://html.spec.whatwg.org/#the-location-interface

Firefox and Chrome already comply with the specification.

Tests: fast/dom/location-valueOf-after-object-prototype-update.html
       fast/dom/location-valueOf-after-object-prototype-update2.html
       imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html
       imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-valueof.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

LayoutTests:

Add test coverage for cases where the Object prototype has been updated before
the Location object is constructed.

* fast/dom/location-valueOf-after-object-prototype-update-expected.txt: Added.
* fast/dom/location-valueOf-after-object-prototype-update.html: Added.
* fast/dom/location-valueOf-after-object-prototype-update2-expected.txt: Added.
* fast/dom/location-valueOf-after-object-prototype-update2.html: Added.

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

2 years agoMark media/modern-media-controls/media-controller/media-controller-resize.html as...
ryanhaddad@apple.com [Wed, 15 Feb 2017 18:22:13 +0000 (18:22 +0000)]
Mark media/modern-media-controls/media-controller/media-controller-resize.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168378

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

2 years agoRemove WebIOSEvent interface
aakash_jain@apple.com [Wed, 15 Feb 2017 18:13:18 +0000 (18:13 +0000)]
Remove WebIOSEvent interface
https://bugs.webkit.org/show_bug.cgi?id=168368

Reviewed by Tim Horton.

Source/WebCore:

* platform/ios/WebEvent.h: Removed WebIOSEvent.

Source/WebKit2:

* Shared/NativeWebKeyboardEvent.h: Using WebEvent from WebCore instead of WebIOSEvent.
* Shared/ios/NativeWebKeyboardEventIOS.mm: Ditto.
* Shared/ios/WebIOSEventFactory.h: Ditto.
* Shared/ios/WebIOSEventFactory.mm: Ditto.
* UIProcess/ios/WKContentViewInteraction.h: Ditto.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto.
* UIProcess/API/C/WKPage.cpp: Using WebEvent from WebKit.

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

2 years ago[iOS] Form Validation Bubble should be sensitive to Dynamic Type
cdumez@apple.com [Wed, 15 Feb 2017 18:12:25 +0000 (18:12 +0000)]
[iOS] Form Validation Bubble should be sensitive to Dynamic Type
https://bugs.webkit.org/show_bug.cgi?id=168291
<rdar://problem/30508593>

Reviewed by Tim Horton.

Source/WebCore:

Update ValidationBubble implementation on iOS to stop obeying the
minimum font size setting, given that this setting is not exposed
on iOS. Instead, we now rely on
[UIFont preferredFontForTextStyle:UIFontTextStyleCallout], which
will give us a font whose size obeys Dynamic Type [1] setting on iOS.

[1] https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/

No new tests, no easily testable.

* platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::ValidationBubble):

Tools:

Drop overridePreference() implementation in iOS's UIScriptController
as it was only used for the minimum font size setting and this setting
is not exposed on iOS.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::overridePreference):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:

LayoutTests:

Skip fast/forms/validation-message-minimum-font-size.html on iOS now
that the ValidationBubble implementation no longer obeys the minimum
font size setting on iOS.

* platform/ios-simulator/TestExpectations:

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

2 years agoMark animations/trigger-container-scroll-empty.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 18:09:41 +0000 (18:09 +0000)]
Mark animations/trigger-container-scroll-empty.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168089

Unreivewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agowebkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for...
jbedard@apple.com [Wed, 15 Feb 2017 17:58:05 +0000 (17:58 +0000)]
webkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for _get_crash_log
https://bugs.webkit.org/show_bug.cgi?id=168329
<rdar://problem/30518832>

Reviewed by Daniel Bates.

When testing on device, app_identifier_from_bundle is repeatedly called but the return value will
never change given the same input arguments.  Memoize function for efficiency.

* Scripts/webkitpy/port/darwin.py: Add memoized import.
(DarwinPort):
(DarwinPort.app_identifier_from_bundle): Memoize to avoid extra executions of PlistBuddy.

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

2 years agoMark imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html...
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:44 +0000 (17:56 +0000)]
Mark imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html as flaky on macOS.
https://bugs.webkit.org/show_bug.cgi?id=167975

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoMove TestExpectation from mac-wk1 to mac file.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:42 +0000 (17:56 +0000)]
Move TestExpectation from mac-wk1 to mac file.

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

2 years agoMark inspector/dom-debugger/node-removed.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:39 +0000 (17:56 +0000)]
Mark inspector/dom-debugger/node-removed.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=154610

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agowebkitpy: Remove unused import from darwin.py
jbedard@apple.com [Wed, 15 Feb 2017 17:39:34 +0000 (17:39 +0000)]
webkitpy: Remove unused import from darwin.py
https://bugs.webkit.org/show_bug.cgi?id=168371

Reviewed by Alex Christensen.

* Scripts/webkitpy/port/darwin.py: Remove unused 'time' module.

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

2 years agoUpdate TestExpectations for fast/frames/exponential-frames.html.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:17:29 +0000 (17:17 +0000)]
Update TestExpectations for fast/frames/exponential-frames.html.

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

2 years agoUnreviewed GTK+ gardening. Mark a11y and media tests currently failing.
carlosgc@webkit.org [Wed, 15 Feb 2017 17:09:24 +0000 (17:09 +0000)]
Unreviewed GTK+ gardening. Mark a11y and media tests currently failing.

* platform/gtk/TestExpectations:

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

2 years ago[JSC] Drop PassRefPtr
utatane.tea@gmail.com [Wed, 15 Feb 2017 17:09:22 +0000 (17:09 +0000)]
[JSC] Drop PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=168320

Reviewed by Saam Barati.

Source/JavaScriptCore:

* API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
Use Ref<VM> from the factory function.

* API/JSScriptRef.cpp:
(OpaqueJSScript::create):
Return Ref<> instead.

* API/tests/JSONParseTest.cpp:
(testJSONParse):
Use Ref<VM>.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithoutDisassembly):
Use reference since we already perform null check.

* assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
Take Ref<>&& instead of PassRefPtr<>.

* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::setStub):
(JSC::CallLinkInfo::setSlowStub):
Take Ref<>&& instead of PassRefPtr<>.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
Take RefPtr<SourceProvider>. Currently, the SourceProvider would be nullptr.
We will change it to Ref<SourceProvider> in https://bugs.webkit.org/show_bug.cgi?id=168325.

(JSC::CodeBlock::finishCreation):
Take Ref<TypeSet>&&.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::setJITCode):
Take Ref<>&& instead.

(JSC::CodeBlock::jitCode):
Return RefPtr<> instead.

* bytecode/EvalCodeBlock.h:
(JSC::EvalCodeBlock::create):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

(JSC::EvalCodeBlock::EvalCodeBlock):
* bytecode/FunctionCodeBlock.h:
(JSC::FunctionCodeBlock::create):
(JSC::FunctionCodeBlock::FunctionCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/GlobalCodeBlock.h:
(JSC::GlobalCodeBlock::GlobalCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/ModuleProgramCodeBlock.h:
(JSC::ModuleProgramCodeBlock::create):
(JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/ProgramCodeBlock.h:
(JSC::ProgramCodeBlock::create):
(JSC::ProgramCodeBlock::ProgramCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* debugger/DebuggerParseData.cpp:
(JSC::gatherDebuggerParseDataForSource):
Ensure the provider is not nullptr. It is OK because we already
touch `provider->xxx` values.

* dfg/DFGBlockInsertionSet.cpp:
(JSC::DFG::BlockInsertionSet::insert):
Take Ref<>&& instead.

* dfg/DFGBlockInsertionSet.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
Pass Ref<>&& to appendBlock.

* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
(JSC::DFG::compile):
Pass Ref<Plan>&&. And take Ref<>&& callback.

* dfg/DFGDriver.h:
* dfg/DFGGraph.h:
appendBlock takes Ref<>&&.

(JSC::DFG::Graph::appendBlock):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::jitCode):
* dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::JITFinalizer):
Take Ref<JITCode>&&.

(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
(JSC::DFG::JITFinalizer::finalizeCommon):
Pass compilation reference since we already perform null check.

* dfg/DFGJITFinalizer.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::enqueue):
Take Ref<Plan>&&.

* dfg/DFGWorklist.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
Dereference and pass jitCode & compilation references.

* jit/GCAwareJITStubRoutine.cpp:
(JSC::createJITStubRoutine):
Return Ref<> instead.

* jit/GCAwareJITStubRoutine.h:
(JSC::createJITStubRoutine):
* jit/JIT.cpp:
(JSC::JIT::link):
Pass compilation reference since we already perform null check.

* jit/JITStubRoutine.h:
(JSC::JITStubRoutine::asCodePtr):
Take Ref<>&& instead. And this drops unnecessary null check.

* jit/JITThunks.cpp:
(JSC::JITThunks::hostFunctionStub):
Pass Ref<> to NativeExecutable::create.

* llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):
Use Ref<>&& instead.

* parser/SourceCode.h:
(JSC::SourceCode::SourceCode):
(JSC::SourceCode::subExpression):
Add constructors taking Ref<>&&.
We still have constructors that take RefPtr<>&&.
We will change it to Ref<SourceProvider>&& in https://bugs.webkit.org/show_bug.cgi?id=168325.

* parser/UnlinkedSourceCode.h:
(JSC::UnlinkedSourceCode::UnlinkedSourceCode):
Add constructors taking Ref<>&&.
We still have constructors that take RefPtr<>&&.
We will change it to Ref<SourceProvider>&& in https://bugs.webkit.org/show_bug.cgi?id=168325.

* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::addCompilation):
Take Ref<Compilation>&&.

* profiler/ProfilerDatabase.h:
Change data structures to hold Ref<> instead of RefPtr<>.

* runtime/EvalExecutable.h:
(JSC::EvalExecutable::generatedJITCode):
Return Ref<> instead.

* runtime/ExecutableBase.h:
(JSC::ExecutableBase::generatedJITCodeForCall):
(JSC::ExecutableBase::generatedJITCodeForConstruct):
(JSC::ExecutableBase::generatedJITCodeFor):
Return Ref<> instead.

* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setInputCursor):
And take Ref<> in this method.

* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::inputCursor):
Change m_inputCursor from RefPtr<> to Ref<>.

* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
(JSC::JSPropertyNameEnumerator::finishCreation):
Take Ref<PropertyNameArray>&&.

* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
* runtime/JSString.h:
(JSC::JSString::JSString):
Take Ref<StringImpl>&& since we do not allow nullptr in this constructor.

(JSC::JSString::create):
(JSC::JSString::createHasOtherOwner):
Take Ref<StringImpl>&& in these factory functions. And drop unnecessary assertions.

(JSC::jsSingleCharacterString):
Use StringImpl::create() which returns Ref<>.

(JSC::jsNontrivialString):
Dereference impl() since we ensure that `s.length() > 1`.

(JSC::jsString):
Use releaseNonNull() since we ensure that `s.length() > 1`.

(JSC::jsOwnedString):
Use releaseNonNull() since we ensure that `s.length() > 1`.

* runtime/ModuleProgramExecutable.h:
* runtime/NativeExecutable.cpp:
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::finishCreation):
Take Ref<JITCode>&&.

* runtime/NativeExecutable.h:
* runtime/ProgramExecutable.h:
Return Ref<JITCode>.

* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::releaseData):
(JSC::PropertyNameArray::setData): Deleted.
This is not used.

* runtime/RegExpKey.h:
(JSC::RegExpKey::RegExpKey):
Take RefPtr<>&&.

* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::rep):
Return StringImpl& since m_reps is already initialized in the constructor.

(JSC::SmallStrings::createEmptyString):
Dereference StringImpl::empty().

(JSC::SmallStrings::createSingleCharacterString):
Use StringImpl&.

(JSC::SmallStrings::singleCharacterStringRep):
Return StringImpl&.

(JSC::SmallStrings::initialize):
Use AtomicStringImpl::add instead.

* runtime/SmallStrings.h:
* runtime/Structure.cpp:
(JSC::Structure::toStructureShape):
Return Ref<>.

* runtime/Structure.h:
* runtime/TypeLocationCache.cpp:
(JSC::TypeLocationCache::getTypeLocation):
Take RefPtr<TypeSet>&&.

* runtime/TypeLocationCache.h:
* runtime/TypeProfilerLog.cpp:
Pass Ref<>&&.

(JSC::TypeProfilerLog::processLogEntries):
* runtime/TypeSet.cpp:
(JSC::TypeSet::addTypeInformation):
Take RefPtr<>&& since it can be nullptr.
And clean up "not found" code.

(JSC::TypeSet::allStructureRepresentations):
Use range based iteration.

(JSC::StructureShape::leastCommonAncestor):
We found that this method accidentally takes `const Vector<>` instead of `const Vector<>&`.
And internally, we just use raw pointers since these StructureShapes are owned by the m_proto trees which starts from the given Vector<>.

(JSC::StructureShape::hasSamePrototypeChain):
Take const reference instead. And use raw pointers internally.

(JSC::StructureShape::merge):
Take Ref<>&&.

* runtime/TypeSet.h:
(JSC::StructureShape::setProto):
Take Ref<>&&.

* runtime/VM.cpp:
(JSC::VM::getHostFunction):
Pass Ref<>&&.

(JSC::VM::queueMicrotask):
Take and pass Ref<>&&.

* runtime/VM.h:
(JSC::QueuedTask::QueuedTask):
Take Ref<>&&.

* tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
We need this change due to Ref<>&& and RefPtr<>&& ambiguity of SourceCode constructors.
Once SourceCode is fixed to only take Ref<>&&, this change is unnecessary.

Source/WebCore:

* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
Use Ref and pass it to SourceCode.

* replay/ReplayController.cpp:
(WebCore::ReplayController::frameNavigated):
Pass reference.

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

2 years agoUnreviewed. Add ENABLE_INTERSECTION_OBSERVER option to CMake.
carlosgc@webkit.org [Wed, 15 Feb 2017 16:35:39 +0000 (16:35 +0000)]
Unreviewed. Add ENABLE_INTERSECTION_OBSERVER option to CMake.

It's now a runtime enabled feature so we should always build it.

Fixes: intersection-observer/intersection-observer-entry-interface.html
       intersection-observer/intersection-observer-interface.html

* Source/cmake/WebKitFeatures.cmake:

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

2 years ago[Mac][cmake] Unreviewed trivial buildfix after r212169.
ossy@webkit.org [Wed, 15 Feb 2017 16:26:29 +0000 (16:26 +0000)]
[Mac][cmake] Unreviewed trivial buildfix after r212169.
https://bugs.webkit.org/show_bug.cgi?id=166681

* PlatformMac.cmake: Removed inspector/remote/RemoteInspectorXPCConnection.mm.

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

2 years agoUnreviewed GTK+ gardening. Skip tests that need DASHBOARD_SUPPORT enabled.
carlosgc@webkit.org [Wed, 15 Feb 2017 15:53:41 +0000 (15:53 +0000)]
Unreviewed GTK+ gardening. Skip tests that need DASHBOARD_SUPPORT enabled.

* platform/gtk/TestExpectations:

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

2 years agoUnreviewed GTK+ gardening. Mark several IndexedDB tests as crashing.
carlosgc@webkit.org [Wed, 15 Feb 2017 15:38:08 +0000 (15:38 +0000)]
Unreviewed GTK+ gardening. Mark several IndexedDB tests as crashing.

* platform/gtk/TestExpectations:

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

2 years ago[GStreamer][MSE][EME] Handle protection event also at decryptor level
calvaris@igalia.com [Wed, 15 Feb 2017 15:14:13 +0000 (15:14 +0000)]
[GStreamer][MSE][EME] Handle protection event also at decryptor level
https://bugs.webkit.org/show_bug.cgi?id=168316

Reviewed by Žan Doberšek.

So far in MSE pipeline we were handling the encryption events
only when they arrived at the demuxer but this won't work in any
kind of key renegotiation as the event will never arrive. Now we
connect to the element messages, check for the drm id and send it
to the private player for processing.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::appendPipelineElementMessageCallback):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleElementMessage):
* platform/graphics/gstreamer/mse/AppendPipeline.h:

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

2 years agoUnreviewed GTK+ gardening. Rebaseline http/tests/security/video-cross-origin-accessfa...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:33:41 +0000 (14:33 +0000)]
Unreviewed GTK+ gardening. Rebaseline http/tests/security/video-cross-origin-accessfailure.html.

* http/tests/security/video-cross-origin-accessfailure-expected.txt:

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

2 years ago[SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotA...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:22:42 +0000 (14:22 +0000)]
[SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotAllowStoredCredentials
https://bugs.webkit.org/show_bug.cgi?id=168364

Reviewed by Michael Catanzaro.

This can happen if a previous load with allowed to use stored credentials authenticated successfully, saving the
credentials in libsoup. It's actually a libsoup bug, but since it's causing layout test failures and we have
patches for them, let's patch out jhbuild until we have a new libsoup version to depend on.

Fixes: http/tests/security/credentials-from-different-domains.html
       http/tests/xmlhttprequest/cross-origin-no-authorization.html

* gtk/jhbuild.modules:
* gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Added.
* gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Added.

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

2 years agoUnreviewed GTK+ gardening. Mark http/tests/security/credentials-iframes.html as expec...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:10:54 +0000 (14:10 +0000)]
Unreviewed GTK+ gardening. Mark http/tests/security/credentials-iframes.html as expected failure.

* platform/gtk/TestExpectations:

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

2 years ago[EME] MediaKeys::setServerCertificate() must resolve with 'false' when certificates...
zandobersek@gmail.com [Wed, 15 Feb 2017 11:47:19 +0000 (11:47 +0000)]
[EME] MediaKeys::setServerCertificate() must resolve with 'false' when certificates aren't supported
https://bugs.webkit.org/show_bug.cgi?id=168362

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

In MediaKeys::setServerCertificate(), when the CDM implementation
doesn't support server certificates, it should resolve the promise
with the 'false' value, as mandated by the specification, and not
reject it.

A test case in mock-MediaKeys-setServerCertificate.html is updated.

* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::setServerCertificate):

LayoutTests:

Update the certificates-not-supported test case, making sure the promise
is resolved with the 'false' result.

* media/encrypted-media/mock-MediaKeys-setServerCertificate-expected.txt:
* media/encrypted-media/mock-MediaKeys-setServerCertificate.html:

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

2 years agoREGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space...
commit-queue@webkit.org [Wed, 15 Feb 2017 10:00:22 +0000 (10:00 +0000)]
REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
https://bugs.webkit.org/show_bug.cgi?id=168115

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-15
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:

Source/WebCore:

In r206014 HTTPHeaderMap::add() was updated to combine common headers with ',' instead of ", " to match the
fetch specification, but the uncommon headers are still combined with ", ".

* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::add):

LayoutTests:

* http/tests/xmlhttprequest/check-combining-headers-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
* platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.

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

2 years agoAn assertion failure inside removeChildren
rniwa@webkit.org [Wed, 15 Feb 2017 09:57:28 +0000 (09:57 +0000)]
An assertion failure inside removeChildren
https://bugs.webkit.org/show_bug.cgi?id=168069

Reviewed by Brent Fulgham.

Source/WebCore:

The bug was caused by notifyRemovePendingSheet executing scripts synchronously where it shouldn't.

Removed the call to notifyRemovePendingSheetIfNeeded in notifyChildNodeRemoved. Instead, invoke it
in its call sites when they're safe.

Test: http/tests/security/move-iframe-within-focus-handler-inside-removal.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::notifyChildInserted):
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::replaceAllChildren):
(WebCore::ContainerNode::removeChildren):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::notifyChildNodeRemoved):

LayoutTests:

* http/tests/security/move-iframe-within-focus-handler-inside-removal-expected.txt: Added.
* http/tests/security/move-iframe-within-focus-handler-inside-removal.html: Added.

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

2 years ago[GStreamer] Several tests are timing out after r212349
carlosgc@webkit.org [Wed, 15 Feb 2017 08:58:23 +0000 (08:58 +0000)]
[GStreamer] Several tests are timing out after r212349
https://bugs.webkit.org/show_bug.cgi?id=168359

Reviewed by Žan Doberšek.

This is because they are failing the cross origin check. Those tests are not using WebKitWebSrc, but
GstFileSrc. I didn't consider the case of source not being a WebKitWebSrc.

Fixes several timeout instroduced in r212349.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin): Split the source check in two. First check if
it's nullptr, and return false. Then check if it's a WebKitWebSrc and return true if it isn't.

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

2 years agoRevalidate URL after events that could trigger navigations
bfulgham@apple.com [Wed, 15 Feb 2017 07:50:00 +0000 (07:50 +0000)]
Revalidate URL after events that could trigger navigations
https://bugs.webkit.org/show_bug.cgi?id=168071
<rdar://problem/30450379>

Reviewed by Ryosuke Niwa.

Source/WebCore:

When arbitary javascript runs during a load, we should revalidate
the URLs involved to make sure they are still valid.

Tests: http/tests/plugins/navigation-during-load-embed.html
       http/tests/plugins/navigation-during-load.html

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget): Confirm we are still allowed to
load the URL after executing JS callbacks.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed): Split existing function into
existing protected method, and a new public method that checks a passed URL
for validity.
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::isURLAllowed):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget): Confirm we are still allowed to
load the URL after executing JS callbacks.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame): Ditto.

LayoutTests:

* http/tests/plugins/navigation-during-load-embed-expected.txt: Added.
* http/tests/plugins/navigation-during-load-embed.html: Added.
* http/tests/plugins/navigation-during-load-expected.txt: Added.
* http/tests/plugins/navigation-during-load.html: Added.

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

2 years ago[GStreamer] Implement MediaPlayerPrivate::hasSingleSecurityOrigin()
carlosgc@webkit.org [Wed, 15 Feb 2017 07:44:45 +0000 (07:44 +0000)]
[GStreamer] Implement MediaPlayerPrivate::hasSingleSecurityOrigin()
https://bugs.webkit.org/show_bug.cgi?id=168322

Reviewed by Žan Doberšek.

It currently returns true unconditionally. Add resolved-location property to WebKitWebSourceGStreamer to track
the resolved url returned by the server and use that from MediaPlayerPrivate to check if there was a cross
origin redirection.

Fixes: http/tests/security/canvas-remote-read-remote-video-redirect.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcFinalize):
(webKitWebSrcGetProperty):
(webKitWebSrcStart):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(StreamingClient::handleResponseReceived):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

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

2 years agoUnreviewed, rolling out r211967.
carlosgc@webkit.org [Wed, 15 Feb 2017 07:37:55 +0000 (07:37 +0000)]
Unreviewed, rolling out r211967.

Caused rendering issues in HiDPI

Reverted changeset:

"[GTK] scroll with transparent background not repainted after
scrollY >= 32768"
https://bugs.webkit.org/show_bug.cgi?id=154283
http://trac.webkit.org/changeset/211967

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

2 years ago[GTK] Update cookie manager API to properly work with ephemeral sessions
carlosgc@webkit.org [Wed, 15 Feb 2017 07:34:59 +0000 (07:34 +0000)]
[GTK] Update cookie manager API to properly work with ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=168230

Reviewed by Michael Catanzaro.

Source/WebCore:

Add implementation for deleteAllCookiesModifiedSince. Note that this only works when the timespan is 0, we need
new libsoup API to support removing recently modified cookies.

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::deleteAllCookiesModifiedSince):

Source/WebKit2:

WebKitCookieManager is associated to a particular WebKitWebContext and uses the default session ID
unconditionally. It should be associated to a WebKitWebsiteDataManager instead and use its session ID. This
patch also adds support for handling cookies with WebKitWebsiteDataManager and deprecates
webkit_cookie_manager_get_domains_with_cookies(), webkit_cookie_manager_delete_cookies_for_domain() and
webkit_cookie_manager_delete_all_cookies(). It also adds API to get the the WebKitWebsiteDataManager of a
WebKitWebView, since it's the only way to get the WebKitCookieManager associated to an ephemeral web view.

* UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkitCookieManagerDispose): Stop observing cookie changes.
(webkit_cookie_manager_class_init): Add dispose implementation.
(webkitCookieManagerCreate): Create the WebKitCookieManager with a WebKitWebsiteDataManager.
(webkit_cookie_manager_set_persistent_storage): Work with all contexts having the session.
(webkit_cookie_manager_set_accept_policy): Ditto.
(webkit_cookie_manager_get_accept_policy): Use any context having the session.
(webkit_cookie_manager_get_domains_with_cookies): Deprecate and implement using WebKitWebsiteDataManager.
(webkit_cookie_manager_get_domains_with_cookies_finish): Ditto.
(webkit_cookie_manager_delete_cookies_for_domain): Ditto.
(webkit_cookie_manager_delete_all_cookies): Ditto.
* UIProcess/API/gtk/WebKitCookieManager.h:
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp:
(attachCustomProtocolManagerClientToContext):
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
(attachDownloadClientToContext):
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
(attachInjectedBundleClientToContext):
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
(registerSecurityPolicyForURIScheme):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed): Call webkitWebsiteDataManagerAddProcessPool.
(webkitWebContextDispose): Call webkitWebsiteDataManagerRemoveProcessPool.
(webkit_web_context_get_cookie_manager): Return the WebKitCookieManager of the WebKitWebsiteDataManager.
(webkitWebContextGetProcessPool): Make it return a reference.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Call webkitWebsiteDataManagerAddProcessPool when creating a ephemeral web view.
(webkitWebViewDispose): Call webkitWebsiteDataManagerRemoveProcessPool if needed.
(webkit_web_view_get_website_data_manager): Return the WebKitWebsiteDataManager or the context one.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebsiteData.cpp: Add support for Cookies type.
(recordContainsSupportedDataTypes):
(toWebKitWebsiteDataTypes):
* UIProcess/API/gtk/WebKitWebsiteData.h:
* UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
(_WebKitWebsiteDataManagerPrivate::~_WebKitWebsiteDataManagerPrivate): Ensure all contexts were unregistered.
(webkitWebsiteDataManagerAddProcessPool): Register the process pool in the session.
(webkitWebsiteDataManagerRemoveProcessPool): Unregister the process poll from the session.
(webkitWebsiteDataManagerGetProcessPools): Return the list of proces pools registered.
(webkit_website_data_manager_get_cookie_manager): Return the WebKitCookieManager.
(toWebsiteDataTypes): Add Cookies.
* UIProcess/API/gtk/WebKitWebsiteDataManager.h:
* UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
* UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Handle localhost as a special case here for backwards
compatibility.

Tools:

Update unit tests and add new cases for the new API.

* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataEphemeral):
(testWebsiteDataCookies):
(beforeAll):

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

2 years ago[WebIDL] Improve serializer = { inherit }
commit-queue@webkit.org [Wed, 15 Feb 2017 07:12:05 +0000 (07:12 +0000)]
[WebIDL] Improve serializer = { inherit }
https://bugs.webkit.org/show_bug.cgi?id=168293

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-14
Reviewed by Youenn Fablet.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Expose a serialize() method on the interface.

(GenerateSerializerFunction):
(GenerateSerializerAttributesForInterface): Deleted.
Subclasses that have `serializer = { inherit }` can use
their parent's serialize() method to get the initial object.
We can now collapse everything back into a single function
because we only generate code for our own attributes.

* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::serialize):
(WebCore::jsTestNodePrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::serialize):
(WebCore::jsTestObjPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::serialize):
(WebCore::jsTestSerializationPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerialization.h:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInherit::serialize):
(WebCore::jsTestSerializationInheritPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerializationInherit.h:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinal::serialize):
(WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
Updated results.

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

2 years agoMove methods from WebCoreThread.h to WebCoreThreadInternal.h
aakash_jain@apple.com [Wed, 15 Feb 2017 05:19:57 +0000 (05:19 +0000)]
Move methods from WebCoreThread.h to WebCoreThreadInternal.h
https://bugs.webkit.org/show_bug.cgi?id=168326

Reviewed by Alexey Proskuryakov.

* platform/ios/wak/WebCoreThread.h: Move methods WebThreadRunLoop and WebThreadCurrentContext to WebCoreThreadInternal.h
* platform/ios/wak/WebCoreThreadInternal.h: Ditto.
* platform/ios/wak/WebCoreThreadRun.cpp: Removed WebCoreThread.h as it is already included by WebCoreThreadInternal.h
* platform/ios/wak/WKGraphics.mm: Included WebCoreThreadInternal.h, it subsequently includes WebCoreThread.h
* inspector/InspectorTimelineAgent.cpp: Ditto.
* page/mac/PageMac.mm: Ditto.
* platform/cf/MainThreadSharedTimerCF.cpp: Ditto.
* platform/cocoa/MemoryPressureHandlerCocoa.mm: Ditto.
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp: Ditto.
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Ditto.
* bindings/js/CommonVM.cpp: included WebCoreThreadInternal.h

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

2 years ago[WK2] Support data interaction on links
wenson_hsieh@apple.com [Wed, 15 Feb 2017 05:05:47 +0000 (05:05 +0000)]
[WK2] Support data interaction on links
https://bugs.webkit.org/show_bug.cgi?id=168331
<rdar://problem/30200837>

Reviewed by Tim Horton.

Source/WebCore:

Adds support for data interaction on links at the WebCore layer, refactoring some drag-and-drop code on the Mac
along the way. Also adds two new TestWebKitAPI unit tests in DataInteractionTests.mm: LinkToInput and
BackgroundImageLinkToInput (see Tools/ChangeLog for more information).

* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):

Introduce platformAdjustDragImageForDeviceScaleFactor, and special-case drag images for links to anchor at the
bottom center.

* platform/DragImage.cpp:
(WebCore::platformAdjustDragImageForDeviceScaleFactor):

Scale the drag image up by the device scale factor. In WebDragClient, we scale the image back down to the
original size. It seems the reason we do this extra dance is because the image sizing heuristic in between
assumes that the image dimensions are for a non-retina device, but this work should really not be necessary if
we tweak the heuristic to account for deviceScaleFactor. We should address this in a separate patch.

* platform/DragImage.h:
* platform/graphics/Path.h:

Source/WebKit2:

Adds support for data interaction on links at the client layer for WebKit2. This involves several changes,
detailed in the per-method changes below:

* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

Add adjustedPointForNodeRespondingToClickEvents (the request point, adjusted to take nodeRespondingToClickEvents
into account) to InteractionInformationAtPosition. The web process sends this adjusted point over to the UI
process so that the UI process will be able to begin a data interaction at the adjusted point rather than the
request point, which is necessary for small clickable (and data-interactive) elements such as links.

* UIProcess/ios/WKActionSheet.h:
* UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet presentSheet:]):
(-[WKActionSheet _presentationRectForStyle:]):
(-[WKActionSheet updateSheetPosition]):
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant presentationRectForElementUsingClosestIndicatedRect]):
(-[WKActionSheetAssistant presentationRectForIndicatedElement]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]):
(-[WKActionSheetAssistant needsLinkIndicator]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant cleanupSheet]):
(-[WKActionSheetAssistant _presentationStyleForImageAtElementRect:]): Deleted.

Add support for the WKActionSheetPresentAtClosestIndicatorRect style of presenting an action sheet. When
showing the action sheet for a link and there is space along the margins to show a popover in the first place,
we will now target the popover rect to the bounding rect of the set of adjacent (or nearly-adjacent) element
rects closest to the user's touch location. This covers cases where the link is split into multiple rects due to
a line break, when the link is on multiple lines with a jagged rect per line, and when both of the above are
true.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsInDataInteractionContent:]):
(-[WKContentView _positionInformationDidChange:]):
(-[WKContentView positionInformationForActionSheetAssistant:]):
(-[WKContentView updatePositionInformationForActionSheetAssistant:]):

Include link indicator data in the position information request if needed. As the FIXME suggests, this can be
improved by asynchronously presenting the action sheet assistant after the request returns, and is something we
should address in the future.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):

Tools:

Adds 2 unit tests checking that data interaction from a link (with or without a background image) into an
editable area results in the link URL being inserted.

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

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

2 years ago[CURL] ResourceError created with error information should have default type Type...
commit-queue@webkit.org [Wed, 15 Feb 2017 02:50:58 +0000 (02:50 +0000)]
[CURL] ResourceError created with error information should have default type Type::General
https://bugs.webkit.org/show_bug.cgi?id=168345

Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-14
Reviewed by Alex Christensen.

ResourceError has separate implementaion for each platform
so that the interface should be same.
On CURL port, the constructor with error information has
different default value on `type` parameter. It is Type::Null but other implementaitons have Type::General.
This causes some ResourceError is created inconsistent.

* platform/network/curl/ResourceError.h:
(WebCore::ResourceError::ResourceError):

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

2 years agoWeb Inspector: RTL: adjust padding of dashboard icons
bburg@apple.com [Wed, 15 Feb 2017 01:50:27 +0000 (01:50 +0000)]
Web Inspector: RTL: adjust padding of dashboard icons
https://bugs.webkit.org/show_bug.cgi?id=168340

Reviewed by Matt Baker.

Extract the direction-dependent padding into a "local" variable.
Use two rules to apply it to whichever is the leading side.

While we tend to use leading/trailing in Apple layout technologies,
I think the CSS logical properties specification sticks to using
-start and -end, so let's use that nomenclature where we can.

* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item > div):
(body[dir=ltr] .toolbar .dashboard.default > .item > div):
(body[dir=rtl] .toolbar .dashboard.default > .item > div):

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

2 years ago[WebRTC] Add support for libwebrtc negotiation needed event
commit-queue@webkit.org [Wed, 15 Feb 2017 01:23:39 +0000 (01:23 +0000)]
[WebRTC] Add support for libwebrtc negotiation needed event
https://bugs.webkit.org/show_bug.cgi?id=168267

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-14
Reviewed by Eric Carlson.

Source/WebCore:

Test: webrtc/negotiatedneeded-event-addStream.html

Moving generic code (markAsNeedingNegotiation) from MediaEndpointPeerConnection to PeerConnectionBackend.
This code handles the control of sending or not the negotiationneeded event.

Updating mock to use markAsNeedingNegotiation when streams are changed.
Updating libwebrtc backend to call markAsNeedingNegotiation when required by libwebrtc implementation.

* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::setLocalDescriptionTask):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::markAsNeedingNegotiation):
* Modules/mediastream/PeerConnectionBackend.h:
(WebCore::PeerConnectionBackend::isNegotiationNeeded):
(WebCore::PeerConnectionBackend::clearNegotiationNeededState):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnRenegotiationNeeded):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnection::AddStream):
(WebCore::MockLibWebRTCPeerConnection::RemoveStream):

LayoutTests:

* fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt:
* platform/gtk/fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt.
* webrtc/negotiatedneeded-event-addStream-expected.txt: Added.
* webrtc/negotiatedneeded-event-addStream.html: Added.

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

2 years agoMark media/modern-media-controls/placard-support/placard-support-airplay.html as...
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:35:56 +0000 (00:35 +0000)]
Mark media/modern-media-controls/placard-support/placard-support-airplay.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167441

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoMark media/video-zoom.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:29:12 +0000 (00:29 +0000)]
Mark media/video-zoom.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168087

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoUnreviewed followup to r212330 to fix Debug builds
beidson@apple.com [Wed, 15 Feb 2017 00:20:37 +0000 (00:20 +0000)]
Unreviewed followup to r212330 to fix Debug builds

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Add call to relaxAdoptionRequirement().

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

2 years agoSource/WebKit2:
commit-queue@webkit.org [Wed, 15 Feb 2017 00:11:36 +0000 (00:11 +0000)]
Source/WebKit2:
Add new WKWebKit Cocoa API for getContentsAsString.
https://bugs.webkit.org/show_bug.cgi?id=168147
<rdar://problem/30502539>

Patch by Jason Rinn <jrinn@apple.com> on 2017-02-14
Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getContentsAsStringWithCompletionHandler:]): New API for getContentsAsString.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:
Add a test for new WebKit Cocoa API, _getContentsAsString.
https://bugs.webkit.org/show_bug.cgi?id=168147
<rdar://problem/30502539>

Patch by Jason Rinn <jrinn@apple.com> on 2017-02-14
Reviewed by Tim Horton.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Added.
(TEST):

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

2 years agoUnreviewed, rolling out r212326.
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:08:33 +0000 (00:08 +0000)]
Unreviewed, rolling out r212326.

This change broke certain build configurations.

Reverted changeset:

"Make libwebrtc.dylib"
https://bugs.webkit.org/show_bug.cgi?id=168335
http://trac.webkit.org/changeset/212326

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

2 years agoWebsite policies: iframes should respect the autoplay policy of the top-level document
mrajca@apple.com [Tue, 14 Feb 2017 23:37:26 +0000 (23:37 +0000)]
Website policies: iframes should respect the autoplay policy of the top-level document
https://bugs.webkit.org/show_bug.cgi?id=168333

Reviewed by Alex Christensen.

Source/WebCore:

API tests were added.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):

Tools:

* TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Added.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

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

2 years agoRename preferLowPowerWebGLRendering setting to forceWebGLUsesLowPower
dino@apple.com [Tue, 14 Feb 2017 23:31:12 +0000 (23:31 +0000)]
Rename preferLowPowerWebGLRendering setting to forceWebGLUsesLowPower
https://bugs.webkit.org/show_bug.cgi?id=168339
Source/WebCore:

<rdar://problem/30522092>

Reviewed by Simon Fraser.

Use a setting name that more clearly reflects what it is doing. It's not
preferring to use the low-power GPU, it's forcing it.

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
* page/Settings.in:

Source/WebKit/mac:

Reviewed by Simon Fraser.

Use a better name.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences forceLowPowerGPUForWebGL]):
(-[WebPreferences setForceLowPowerGPUForWebGL:]):
(-[WebPreferences preferLowPowerWebGLRendering]): Deleted.
(-[WebPreferences setPreferLowPowerWebGLRendering:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

2 years agoSpeculative fix for: Crash in DocumentThreadableLoader::redirectReceived.
beidson@apple.com [Tue, 14 Feb 2017 23:26:38 +0000 (23:26 +0000)]
Speculative fix for: Crash in DocumentThreadableLoader::redirectReceived.
<rdar://problem/29899473> and https://bugs.webkit.org/show_bug.cgi?id=168337

Reviewed by Geoffrey Garen.

No new tests (Unable to find a reproduction).

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):

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

2 years ago[WebRTC] Remove obsolete WebRTC stats API
commit-queue@webkit.org [Tue, 14 Feb 2017 23:17:08 +0000 (23:17 +0000)]
[WebRTC] Remove obsolete WebRTC stats API
https://bugs.webkit.org/show_bug.cgi?id=167910

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

No change of behavior as removed constructs are not functional.
Removing RTCStatsResponse which no longer exists and made RTCStatsReport an empty container for now.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::getStats):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/mediastream/PeerConnectionBackend.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStats):
* Modules/mediastream/RTCStatsReport.cpp:
(WebCore::RTCStatsReport::create): Deleted.
(WebCore::RTCStatsReport::RTCStatsReport): Deleted.
(WebCore::RTCStatsReport::names): Deleted.
(WebCore::RTCStatsReport::local): Deleted.
(WebCore::RTCStatsReport::remote): Deleted.
(WebCore::RTCStatsReport::addStatistic): Deleted.
* Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::timestamp): Deleted.
(WebCore::RTCStatsReport::id): Deleted.
(WebCore::RTCStatsReport::type): Deleted.
(WebCore::RTCStatsReport::stat): Deleted.
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.cpp: Removed.
* Modules/mediastream/RTCStatsResponse.h: Removed.
* Modules/mediastream/RTCStatsResponse.idl: Removed.
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaEndpoint.h:
(WebCore::MediaEndpoint::getStats):
* platform/mediastream/RTCStatsRequest.h: Removed.
* platform/mediastream/RTCStatsResponseBase.h: Removed.

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

2 years agoMark imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection...
ryanhaddad@apple.com [Tue, 14 Feb 2017 23:16:52 +0000 (23:16 +0000)]
Mark imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168336

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agoRemoved unused methods of WebCore::FileStream
commit-queue@webkit.org [Tue, 14 Feb 2017 23:16:00 +0000 (23:16 +0000)]
Removed unused methods of WebCore::FileStream
https://bugs.webkit.org/show_bug.cgi?id=168025

Patch by Karim H <karim@karhm.com> on 2017-02-14
Reviewed by Michael Catanzaro.

* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::openForWrite): Deleted.
(WebCore::AsyncFileStream::write): Deleted.
(WebCore::AsyncFileStream::truncate): Deleted.
* fileapi/AsyncFileStream.h:
* platform/FileStream.cpp:
(WebCore::FileStream::openForWrite): Deleted.
(WebCore::FileStream::write): Deleted.
(WebCore::FileStream::truncate): Deleted.
* platform/FileStream.h:

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

2 years agoMake libwebrtc.dylib
achristensen@apple.com [Tue, 14 Feb 2017 23:11:34 +0000 (23:11 +0000)]
Make libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168335

Reviewed by Dan Bernstein.

We were building libwebrtc as a static library, which would prevent us from weak linking with it.
We need to explicitly export what we use from WebCore or WebKit2, and RTCLogging.mm now needs to
be built on Mac, so we make it not automatically reference counted to make it work on 32-bit El Capitan.

* Configurations/libwebrtc.xcconfig:
* Source/webrtc/api/jsep.h:
* Source/webrtc/api/mediastream.h:
* Source/webrtc/api/notifier.h:
(webrtc::Notifier::Notifier): Deleted.
(webrtc::Notifier::RegisterObserver): Deleted.
(webrtc::Notifier::UnregisterObserver): Deleted.
(webrtc::Notifier::FireOnChanged): Deleted.
* Source/webrtc/api/peerconnectioninterface.h:
* Source/webrtc/base/asyncpacketsocket.h:
* Source/webrtc/base/asyncresolverinterface.h:
(rtc::AsyncResolverInterface::address): Deleted.
* Source/webrtc/base/copyonwritebuffer.h:
(rtc::CopyOnWriteBuffer::CopyOnWriteBuffer): Deleted.
(rtc::CopyOnWriteBuffer::data): Deleted.
(rtc::CopyOnWriteBuffer::cdata): Deleted.
(rtc::CopyOnWriteBuffer::size): Deleted.
(rtc::CopyOnWriteBuffer::capacity): Deleted.
(rtc::CopyOnWriteBuffer::operator=): Deleted.
(rtc::CopyOnWriteBuffer::operator!=): Deleted.
(rtc::CopyOnWriteBuffer::operator[]): Deleted.
(rtc::CopyOnWriteBuffer::SetData): Deleted.
(rtc::CopyOnWriteBuffer::AppendData): Deleted.
(rtc::CopyOnWriteBuffer::swap): Deleted.
(rtc::CopyOnWriteBuffer::IsConsistent): Deleted.
* Source/webrtc/base/event.h:
* Source/webrtc/base/export.h: Added.
* Source/webrtc/base/helpers.h:
* Source/webrtc/base/ipaddress.h:
(rtc::IPAddress::IPAddress): Deleted.
(rtc::IPAddress::~IPAddress): Deleted.
(rtc::IPAddress::operator=): Deleted.
(rtc::IPAddress::family): Deleted.
* Source/webrtc/base/location.h:
(rtc::Location::function_name): Deleted.
(rtc::Location::file_and_line): Deleted.
* Source/webrtc/base/messagehandler.h:
(rtc::MessageHandler::MessageHandler): Deleted.
* Source/webrtc/base/network.h:
(rtc::NetworkManagerBase::ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::set_enumeration_permission): Deleted.
(rtc::BasicNetworkManager::started): Deleted.
(rtc::BasicNetworkManager::set_network_ignore_list): Deleted.
(rtc::BasicNetworkManager::set_ignore_non_default_routes): Deleted.
(rtc::Network::default_local_address_provider): Deleted.
(rtc::Network::set_default_local_address_provider): Deleted.
(rtc::Network::name): Deleted.
(rtc::Network::description): Deleted.
(rtc::Network::prefix): Deleted.
(rtc::Network::prefix_length): Deleted.
(rtc::Network::key): Deleted.
(rtc::Network::ip): Deleted.
(rtc::Network::AddIP): Deleted.
(rtc::Network::GetIPs): Deleted.
(rtc::Network::ClearIPs): Deleted.
(rtc::Network::scope_id): Deleted.
(rtc::Network::set_scope_id): Deleted.
(rtc::Network::ignored): Deleted.
(rtc::Network::set_ignored): Deleted.
(rtc::Network::type): Deleted.
(rtc::Network::set_type): Deleted.
(rtc::Network::GetCost): Deleted.
(rtc::Network::id): Deleted.
(rtc::Network::set_id): Deleted.
(rtc::Network::preference): Deleted.
(rtc::Network::set_preference): Deleted.
(rtc::Network::active): Deleted.
(rtc::Network::set_active): Deleted.
* Source/webrtc/base/proxyinfo.h:
* Source/webrtc/base/refcountedobject.h:
(rtc::RefCountedObject::RefCountedObject): Deleted.
(rtc::RefCountedObject::AddRef): Deleted.
(rtc::RefCountedObject::Release): Deleted.
(rtc::RefCountedObject::HasOneRef): Deleted.
(rtc::RefCountedObject::~RefCountedObject): Deleted.
* Source/webrtc/base/socketaddress.h:
(rtc::SocketAddress::hostname): Deleted.
(rtc::SocketAddress::family): Deleted.
(rtc::SocketAddress::scope_id): Deleted.
(rtc::SocketAddress::SetScopeID): Deleted.
(rtc::SocketAddress::operator !=): Deleted.
* Source/webrtc/base/thread.h:
* Source/webrtc/common_types.h:
* Source/webrtc/common_video/include/video_frame_buffer.h:
(webrtc::I420Buffer::Copy): Deleted.
(webrtc::I420Buffer::CropAndScaleFrom): Deleted.
(webrtc::I420Buffer::ScaleFrom): Deleted.
* Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
* Source/webrtc/p2p/base/basicpacketsocketfactory.h:
* Source/webrtc/p2p/client/basicportallocator.h:
(cricket::BasicPortAllocator::network_ignore_mask): Deleted.
(cricket::BasicPortAllocator::network_manager): Deleted.
(cricket::BasicPortAllocator::socket_factory): Deleted.
* Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm:
(RTCFileName):
* Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
* Source/webrtc/video_frame.h:
(webrtc::VideoFrame::timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp): Deleted.
(webrtc::VideoFrame::timestamp): Deleted.
(webrtc::VideoFrame::transport_frame_id): Deleted.
(webrtc::VideoFrame::set_ntp_time_ms): Deleted.
(webrtc::VideoFrame::ntp_time_ms): Deleted.
(webrtc::VideoFrame::rotation): Deleted.
(webrtc::VideoFrame::set_rotation): Deleted.
(webrtc::VideoFrame::set_render_time_ms): Deleted.
(webrtc::VideoFrame::render_time_ms): Deleted.
(webrtc::VideoFrame::is_texture): Deleted.
* build: Added.
* build/Debug: Added.
* libwebrtc.xcodeproj/project.pbxproj:

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

2 years agoHTML Form Validation bubble should take minimum font size setting into consideration
cdumez@apple.com [Tue, 14 Feb 2017 23:11:06 +0000 (23:11 +0000)]
HTML Form Validation bubble should take minimum font size setting into consideration
https://bugs.webkit.org/show_bug.cgi?id=168271
<rdar://problem/29869869>

Reviewed by Simon Fraser.

Source/WebCore:

HTML Form Validation bubble should take minimum font size setting into consideration
for better accessibility.

Test: fast/forms/validation-message-minimum-font-size.html

* platform/ValidationBubble.h:
(WebCore::ValidationBubble::create):
(WebCore::ValidationBubble::fontSize):
* platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::ValidationBubble):
* platform/mac/ValidationBubbleMac.mm:
(WebCore::ValidationBubble::ValidationBubble):
Update the ValidationBubble constructor to take in Settings. For now, there is a
single setting that is the minimum font size and that is taken into account when
setting the font size of the validation bubble text.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _contentsOfUserInterfaceItem:]):
Return font size used in the validation bubble.

(-[WebView showFormValidationMessage:withAnchorRect:]):
Pass minimum font size setting when constructing the validation bubble.

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _contentsOfUserInterfaceItem:]):
Return font size used in the validation bubble.

* UIProcess/PageClient.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createValidationBubble):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::showValidationMessage):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createValidationBubble):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::showValidationMessage):
Pass minimum font size setting when constructing the form validation bubble.

Tools:

Extend UIScriptController's contentsOfUserInterfaceItem() to also return the
font size of the validation bubble.

Add an overridePreference() method to UIScriptController. This is currently
used to override the value of the minimumFontSize setting. testRunner's
overridePreference() is not usable on WK2 because it does not update the
value of the preference on the UIProcess side.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::overridePreference):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::overridePreference):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::overridePreference):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::contentsOfUserInterfaceItem):
(WTR::UIScriptController::overridePreference):

LayoutTests:

Add layout test coverage.

* fast/forms/validation-message-minimum-font-size-expected.txt: Added.
* fast/forms/validation-message-minimum-font-size.html: Added.

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

2 years agoRemove debug flag from flaky test imported/w3c/web-platform-tests/dom/events/EventLis...
ryanhaddad@apple.com [Tue, 14 Feb 2017 22:51:34 +0000 (22:51 +0000)]
Remove debug flag from flaky test imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html.
https://bugs.webkit.org/show_bug.cgi?id=168238

Unreviewed test gardening.

* TestExpectations:

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

2 years ago[MediaStream] add navigator.getUserMedia for compatibility with legacy content
eric.carlson@apple.com [Tue, 14 Feb 2017 22:34:48 +0000 (22:34 +0000)]
[MediaStream] add navigator.getUserMedia for compatibility with legacy content
https://bugs.webkit.org/show_bug.cgi?id=168324
<rdar://problem/30513125>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: fast/mediastream/argument-types.html
       fast/mediastream/getusermedia.html
       fast/mediastream/webkitGetUserMedia-shadowing-then.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/mediastream/MediaDevices.idl:
* Modules/mediastream/NavigatorUserMedia.idl: Added.
* Modules/mediastream/NavigatorUserMedia.js: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
* page/Navigator.idl:

Source/WebInspectorUI:

* UserInterface/Models/NativeFunctionParameters.js:

LayoutTests:

* fast/mediastream/argument-types-expected.txt:
* fast/mediastream/argument-types.html: Added.
* fast/mediastream/getusermedia-expected.txt:
* fast/mediastream/getusermedia.html: Added.
* fast/mediastream/script-tests/argument-types.js: Added.
* fast/mediastream/webkitGetUserMedia-shadowing-then.html: Added.

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

2 years agoUnreviewed, rolling out r211879.
commit-queue@webkit.org [Tue, 14 Feb 2017 21:15:07 +0000 (21:15 +0000)]
Unreviewed, rolling out r211879.
https://bugs.webkit.org/show_bug.cgi?id=168330

Not ready for the menu yet (Requested by eric_car_ on
#webkit).

Reverted changeset:

"Add WebRTC as an off-by-default experimental feature menu
item."
https://bugs.webkit.org/show_bug.cgi?id=167972
http://trac.webkit.org/changeset/211879

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

2 years agoFallback to legacy type only when event is trusted
cdumez@apple.com [Tue, 14 Feb 2017 21:11:54 +0000 (21:11 +0000)]
Fallback to legacy type only when event is trusted
https://bugs.webkit.org/show_bug.cgi?id=168301

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline web-platform-test now tha more checks are passing.

* web-platform-tests/dom/events/EventListener-invoke-legacy-expected.txt:

Source/WebCore:

Fallback to legacy type only when event is trusted as per a recent
DOM specification change:
- https://github.com/whatwg/dom/issues/404
- https://github.com/whatwg/dom/pull/406

No new tests, rebaselined existing test.

* dom/EventTarget.cpp:
(WebCore::legacyType):
(WebCore::EventTarget::fireEventListeners):

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

2 years agoRemove an unused delegate method
andersca@apple.com [Tue, 14 Feb 2017 21:08:46 +0000 (21:08 +0000)]
Remove an unused delegate method
https://bugs.webkit.org/show_bug.cgi?id=168328

Reviewed by Wenson Hsieh.

* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): Deleted.

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

2 years agoUse a set instead of a list for tests when parsing expectations
commit-queue@webkit.org [Tue, 14 Feb 2017 21:01:55 +0000 (21:01 +0000)]
Use a set instead of a list for tests when parsing expectations
https://bugs.webkit.org/show_bug.cgi?id=168304

In _collect_matching_tests, a lot of membership tests are done on a giant list
of strings. By making it a set instead, we can make those much faster, and
there's no reason for it to be a list.

With ~45k tests and some 1000 expectations, this reduces the parse time from 34s
to 3s on my machine.

Patch by Florian Bruhin <git@the-compiler.org> on 2017-02-14
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.__init__):
(TestExpectationParser._collect_matching_tests):

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

2 years agoRename preferLowPowerToHighPerformance to powerPreference
dino@apple.com [Tue, 14 Feb 2017 20:12:27 +0000 (20:12 +0000)]
Rename preferLowPowerToHighPerformance to powerPreference
https://bugs.webkit.org/show_bug.cgi?id=168269
<rdar://problem/30504444>

Reviewed by Chris Dumez.

Source/WebCore:

Based on the discussion in https://github.com/KhronosGroup/WebGL/pull/2283.

Change WebGLContextAttributes's preferLowPowerToHighPerformance boolean
into a powerPreference enum taking three values. The implementation
of the enum is in GraphicsContext3DAttributes.

While the name and values have changed, there should be no change in
behaviour caused by this patch.

* html/canvas/WebGLContextAttributes.h: Use GraphicsContext3DAttributes
enum GraphicsContext3DPowerPreference.
* html/canvas/WebGLContextAttributes.idl: Rename and add the WebIDL enum.
* html/canvas/WebGLRenderingContextBase.cpp: Use the new values.
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::registerWithWebGLStateTracker):
* platform/WebGLStateTracker.cpp:
* platform/WebGLStateTracker.h: Update the state tracker to use the new
values.
* platform/graphics/GraphicsContext3DAttributes.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::setPixelFormat): Accept GraphicsContext3DPowerPreference as a parameter.
(WebCore::GraphicsContext3D::GraphicsContext3D):

LayoutTests:

Handle the rename in the test case. Since Settings.in has
preferLowPowerWebGLRendering initial=true
we will override the incoming request and set the value to
"low-power". This behaviour will change in a subsequent bug.

* fast/canvas/webgl/context-creation-attributes-expected.txt:
* fast/canvas/webgl/context-creation-attributes.html:

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

2 years ago[WebRTC] Implement description getters for libwebrtc RTCPeerConnection
commit-queue@webkit.org [Tue, 14 Feb 2017 19:40:13 +0000 (19:40 +0000)]
[WebRTC] Implement description getters for libwebrtc RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=168234

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-14
Reviewed by Alex Christensen.

Allows passing W3C webrtc tests.

Implementing localDescription/remoteDescription using libwebrtc backend.
current and pending description getters are made the same as local/remote getters for the moment.
This should be fixed when upgrading to latest libwebrtc revision.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::toSessionDescriptionType):
(WebCore::fromSessionDescriptionType):
(WebCore::fromSessionDescription):
(WebCore::LibWebRTCMediaEndpoint::localDescription):
(WebCore::LibWebRTCMediaEndpoint::remoteDescription):
(WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription):
(WebCore::LibWebRTCMediaEndpoint::doSetRemoteDescription):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::localDescription):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:

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

2 years agoWhen playing inline after fullscreen, set a flag instead of adding attribute plays...
commit-queue@webkit.org [Tue, 14 Feb 2017 19:34:09 +0000 (19:34 +0000)]
When playing inline after fullscreen, set a flag instead of adding attribute plays inline, and use in requiresFullscreenForVideoPlayback.
https://bugs.webkit.org/show_bug.cgi?id=167815
rdar://problem/27685077

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-02-14
Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-fullscreen-loop-inline.html

When video is allowed to play inline after fullscreen. Looped video causes play state to update, which can send video back to fullscreen when
allowsInline is false. This change will set a new flag when allowsInlineMediaPlaybackAfterFullscreen allows inline playback that can be tested
in requiresFullscreenForVideoPlayback to prevent sending video back into fullscreen when video loops.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen):
(WebCore::HTMLMediaElement::exitFullscreen):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::isTemporarilyAllowingInlinePlaybackAfterFullscreen): Added.
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):

LayoutTests:

Add a new test that tests inline after fullscreen behavior of looping video.

* media/media-fullscreen-loop-inline-expected.txt: Added.
* media/media-fullscreen-loop-inline.html: Added.
* platform/mac-wk2/TestExpectations: Skipped on webkit2.

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

2 years agoRebaseline media/modern-media-controls/airplay-button/airplay-button-on.html for...
ryanhaddad@apple.com [Tue, 14 Feb 2017 19:24:34 +0000 (19:24 +0000)]
Rebaseline media/modern-media-controls/airplay-button/airplay-button-on.html for ios-simulator.

Unreviewed test gardening.

* platform/ios-simulator/media/modern-media-controls/airplay-button/airplay-button-on-expected.txt:

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

2 years agoAdd logging and defensive fixes to try to detect problems causing blank tabs
simon.fraser@apple.com [Tue, 14 Feb 2017 19:20:40 +0000 (19:20 +0000)]
Add logging and defensive fixes to try to detect problems causing blank tabs
https://bugs.webkit.org/show_bug.cgi?id=168270
rdar://problem/30505482

Reviewed by Jon Lee.

Add release logging when -[WKWebView _beginAnimatedResizeWithUpdates:] and -[WKWebView _endAnimatedResize]
are unbalanced across a commit, to detect cases where _endAnimatedResize wasn't called enough times.

Also log when RemoteLayerTreeHost::updateLayerTree() fails to find a root layer, which should never happen.

In WebPageProxy, clear m_firstLayerTreeTransactionIdAfterDidCommitLoad on a web process crash.

* Platform/Logging.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::isAlwaysOnLoggingAllowed):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::clearLayers):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::WebFrame):
* WebProcess/WebPage/WebFrame.h:

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

2 years agoVideo elements with MediaSource objects set by srcObject are not cleared when srcObje...
jer.noble@apple.com [Tue, 14 Feb 2017 19:17:14 +0000 (19:17 +0000)]
Video elements with MediaSource objects set by srcObject are not cleared when srcObject is set to null
https://bugs.webkit.org/show_bug.cgi?id=168268

Reviewed by Eric Carlson.

Source/WebCore:

Test: fast/mediastream/MediaStream-MediaElement-setObject-null.html

Make the setSrcObject() operation compliant with the HTML spec. Since the specification defines
srcObject in terms of either a MediaSource, MediaStream, or Blob object, add the variant typedef
to HTMLMediaElement and move the definition out of the Modules/mediastream extension IDL and into
HTMLMediaElement.idl. Then bring the "media elements load" and "resource selection" algorithms up
to their most recent definitions in the HTML5 spec.

Drive-by fix: Allow the (admittedly weird) single-element-union type in IDL.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/mediastream/HTMLMediaElementMediaStream.cpp: Removed.
* Modules/mediastream/HTMLMediaElementMediaStream.h: Removed.
* Modules/mediastream/HTMLMediaElementMediaStream.idl: Removed.
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/IDLParser.pm:
(parseUnionType):
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::createForJSConstructor):
* html/HTMLMediaElement.cpp:
(WebCore::actionName):
(WebCore::HTMLMediaElement::parseAttribute):
(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::scheduleDelayedAction):
(WebCore::HTMLMediaElement::scheduleNextSourceChild):
(WebCore::HTMLMediaElement::pendingActionTimerFired):
(WebCore::HTMLMediaElement::setSrcObject):
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::sourceWasAdded):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::mediaCanStart):
(WebCore::HTMLMediaElement::createMediaPlayer):
(WebCore::HTMLMediaElement::loadInternal): Deleted.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::srcObject):
* html/HTMLMediaElement.idl:
* platform/ContentType.h:

LayoutTests:

* fast/mediastream/MediaStream-MediaElement-setObject-null-expected.txt: Added.
* fast/mediastream/MediaStream-MediaElement-setObject-null.html: Added.
* fast/mediastream/MediaStream-video-element-expected.txt:
* fast/mediastream/MediaStream-video-element-track-stop-expected.txt:
* fast/mediastream/MediaStream-video-element-track-stop.html:
* fast/mediastream/MediaStream-video-element.html:

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

2 years agoAdd JSC_sweepSynchronously and fix JSC_useZombieMode options.
mark.lam@apple.com [Tue, 14 Feb 2017 19:13:04 +0000 (19:13 +0000)]
Add JSC_sweepSynchronously and fix JSC_useZombieMode options.
https://bugs.webkit.org/show_bug.cgi?id=168257
<rdar://problem/30451496>

Reviewed by Filip Pizlo.

JSC_useZombieMode now basically enables JSC_sweepSynchronously and
JSC_scribbleFreeCells, which together does the job of zombifying dead objects
immediately after a GC.

* heap/Heap.cpp:
(JSC::Heap::sweepSynchronously):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::finalize):
(JSC::Heap::didFinishCollection):
(JSC::Zombify::visit): Deleted.
(JSC::Zombify::operator()): Deleted.
(JSC::Heap::zombifyDeadObjects): Deleted.
* heap/Heap.h:
(JSC::Heap::isZombified): Deleted.
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:

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

2 years agoUnreviewed build-fix after r212297.
jbedard@apple.com [Tue, 14 Feb 2017 19:09:11 +0000 (19:09 +0000)]
Unreviewed build-fix after r212297.

* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Should return value of the ServerProcess's stop.

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

2 years agoRemove android-specific files from ThirdParty/libwebrtc
achristensen@apple.com [Tue, 14 Feb 2017 18:52:31 +0000 (18:52 +0000)]
Remove android-specific files from ThirdParty/libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=168272

Reviewed by Brady Eidson.

* Source/third_party/boringssl/src/third_party/android-cmake: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/AndroidNdkGdb.cmake: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/AndroidNdkModules.cmake: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/LICENSE: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/METADATA: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/README.md: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/android.toolchain.cmake: Removed.
* Source/third_party/boringssl/src/third_party/android-cmake/ndk_links.md: Removed.
* Source/third_party/boringssl/src/util/run_android_tests.go: Removed.
* Source/third_party/libyuv/util/android: Removed.
* Source/third_party/libyuv/util/android/test_runner.py: Removed.
* Source/webrtc/androidjunit: Removed.
* Source/webrtc/androidjunit/OWNERS: Removed.
* Source/webrtc/androidjunit/src: Removed.
* Source/webrtc/androidjunit/src/org: Removed.
* Source/webrtc/androidjunit/src/org/webrtc: Removed.
* Source/webrtc/androidjunit/src/org/webrtc/CameraEnumerationTest.java: Removed.
* Source/webrtc/api/android: Removed.
* Source/webrtc/api/android/PRESUBMIT.py: Removed.
* Source/webrtc/api/android/README: Removed.
* Source/webrtc/api/android/java: Removed.
* Source/webrtc/api/android/java/src: Removed.
* Source/webrtc/api/android/java/src/org: Removed.
* Source/webrtc/api/android/java/src/org/webrtc: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/AudioSource.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/AudioTrack.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera1Capturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera1Session.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Camera2Session.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CameraCapturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CameraEnumerationAndroid.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CameraSession.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/CameraVideoCapturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/DataChannel.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/EglBase.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/EglBase10.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/EglBase14.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/EglRenderer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/FileVideoCapturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/GlRectDrawer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/GlShader.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/GlTextureFrameBuffer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/GlUtil.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/IceCandidate.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoEncoder.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaConstraints.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaSource.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaStream.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/MediaStreamTrack.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/Metrics.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/NetworkMonitor.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/OWNERS: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/PeerConnection.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/RendererCommon.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/RtpParameters.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/RtpReceiver.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/RtpSender.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/SdpObserver.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/SessionDescription.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/StatsObserver.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/StatsReport.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/SurfaceTextureHelper.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/SurfaceViewRenderer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoFileRenderer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoRendererGui.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoSource.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/VideoTrack.java: Removed.
* Source/webrtc/api/android/java/src/org/webrtc/YuvConverter.java: Removed.
* Source/webrtc/api/android/jni: Removed.
* Source/webrtc/api/android/jni/OWNERS: Removed.
* Source/webrtc/api/android/jni/androidmediacodeccommon.h: Removed.
* Source/webrtc/api/android/jni/androidmediadecoder_jni.cc: Removed.
* Source/webrtc/api/android/jni/androidmediadecoder_jni.h: Removed.
* Source/webrtc/api/android/jni/androidmediaencoder_jni.cc: Removed.
* Source/webrtc/api/android/jni/androidmediaencoder_jni.h: Removed.
* Source/webrtc/api/android/jni/androidmetrics_jni.cc: Removed.
* Source/webrtc/api/android/jni/androidnetworkmonitor_jni.cc: Removed.
* Source/webrtc/api/android/jni/androidnetworkmonitor_jni.h: Removed.
* Source/webrtc/api/android/jni/androidvideotracksource_jni.cc: Removed.
* Source/webrtc/api/android/jni/classreferenceholder.cc: Removed.
* Source/webrtc/api/android/jni/classreferenceholder.h: Removed.
* Source/webrtc/api/android/jni/jni_helpers.cc: Removed.
* Source/webrtc/api/android/jni/jni_helpers.h: Removed.
* Source/webrtc/api/android/jni/jni_onload.cc: Removed.
* Source/webrtc/api/android/jni/native_handle_impl.cc: Removed.
* Source/webrtc/api/android/jni/native_handle_impl.h: Removed.
* Source/webrtc/api/android/jni/peerconnection_jni.cc: Removed.
* Source/webrtc/api/android/jni/surfacetexturehelper_jni.cc: Removed.
* Source/webrtc/api/android/jni/surfacetexturehelper_jni.h: Removed.
* Source/webrtc/api/androidtests: Removed.
* Source/webrtc/api/androidtests/AndroidManifest.xml: Removed.
* Source/webrtc/api/androidtests/OWNERS: Removed.
* Source/webrtc/api/androidtests/ant.properties: Removed.
* Source/webrtc/api/androidtests/build.xml: Removed.
* Source/webrtc/api/androidtests/project.properties: Removed.
* Source/webrtc/api/androidtests/res: Removed.
* Source/webrtc/api/androidtests/res/drawable-hdpi: Removed.
* Source/webrtc/api/androidtests/res/drawable-hdpi/ic_launcher.png: Removed.
* Source/webrtc/api/androidtests/res/drawable-ldpi: Removed.
* Source/webrtc/api/androidtests/res/drawable-ldpi/ic_launcher.png: Removed.
* Source/webrtc/api/androidtests/res/drawable-mdpi: Removed.
* Source/webrtc/api/androidtests/res/drawable-mdpi/ic_launcher.png: Removed.
* Source/webrtc/api/androidtests/res/drawable-xhdpi: Removed.
* Source/webrtc/api/androidtests/res/drawable-xhdpi/ic_launcher.png: Removed.
* Source/webrtc/api/androidtests/res/values: Removed.
* Source/webrtc/api/androidtests/res/values/strings.xml: Removed.
* Source/webrtc/api/androidtests/src: Removed.
* Source/webrtc/api/androidtests/src/org: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/Camera2CapturerTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/EglRendererTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/GlRectDrawerTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/MediaCodecVideoEncoderTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/NetworkMonitorTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/PeerConnectionTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/RendererCommonTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/SurfaceTextureHelperTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java: Removed.
* Source/webrtc/api/androidtests/src/org/webrtc/WebRtcJniBootTest.java: Removed.
* Source/webrtc/api/androidvideotracksource.cc: Removed.
* Source/webrtc/api/androidvideotracksource.h: Removed.
* Source/webrtc/api/test/androidtestinitializer.cc: Removed.
* Source/webrtc/api/test/androidtestinitializer.h: Removed.
* Source/webrtc/base/ifaddrs-android.cc: Removed.
* Source/webrtc/base/ifaddrs-android.h: Removed.
* Source/webrtc/build/android: Removed.
* Source/webrtc/build/android/AndroidManifest.xml: Removed.
* Source/webrtc/build/android/suppressions.xml: Removed.
* Source/webrtc/build/android/test_runner.py: Removed.
* Source/webrtc/examples/androidapp: Removed.
* Source/webrtc/examples/androidapp/AndroidManifest.xml: Removed.
* Source/webrtc/examples/androidapp/OWNERS: Removed.
* Source/webrtc/examples/androidapp/README: Removed.
* Source/webrtc/examples/androidapp/ant.properties: Removed.
* Source/webrtc/examples/androidapp/build.xml: Removed.
* Source/webrtc/examples/androidapp/project.properties: Removed.
* Source/webrtc/examples/androidapp/res: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi/disconnect.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_action_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_action_return_from_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_launcher.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_loopback_call.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi/disconnect.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_action_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_action_return_from_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_launcher.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_loopback_call.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi/disconnect.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_action_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_action_return_from_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_launcher.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_loopback_call.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi/disconnect.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_action_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_action_return_from_full_screen.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_launcher.png: Removed.
* Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_loopback_call.png: Removed.
* Source/webrtc/examples/androidapp/res/layout: Removed.
* Source/webrtc/examples/androidapp/res/layout/activity_call.xml: Removed.
* Source/webrtc/examples/androidapp/res/layout/activity_connect.xml: Removed.
* Source/webrtc/examples/androidapp/res/layout/fragment_call.xml: Removed.
* Source/webrtc/examples/androidapp/res/layout/fragment_hud.xml: Removed.
* Source/webrtc/examples/androidapp/res/menu: Removed.
* Source/webrtc/examples/androidapp/res/menu/connect_menu.xml: Removed.
* Source/webrtc/examples/androidapp/res/values: Removed.
* Source/webrtc/examples/androidapp/res/values-v17: Removed.
* Source/webrtc/examples/androidapp/res/values-v17/styles.xml: Removed.
* Source/webrtc/examples/androidapp/res/values-v21: Removed.
* Source/webrtc/examples/androidapp/res/values-v21/styles.xml: Removed.
* Source/webrtc/examples/androidapp/res/values/arrays.xml: Removed.
* Source/webrtc/examples/androidapp/res/values/strings.xml: Removed.
* Source/webrtc/examples/androidapp/res/xml: Removed.
* Source/webrtc/examples/androidapp/res/xml/preferences.xml: Removed.
* Source/webrtc/examples/androidapp/src: Removed.
* Source/webrtc/examples/androidapp/src/org: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CallFragment.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CaptureQualityController.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/HudFragment.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/PercentFrameLayout.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/RoomParametersFetcher.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsFragment.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/UnhandledExceptionHandler.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util/AppRTCUtils.java: Removed.
* Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java: Removed.
* Source/webrtc/examples/androidapp/start_loopback_stubbed_camera_saved_video_out.py: Removed.
* Source/webrtc/examples/androidapp/third_party: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/BUILD.gn: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/LICENSE: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/NOTICE: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/lib: Removed.
* Source/webrtc/examples/androidapp/third_party/autobanh/lib/autobanh.jar: Removed.
* Source/webrtc/examples/androidjunit: Removed.
* Source/webrtc/examples/androidjunit/README: Removed.
* Source/webrtc/examples/androidjunit/src: Removed.
* Source/webrtc/examples/androidjunit/src/org: Removed.
* Source/webrtc/examples/androidjunit/src/org/appspot: Removed.
* Source/webrtc/examples/androidjunit/src/org/appspot/apprtc: Removed.
* Source/webrtc/examples/androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java: Removed.
* Source/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java: Removed.
* Source/webrtc/examples/androidtests: Removed.
* Source/webrtc/examples/androidtests/AndroidManifest.xml: Removed.
* Source/webrtc/examples/androidtests/README: Removed.
* Source/webrtc/examples/androidtests/ant.properties: Removed.
* Source/webrtc/examples/androidtests/build.xml: Removed.
* Source/webrtc/examples/androidtests/project.properties: Removed.
* Source/webrtc/examples/androidtests/src: Removed.
* Source/webrtc/examples/androidtests/src/org: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/FileVideoCapturerTest.java: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/VideoFileRendererTest.java: Removed.
* Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/capturetestvideo.y4m: Removed.
* Source/webrtc/modules/audio_device/android: Removed.
* Source/webrtc/modules/audio_device/android/audio_common.h: Removed.
* Source/webrtc/modules/audio_device/android/audio_device_template.h: Removed.
* Source/webrtc/modules/audio_device/android/audio_device_unittest.cc: Removed.
* Source/webrtc/modules/audio_device/android/audio_manager.cc: Removed.
* Source/webrtc/modules/audio_device/android/audio_manager.h: Removed.
* Source/webrtc/modules/audio_device/android/audio_manager_unittest.cc: Removed.
* Source/webrtc/modules/audio_device/android/audio_record_jni.cc: Removed.
* Source/webrtc/modules/audio_device/android/audio_record_jni.h: Removed.
* Source/webrtc/modules/audio_device/android/audio_track_jni.cc: Removed.
* Source/webrtc/modules/audio_device/android/audio_track_jni.h: Removed.
* Source/webrtc/modules/audio_device/android/build_info.cc: Removed.
* Source/webrtc/modules/audio_device/android/build_info.h: Removed.
* Source/webrtc/modules/audio_device/android/ensure_initialized.cc: Removed.
* Source/webrtc/modules/audio_device/android/ensure_initialized.h: Removed.
* Source/webrtc/modules/audio_device/android/java: Removed.
* Source/webrtc/modules/audio_device/android/java/src: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java: Removed.
* Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java: Removed.
* Source/webrtc/modules/audio_device/android/opensles_common.cc: Removed.
* Source/webrtc/modules/audio_device/android/opensles_common.h: Removed.
* Source/webrtc/modules/audio_device/android/opensles_player.cc: Removed.
* Source/webrtc/modules/audio_device/android/opensles_player.h: Removed.
* Source/webrtc/modules/audio_device/android/opensles_recorder.cc: Removed.
* Source/webrtc/modules/audio_device/android/opensles_recorder.h: Removed.
* Source/webrtc/modules/audio_processing/test/android: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/AndroidManifest.xml: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/default.properties: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/jni: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/jni/main.c: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/res: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/res/values: Removed.
* Source/webrtc/modules/audio_processing/test/android/apmtest/res/values/strings.xml: Removed.
* Source/webrtc/modules/utility/include/helpers_android.h: Removed.
* Source/webrtc/modules/utility/include/jvm_android.h: Removed.
* Source/webrtc/modules/utility/source/helpers_android.cc: Removed.
* Source/webrtc/modules/utility/source/jvm_android.cc: Removed.
* Source/webrtc/system_wrappers/source/cpu_features_android.c: Removed.
* libwebrtc.xcodeproj/project.pbxproj:

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

2 years agoRemove unused WebThreadContextIsCurrent method from WebCoreThread.h
aakash_jain@apple.com [Tue, 14 Feb 2017 18:51:24 +0000 (18:51 +0000)]
Remove unused WebThreadContextIsCurrent method from WebCoreThread.h
https://bugs.webkit.org/show_bug.cgi?id=168254

Reviewed by Dan Bernstein.

* platform/ios/wak/WebCoreThread.h: Removed unused WebThreadContextIsCurrent.
* platform/ios/wak/WebCoreThread.mm:
(WebThreadContextIsCurrent): Deleted.

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

2 years ago[CMake] build-webkit should allow building with the default cmake configuration
clopez@igalia.com [Tue, 14 Feb 2017 18:07:39 +0000 (18:07 +0000)]
[CMake] build-webkit should allow building with the default cmake configuration
https://bugs.webkit.org/show_bug.cgi?id=168323

Reviewed by Michael Catanzaro.

Add a --default-cmake-features switch that makes the script pass
no value for any of the features defined by build-webkit, that
way the default values from the port cmake config will be used.

* Scripts/build-webkit:
(cMakeArgsFromFeatures):

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

2 years agoUnreviewed build-fix after r212297.
jbedard@apple.com [Tue, 14 Feb 2017 17:51:25 +0000 (17:51 +0000)]
Unreviewed build-fix after r212297.

* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Handle case where there is no process to kill.

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

2 years ago[mac-wk1] LayoutTest media/modern-media-controls/forward-button/forward-button.html...
graouts@webkit.org [Tue, 14 Feb 2017 17:29:35 +0000 (17:29 +0000)]
[mac-wk1] LayoutTest media/modern-media-controls/forward-button/forward-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168265

Unreviewed test gardening.

* media/modern-media-controls/forward-button/forward-button-expected.txt:
* media/modern-media-controls/forward-button/forward-button.html:
* platform/mac-wk1/TestExpectations:

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

2 years ago[GTK] [l10n] Updated Brazilian Portuguese translation of WebKitGTK+
commit-queue@webkit.org [Tue, 14 Feb 2017 17:27:29 +0000 (17:27 +0000)]
[GTK] [l10n] Updated Brazilian Portuguese translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=168303

Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2017-02-14
Rubber-stamped by Michael Catanzaro.

* pt_BR.po:

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

2 years agoWebCore shouldn't export SystemMemory.h
ap@apple.com [Tue, 14 Feb 2017 17:12:50 +0000 (17:12 +0000)]
WebCore shouldn't export SystemMemory.h
https://bugs.webkit.org/show_bug.cgi?id=168285

Reviewed by Alex Christensen.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* MigrateHeaders.make: And WebKit shouldn't re-export it.

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

2 years agoworker.postMessage should throw a TypeError if a SharedArrayBuffer is in the transfer...
fpizlo@apple.com [Tue, 14 Feb 2017 17:07:34 +0000 (17:07 +0000)]
worker.postMessage should throw a TypeError if a SharedArrayBuffer is in the transfer list
https://bugs.webkit.org/show_bug.cgi?id=168277

Reviewed by Mark Lam.
Source/WebCore:

Test: workers/sab/postMessage-transfer-type-error.html

This is a simple spec compliance change. The title says it all.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):

LayoutTests:

Add a test of the new behavior, and remove tests for the old behavior.

Most of the SharedArrayBuffer tests use the new style, where the buffer is not in the
transfer list, and the tests being removed are clones of the no-transfer tests. So, we
aren't losing any coverage.

* workers/sab/null-worker.js: Added.
* workers/sab/postMessage-transfer-type-error-expected.txt: Added.
* workers/sab/postMessage-transfer-type-error.html: Added.
* workers/sab/sab-creator-transfer.js: Removed. (Sibling: sab-creator-no-transfer.js)
* workers/sab/sent-from-worker-transfer.html: Removed. (Sibling: sent-from-worker-no-transfer.html)
* workers/sab/simple.html: Removed. (Sibling: no-transfer.html)

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

2 years ago[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button-on...
commit-queue@webkit.org [Tue, 14 Feb 2017 17:01:05 +0000 (17:01 +0000)]
[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button-on.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167347

Unreviewed test gardening.

Patch by Antoine Quint <graouts@apple.com> on 2017-02-14

* media/modern-media-controls/airplay-button/airplay-button-on-expected.txt:
* media/modern-media-controls/airplay-button/airplay-button-on.html:
* platform/mac-wk1/TestExpectations:

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

2 years agoLayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscre...
commit-queue@webkit.org [Tue, 14 Feb 2017 16:48:45 +0000 (16:48 +0000)]
LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167589

Unreviewed test gardening.

Patch by Antoine Quint <graouts@apple.com> on 2017-02-14

* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:

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