diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-03 15:45:44 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-03 15:45:44 +0000 |
commit | 038974b5525b09973e836309d4e731c19dc12972 (patch) | |
tree | 45d4e1bde16c3d6a1e3457410e9909965f1c0cc9 | |
parent | 7a23d81958a00cbfd11ca17d6cc17abe20950364 (diff) | |
download | chromium_src-038974b5525b09973e836309d4e731c19dc12972.zip chromium_src-038974b5525b09973e836309d4e731c19dc12972.tar.gz chromium_src-038974b5525b09973e836309d4e731c19dc12972.tar.bz2 |
Cast Extensions API: Major namespace and object renaming
There is no functional change in this patch. This change only does
renaming.
Extensions API namespaces:
webrtc.castSendTransport -> cast.streaming.rtpStream
webrtc.castUdpTransport -> cast.streaming.udpTransport
Class renaming:
WebRtcNativeHandler -> CastStreamingNativeHandler
CastSendTransport -> CastRtpStream
Tests and related files are also renamed to get rid of the webrtc
label.
BUG=301920
Review URL: https://codereview.chromium.org/90083002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238403 0039d316-1c4b-4281-b951-d872f2087c98
25 files changed, 247 insertions, 263 deletions
diff --git a/chrome/browser/extensions/webrtc_cast_apitest.cc b/chrome/browser/extensions/cast_streaming_apitest.cc index 3fee7f8..89d2d18c 100644 --- a/chrome/browser/extensions/webrtc_cast_apitest.cc +++ b/chrome/browser/extensions/cast_streaming_apitest.cc @@ -9,7 +9,7 @@ namespace extensions { -class WebrtcCastApiTest : public ExtensionApiTest { +class CastStreamingApiTest : public ExtensionApiTest { virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { ExtensionApiTest::SetUpCommandLine(command_line); command_line->AppendSwitchASCII( @@ -34,8 +34,8 @@ class WebrtcCastApiTest : public ExtensionApiTest { }; // Test running the test extension for Cast Mirroring API. -IN_PROC_BROWSER_TEST_F(WebrtcCastApiTest, Basics) { - ASSERT_TRUE(RunExtensionSubtest("webrtc_cast", "basics.html")); +IN_PROC_BROWSER_TEST_F(CastStreamingApiTest, Basics) { + ASSERT_TRUE(RunExtensionSubtest("cast_streaming", "basics.html")); } } // namespace extensions diff --git a/chrome/chrome_renderer.gypi b/chrome/chrome_renderer.gypi index ce94a42..10b78fb 100644 --- a/chrome/chrome_renderer.gypi +++ b/chrome/chrome_renderer.gypi @@ -62,6 +62,8 @@ 'renderer/extensions/binding_generating_native_handler.h', 'renderer/extensions/blob_native_handler.cc', 'renderer/extensions/blob_native_handler.h', + 'renderer/extensions/cast_streaming_native_handler.cc', + 'renderer/extensions/cast_streaming_native_handler.h', 'renderer/extensions/chrome_v8_context.cc', 'renderer/extensions/chrome_v8_context.h', 'renderer/extensions/chrome_v8_context_set.cc', @@ -147,15 +149,13 @@ 'renderer/extensions/user_script_slave.h', 'renderer/extensions/v8_schema_registry.cc', 'renderer/extensions/v8_schema_registry.h', - 'renderer/extensions/webrtc_native_handler.cc', - 'renderer/extensions/webrtc_native_handler.h', 'renderer/extensions/webstore_bindings.cc', 'renderer/extensions/webstore_bindings.h', 'renderer/isolated_world_ids.h', 'renderer/loadtimes_extension_bindings.cc', 'renderer/loadtimes_extension_bindings.h', - 'renderer/media/cast_send_transport.cc', - 'renderer/media/cast_send_transport.h', + 'renderer/media/cast_rtp_stream.cc', + 'renderer/media/cast_rtp_stream.h', 'renderer/media/cast_session.cc', 'renderer/media/cast_session.h', 'renderer/media/cast_session_delegate.cc', @@ -376,8 +376,8 @@ }], ['enable_webrtc==0', { 'sources!': [ - 'renderer/extensions/webrtc_native_handler.cc', - 'renderer/extensions/webrtc_native_handler.h', + 'renderer/extensions/cast_streaming_native_handler.cc', + 'renderer/extensions/cast_streaming_native_handler.h', 'renderer/media/chrome_webrtc_log_message_delegate.cc', 'renderer/media/chrome_webrtc_log_message_delegate.h', 'renderer/media/webrtc_logging_message_filter.cc', diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 0b1774f..bb4a961 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -1179,6 +1179,7 @@ 'browser/extensions/browsertest_util.cc', 'browser/extensions/browsertest_util.h', 'browser/extensions/browsertest_util_browsertest.cc', + 'browser/extensions/cast_streaming_apitest.cc', 'browser/extensions/chrome_app_api_browsertest.cc', 'browser/extensions/content_script_apitest.cc', 'browser/extensions/content_security_policy_apitest.cc', @@ -1242,7 +1243,6 @@ 'browser/extensions/test_extension_dir.cc', 'browser/extensions/test_extension_dir.h', 'browser/extensions/web_contents_browsertest.cc', - 'browser/extensions/webrtc_cast_apitest.cc', 'browser/extensions/webstore_inline_installer_browsertest.cc', 'browser/extensions/webstore_installer_test.cc', 'browser/extensions/webstore_installer_test.h', diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/extensions/api/_api_features.json index e9a0d57..14c4263 100644 --- a/chrome/common/extensions/api/_api_features.json +++ b/chrome/common/extensions/api/_api_features.json @@ -128,10 +128,18 @@ "dependencies": ["permission:cast"], "contexts": ["blessed_extension"] }, + "cast.streaming.rtpStream": { + "dependencies": ["permission:cast.streaming"], + "contexts": ["blessed_extension"] + }, "cast.streaming.session": { "dependencies": ["permission:cast.streaming"], "contexts": ["blessed_extension"] }, + "cast.streaming.udpTransport": { + "dependencies": ["permission:cast.streaming"], + "contexts": ["blessed_extension"] + }, "chromeosInfoPrivate": { "platforms": ["chromeos"], "dependencies": ["permission:chromeosInfoPrivate"], @@ -717,14 +725,6 @@ "dependencies": ["permission:webstorePrivate"], "contexts": ["blessed_extension"] }, - "webrtc.castSendTransport": { - "dependencies": ["permission:webrtc"], - "contexts": ["blessed_extension"] - }, - "webrtc.castUdpTransport": { - "dependencies": ["permission:webrtc"], - "contexts": ["blessed_extension"] - }, "webview": { "internal": true, "dependencies": ["permission:webview"], diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json index 175c9bb..0e5a49d 100644 --- a/chrome/common/extensions/api/_permission_features.json +++ b/chrome/common/extensions/api/_permission_features.json @@ -843,10 +843,6 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app"] }, - "webrtc": { - "channel": "dev", - "extension_types": ["extension"] - }, "webrtcAudioPrivate": { "channel": "stable", "extension_types": ["extension"], diff --git a/chrome/common/extensions/api/api.gyp b/chrome/common/extensions/api/api.gyp index c5a56ec..a7c9eb4 100644 --- a/chrome/common/extensions/api/api.gyp +++ b/chrome/common/extensions/api/api.gyp @@ -166,9 +166,9 @@ }], ['enable_webrtc==1', { 'schema_files': [ + 'cast_streaming_rtp_stream.idl', 'cast_streaming_session.idl', - 'webrtc_cast_send_transport.idl', - 'webrtc_cast_udp_transport.idl', + 'cast_streaming_udp_transport.idl', 'webrtc_logging_private.idl', ], }], diff --git a/chrome/common/extensions/api/cast_streaming_rtp_stream.idl b/chrome/common/extensions/api/cast_streaming_rtp_stream.idl new file mode 100644 index 0000000..55994d3 --- /dev/null +++ b/chrome/common/extensions/api/cast_streaming_rtp_stream.idl @@ -0,0 +1,96 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// The <code>chrome.cast.streaming.rtpStream</code> API allows configuration +// of encoding parameters and RTP parameters used in a Cast streaming +// session. +namespace cast.streaming.rtpStream { + // Params for audio and video codec. + dictionary CodecSpecificParams { + DOMString key; + DOMString value; + }; + + // RTP payload param. + dictionary RtpPayloadParams { + long payloadType; + + DOMString codecName; + + // Synchronization source identifier. + long? ssrc; + + long? clockRate; + + long? minBitrate; + + long? maxBitrate; + + // The number of channels. + long? channels; + + // Video width in pixels. + long? width; + + // Video height in pixels. + long? height; + + // A list of codec specific params. + CodecSpecificParams[] codecSpecificParams; + }; + + // Cast RTP capabilities. + dictionary RtpCaps { + // RTP payload params. + RtpPayloadParams[] payloads; + + DOMString[] rtcpFeatures; + }; + + // Cast RTP parameters. + dictionary RtpParams { + // RTP payload params. + RtpPayloadParams[] payloads; + + DOMString[] rtcpFeatures; + }; + + // Callback from the <code>create</code> method. + // |id| : The ID for the RTP stream. + callback CreateCallback = void (long streamId); + + interface Functions { + // Destroys a Cast RTP stream. + // |streamId| : The RTP stream ID. + [nocompile] static void destroy(long streamId); + + // Returns capabilities of the RTP stream. + // |streamId| : The RTP stream ID. + [nocompile] static RtpCaps getCaps(long streamId); + + // Activates the RTP stream by providing the parameters. + // |streamId| : The RTP stream ID. + // |params| : Parameters set for this stream. + [nocompile] static void start(long streamId, RtpParams params); + + // Stops activity on the specified stream. + // |streamId| : The RTP stream ID. + [nocompile] static void stop(long streamId); + }; + + interface Events { + // Event fired when a Cast RTP stream has started. + // |streamId| : The ID of the RTP stream. + static void onStarted(long streamId); + + // Event fired when a Cast RTP stream has stopped. + // |streamId| : The ID of the RTP stream. + static void onStopped(long streamId); + + // Event fired when a Cast RTP stream has error. + // |streamId| : The ID of the RTP stream. + // |errorString| : The error info. + static void onError(long streamId, DOMString errorString); + }; +}; diff --git a/chrome/common/extensions/api/cast_streaming_session.idl b/chrome/common/extensions/api/cast_streaming_session.idl index 5250c61..47408f0 100644 --- a/chrome/common/extensions/api/cast_streaming_session.idl +++ b/chrome/common/extensions/api/cast_streaming_session.idl @@ -7,15 +7,15 @@ // by RTP streams and a network transport. // // Calling this API will generate corresponding resources for use with -// chrome.webrtc.castSendTransport and chrome.webrtc.castUdpTransport +// chrome.cast.streaming.rtpStream and chrome.cast.streaming.udpTransport // APIs. namespace cast.streaming.session { // Callback from the <code>create</code> method. - // |audioTransportId| : The audio transport ID. - // |videoTransportId| : The video transport ID. + // |audioStreamId| : The audio RTP stream ID. + // |videoStreamId| : The video RTP stream ID. // |udpTransportId| : The UDP transport ID. - callback CreateCallback = void (long audioTransportId, - long videoTransportId, + callback CreateCallback = void (long audioStreamId, + long videoStreamId, long udpTransportId); interface Functions { diff --git a/chrome/common/extensions/api/webrtc_cast_udp_transport.idl b/chrome/common/extensions/api/cast_streaming_udp_transport.idl index 26ad6e5..8c14060 100644 --- a/chrome/common/extensions/api/webrtc_cast_udp_transport.idl +++ b/chrome/common/extensions/api/cast_streaming_udp_transport.idl @@ -6,7 +6,7 @@ // transport for Cast RTP streams. This API is not useful when standalone // since it does not have send and receive methods. // It is used to configure the UDP transport used in Cast session. -namespace webrtc.castUdpTransport { +namespace cast.streaming.udpTransport { // The UDP socket address and port. dictionary UdpParams { DOMString address; diff --git a/chrome/common/extensions/api/webrtc_cast_send_transport.idl b/chrome/common/extensions/api/webrtc_cast_send_transport.idl deleted file mode 100644 index e2f4fa3..0000000 --- a/chrome/common/extensions/api/webrtc_cast_send_transport.idl +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// The <code>chrome.webrtc.castSendTransport</code> API takes a track as -// a source of media, and sends that media on the inner transport according to -// the given RtpParams. -namespace webrtc.castSendTransport { - // Params for audio and video codec. - dictionary CodecSpecificParams { - DOMString key; - DOMString value; - }; - - // RTP payload param. - dictionary RtpPayloadParams { - long payloadType; - - DOMString codecName; - - // Synchronization source identifier. - long? ssrc; - - long? clockRate; - - long? minBitrate; - - long? maxBitrate; - - // The number of channels. - long? channels; - - // Video width in pixels. - long? width; - - // Video height in pixels. - long? height; - - // A list of codec specific params. - CodecSpecificParams[] codecSpecificParams; - }; - - // Cast transport capabilities - dictionary RtpCaps { - // RTP payload params. - RtpPayloadParams[] payloads; - - DOMString[] rtcpFeatures; - }; - - // Cast transport params. - dictionary RtpParams { - // RTP payload params. - RtpPayloadParams[] payloads; - - DOMString[] rtcpFeatures; - }; - - // Callback from the <code>create</code> method. - // |id| : The transport id. - callback CreateCallback = void (long transportId); - - interface Functions { - // Destroys a cast send transport. - // |transportId| : The transport ID. - [nocompile] static void destroy(long transportId); - - // Returns capabilities of the transport. - // |transportId| : The transport ID. - [nocompile] static RtpCaps getCaps(long transportId); - - // Starts to use the transport by providing remote params info. - // |transportId| : The transport ID. - // |params| : Parameters set for this transport. - [nocompile] static void start(long transportId, RtpParams params); - - // Stops using the transport. - // |transportId| : The transport ID. - [nocompile] static void stop(long transportId); - }; - - interface Events { - // Event fired when a cast send transport has started. - // |transportId| : The ID of the transport. - static void onStarted(long transportId); - - // Event fired when a cast send transport has connected. - // After this event, the transport is ready to send the track. - // |transportId| : The ID of the transport. - static void onConnected(long transportId); - - // Event fired when a cast send transport has stopped. - // |transportId| : The ID of the transport. - static void onStopped(long transportId); - - // Event fired when a cast send transport has timeout. - // This happens when network has been congested for a while, or one side - // left. - // |transportId| : The ID of the transport. - static void onTimeout(long transportId); - - // Event fired when a cast send transport has error. - // |transportId| : The ID of the transport. - // |errorString| : The error info. - static void onError(long transportId, DOMString errorString); - }; -}; diff --git a/chrome/common/extensions/permissions/chrome_api_permissions.cc b/chrome/common/extensions/permissions/chrome_api_permissions.cc index a962096..f82ed5e 100644 --- a/chrome/common/extensions/permissions/chrome_api_permissions.cc +++ b/chrome/common/extensions/permissions/chrome_api_permissions.cc @@ -355,7 +355,6 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() { APIPermission::kPointerLock, "pointerLock" }, { APIPermission::kFullscreen, "fullscreen" }, { APIPermission::kAudio, "audio" }, - { APIPermission::kWebRtc, "webrtc" }, { APIPermission::kCastStreaming, "cast.streaming" }, { APIPermission::kOverrideEscFullscreen, "overrideEscFullscreen" }, diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/chrome/common/extensions/permissions/permission_set_unittest.cc index 065310a..b3d4371 100644 --- a/chrome/common/extensions/permissions/permission_set_unittest.cc +++ b/chrome/common/extensions/permissions/permission_set_unittest.cc @@ -664,6 +664,7 @@ TEST(PermissionsTest, PermissionMessages) { skip.insert(APIPermission::kAppWindow); skip.insert(APIPermission::kAudio); skip.insert(APIPermission::kBrowsingData); + skip.insert(APIPermission::kCastStreaming); skip.insert(APIPermission::kContextMenus); skip.insert(APIPermission::kDiagnostics); skip.insert(APIPermission::kDns); @@ -687,7 +688,6 @@ TEST(PermissionsTest, PermissionMessages) { skip.insert(APIPermission::kSystemStorage); skip.insert(APIPermission::kTts); skip.insert(APIPermission::kUnlimitedStorage); - skip.insert(APIPermission::kWebRtc); skip.insert(APIPermission::kWebView); skip.insert(APIPermission::kOverrideEscFullscreen); diff --git a/chrome/renderer/extensions/webrtc_native_handler.cc b/chrome/renderer/extensions/cast_streaming_native_handler.cc index ac3bf18..00316c7 100644 --- a/chrome/renderer/extensions/webrtc_native_handler.cc +++ b/chrome/renderer/extensions/cast_streaming_native_handler.cc @@ -2,16 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/renderer/extensions/webrtc_native_handler.h" +#include "chrome/renderer/extensions/cast_streaming_native_handler.h" #include <functional> #include "base/logging.h" #include "base/message_loop/message_loop.h" -#include "chrome/common/extensions/api/webrtc_cast_send_transport.h" -#include "chrome/common/extensions/api/webrtc_cast_udp_transport.h" +#include "chrome/common/extensions/api/cast_streaming_rtp_stream.h" +#include "chrome/common/extensions/api/cast_streaming_udp_transport.h" #include "chrome/renderer/extensions/chrome_v8_context.h" -#include "chrome/renderer/media/cast_send_transport.h" +#include "chrome/renderer/media/cast_rtp_stream.h" #include "chrome/renderer/media/cast_session.h" #include "chrome/renderer/media/cast_udp_transport.h" #include "content/public/renderer/v8_value_converter.h" @@ -22,16 +22,16 @@ using content::V8ValueConverter; // Extension types. -using extensions::api::webrtc_cast_send_transport::CodecSpecificParams; -using extensions::api::webrtc_cast_send_transport::RtpCaps; -using extensions::api::webrtc_cast_send_transport::RtpParams; -using extensions::api::webrtc_cast_send_transport::RtpPayloadParams; -using extensions::api::webrtc_cast_udp_transport::UdpParams; +using extensions::api::cast_streaming_rtp_stream::CodecSpecificParams; +using extensions::api::cast_streaming_rtp_stream::RtpCaps; +using extensions::api::cast_streaming_rtp_stream::RtpParams; +using extensions::api::cast_streaming_rtp_stream::RtpPayloadParams; +using extensions::api::cast_streaming_udp_transport::UdpParams; namespace extensions { namespace { -const char kSendTransportNotFound[] = "The send transport cannot be found"; +const char kRtpStreamNotFound[] = "The RTP stream cannot be found"; const char kUdpTransportNotFound[] = "The UDP transport cannot be found"; const char kInvalidUdpParams[] = "Invalid UDP params"; const char kInvalidRtpParams[] = "Invalid value for RTP params"; @@ -122,37 +122,37 @@ void ToCastRtpParams(const RtpParams& ext_params, CastRtpParams* cast_params) { } // namespace -WebRtcNativeHandler::WebRtcNativeHandler(ChromeV8Context* context) +CastStreamingNativeHandler::CastStreamingNativeHandler(ChromeV8Context* context) : ObjectBackedNativeHandler(context), last_transport_id_(0), weak_factory_(this) { RouteFunction("CreateSession", - base::Bind(&WebRtcNativeHandler::CreateCastSession, + base::Bind(&CastStreamingNativeHandler::CreateCastSession, base::Unretained(this))); - RouteFunction("DestroyCastSendTransport", - base::Bind(&WebRtcNativeHandler::DestroyCastSendTransport, + RouteFunction("DestroyCastRtpStream", + base::Bind(&CastStreamingNativeHandler::DestroyCastRtpStream, base::Unretained(this))); - RouteFunction("GetCapsCastSendTransport", - base::Bind(&WebRtcNativeHandler::GetCapsCastSendTransport, + RouteFunction("GetCapsCastRtpStream", + base::Bind(&CastStreamingNativeHandler::GetCapsCastRtpStream, base::Unretained(this))); - RouteFunction("StartCastSendTransport", - base::Bind(&WebRtcNativeHandler::StartCastSendTransport, + RouteFunction("StartCastRtpStream", + base::Bind(&CastStreamingNativeHandler::StartCastRtpStream, base::Unretained(this))); - RouteFunction("StopCastSendTransport", - base::Bind(&WebRtcNativeHandler::StopCastSendTransport, + RouteFunction("StopCastRtpStream", + base::Bind(&CastStreamingNativeHandler::StopCastRtpStream, base::Unretained(this))); RouteFunction("DestroyCastUdpTransport", - base::Bind(&WebRtcNativeHandler::DestroyCastUdpTransport, + base::Bind(&CastStreamingNativeHandler::DestroyCastUdpTransport, base::Unretained(this))); RouteFunction("StartCastUdpTransport", - base::Bind(&WebRtcNativeHandler::StartCastUdpTransport, + base::Bind(&CastStreamingNativeHandler::StartCastUdpTransport, base::Unretained(this))); } -WebRtcNativeHandler::~WebRtcNativeHandler() { +CastStreamingNativeHandler::~CastStreamingNativeHandler() { } -void WebRtcNativeHandler::CreateCastSession( +void CastStreamingNativeHandler::CreateCastSession( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(3, args.Length()); CHECK(args[0]->IsObject()); @@ -169,10 +169,10 @@ void WebRtcNativeHandler::CreateCastSession( return; scoped_refptr<CastSession> session(new CastSession()); - scoped_ptr<CastSendTransport> stream1( - new CastSendTransport(track1.component(), session)); - scoped_ptr<CastSendTransport> stream2( - new CastSendTransport(track2.component(), session)); + scoped_ptr<CastRtpStream> stream1( + new CastRtpStream(track1.component(), session)); + scoped_ptr<CastRtpStream> stream2( + new CastRtpStream(track2.component(), session)); scoped_ptr<CastUdpTransport> udp_transport( new CastUdpTransport(session)); @@ -181,26 +181,26 @@ void WebRtcNativeHandler::CreateCastSession( base::MessageLoop::current()->PostTask( FROM_HERE, base::Bind( - &WebRtcNativeHandler::CallCreateCallback, + &CastStreamingNativeHandler::CallCreateCallback, weak_factory_.GetWeakPtr(), base::Passed(&stream1), base::Passed(&stream2), base::Passed(&udp_transport))); } -void WebRtcNativeHandler::CallCreateCallback( - scoped_ptr<CastSendTransport> stream1, - scoped_ptr<CastSendTransport> stream2, +void CastStreamingNativeHandler::CallCreateCallback( + scoped_ptr<CastRtpStream> stream1, + scoped_ptr<CastRtpStream> stream2, scoped_ptr<CastUdpTransport> udp_transport) { v8::HandleScope handle_scope(context()->isolate()); v8::Context::Scope context_scope(context()->v8_context()); const int stream1_id = last_transport_id_++; - send_transport_map_[stream1_id] = - linked_ptr<CastSendTransport>(stream1.release()); + rtp_stream_map_[stream1_id] = + linked_ptr<CastRtpStream>(stream1.release()); const int stream2_id = last_transport_id_++; - send_transport_map_[stream2_id] = - linked_ptr<CastSendTransport>(stream2.release()); + rtp_stream_map_[stream2_id] = + linked_ptr<CastRtpStream>(stream2.release()); const int udp_id = last_transport_id_++; udp_transport_map_[udp_id] = linked_ptr<CastUdpTransport>(udp_transport.release()); @@ -214,24 +214,24 @@ void WebRtcNativeHandler::CallCreateCallback( create_callback_.reset(); } -void WebRtcNativeHandler::DestroyCastSendTransport( +void CastStreamingNativeHandler::DestroyCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(1, args.Length()); CHECK(args[0]->IsInt32()); const int transport_id = args[0]->ToInt32()->Value(); - if (!GetSendTransportOrThrow(transport_id)) + if (!GetRtpStreamOrThrow(transport_id)) return; - send_transport_map_.erase(transport_id); + rtp_stream_map_.erase(transport_id); } -void WebRtcNativeHandler::GetCapsCastSendTransport( +void CastStreamingNativeHandler::GetCapsCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(1, args.Length()); CHECK(args[0]->IsInt32()); const int transport_id = args[0]->ToInt32()->Value(); - CastSendTransport* transport = GetSendTransportOrThrow(transport_id); + CastRtpStream* transport = GetRtpStreamOrThrow(transport_id); if (!transport) return; @@ -245,14 +245,14 @@ void WebRtcNativeHandler::GetCapsCastSendTransport( caps_value.get(), context()->v8_context())); } -void WebRtcNativeHandler::StartCastSendTransport( +void CastStreamingNativeHandler::StartCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(2, args.Length()); CHECK(args[0]->IsInt32()); CHECK(args[1]->IsObject()); const int transport_id = args[0]->ToInt32()->Value(); - CastSendTransport* transport = GetSendTransportOrThrow(transport_id); + CastRtpStream* transport = GetRtpStreamOrThrow(transport_id); if (!transport) return; @@ -276,19 +276,19 @@ void WebRtcNativeHandler::StartCastSendTransport( transport->Start(cast_params); } -void WebRtcNativeHandler::StopCastSendTransport( +void CastStreamingNativeHandler::StopCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(1, args.Length()); CHECK(args[0]->IsInt32()); const int transport_id = args[0]->ToInt32()->Value(); - CastSendTransport* transport = GetSendTransportOrThrow(transport_id); + CastRtpStream* transport = GetRtpStreamOrThrow(transport_id); if (!transport) return; transport->Stop(); } -void WebRtcNativeHandler::DestroyCastUdpTransport( +void CastStreamingNativeHandler::DestroyCastUdpTransport( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(1, args.Length()); CHECK(args[0]->IsInt32()); @@ -299,7 +299,7 @@ void WebRtcNativeHandler::DestroyCastUdpTransport( udp_transport_map_.erase(transport_id); } -void WebRtcNativeHandler::StartCastUdpTransport( +void CastStreamingNativeHandler::StartCastUdpTransport( const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK_EQ(2, args.Length()); CHECK(args[0]->IsInt32()); @@ -327,19 +327,19 @@ void WebRtcNativeHandler::StartCastUdpTransport( transport->Start(net::HostPortPair(udp_params->address, udp_params->port)); } -CastSendTransport* WebRtcNativeHandler::GetSendTransportOrThrow( +CastRtpStream* CastStreamingNativeHandler::GetRtpStreamOrThrow( int transport_id) const { - SendTransportMap::const_iterator iter = send_transport_map_.find( + RtpStreamMap::const_iterator iter = rtp_stream_map_.find( transport_id); - if (iter != send_transport_map_.end()) + if (iter != rtp_stream_map_.end()) return iter->second.get(); v8::Isolate* isolate = context()->v8_context()->GetIsolate(); - isolate->ThrowException(v8::Exception::RangeError( - v8::String::NewFromUtf8(isolate, kSendTransportNotFound))); + isolate->ThrowException(v8::Exception::RangeError(v8::String::NewFromUtf8( + isolate, kRtpStreamNotFound))); return NULL; } -CastUdpTransport* WebRtcNativeHandler::GetUdpTransportOrThrow( +CastUdpTransport* CastStreamingNativeHandler::GetUdpTransportOrThrow( int transport_id) const { UdpTransportMap::const_iterator iter = udp_transport_map_.find( transport_id); diff --git a/chrome/renderer/extensions/webrtc_native_handler.h b/chrome/renderer/extensions/cast_streaming_native_handler.h index 99d20cc..4c2360c 100644 --- a/chrome/renderer/extensions/webrtc_native_handler.h +++ b/chrome/renderer/extensions/cast_streaming_native_handler.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_RENDERER_EXTENSIONS_WEBRTC_NATIVE_HANDLER_H_ -#define CHROME_RENDERER_EXTENSIONS_WEBRTC_NATIVE_HANDLER_H_ +#ifndef CHROME_RENDERER_EXTENSIONS_CAST_STREAMING_NATIVE_HANDLER_H_ +#define CHROME_RENDERER_EXTENSIONS_CAST_STREAMING_NATIVE_HANDLER_H_ #include <map> @@ -13,7 +13,7 @@ #include "chrome/renderer/extensions/scoped_persistent.h" #include "v8/include/v8.h" -class CastSendTransport; +class CastRtpStream; class CastUdpTransport; namespace extensions { @@ -21,24 +21,24 @@ namespace extensions { class ChromeV8Context; // Native code that handle chrome.webrtc custom bindings. -class WebRtcNativeHandler : public ObjectBackedNativeHandler { +class CastStreamingNativeHandler : public ObjectBackedNativeHandler { public: - explicit WebRtcNativeHandler(ChromeV8Context* context); - virtual ~WebRtcNativeHandler(); + explicit CastStreamingNativeHandler(ChromeV8Context* context); + virtual ~CastStreamingNativeHandler(); private: void CreateCastSession( const v8::FunctionCallbackInfo<v8::Value>& args); - void DestroyCastSendTransport( + void DestroyCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args); - void CreateParamsCastSendTransport( + void CreateParamsCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args); - void GetCapsCastSendTransport( + void GetCapsCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args); - void StartCastSendTransport( + void StartCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args); - void StopCastSendTransport( + void StopCastRtpStream( const v8::FunctionCallbackInfo<v8::Value>& args); void DestroyCastUdpTransport( @@ -50,30 +50,30 @@ class WebRtcNativeHandler : public ObjectBackedNativeHandler { // Helper method to call the v8 callback function after a session is // created. - void CallCreateCallback(scoped_ptr<CastSendTransport> stream1, - scoped_ptr<CastSendTransport> stream2, + void CallCreateCallback(scoped_ptr<CastRtpStream> stream1, + scoped_ptr<CastRtpStream> stream2, scoped_ptr<CastUdpTransport> udp_transport); - // Gets the Send or UDP transport indexed by |transport_id|. + // Gets the RTP stream or UDP transport indexed by an ID. // If not found, returns NULL and throws a V8 exception. - CastSendTransport* GetSendTransportOrThrow(int transport_id) const; + CastRtpStream* GetRtpStreamOrThrow(int stream_id) const; CastUdpTransport* GetUdpTransportOrThrow(int transport_id) const; int last_transport_id_; - typedef std::map<int, linked_ptr<CastSendTransport> > SendTransportMap; - SendTransportMap send_transport_map_; + typedef std::map<int, linked_ptr<CastRtpStream> > RtpStreamMap; + RtpStreamMap rtp_stream_map_; typedef std::map<int, linked_ptr<CastUdpTransport> > UdpTransportMap; UdpTransportMap udp_transport_map_; - base::WeakPtrFactory<WebRtcNativeHandler> weak_factory_; + base::WeakPtrFactory<CastStreamingNativeHandler> weak_factory_; extensions::ScopedPersistent<v8::Function> create_callback_; - DISALLOW_COPY_AND_ASSIGN(WebRtcNativeHandler); + DISALLOW_COPY_AND_ASSIGN(CastStreamingNativeHandler); }; } // namespace extensions -#endif // CHROME_RENDERER_EXTENSIONS_WEBRTC_NATIVE_HANDLER_H_ +#endif // CHROME_RENDERER_EXTENSIONS_CAST_STREAMING_NATIVE_HANDLER_H_ diff --git a/chrome/renderer/extensions/dispatcher.cc b/chrome/renderer/extensions/dispatcher.cc index 8aefa04..a3414cf 100644 --- a/chrome/renderer/extensions/dispatcher.cc +++ b/chrome/renderer/extensions/dispatcher.cc @@ -99,7 +99,7 @@ #include "v8/include/v8.h" #if defined(ENABLE_WEBRTC) -#include "chrome/renderer/extensions/webrtc_native_handler.h" +#include "chrome/renderer/extensions/cast_streaming_native_handler.h" #endif using blink::WebDataSource; @@ -944,8 +944,8 @@ void Dispatcher::RegisterNativeHandlers(ModuleSystem* module_system, module_system->RegisterNativeHandler("webstore", scoped_ptr<NativeHandler>(new WebstoreBindings(this, context))); #if defined(ENABLE_WEBRTC) - module_system->RegisterNativeHandler("webrtc_natives", - scoped_ptr<NativeHandler>(new WebRtcNativeHandler(context))); + module_system->RegisterNativeHandler("cast_streaming_natives", + scoped_ptr<NativeHandler>(new CastStreamingNativeHandler(context))); #endif } @@ -1024,12 +1024,13 @@ void Dispatcher::PopulateSourceMap() { source_map_.RegisterSource("webRequestInternal", IDR_WEB_REQUEST_INTERNAL_CUSTOM_BINDINGS_JS); #if defined(ENABLE_WEBRTC) + source_map_.RegisterSource("cast.streaming.rtpStream", + IDR_CAST_STREAMING_RTP_STREAM_CUSTOM_BINDINGS_JS); source_map_.RegisterSource("cast.streaming.session", IDR_CAST_STREAMING_SESSION_CUSTOM_BINDINGS_JS); - source_map_.RegisterSource("webrtc.castSendTransport", - IDR_WEBRTC_CAST_SEND_TRANSPORT_CUSTOM_BINDINGS_JS); - source_map_.RegisterSource("webrtc.castUdpTransport", - IDR_WEBRTC_CAST_UDP_TRANSPORT_CUSTOM_BINDINGS_JS); + source_map_.RegisterSource( + "cast.streaming.udpTransport", + IDR_CAST_STREAMING_UDP_TRANSPORT_CUSTOM_BINDINGS_JS); #endif source_map_.RegisterSource("webstore", IDR_WEBSTORE_CUSTOM_BINDINGS_JS); source_map_.RegisterSource("windowControls", IDR_WINDOW_CONTROLS_JS); diff --git a/chrome/renderer/media/cast_send_transport.cc b/chrome/renderer/media/cast_rtp_stream.cc index f48d49b..2590232 100644 --- a/chrome/renderer/media/cast_send_transport.cc +++ b/chrome/renderer/media/cast_rtp_stream.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/renderer/media/cast_send_transport.h" +#include "chrome/renderer/media/cast_rtp_stream.h" #include "base/logging.h" #include "chrome/renderer/media/cast_session.h" @@ -118,28 +118,28 @@ CastRtpCaps::CastRtpCaps() { CastRtpCaps::~CastRtpCaps() { } -CastSendTransport::CastSendTransport( +CastRtpStream::CastRtpStream( const blink::WebMediaStreamTrack& track, const scoped_refptr<CastSession>& session) : track_(track), cast_session_(session) { } -CastSendTransport::~CastSendTransport() { +CastRtpStream::~CastRtpStream() { } -CastRtpCaps CastSendTransport::GetCaps() { +CastRtpCaps CastRtpStream::GetCaps() { if (IsAudio()) return DefaultAudioCaps(); else return DefaultVideoCaps(); } -CastRtpParams CastSendTransport::GetParams() { +CastRtpParams CastRtpStream::GetParams() { return params_; } -void CastSendTransport::Start(const CastRtpParams& params) { +void CastRtpStream::Start(const CastRtpParams& params) { if (IsAudio()) { AudioSenderConfig config; if (!ToAudioSenderConfig(params, &config)) { @@ -155,10 +155,10 @@ void CastSendTransport::Start(const CastRtpParams& params) { } } -void CastSendTransport::Stop() { +void CastRtpStream::Stop() { NOTIMPLEMENTED(); } -bool CastSendTransport::IsAudio() const { +bool CastRtpStream::IsAudio() const { return track_.source().type() == blink::WebMediaStreamSource::TypeAudio; } diff --git a/chrome/renderer/media/cast_send_transport.h b/chrome/renderer/media/cast_rtp_stream.h index b30f564..a219234 100644 --- a/chrome/renderer/media/cast_send_transport.h +++ b/chrome/renderer/media/cast_rtp_stream.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_RENDERER_MEDIA_CAST_SEND_TRANSPORT_H_ -#define CHROME_RENDERER_MEDIA_CAST_SEND_TRANSPORT_H_ +#ifndef CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ +#define CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ #include <string> #include <vector> @@ -79,11 +79,11 @@ typedef CastRtpCaps CastRtpParams; // Note that this object does not actually output packets. It allows // configuration of encoding and RTP parameters and control such a logical // stream. -class CastSendTransport { +class CastRtpStream { public: - CastSendTransport(const blink::WebMediaStreamTrack& track, + CastRtpStream(const blink::WebMediaStreamTrack& track, const scoped_refptr<CastSession>& session); - ~CastSendTransport(); + ~CastRtpStream(); // Return capabilities currently supported by this transport. CastRtpCaps GetCaps(); @@ -107,7 +107,7 @@ class CastSendTransport { const scoped_refptr<CastSession> cast_session_; CastRtpParams params_; - DISALLOW_COPY_AND_ASSIGN(CastSendTransport); + DISALLOW_COPY_AND_ASSIGN(CastRtpStream); }; -#endif // CHROME_RENDERER_MEDIA_CAST_SEND_TRANSPORT_H_ +#endif // CHROME_RENDERER_MEDIA_CAST_RTP_STREAM_H_ diff --git a/chrome/renderer/resources/extensions/webrtc_cast_send_transport_custom_bindings.js b/chrome/renderer/resources/extensions/cast_streaming_rtp_stream_custom_bindings.js index b23e21a..8feb8dd 100644 --- a/chrome/renderer/resources/extensions/webrtc_cast_send_transport_custom_bindings.js +++ b/chrome/renderer/resources/extensions/cast_streaming_rtp_stream_custom_bindings.js @@ -2,29 +2,29 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Custom binding for the webrtc custom transport API. +// Custom binding for the Cast Streaming RtpStream API. -var binding = require('binding').Binding.create('webrtc.castSendTransport'); -var webrtc = requireNative('webrtc_natives'); +var binding = require('binding').Binding.create('cast.streaming.rtpStream'); +var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('destroy', function(transportId) { - webrtc.DestroyCastSendTransport(transportId); + natives.DestroyCastRtpStream(transportId); }); apiFunctions.setHandleRequest('getCaps', function(transportId) { - return webrtc.GetCapsCastSendTransport(transportId); + return natives.GetCapsCastRtpStream(transportId); }); apiFunctions.setHandleRequest('start', function(transportId, params) { - webrtc.StartCastSendTransport(transportId, params); + natives.StartCastRtpStream(transportId, params); }); apiFunctions.setHandleRequest('stop', function(transportId) { - webrtc.StopCastSendTransport(transportId); + natives.StopCastRtpStream(transportId); }); }); diff --git a/chrome/renderer/resources/extensions/cast_streaming_session_custom_bindings.js b/chrome/renderer/resources/extensions/cast_streaming_session_custom_bindings.js index 8455042..c83639c 100644 --- a/chrome/renderer/resources/extensions/cast_streaming_session_custom_bindings.js +++ b/chrome/renderer/resources/extensions/cast_streaming_session_custom_bindings.js @@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Custom binding for the Cast streaming API. +// Custom binding for the Cast Streaming Session API. var binding = require('binding').Binding.create('cast.streaming.session'); -var natives = requireNative('webrtc_natives'); +var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; diff --git a/chrome/renderer/resources/extensions/webrtc_cast_udp_transport_custom_bindings.js b/chrome/renderer/resources/extensions/cast_streaming_udp_transport_custom_bindings.js index faf4053..a29b321 100644 --- a/chrome/renderer/resources/extensions/webrtc_cast_udp_transport_custom_bindings.js +++ b/chrome/renderer/resources/extensions/cast_streaming_udp_transport_custom_bindings.js @@ -2,20 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Custom binding for the webrtc custom transport API. +// Custom binding for the Cast Streaming UdpTransport API. -var binding = require('binding').Binding.create('webrtc.castUdpTransport'); -var webrtc = requireNative('webrtc_natives'); +var binding = require('binding').Binding.create('cast.streaming.udpTransport'); +var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('destroy', function(transportId) { - webrtc.DestroyCastUdpTransport(transportId); + natives.DestroyCastUdpTransport(transportId); }); apiFunctions.setHandleRequest('start', function(transportId, remoteParams) { - webrtc.StartCastUdpTransport(transportId, remoteParams); + natives.StartCastUdpTransport(transportId, remoteParams); }); }); diff --git a/chrome/renderer/resources/renderer_resources.grd b/chrome/renderer/resources/renderer_resources.grd index 9e37455..d6d6584 100644 --- a/chrome/renderer/resources/renderer_resources.grd +++ b/chrome/renderer/resources/renderer_resources.grd @@ -51,7 +51,9 @@ without changes to the corresponding grd file. fb9 --> <include name="IDR_APP_RUNTIME_CUSTOM_BINDINGS_JS" file="extensions\app_runtime_custom_bindings.js" type="BINDATA" /> <include name="IDR_APP_WINDOW_CUSTOM_BINDINGS_JS" file="extensions\app_window_custom_bindings.js" type="BINDATA" /> <include name="IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS" file="extensions\browser_action_custom_bindings.js" type="BINDATA" /> + <include name="IDR_CAST_STREAMING_RTP_STREAM_CUSTOM_BINDINGS_JS" file="extensions\cast_streaming_rtp_stream_custom_bindings.js" type="BINDATA" /> <include name="IDR_CAST_STREAMING_SESSION_CUSTOM_BINDINGS_JS" file="extensions\cast_streaming_session_custom_bindings.js" type="BINDATA" /> + <include name="IDR_CAST_STREAMING_UDP_TRANSPORT_CUSTOM_BINDINGS_JS" file="extensions\cast_streaming_udp_transport_custom_bindings.js" type="BINDATA" /> <include name="IDR_CHROME_DIRECT_SETTING_JS" file="extensions\chrome_direct_setting.js" type="BINDATA" /> <include name="IDR_CHROME_SETTING_JS" file="extensions\chrome_setting.js" type="BINDATA" /> @@ -94,8 +96,6 @@ without changes to the corresponding grd file. fb9 --> <include name="IDR_WINDOW_CONTROLS_TEMPLATE_HTML" file="extensions\window_controls_template.html" type="BINDATA" /> <include name="IDR_WEB_REQUEST_CUSTOM_BINDINGS_JS" file="extensions\web_request_custom_bindings.js" type="BINDATA" /> <include name="IDR_WEB_REQUEST_INTERNAL_CUSTOM_BINDINGS_JS" file="extensions\web_request_internal_custom_bindings.js" type="BINDATA" /> - <include name="IDR_WEBRTC_CAST_SEND_TRANSPORT_CUSTOM_BINDINGS_JS" file="extensions\webrtc_cast_send_transport_custom_bindings.js" type="BINDATA" /> - <include name="IDR_WEBRTC_CAST_UDP_TRANSPORT_CUSTOM_BINDINGS_JS" file="extensions\webrtc_cast_udp_transport_custom_bindings.js" type="BINDATA" /> <include name="IDR_WEBSTORE_CUSTOM_BINDINGS_JS" file="extensions\webstore_custom_bindings.js" type="BINDATA" /> <include name="IDR_WEB_VIEW_DENY_JS" file="extensions\web_view_deny.js" type="BINDATA" /> <include name="IDR_WEB_VIEW_EXPERIMENTAL_JS" file="extensions\web_view_experimental.js" type="BINDATA" /> diff --git a/chrome/test/data/extensions/api_test/webrtc_cast/basics.html b/chrome/test/data/extensions/api_test/cast_streaming/basics.html index 86106a4..86106a4 100644 --- a/chrome/test/data/extensions/api_test/webrtc_cast/basics.html +++ b/chrome/test/data/extensions/api_test/cast_streaming/basics.html diff --git a/chrome/test/data/extensions/api_test/webrtc_cast/basics.js b/chrome/test/data/extensions/api_test/cast_streaming/basics.js index ade2470..36c1b64 100644 --- a/chrome/test/data/extensions/api_test/webrtc_cast/basics.js +++ b/chrome/test/data/extensions/api_test/cast_streaming/basics.js @@ -2,27 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -var sendTransport = chrome.webrtc.castSendTransport; +var rtpStream = chrome.cast.streaming.rtpStream; var tabCapture = chrome.tabCapture; -var udpTransport = chrome.webrtc.castUdpTransport; +var udpTransport = chrome.cast.streaming.udpTransport; var createSession = chrome.cast.streaming.session.create; chrome.test.runTests([ - function sendTransportStart() { + function rtpStreamStart() { tabCapture.capture({audio: true, video: true}, function(stream) { console.log("Got MediaStream."); chrome.test.assertTrue(!!stream); createSession(stream.getAudioTracks()[0], stream.getVideoTracks()[0], function(stream, audioId, videoId, udpId) { - var audioParams = sendTransport.getCaps(audioId); - var videoParams = sendTransport.getCaps(videoId); - sendTransport.start(audioId, audioParams); - sendTransport.start(videoId, videoParams); - sendTransport.stop(audioId); - sendTransport.stop(videoId); - sendTransport.destroy(audioId); - sendTransport.destroy(videoId); + var audioParams = rtpStream.getCaps(audioId); + var videoParams = rtpStream.getCaps(videoId); + rtpStream.start(audioId, audioParams); + rtpStream.start(videoId, videoParams); + rtpStream.stop(audioId); + rtpStream.stop(videoId); + rtpStream.destroy(audioId); + rtpStream.destroy(videoId); udpTransport.destroy(udpId); stream.stop(); chrome.test.assertEq(audioParams.payloads[0].codecName, "OPUS"); diff --git a/chrome/test/data/extensions/api_test/webrtc_cast/manifest.json b/chrome/test/data/extensions/api_test/cast_streaming/manifest.json index fb001c4..a42cb9c 100644 --- a/chrome/test/data/extensions/api_test/webrtc_cast/manifest.json +++ b/chrome/test/data/extensions/api_test/cast_streaming/manifest.json @@ -4,5 +4,5 @@ "version": "0.1", "manifest_version": 2, "description": "Tests Cast Mirroring Extensions API.", - "permissions": ["webrtc", "tabCapture", "cast", "cast.streaming"] + "permissions": ["tabCapture", "cast", "cast.streaming"] } diff --git a/extensions/common/permissions/api_permission.h b/extensions/common/permissions/api_permission.h index 347f05e..4aacd02 100644 --- a/extensions/common/permissions/api_permission.h +++ b/extensions/common/permissions/api_permission.h @@ -159,7 +159,6 @@ class APIPermission { kWebRequest, kWebRequestBlocking, kWebRequestInternal, - kWebRtc, kWebrtcAudioPrivate, kWebrtcLoggingPrivate, kWebstorePrivate, |