summaryrefslogtreecommitdiff
path: root/chromium/components/thin_webview
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-12 09:13:00 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-16 09:58:26 +0000
commit03561cae90f1d99b5c54b1ef3be69f10e882b25e (patch)
treecc5f0958e823c044e7ae51cc0117fe51432abe5e /chromium/components/thin_webview
parentfa98118a45f7e169f8846086dc2c22c49a8ba310 (diff)
downloadqtwebengine-chromium-03561cae90f1d99b5c54b1ef3be69f10e882b25e.tar.gz
BASELINE: Update Chromium to 88.0.4324.208
Change-Id: I3ae87d23e4eff4b4a469685658740a213600c667 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/thin_webview')
-rw-r--r--chromium/components/thin_webview/internal/compositor_view_impl.cc17
-rw-r--r--chromium/components/thin_webview/internal/compositor_view_impl.h3
-rw-r--r--chromium/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/CompositorViewImpl.java6
-rw-r--r--chromium/components/thin_webview/java/src/org/chromium/components/thinwebview/ThinWebViewConstraints.java8
4 files changed, 22 insertions, 12 deletions
diff --git a/chromium/components/thin_webview/internal/compositor_view_impl.cc b/chromium/components/thin_webview/internal/compositor_view_impl.cc
index f4e87c60545..7a4a064c5d4 100644
--- a/chromium/components/thin_webview/internal/compositor_view_impl.cc
+++ b/chromium/components/thin_webview/internal/compositor_view_impl.cc
@@ -24,14 +24,14 @@ namespace {
const int kPixelFormatUnknown = 0;
} // namespace
-jlong JNI_CompositorViewImpl_Init(
- JNIEnv* env,
- const JavaParamRef<jobject>& obj,
- const JavaParamRef<jobject>& jwindow_android) {
+jlong JNI_CompositorViewImpl_Init(JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ const JavaParamRef<jobject>& jwindow_android,
+ jint java_background_color) {
ui::WindowAndroid* window_android =
ui::WindowAndroid::FromJavaWindowAndroid(jwindow_android);
- auto compositor_view =
- std::make_unique<CompositorViewImpl>(env, obj, window_android);
+ auto compositor_view = std::make_unique<CompositorViewImpl>(
+ env, obj, window_android, java_background_color);
return reinterpret_cast<intptr_t>(compositor_view.release());
}
@@ -48,13 +48,14 @@ CompositorView* CompositorView::FromJavaObject(
CompositorViewImpl::CompositorViewImpl(JNIEnv* env,
jobject obj,
- ui::WindowAndroid* window_android)
+ ui::WindowAndroid* window_android,
+ int64_t java_background_color)
: obj_(env, obj),
root_layer_(cc::SolidColorLayer::Create()),
current_surface_format_(kPixelFormatUnknown) {
compositor_.reset(content::Compositor::Create(this, window_android));
root_layer_->SetIsDrawable(true);
- root_layer_->SetBackgroundColor(SK_ColorWHITE);
+ root_layer_->SetBackgroundColor(static_cast<SkColor>(java_background_color));
}
CompositorViewImpl::~CompositorViewImpl() = default;
diff --git a/chromium/components/thin_webview/internal/compositor_view_impl.h b/chromium/components/thin_webview/internal/compositor_view_impl.h
index 28a12e52827..509f57a22f4 100644
--- a/chromium/components/thin_webview/internal/compositor_view_impl.h
+++ b/chromium/components/thin_webview/internal/compositor_view_impl.h
@@ -35,7 +35,8 @@ class CompositorViewImpl : public CompositorView,
public:
CompositorViewImpl(JNIEnv* env,
jobject obj,
- ui::WindowAndroid* window_android);
+ ui::WindowAndroid* window_android,
+ int64_t java_background_color);
~CompositorViewImpl() override;
void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& object);
diff --git a/chromium/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/CompositorViewImpl.java b/chromium/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/CompositorViewImpl.java
index f1acb9f37f6..5d208b4a4c6 100644
--- a/chromium/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/CompositorViewImpl.java
+++ b/chromium/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/CompositorViewImpl.java
@@ -45,8 +45,8 @@ public class CompositorViewImpl implements CompositorView {
mContext = context;
mViewConstraints = constraints.clone();
mView = useSurfaceView() ? createSurfaceView() : createTextureView();
- mNativeCompositorViewImpl =
- CompositorViewImplJni.get().init(CompositorViewImpl.this, windowAndroid);
+ mNativeCompositorViewImpl = CompositorViewImplJni.get().init(
+ CompositorViewImpl.this, windowAndroid, constraints.backgroundColor);
}
@Override
@@ -168,7 +168,7 @@ public class CompositorViewImpl implements CompositorView {
@NativeMethods
interface Natives {
- long init(CompositorViewImpl caller, WindowAndroid windowAndroid);
+ long init(CompositorViewImpl caller, WindowAndroid windowAndroid, int backgroundColor);
void destroy(long nativeCompositorViewImpl, CompositorViewImpl caller);
void surfaceCreated(long nativeCompositorViewImpl, CompositorViewImpl caller);
void surfaceDestroyed(long nativeCompositorViewImpl, CompositorViewImpl caller);
diff --git a/chromium/components/thin_webview/java/src/org/chromium/components/thinwebview/ThinWebViewConstraints.java b/chromium/components/thin_webview/java/src/org/chromium/components/thinwebview/ThinWebViewConstraints.java
index d90c27dc07f..6f1cd3aa65f 100644
--- a/chromium/components/thin_webview/java/src/org/chromium/components/thinwebview/ThinWebViewConstraints.java
+++ b/chromium/components/thin_webview/java/src/org/chromium/components/thinwebview/ThinWebViewConstraints.java
@@ -4,6 +4,8 @@
package org.chromium.components.thinwebview;
+import android.graphics.Color;
+
/** Various constraints associated with the thin webview based on the usage. */
public class ThinWebViewConstraints implements Cloneable {
/**
@@ -11,10 +13,16 @@ public class ThinWebViewConstraints implements Cloneable {
*/
public boolean supportsOpacity;
+ /**
+ * Background color of this view.
+ */
+ public int backgroundColor = Color.WHITE;
+
@Override
public ThinWebViewConstraints clone() {
ThinWebViewConstraints clone = new ThinWebViewConstraints();
clone.supportsOpacity = supportsOpacity;
+ clone.backgroundColor = backgroundColor;
return clone;
}
}