Componentizes external_video_surface to reduce webview/Cast duplication.

[email protected],[email protected],[email protected],[email protected],[email protected]
BUG=484911

Review URL: https://codereview.chromium.org/1123993002

Cr-Commit-Position: refs/heads/master@{#328859}
diff --git a/components/external_video_surface/BUILD.gn b/components/external_video_surface/BUILD.gn
new file mode 100644
index 0000000..553234a
--- /dev/null
+++ b/components/external_video_surface/BUILD.gn
@@ -0,0 +1,40 @@
+# 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.
+
+if (is_android) {
+  import("//build/config/android/rules.gni")
+}
+
+static_library("external_video_surface") {
+  if (is_android) {
+    sources += [
+      "browser/android/external_video_surface_container_impl.cc",
+      "browser/android/external_video_surface_container_impl.h",
+      "component_jni_registrar.cc",
+      "component_jni_registrar.h",
+    ]
+
+    deps = [
+      ":jni_headers",
+      "//base",
+      "//content/public/browser",
+    ]
+  }
+}
+
+if (is_android) {
+  android_library("java") {
+    java_files = [ "android/java/src/org/chromium/components/external_video_surface/ExternalVideoSurfaceContainer.java" ]
+    deps = [
+      "//base:base_java",
+      "//content/public/android:content_java",
+    ]
+  }
+  generate_jni("jni_headers") {
+    sources = [
+      "android/java/src/org/chromium/components/external_video_surface/ExternalVideoSurfaceContainer.java",
+    ]
+    jni_package = "external_video_surface"
+  }
+}