Chromium Code Reviews| 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) { | |
|
msw
2016/06/02 22:31:43
optional nit: if (browser && browser->window()) br
GeorgeZ
2016/06/03 15:51:19
Done.
| |
| 331 BrowserWindow* window = browser->window(); | |
| 332 if (window) | |
| 333 window->Activate(); | |
| 334 } | |
| 335 } | |
| 326 } | 336 } |
| 327 | 337 |
| 328 if (parent_) | 338 if (parent_) |
| 329 parent_->NotifyDialogResult(source); | 339 parent_->NotifyDialogResult(source); |
| 330 | 340 |
| 331 // Return true to close the window. | 341 // Return true to close the window. |
| 332 return true; | 342 return true; |
| 333 } | 343 } |
| 334 | 344 |
| 335 void DesktopMediaPickerDialogView::DeleteDelegate() { | 345 void DesktopMediaPickerDialogView::DeleteDelegate() { |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 431 | 441 |
| 432 // static | 442 // static |
| 433 std::unique_ptr<DesktopMediaPicker> DesktopMediaPicker::Create() { | 443 std::unique_ptr<DesktopMediaPicker> DesktopMediaPicker::Create() { |
| 434 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 444 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 435 extensions::switches::kDisableDesktopCapturePickerOldUI)) { | 445 extensions::switches::kDisableDesktopCapturePickerOldUI)) { |
| 436 return std::unique_ptr<DesktopMediaPicker>( | 446 return std::unique_ptr<DesktopMediaPicker>( |
| 437 new deprecated::DesktopMediaPickerViews()); | 447 new deprecated::DesktopMediaPickerViews()); |
| 438 } | 448 } |
| 439 return std::unique_ptr<DesktopMediaPicker>(new DesktopMediaPickerViews()); | 449 return std::unique_ptr<DesktopMediaPicker>(new DesktopMediaPickerViews()); |
| 440 } | 450 } |
| OLD | NEW |