| Index: content/browser/web_contents/web_contents_impl.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
| index b02984b877e81175d44226033125e7bff05f4c42..3e0407ed6b2f2f913650e35f660d0a26c2aff40d 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -510,6 +510,8 @@ bool WebContentsImpl::OnMessageReceived(RenderViewHost* render_view_host,
|
| OnMediaPlayingNotification)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_MediaPausedNotification,
|
| OnMediaPausedNotification)
|
| + IPC_MESSAGE_HANDLER(FrameHostMsg_WidgetVisibleStateChanged,
|
| + OnWidgetVisibleStateChanged)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DidLoadResourceFromMemoryCache,
|
| OnDidLoadResourceFromMemoryCache)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DidDisplayInsecureContent,
|
| @@ -1692,6 +1694,15 @@ void WebContentsImpl::OnMoveValidationMessage(
|
| delegate_->MoveValidationMessage(this, anchor_in_root_view);
|
| }
|
|
|
| +void WebContentsImpl::OnWidgetVisibleStateChanged(
|
| + WidgetVisibleState widget_visible_state) {
|
| + if (widget_visible_state ==
|
| + WIDGET_VISIBLE_STATE_FIRST_VISUALLY_NON_EMPTY_LAYOUT) {
|
| + FOR_EACH_OBSERVER(
|
| + WebContentsObserver, observers_, DidFirstVisuallyNonEmptyPaint());
|
| + }
|
| +}
|
| +
|
| void WebContentsImpl::DidSendScreenRects(RenderWidgetHostImpl* rwh) {
|
| if (browser_plugin_embedder_)
|
| browser_plugin_embedder_->DidSendScreenRects();
|
|
|