| 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/tabs/tab_strip_model.h" | 5 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 class TabStripModelTestIDUserData : public base::SupportsUserData::Data { | 97 class TabStripModelTestIDUserData : public base::SupportsUserData::Data { |
| 98 public: | 98 public: |
| 99 explicit TabStripModelTestIDUserData(int id) : id_(id) {} | 99 explicit TabStripModelTestIDUserData(int id) : id_(id) {} |
| 100 virtual ~TabStripModelTestIDUserData() {} | 100 virtual ~TabStripModelTestIDUserData() {} |
| 101 int id() { return id_; } | 101 int id() { return id_; } |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 int id_; | 104 int id_; |
| 105 }; | 105 }; |
| 106 | 106 |
| 107 class DummyNativeWebContentsModalDialogManager | 107 class DummySingleWebContentsDialogManager |
| 108 : public web_modal::NativeWebContentsModalDialogManager { | 108 : public web_modal::SingleWebContentsDialogManager { |
| 109 public: | 109 public: |
| 110 explicit DummyNativeWebContentsModalDialogManager( | 110 explicit DummySingleWebContentsDialogManager( |
| 111 web_modal::NativeWebContentsModalDialogManagerDelegate* delegate) | 111 web_modal::SingleWebContentsDialogManagerDelegate* delegate) |
| 112 : delegate_(delegate) {} | 112 : delegate_(delegate) {} |
| 113 virtual ~DummyNativeWebContentsModalDialogManager() {} | 113 virtual ~DummySingleWebContentsDialogManager() {} |
| 114 | 114 |
| 115 virtual void ManageDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} | 115 virtual void ManageDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} |
| 116 virtual void ShowDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} | 116 virtual void ShowDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} |
| 117 virtual void HideDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} | 117 virtual void HideDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} |
| 118 virtual void CloseDialog(NativeWebContentsModalDialog dialog) OVERRIDE { | 118 virtual void CloseDialog(NativeWebContentsModalDialog dialog) OVERRIDE { |
| 119 delegate_->WillClose(dialog); | 119 delegate_->WillClose(dialog); |
| 120 } | 120 } |
| 121 virtual void FocusDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} | 121 virtual void FocusDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} |
| 122 virtual void PulseDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} | 122 virtual void PulseDialog(NativeWebContentsModalDialog dialog) OVERRIDE {} |
| 123 virtual void HostChanged( | 123 virtual void HostChanged( |
| 124 web_modal::WebContentsModalDialogHost* new_host) OVERRIDE {} | 124 web_modal::WebContentsModalDialogHost* new_host) OVERRIDE {} |
| 125 | 125 |
| 126 private: | 126 private: |
| 127 web_modal::NativeWebContentsModalDialogManagerDelegate* delegate_; | 127 web_modal::SingleWebContentsDialogManagerDelegate* delegate_; |
| 128 | 128 |
| 129 DISALLOW_COPY_AND_ASSIGN(DummyNativeWebContentsModalDialogManager); | 129 DISALLOW_COPY_AND_ASSIGN(DummySingleWebContentsDialogManager); |
| 130 }; | 130 }; |
| 131 | 131 |
| 132 // Test Browser-like class for TabStripModelTest.TabBlockedState. | 132 // Test Browser-like class for TabStripModelTest.TabBlockedState. |
| 133 class TabBlockedStateTestBrowser | 133 class TabBlockedStateTestBrowser |
| 134 : public TabStripModelObserver, | 134 : public TabStripModelObserver, |
| 135 public web_modal::WebContentsModalDialogManagerDelegate { | 135 public web_modal::WebContentsModalDialogManagerDelegate { |
| 136 public: | 136 public: |
| 137 explicit TabBlockedStateTestBrowser(TabStripModel* tab_strip_model) | 137 explicit TabBlockedStateTestBrowser(TabStripModel* tab_strip_model) |
| 138 : tab_strip_model_(tab_strip_model) { | 138 : tab_strip_model_(tab_strip_model) { |
| 139 tab_strip_model_->AddObserver(this); | 139 tab_strip_model_->AddObserver(this); |
| (...skipping 2410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2550 | 2550 |
| 2551 // Add another tab. | 2551 // Add another tab. |
| 2552 WebContents* contents2 = CreateWebContents(); | 2552 WebContents* contents2 = CreateWebContents(); |
| 2553 web_modal::WebContentsModalDialogManager::CreateForWebContents(contents2); | 2553 web_modal::WebContentsModalDialogManager::CreateForWebContents(contents2); |
| 2554 strip_src.AppendWebContents(contents2, false); | 2554 strip_src.AppendWebContents(contents2, false); |
| 2555 | 2555 |
| 2556 // Create a destination tab strip. | 2556 // Create a destination tab strip. |
| 2557 TabStripModel strip_dst(&dummy_tab_strip_delegate, profile()); | 2557 TabStripModel strip_dst(&dummy_tab_strip_delegate, profile()); |
| 2558 TabBlockedStateTestBrowser browser_dst(&strip_dst); | 2558 TabBlockedStateTestBrowser browser_dst(&strip_dst); |
| 2559 | 2559 |
| 2560 // Setup a NativeWebContentsModalDialogManager for tab |contents2|. | 2560 // Setup a SingleWebContentsDialogManager for tab |contents2|. |
| 2561 web_modal::WebContentsModalDialogManager* modal_dialog_manager = | 2561 web_modal::WebContentsModalDialogManager* modal_dialog_manager = |
| 2562 web_modal::WebContentsModalDialogManager::FromWebContents(contents2); | 2562 web_modal::WebContentsModalDialogManager::FromWebContents(contents2); |
| 2563 web_modal::WebContentsModalDialogManager::TestApi test_api( | 2563 web_modal::WebContentsModalDialogManager::TestApi test_api( |
| 2564 modal_dialog_manager); | 2564 modal_dialog_manager); |
| 2565 | 2565 |
| 2566 // Show a dialog that blocks tab |contents2|. | 2566 // Show a dialog that blocks tab |contents2|. |
| 2567 // DummyNativeWebContentsModalDialogManager doesn't care about the | 2567 // DummySingleWebContentsDialogManager doesn't care about the |
| 2568 // NativeWebContentsModalDialog value, so any dummy value works. | 2568 // NativeWebContentsModalDialog value, so any dummy value works. |
| 2569 DummyNativeWebContentsModalDialogManager* native_manager = | 2569 DummySingleWebContentsDialogManager* native_manager = |
| 2570 new DummyNativeWebContentsModalDialogManager(modal_dialog_manager); | 2570 new DummySingleWebContentsDialogManager(modal_dialog_manager); |
| 2571 modal_dialog_manager->ShowDialogWithManager( | 2571 modal_dialog_manager->ShowDialogWithManager( |
| 2572 reinterpret_cast<NativeWebContentsModalDialog>(0), | 2572 reinterpret_cast<NativeWebContentsModalDialog>(0), |
| 2573 scoped_ptr<web_modal::NativeWebContentsModalDialogManager>( | 2573 scoped_ptr<web_modal::SingleWebContentsDialogManager>( |
| 2574 native_manager).Pass()); | 2574 native_manager).Pass()); |
| 2575 EXPECT_TRUE(strip_src.IsTabBlocked(1)); | 2575 EXPECT_TRUE(strip_src.IsTabBlocked(1)); |
| 2576 | 2576 |
| 2577 // Detach the tab. | 2577 // Detach the tab. |
| 2578 WebContents* moved_contents = strip_src.DetachWebContentsAt(1); | 2578 WebContents* moved_contents = strip_src.DetachWebContentsAt(1); |
| 2579 EXPECT_EQ(contents2, moved_contents); | 2579 EXPECT_EQ(contents2, moved_contents); |
| 2580 | 2580 |
| 2581 // Attach the tab to the destination tab strip. | 2581 // Attach the tab to the destination tab strip. |
| 2582 strip_dst.AppendWebContents(moved_contents, true); | 2582 strip_dst.AppendWebContents(moved_contents, true); |
| 2583 EXPECT_TRUE(strip_dst.IsTabBlocked(0)); | 2583 EXPECT_TRUE(strip_dst.IsTabBlocked(0)); |
| 2584 | 2584 |
| 2585 strip_dst.CloseAllTabs(); | 2585 strip_dst.CloseAllTabs(); |
| 2586 strip_src.CloseAllTabs(); | 2586 strip_src.CloseAllTabs(); |
| 2587 } | 2587 } |
| OLD | NEW |