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

Side by Side Diff: chrome/browser/ui/views/sad_tab_view.cc

Issue 137993009: Remove more non-aura windows code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: renable the disabled tests Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/views/sad_tab_view.h" 5 #include "chrome/browser/ui/views/sad_tab_view.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 229
230 void SadTabView::Show() { 230 void SadTabView::Show() {
231 views::Widget::InitParams sad_tab_params( 231 views::Widget::InitParams sad_tab_params(
232 views::Widget::InitParams::TYPE_CONTROL); 232 views::Widget::InitParams::TYPE_CONTROL);
233 233
234 // It is not possible to create a native_widget_win that has no parent in 234 // It is not possible to create a native_widget_win that has no parent in
235 // and later re-parent it. 235 // and later re-parent it.
236 // TODO(avi): This is a cheat. Can this be made cleaner? 236 // TODO(avi): This is a cheat. Can this be made cleaner?
237 sad_tab_params.parent = web_contents_->GetView()->GetNativeView(); 237 sad_tab_params.parent = web_contents_->GetView()->GetNativeView();
238 238
239 #if defined(OS_WIN) && !defined(USE_AURA)
240 // Crash data indicates we can get here when the parent is no longer valid.
241 // Attempting to create a child window with a bogus parent crashes. So, we
242 // don't show a sad tab in this case in hopes the tab is in the process of
243 // shutting down.
244 if (!IsWindow(sad_tab_params.parent))
245 return;
246 #endif
247
248 set_owned_by_client(); 239 set_owned_by_client();
249 240
250 views::Widget* sad_tab = new views::Widget; 241 views::Widget* sad_tab = new views::Widget;
251 sad_tab->Init(sad_tab_params); 242 sad_tab->Init(sad_tab_params);
252 sad_tab->SetContentsView(this); 243 sad_tab->SetContentsView(this);
253 244
254 views::Widget::ReparentNativeView(sad_tab->GetNativeView(), 245 views::Widget::ReparentNativeView(sad_tab->GetNativeView(),
255 web_contents_->GetView()->GetNativeView()); 246 web_contents_->GetView()->GetNativeView());
256 gfx::Rect bounds; 247 gfx::Rect bounds;
257 web_contents_->GetView()->GetContainerBounds(&bounds); 248 web_contents_->GetView()->GetContainerBounds(&bounds);
(...skipping 21 matching lines...) Expand all
279 } 270 }
280 271
281 namespace chrome { 272 namespace chrome {
282 273
283 SadTab* SadTab::Create(content::WebContents* web_contents, 274 SadTab* SadTab::Create(content::WebContents* web_contents,
284 SadTabKind kind) { 275 SadTabKind kind) {
285 return new SadTabView(web_contents, kind); 276 return new SadTabView(web_contents, kind);
286 } 277 }
287 278
288 } // namespace chrome 279 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698