summaryrefslogtreecommitdiff
path: root/chromium/qtwebengine/common/extensions/api
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/qtwebengine/common/extensions/api')
-rw-r--r--chromium/qtwebengine/common/extensions/api/BUILD.gn41
-rw-r--r--chromium/qtwebengine/common/extensions/api/schema.gni9
-rw-r--r--chromium/qtwebengine/common/extensions/api/webrtc_desktop_capture_private.idl28
3 files changed, 78 insertions, 0 deletions
diff --git a/chromium/qtwebengine/common/extensions/api/BUILD.gn b/chromium/qtwebengine/common/extensions/api/BUILD.gn
new file mode 100644
index 00000000000..92bcdcd5ae8
--- /dev/null
+++ b/chromium/qtwebengine/common/extensions/api/BUILD.gn
@@ -0,0 +1,41 @@
+import("//extensions/buildflags/buildflags.gni")
+import("//tools/json_schema_compiler/json_features.gni")
+import("//tools/json_schema_compiler/json_schema_api.gni")
+import("//qtwebengine/common/extensions/api/schema.gni")
+
+assert(enable_extensions)
+
+################################################################################
+# Public Targets
+
+group("api") {
+ public_deps = [
+ ":generated_api_json_strings",
+ ":generated_api_types",
+ ]
+}
+
+################################################################################
+# Private Targets
+
+generated_json_strings("generated_api_json_strings") {
+ sources = webengine_extensions_api_schema_files
+
+ bundle_name = "QtWebEngine"
+ root_namespace = webengine_extensions_api_root_namespace
+
+ deps = [ "//extensions/common/api" ]
+
+ visibility = [ ":api" ]
+}
+
+generated_types("generated_api_types") {
+ sources = webengine_extensions_api_schema_files
+
+ root_namespace = webengine_extensions_api_root_namespace
+
+ deps = [ "//extensions/common/api" ]
+
+ visibility = [ ":api" ]
+}
+
diff --git a/chromium/qtwebengine/common/extensions/api/schema.gni b/chromium/qtwebengine/common/extensions/api/schema.gni
new file mode 100644
index 00000000000..95a335c591a
--- /dev/null
+++ b/chromium/qtwebengine/common/extensions/api/schema.gni
@@ -0,0 +1,9 @@
+webengine_extensions_api_schema_files_ = [
+ "webrtc_desktop_capture_private.idl",
+]
+
+webengine_extensions_api_schema_files =
+ get_path_info(webengine_extensions_api_schema_files_, "abspath")
+
+webengine_extensions_api_root_namespace = "extensions::api::%(namespace)s"
+
diff --git a/chromium/qtwebengine/common/extensions/api/webrtc_desktop_capture_private.idl b/chromium/qtwebengine/common/extensions/api/webrtc_desktop_capture_private.idl
new file mode 100644
index 00000000000..644bb2125ed
--- /dev/null
+++ b/chromium/qtwebengine/common/extensions/api/webrtc_desktop_capture_private.idl
@@ -0,0 +1,28 @@
+// based on //chrome/common/extensions/api/webrtc_desktop_capture_private.idl
+// Copyright 2015 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.
+
+// Use the <code>chrome.webrtcDesktopCapturePrivate</code> API to capture
+// desktop media requested from a WebView.
+namespace webrtcDesktopCapturePrivate {
+ dictionary RequestInfo {
+ // The guest process id for the requester.
+ long guestProcessId;
+
+ // The webview render frame id for the requester.
+ long guestRenderFrameId;
+ };
+
+ dictionary Options {
+ boolean canRequestAudioTrack;
+ };
+
+ callback chooseDesktopMediaCallback = void (DOMString streamId, Options options);
+
+ interface Functions {
+ // Selects primary screen for share explicitly.
+ static long chooseDesktopMedia(RequestInfo request,
+ chooseDesktopMediaCallback callback);
+ };
+};