Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Unified Diff: content/browser/web_contents/web_contents_impl.cc

Issue 240163005: Deliver IPC messages together with SwapCompositorFrame (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: use IPC? Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 b27d4c18054559bae0f200ac560483fec23d364b..3fb6d5049054d4252ec4d9817bbbd754e970daf9 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1294,6 +1294,16 @@ gfx::NativeViewAccessible WebContentsImpl::GetParentNativeViewAccessible() {
}
#endif
+void WebContentsImpl::DispatchMessageWithSwapFrame(const IPC::Message&) {
mkosiba (inactive) 2014/05/06 22:30:33 the web contents would just re-broadcast to all of
+ ObserverListBase<WebContentsObserver>::Iterator it(observers_);
+ WebContentsObserver* observer;
+ while ((observer = it.GetNext()) != NULL) {
+ // Would it be better to just call observer->OnMessageReceived?
+ if (observer->DispatchMessageWithSwapFrame(message))
+ return true;
+ }
+}
+
void WebContentsImpl::HandleMouseDown() {
if (delegate_)
delegate_->HandleMouseDown();
@@ -2843,8 +2853,6 @@ void WebContentsImpl::OnMediaPausedNotification(int64 player_cookie) {
}
void WebContentsImpl::OnFirstVisuallyNonEmptyPaint(int32 page_id) {
- FOR_EACH_OBSERVER(WebContentsObserver, observers_,
- DidFirstVisuallyNonEmptyPaint(page_id));
}
void WebContentsImpl::DidChangeVisibleSSLState() {
@@ -3865,6 +3873,17 @@ bool WebContentsImpl::IsHidden() {
return capturer_count_ == 0 && !should_normally_be_visible_;
}
+void WebContentsImpl::WidgetVisibleStateChanged(
+ int32 page_id,
+ WidgetVisibleState widget_visible_state) {
+ if (widget_visible_state ==
+ WIDGET_VISIBLE_STATE_FIRST_VISUALLY_NON_EMPTY_LAYOUT) {
+ FOR_EACH_OBSERVER(WebContentsObserver,
+ observers_,
+ DidFirstVisuallyNonEmptyPaint(page_id));
+ }
+}
+
RenderFrameHostManager* WebContentsImpl::GetRenderManager() const {
return frame_tree_.root()->render_manager();
}

Powered by Google App Engine
This is Rietveld 408576698