interface ICoreWebView2Controller2

interface ICoreWebView2Controller2
  : public ICoreWebView2Controller

A continuation of the ICoreWebView2Controller interface.

Summary

Members Descriptions
get_DefaultBackgroundColor The DefaultBackgroundColor property is the color WebView renders underneath all web content.
put_DefaultBackgroundColor Sets the DefaultBackgroundColor property.

Applies to

Product Introduced
WebView2 Win32 1.0.774.44
WebView2 Win32 Prerelease 1.0.790

Members

get_DefaultBackgroundColor

The DefaultBackgroundColor property is the color WebView renders underneath all web content.

public HRESULT get_DefaultBackgroundColor(COREWEBVIEW2_COLOR * backgroundColor)

This means WebView renders this color when there is no web content loaded such as before the initial navigation or between navigations. This also means web pages with undefined css background properties or background properties containing transparent pixels will render their contents over this color. Web pages with defined and opaque background properties that span the page will obscure the DefaultBackgroundColor and display normally. The default value for this property is white to resemble the native browser experience.

The Color is specified by the COREWEBVIEW2_COLOR that represents an RGBA value. The A represents an Alpha value, meaning DefaultBackgroundColor can be transparent. In the case of a transparent DefaultBackgroundColor WebView will render hosting app content as the background.

Semi-transparent colors are not currently supported by this API and setting DefaultBackgroundColor to a semi-transparent color will fail with E_INVALIDARG. The only supported alpha values are 0 and 255, all other values will result in E_INVALIDARG. DefaultBackgroundColor can only be an opaque color or transparent.

void ViewComponent::SetBackgroundColor(COLORREF color, bool transparent)
{
    COREWEBVIEW2_COLOR wvColor;
    wvColor.R = GetRValue(color);
    wvColor.G = GetGValue(color);
    wvColor.B = GetBValue(color);
    wvColor.A = transparent ? 0 : 255;
    wil::com_ptr<ICoreWebView2Controller2> controller2 =
        m_controller.query<ICoreWebView2Controller2>();
    controller2->put_DefaultBackgroundColor(wvColor);
}

put_DefaultBackgroundColor

Sets the DefaultBackgroundColor property.

public HRESULT put_DefaultBackgroundColor(COREWEBVIEW2_COLOR backgroundColor)