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

Side by Side Diff: blimp/client/core/render_widget/render_widget_feature.cc

Issue 2313133002: Fix crashers and issues when rendering blimp in tabs (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "blimp/client/core/render_widget/render_widget_feature.h" 5 #include "blimp/client/core/render_widget/render_widget_feature.h"
6 6
7 #include "base/numerics/safe_conversions.h" 7 #include "base/numerics/safe_conversions.h"
8 #include "blimp/common/create_blimp_message.h" 8 #include "blimp/common/create_blimp_message.h"
9 #include "blimp/common/proto/blimp_message.pb.h" 9 #include "blimp/common/proto/blimp_message.pb.h"
10 #include "blimp/common/proto/compositor.pb.h" 10 #include "blimp/common/proto/compositor.pb.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 81
82 void RenderWidgetFeature::ProcessMessage( 82 void RenderWidgetFeature::ProcessMessage(
83 std::unique_ptr<BlimpMessage> message, 83 std::unique_ptr<BlimpMessage> message,
84 const net::CompletionCallback& callback) { 84 const net::CompletionCallback& callback) {
85 DCHECK(!callback.is_null()); 85 DCHECK(!callback.is_null());
86 DCHECK(BlimpMessage::kRenderWidget == message->feature_case() || 86 DCHECK(BlimpMessage::kRenderWidget == message->feature_case() ||
87 BlimpMessage::kCompositor == message->feature_case()); 87 BlimpMessage::kCompositor == message->feature_case());
88 88
89 int target_tab_id = message->target_tab_id(); 89 int target_tab_id = message->target_tab_id();
90 RenderWidgetFeatureDelegate* delegate = FindDelegate(target_tab_id); 90 RenderWidgetFeatureDelegate* delegate = FindDelegate(target_tab_id);
91 DCHECK(delegate) << "RenderWidgetFeatureDelegate not found for " 91 if (!delegate) {
92 << target_tab_id; 92 VLOG(1) << "RenderWidgetFeatureDelegate not found for " << target_tab_id
93 << ". Ignoring.";
94 callback.Run(net::OK);
95 return;
96 }
93 97
94 switch (message->feature_case()) { 98 switch (message->feature_case()) {
95 case BlimpMessage::kRenderWidget: 99 case BlimpMessage::kRenderWidget:
96 ProcessRenderWidgetMessage(delegate, message->render_widget()); 100 ProcessRenderWidgetMessage(delegate, message->render_widget());
97 break; 101 break;
98 case BlimpMessage::kCompositor: 102 case BlimpMessage::kCompositor:
99 ProcessCompositorMessage(delegate, message->compositor()); 103 ProcessCompositorMessage(delegate, message->compositor());
100 break; 104 break;
101 default: 105 default:
102 NOTREACHED(); 106 NOTREACHED();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 RenderWidgetFeature::RenderWidgetFeatureDelegate* 146 RenderWidgetFeature::RenderWidgetFeatureDelegate*
143 RenderWidgetFeature::FindDelegate(const int tab_id) { 147 RenderWidgetFeature::FindDelegate(const int tab_id) {
144 DelegateMap::const_iterator it = delegates_.find(tab_id); 148 DelegateMap::const_iterator it = delegates_.find(tab_id);
145 if (it != delegates_.end()) 149 if (it != delegates_.end())
146 return it->second; 150 return it->second;
147 return nullptr; 151 return nullptr;
148 } 152 }
149 153
150 } // namespace client 154 } // namespace client
151 } // namespace blimp 155 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/client/core/contents/tab_control_feature_unittest.cc ('k') | chrome/browser/android/tab_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698