OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/desktop_capture/desktop_media_picker_views.h" | 5 #include "chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "chrome/browser/media/desktop_media_list.h" | 9 #include "chrome/browser/media/desktop_media_list.h" |
| 10 #include "chrome/browser/ui/browser_finder.h" |
| 11 #include "chrome/browser/ui/browser_window.h" |
10 #include "chrome/browser/ui/views/desktop_capture/desktop_media_list_view.h" | 12 #include "chrome/browser/ui/views/desktop_capture/desktop_media_list_view.h" |
11 #include "chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h" | 13 #include "chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h" |
12 #include "chrome/browser/ui/views/desktop_media_picker_views_deprecated.h" | 14 #include "chrome/browser/ui/views/desktop_media_picker_views_deprecated.h" |
13 #include "chrome/grit/chromium_strings.h" | 15 #include "chrome/grit/chromium_strings.h" |
14 #include "chrome/grit/generated_resources.h" | 16 #include "chrome/grit/generated_resources.h" |
15 #include "chrome/grit/google_chrome_strings.h" | 17 #include "chrome/grit/google_chrome_strings.h" |
16 #include "components/constrained_window/constrained_window_views.h" | 18 #include "components/constrained_window/constrained_window_views.h" |
17 #include "components/web_modal/web_contents_modal_dialog_manager.h" | 19 #include "components/web_modal/web_contents_modal_dialog_manager.h" |
18 #include "content/public/browser/browser_thread.h" | 20 #include "content/public/browser/browser_thread.h" |
19 #include "content/public/browser/render_frame_host.h" | 21 #include "content/public/browser/render_frame_host.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 DesktopMediaSourceView* selection = | 310 DesktopMediaSourceView* selection = |
309 list_views_[pane_->selected_tab_index()]->GetSelection(); | 311 list_views_[pane_->selected_tab_index()]->GetSelection(); |
310 | 312 |
311 // Ok button should only be enabled when a source is selected. | 313 // Ok button should only be enabled when a source is selected. |
312 DCHECK(selection); | 314 DCHECK(selection); |
313 DesktopMediaID source = selection->source_id(); | 315 DesktopMediaID source = selection->source_id(); |
314 source.audio_share = audio_share_checkbox_ && | 316 source.audio_share = audio_share_checkbox_ && |
315 audio_share_checkbox_->visible() && | 317 audio_share_checkbox_->visible() && |
316 audio_share_checkbox_->checked(); | 318 audio_share_checkbox_->checked(); |
317 | 319 |
318 // If the media source is an tab, activate it. | |
319 if (source.type == DesktopMediaID::TYPE_WEB_CONTENTS) { | 320 if (source.type == DesktopMediaID::TYPE_WEB_CONTENTS) { |
| 321 // Activate the selected tab and bring the browser window for the selected |
| 322 // tab to the front. |
320 content::WebContents* tab = content::WebContents::FromRenderFrameHost( | 323 content::WebContents* tab = content::WebContents::FromRenderFrameHost( |
321 content::RenderFrameHost::FromID( | 324 content::RenderFrameHost::FromID( |
322 source.web_contents_id.render_process_id, | 325 source.web_contents_id.render_process_id, |
323 source.web_contents_id.main_render_frame_id)); | 326 source.web_contents_id.main_render_frame_id)); |
324 if (tab) | 327 if (tab) { |
325 tab->GetDelegate()->ActivateContents(tab); | 328 tab->GetDelegate()->ActivateContents(tab); |
| 329 Browser* browser = chrome::FindBrowserWithWebContents(tab); |
| 330 if (browser && browser->window()) |
| 331 browser->window()->Activate(); |
| 332 } |
326 } | 333 } |
327 | 334 |
328 if (parent_) | 335 if (parent_) |
329 parent_->NotifyDialogResult(source); | 336 parent_->NotifyDialogResult(source); |
330 | 337 |
331 // Return true to close the window. | 338 // Return true to close the window. |
332 return true; | 339 return true; |
333 } | 340 } |
334 | 341 |
335 void DesktopMediaPickerDialogView::DeleteDelegate() { | 342 void DesktopMediaPickerDialogView::DeleteDelegate() { |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 | 438 |
432 // static | 439 // static |
433 std::unique_ptr<DesktopMediaPicker> DesktopMediaPicker::Create() { | 440 std::unique_ptr<DesktopMediaPicker> DesktopMediaPicker::Create() { |
434 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 441 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
435 extensions::switches::kDisableDesktopCapturePickerOldUI)) { | 442 extensions::switches::kDisableDesktopCapturePickerOldUI)) { |
436 return std::unique_ptr<DesktopMediaPicker>( | 443 return std::unique_ptr<DesktopMediaPicker>( |
437 new deprecated::DesktopMediaPickerViews()); | 444 new deprecated::DesktopMediaPickerViews()); |
438 } | 445 } |
439 return std::unique_ptr<DesktopMediaPicker>(new DesktopMediaPickerViews()); | 446 return std::unique_ptr<DesktopMediaPicker>(new DesktopMediaPickerViews()); |
440 } | 447 } |
OLD | NEW |