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

Side by Side Diff: components/constrained_window/constrained_window_views.cc

Issue 1432143002: Track where WebContents are created in order to better understand issue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 (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 "components/constrained_window/constrained_window_views.h" 5 #include "components/constrained_window/constrained_window_views.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "components/constrained_window/constrained_window_views_client.h" 9 #include "components/constrained_window/constrained_window_views_client.h"
10 #include "components/guest_view/browser/guest_view_base.h" 10 #include "components/guest_view/browser/guest_view_base.h"
11 #include "components/web_modal/web_contents_modal_dialog_host.h" 11 #include "components/web_modal/web_contents_modal_dialog_host.h"
12 #include "components/web_modal/web_contents_modal_dialog_manager.h" 12 #include "components/web_modal/web_contents_modal_dialog_manager.h"
13 #include "components/web_modal/web_contents_modal_dialog_manager_delegate.h" 13 #include "components/web_modal/web_contents_modal_dialog_manager_delegate.h"
14 #include "content/public/browser/web_contents_source.h"
14 #include "ui/views/border.h" 15 #include "ui/views/border.h"
15 #include "ui/views/widget/widget.h" 16 #include "ui/views/widget/widget.h"
16 #include "ui/views/widget/widget_observer.h" 17 #include "ui/views/widget/widget_observer.h"
17 #include "ui/views/window/dialog_delegate.h" 18 #include "ui/views/window/dialog_delegate.h"
18 19
19 using web_modal::ModalDialogHost; 20 using web_modal::ModalDialogHost;
20 using web_modal::ModalDialogHostObserver; 21 using web_modal::ModalDialogHostObserver;
21 22
22 namespace constrained_window { 23 namespace constrained_window {
23 namespace { 24 namespace {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 content::WebContents* web_contents = 140 content::WebContents* web_contents =
140 guest_view::GuestViewBase::GetTopLevelWebContents(initiator_web_contents); 141 guest_view::GuestViewBase::GetTopLevelWebContents(initiator_web_contents);
141 views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents); 142 views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents);
142 web_modal::WebContentsModalDialogManager::FromWebContents(web_contents) 143 web_modal::WebContentsModalDialogManager::FromWebContents(web_contents)
143 ->ShowModalDialog(widget->GetNativeWindow()); 144 ->ShowModalDialog(widget->GetNativeWindow());
144 return widget; 145 return widget;
145 } 146 }
146 147
147 views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog, 148 views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
148 content::WebContents* web_contents) { 149 content::WebContents* web_contents) {
150 // Code to help trace the source of http://crbug.com/538612
151 WebContentsSource* web_contents_creation_site =
152 WebContentsSource::FromWebContents(web_contents);
153 tracked_objects::Location created_location;
154 if (web_contents_creation_site)
155 created_location = web_contents_creation_site->created_location();
156 base::debug::Alias(&created_location);
Mike Wittman 2015/11/11 17:15:28 needs an #include
hcarmona 2015/11/11 19:57:58 Done.
157 CHECK(
158 web_modal::WebContentsModalDialogManager::FromWebContents(web_contents));
159
149 DCHECK_EQ(ui::MODAL_TYPE_CHILD, dialog->GetModalType()); 160 DCHECK_EQ(ui::MODAL_TYPE_CHILD, dialog->GetModalType());
150 return views::DialogDelegate::CreateDialogWidget( 161 return views::DialogDelegate::CreateDialogWidget(
151 dialog, nullptr, 162 dialog, nullptr,
152 web_modal::WebContentsModalDialogManager::FromWebContents(web_contents) 163 web_modal::WebContentsModalDialogManager::FromWebContents(web_contents)
153 ->delegate() 164 ->delegate()
154 ->GetWebContentsModalDialogHost() 165 ->GetWebContentsModalDialogHost()
155 ->GetHostView()); 166 ->GetHostView());
156 } 167 }
157 168
158 views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, 169 views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
(...skipping 25 matching lines...) Expand all
184 DCHECK_EQ(parent_view, host->GetHostView()); 195 DCHECK_EQ(parent_view, host->GetHostView());
185 ModalDialogHostObserver* dialog_host_observer = 196 ModalDialogHostObserver* dialog_host_observer =
186 new WidgetModalDialogHostObserverViews( 197 new WidgetModalDialogHostObserverViews(
187 host, widget, kWidgetModalDialogHostObserverViewsKey); 198 host, widget, kWidgetModalDialogHostObserverViewsKey);
188 dialog_host_observer->OnPositionRequiresUpdate(); 199 dialog_host_observer->OnPositionRequiresUpdate();
189 } 200 }
190 return widget; 201 return widget;
191 } 202 }
192 203
193 } // namespace constrained window 204 } // namespace constrained window
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698