diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-03-12 09:13:00 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-03-16 09:58:26 +0000 |
commit | 03561cae90f1d99b5c54b1ef3be69f10e882b25e (patch) | |
tree | cc5f0958e823c044e7ae51cc0117fe51432abe5e /chromium/components/thin_webview | |
parent | fa98118a45f7e169f8846086dc2c22c49a8ba310 (diff) | |
download | qtwebengine-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')
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; } } |