OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/extensions/tab_helper.h" | 5 #include "chrome/browser/extensions/tab_helper.h" |
6 | 6 |
7 #include "chrome/browser/extensions/extension_service.h" | 7 #include "chrome/browser/extensions/extension_service.h" |
8 #include "chrome/browser/extensions/extension_service_test_with_install.h" | 8 #include "chrome/browser/extensions/extension_service_test_with_install.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "content/public/test/web_contents_tester.h" | 10 #include "content/public/test/web_contents_tester.h" |
11 | 11 |
12 namespace extensions { | 12 namespace extensions { |
13 | 13 |
14 TEST_F(ExtensionServiceTestWithInstall, TabHelperClearsExtensionOnUnload) { | 14 TEST_F(ExtensionServiceTestWithInstall, TabHelperClearsExtensionOnUnload) { |
15 InitializeEmptyExtensionService(); | 15 InitializeEmptyExtensionService(); |
16 const Extension* extension = | 16 const Extension* extension = |
17 PackAndInstallCRX(data_dir().AppendASCII("hosted_app"), INSTALL_NEW); | 17 PackAndInstallCRX(data_dir().AppendASCII("hosted_app"), INSTALL_NEW); |
18 ASSERT_TRUE(extension); | 18 ASSERT_TRUE(extension); |
19 std::unique_ptr<content::WebContents> web_contents( | 19 std::unique_ptr<content::WebContents> web_contents( |
20 content::WebContentsTester::CreateTestWebContents(profile(), nullptr)); | 20 content::WebContentsTester::CreateTestWebContents(profile(), nullptr)); |
21 TabHelper::CreateForWebContents(web_contents.get()); | 21 TabHelper::CreateForWebContents(web_contents.get()); |
22 TabHelper* tab_helper = TabHelper::FromWebContents(web_contents.get()); | 22 TabHelper* tab_helper = TabHelper::FromWebContents(web_contents.get()); |
23 tab_helper->SetExtensionApp(extension); | 23 tab_helper->SetExtensionApp(extension); |
24 EXPECT_EQ(extension, tab_helper->extension_app()); | 24 EXPECT_EQ(extension, tab_helper->extension_app()); |
25 EXPECT_TRUE(tab_helper->is_app()); | 25 EXPECT_TRUE(tab_helper->is_app()); |
26 service()->UnloadExtension(extension->id(), | 26 service()->UnloadExtension(extension->id(), |
27 UnloadedExtensionInfo::REASON_UNDEFINED); | 27 UnloadedExtensionReason::REASON_UNDEFINED); |
28 base::RunLoop().RunUntilIdle(); | 28 base::RunLoop().RunUntilIdle(); |
29 EXPECT_EQ(nullptr, tab_helper->extension_app()); | 29 EXPECT_EQ(nullptr, tab_helper->extension_app()); |
30 } | 30 } |
31 | 31 |
32 } // namespace extensions | 32 } // namespace extensions |
OLD | NEW |