OLD | NEW |
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/external_protocol_dialog.h" | 5 #include "chrome/browser/ui/views/external_protocol_dialog.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 } // namespace | 29 } // namespace |
30 | 30 |
31 /////////////////////////////////////////////////////////////////////////////// | 31 /////////////////////////////////////////////////////////////////////////////// |
32 // ExternalProtocolHandler | 32 // ExternalProtocolHandler |
33 | 33 |
34 // static | 34 // static |
35 void ExternalProtocolHandler::RunExternalProtocolDialog( | 35 void ExternalProtocolHandler::RunExternalProtocolDialog( |
36 const GURL& url, int render_process_host_id, int routing_id, | 36 const GURL& url, int render_process_host_id, int routing_id, |
37 ui::PageTransition page_transition, bool has_user_gesture) { | 37 ui::PageTransition page_transition, bool has_user_gesture) { |
38 scoped_ptr<ExternalProtocolDialogDelegate> delegate( | 38 std::unique_ptr<ExternalProtocolDialogDelegate> delegate( |
39 new ExternalProtocolDialogDelegate(url, | 39 new ExternalProtocolDialogDelegate(url, render_process_host_id, |
40 render_process_host_id, | |
41 routing_id)); | 40 routing_id)); |
42 if (delegate->program_name().empty()) { | 41 if (delegate->program_name().empty()) { |
43 // ShellExecute won't do anything. Don't bother warning the user. | 42 // ShellExecute won't do anything. Don't bother warning the user. |
44 return; | 43 return; |
45 } | 44 } |
46 | 45 |
47 // Windowing system takes ownership. | 46 // Windowing system takes ownership. |
48 new ExternalProtocolDialog(std::move(delegate), render_process_host_id, | 47 new ExternalProtocolDialog(std::move(delegate), render_process_host_id, |
49 routing_id); | 48 routing_id); |
50 } | 49 } |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 } | 116 } |
118 | 117 |
119 ui::ModalType ExternalProtocolDialog::GetModalType() const { | 118 ui::ModalType ExternalProtocolDialog::GetModalType() const { |
120 return ui::MODAL_TYPE_CHILD; | 119 return ui::MODAL_TYPE_CHILD; |
121 } | 120 } |
122 | 121 |
123 /////////////////////////////////////////////////////////////////////////////// | 122 /////////////////////////////////////////////////////////////////////////////// |
124 // ExternalProtocolDialog, private: | 123 // ExternalProtocolDialog, private: |
125 | 124 |
126 ExternalProtocolDialog::ExternalProtocolDialog( | 125 ExternalProtocolDialog::ExternalProtocolDialog( |
127 scoped_ptr<const ProtocolDialogDelegate> delegate, | 126 std::unique_ptr<const ProtocolDialogDelegate> delegate, |
128 int render_process_host_id, | 127 int render_process_host_id, |
129 int routing_id) | 128 int routing_id) |
130 : delegate_(std::move(delegate)), | 129 : delegate_(std::move(delegate)), |
131 render_process_host_id_(render_process_host_id), | 130 render_process_host_id_(render_process_host_id), |
132 routing_id_(routing_id), | 131 routing_id_(routing_id), |
133 creation_time_(base::TimeTicks::Now()) { | 132 creation_time_(base::TimeTicks::Now()) { |
134 views::MessageBoxView::InitParams params(delegate_->GetMessageText()); | 133 views::MessageBoxView::InitParams params(delegate_->GetMessageText()); |
135 params.message_width = kMessageWidth; | 134 params.message_width = kMessageWidth; |
136 message_box_view_ = new views::MessageBoxView(params); | 135 message_box_view_ = new views::MessageBoxView(params); |
137 message_box_view_->SetCheckBoxLabel(delegate_->GetCheckboxText()); | 136 message_box_view_->SetCheckBoxLabel(delegate_->GetCheckboxText()); |
138 | 137 |
139 WebContents* web_contents = tab_util::GetWebContentsByID( | 138 WebContents* web_contents = tab_util::GetWebContentsByID( |
140 render_process_host_id_, routing_id_); | 139 render_process_host_id_, routing_id_); |
141 // Only launch the dialog if there is a web contents associated with the | 140 // Only launch the dialog if there is a web contents associated with the |
142 // request. | 141 // request. |
143 if (web_contents) | 142 if (web_contents) |
144 constrained_window::ShowWebModalDialogViews(this, web_contents); | 143 constrained_window::ShowWebModalDialogViews(this, web_contents); |
145 } | 144 } |
OLD | NEW |