Merge from Chromium at DEPS revision 269467
This commit was generated by merge_to_master.py.
Change-Id: Id6c03d44b5ad8b098017a943eb9ec8d804dfed99
diff --git a/content/browser/android/browser_jni_registrar.cc b/content/browser/android/browser_jni_registrar.cc
index 60221e9..c93cc91 100644
--- a/content/browser/android/browser_jni_registrar.cc
+++ b/content/browser/android/browser_jni_registrar.cc
@@ -10,6 +10,7 @@
#include "content/browser/accessibility/browser_accessibility_manager_android.h"
#include "content/browser/android/browser_startup_controller.h"
#include "content/browser/android/child_process_launcher_android.h"
+#include "content/browser/android/content_readback_handler.h"
#include "content/browser/android/content_settings.h"
#include "content/browser/android/content_video_view.h"
#include "content/browser/android/content_view_core_impl.h"
@@ -51,6 +52,8 @@
content::RegisterBrowserAccessibilityManager},
{"BrowserStartupController", content::RegisterBrowserStartupController},
{"ChildProcessLauncher", content::RegisterChildProcessLauncher},
+ {"ContentReadbackHandler",
+ content::ContentReadbackHandler::RegisterContentReadbackHandler},
{"ContentSettings", content::ContentSettings::RegisterContentSettings},
{"ContentVideoView", content::ContentVideoView::RegisterContentVideoView},
{"ContentViewCore", content::RegisterContentViewCore},
diff --git a/content/browser/android/content_readback_handler.cc b/content/browser/android/content_readback_handler.cc
new file mode 100644
index 0000000..432b230
--- /dev/null
+++ b/content/browser/android/content_readback_handler.cc
@@ -0,0 +1,76 @@
+// Copyright 2014 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.
+
+#include "content/browser/android/content_readback_handler.h"
+
+#include "base/android/jni_android.h"
+#include "base/bind.h"
+#include "content/browser/android/content_view_core_impl.h"
+#include "jni/ContentReadbackHandler_jni.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/android/java_bitmap.h"
+#include "ui/gfx/rect.h"
+
+namespace content {
+
+// static
+bool ContentReadbackHandler::RegisterContentReadbackHandler(JNIEnv* env) {
+ return RegisterNativesImpl(env);
+}
+
+ContentReadbackHandler::ContentReadbackHandler(JNIEnv* env, jobject obj)
+ : weak_factory_(this) {
+ java_obj_.Reset(env, obj);
+}
+
+ContentReadbackHandler::~ContentReadbackHandler() {}
+
+void ContentReadbackHandler::Destroy(JNIEnv* env, jobject obj) {
+ delete this;
+}
+
+void ContentReadbackHandler::OnFinishContentReadback(int readback_id,
+ bool success,
+ const SkBitmap& bitmap) {
+ JNIEnv* env = base::android::AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> java_bitmap;
+ if (success)
+ java_bitmap = gfx::ConvertToJavaBitmap(&bitmap);
+
+ Java_ContentReadbackHandler_notifyGetContentBitmapFinished(
+ env, java_obj_.obj(), readback_id, success, java_bitmap.obj());
+}
+
+void ContentReadbackHandler::GetContentBitmap(JNIEnv* env,
+ jobject obj,
+ jint readback_id,
+ jfloat scale,
+ jobject config,
+ jfloat x,
+ jfloat y,
+ jfloat width,
+ jfloat height,
+ jobject content_view_core) {
+ ContentViewCore* view =
+ ContentViewCore::GetNativeContentViewCore(env, content_view_core);
+ DCHECK(view);
+
+ base::Callback<void(bool, const SkBitmap&)> result_callback =
+ base::Bind(&ContentReadbackHandler::OnFinishContentReadback,
+ weak_factory_.GetWeakPtr(),
+ readback_id);
+
+ view->GetScaledContentBitmap(
+ scale, config, gfx::Rect(x, y, width, height), result_callback);
+ return;
+}
+
+// static
+static jlong Init(JNIEnv* env, jobject obj) {
+ ContentReadbackHandler* content_readback_handler =
+ new ContentReadbackHandler(env, obj);
+ return reinterpret_cast<intptr_t>(content_readback_handler);
+}
+
+} // namespace content
diff --git a/content/browser/android/content_readback_handler.h b/content/browser/android/content_readback_handler.h
new file mode 100644
index 0000000..11d5aa3
--- /dev/null
+++ b/content/browser/android/content_readback_handler.h
@@ -0,0 +1,54 @@
+// Copyright 2014 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.
+
+#ifndef CONTENT_BROWSER_ANDROID_CONTENT_READBACK_HANDLER_H_
+#define CONTENT_BROWSER_ANDROID_CONTENT_READBACK_HANDLER_H_
+
+#include <jni.h>
+
+#include "base/android/jni_weak_ref.h"
+#include "base/callback.h"
+#include "base/memory/weak_ptr.h"
+
+class SkBitmap;
+
+namespace content {
+
+// Native side of the ContentReadbackHandler.java, which issues content
+// readbacks from the Java side.
+class ContentReadbackHandler {
+ public:
+ // Registers the JNI methods for ContentViewRender.
+ static bool RegisterContentReadbackHandler(JNIEnv* env);
+
+ // Methods called from Java via JNI -----------------------------------------
+ ContentReadbackHandler(JNIEnv* env, jobject obj);
+ void Destroy(JNIEnv* env, jobject obj);
+ void GetContentBitmap(JNIEnv* env,
+ jobject obj,
+ jint readback_id,
+ jfloat scale,
+ jobject config,
+ jfloat x,
+ jfloat y,
+ jfloat width,
+ jfloat height,
+ jobject content_view_core);
+
+ private:
+ virtual ~ContentReadbackHandler();
+
+ void OnFinishContentReadback(int readback_id,
+ bool success,
+ const SkBitmap& bitmap);
+
+ base::android::ScopedJavaGlobalRef<jobject> java_obj_;
+ base::WeakPtrFactory<ContentReadbackHandler> weak_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(ContentReadbackHandler);
+};
+
+} // namespace content
+
+#endif // CONTENT_BROWSER_ANDROID_CONTENT_READBACK_HANDLER_H_
diff --git a/content/browser/android/content_view_render_view.cc b/content/browser/android/content_view_render_view.cc
index 9f5ed31..efda29d 100644
--- a/content/browser/android/content_view_render_view.cc
+++ b/content/browser/android/content_view_render_view.cc
@@ -127,15 +127,6 @@
return buffers_swapped_during_composite_;
}
-jboolean ContentViewRenderView::CompositeToBitmap(JNIEnv* env, jobject obj,
- jobject java_bitmap) {
- gfx::JavaBitmap bitmap(java_bitmap);
- if (!compositor_ || bitmap.format() != ANDROID_BITMAP_FORMAT_RGBA_8888)
- return false;
- return compositor_->CompositeAndReadback(bitmap.pixels(),
- gfx::Rect(bitmap.size()));
-}
-
void ContentViewRenderView::SetOverlayVideoMode(
JNIEnv* env, jobject obj, bool enabled) {
compositor_->SetHasTransparentBackground(enabled);
diff --git a/content/browser/android/content_view_render_view.h b/content/browser/android/content_view_render_view.h
index 8f14456..21e79ea 100644
--- a/content/browser/android/content_view_render_view.h
+++ b/content/browser/android/content_view_render_view.h
@@ -40,7 +40,6 @@
void SurfaceChanged(JNIEnv* env, jobject obj,
jint format, jint width, jint height, jobject surface);
jboolean Composite(JNIEnv* env, jobject obj);
- jboolean CompositeToBitmap(JNIEnv* env, jobject obj, jobject java_bitmap);
void SetOverlayVideoMode(JNIEnv* env, jobject obj, bool enabled);
// CompositorClient ---------------------------------------------------------
diff --git a/content/browser/compositor/delegated_frame_host.cc b/content/browser/compositor/delegated_frame_host.cc
index acfe613..eddedf4 100644
--- a/content/browser/compositor/delegated_frame_host.cc
+++ b/content/browser/compositor/delegated_frame_host.cc
@@ -29,7 +29,7 @@
void DelegatedFrameHostClient::RequestCopyOfOutput(
scoped_ptr<cc::CopyOutputRequest> request) {
- return GetDelegatedFrameHost()->RequestCopyOfOutput(request.Pass());
+ GetDelegatedFrameHost()->RequestCopyOfOutput(request.Pass());
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index 16f600a..42091ff 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -222,6 +222,10 @@
return HostSharedBitmapManager::current();
}
+ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() {
+ return this;
+}
+
gfx::GLSurfaceHandle GpuProcessTransportFactory::GetSharedSurfaceHandle() {
gfx::GLSurfaceHandle handle = gfx::GLSurfaceHandle(
gfx::kNullPluginWindow, gfx::TEXTURE_TRANSPORT);
diff --git a/content/browser/compositor/gpu_process_transport_factory.h b/content/browser/compositor/gpu_process_transport_factory.h
index 0bd5c05..3fdeefa 100644
--- a/content/browser/compositor/gpu_process_transport_factory.h
+++ b/content/browser/compositor/gpu_process_transport_factory.h
@@ -49,6 +49,7 @@
virtual cc::SharedBitmapManager* GetSharedBitmapManager() OVERRIDE;
// ImageTransportFactory implementation.
+ virtual ui::ContextFactory* GetContextFactory() OVERRIDE;
virtual gfx::GLSurfaceHandle GetSharedSurfaceHandle() OVERRIDE;
virtual GLHelper* GetGLHelper() OVERRIDE;
virtual void AddObserver(ImageTransportFactoryObserver* observer) OVERRIDE;
diff --git a/content/browser/compositor/image_transport_factory.cc b/content/browser/compositor/image_transport_factory.cc
index aa6e532..0827acb 100644
--- a/content/browser/compositor/image_transport_factory.cc
+++ b/content/browser/compositor/image_transport_factory.cc
@@ -17,6 +17,12 @@
ImageTransportFactory* g_factory = NULL;
bool g_initialized_for_unit_tests = false;
static gfx::DisableNullDrawGLBindings* g_disable_null_draw = NULL;
+
+void SetFactory(ImageTransportFactory* factory) {
+ g_factory = factory;
+ ui::ContextFactory::SetInstance(factory->GetContextFactory());
+}
+
}
// static
@@ -24,9 +30,7 @@
DCHECK(!g_factory || g_initialized_for_unit_tests);
if (g_initialized_for_unit_tests)
return;
- GpuProcessTransportFactory* factory = new GpuProcessTransportFactory;
- g_factory = factory;
- ui::ContextFactory::SetInstance(factory);
+ SetFactory(new GpuProcessTransportFactory);
}
void ImageTransportFactory::InitializeForUnitTests(
@@ -39,10 +43,7 @@
if (command_line->HasSwitch(switches::kEnablePixelOutputInTests))
g_disable_null_draw = new gfx::DisableNullDrawGLBindings;
- NoTransportImageTransportFactory* factory =
- new NoTransportImageTransportFactory(test_factory.Pass());
- g_factory = factory;
- ui::ContextFactory::SetInstance(factory->context_factory());
+ SetFactory(new NoTransportImageTransportFactory(test_factory.Pass()));
}
// static
diff --git a/content/browser/compositor/image_transport_factory.h b/content/browser/compositor/image_transport_factory.h
index 5910461..2a421bb 100644
--- a/content/browser/compositor/image_transport_factory.h
+++ b/content/browser/compositor/image_transport_factory.h
@@ -64,6 +64,9 @@
// Gets the factory instance.
static ImageTransportFactory* GetInstance();
+ // Gets the image transport factory as a context factory for the compositor.
+ virtual ui::ContextFactory* GetContextFactory() = 0;
+
virtual gfx::GLSurfaceHandle GetSharedSurfaceHandle() = 0;
// Gets a GLHelper instance, associated with the shared context. This
diff --git a/content/browser/compositor/no_transport_image_transport_factory.cc b/content/browser/compositor/no_transport_image_transport_factory.cc
index db0a5ab..c6ef3f8 100644
--- a/content/browser/compositor/no_transport_image_transport_factory.cc
+++ b/content/browser/compositor/no_transport_image_transport_factory.cc
@@ -17,6 +17,10 @@
NoTransportImageTransportFactory::~NoTransportImageTransportFactory() {}
+ui::ContextFactory* NoTransportImageTransportFactory::GetContextFactory() {
+ return context_factory_.get();
+}
+
gfx::GLSurfaceHandle
NoTransportImageTransportFactory::GetSharedSurfaceHandle() {
return gfx::GLSurfaceHandle();
diff --git a/content/browser/compositor/no_transport_image_transport_factory.h b/content/browser/compositor/no_transport_image_transport_factory.h
index 51ae292..1111cd1 100644
--- a/content/browser/compositor/no_transport_image_transport_factory.h
+++ b/content/browser/compositor/no_transport_image_transport_factory.h
@@ -22,13 +22,12 @@
virtual ~NoTransportImageTransportFactory();
// ImageTransportFactory implementation.
+ virtual ui::ContextFactory* GetContextFactory() OVERRIDE;
virtual gfx::GLSurfaceHandle GetSharedSurfaceHandle() OVERRIDE;
virtual GLHelper* GetGLHelper() OVERRIDE;
virtual void AddObserver(ImageTransportFactoryObserver* observer) OVERRIDE;
virtual void RemoveObserver(ImageTransportFactoryObserver* observer) OVERRIDE;
- ui::ContextFactory* context_factory() { return context_factory_.get(); }
-
private:
scoped_ptr<ui::ContextFactory> context_factory_;
scoped_refptr<cc::ContextProvider> context_provider_;
diff --git a/content/browser/context_factory.cc b/content/browser/context_factory.cc
new file mode 100644
index 0000000..b9dfacc
--- /dev/null
+++ b/content/browser/context_factory.cc
@@ -0,0 +1,16 @@
+// Copyright 2014 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.
+
+#include "content/public/browser/context_factory.h"
+
+#include "content/browser/compositor/image_transport_factory.h"
+
+namespace content {
+
+ui::ContextFactory* GetContextFactory() {
+ DCHECK(ImageTransportFactory::GetInstance());
+ return ImageTransportFactory::GetInstance()->GetContextFactory();
+}
+
+} // namespace content
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
index f5c5c65..446e9e2 100644
--- a/content/browser/media/capture/desktop_capture_device.cc
+++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -7,11 +7,13 @@
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
+#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
#include "base/sequenced_task_runner.h"
#include "base/strings/string_number_conversions.h"
#include "base/synchronization/lock.h"
#include "base/threading/sequenced_worker_pool.h"
+#include "base/threading/thread.h"
#include "content/browser/media/capture/desktop_capture_device_uma_types.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/desktop_media_id.h"
@@ -52,6 +54,7 @@
public webrtc::DesktopCapturer::Callback {
public:
Core(scoped_refptr<base::SequencedTaskRunner> task_runner,
+ scoped_ptr<base::Thread> thread,
scoped_ptr<webrtc::DesktopCapturer> capturer,
DesktopMediaID::Type type);
@@ -96,6 +99,9 @@
// Task runner used for capturing operations.
scoped_refptr<base::SequencedTaskRunner> task_runner_;
+ // The thread on which the capturer is running.
+ scoped_ptr<base::Thread> thread_;
+
// The underlying DesktopCapturer instance used to capture frames.
scoped_ptr<webrtc::DesktopCapturer> desktop_capturer_;
@@ -136,13 +142,18 @@
DesktopCaptureDevice::Core::Core(
scoped_refptr<base::SequencedTaskRunner> task_runner,
+ scoped_ptr<base::Thread> thread,
scoped_ptr<webrtc::DesktopCapturer> capturer,
DesktopMediaID::Type type)
: task_runner_(task_runner),
+ thread_(thread.Pass()),
desktop_capturer_(capturer.Pass()),
capture_task_posted_(false),
capture_in_progress_(false),
capturer_type_(type) {
+ DCHECK(!task_runner_.get() || !thread_.get());
+ if (thread_.get())
+ task_runner_ = thread_->message_loop_proxy();
}
DesktopCaptureDevice::Core::~Core() {
@@ -396,11 +407,7 @@
// static
scoped_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
const DesktopMediaID& source) {
- scoped_refptr<base::SequencedWorkerPool> blocking_pool =
- BrowserThread::GetBlockingPool();
- scoped_refptr<base::SequencedTaskRunner> task_runner =
- blocking_pool->GetSequencedTaskRunner(
- blocking_pool->GetSequenceToken());
+ scoped_ptr<base::Thread> ui_thread;
webrtc::DesktopCaptureOptions options =
webrtc::DesktopCaptureOptions::CreateDefault();
@@ -412,6 +419,22 @@
switch (source.type) {
case DesktopMediaID::TYPE_SCREEN: {
scoped_ptr<webrtc::ScreenCapturer> screen_capturer;
+
+#if defined(OS_WIN)
+ bool magnification_allowed =
+ base::FieldTrialList::FindFullName("ScreenCaptureUseMagnification") ==
+ "Enabled";
+
+ if (magnification_allowed) {
+ // The magnification capturer requires running on a dedicated UI thread.
+ ui_thread.reset(new base::Thread("screenCaptureUIThread"));
+ base::Thread::Options thread_options(base::MessageLoop::TYPE_UI, 0);
+ ui_thread->StartWithOptions(thread_options);
+
+ options.set_allow_use_magnification_api(true);
+ }
+#endif
+
screen_capturer.reset(webrtc::ScreenCapturer::Create(options));
if (screen_capturer && screen_capturer->SelectScreen(source.id)) {
capturer.reset(new webrtc::DesktopAndCursorComposer(
@@ -442,20 +465,20 @@
scoped_ptr<media::VideoCaptureDevice> result;
if (capturer) {
- result.reset(
- new DesktopCaptureDevice(task_runner, capturer.Pass(), source.type));
+ scoped_refptr<base::SequencedTaskRunner> task_runner;
+ if (!ui_thread.get()) {
+ scoped_refptr<base::SequencedWorkerPool> blocking_pool =
+ BrowserThread::GetBlockingPool();
+ task_runner = blocking_pool->GetSequencedTaskRunner(
+ blocking_pool->GetSequenceToken());
+ }
+ result.reset(new DesktopCaptureDevice(
+ task_runner, ui_thread.Pass(), capturer.Pass(), source.type));
}
return result.Pass();
}
-DesktopCaptureDevice::DesktopCaptureDevice(
- scoped_refptr<base::SequencedTaskRunner> task_runner,
- scoped_ptr<webrtc::DesktopCapturer> capturer,
- DesktopMediaID::Type type)
- : core_(new Core(task_runner, capturer.Pass(), type)) {
-}
-
DesktopCaptureDevice::~DesktopCaptureDevice() {
StopAndDeAllocate();
}
@@ -475,4 +498,12 @@
core_->SetNotificationWindowId(window_id);
}
+DesktopCaptureDevice::DesktopCaptureDevice(
+ scoped_refptr<base::SequencedTaskRunner> task_runner,
+ scoped_ptr<base::Thread> thread,
+ scoped_ptr<webrtc::DesktopCapturer> capturer,
+ DesktopMediaID::Type type)
+ : core_(new Core(task_runner, thread.Pass(), capturer.Pass(), type)) {
+}
+
} // namespace content
diff --git a/content/browser/media/capture/desktop_capture_device.h b/content/browser/media/capture/desktop_capture_device.h
index af16bda..9fb8ca4 100644
--- a/content/browser/media/capture/desktop_capture_device.h
+++ b/content/browser/media/capture/desktop_capture_device.h
@@ -14,6 +14,7 @@
namespace base {
class SequencedTaskRunner;
+class Thread;
} // namespace base
namespace webrtc {
@@ -33,9 +34,6 @@
static scoped_ptr<media::VideoCaptureDevice> Create(
const DesktopMediaID& source);
- DesktopCaptureDevice(scoped_refptr<base::SequencedTaskRunner> task_runner,
- scoped_ptr<webrtc::DesktopCapturer> desktop_capturer,
- DesktopMediaID::Type type);
virtual ~DesktopCaptureDevice();
// VideoCaptureDevice interface.
@@ -47,7 +45,15 @@
void SetNotificationWindowId(gfx::NativeViewId window_id);
private:
+ friend class DesktopCaptureDeviceTest;
class Core;
+
+ // Either |task_runner| or |thread| should be non-NULL, but not both.
+ DesktopCaptureDevice(scoped_refptr<base::SequencedTaskRunner> task_runner,
+ scoped_ptr<base::Thread> thread,
+ scoped_ptr<webrtc::DesktopCapturer> desktop_capturer,
+ DesktopMediaID::Type type);
+
scoped_refptr<Core> core_;
DISALLOW_COPY_AND_ASSIGN(DesktopCaptureDevice);
diff --git a/content/browser/media/capture/desktop_capture_device_unittest.cc b/content/browser/media/capture/desktop_capture_device_unittest.cc
index 683f060..0c1a360 100644
--- a/content/browser/media/capture/desktop_capture_device_unittest.cc
+++ b/content/browser/media/capture/desktop_capture_device_unittest.cc
@@ -9,6 +9,7 @@
#include "base/synchronization/waitable_event.h"
#include "base/test/test_timeouts.h"
#include "base/threading/sequenced_worker_pool.h"
+#include "base/threading/thread.h"
#include "base/time/time.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -132,18 +133,28 @@
bool generate_inverted_frames_;
};
+} // namespace
+
class DesktopCaptureDeviceTest : public testing::Test {
public:
virtual void SetUp() OVERRIDE {
worker_pool_ = new base::SequencedWorkerPool(3, "TestCaptureThread");
}
+ void CreateScreenCaptureDevice(scoped_ptr<webrtc::DesktopCapturer> capturer) {
+ capture_device_.reset(new DesktopCaptureDevice(
+ worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken()),
+ thread_.Pass(),
+ capturer.Pass(),
+ DesktopMediaID::TYPE_SCREEN));
+ }
+
protected:
scoped_refptr<base::SequencedWorkerPool> worker_pool_;
+ scoped_ptr<base::Thread> thread_;
+ scoped_ptr<DesktopCaptureDevice> capture_device_;
};
-} // namespace
-
// There is currently no screen capturer implementation for ozone. So disable
// the test that uses a real screen-capturer instead of FakeScreenCapturer.
// http://crbug.com/260318
@@ -155,10 +166,8 @@
TEST_F(DesktopCaptureDeviceTest, MAYBE_Capture) {
scoped_ptr<webrtc::DesktopCapturer> capturer(
webrtc::ScreenCapturer::Create());
- DesktopCaptureDevice capture_device(
- worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken()),
- capturer.Pass(),
- DesktopMediaID::TYPE_SCREEN);
+ CreateScreenCaptureDevice(capturer.Pass());
+
media::VideoCaptureFormat format;
base::WaitableEvent done_event(false, false);
int frame_size;
@@ -175,10 +184,10 @@
capture_params.requested_format.frame_rate = kFrameRate;
capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420;
capture_params.allow_resolution_change = false;
- capture_device.AllocateAndStart(
+ capture_device_->AllocateAndStart(
capture_params, client.PassAs<media::VideoCaptureDevice::Client>());
EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout()));
- capture_device.StopAndDeAllocate();
+ capture_device_->StopAndDeAllocate();
EXPECT_GT(format.frame_size.width(), 0);
EXPECT_GT(format.frame_size.height(), 0);
@@ -194,10 +203,7 @@
TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeConstantResolution) {
FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
- DesktopCaptureDevice capture_device(
- worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken()),
- scoped_ptr<webrtc::DesktopCapturer>(mock_capturer),
- DesktopMediaID::TYPE_SCREEN);
+ CreateScreenCaptureDevice(scoped_ptr<webrtc::DesktopCapturer>(mock_capturer));
media::VideoCaptureFormat format;
base::WaitableEvent done_event(false, false);
@@ -217,7 +223,7 @@
capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420;
capture_params.allow_resolution_change = false;
- capture_device.AllocateAndStart(
+ capture_device_->AllocateAndStart(
capture_params, client.PassAs<media::VideoCaptureDevice::Client>());
// Capture at least two frames, to ensure that the source frame size has
@@ -226,7 +232,7 @@
done_event.Reset();
EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout()));
- capture_device.StopAndDeAllocate();
+ capture_device_->StopAndDeAllocate();
EXPECT_EQ(kTestFrameWidth1, format.frame_size.width());
EXPECT_EQ(kTestFrameHeight1, format.frame_size.height());
@@ -242,10 +248,7 @@
TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeVariableResolution) {
FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
- DesktopCaptureDevice capture_device(
- worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken()),
- scoped_ptr<webrtc::DesktopCapturer>(mock_capturer),
- DesktopMediaID::TYPE_SCREEN);
+ CreateScreenCaptureDevice(scoped_ptr<webrtc::DesktopCapturer>(mock_capturer));
media::VideoCaptureFormat format;
base::WaitableEvent done_event(false, false);
@@ -263,7 +266,7 @@
capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420;
capture_params.allow_resolution_change = false;
- capture_device.AllocateAndStart(
+ capture_device_->AllocateAndStart(
capture_params, client.PassAs<media::VideoCaptureDevice::Client>());
// Capture at least three frames, to ensure that the source frame size has
@@ -274,7 +277,7 @@
done_event.Reset();
EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout()));
- capture_device.StopAndDeAllocate();
+ capture_device_->StopAndDeAllocate();
EXPECT_EQ(kTestFrameWidth1, format.frame_size.width());
EXPECT_EQ(kTestFrameHeight1, format.frame_size.height());
diff --git a/content/browser/mojo/mojo_application_host.cc b/content/browser/mojo/mojo_application_host.cc
index 48d343a..efe2ddf 100644
--- a/content/browser/mojo/mojo_application_host.cc
+++ b/content/browser/mojo/mojo_application_host.cc
@@ -30,7 +30,7 @@
}
bool MojoApplicationHost::Init() {
- DCHECK(shell_client_.is_null()) << "Already initialized!";
+ DCHECK(!shell_.get()) << "Already initialized!";
mojo::embedder::PlatformChannelPair channel_pair;
@@ -43,10 +43,7 @@
// Forward this to the client once we know its process handle.
client_handle_ = channel_pair.PassClientHandle();
- // TODO(darin): Provide a Shell implementation
- shell_client_.reset(
- mojo::ScopedShellClientHandle::From(message_pipe.Pass()), NULL);
-
+ shell_.reset(BindToPipe(new ShellImpl(), message_pipe.Pass()));
return true;
}
@@ -62,4 +59,14 @@
return did_activate_;
}
+void MojoApplicationHost::ShellImpl::SetClient(mojo::ShellClient* client) {
+ client_ = client;
+}
+
+void MojoApplicationHost::ShellImpl::Connect(
+ const mojo::String& url,
+ mojo::ScopedMessagePipeHandle handle) {
+ // TODO(darin): Provide something meaningful here.
+}
+
} // namespace content
diff --git a/content/browser/mojo/mojo_application_host.h b/content/browser/mojo/mojo_application_host.h
index 68f6c32..a28d2a3 100644
--- a/content/browser/mojo/mojo_application_host.h
+++ b/content/browser/mojo/mojo_application_host.h
@@ -8,7 +8,6 @@
#include "base/process/process_handle.h"
#include "mojo/common/channel_init.h"
#include "mojo/embedder/scoped_platform_handle.h"
-#include "mojo/public/cpp/bindings/remote_ptr.h"
#include "mojo/public/interfaces/shell/shell.mojom.h"
namespace IPC {
@@ -25,7 +24,7 @@
class MojoApplicationHost {
public:
MojoApplicationHost();
- ~MojoApplicationHost();
+ virtual ~MojoApplicationHost();
// Two-phase initialization:
// 1- Init makes the shell_client() available synchronously.
@@ -35,12 +34,34 @@
bool did_activate() const { return did_activate_; }
- mojo::ShellClient* shell_client() { return shell_client_.get(); }
+ mojo::ShellClient* shell_client() {
+ DCHECK(shell_.get());
+ return shell_->client();
+ }
private:
+ class ShellImpl : public mojo::InterfaceImpl<mojo::Shell> {
+ public:
+ ShellImpl() : client_(NULL) {}
+ mojo::ShellClient* client() { return client_; }
+
+ virtual void OnConnectionError() OVERRIDE {
+ // TODO(darin): How should we handle this error?
+ }
+
+ // mojo::Shell methods:
+ virtual void SetClient(mojo::ShellClient* client) OVERRIDE;
+ virtual void Connect(const mojo::String& url,
+ mojo::ScopedMessagePipeHandle handle) OVERRIDE;
+ private:
+ mojo::ShellClient* client_;
+ };
+
mojo::common::ChannelInit channel_init_;
mojo::embedder::ScopedPlatformHandle client_handle_;
- mojo::RemotePtr<mojo::ShellClient> shell_client_;
+
+ scoped_ptr<ShellImpl> shell_;
+
bool did_activate_;
DISALLOW_COPY_AND_ASSIGN(MojoApplicationHost);
diff --git a/content/browser/plugin_service_impl.cc b/content/browser/plugin_service_impl.cc
index 047859a..0d285fd 100644
--- a/content/browser/plugin_service_impl.cc
+++ b/content/browser/plugin_service_impl.cc
@@ -761,7 +761,7 @@
}
void PluginServiceImpl::AddExtraPluginPath(const base::FilePath& path) {
- if (!NPAPIPluginsSupported()) {
+ if (!NPAPIPluginsSupported()) {
// TODO(jam): remove and just have CHECK once we're sure this doesn't get
// triggered.
DVLOG(0) << "NPAPI plugins not supported";
@@ -799,8 +799,7 @@
}
bool PluginServiceImpl::NPAPIPluginsSupported() {
-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
- (defined(OS_LINUX) && !defined(USE_AURA))
+#if defined(OS_WIN) || defined(OS_MACOSX)
return true;
#else
return false;
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
index e4f603f..84d95ac 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
@@ -9,6 +9,7 @@
#include "base/win/windows_version.h"
#include "content/browser/accessibility/browser_accessibility_manager_win.h"
#include "content/browser/accessibility/browser_accessibility_win.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/common/content_switches.h"
#include "ui/base/touch/touch_enabled.h"
#include "ui/base/view_prop.h"
@@ -18,6 +19,11 @@
namespace content {
+// A custom MSAA object id used to determine if a screen reader or some
+// other client is listening on MSAA events - if so, we enable full web
+// accessibility support.
+const int kIdScreenReaderHoneyPot = 1;
+
LegacyRenderWidgetHostHWND::~LegacyRenderWidgetHostHWND() {
::DestroyWindow(hwnd());
}
@@ -100,6 +106,14 @@
hwnd(), OBJID_WINDOW, IID_IAccessible,
reinterpret_cast<void **>(window_accessible_.Receive()));
DCHECK(SUCCEEDED(hr));
+
+ if (!BrowserAccessibilityState::GetInstance()->IsAccessibleBrowser()) {
+ // Attempt to detect screen readers or other clients who want full
+ // accessibility support, by seeing if they respond to this event.
+ NotifyWinEvent(EVENT_SYSTEM_ALERT, hwnd(), kIdScreenReaderHoneyPot,
+ CHILDID_SELF);
+ }
+
return !!SUCCEEDED(hr);
}
@@ -119,6 +133,13 @@
LRESULT LegacyRenderWidgetHostHWND::OnGetObject(UINT message,
WPARAM w_param,
LPARAM l_param) {
+ if (kIdScreenReaderHoneyPot == l_param) {
+ // When an MSAA client has responded to our fake event on this id,
+ // enable screen reader support.
+ BrowserAccessibilityState::GetInstance()->OnScreenReaderDetected();
+ return static_cast<LRESULT>(0L);
+ }
+
if (OBJID_CLIENT != l_param || !manager_)
return static_cast<LRESULT>(0L);
@@ -303,4 +324,4 @@
return 0;
}
-} // namespace content
\ No newline at end of file
+} // namespace content
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 4cf4cdc..c01dc5c 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -59,7 +59,6 @@
#include "content/browser/indexed_db/indexed_db_dispatcher_host.h"
#include "content/browser/loader/resource_message_filter.h"
#include "content/browser/loader/resource_scheduler_filter.h"
-#include "content/browser/media/android/browser_demuxer_android.h"
#include "content/browser/media/capture/audio_mirroring_manager.h"
#include "content/browser/media/media_internals.h"
#include "content/browser/message_port_message_filter.h"
@@ -150,6 +149,10 @@
#include "webkit/browser/fileapi/sandbox_file_system_backend.h"
#include "webkit/common/resource_type.h"
+#if defined(OS_ANDROID)
+#include "content/browser/media/android/browser_demuxer_android.h"
+#endif
+
#if defined(OS_WIN)
#include "base/win/scoped_com_initializer.h"
#include "content/common/font_cache_dispatcher_win.h"
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h
index cddc4dc..358109f 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -21,9 +21,7 @@
#include "content/public/browser/render_process_host.h"
#include "ipc/ipc_channel_proxy.h"
#include "ipc/ipc_platform_file.h"
-#include "mojo/embedder/scoped_platform_handle.h"
-#include "mojo/public/cpp/bindings/remote_ptr.h"
-#include "mojo/public/interfaces/shell/shell.mojom.h"
+#include "mojo/public/cpp/bindings/interface_ptr.h"
struct ViewHostMsg_CompositorSurfaceBuffersSwapped_Params;
@@ -245,6 +243,14 @@
void ConnectTo(const base::StringPiece& service_name,
mojo::ScopedMessagePipeHandle handle);
+ template <typename Interface>
+ void ConnectTo(const base::StringPiece& service_name,
+ mojo::InterfacePtr<Interface>* ptr) {
+ mojo::MessagePipe pipe;
+ ptr->Bind(pipe.handle0.Pass());
+ ConnectTo(service_name, pipe.handle1.Pass());
+ }
+
protected:
// A proxy for our IPC::Channel that lives on the IO thread (see
// browser_process.h)
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index c173bb9..49a17ef 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -687,12 +687,11 @@
DCHECK(renderer_initialized_);
- mojo::InterfacePipe<WebUISetup, mojo::AnyInterface> pipe;
- mojo::RemotePtr<WebUISetup> web_ui_setup(pipe.handle_to_self.Pass(), NULL);
- web_ui_setup->SetWebUIHandle(GetRoutingID(), handle.Pass());
-
+ WebUISetupPtr web_ui_setup;
static_cast<RenderProcessHostImpl*>(GetProcess())->ConnectTo(
- kRendererService_WebUISetup, pipe.handle_to_peer.Pass());
+ kRendererService_WebUISetup, &web_ui_setup);
+
+ web_ui_setup->SetWebUIHandle(GetRoutingID(), handle.Pass());
}
#if defined(OS_ANDROID)
diff --git a/content/browser/service_worker/database_proto.target.darwin-arm.mk b/content/browser/service_worker/database_proto.target.darwin-arm.mk
index c3e221e..16495c5 100644
--- a/content/browser/service_worker/database_proto.target.darwin-arm.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -197,6 +198,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-arm64.mk b/content/browser/service_worker/database_proto.target.darwin-arm64.mk
index 14d103c..f7d896e 100644
--- a/content/browser/service_worker/database_proto.target.darwin-arm64.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -190,6 +191,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-mips.mk b/content/browser/service_worker/database_proto.target.darwin-mips.mk
index f7ec6bb..7c0e14b 100644
--- a/content/browser/service_worker/database_proto.target.darwin-mips.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-mips.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -199,6 +200,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-x86.mk b/content/browser/service_worker/database_proto.target.darwin-x86.mk
index 359a96e..a862113 100644
--- a/content/browser/service_worker/database_proto.target.darwin-x86.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.darwin-x86_64.mk b/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
index 238a569..d2f2b4e 100644
--- a/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
+++ b/content/browser/service_worker/database_proto.target.darwin-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.linux-arm.mk b/content/browser/service_worker/database_proto.target.linux-arm.mk
index c3e221e..16495c5 100644
--- a/content/browser/service_worker/database_proto.target.linux-arm.mk
+++ b/content/browser/service_worker/database_proto.target.linux-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -197,6 +198,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.linux-arm64.mk b/content/browser/service_worker/database_proto.target.linux-arm64.mk
index 14d103c..f7d896e 100644
--- a/content/browser/service_worker/database_proto.target.linux-arm64.mk
+++ b/content/browser/service_worker/database_proto.target.linux-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -190,6 +191,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.linux-mips.mk b/content/browser/service_worker/database_proto.target.linux-mips.mk
index f7ec6bb..7c0e14b 100644
--- a/content/browser/service_worker/database_proto.target.linux-mips.mk
+++ b/content/browser/service_worker/database_proto.target.linux-mips.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -199,6 +200,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.linux-x86.mk b/content/browser/service_worker/database_proto.target.linux-x86.mk
index 359a96e..a862113 100644
--- a/content/browser/service_worker/database_proto.target.linux-x86.mk
+++ b/content/browser/service_worker/database_proto.target.linux-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/service_worker/database_proto.target.linux-x86_64.mk b/content/browser/service_worker/database_proto.target.linux-x86_64.mk
index 238a569..d2f2b4e 100644
--- a/content/browser/service_worker/database_proto.target.linux-x86_64.mk
+++ b/content/browser/service_worker/database_proto.target.linux-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-arm.mk b/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
index 3efb7da..b4c926e 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -197,6 +198,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk b/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
index 3d2b88f..e1e2bc3 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -190,6 +191,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-mips.mk b/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
index bd168a8..fcd9499 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-mips.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -199,6 +200,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-x86.mk b/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
index 034dad0..1ad1a25 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk b/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
index 01c2092..7009b48 100644
--- a/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
+++ b/content/browser/speech/proto/speech_proto.target.darwin-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-arm.mk b/content/browser/speech/proto/speech_proto.target.linux-arm.mk
index 3efb7da..b4c926e 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-arm.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -197,6 +198,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-arm64.mk b/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
index 3d2b88f..e1e2bc3 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -190,6 +191,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-mips.mk b/content/browser/speech/proto/speech_proto.target.linux-mips.mk
index bd168a8..fcd9499 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-mips.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-mips.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -199,6 +200,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-x86.mk b/content/browser/speech/proto/speech_proto.target.linux-x86.mk
index 034dad0..1ad1a25 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-x86.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk b/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
index 01c2092..7009b48 100644
--- a/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
+++ b/content/browser/speech/proto/speech_proto.target.linux-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
@@ -198,6 +199,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DPROTOBUF_USE_DLLS' \
'-DGOOGLE_PROTOBUF_NO_RTTI' \
'-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER' \
diff --git a/content/browser/web_contents/web_contents_view_aura_browsertest.cc b/content/browser/web_contents/web_contents_view_aura_browsertest.cc
index c20a888..330f624 100644
--- a/content/browser/web_contents/web_contents_view_aura_browsertest.cc
+++ b/content/browser/web_contents/web_contents_view_aura_browsertest.cc
@@ -616,9 +616,18 @@
delete web_contents->GetContentNativeView();
}
-// TODO(dalecurtis): Test disabled due to flakiness. http://crbug.com/369871.
+
+#if defined(OS_WIN)
+// This appears to be flaky in the same was as the other overscroll
+// tests. Enabling for non-Windows platforms.
+// See http://crbug.com/369871.
+#define MAYBE_RepeatedQuickOverscrollGestures DISABLED_RepeatedQuickOverscrollGestures
+#else
+#define MAYBE_RepeatedQuickOverscrollGestures RepeatedQuickOverscrollGestures
+#endif
+
IN_PROC_BROWSER_TEST_F(WebContentsViewAuraTest,
- DISABLED_RepeatedQuickOverscrollGestures) {
+ MAYBE_RepeatedQuickOverscrollGestures) {
ASSERT_NO_FATAL_FAILURE(
StartTestWithPage("files/overscroll_navigation.html"));
diff --git a/content/browser/webui/web_ui_mojo_browsertest.cc b/content/browser/webui/web_ui_mojo_browsertest.cc
index 598dbe1..039db85 100644
--- a/content/browser/webui/web_ui_mojo_browsertest.cc
+++ b/content/browser/webui/web_ui_mojo_browsertest.cc
@@ -25,7 +25,6 @@
#include "grit/content_resources.h"
#include "mojo/common/test/test_utils.h"
#include "mojo/public/cpp/bindings/allocation_scope.h"
-#include "mojo/public/cpp/bindings/remote_ptr.h"
#include "mojo/public/js/bindings/constants.h"
namespace content {
@@ -54,23 +53,24 @@
return true;
}
-class BrowserTargetImpl : public mojo::BrowserTarget {
+class BrowserTargetImpl : public BrowserTarget {
public:
- BrowserTargetImpl(mojo::ScopedRendererTargetHandle& handle,
+ BrowserTargetImpl(mojo::ScopedMessagePipeHandle handle,
base::RunLoop* run_loop)
- : client_(handle.Pass(), this),
+ : renderer_(mojo::MakeProxy<RendererTarget>(handle.Pass())),
run_loop_(run_loop) {
+ renderer_->SetClient(this);
}
virtual ~BrowserTargetImpl() {}
- // mojo::BrowserTarget overrides:
+ // BrowserTarget overrides:
virtual void PingResponse() OVERRIDE {
NOTREACHED();
}
protected:
- mojo::RemotePtr<mojo::RendererTarget> client_;
+ RendererTargetPtr renderer_;
base::RunLoop* run_loop_;
private:
@@ -79,15 +79,15 @@
class PingBrowserTargetImpl : public BrowserTargetImpl {
public:
- PingBrowserTargetImpl(mojo::ScopedRendererTargetHandle handle,
+ PingBrowserTargetImpl(mojo::ScopedMessagePipeHandle handle,
base::RunLoop* run_loop)
- : BrowserTargetImpl(handle, run_loop) {
- client_->Ping();
+ : BrowserTargetImpl(handle.Pass(), run_loop) {
+ renderer_->Ping();
}
virtual ~PingBrowserTargetImpl() {}
- // mojo::BrowserTarget overrides:
+ // BrowserTarget overrides:
// Quit the RunLoop when called.
virtual void PingResponse() OVERRIDE {
got_message = true;
@@ -128,11 +128,10 @@
// WebUIController overrides:
virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE {
- mojo::InterfacePipe<mojo::BrowserTarget, mojo::RendererTarget> pipe;
- browser_target_.reset(new PingBrowserTargetImpl(
- pipe.handle_to_peer.Pass(), run_loop_));
- render_view_host->SetWebUIHandle(
- mojo::ScopedMessagePipeHandle(pipe.handle_to_self.release()));
+ mojo::MessagePipe pipe;
+ browser_target_.reset(
+ new PingBrowserTargetImpl(pipe.handle0.Pass(), run_loop_));
+ render_view_host->SetWebUIHandle(pipe.handle1.Pass());
}
private:
diff --git a/content/child/child_thread.cc b/content/child/child_thread.cc
index e39ef4c..1ac5468 100644
--- a/content/child/child_thread.cc
+++ b/content/child/child_thread.cc
@@ -29,6 +29,7 @@
#include "content/child/child_resource_message_filter.h"
#include "content/child/child_shared_bitmap_manager.h"
#include "content/child/fileapi/file_system_dispatcher.h"
+#include "content/child/fileapi/webfilesystem_impl.h"
#include "content/child/mojo/mojo_application.h"
#include "content/child/power_monitor_broadcast_source.h"
#include "content/child/quota_dispatcher.h"
@@ -340,6 +341,7 @@
// safely shutdown blink in their Shutdown implementation.
file_system_dispatcher_.reset();
quota_dispatcher_.reset();
+ WebFileSystemImpl::DeleteThreadSpecificInstance();
}
void ChildThread::OnChannelConnected(int32 peer_pid) {
diff --git a/content/child/child_thread.h b/content/child/child_thread.h
index 8887e7a..1b04830 100644
--- a/content/child/child_thread.h
+++ b/content/child/child_thread.h
@@ -58,7 +58,7 @@
// The main thread of a child process derives from this class.
class CONTENT_EXPORT ChildThread : public IPC::Listener,
public IPC::Sender,
- public mojo::ShellClient {
+ public NON_EXPORTED_BASE(mojo::ShellClient) {
public:
// Creates the thread.
ChildThread();
diff --git a/content/child/mojo/mojo_application.cc b/content/child/mojo/mojo_application.cc
index 1d61c0b..5cec176 100644
--- a/content/child/mojo/mojo_application.cc
+++ b/content/child/mojo/mojo_application.cc
@@ -38,8 +38,8 @@
ChildProcess::current()->io_message_loop_proxy());
DCHECK(message_pipe.is_valid());
- shell_.reset(
- mojo::ScopedShellHandle::From(message_pipe.Pass()), shell_client_);
+ shell_.Bind(message_pipe.Pass());
+ shell_->SetClient(shell_client_);
}
} // namespace content
diff --git a/content/child/mojo/mojo_application.h b/content/child/mojo/mojo_application.h
index fad9888..88646b6 100644
--- a/content/child/mojo/mojo_application.h
+++ b/content/child/mojo/mojo_application.h
@@ -7,7 +7,6 @@
#include "ipc/ipc_platform_file.h"
#include "mojo/common/channel_init.h"
-#include "mojo/public/cpp/bindings/remote_ptr.h"
#include "mojo/public/interfaces/shell/shell.mojom.h"
namespace IPC {
@@ -36,7 +35,7 @@
void OnActivate(const IPC::PlatformFileForTransit& file);
mojo::common::ChannelInit channel_init_;
- mojo::RemotePtr<mojo::Shell> shell_;
+ mojo::ShellPtr shell_;
mojo::ShellClient* shell_client_;
DISALLOW_COPY_AND_ASSIGN(MojoApplication);
diff --git a/content/child/resource_dispatcher.cc b/content/child/resource_dispatcher.cc
index b6a877f..9e6e923 100644
--- a/content/child/resource_dispatcher.cc
+++ b/content/child/resource_dispatcher.cc
@@ -47,10 +47,7 @@
*time = converter.ToLocalTimeTicks(remote_time).ToTimeTicks();
}
-
-} // namespace
-
-static void CrashOnMapFailure() {
+void CrashOnMapFailure() {
#if defined(OS_WIN)
DWORD last_err = GetLastError();
base::debug::Alias(&last_err);
@@ -59,7 +56,7 @@
}
// Each resource request is assigned an ID scoped to this process.
-static int MakeRequestID() {
+int MakeRequestID() {
// NOTE: The resource_dispatcher_host also needs probably unique
// request_ids, so they count down from -2 (-1 is a special we're
// screwed value), while the renderer process counts up.
@@ -67,6 +64,8 @@
return next_request_id++;
}
+} // namespace
+
// ResourceLoaderBridge implementation ----------------------------------------
class IPCResourceLoaderBridge : public ResourceLoaderBridge {
@@ -162,11 +161,6 @@
// this operation may fail, as the dispatcher will have preemptively
// removed us when the renderer sends the ReceivedAllData message.
dispatcher_->RemovePendingRequest(request_id_);
-
- if (request_.download_to_file) {
- dispatcher_->message_sender()->Send(
- new ResourceHostMsg_ReleaseDownloadedFile(request_id_));
- }
}
}
@@ -190,7 +184,8 @@
request_.resource_type,
request_.origin_pid,
frame_origin_,
- request_.url);
+ request_.url,
+ request_.download_to_file);
return dispatcher_->message_sender()->Send(
new ResourceHostMsg_RequestResource(routing_id_, request_id_, request_));
@@ -297,6 +292,18 @@
return true;
}
+ // If the request has been canceled, only dispatch
+ // ResourceMsg_RequestComplete (otherwise resource leaks) and drop other
+ // messages.
+ if (request_info->is_canceled) {
+ if (message.type() == ResourceMsg_RequestComplete::ID) {
+ DispatchMessage(message);
+ } else {
+ ReleaseResourcesInDataMessage(message);
+ }
+ return true;
+ }
+
if (request_info->is_deferred) {
request_info->deferred_message_queue.push_back(new IPC::Message(message));
return true;
@@ -561,11 +568,16 @@
ResourceType::Type resource_type,
int origin_pid,
const GURL& frame_origin,
- const GURL& request_url) {
+ const GURL& request_url,
+ bool download_to_file) {
// Compute a unique request_id for this renderer process.
int id = MakeRequestID();
- pending_requests_[id] = PendingRequestInfo(
- callback, resource_type, origin_pid, frame_origin, request_url);
+ pending_requests_[id] = PendingRequestInfo(callback,
+ resource_type,
+ origin_pid,
+ frame_origin,
+ request_url,
+ download_to_file);
return id;
}
@@ -575,9 +587,17 @@
return false;
PendingRequestInfo& request_info = it->second;
+
+ bool release_downloaded_file = request_info.download_to_file;
+
ReleaseResourcesInMessageQueue(&request_info.deferred_message_queue);
pending_requests_.erase(it);
+ if (release_downloaded_file) {
+ message_sender_->Send(
+ new ResourceHostMsg_ReleaseDownloadedFile(request_id));
+ }
+
return true;
}
@@ -588,6 +608,46 @@
return;
}
+ PendingRequestInfo& request_info = it->second;
+ request_info.is_canceled = true;
+
+ // Because message handlers could result in request_info being destroyed,
+ // we need to work with a stack reference to the deferred queue.
+ MessageQueue queue;
+ queue.swap(request_info.deferred_message_queue);
+ // Removes pending requests. If ResourceMsg_RequestComplete was queued,
+ // dispatch it.
+ bool first_message = true;
+ while (!queue.empty()) {
+ IPC::Message* message = queue.front();
+ if (message->type() == ResourceMsg_RequestComplete::ID) {
+ if (first_message) {
+ // Dispatch as-is.
+ DispatchMessage(*message);
+ } else {
+ // If we skip some ResourceMsg_DataReceived and then dispatched the
+ // original ResourceMsg_RequestComplete(status=success), chrome will
+ // crash because it entered an unexpected state. So replace
+ // ResourceMsg_RequestComplete with failure status.
+ ResourceMsg_RequestCompleteData request_complete_data;
+ request_complete_data.error_code = net::ERR_ABORTED;
+ request_complete_data.was_ignored_by_handler = false;
+ request_complete_data.exists_in_cache = false;
+ request_complete_data.completion_time = base::TimeTicks();
+ request_complete_data.encoded_data_length = 0;
+
+ ResourceMsg_RequestComplete error_message(request_id,
+ request_complete_data);
+ DispatchMessage(error_message);
+ }
+ } else {
+ ReleaseResourcesInDataMessage(*message);
+ }
+ first_message = false;
+ queue.pop_front();
+ delete message;
+ }
+
// |request_id| will be removed from |pending_requests_| when
// OnRequestComplete returns with ERR_ABORTED.
message_sender()->Send(new ResourceHostMsg_CancelRequest(request_id));
@@ -615,9 +675,10 @@
}
}
-void ResourceDispatcher::DidChangePriority(
- int routing_id, int request_id, net::RequestPriority new_priority,
- int intra_priority_value) {
+void ResourceDispatcher::DidChangePriority(int routing_id,
+ int request_id,
+ net::RequestPriority new_priority,
+ int intra_priority_value) {
DCHECK(ContainsKey(pending_requests_, request_id));
message_sender()->Send(new ResourceHostMsg_DidChangePriority(
request_id, new_priority, intra_priority_value));
@@ -627,6 +688,8 @@
: peer(NULL),
resource_type(ResourceType::SUB_RESOURCE),
is_deferred(false),
+ is_canceled(false),
+ download_to_file(false),
blocked_response(false),
buffer_size(0) {
}
@@ -636,14 +699,17 @@
ResourceType::Type resource_type,
int origin_pid,
const GURL& frame_origin,
- const GURL& request_url)
+ const GURL& request_url,
+ bool download_to_file)
: peer(peer),
resource_type(resource_type),
origin_pid(origin_pid),
is_deferred(false),
+ is_canceled(false),
url(request_url),
frame_origin(frame_origin),
response_url(request_url),
+ download_to_file(download_to_file),
request_start(base::TimeTicks::Now()),
blocked_response(false) {}
diff --git a/content/child/resource_dispatcher.h b/content/child/resource_dispatcher.h
index 5aabbd4..d407579 100644
--- a/content/child/resource_dispatcher.h
+++ b/content/child/resource_dispatcher.h
@@ -52,33 +52,33 @@
webkit_glue::ResourceLoaderBridge* CreateBridge(
const RequestInfo& request_info);
- // Adds a request from the pending_requests_ list, returning the new
- // requests' ID
+ // Adds a request from the |pending_requests_| list, returning the new
+ // requests' ID.
int AddPendingRequest(RequestPeer* callback,
ResourceType::Type resource_type,
int origin_pid,
const GURL& frame_origin,
- const GURL& request_url);
+ const GURL& request_url,
+ bool download_to_file);
- // Removes a request from the pending_requests_ list, returning true if the
+ // Removes a request from the |pending_requests_| list, returning true if the
// request was found and removed.
bool RemovePendingRequest(int request_id);
- // Cancels a request in the pending_requests_ list.
+ // Cancels a request in the |pending_requests_| list.
void CancelPendingRequest(int request_id);
- IPC::Sender* message_sender() const {
- return message_sender_;
- }
-
// Toggles the is_deferred attribute for the specified request.
void SetDefersLoading(int request_id, bool value);
// Indicates the priority of the specified request changed.
- void DidChangePriority(int routing_id, int request_id,
+ void DidChangePriority(int routing_id,
+ int request_id,
net::RequestPriority new_priority,
int intra_priority_value);
+ IPC::Sender* message_sender() const { return message_sender_; }
+
// This does not take ownership of the delegate. It is expected that the
// delegate have a longer lifetime than the ResourceDispatcher.
void set_delegate(ResourceDispatcherDelegate* delegate) {
@@ -101,7 +101,8 @@
ResourceType::Type resource_type,
int origin_pid,
const GURL& frame_origin,
- const GURL& request_url);
+ const GURL& request_url,
+ bool download_to_file);
~PendingRequestInfo();
@@ -113,12 +114,14 @@
int origin_pid;
MessageQueue deferred_message_queue;
bool is_deferred;
+ bool is_canceled;
// Original requested url.
GURL url;
// The security origin of the frame that initiates this request.
GURL frame_origin;
// The url of the latest response even in case of redirection.
GURL response_url;
+ bool download_to_file;
linked_ptr<IPC::Message> pending_redirect_message;
base::TimeTicks request_start;
base::TimeTicks response_start;
@@ -138,33 +141,24 @@
void FollowPendingRedirect(int request_id, PendingRequestInfo& request_info);
// Message response handlers, called by the message handler for this process.
- void OnUploadProgress(
- int request_id,
- int64 position,
- int64 size);
+ void OnUploadProgress(int request_id, int64 position, int64 size);
void OnReceivedResponse(int request_id, const ResourceResponseHead&);
void OnReceivedCachedMetadata(int request_id, const std::vector<char>& data);
- void OnReceivedRedirect(
- int request_id,
- const GURL& new_url,
- const ResourceResponseHead& response_head);
- void OnSetDataBuffer(
- int request_id,
- base::SharedMemoryHandle shm_handle,
- int shm_size,
- base::ProcessId renderer_pid);
- void OnReceivedData(
- int request_id,
- int data_offset,
- int data_length,
- int encoded_data_length);
- void OnDownloadedData(
- int request_id,
- int data_len,
- int encoded_data_length);
+ void OnReceivedRedirect(int request_id,
+ const GURL& new_url,
+ const ResourceResponseHead& response_head);
+ void OnSetDataBuffer(int request_id,
+ base::SharedMemoryHandle shm_handle,
+ int shm_size,
+ base::ProcessId renderer_pid);
+ void OnReceivedData(int request_id,
+ int data_offset,
+ int data_length,
+ int encoded_data_length);
+ void OnDownloadedData(int request_id, int data_len, int encoded_data_length);
void OnRequestComplete(
int request_id,
- const ResourceMsg_RequestCompleteData &request_complete_data);
+ const ResourceMsg_RequestCompleteData& request_complete_data);
// Dispatch the message to one of the message response handlers.
void DispatchMessage(const IPC::Message& message);
diff --git a/content/common/plugin_list.h b/content/common/plugin_list.h
index 87319da..2f775d2 100644
--- a/content/common/plugin_list.h
+++ b/content/common/plugin_list.h
@@ -34,7 +34,6 @@
// This object is thread safe.
class CONTENT_EXPORT PluginList {
public:
-
// Gets the one instance of the PluginList.
static PluginList* Singleton();
@@ -159,18 +158,6 @@
static bool ReadWebPluginInfo(const base::FilePath& filename,
WebPluginInfo* info);
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
- // Parse the result of an NP_GetMIMEDescription() call.
- // This API is only used on Unixes, and is exposed here for testing.
- static void ParseMIMEDescription(const std::string& description,
- std::vector<WebPluginMimeType>* mime_types);
-
- // Extract a version number from a description string.
- // This API is only used on Unixes, and is exposed here for testing.
- static void ExtractVersionString(const std::string& version,
- WebPluginInfo* info);
-#endif
-
private:
enum LoadingState {
LOADING_STATE_NEEDS_REFRESH,
diff --git a/content/common/plugin_list_posix.cc b/content/common/plugin_list_posix.cc
index bdbd0c8..122fd59 100644
--- a/content/common/plugin_list_posix.cc
+++ b/content/common/plugin_list_posix.cc
@@ -4,586 +4,33 @@
#include "content/common/plugin_list.h"
-#include <algorithm>
-#include <dlfcn.h>
-#if defined(OS_OPENBSD)
-#include <sys/exec_elf.h>
-#else
-#include <elf.h>
-#endif
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "base/cpu.h"
-#include "base/file_util.h"
-#include "base/files/file_enumerator.h"
-#include "base/native_library.h"
-#include "base/path_service.h"
-#include "base/posix/eintr_wrapper.h"
-#include "base/sha1.h"
-#include "base/strings/string_split.h"
-#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/sys_string_conversions.h"
-#include "base/strings/utf_string_conversions.h"
-#include "build/build_config.h"
-#include "third_party/npapi/bindings/nphostapi.h"
-
namespace content {
-namespace {
-
-// We build up a list of files and mtimes so we can sort them.
-typedef std::pair<base::FilePath, base::Time> FileAndTime;
-typedef std::vector<FileAndTime> FileTimeList;
-
-enum PluginQuirk {
- // No quirks - plugin is outright banned.
- PLUGIN_QUIRK_NONE = 0,
- // Plugin is using SSE2 instructions without checking for SSE2 instruction
- // support. Ban the plugin if the system has no SSE2 support.
- PLUGIN_QUIRK_MISSING_SSE2_CHECK = 1 << 0,
-};
-
-// Copied from nsplugindefs.h instead of including the file since it has a bunch
-// of dependencies.
-enum nsPluginVariable {
- nsPluginVariable_NameString = 1,
- nsPluginVariable_DescriptionString = 2
-};
-
-// Comparator used to sort by descending mtime then ascending filename.
-bool CompareTime(const FileAndTime& a, const FileAndTime& b) {
- if (a.second == b.second) {
- // Fall back on filename sorting, just to make the predicate valid.
- return a.first < b.first;
- }
-
- // Sort by mtime, descending.
- return a.second > b.second;
-}
-
-// Checks to see if the current environment meets any of the condtions set in
-// |quirks|. Returns true if any of the conditions are met, or if |quirks| is
-// PLUGIN_QUIRK_NONE.
-bool CheckQuirks(PluginQuirk quirks) {
- if (quirks == PLUGIN_QUIRK_NONE)
- return true;
-
- if ((quirks & PLUGIN_QUIRK_MISSING_SSE2_CHECK) != 0) {
- base::CPU cpu;
- if (!cpu.has_sse2())
- return true;
- }
-
- return false;
-}
-
-// Return true if |path| matches a known (file size, sha1sum) pair.
-// Also check against any PluginQuirks the bad plugin may have.
-// The use of the file size is an optimization so we don't have to read in
-// the entire file unless we have to.
-bool IsBlacklistedBySha1sumAndQuirks(const base::FilePath& path) {
- const struct BadEntry {
- int64 size;
- std::string sha1;
- PluginQuirk quirks;
- } bad_entries[] = {
- // Flash 9 r31 - http://crbug.com/29237
- { 7040080, "fa5803061125ca47846713b34a26a42f1f1e98bb", PLUGIN_QUIRK_NONE },
- // Flash 9 r48 - http://crbug.com/29237
- { 7040036, "0c4b3768a6d4bfba003088e4b9090d381de1af2b", PLUGIN_QUIRK_NONE },
- // Flash 11.2.202.236, 32-bit - http://crbug.com/140086
- { 17406436, "1e07eac912faf9426c52a288c76c3b6238f90b6b",
- PLUGIN_QUIRK_MISSING_SSE2_CHECK },
- // Flash 11.2.202.238, 32-bit - http://crbug.com/140086
- { 17410532, "e9401097e97c8443a7d9156be62184ffe1addd5c",
- PLUGIN_QUIRK_MISSING_SSE2_CHECK },
- };
-
- int64 size;
- if (!base::GetFileSize(path, &size))
- return false;
- for (size_t i = 0; i < ARRAYSIZE_UNSAFE(bad_entries); i++) {
- if (bad_entries[i].size != size)
- continue;
-
- std::string file_content;
- if (!base::ReadFileToString(path, &file_content))
- continue;
- std::string sha1 = base::SHA1HashString(file_content);
- std::string sha1_readable;
- for (size_t j = 0; j < sha1.size(); j++)
- base::StringAppendF(&sha1_readable, "%02x", sha1[j] & 0xFF);
- if (bad_entries[i].sha1 == sha1_readable)
- return CheckQuirks(bad_entries[i].quirks);
- }
- return false;
-}
-
-// Some plugins are shells around other plugins; we prefer to use the
-// real plugin directly, if it's available. This function returns
-// true if we should prefer other plugins over this one. We'll still
-// use a "undesirable" plugin if no other option is available.
-bool IsUndesirablePlugin(const WebPluginInfo& info) {
- std::string filename = info.path.BaseName().value();
- const char* kUndesiredPlugins[] = {
- "npcxoffice", // Crossover
- "npwrapper", // nspluginwrapper
- };
- for (size_t i = 0; i < arraysize(kUndesiredPlugins); i++) {
- if (filename.find(kUndesiredPlugins[i]) != std::string::npos) {
- return true;
- }
- }
- return false;
-}
-
-// Return true if we shouldn't load a plugin at all.
-// This is an ugly hack to blacklist Adobe Acrobat due to not supporting
-// its Xt-based mainloop.
-// http://code.google.com/p/chromium/issues/detail?id=38229
-bool IsBlacklistedPlugin(const base::FilePath& path) {
- const char* kBlackListedPlugins[] = {
- "nppdf.so", // Adobe PDF
- };
- std::string filename = path.BaseName().value();
- for (size_t i = 0; i < arraysize(kBlackListedPlugins); i++) {
- if (filename.find(kBlackListedPlugins[i]) != std::string::npos) {
- return true;
- }
- }
- return IsBlacklistedBySha1sumAndQuirks(path);
-}
-
-// Read the ELF header and return true if it is usable on
-// the current architecture (e.g. 32-bit ELF on 32-bit build).
-// Returns false on other errors as well.
-bool ELFMatchesCurrentArchitecture(const base::FilePath& filename) {
- // First make sure we can open the file and it is in fact, a regular file.
- struct stat stat_buf;
- // Open with O_NONBLOCK so we don't block on pipes.
- int fd = open(filename.value().c_str(), O_RDONLY|O_NONBLOCK);
- if (fd < 0)
- return false;
- bool ret = (fstat(fd, &stat_buf) >= 0 && S_ISREG(stat_buf.st_mode));
- if (IGNORE_EINTR(close(fd)) < 0)
- return false;
- if (!ret)
- return false;
-
- const size_t kELFBufferSize = 5;
- char buffer[kELFBufferSize];
- if (!base::ReadFile(filename, buffer, kELFBufferSize))
- return false;
-
- if (buffer[0] != ELFMAG0 ||
- buffer[1] != ELFMAG1 ||
- buffer[2] != ELFMAG2 ||
- buffer[3] != ELFMAG3) {
- // Not an ELF file, perhaps?
- return false;
- }
-
- int elf_class = buffer[EI_CLASS];
-#if defined(ARCH_CPU_32_BITS)
- if (elf_class == ELFCLASS32)
- return true;
-#elif defined(ARCH_CPU_64_BITS)
- if (elf_class == ELFCLASS64)
- return true;
-#endif
-
- return false;
-}
-
-// This structure matches enough of nspluginwrapper's NPW_PluginInfo
-// for us to extract the real plugin path.
-struct __attribute__((packed)) NSPluginWrapperInfo {
- char ident[32]; // NSPluginWrapper magic identifier (includes version).
- char path[PATH_MAX]; // Path to wrapped plugin.
-};
-
-// Test a plugin for whether it's been wrapped by NSPluginWrapper, and
-// if so attempt to unwrap it. Pass in an opened plugin handle; on
-// success, |dl| and |unwrapped_path| will be filled in with the newly
-// opened plugin. On failure, params are left unmodified.
-void UnwrapNSPluginWrapper(void **dl, base::FilePath* unwrapped_path) {
- NSPluginWrapperInfo* info =
- reinterpret_cast<NSPluginWrapperInfo*>(dlsym(*dl, "NPW_Plugin"));
- if (!info)
- return; // Not a NSPW plugin.
-
- // Here we could check the NSPW ident field for the versioning
- // information, but the path field is available in all versions
- // anyway.
-
- // Grab the path to the wrapped plugin. Just in case the structure
- // format changes, protect against the path not being null-terminated.
- char* path_end = static_cast<char*>(memchr(info->path, '\0',
- sizeof(info->path)));
- if (!path_end)
- path_end = info->path + sizeof(info->path);
- base::FilePath path = base::FilePath(
- std::string(info->path, path_end - info->path));
-
- if (!ELFMatchesCurrentArchitecture(path)) {
- LOG(WARNING) << path.value() << " is nspluginwrapper wrapping a "
- << "plugin for a different architecture; it will "
- << "work better if you instead use a native plugin.";
- return;
- }
-
- base::NativeLibraryLoadError error;
- void* newdl = base::LoadNativeLibrary(path, &error);
- if (!newdl) {
- // We couldn't load the unwrapped plugin for some reason, despite
- // being able to load the wrapped one. Just use the wrapped one.
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Could not use unwrapped nspluginwrapper plugin "
- << unwrapped_path->value() << " (" << error.ToString() << "), "
- << "using the wrapped one.";
- return;
- }
-
- // Unload the wrapped plugin, and use the wrapped plugin instead.
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Using unwrapped version " << unwrapped_path->value()
- << " of nspluginwrapper-wrapped plugin.";
- base::UnloadNativeLibrary(*dl);
- *dl = newdl;
- *unwrapped_path = path;
-}
-
-} // namespace
-
bool PluginList::ReadWebPluginInfo(const base::FilePath& filename,
WebPluginInfo* info) {
- // The file to reference is:
- // http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/nsPluginsDirUnix.cpp
-
- // Skip files that aren't appropriate for our architecture.
- if (!ELFMatchesCurrentArchitecture(filename)) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Skipping plugin " << filename.value()
- << " because it doesn't match the current architecture.";
- return false;
- }
-
- base::NativeLibraryLoadError error;
- void* dl = base::LoadNativeLibrary(filename, &error);
- if (!dl) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "While reading plugin info, unable to load library "
- << filename.value() << " (" << error.ToString() << "), skipping.";
- return false;
- }
-
- info->path = filename;
-
- // Attempt to swap in the wrapped plugin if this is nspluginwrapper.
- UnwrapNSPluginWrapper(&dl, &info->path);
-
- // See comments in plugin_lib_mac regarding this symbol.
- typedef const char* (*NP_GetMimeDescriptionType)();
- NP_GetMimeDescriptionType NP_GetMIMEDescription =
- reinterpret_cast<NP_GetMimeDescriptionType>(
- dlsym(dl, "NP_GetMIMEDescription"));
- const char* mime_description = NULL;
- if (!NP_GetMIMEDescription) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Plugin " << filename.value() << " doesn't have a "
- << "NP_GetMIMEDescription symbol";
- return false;
- }
- mime_description = NP_GetMIMEDescription();
-
- if (!mime_description) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "MIME description for " << filename.value() << " is empty";
- return false;
- }
- ParseMIMEDescription(mime_description, &info->mime_types);
-
- // The plugin name and description live behind NP_GetValue calls.
- typedef NPError (*NP_GetValueType)(void* unused,
- nsPluginVariable variable,
- void* value_out);
- NP_GetValueType NP_GetValue =
- reinterpret_cast<NP_GetValueType>(dlsym(dl, "NP_GetValue"));
- if (NP_GetValue) {
- const char* name = NULL;
- NP_GetValue(NULL, nsPluginVariable_NameString, &name);
- if (name) {
- info->name = base::UTF8ToUTF16(name);
- ExtractVersionString(name, info);
- }
-
- const char* description = NULL;
- NP_GetValue(NULL, nsPluginVariable_DescriptionString, &description);
- if (description) {
- info->desc = base::UTF8ToUTF16(description);
- if (info->version.empty())
- ExtractVersionString(description, info);
- }
-
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Got info for plugin " << filename.value()
- << " Name = \"" << base::UTF16ToUTF8(info->name)
- << "\", Description = \"" << base::UTF16ToUTF8(info->desc)
- << "\", Version = \"" << base::UTF16ToUTF8(info->version)
- << "\".";
- } else {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Plugin " << filename.value()
- << " has no GetValue() and probably won't work.";
- }
-
- // Intentionally not unloading the plugin here, it can lead to crashes.
-
- return true;
+ return false;
}
-// static
-void PluginList::ParseMIMEDescription(
- const std::string& description,
- std::vector<WebPluginMimeType>* mime_types) {
- // We parse the description here into WebPluginMimeType structures.
- // Naively from the NPAPI docs you'd think you could use
- // string-splitting, but the Firefox parser turns out to do something
- // different: find the first colon, then the second, then a semi.
- //
- // See ParsePluginMimeDescription near
- // http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/nsPluginsDirUtils.h#53
-
- std::string::size_type ofs = 0;
- for (;;) {
- WebPluginMimeType mime_type;
-
- std::string::size_type end = description.find(':', ofs);
- if (end == std::string::npos)
- break;
- mime_type.mime_type = description.substr(ofs, end - ofs);
- ofs = end + 1;
-
- end = description.find(':', ofs);
- if (end == std::string::npos)
- break;
- const std::string extensions = description.substr(ofs, end - ofs);
- base::SplitString(extensions, ',', &mime_type.file_extensions);
- ofs = end + 1;
-
- end = description.find(';', ofs);
- // It's ok for end to run off the string here. If there's no
- // trailing semicolon we consume the remainder of the string.
- if (end != std::string::npos) {
- mime_type.description =
- base::UTF8ToUTF16(description.substr(ofs, end - ofs));
- } else {
- mime_type.description = base::UTF8ToUTF16(description.substr(ofs));
- }
- mime_types->push_back(mime_type);
- if (end == std::string::npos)
- break;
- ofs = end + 1;
- }
+void PluginList::GetPluginDirectories(
+ std::vector<base::FilePath>* plugin_dirs) {
}
-// static
-void PluginList::ExtractVersionString(const std::string& desc,
- WebPluginInfo* info) {
- // This matching works by extracting a version substring, along the lines of:
- // No postfix: second match in .*<prefix>.*$
- // With postfix: second match .*<prefix>.*<postfix>
- static const struct {
- const char* kPrefix;
- const char* kPostfix;
- } kPrePostFixes[] = {
- { "Shockwave Flash ", 0 },
- { "Java(TM) Plug-in ", 0 },
- { "(using IcedTea-Web ", " " },
- { 0, 0 }
- };
- std::string version;
- for (size_t i = 0; kPrePostFixes[i].kPrefix; ++i) {
- size_t pos;
- if ((pos = desc.find(kPrePostFixes[i].kPrefix)) != std::string::npos) {
- version = desc.substr(pos + strlen(kPrePostFixes[i].kPrefix));
- pos = std::string::npos;
- if (kPrePostFixes[i].kPostfix)
- pos = version.find(kPrePostFixes[i].kPostfix);
- if (pos != std::string::npos)
- version = version.substr(0, pos);
- break;
- }
- }
- if (!version.empty()) {
- info->version = base::UTF8ToUTF16(version);
- }
-}
-
-void PluginList::GetPluginDirectories(std::vector<base::FilePath>* plugin_dirs) {
- // See http://groups.google.com/group/chromium-dev/browse_thread/thread/7a70e5fcbac786a9
- // for discussion.
- // We first consult Chrome-specific dirs, then fall back on the logic
- // Mozilla uses.
-
- if (PluginList::plugins_discovery_disabled_)
- return;
-
- // Note: "extra" plugin dirs and paths are examined before these.
- // "Extra" are those added by PluginList::AddExtraPluginDir() and
- // PluginList::AddExtraPluginPath().
-
- // The Chrome binary dir + "plugins/".
- base::FilePath dir;
- PathService::Get(base::DIR_EXE, &dir);
- plugin_dirs->push_back(dir.Append("plugins"));
-
- // Chrome OS only loads plugins from /opt/google/chrome/plugins.
-#if !defined(OS_CHROMEOS)
- // Mozilla code to reference:
- // http://mxr.mozilla.org/firefox/ident?i=NS_APP_PLUGINS_DIR_LIST
- // and tens of accompanying files (mxr is very helpful).
- // This code carefully matches their behavior for compat reasons.
-
- // 1) MOZ_PLUGIN_PATH env variable.
- const char* moz_plugin_path = getenv("MOZ_PLUGIN_PATH");
- if (moz_plugin_path) {
- std::vector<std::string> paths;
- base::SplitString(moz_plugin_path, ':', &paths);
- for (size_t i = 0; i < paths.size(); ++i)
- plugin_dirs->push_back(base::FilePath(paths[i]));
- }
-
- // 2) NS_USER_PLUGINS_DIR: ~/.mozilla/plugins.
- // This is a de-facto standard, so even though we're not Mozilla, let's
- // look in there too.
- base::FilePath home = base::GetHomeDir();
- if (!home.empty())
- plugin_dirs->push_back(home.Append(".mozilla/plugins"));
-
- // 3) NS_SYSTEM_PLUGINS_DIR:
- // This varies across different browsers and versions, so check 'em all.
- plugin_dirs->push_back(base::FilePath("/usr/lib/browser-plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib/mozilla/plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib/firefox/plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib/xulrunner-addons/plugins"));
-
-#if defined(ARCH_CPU_64_BITS)
- // On my Ubuntu system, /usr/lib64 is a symlink to /usr/lib.
- // But a user reported on their Fedora system they are separate.
- plugin_dirs->push_back(base::FilePath("/usr/lib64/browser-plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib64/mozilla/plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib64/firefox/plugins"));
- plugin_dirs->push_back(base::FilePath("/usr/lib64/xulrunner-addons/plugins"));
-#endif // defined(ARCH_CPU_64_BITS)
-#endif // !defined(OS_CHROMEOS)
-}
-
-void PluginList::GetPluginsInDir(
- const base::FilePath& dir_path, std::vector<base::FilePath>* plugins) {
- // See ScanPluginsDirectory near
- // http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/nsPluginHostImpl.cpp#5052
-
- // Construct and stat a list of all filenames under consideration, for
- // later sorting by mtime.
- FileTimeList files;
- base::FileEnumerator enumerator(dir_path,
- false, // not recursive
- base::FileEnumerator::FILES);
- for (base::FilePath path = enumerator.Next(); !path.value().empty();
- path = enumerator.Next()) {
- // Skip over Mozilla .xpt files.
- if (path.MatchesExtension(FILE_PATH_LITERAL(".xpt")))
- continue;
-
- // Java doesn't like being loaded through a symlink, since it uses
- // its path to find dependent data files.
- // MakeAbsoluteFilePath calls through to realpath(), which resolves
- // symlinks.
- base::FilePath orig_path = path;
- path = base::MakeAbsoluteFilePath(path);
- if (path.empty())
- path = orig_path;
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Resolved " << orig_path.value() << " -> " << path.value();
-
- if (std::find(plugins->begin(), plugins->end(), path) != plugins->end()) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Skipping duplicate instance of " << path.value();
- continue;
- }
-
- if (IsBlacklistedPlugin(path)) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Skipping blacklisted plugin " << path.value();
- continue;
- }
-
- // Flash stops working if the containing directory involves 'netscape'.
- // No joke. So use the other path if it's better.
- static const char kFlashPlayerFilename[] = "libflashplayer.so";
- static const char kNetscapeInPath[] = "/netscape/";
- if (path.BaseName().value() == kFlashPlayerFilename &&
- path.value().find(kNetscapeInPath) != std::string::npos) {
- if (orig_path.value().find(kNetscapeInPath) == std::string::npos) {
- // Go back to the old path.
- path = orig_path;
- } else {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Flash misbehaves when used from a directory containing "
- << kNetscapeInPath << ", so skipping " << orig_path.value();
- continue;
- }
- }
-
- // Get mtime.
- base::File::Info info;
- if (!base::GetFileInfo(path, &info))
- continue;
-
- files.push_back(std::make_pair(path, info.last_modified));
- }
-
- // Sort the file list by time (and filename).
- std::sort(files.begin(), files.end(), CompareTime);
-
- // Load the files in order.
- for (FileTimeList::const_iterator i = files.begin(); i != files.end(); ++i) {
- plugins->push_back(i->first);
- }
+void PluginList::GetPluginsInDir(const base::FilePath& dir_path,
+ std::vector<base::FilePath>* plugins) {
}
bool PluginList::ShouldLoadPluginUsingPluginList(
- const WebPluginInfo& info, std::vector<WebPluginInfo>* plugins) {
+ const WebPluginInfo& info,
+ std::vector<WebPluginInfo>* plugins) {
LOG_IF(ERROR, PluginList::DebugPluginLoading())
<< "Considering " << info.path.value() << " (" << info.name << ")";
- if (IsUndesirablePlugin(info)) {
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << info.path.value() << " is undesirable.";
-
- // See if we have a better version of this plugin.
- for (size_t j = 0; j < plugins->size(); ++j) {
- if ((*plugins)[j].name == info.name &&
- !IsUndesirablePlugin((*plugins)[j])) {
- // Skip the current undesirable one so we can use the better one
- // we just found.
- LOG_IF(ERROR, PluginList::DebugPluginLoading())
- << "Skipping " << info.path.value() << ", preferring "
- << (*plugins)[j].path.value();
- return false;
- }
- }
+ if (info.type == WebPluginInfo::PLUGIN_TYPE_NPAPI) {
+ NOTREACHED() << "NPAPI plugins are not supported";
+ return false;
}
- // TODO(evanm): prefer the newest version of flash, etc. here?
-
VLOG_IF(1, PluginList::DebugPluginLoading()) << "Using " << info.path.value();
-
return true;
}
diff --git a/content/common/plugin_list_unittest.cc b/content/common/plugin_list_unittest.cc
index 6980699..859ac13 100644
--- a/content/common/plugin_list_unittest.cc
+++ b/content/common/plugin_list_unittest.cc
@@ -136,116 +136,4 @@
EXPECT_EQ(kFooMimeType, actual_mime_types.front());
}
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
-
-// Test parsing a simple description: Real Audio.
-TEST(MIMEDescriptionParse, Simple) {
- std::vector<WebPluginMimeType> types;
- PluginList::ParseMIMEDescription(
- "audio/x-pn-realaudio-plugin:rpm:RealAudio document;",
- &types);
- ASSERT_EQ(1U, types.size());
- const WebPluginMimeType& type = types[0];
- EXPECT_EQ("audio/x-pn-realaudio-plugin", type.mime_type);
- ASSERT_EQ(1U, type.file_extensions.size());
- EXPECT_EQ("rpm", type.file_extensions[0]);
- EXPECT_EQ(base::ASCIIToUTF16("RealAudio document"), type.description);
-}
-
-// Test parsing a multi-entry description: QuickTime as provided by Totem.
-TEST(MIMEDescriptionParse, Multi) {
- std::vector<WebPluginMimeType> types;
- PluginList::ParseMIMEDescription(
- "video/quicktime:mov:QuickTime video;video/mp4:mp4:MPEG-4 "
- "video;image/x-macpaint:pntg:MacPaint Bitmap image;image/x"
- "-quicktime:pict, pict1, pict2:QuickTime image;video/x-m4v"
- ":m4v:MPEG-4 video;",
- &types);
-
- ASSERT_EQ(5U, types.size());
-
- // Check the x-quicktime one, since it looks tricky with spaces in the
- // extension list.
- const WebPluginMimeType& type = types[3];
- EXPECT_EQ("image/x-quicktime", type.mime_type);
- ASSERT_EQ(3U, type.file_extensions.size());
- EXPECT_EQ("pict2", type.file_extensions[2]);
- EXPECT_EQ(base::ASCIIToUTF16("QuickTime image"), type.description);
-}
-
-// Test parsing a Japanese description, since we got this wrong in the past.
-// This comes from loading Totem with LANG=ja_JP.UTF-8.
-TEST(MIMEDescriptionParse, JapaneseUTF8) {
- std::vector<WebPluginMimeType> types;
- PluginList::ParseMIMEDescription(
- "audio/x-ogg:ogg:Ogg \xe3\x82\xaa\xe3\x83\xbc\xe3\x83\x87"
- "\xe3\x82\xa3\xe3\x83\xaa",
- &types);
-
- ASSERT_EQ(1U, types.size());
- // Check we got the right number of Unicode characters out of the parse.
- EXPECT_EQ(9U, types[0].description.size());
-}
-
-// Test that we handle corner cases gracefully.
-TEST(MIMEDescriptionParse, CornerCases) {
- std::vector<WebPluginMimeType> types;
- PluginList::ParseMIMEDescription("mime/type:", &types);
- EXPECT_TRUE(types.empty());
-
- types.clear();
- PluginList::ParseMIMEDescription("mime/type:ext1:", &types);
- ASSERT_EQ(1U, types.size());
- EXPECT_EQ("mime/type", types[0].mime_type);
- EXPECT_EQ(1U, types[0].file_extensions.size());
- EXPECT_EQ("ext1", types[0].file_extensions[0]);
- EXPECT_EQ(base::string16(), types[0].description);
-}
-
-// This Java plugin has embedded semicolons in the mime type.
-TEST(MIMEDescriptionParse, ComplicatedJava) {
- std::vector<WebPluginMimeType> types;
- PluginList::ParseMIMEDescription(
- "application/x-java-vm:class,jar:IcedTea;application/x-java"
- "-applet:class,jar:IcedTea;application/x-java-applet;versio"
- "n=1.1:class,jar:IcedTea;application/x-java-applet;version="
- "1.1.1:class,jar:IcedTea;application/x-java-applet;version="
- "1.1.2:class,jar:IcedTea;application/x-java-applet;version="
- "1.1.3:class,jar:IcedTea;application/x-java-applet;version="
- "1.2:class,jar:IcedTea;application/x-java-applet;version=1."
- "2.1:class,jar:IcedTea;application/x-java-applet;version=1."
- "2.2:class,jar:IcedTea;application/x-java-applet;version=1."
- "3:class,jar:IcedTea;application/x-java-applet;version=1.3."
- "1:class,jar:IcedTea;application/x-java-applet;version=1.4:"
- "class,jar:IcedTea",
- &types);
-
- ASSERT_EQ(12U, types.size());
- for (size_t i = 0; i < types.size(); ++i)
- EXPECT_EQ(base::ASCIIToUTF16("IcedTea"), types[i].description);
-
- // Verify that the mime types with semis are coming through ok.
- EXPECT_TRUE(types[4].mime_type.find(';') != std::string::npos);
-}
-
-// Make sure we understand how to get the version numbers for common Linux
-// plug-ins.
-TEST(PluginDescriptionParse, ExtractVersion) {
- WebPluginInfo info;
- PluginList::ExtractVersionString("Shockwave Flash 10.1 r102", &info);
- EXPECT_EQ(base::ASCIIToUTF16("10.1 r102"), info.version);
- PluginList::ExtractVersionString("Java(TM) Plug-in 1.6.0_22", &info);
- EXPECT_EQ(base::ASCIIToUTF16("1.6.0_22"), info.version);
- // It's actually much more likely for a modern Linux distribution to have
- // IcedTea.
- PluginList::ExtractVersionString(
- "IcedTea-Web Plugin "
- "(using IcedTea-Web 1.2 (1.2-2ubuntu0.10.04.2))",
- &info);
- EXPECT_EQ(base::ASCIIToUTF16("1.2"), info.version);
-}
-
-#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-
-
} // namespace content
diff --git a/content/common_aidl.target.darwin-arm.mk b/content/common_aidl.target.darwin-arm.mk
index ca3b197..d72141d 100644
--- a/content/common_aidl.target.darwin-arm.mk
+++ b/content/common_aidl.target.darwin-arm.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.darwin-arm64.mk b/content/common_aidl.target.darwin-arm64.mk
index 583fb72..e2d4724 100644
--- a/content/common_aidl.target.darwin-arm64.mk
+++ b/content/common_aidl.target.darwin-arm64.mk
@@ -99,6 +99,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.darwin-mips.mk b/content/common_aidl.target.darwin-mips.mk
index ec3e714..02eac21 100644
--- a/content/common_aidl.target.darwin-mips.mk
+++ b/content/common_aidl.target.darwin-mips.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.darwin-x86.mk b/content/common_aidl.target.darwin-x86.mk
index 82f4ade..f2f3f92 100644
--- a/content/common_aidl.target.darwin-x86.mk
+++ b/content/common_aidl.target.darwin-x86.mk
@@ -103,6 +103,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -187,6 +188,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.darwin-x86_64.mk b/content/common_aidl.target.darwin-x86_64.mk
index 9df41b3..5265078 100644
--- a/content/common_aidl.target.darwin-x86_64.mk
+++ b/content/common_aidl.target.darwin-x86_64.mk
@@ -103,6 +103,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -187,6 +188,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.linux-arm.mk b/content/common_aidl.target.linux-arm.mk
index dcf9384..d08eab6 100644
--- a/content/common_aidl.target.linux-arm.mk
+++ b/content/common_aidl.target.linux-arm.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.linux-arm64.mk b/content/common_aidl.target.linux-arm64.mk
index d3e5a26..aece78b 100644
--- a/content/common_aidl.target.linux-arm64.mk
+++ b/content/common_aidl.target.linux-arm64.mk
@@ -99,6 +99,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.linux-mips.mk b/content/common_aidl.target.linux-mips.mk
index 94142f3..cc33699 100644
--- a/content/common_aidl.target.linux-mips.mk
+++ b/content/common_aidl.target.linux-mips.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.linux-x86.mk b/content/common_aidl.target.linux-x86.mk
index 2b27b09..580b7fa 100644
--- a/content/common_aidl.target.linux-x86.mk
+++ b/content/common_aidl.target.linux-x86.mk
@@ -103,6 +103,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -187,6 +188,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/common_aidl.target.linux-x86_64.mk b/content/common_aidl.target.linux-x86_64.mk
index 00d980e..5f63439 100644
--- a/content/common_aidl.target.linux-x86_64.mk
+++ b/content/common_aidl.target.linux-x86_64.mk
@@ -103,6 +103,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -187,6 +188,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_app_both.target.darwin-arm.mk b/content/content_app_both.target.darwin-arm.mk
index 98be9b7..a02da51 100644
--- a/content/content_app_both.target.darwin-arm.mk
+++ b/content/content_app_both.target.darwin-arm.mk
@@ -90,6 +90,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.darwin-arm64.mk b/content/content_app_both.target.darwin-arm64.mk
index 9ea3856..0e154a0 100644
--- a/content/content_app_both.target.darwin-arm64.mk
+++ b/content/content_app_both.target.darwin-arm64.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -209,6 +210,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.darwin-mips.mk b/content/content_app_both.target.darwin-mips.mk
index 76e991e..5aba1cf 100644
--- a/content/content_app_both.target.darwin-mips.mk
+++ b/content/content_app_both.target.darwin-mips.mk
@@ -90,6 +90,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.darwin-x86.mk b/content/content_app_both.target.darwin-x86.mk
index bc4148c..d03d738 100644
--- a/content/content_app_both.target.darwin-x86.mk
+++ b/content/content_app_both.target.darwin-x86.mk
@@ -91,6 +91,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_app_both.target.darwin-x86_64.mk b/content/content_app_both.target.darwin-x86_64.mk
index 1f07488..45f6f71 100644
--- a/content/content_app_both.target.darwin-x86_64.mk
+++ b/content/content_app_both.target.darwin-x86_64.mk
@@ -91,6 +91,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -217,6 +218,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.linux-arm.mk b/content/content_app_both.target.linux-arm.mk
index 98be9b7..a02da51 100644
--- a/content/content_app_both.target.linux-arm.mk
+++ b/content/content_app_both.target.linux-arm.mk
@@ -90,6 +90,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.linux-arm64.mk b/content/content_app_both.target.linux-arm64.mk
index 9ea3856..0e154a0 100644
--- a/content/content_app_both.target.linux-arm64.mk
+++ b/content/content_app_both.target.linux-arm64.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -209,6 +210,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.linux-mips.mk b/content/content_app_both.target.linux-mips.mk
index 76e991e..5aba1cf 100644
--- a/content/content_app_both.target.linux-mips.mk
+++ b/content/content_app_both.target.linux-mips.mk
@@ -90,6 +90,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_app_both.target.linux-x86.mk b/content/content_app_both.target.linux-x86.mk
index bc4148c..d03d738 100644
--- a/content/content_app_both.target.linux-x86.mk
+++ b/content/content_app_both.target.linux-x86.mk
@@ -91,6 +91,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -216,6 +217,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_app_both.target.linux-x86_64.mk b/content/content_app_both.target.linux-x86_64.mk
index 1f07488..45f6f71 100644
--- a/content/content_app_both.target.linux-x86_64.mk
+++ b/content/content_app_both.target.linux-x86_64.mk
@@ -91,6 +91,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
@@ -217,6 +218,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DU_USING_ICU_NAMESPACE=0' \
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 25ac91b..41c2c0a 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -83,6 +83,7 @@
'public/browser/certificate_request_result_type.h',
'public/browser/content_browser_client.cc',
'public/browser/content_browser_client.h',
+ 'public/browser/context_factory.h',
'public/browser/cookie_store_factory.h',
'public/browser/desktop_media_id.cc',
'public/browser/desktop_media_id.h',
@@ -258,6 +259,8 @@
'browser/android/browser_startup_controller.h',
'browser/android/child_process_launcher_android.cc',
'browser/android/child_process_launcher_android.h',
+ 'browser/android/content_readback_handler.cc',
+ 'browser/android/content_readback_handler.h',
'browser/android/content_settings.cc',
'browser/android/content_settings.h',
'browser/android/content_startup_flags.cc',
@@ -379,6 +382,7 @@
'browser/compositor/software_output_device_win.h',
'browser/compositor/software_output_device_x11.cc',
'browser/compositor/software_output_device_x11.h',
+ 'browser/context_factory.cc',
'browser/cross_site_request_manager.cc',
'browser/cross_site_request_manager.h',
'browser/devtools/devtools_agent_host_impl.cc',
@@ -1665,6 +1669,8 @@
['exclude', '^browser/web_contents/touch_editable_impl_aura.h'],
['exclude', '^browser/renderer_host/ui_events_helper.cc'],
['exclude', '^browser/renderer_host/ui_events_helper.h'],
+ ['exclude', '^browser/context_factory.cc'],
+ ['exclude', '^public/browser/context_factory.h'],
],
}],
['use_aura==1 or OS=="mac"', {
diff --git a/content/content_browser.target.darwin-arm.mk b/content/content_browser.target.darwin-arm.mk
index f1155a9..d293c03 100644
--- a/content/content_browser.target.darwin-arm.mk
+++ b/content/content_browser.target.darwin-arm.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -566,6 +567,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.darwin-arm64.mk b/content/content_browser.target.darwin-arm64.mk
index 9f915cb..e489f78 100644
--- a/content/content_browser.target.darwin-arm64.mk
+++ b/content/content_browser.target.darwin-arm64.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -563,6 +564,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -730,6 +732,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.darwin-mips.mk b/content/content_browser.target.darwin-mips.mk
index 8a2c57a..5d440ac 100644
--- a/content/content_browser.target.darwin-mips.mk
+++ b/content/content_browser.target.darwin-mips.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -566,6 +567,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.darwin-x86.mk b/content/content_browser.target.darwin-x86.mk
index d8bd77f..d46f759 100644
--- a/content/content_browser.target.darwin-x86.mk
+++ b/content/content_browser.target.darwin-x86.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -567,6 +568,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_browser.target.darwin-x86_64.mk b/content/content_browser.target.darwin-x86_64.mk
index 5110287..7d54bfc 100644
--- a/content/content_browser.target.darwin-x86_64.mk
+++ b/content/content_browser.target.darwin-x86_64.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -567,6 +568,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -738,6 +740,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.linux-arm.mk b/content/content_browser.target.linux-arm.mk
index f1155a9..d293c03 100644
--- a/content/content_browser.target.linux-arm.mk
+++ b/content/content_browser.target.linux-arm.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -566,6 +567,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.linux-arm64.mk b/content/content_browser.target.linux-arm64.mk
index 9f915cb..e489f78 100644
--- a/content/content_browser.target.linux-arm64.mk
+++ b/content/content_browser.target.linux-arm64.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -563,6 +564,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -730,6 +732,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.linux-mips.mk b/content/content_browser.target.linux-mips.mk
index 8a2c57a..5d440ac 100644
--- a/content/content_browser.target.linux-mips.mk
+++ b/content/content_browser.target.linux-mips.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -566,6 +567,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_browser.target.linux-x86.mk b/content/content_browser.target.linux-x86.mk
index d8bd77f..d46f759 100644
--- a/content/content_browser.target.linux-x86.mk
+++ b/content/content_browser.target.linux-x86.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -567,6 +568,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -737,6 +739,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_browser.target.linux-x86_64.mk b/content/content_browser.target.linux-x86_64.mk
index 5110287..7d54bfc 100644
--- a/content/content_browser.target.linux-x86_64.mk
+++ b/content/content_browser.target.linux-x86_64.mk
@@ -100,6 +100,7 @@
content/browser/android/browser_jni_registrar.cc \
content/browser/android/browser_startup_controller.cc \
content/browser/android/child_process_launcher_android.cc \
+ content/browser/android/content_readback_handler.cc \
content/browser/android/content_settings.cc \
content/browser/android/content_startup_flags.cc \
content/browser/android/content_video_view.cc \
@@ -567,6 +568,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -738,6 +740,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_child.target.darwin-arm.mk b/content/content_child.target.darwin-arm.mk
index 7b86b37..f9c3df6 100644
--- a/content/content_child.target.darwin-arm.mk
+++ b/content/content_child.target.darwin-arm.mk
@@ -167,6 +167,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.darwin-arm64.mk b/content/content_child.target.darwin-arm64.mk
index cc05b03..fbbcdd1 100644
--- a/content/content_child.target.darwin-arm64.mk
+++ b/content/content_child.target.darwin-arm64.mk
@@ -164,6 +164,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -303,6 +304,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.darwin-mips.mk b/content/content_child.target.darwin-mips.mk
index b35db36..ebb197d 100644
--- a/content/content_child.target.darwin-mips.mk
+++ b/content/content_child.target.darwin-mips.mk
@@ -167,6 +167,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.darwin-x86.mk b/content/content_child.target.darwin-x86.mk
index b21b62c..0e96590 100644
--- a/content/content_child.target.darwin-x86.mk
+++ b/content/content_child.target.darwin-x86.mk
@@ -168,6 +168,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.darwin-x86_64.mk b/content/content_child.target.darwin-x86_64.mk
index b7d7290..562471c 100644
--- a/content/content_child.target.darwin-x86_64.mk
+++ b/content/content_child.target.darwin-x86_64.mk
@@ -168,6 +168,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -312,6 +313,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.linux-arm.mk b/content/content_child.target.linux-arm.mk
index 7b86b37..f9c3df6 100644
--- a/content/content_child.target.linux-arm.mk
+++ b/content/content_child.target.linux-arm.mk
@@ -167,6 +167,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.linux-arm64.mk b/content/content_child.target.linux-arm64.mk
index cc05b03..fbbcdd1 100644
--- a/content/content_child.target.linux-arm64.mk
+++ b/content/content_child.target.linux-arm64.mk
@@ -164,6 +164,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -303,6 +304,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.linux-mips.mk b/content/content_child.target.linux-mips.mk
index b35db36..ebb197d 100644
--- a/content/content_child.target.linux-mips.mk
+++ b/content/content_child.target.linux-mips.mk
@@ -167,6 +167,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.linux-x86.mk b/content/content_child.target.linux-x86.mk
index b21b62c..0e96590 100644
--- a/content/content_child.target.linux-x86.mk
+++ b/content/content_child.target.linux-x86.mk
@@ -168,6 +168,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -310,6 +311,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_child.target.linux-x86_64.mk b/content/content_child.target.linux-x86_64.mk
index b7d7290..562471c 100644
--- a/content/content_child.target.linux-x86_64.mk
+++ b/content/content_child.target.linux-x86_64.mk
@@ -168,6 +168,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -312,6 +313,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_common.target.darwin-arm.mk b/content/content_common.target.darwin-arm.mk
index dd34bfe..7460725 100644
--- a/content/content_common.target.darwin-arm.mk
+++ b/content/content_common.target.darwin-arm.mk
@@ -223,6 +223,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
@@ -385,6 +386,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
diff --git a/content/content_common.target.darwin-arm64.mk b/content/content_common.target.darwin-arm64.mk
index 2a2d123..e4a18e8 100644
--- a/content/content_common.target.darwin-arm64.mk
+++ b/content/content_common.target.darwin-arm64.mk
@@ -218,6 +218,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -375,6 +376,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.darwin-mips.mk b/content/content_common.target.darwin-mips.mk
index 6d54cb7..2dd308e 100644
--- a/content/content_common.target.darwin-mips.mk
+++ b/content/content_common.target.darwin-mips.mk
@@ -221,6 +221,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -382,6 +383,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.darwin-x86.mk b/content/content_common.target.darwin-x86.mk
index c695a83..9c9d2c9 100644
--- a/content/content_common.target.darwin-x86.mk
+++ b/content/content_common.target.darwin-x86.mk
@@ -224,6 +224,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -385,6 +386,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.darwin-x86_64.mk b/content/content_common.target.darwin-x86_64.mk
index f5a3222..4a1c672 100644
--- a/content/content_common.target.darwin-x86_64.mk
+++ b/content/content_common.target.darwin-x86_64.mk
@@ -224,6 +224,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
@@ -386,6 +387,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
diff --git a/content/content_common.target.linux-arm.mk b/content/content_common.target.linux-arm.mk
index dd34bfe..7460725 100644
--- a/content/content_common.target.linux-arm.mk
+++ b/content/content_common.target.linux-arm.mk
@@ -223,6 +223,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
@@ -385,6 +386,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
diff --git a/content/content_common.target.linux-arm64.mk b/content/content_common.target.linux-arm64.mk
index 2a2d123..e4a18e8 100644
--- a/content/content_common.target.linux-arm64.mk
+++ b/content/content_common.target.linux-arm64.mk
@@ -218,6 +218,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -375,6 +376,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.linux-mips.mk b/content/content_common.target.linux-mips.mk
index 6d54cb7..2dd308e 100644
--- a/content/content_common.target.linux-mips.mk
+++ b/content/content_common.target.linux-mips.mk
@@ -221,6 +221,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -382,6 +383,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.linux-x86.mk b/content/content_common.target.linux-x86.mk
index c695a83..9c9d2c9 100644
--- a/content/content_common.target.linux-x86.mk
+++ b/content/content_common.target.linux-x86.mk
@@ -224,6 +224,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
@@ -385,6 +386,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
diff --git a/content/content_common.target.linux-x86_64.mk b/content/content_common.target.linux-x86_64.mk
index f5a3222..4a1c672 100644
--- a/content/content_common.target.linux-x86_64.mk
+++ b/content/content_common.target.linux-x86_64.mk
@@ -224,6 +224,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
@@ -386,6 +387,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_SECCOMP_BPF' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DPOSIX_AVOID_MMAP' \
diff --git a/content/content_common_mojo_bindings.target.darwin-arm.mk b/content/content_common_mojo_bindings.target.darwin-arm.mk
index 3d3fecd..c8dc3be 100644
--- a/content/content_common_mojo_bindings.target.darwin-arm.mk
+++ b/content/content_common_mojo_bindings.target.darwin-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -193,6 +194,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-arm64.mk b/content/content_common_mojo_bindings.target.darwin-arm64.mk
index 4cd9159..34e3f04 100644
--- a/content/content_common_mojo_bindings.target.darwin-arm64.mk
+++ b/content/content_common_mojo_bindings.target.darwin-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-mips.mk b/content/content_common_mojo_bindings.target.darwin-mips.mk
index 5a6c439..fc51acb 100644
--- a/content/content_common_mojo_bindings.target.darwin-mips.mk
+++ b/content/content_common_mojo_bindings.target.darwin-mips.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -193,6 +194,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-x86.mk b/content/content_common_mojo_bindings.target.darwin-x86.mk
index 559cb90..8ea9b0b 100644
--- a/content/content_common_mojo_bindings.target.darwin-x86.mk
+++ b/content/content_common_mojo_bindings.target.darwin-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -194,6 +195,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.darwin-x86_64.mk b/content/content_common_mojo_bindings.target.darwin-x86_64.mk
index d07587f..293f58d 100644
--- a/content/content_common_mojo_bindings.target.darwin-x86_64.mk
+++ b/content/content_common_mojo_bindings.target.darwin-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -194,6 +195,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-arm.mk b/content/content_common_mojo_bindings.target.linux-arm.mk
index 3d3fecd..c8dc3be 100644
--- a/content/content_common_mojo_bindings.target.linux-arm.mk
+++ b/content/content_common_mojo_bindings.target.linux-arm.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -193,6 +194,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-arm64.mk b/content/content_common_mojo_bindings.target.linux-arm64.mk
index 4cd9159..34e3f04 100644
--- a/content/content_common_mojo_bindings.target.linux-arm64.mk
+++ b/content/content_common_mojo_bindings.target.linux-arm64.mk
@@ -102,6 +102,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -186,6 +187,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-mips.mk b/content/content_common_mojo_bindings.target.linux-mips.mk
index 5a6c439..fc51acb 100644
--- a/content/content_common_mojo_bindings.target.linux-mips.mk
+++ b/content/content_common_mojo_bindings.target.linux-mips.mk
@@ -105,6 +105,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -193,6 +194,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-x86.mk b/content/content_common_mojo_bindings.target.linux-x86.mk
index 559cb90..8ea9b0b 100644
--- a/content/content_common_mojo_bindings.target.linux-x86.mk
+++ b/content/content_common_mojo_bindings.target.linux-x86.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -194,6 +195,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_common_mojo_bindings.target.linux-x86_64.mk b/content/content_common_mojo_bindings.target.linux-x86_64.mk
index d07587f..293f58d 100644
--- a/content/content_common_mojo_bindings.target.linux-x86_64.mk
+++ b/content/content_common_mojo_bindings.target.linux-x86_64.mk
@@ -106,6 +106,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -194,6 +195,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_gpu.target.darwin-arm.mk b/content/content_gpu.target.darwin-arm.mk
index 253ae53..1ee058f 100644
--- a/content/content_gpu.target.darwin-arm.mk
+++ b/content/content_gpu.target.darwin-arm.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -211,6 +212,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.darwin-arm64.mk b/content/content_gpu.target.darwin-arm64.mk
index a8b4a2d..1bfaac1 100644
--- a/content/content_gpu.target.darwin-arm64.mk
+++ b/content/content_gpu.target.darwin-arm64.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -204,6 +205,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.darwin-mips.mk b/content/content_gpu.target.darwin-mips.mk
index da86a58..8e4bdbe 100644
--- a/content/content_gpu.target.darwin-mips.mk
+++ b/content/content_gpu.target.darwin-mips.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -211,6 +212,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.darwin-x86.mk b/content/content_gpu.target.darwin-x86.mk
index 9f9bb07..8dc1ab0 100644
--- a/content/content_gpu.target.darwin-x86.mk
+++ b/content/content_gpu.target.darwin-x86.mk
@@ -88,6 +88,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -212,6 +213,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.darwin-x86_64.mk b/content/content_gpu.target.darwin-x86_64.mk
index 9adf2ba..434e025 100644
--- a/content/content_gpu.target.darwin-x86_64.mk
+++ b/content/content_gpu.target.darwin-x86_64.mk
@@ -88,6 +88,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -212,6 +213,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.linux-arm.mk b/content/content_gpu.target.linux-arm.mk
index 253ae53..1ee058f 100644
--- a/content/content_gpu.target.linux-arm.mk
+++ b/content/content_gpu.target.linux-arm.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -211,6 +212,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.linux-arm64.mk b/content/content_gpu.target.linux-arm64.mk
index a8b4a2d..1bfaac1 100644
--- a/content/content_gpu.target.linux-arm64.mk
+++ b/content/content_gpu.target.linux-arm64.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -204,6 +205,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.linux-mips.mk b/content/content_gpu.target.linux-mips.mk
index da86a58..8e4bdbe 100644
--- a/content/content_gpu.target.linux-mips.mk
+++ b/content/content_gpu.target.linux-mips.mk
@@ -87,6 +87,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -211,6 +212,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.linux-x86.mk b/content/content_gpu.target.linux-x86.mk
index 9f9bb07..8dc1ab0 100644
--- a/content/content_gpu.target.linux-x86.mk
+++ b/content/content_gpu.target.linux-x86.mk
@@ -88,6 +88,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -212,6 +213,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_gpu.target.linux-x86_64.mk b/content/content_gpu.target.linux-x86_64.mk
index 9adf2ba..434e025 100644
--- a/content/content_gpu.target.linux-x86_64.mk
+++ b/content/content_gpu.target.linux-x86_64.mk
@@ -88,6 +88,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
@@ -212,6 +213,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
diff --git a/content/content_jni.gypi b/content/content_jni.gypi
index 9e0f0a9..4418e77 100644
--- a/content/content_jni.gypi
+++ b/content/content_jni.gypi
@@ -15,6 +15,7 @@
'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java',
'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java',
'public/android/java/src/org/chromium/content/browser/ContentSettings.java',
+ 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java',
'public/android/java/src/org/chromium/content/browser/ContentVideoView.java',
'public/android/java/src/org/chromium/content/browser/ContentViewCore.java',
'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java',
diff --git a/content/content_jni_headers.target.darwin-arm.mk b/content/content_jni_headers.target.darwin-arm.mk
index c37449f..ea7435e 100644
--- a/content/content_jni_headers.target.darwin-arm.mk
+++ b/content/content_jni_headers.target.darwin-arm.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -414,6 +425,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -498,6 +510,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.darwin-arm64.mk b/content/content_jni_headers.target.darwin-arm64.mk
index bf40706..bed7dba 100644
--- a/content/content_jni_headers.target.darwin-arm64.mk
+++ b/content/content_jni_headers.target.darwin-arm64.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -411,6 +422,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -491,6 +503,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.darwin-mips.mk b/content/content_jni_headers.target.darwin-mips.mk
index 857e7d5..c3735cf 100644
--- a/content/content_jni_headers.target.darwin-mips.mk
+++ b/content/content_jni_headers.target.darwin-mips.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -414,6 +425,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -498,6 +510,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.darwin-x86.mk b/content/content_jni_headers.target.darwin-x86.mk
index 4c400cd..3492a82 100644
--- a/content/content_jni_headers.target.darwin-x86.mk
+++ b/content/content_jni_headers.target.darwin-x86.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -415,6 +426,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -499,6 +511,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.darwin-x86_64.mk b/content/content_jni_headers.target.darwin-x86_64.mk
index af6f959..fcea0c6 100644
--- a/content/content_jni_headers.target.darwin-x86_64.mk
+++ b/content/content_jni_headers.target.darwin-x86_64.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -415,6 +426,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -499,6 +511,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.linux-arm.mk b/content/content_jni_headers.target.linux-arm.mk
index c37449f..ea7435e 100644
--- a/content/content_jni_headers.target.linux-arm.mk
+++ b/content/content_jni_headers.target.linux-arm.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -414,6 +425,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -498,6 +510,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.linux-arm64.mk b/content/content_jni_headers.target.linux-arm64.mk
index bf40706..bed7dba 100644
--- a/content/content_jni_headers.target.linux-arm64.mk
+++ b/content/content_jni_headers.target.linux-arm64.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -411,6 +422,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -491,6 +503,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.linux-mips.mk b/content/content_jni_headers.target.linux-mips.mk
index 857e7d5..c3735cf 100644
--- a/content/content_jni_headers.target.linux-mips.mk
+++ b/content/content_jni_headers.target.linux-mips.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -414,6 +425,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -498,6 +510,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.linux-x86.mk b/content/content_jni_headers.target.linux-x86.mk
index 4c400cd..3492a82 100644
--- a/content/content_jni_headers.target.linux-x86.mk
+++ b/content/content_jni_headers.target.linux-x86.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -415,6 +426,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -499,6 +511,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_jni_headers.target.linux-x86_64.mk b/content/content_jni_headers.target.linux-x86_64.mk
index af6f959..fcea0c6 100644
--- a/content/content_jni_headers.target.linux-x86_64.mk
+++ b/content/content_jni_headers.target.linux-x86_64.mk
@@ -18,7 +18,7 @@
### Generated for rule "content_content_gyp_content_jni_headers_target_generate_jni_headers":
-# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
+# "{'inputs': ['../base/android/jni_generator/jni_generator.py', '../android_webview/build/jarjar-rules.txt'], 'process_outputs_as_sources': '1', 'extension': 'java', 'outputs': ['$(gyp_shared_intermediate_dir)/content/jni/%(INPUT_ROOT)s_jni.h'], 'rule_name': 'generate_jni_headers', 'rule_sources': ['public/android/java/src/org/chromium/content/app/ChildProcessService.java', 'public/android/java/src/org/chromium/content/app/ContentMain.java', 'public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java', 'public/android/java/src/org/chromium/content/browser/BatteryStatusManager.java', 'public/android/java/src/org/chromium/content/browser/BrowserStartupController.java', 'public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java', 'public/android/java/src/org/chromium/content/browser/ContentSettings.java', 'public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java', 'public/android/java/src/org/chromium/content/browser/ContentVideoView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewCore.java', 'public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java', 'public/android/java/src/org/chromium/content/browser/ContentViewStatics.java', 'public/android/java/src/org/chromium/content/browser/DeviceSensors.java', 'public/android/java/src/org/chromium/content/browser/DownloadController.java', 'public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java', 'public/android/java/src/org/chromium/content/browser/input/DateTimeChooserAndroid.java', 'public/android/java/src/org/chromium/content/browser/InterstitialPageDelegateAndroid.java', 'public/android/java/src/org/chromium/content/browser/LoadUrlParams.java', 'public/android/java/src/org/chromium/content/browser/LocationProviderAdapter.java', 'public/android/java/src/org/chromium/content/browser/MediaDrmCredentialManager.java', 'public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java', 'public/android/java/src/org/chromium/content/browser/PowerSaveBlocker.java', 'public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java', 'public/android/java/src/org/chromium/content/browser/SpeechRecognition.java', 'public/android/java/src/org/chromium/content/browser/TimeZoneMonitor.java', 'public/android/java/src/org/chromium/content/browser/TouchEventSynthesizer.java', 'public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java', 'public/android/java/src/org/chromium/content/browser/VibrationProvider.java', 'public/android/java/src/org/chromium/content/browser/WebContentsObserverAndroid.java', 'public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java', 'public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java'], 'action': ['../base/android/jni_generator/jni_generator.py', '--input_file', '$(RULE_SOURCES)', '--output_dir', '$(gyp_shared_intermediate_dir)/content/jni', '--includes', 'base/android/jni_generator/jni_generator_helper.h', '--optimize_generation', '0', '--jarjar', '../android_webview/build/jarjar-rules.txt', '--ptr_type', 'long'], 'message': 'Generating JNI bindings from $(RULE_SOURCES)'}":
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessService_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -82,6 +82,15 @@
mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentSettings.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_local_path := $(LOCAL_PATH)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: gyp_shared_intermediate_dir := $(abspath $(gyp_shared_intermediate_dir))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))
+$(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h: $(LOCAL_PATH)/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java $(LOCAL_PATH)/base/android/jni_generator/jni_generator.py $(LOCAL_PATH)/android_webview/build/jarjar-rules.txt $(GYP_TARGET_DEPENDENCIES)
+ mkdir -p $(gyp_shared_intermediate_dir)/content/jni; cd $(gyp_local_path)/content; ../base/android/jni_generator/jni_generator.py --input_file public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java --output_dir "$(gyp_shared_intermediate_dir)/content/jni" --includes base/android/jni_generator/jni_generator_helper.h --optimize_generation 0 --jarjar ../android_webview/build/jarjar-rules.txt --ptr_type long
+
+
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_var_prefix := $(GYP_VAR_PREFIX)
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -298,6 +307,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -333,6 +343,7 @@
$(gyp_shared_intermediate_dir)/content/jni/BrowserStartupController_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ChildProcessLauncher_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentSettings_jni.h \
+ $(gyp_shared_intermediate_dir)/content/jni/ContentReadbackHandler_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentVideoView_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewCore_jni.h \
$(gyp_shared_intermediate_dir)/content/jni/ContentViewRenderView_jni.h \
@@ -415,6 +426,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -499,6 +511,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/content_renderer.target.darwin-arm.mk b/content/content_renderer.target.darwin-arm.mk
index e39cc03..9cb7f38 100644
--- a/content/content_renderer.target.darwin-arm.mk
+++ b/content/content_renderer.target.darwin-arm.mk
@@ -319,6 +319,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.darwin-arm64.mk b/content/content_renderer.target.darwin-arm64.mk
index f569491..ddc28ca 100644
--- a/content/content_renderer.target.darwin-arm64.mk
+++ b/content/content_renderer.target.darwin-arm64.mk
@@ -316,6 +316,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -485,6 +486,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.darwin-mips.mk b/content/content_renderer.target.darwin-mips.mk
index 6570800..fa1b204 100644
--- a/content/content_renderer.target.darwin-mips.mk
+++ b/content/content_renderer.target.darwin-mips.mk
@@ -319,6 +319,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.darwin-x86.mk b/content/content_renderer.target.darwin-x86.mk
index c79504b..3069126 100644
--- a/content/content_renderer.target.darwin-x86.mk
+++ b/content/content_renderer.target.darwin-x86.mk
@@ -320,6 +320,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.darwin-x86_64.mk b/content/content_renderer.target.darwin-x86_64.mk
index 2038b97..147b146 100644
--- a/content/content_renderer.target.darwin-x86_64.mk
+++ b/content/content_renderer.target.darwin-x86_64.mk
@@ -320,6 +320,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -493,6 +494,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.linux-arm.mk b/content/content_renderer.target.linux-arm.mk
index e39cc03..9cb7f38 100644
--- a/content/content_renderer.target.linux-arm.mk
+++ b/content/content_renderer.target.linux-arm.mk
@@ -319,6 +319,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.linux-arm64.mk b/content/content_renderer.target.linux-arm64.mk
index f569491..ddc28ca 100644
--- a/content/content_renderer.target.linux-arm64.mk
+++ b/content/content_renderer.target.linux-arm64.mk
@@ -316,6 +316,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -485,6 +486,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.linux-mips.mk b/content/content_renderer.target.linux-mips.mk
index 6570800..fa1b204 100644
--- a/content/content_renderer.target.linux-mips.mk
+++ b/content/content_renderer.target.linux-mips.mk
@@ -319,6 +319,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.linux-x86.mk b/content/content_renderer.target.linux-x86.mk
index c79504b..3069126 100644
--- a/content/content_renderer.target.linux-x86.mk
+++ b/content/content_renderer.target.linux-x86.mk
@@ -320,6 +320,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -492,6 +493,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_renderer.target.linux-x86_64.mk b/content/content_renderer.target.linux-x86_64.mk
index 2038b97..147b146 100644
--- a/content/content_renderer.target.linux-x86_64.mk
+++ b/content/content_renderer.target.linux-x86_64.mk
@@ -320,6 +320,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
@@ -493,6 +494,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DLIBPEERCONNECTION_LIB=1' \
'-DMEDIA_DISABLE_LIBVPX' \
diff --git a/content/content_tests.gypi b/content/content_tests.gypi
index ccf43f0..b7fe252 100644
--- a/content/content_tests.gypi
+++ b/content/content_tests.gypi
@@ -892,6 +892,11 @@
'browser/geolocation/wifi_data_provider_linux_unittest.cc',
],
}],
+ ['OS!="win" and OS!="mac"', {
+ 'sources!': [
+ 'common/plugin_list_unittest.cc',
+ ],
+ }],
],
},
],
diff --git a/content/content_utility.target.darwin-arm.mk b/content/content_utility.target.darwin-arm.mk
index 4e731e8..42167cb 100644
--- a/content/content_utility.target.darwin-arm.mk
+++ b/content/content_utility.target.darwin-arm.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.darwin-arm64.mk b/content/content_utility.target.darwin-arm64.mk
index 2f44e2e..b4634e3 100644
--- a/content/content_utility.target.darwin-arm64.mk
+++ b/content/content_utility.target.darwin-arm64.mk
@@ -81,6 +81,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -172,6 +173,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.darwin-mips.mk b/content/content_utility.target.darwin-mips.mk
index 044dc54..b50a09b 100644
--- a/content/content_utility.target.darwin-mips.mk
+++ b/content/content_utility.target.darwin-mips.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.darwin-x86.mk b/content/content_utility.target.darwin-x86.mk
index ff69d87..3a01802 100644
--- a/content/content_utility.target.darwin-x86.mk
+++ b/content/content_utility.target.darwin-x86.mk
@@ -85,6 +85,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -180,6 +181,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.darwin-x86_64.mk b/content/content_utility.target.darwin-x86_64.mk
index 5cabe8d..b7e3686 100644
--- a/content/content_utility.target.darwin-x86_64.mk
+++ b/content/content_utility.target.darwin-x86_64.mk
@@ -85,6 +85,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -180,6 +181,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.linux-arm.mk b/content/content_utility.target.linux-arm.mk
index 4e731e8..42167cb 100644
--- a/content/content_utility.target.linux-arm.mk
+++ b/content/content_utility.target.linux-arm.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.linux-arm64.mk b/content/content_utility.target.linux-arm64.mk
index 2f44e2e..b4634e3 100644
--- a/content/content_utility.target.linux-arm64.mk
+++ b/content/content_utility.target.linux-arm64.mk
@@ -81,6 +81,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -172,6 +173,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.linux-mips.mk b/content/content_utility.target.linux-mips.mk
index 044dc54..b50a09b 100644
--- a/content/content_utility.target.linux-mips.mk
+++ b/content/content_utility.target.linux-mips.mk
@@ -84,6 +84,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -179,6 +180,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.linux-x86.mk b/content/content_utility.target.linux-x86.mk
index ff69d87..3a01802 100644
--- a/content/content_utility.target.linux-x86.mk
+++ b/content/content_utility.target.linux-x86.mk
@@ -85,6 +85,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -180,6 +181,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/content_utility.target.linux-x86_64.mk b/content/content_utility.target.linux-x86_64.mk
index 5cabe8d..b7e3686 100644
--- a/content/content_utility.target.linux-x86_64.mk
+++ b/content/content_utility.target.linux-x86_64.mk
@@ -85,6 +85,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -180,6 +181,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DMOJO_USE_SYSTEM_IMPL' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
diff --git a/content/gesture_event_type_java.target.darwin-arm.mk b/content/gesture_event_type_java.target.darwin-arm.mk
index b581a7e..8b30ef5 100644
--- a/content/gesture_event_type_java.target.darwin-arm.mk
+++ b/content/gesture_event_type_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.darwin-arm64.mk b/content/gesture_event_type_java.target.darwin-arm64.mk
index 2c2735e..0e6f257 100644
--- a/content/gesture_event_type_java.target.darwin-arm64.mk
+++ b/content/gesture_event_type_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.darwin-mips.mk b/content/gesture_event_type_java.target.darwin-mips.mk
index 71b5c82..ce55293 100644
--- a/content/gesture_event_type_java.target.darwin-mips.mk
+++ b/content/gesture_event_type_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.darwin-x86.mk b/content/gesture_event_type_java.target.darwin-x86.mk
index 384b329..d41bc05 100644
--- a/content/gesture_event_type_java.target.darwin-x86.mk
+++ b/content/gesture_event_type_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.darwin-x86_64.mk b/content/gesture_event_type_java.target.darwin-x86_64.mk
index 566c63a..78c2a47 100644
--- a/content/gesture_event_type_java.target.darwin-x86_64.mk
+++ b/content/gesture_event_type_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.linux-arm.mk b/content/gesture_event_type_java.target.linux-arm.mk
index b581a7e..8b30ef5 100644
--- a/content/gesture_event_type_java.target.linux-arm.mk
+++ b/content/gesture_event_type_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.linux-arm64.mk b/content/gesture_event_type_java.target.linux-arm64.mk
index 2c2735e..0e6f257 100644
--- a/content/gesture_event_type_java.target.linux-arm64.mk
+++ b/content/gesture_event_type_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.linux-mips.mk b/content/gesture_event_type_java.target.linux-mips.mk
index 71b5c82..ce55293 100644
--- a/content/gesture_event_type_java.target.linux-mips.mk
+++ b/content/gesture_event_type_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.linux-x86.mk b/content/gesture_event_type_java.target.linux-x86.mk
index 384b329..d41bc05 100644
--- a/content/gesture_event_type_java.target.linux-x86.mk
+++ b/content/gesture_event_type_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/gesture_event_type_java.target.linux-x86_64.mk b/content/gesture_event_type_java.target.linux-x86_64.mk
index 566c63a..78c2a47 100644
--- a/content/gesture_event_type_java.target.linux-x86_64.mk
+++ b/content/gesture_event_type_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.darwin-arm.mk b/content/java_set_jni_headers.target.darwin-arm.mk
index 72bd9b9..bdbd309 100644
--- a/content/java_set_jni_headers.target.darwin-arm.mk
+++ b/content/java_set_jni_headers.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.darwin-arm64.mk b/content/java_set_jni_headers.target.darwin-arm64.mk
index 9fb9092..2c4cf92 100644
--- a/content/java_set_jni_headers.target.darwin-arm64.mk
+++ b/content/java_set_jni_headers.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.darwin-mips.mk b/content/java_set_jni_headers.target.darwin-mips.mk
index fd8bdd2..a77e925 100644
--- a/content/java_set_jni_headers.target.darwin-mips.mk
+++ b/content/java_set_jni_headers.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.darwin-x86.mk b/content/java_set_jni_headers.target.darwin-x86.mk
index 705d954..b9da82e 100644
--- a/content/java_set_jni_headers.target.darwin-x86.mk
+++ b/content/java_set_jni_headers.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.darwin-x86_64.mk b/content/java_set_jni_headers.target.darwin-x86_64.mk
index 01ed935..74cb8b2 100644
--- a/content/java_set_jni_headers.target.darwin-x86_64.mk
+++ b/content/java_set_jni_headers.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.linux-arm.mk b/content/java_set_jni_headers.target.linux-arm.mk
index 72bd9b9..bdbd309 100644
--- a/content/java_set_jni_headers.target.linux-arm.mk
+++ b/content/java_set_jni_headers.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.linux-arm64.mk b/content/java_set_jni_headers.target.linux-arm64.mk
index 9fb9092..2c4cf92 100644
--- a/content/java_set_jni_headers.target.linux-arm64.mk
+++ b/content/java_set_jni_headers.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.linux-mips.mk b/content/java_set_jni_headers.target.linux-mips.mk
index fd8bdd2..a77e925 100644
--- a/content/java_set_jni_headers.target.linux-mips.mk
+++ b/content/java_set_jni_headers.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.linux-x86.mk b/content/java_set_jni_headers.target.linux-x86.mk
index 705d954..b9da82e 100644
--- a/content/java_set_jni_headers.target.linux-x86.mk
+++ b/content/java_set_jni_headers.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/java_set_jni_headers.target.linux-x86_64.mk b/content/java_set_jni_headers.target.linux-x86_64.mk
index 01ed935..74cb8b2 100644
--- a/content/java_set_jni_headers.target.linux-x86_64.mk
+++ b/content/java_set_jni_headers.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.darwin-arm.mk b/content/motionevent_jni_headers.target.darwin-arm.mk
index c81f198..be48953 100644
--- a/content/motionevent_jni_headers.target.darwin-arm.mk
+++ b/content/motionevent_jni_headers.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.darwin-arm64.mk b/content/motionevent_jni_headers.target.darwin-arm64.mk
index 0059f2b..1c1b09f 100644
--- a/content/motionevent_jni_headers.target.darwin-arm64.mk
+++ b/content/motionevent_jni_headers.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.darwin-mips.mk b/content/motionevent_jni_headers.target.darwin-mips.mk
index 7590a89..e262cea 100644
--- a/content/motionevent_jni_headers.target.darwin-mips.mk
+++ b/content/motionevent_jni_headers.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.darwin-x86.mk b/content/motionevent_jni_headers.target.darwin-x86.mk
index 05bd214..3bcc5ec 100644
--- a/content/motionevent_jni_headers.target.darwin-x86.mk
+++ b/content/motionevent_jni_headers.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.darwin-x86_64.mk b/content/motionevent_jni_headers.target.darwin-x86_64.mk
index 5612f29..adcd2a4 100644
--- a/content/motionevent_jni_headers.target.darwin-x86_64.mk
+++ b/content/motionevent_jni_headers.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.linux-arm.mk b/content/motionevent_jni_headers.target.linux-arm.mk
index c81f198..be48953 100644
--- a/content/motionevent_jni_headers.target.linux-arm.mk
+++ b/content/motionevent_jni_headers.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.linux-arm64.mk b/content/motionevent_jni_headers.target.linux-arm64.mk
index 0059f2b..1c1b09f 100644
--- a/content/motionevent_jni_headers.target.linux-arm64.mk
+++ b/content/motionevent_jni_headers.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.linux-mips.mk b/content/motionevent_jni_headers.target.linux-mips.mk
index 7590a89..e262cea 100644
--- a/content/motionevent_jni_headers.target.linux-mips.mk
+++ b/content/motionevent_jni_headers.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.linux-x86.mk b/content/motionevent_jni_headers.target.linux-x86.mk
index 05bd214..3bcc5ec 100644
--- a/content/motionevent_jni_headers.target.linux-x86.mk
+++ b/content/motionevent_jni_headers.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/motionevent_jni_headers.target.linux-x86_64.mk b/content/motionevent_jni_headers.target.linux-x86_64.mk
index 5612f29..adcd2a4 100644
--- a/content/motionevent_jni_headers.target.linux-x86_64.mk
+++ b/content/motionevent_jni_headers.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.darwin-arm.mk b/content/page_transition_types_java.target.darwin-arm.mk
index 71a35ee..9792300 100644
--- a/content/page_transition_types_java.target.darwin-arm.mk
+++ b/content/page_transition_types_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.darwin-arm64.mk b/content/page_transition_types_java.target.darwin-arm64.mk
index 6a1d741..a6ab84b 100644
--- a/content/page_transition_types_java.target.darwin-arm64.mk
+++ b/content/page_transition_types_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.darwin-mips.mk b/content/page_transition_types_java.target.darwin-mips.mk
index 17090de..ff33ad6 100644
--- a/content/page_transition_types_java.target.darwin-mips.mk
+++ b/content/page_transition_types_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.darwin-x86.mk b/content/page_transition_types_java.target.darwin-x86.mk
index f754f8a..d49e350 100644
--- a/content/page_transition_types_java.target.darwin-x86.mk
+++ b/content/page_transition_types_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.darwin-x86_64.mk b/content/page_transition_types_java.target.darwin-x86_64.mk
index 199a32e..d846045 100644
--- a/content/page_transition_types_java.target.darwin-x86_64.mk
+++ b/content/page_transition_types_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.linux-arm.mk b/content/page_transition_types_java.target.linux-arm.mk
index 71a35ee..9792300 100644
--- a/content/page_transition_types_java.target.linux-arm.mk
+++ b/content/page_transition_types_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.linux-arm64.mk b/content/page_transition_types_java.target.linux-arm64.mk
index 6a1d741..a6ab84b 100644
--- a/content/page_transition_types_java.target.linux-arm64.mk
+++ b/content/page_transition_types_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.linux-mips.mk b/content/page_transition_types_java.target.linux-mips.mk
index 17090de..ff33ad6 100644
--- a/content/page_transition_types_java.target.linux-mips.mk
+++ b/content/page_transition_types_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.linux-x86.mk b/content/page_transition_types_java.target.linux-x86.mk
index f754f8a..d49e350 100644
--- a/content/page_transition_types_java.target.linux-x86.mk
+++ b/content/page_transition_types_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/page_transition_types_java.target.linux-x86_64.mk b/content/page_transition_types_java.target.linux-x86_64.mk
index 199a32e..d846045 100644
--- a/content/page_transition_types_java.target.linux-x86_64.mk
+++ b/content/page_transition_types_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.darwin-arm.mk b/content/popup_item_type_java.target.darwin-arm.mk
index 860c193..8d1cee1 100644
--- a/content/popup_item_type_java.target.darwin-arm.mk
+++ b/content/popup_item_type_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.darwin-arm64.mk b/content/popup_item_type_java.target.darwin-arm64.mk
index 98d7ec7..eb15ab4 100644
--- a/content/popup_item_type_java.target.darwin-arm64.mk
+++ b/content/popup_item_type_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.darwin-mips.mk b/content/popup_item_type_java.target.darwin-mips.mk
index f901d1a..335d820 100644
--- a/content/popup_item_type_java.target.darwin-mips.mk
+++ b/content/popup_item_type_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.darwin-x86.mk b/content/popup_item_type_java.target.darwin-x86.mk
index a8556f5..ca591a5 100644
--- a/content/popup_item_type_java.target.darwin-x86.mk
+++ b/content/popup_item_type_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.darwin-x86_64.mk b/content/popup_item_type_java.target.darwin-x86_64.mk
index 17d1cfb..8f56918 100644
--- a/content/popup_item_type_java.target.darwin-x86_64.mk
+++ b/content/popup_item_type_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.linux-arm.mk b/content/popup_item_type_java.target.linux-arm.mk
index 860c193..8d1cee1 100644
--- a/content/popup_item_type_java.target.linux-arm.mk
+++ b/content/popup_item_type_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.linux-arm64.mk b/content/popup_item_type_java.target.linux-arm64.mk
index 98d7ec7..eb15ab4 100644
--- a/content/popup_item_type_java.target.linux-arm64.mk
+++ b/content/popup_item_type_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.linux-mips.mk b/content/popup_item_type_java.target.linux-mips.mk
index f901d1a..335d820 100644
--- a/content/popup_item_type_java.target.linux-mips.mk
+++ b/content/popup_item_type_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.linux-x86.mk b/content/popup_item_type_java.target.linux-x86.mk
index a8556f5..ca591a5 100644
--- a/content/popup_item_type_java.target.linux-x86.mk
+++ b/content/popup_item_type_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/popup_item_type_java.target.linux-x86_64.mk b/content/popup_item_type_java.target.linux-x86_64.mk
index 17d1cfb..8f56918 100644
--- a/content/popup_item_type_java.target.linux-x86_64.mk
+++ b/content/popup_item_type_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java b/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java
new file mode 100644
index 0000000..f3d4442
--- /dev/null
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java
@@ -0,0 +1,108 @@
+// Copyright 2014 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.
+
+package org.chromium.content.browser;
+
+import android.graphics.Bitmap;
+import android.graphics.Rect;
+import android.util.SparseArray;
+
+import org.chromium.base.CalledByNative;
+import org.chromium.base.JNINamespace;
+import org.chromium.base.ThreadUtils;
+
+/**
+ * A class for reading back content.
+ */
+@JNINamespace("content")
+public abstract class ContentReadbackHandler {
+ /**
+ * A callback interface for content readback into a bitmap.
+ */
+ public static interface GetContentBitmapCallback {
+ /**
+ * Called when the content readback finishes.
+ * @param success Indicates whether the readback succeeded or not.
+ * @param bitmap The {@link Bitmap} of the content.
+ */
+ public void onFinishGetContentBitmap(boolean success, Bitmap bitmap);
+ }
+
+ private int mNextReadbackId = 1;
+ private SparseArray<GetContentBitmapCallback> mGetContentBitmapRequests;
+
+ private long mNativeContentReadbackHandler;
+
+ /**
+ * Creates a {@link ContentReadbackHandler}.
+ */
+ public ContentReadbackHandler() {
+ mGetContentBitmapRequests = new SparseArray<GetContentBitmapCallback>();
+ }
+
+ /**
+ * Initialize the native object.
+ */
+ public void initNativeContentReadbackHandler() {
+ mNativeContentReadbackHandler = nativeInit();
+ }
+
+ /**
+ * Should be called when the ContentReadackHandler is not needed anymore.
+ */
+ public void destroy() {
+ nativeDestroy(mNativeContentReadbackHandler);
+ mNativeContentReadbackHandler = 0;
+ }
+
+
+ @CalledByNative
+ private void notifyGetContentBitmapFinished(int readbackId, boolean success, Bitmap bitmap) {
+ GetContentBitmapCallback callback = mGetContentBitmapRequests.get(readbackId);
+ if (callback != null) {
+ mGetContentBitmapRequests.delete(readbackId);
+ callback.onFinishGetContentBitmap(success, bitmap);
+ } else {
+ // readback Id is unregistered.
+ assert false : "Readback finished for unregistered Id: " + readbackId;
+ }
+ }
+
+ /**
+ * Asynchronously, generate and grab a bitmap representing what is currently on the screen
+ * for {@code view}.
+ *
+ * @param scale The scale that should be applied to the content.
+ * @param srcRect A subrect of the original content to capture. If this is empty, it will grab
+ * the whole surface.
+ * @param view The {@link ContentViewCore} to grab the bitmap from.
+ * @param callback The callback to be executed after readback completes.
+ */
+ public void getContentBitmapAsync(float scale, Rect srcRect, ContentViewCore view,
+ GetContentBitmapCallback callback) {
+ if (!readyForReadback()) {
+ callback.onFinishGetContentBitmap(false, null);
+ return;
+ }
+ ThreadUtils.assertOnUiThread();
+
+ int readbackId = mNextReadbackId++;
+ mGetContentBitmapRequests.put(readbackId, callback);
+ nativeGetContentBitmap(mNativeContentReadbackHandler, readbackId, scale,
+ Bitmap.Config.ARGB_8888, srcRect.top, srcRect.left, srcRect.width(),
+ srcRect.height(), view);
+ }
+
+ /**
+ * Implemented by the owner of this class to signal whether readback is possible or not.
+ * @return Whether readback is possible or not.
+ */
+ protected abstract boolean readyForReadback();
+
+ private native long nativeInit();
+ private native void nativeDestroy(long nativeContentReadbackHandler);
+ private native void nativeGetContentBitmap(long nativeContentReadbackHandler, int readback_id,
+ float scale, Bitmap.Config config, float x, float y, float width, float height,
+ Object contentViewCore);
+}
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java
index 6759697..11c2379 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java
@@ -43,6 +43,8 @@
protected ContentViewCore mContentViewCore;
+ private ContentReadbackHandler mContentReadbackHandler;
+
private final Runnable mRenderRunnable = new Runnable() {
@Override
public void run() {
@@ -102,6 +104,14 @@
new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT));
+
+ mContentReadbackHandler = new ContentReadbackHandler() {
+ @Override
+ protected boolean readyForReadback() {
+ return mNativeContentViewRenderView != 0 && mContentViewCore != null;
+ }
+ };
+ mContentReadbackHandler.initNativeContentReadbackHandler();
}
@Override
@@ -118,6 +128,13 @@
}
/**
+ * @return The content readback handler.
+ */
+ public ContentReadbackHandler getContentReadbackHandler() {
+ return mContentReadbackHandler;
+ }
+
+ /**
* Sets the background color of the surface view. This method is necessary because the
* background color of ContentViewRenderView itself is covered by the background of
* SurfaceView.
@@ -134,6 +151,8 @@
* native resource can be freed.
*/
public void destroy() {
+ mContentReadbackHandler.destroy();
+ mContentReadbackHandler = null;
mRootWindow.setVSyncClient(null);
mSurfaceView.getHolder().removeCallback(mSurfaceCallback);
nativeDestroy(mNativeContentViewRenderView);
@@ -167,18 +186,7 @@
* @return The created SurfaceView object.
*/
protected SurfaceView createSurfaceView(Context context) {
- return new SurfaceView(context) {
- @Override
- public void onDraw(Canvas canvas) {
- // We only need to draw to software canvases, which are used for taking screenshots.
- if (canvas.isHardwareAccelerated()) return;
- Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(),
- Bitmap.Config.ARGB_8888);
- if (nativeCompositeToBitmap(mNativeContentViewRenderView, bitmap)) {
- canvas.drawBitmap(bitmap, 0, 0, null);
- }
- }
- };
+ return new SurfaceView(context);
}
/**
@@ -269,7 +277,6 @@
private native void nativeSurfaceChanged(long nativeContentViewRenderView,
int format, int width, int height, Surface surface);
private native boolean nativeComposite(long nativeContentViewRenderView);
- private native boolean nativeCompositeToBitmap(long nativeContentViewRenderView, Bitmap bitmap);
private native void nativeSetOverlayVideoMode(long nativeContentViewRenderView,
boolean enabled);
}
diff --git a/content/public/browser/context_factory.h b/content/public/browser/context_factory.h
new file mode 100644
index 0000000..07f2462
--- /dev/null
+++ b/content/public/browser/context_factory.h
@@ -0,0 +1,22 @@
+// Copyright 2014 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.
+
+#ifndef CONTENT_PUBLIC_BROWSER_CONTEXT_FACTORY_H_
+#define CONTENT_PUBLIC_BROWSER_CONTEXT_FACTORY_H_
+
+#include "content/common/content_export.h"
+
+namespace ui {
+class ContextFactory;
+}
+
+namespace content {
+
+// Returns the singleton ContextFactory used by content. The return value is
+// owned by content.
+CONTENT_EXPORT ui::ContextFactory* GetContextFactory();
+
+} // namespace content
+
+#endif // CONTENT_PUBLIC_BROWSER_CONTEXT_FACTORY_H_
diff --git a/content/renderer/media/websourcebuffer_impl.cc b/content/renderer/media/websourcebuffer_impl.cc
index 93a996b..1b8e4fa 100644
--- a/content/renderer/media/websourcebuffer_impl.cc
+++ b/content/renderer/media/websourcebuffer_impl.cc
@@ -108,6 +108,11 @@
return false;
timestamp_offset_ = DoubleToTimeDelta(offset);
+
+ // http://www.w3.org/TR/media-source/#widl-SourceBuffer-timestampOffset
+ // Step 6: If the mode attribute equals "sequence", then set the group start
+ // timestamp to new timestamp offset.
+ demuxer_->SetGroupStartTimestampIfInSequenceMode(id_, timestamp_offset_);
return true;
}
diff --git a/content/renderer/web_ui_setup_impl.cc b/content/renderer/web_ui_setup_impl.cc
index e4c065f..7cb7cda 100644
--- a/content/renderer/web_ui_setup_impl.cc
+++ b/content/renderer/web_ui_setup_impl.cc
@@ -11,15 +11,11 @@
// static
void WebUISetupImpl::Bind(mojo::ScopedMessagePipeHandle handle) {
- // This instance will be destroyed when the pipe is closed. See OnError.
- new WebUISetupImpl(handle.Pass());
+ mojo::BindToPipe(new WebUISetupImpl(), handle.Pass());
}
-WebUISetupImpl::WebUISetupImpl(mojo::ScopedMessagePipeHandle handle)
- : client_(ScopedWebUISetupClientHandle::From(handle.Pass()), this) {
-}
-
-WebUISetupImpl::~WebUISetupImpl() {
+void WebUISetupImpl::OnConnectionError() {
+ delete this;
}
void WebUISetupImpl::SetWebUIHandle(
@@ -34,8 +30,4 @@
web_ui_mojo->SetBrowserHandle(web_ui_handle.Pass());
}
-void WebUISetupImpl::OnError() {
- delete this;
-}
-
} // namespace content
diff --git a/content/renderer/web_ui_setup_impl.h b/content/renderer/web_ui_setup_impl.h
index 1bfc6ca..6523454 100644
--- a/content/renderer/web_ui_setup_impl.h
+++ b/content/renderer/web_ui_setup_impl.h
@@ -7,30 +7,23 @@
#include "base/basictypes.h"
#include "content/common/web_ui_setup.mojom.h"
-#include "mojo/public/cpp/bindings/error_handler.h"
-#include "mojo/public/cpp/bindings/remote_ptr.h"
namespace content {
-class WebUISetupImpl : public WebUISetup,
- public mojo::ErrorHandler {
+class WebUISetupImpl : public mojo::InterfaceImpl<WebUISetup> {
public:
static void Bind(mojo::ScopedMessagePipeHandle handle);
private:
- explicit WebUISetupImpl(mojo::ScopedMessagePipeHandle handle);
- virtual ~WebUISetupImpl();
+ WebUISetupImpl() {}
+
+ virtual void OnConnectionError() OVERRIDE;
// WebUISetup methods:
virtual void SetWebUIHandle(
int32_t view_routing_id,
mojo::ScopedMessagePipeHandle web_ui_handle) OVERRIDE;
- // mojo::ErrorHandler methods:
- virtual void OnError() OVERRIDE;
-
- mojo::RemotePtr<WebUISetupClient> client_;
-
DISALLOW_COPY_AND_ASSIGN(WebUISetupImpl);
};
diff --git a/content/result_codes_java.target.darwin-arm.mk b/content/result_codes_java.target.darwin-arm.mk
index 8e52139..0947c77 100644
--- a/content/result_codes_java.target.darwin-arm.mk
+++ b/content/result_codes_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.darwin-arm64.mk b/content/result_codes_java.target.darwin-arm64.mk
index a57ad6e..d125a11 100644
--- a/content/result_codes_java.target.darwin-arm64.mk
+++ b/content/result_codes_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.darwin-mips.mk b/content/result_codes_java.target.darwin-mips.mk
index 773c4cd..4413f63 100644
--- a/content/result_codes_java.target.darwin-mips.mk
+++ b/content/result_codes_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.darwin-x86.mk b/content/result_codes_java.target.darwin-x86.mk
index ed345b9..c14ac1b 100644
--- a/content/result_codes_java.target.darwin-x86.mk
+++ b/content/result_codes_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.darwin-x86_64.mk b/content/result_codes_java.target.darwin-x86_64.mk
index c37fc9c..987436a 100644
--- a/content/result_codes_java.target.darwin-x86_64.mk
+++ b/content/result_codes_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.linux-arm.mk b/content/result_codes_java.target.linux-arm.mk
index 8e52139..0947c77 100644
--- a/content/result_codes_java.target.linux-arm.mk
+++ b/content/result_codes_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.linux-arm64.mk b/content/result_codes_java.target.linux-arm64.mk
index a57ad6e..d125a11 100644
--- a/content/result_codes_java.target.linux-arm64.mk
+++ b/content/result_codes_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.linux-mips.mk b/content/result_codes_java.target.linux-mips.mk
index 773c4cd..4413f63 100644
--- a/content/result_codes_java.target.linux-mips.mk
+++ b/content/result_codes_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.linux-x86.mk b/content/result_codes_java.target.linux-x86.mk
index ed345b9..c14ac1b 100644
--- a/content/result_codes_java.target.linux-x86.mk
+++ b/content/result_codes_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/result_codes_java.target.linux-x86_64.mk b/content/result_codes_java.target.linux-x86_64.mk
index c37fc9c..987436a 100644
--- a/content/result_codes_java.target.linux-x86_64.mk
+++ b/content/result_codes_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.darwin-arm.mk b/content/screen_orientation_values_java.target.darwin-arm.mk
index fc61918..955c6c5 100644
--- a/content/screen_orientation_values_java.target.darwin-arm.mk
+++ b/content/screen_orientation_values_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.darwin-arm64.mk b/content/screen_orientation_values_java.target.darwin-arm64.mk
index 5b24642..4decb62 100644
--- a/content/screen_orientation_values_java.target.darwin-arm64.mk
+++ b/content/screen_orientation_values_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.darwin-mips.mk b/content/screen_orientation_values_java.target.darwin-mips.mk
index a37a815..6af4d9e 100644
--- a/content/screen_orientation_values_java.target.darwin-mips.mk
+++ b/content/screen_orientation_values_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.darwin-x86.mk b/content/screen_orientation_values_java.target.darwin-x86.mk
index 673b0ef..bb8f665 100644
--- a/content/screen_orientation_values_java.target.darwin-x86.mk
+++ b/content/screen_orientation_values_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.darwin-x86_64.mk b/content/screen_orientation_values_java.target.darwin-x86_64.mk
index 377f27b..4338e37 100644
--- a/content/screen_orientation_values_java.target.darwin-x86_64.mk
+++ b/content/screen_orientation_values_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.linux-arm.mk b/content/screen_orientation_values_java.target.linux-arm.mk
index fc61918..955c6c5 100644
--- a/content/screen_orientation_values_java.target.linux-arm.mk
+++ b/content/screen_orientation_values_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.linux-arm64.mk b/content/screen_orientation_values_java.target.linux-arm64.mk
index 5b24642..4decb62 100644
--- a/content/screen_orientation_values_java.target.linux-arm64.mk
+++ b/content/screen_orientation_values_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.linux-mips.mk b/content/screen_orientation_values_java.target.linux-mips.mk
index a37a815..6af4d9e 100644
--- a/content/screen_orientation_values_java.target.linux-mips.mk
+++ b/content/screen_orientation_values_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.linux-x86.mk b/content/screen_orientation_values_java.target.linux-x86.mk
index 673b0ef..bb8f665 100644
--- a/content/screen_orientation_values_java.target.linux-x86.mk
+++ b/content/screen_orientation_values_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/screen_orientation_values_java.target.linux-x86_64.mk b/content/screen_orientation_values_java.target.linux-x86_64.mk
index 377f27b..4338e37 100644
--- a/content/screen_orientation_values_java.target.linux-x86_64.mk
+++ b/content/screen_orientation_values_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/shell/renderer/test_runner/WebTestProxy.cpp b/content/shell/renderer/test_runner/WebTestProxy.cpp
index 4295806..1a85a23 100644
--- a/content/shell/renderer/test_runner/WebTestProxy.cpp
+++ b/content/shell/renderer/test_runner/WebTestProxy.cpp
@@ -488,8 +488,9 @@
bitmap.info().fHeight);
SkCanvas canvas(bitmap);
DrawSelectionRect(&canvas);
- DCHECK(!m_compositeAndReadbackCallback.is_null());
- base::ResetAndReturn(&m_compositeAndReadbackCallback).Run(bitmap);
+ DCHECK(!m_compositeAndReadbackCallbacks.empty());
+ m_compositeAndReadbackCallbacks.front().Run(bitmap);
+ m_compositeAndReadbackCallbacks.pop_front();
}
void WebTestProxyBase::CapturePixelsAsync(
@@ -498,8 +499,7 @@
DCHECK(webWidget()->isAcceleratedCompositingActive());
DCHECK(!callback.is_null());
- DCHECK(m_compositeAndReadbackCallback.is_null());
- m_compositeAndReadbackCallback = callback;
+ m_compositeAndReadbackCallbacks.push_back(callback);
webWidget()->compositeAndReadbackAsync(this);
}
@@ -596,26 +596,43 @@
return m_canvas.get();
}
-void WebTestProxyBase::display(base::Closure callback)
-{
- const blink::WebSize& size = webWidget()->size();
- WebRect rect(0, 0, size.width, size.height);
- m_paintRect = rect;
- paintInvalidatedRegion();
+void WebTestProxyBase::DisplayForSoftwareMode(const base::Closure& callback) {
+ const blink::WebSize& size = webWidget()->size();
+ WebRect rect(0, 0, size.width, size.height);
+ m_paintRect = rect;
+ paintInvalidatedRegion();
- if (!callback.is_null())
- callback.Run();
+ if (!callback.is_null())
+ callback.Run();
}
-void WebTestProxyBase::displayAsyncThen(base::Closure callback)
-{
- // TODO(enne): When compositing, this should invoke a real rAF, paint,
- // and commit. For now, just make sure that displayAsync is actually
- // async so that callers can't depend on synchronous behavior.
- m_delegate->postTask(new ClosureTask(
- this,
- base::Bind(
- &WebTestProxyBase::display, base::Unretained(this), callback)));
+void WebTestProxyBase::DidDisplayAsync(const base::Closure& callback,
+ const SkBitmap& bitmap) {
+ // Verify we actually composited.
+ CHECK_NE(0, bitmap.info().fWidth);
+ CHECK_NE(0, bitmap.info().fHeight);
+ if (!callback.is_null())
+ callback.Run();
+}
+
+void WebTestProxyBase::displayAsyncThen(base::Closure callback) {
+ TRACE_EVENT0("shell", "WebTestProxyBase::displayAsyncThen");
+
+ // TODO(danakj): Remove when we have kForceCompositingMode everywhere.
+ if (!webWidget()->isAcceleratedCompositingActive()) {
+ TRACE_EVENT0("shell",
+ "WebTestProxyBase::displayAsyncThen "
+ "isAcceleratedCompositingActive false");
+ m_delegate->postTask(
+ new ClosureTask(this,
+ base::Bind(&WebTestProxyBase::DisplayForSoftwareMode,
+ base::Unretained(this),
+ callback)));
+ return;
+ }
+
+ CapturePixelsAsync(base::Bind(
+ &WebTestProxyBase::DidDisplayAsync, base::Unretained(this), callback));
}
void WebTestProxyBase::discardBackingStore()
diff --git a/content/shell/renderer/test_runner/WebTestProxy.h b/content/shell/renderer/test_runner/WebTestProxy.h
index 7ecb38a..adff595 100644
--- a/content/shell/renderer/test_runner/WebTestProxy.h
+++ b/content/shell/renderer/test_runner/WebTestProxy.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTPROXY_H_
#define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTPROXY_H_
+#include <deque>
#include <map>
#include <string>
@@ -109,7 +110,6 @@
void didCloseChooser();
bool isChooserShown();
- void display(base::Closure callback);
void displayAsyncThen(base::Closure callback);
void discardBackingStore();
@@ -195,6 +195,8 @@
void invalidateAll();
void animateNow();
void DrawSelectionRect(SkCanvas* canvas);
+ void DisplayForSoftwareMode(const base::Closure& callback);
+ void DidDisplayAsync(const base::Closure& callback, const SkBitmap& bitmap);
blink::WebWidget* webWidget();
@@ -214,7 +216,8 @@
bool m_animateScheduled;
std::map<unsigned, std::string> m_resourceIdentifierMap;
std::map<unsigned, blink::WebURLRequest> m_requestMap;
- base::Callback<void(const SkBitmap&)> m_compositeAndReadbackCallback;
+ std::deque<base::Callback<void(const SkBitmap&)> >
+ m_compositeAndReadbackCallbacks;
bool m_logConsoleOutput;
int m_chooserCount;
diff --git a/content/speech_recognition_error_java.target.darwin-arm.mk b/content/speech_recognition_error_java.target.darwin-arm.mk
index 27c7402..4f0bbaf 100644
--- a/content/speech_recognition_error_java.target.darwin-arm.mk
+++ b/content/speech_recognition_error_java.target.darwin-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.darwin-arm64.mk b/content/speech_recognition_error_java.target.darwin-arm64.mk
index 5a40b49..de843f2 100644
--- a/content/speech_recognition_error_java.target.darwin-arm64.mk
+++ b/content/speech_recognition_error_java.target.darwin-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.darwin-mips.mk b/content/speech_recognition_error_java.target.darwin-mips.mk
index c65f047..afe9b6b 100644
--- a/content/speech_recognition_error_java.target.darwin-mips.mk
+++ b/content/speech_recognition_error_java.target.darwin-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.darwin-x86.mk b/content/speech_recognition_error_java.target.darwin-x86.mk
index 4b15130..1b8207c 100644
--- a/content/speech_recognition_error_java.target.darwin-x86.mk
+++ b/content/speech_recognition_error_java.target.darwin-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.darwin-x86_64.mk b/content/speech_recognition_error_java.target.darwin-x86_64.mk
index b21a358..b0a1299 100644
--- a/content/speech_recognition_error_java.target.darwin-x86_64.mk
+++ b/content/speech_recognition_error_java.target.darwin-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.linux-arm.mk b/content/speech_recognition_error_java.target.linux-arm.mk
index 27c7402..4f0bbaf 100644
--- a/content/speech_recognition_error_java.target.linux-arm.mk
+++ b/content/speech_recognition_error_java.target.linux-arm.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.linux-arm64.mk b/content/speech_recognition_error_java.target.linux-arm64.mk
index 5a40b49..de843f2 100644
--- a/content/speech_recognition_error_java.target.linux-arm64.mk
+++ b/content/speech_recognition_error_java.target.linux-arm64.mk
@@ -89,6 +89,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -169,6 +170,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.linux-mips.mk b/content/speech_recognition_error_java.target.linux-mips.mk
index c65f047..afe9b6b 100644
--- a/content/speech_recognition_error_java.target.linux-mips.mk
+++ b/content/speech_recognition_error_java.target.linux-mips.mk
@@ -92,6 +92,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -176,6 +177,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.linux-x86.mk b/content/speech_recognition_error_java.target.linux-x86.mk
index 4b15130..1b8207c 100644
--- a/content/speech_recognition_error_java.target.linux-x86.mk
+++ b/content/speech_recognition_error_java.target.linux-x86.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/speech_recognition_error_java.target.linux-x86_64.mk b/content/speech_recognition_error_java.target.linux-x86_64.mk
index b21a358..b0a1299 100644
--- a/content/speech_recognition_error_java.target.linux-x86_64.mk
+++ b/content/speech_recognition_error_java.target.linux-x86_64.mk
@@ -93,6 +93,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -177,6 +178,7 @@
'-DCLD_VERSION=1' \
'-DENABLE_PRINTING=1' \
'-DENABLE_MANAGED_USERS=1' \
+ '-DVIDEO_HOLE=1' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
diff --git a/content/test/data/web_ui_test_mojo_bindings.mojom b/content/test/data/web_ui_test_mojo_bindings.mojom
index 67d5983..9cac34e 100644
--- a/content/test/data/web_ui_test_mojo_bindings.mojom
+++ b/content/test/data/web_ui_test_mojo_bindings.mojom
@@ -1,11 +1,14 @@
-module mojo {
+// Copyright 2014 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.
-[Peer=RendererTarget]
+module content {
+
interface BrowserTarget {
PingResponse();
};
-[Peer=BrowserTarget]
+[Client=BrowserTarget]
interface RendererTarget {
Ping();
};