summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorgeorgesak <georgesak@chromium.org>2015-07-09 08:50:18 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-09 15:50:51 +0000
commit25b702d2edd1cf8bb383d169308f96cd1d23ea9d (patch)
treed91aedfb16498f7c347d366363b92762b5031def /chrome
parente9fe710d5025963eb345c45d2933bc8f18f99cac (diff)
downloadchromium_src-25b702d2edd1cf8bb383d169308f96cd1d23ea9d.zip
chromium_src-25b702d2edd1cf8bb383d169308f96cd1d23ea9d.tar.gz
chromium_src-25b702d2edd1cf8bb383d169308f96cd1d23ea9d.tar.bz2
Revert of New Task Manager - Phase 1.3.2: Implement Tab Contents Task Providing (patchset #3 id:40001 of https://codereview.chromium.org/1212663002/)
Reason for revert: Reverting this because it makes the following test flaky: BackgroundContentsTagTest.PreExistingTasksAreProvided See example of failure here: https://commondatastorage.googleapis.com/chromium-build-logs/logs/2015/7/ahVzfmNocm9taXVtLWJ1aWxkLWxvZ3NynAELEgVCdWlsZCJ7MSAtIGh0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS5jaHJvbWl1bW9zL2pzb24gLSBMaW51eCBDaHJvbWl1bU9TIFRlc3RzIChkYmcpKDEpIC0gNDM4OCAtIDE0MzYzOTkyODIgLSAxNDM2NDAwNzQxDAsSCUJ1aWxkU3RlcBiAgICAgOSVCQw Error message: ../../chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc:117: Failure Value of: task->title() Actual: Tab: about:blank Expected: GetBackgroundTaskExpectedName(extension) Which is: Background Page: app_process_background_instances Original issue's description: > New Task Manager - Phase 1.3.2: Implement Tab Contents Task Providing > > Part 3 of 3: Implementing a task-manager representation of WebContents > owned > by the TabStripModel. > > R=nick@chromium.org > BUG=470990 > TEST=browser_tests --gtest_filter=TabContentsTagTest.* > > Committed: https://crrev.com/543b07d4fb0b807639e8d29a0249794f240db091 > Cr-Commit-Position: refs/heads/master@{#337936} TBR=nick@chromium.org,gavinp@chromium.org,pkasting@chromium.org,avi@chromium.org,davidben@chromium.org,afakhry@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=470990 Review URL: https://codereview.chromium.org/1229923002 Cr-Commit-Position: refs/heads/master@{#338051}
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/prerender/prerender_browsertest.cc83
-rw-r--r--chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc94
-rw-r--r--chrome/browser/task_management/providers/web_contents/devtools_tag_browsertest.cc76
-rw-r--r--chrome/browser/task_management/providers/web_contents/prerender_tag.cc1
-rw-r--r--chrome/browser/task_management/providers/web_contents/renderer_task.cc27
-rw-r--r--chrome/browser/task_management/providers/web_contents/renderer_task.h7
-rw-r--r--chrome/browser/task_management/providers/web_contents/tab_contents_tag.cc20
-rw-r--r--chrome/browser/task_management/providers/web_contents/tab_contents_tag.h30
-rw-r--r--chrome/browser/task_management/providers/web_contents/tab_contents_tag_browsertest.cc200
-rw-r--r--chrome/browser/task_management/providers/web_contents/tab_contents_task.cc75
-rw-r--r--chrome/browser/task_management/providers/web_contents/tab_contents_task.h32
-rw-r--r--chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc12
-rw-r--r--chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h4
-rw-r--r--chrome/browser/task_management/task_management_browsertest_util.cc39
-rw-r--r--chrome/browser/task_management/task_management_browsertest_util.h40
-rw-r--r--chrome/browser/task_management/web_contents_tags.cc12
-rw-r--r--chrome/browser/task_management/web_contents_tags.h7
-rw-r--r--chrome/browser/ui/browser.cc4
-rw-r--r--chrome/browser/ui/browser_navigator.cc4
-rw-r--r--chrome/browser/ui/browser_tab_strip_model_delegate.cc4
-rw-r--r--chrome/chrome_browser.gypi4
-rw-r--r--chrome/chrome_tests.gypi3
22 files changed, 169 insertions, 609 deletions
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index 9c83077..c08cfaa 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -49,8 +49,9 @@
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/safe_browsing/safe_browsing_util.h"
#include "chrome/browser/safe_browsing/test_database_manager.h"
+#include "chrome/browser/task_management/providers/task_provider_observer.h"
#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
-#include "chrome/browser/task_management/task_management_browsertest_util.h"
+#include "chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h"
#include "chrome/browser/task_manager/task_manager.h"
#include "chrome/browser/task_manager/task_manager_browsertest_util.h"
#include "chrome/browser/ui/browser.h"
@@ -4087,58 +4088,92 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithNaCl,
namespace {
-base::string16 GetPrerenderTitlePrefix() {
- return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX,
- base::string16());
-}
+// Defines a test class for testing that will act as a mock task manager.
+class MockTaskManager : public task_management::TaskProviderObserver {
+ public:
+ MockTaskManager() {}
+ ~MockTaskManager() override {}
-const std::set<task_management::WebContentsTag*>& GetTrackedTags() {
- return task_management::WebContentsTagsManager::GetInstance()->
- tracked_tags();
-}
+ // task_management::Task_providerObserver:
+ void TaskAdded(task_management::Task* task) override {
+ EXPECT_FALSE(ContainsKey(provided_tasks_, task));
+ provided_tasks_.insert(task);
+ }
+
+ void TaskRemoved(task_management::Task* task) override {
+ EXPECT_TRUE(ContainsKey(provided_tasks_, task));
+ provided_tasks_.erase(task);
+ }
+
+ base::string16 GetPrerenderTitlePrefix() const {
+ return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX,
+ base::string16());
+ }
+
+ const std::set<task_management::WebContentsTag*>& tracked_tags() const {
+ return task_management::WebContentsTagsManager::GetInstance()->
+ tracked_tags();
+ }
+
+ const std::set<task_management::Task*>& provided_tasks() const {
+ return provided_tasks_;
+ }
+
+ private:
+ std::set<task_management::Task*> provided_tasks_;
+
+ DISALLOW_COPY_AND_ASSIGN(MockTaskManager);
+};
// Tests the correct recording of tags for the prerender WebContents.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, TaskManagementTagsBasic) {
- // Browser tests start with a single tab.
- EXPECT_EQ(1U, GetTrackedTags().size());
+ MockTaskManager task_manager;
+ EXPECT_TRUE(task_manager.tracked_tags().empty());
// Start prerendering a page and make sure it's correctly tagged.
PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
- EXPECT_EQ(2U, GetTrackedTags().size());
+ EXPECT_FALSE(task_manager.tracked_tags().empty());
+
+ // TODO(afakhry): Once we start tagging the tab contents the below tests
+ // must be changed.
+ EXPECT_EQ(1U, task_manager.tracked_tags().size());
// Swap in the prerendered content and make sure its tag is removed.
NavigateToDestURL();
- EXPECT_EQ(1U, GetTrackedTags().size());
+ EXPECT_TRUE(task_manager.tracked_tags().empty());
}
// Tests that the task manager will be provided by tasks that correspond to
// prerendered WebContents.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, TaskManagementTasksProvided) {
- task_management::MockWebContentsTaskManager task_manager;
- // Browser tests start with a single tab.
- EXPECT_EQ(1U, GetTrackedTags().size());
+ MockTaskManager task_manager;
+ EXPECT_TRUE(task_manager.tracked_tags().empty());
- task_manager.StartObserving();
+ task_management::WebContentsTaskProvider provider;
+ provider.SetObserver(&task_manager);
- // The pre-existing tab is provided.
- EXPECT_EQ(1U, task_manager.tasks().size());
+ // Still empty, no pre-existing tasks.
+ EXPECT_TRUE(task_manager.provided_tasks().empty());
// Start prerendering a page.
PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
+ EXPECT_FALSE(task_manager.tracked_tags().empty());
- EXPECT_EQ(2U, GetTrackedTags().size());
- ASSERT_EQ(2U, task_manager.tasks().size());
+ // TODO(afakhry): The below may not be true after we support more tags.
+ EXPECT_EQ(1U, task_manager.tracked_tags().size());
+ ASSERT_EQ(1U, task_manager.provided_tasks().size());
- const task_management::Task* task = task_manager.tasks().back();
+ const task_management::Task* task = *task_manager.provided_tasks().begin();
EXPECT_EQ(task_management::Task::RENDERER, task->GetType());
const base::string16 title = task->title();
- const base::string16 expected_prefix = GetPrerenderTitlePrefix();
+ const base::string16 expected_prefix = task_manager.GetPrerenderTitlePrefix();
EXPECT_TRUE(base::StartsWith(title,
expected_prefix,
base::CompareCase::INSENSITIVE_ASCII));
NavigateToDestURL();
- EXPECT_EQ(1U, task_manager.tasks().size());
+ // TODO(afakhry): The below may not be true after we support more tags.
+ EXPECT_TRUE(task_manager.provided_tasks().empty());
}
} // namespace
diff --git a/chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc b/chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc
index ec17c4d..c70fa3b 100644
--- a/chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc
+++ b/chrome/browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc
@@ -4,8 +4,9 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_browsertest.h"
+#include "chrome/browser/task_management/providers/task_provider_observer.h"
#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
-#include "chrome/browser/task_management/task_management_browsertest_util.h"
+#include "chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/grit/generated_resources.h"
#include "extensions/common/switches.h"
@@ -17,7 +18,9 @@ namespace task_management {
// properly and the TagsManager records these tags. It is also used to test that
// the WebContentsTaskProvider will be able to provide the appropriate
// BackgroundContentsTask.
-class BackgroundContentsTagTest : public ExtensionBrowserTest {
+class BackgroundContentsTagTest
+ : public ExtensionBrowserTest,
+ public TaskProviderObserver {
public:
BackgroundContentsTagTest() {}
~BackgroundContentsTagTest() override {}
@@ -34,92 +37,109 @@ class BackgroundContentsTagTest : public ExtensionBrowserTest {
base::UTF8ToUTF16(extension->name()));
}
+ // task_management::Task_providerObserver:
+ void TaskAdded(Task* task) override {
+ CHECK(task);
+ ASSERT_FALSE(provided_tasks_.count(task));
+ provided_tasks_.insert(task);
+ }
+
+ void TaskRemoved(Task* task) override {
+ CHECK(task);
+ ASSERT_TRUE(provided_tasks_.count(task));
+ provided_tasks_.erase(task);
+ }
+
WebContentsTagsManager* tags_manager() const {
return WebContentsTagsManager::GetInstance();
}
+ const std::set<Task*>& provided_tasks() const { return provided_tasks_; }
+
protected:
- // ExtensionBrowserTest:
+ // ExtensionApiTest:
void SetUpCommandLine(base::CommandLine* command_line) override {
// Pass flags to make testing apps easier.
ExtensionBrowserTest::SetUpCommandLine(command_line);
test_data_dir_ = test_data_dir_.AppendASCII("api_test");
- command_line->AppendSwitch(switches::kDisableRendererBackgrounding);
- command_line->AppendSwitch(switches::kDisablePopupBlocking);
- command_line->AppendSwitch(extensions::switches::kAllowHTTPBackgroundPage);
+ base::CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kDisablePopupBlocking);
+ base::CommandLine::ForCurrentProcess()->AppendSwitch(
+ extensions::switches::kAllowHTTPBackgroundPage);
}
private:
+ std::set<Task*> provided_tasks_;
+
DISALLOW_COPY_AND_ASSIGN(BackgroundContentsTagTest);
};
// Tests that loading an extension that has a background contents will result in
// the tags manager recording a WebContentsTag.
IN_PROC_BROWSER_TEST_F(BackgroundContentsTagTest, TagsManagerRecordsATag) {
- // Browser tests start with only one tab available.
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
- auto extension = LoadBackgroundExtension();
- ASSERT_NE(nullptr, extension);
- EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
-
- // Unload the extension.
- UnloadExtension(extension->id());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
+ EXPECT_TRUE(LoadBackgroundExtension());
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
}
// Tests that background contents creation while the provider is being observed
// will also provide tasks.
IN_PROC_BROWSER_TEST_F(BackgroundContentsTagTest, TasksProvidedWhileObserving) {
- MockWebContentsTaskManager task_manager;
- EXPECT_TRUE(task_manager.tasks().empty());
- // Browser tests start with only one tab available.
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
- task_manager.StartObserving();
+ WebContentsTaskProvider provider;
+ provider.SetObserver(this);
- // The pre-existing tab is provided.
- EXPECT_EQ(1U, task_manager.tasks().size());
+ // Still empty, no pre-existing tasks.
+ EXPECT_TRUE(provided_tasks().empty());
auto extension = LoadBackgroundExtension();
ASSERT_NE(nullptr, extension);
- EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
- EXPECT_EQ(2U, task_manager.tasks().size());
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
+ EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_FALSE(provided_tasks().empty());
+ EXPECT_EQ(1U, provided_tasks().size());
- // Now check the newly provided task.
- const Task* task = task_manager.tasks().back();
+ // Now check the provided task.
+ const Task* task = *provided_tasks().begin();
EXPECT_EQ(Task::RENDERER, task->GetType());
EXPECT_EQ(GetBackgroundTaskExpectedName(extension), task->title());
// Unload the extension.
UnloadExtension(extension->id());
- EXPECT_EQ(1U, task_manager.tasks().size());
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
}
// Tests providing a pre-existing background task to the observing operation.
IN_PROC_BROWSER_TEST_F(BackgroundContentsTagTest, PreExistingTasksAreProvided) {
- MockWebContentsTaskManager task_manager;
- EXPECT_TRUE(task_manager.tasks().empty());
- // Browser tests start with only one tab available.
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
auto extension = LoadBackgroundExtension();
ASSERT_NE(nullptr, extension);
- EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
+ EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
- task_manager.StartObserving();
+ WebContentsTaskProvider provider;
+ provider.SetObserver(this);
// Pre-existing task will be provided to us.
- EXPECT_EQ(2U, task_manager.tasks().size());
+ EXPECT_FALSE(provided_tasks().empty());
+ EXPECT_EQ(1U, provided_tasks().size());
// Now check the provided task.
- const Task* task = task_manager.tasks().back();
+ const Task* task = *provided_tasks().begin();
EXPECT_EQ(Task::RENDERER, task->GetType());
EXPECT_EQ(GetBackgroundTaskExpectedName(extension), task->title());
// Unload the extension.
UnloadExtension(extension->id());
- EXPECT_EQ(1U, task_manager.tasks().size());
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
}
} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/devtools_tag_browsertest.cc b/chrome/browser/task_management/providers/web_contents/devtools_tag_browsertest.cc
index c009d52..68fdb7d 100644
--- a/chrome/browser/task_management/providers/web_contents/devtools_tag_browsertest.cc
+++ b/chrome/browser/task_management/providers/web_contents/devtools_tag_browsertest.cc
@@ -3,8 +3,9 @@
// found in the LICENSE file.
#include "chrome/browser/devtools/devtools_window_testing.h"
+#include "chrome/browser/task_management/providers/task_provider_observer.h"
#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
-#include "chrome/browser/task_management/task_management_browsertest_util.h"
+#include "chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/test/base/in_process_browser_test.h"
@@ -23,10 +24,13 @@ const char kTestPage2[] = "files/devtools/navigate_back.html";
// properly by a DevToolsTag and that the TagsManager records these tags. It
// will also test that the WebContentsTaskProvider will be able to provide the
// appropriate DevToolsTask.
-class DevToolsTagTest : public InProcessBrowserTest {
+class DevToolsTagTest
+ : public InProcessBrowserTest,
+ public TaskProviderObserver {
public:
DevToolsTagTest()
- : devtools_window_(nullptr) {
+ : devtools_window_(nullptr),
+ provided_tasks_() {
CHECK(test_server()->Start());
}
@@ -46,12 +50,28 @@ class DevToolsTagTest : public InProcessBrowserTest {
DevToolsWindowTesting::CloseDevToolsWindowSync(devtools_window_);
}
+ // task_management::Task_providerObserver:
+ void TaskAdded(Task* task) override {
+ CHECK(task);
+ ASSERT_FALSE(provided_tasks_.count(task));
+ provided_tasks_.insert(task);
+ }
+
+ void TaskRemoved(Task* task) override {
+ CHECK(task);
+ ASSERT_TRUE(provided_tasks_.count(task));
+ provided_tasks_.erase(task);
+ }
+
WebContentsTagsManager* tags_manager() const {
return WebContentsTagsManager::GetInstance();
}
+ const std::set<Task*>& provided_tasks() const { return provided_tasks_; }
+
private:
DevToolsWindow* devtools_window_;
+ std::set<Task*> provided_tasks_;
DISALLOW_COPY_AND_ASSIGN(DevToolsTagTest);
};
@@ -59,48 +79,52 @@ class DevToolsTagTest : public InProcessBrowserTest {
// Tests that opening a DevToolsWindow will result in tagging its main
// WebContents and that tag will be recorded by the TagsManager.
IN_PROC_BROWSER_TEST_F(DevToolsTagTest, TagsManagerRecordsATag) {
- // Browser tests start with a single tab.
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
- // Navigating the same tab to the test page won't change the number of tracked
- // tags. No devtools yet.
+ // Loading a page will not result in tagging its WebContents.
+ // TODO(afakhry): Once we start tagging the tab contents, this will change.
+ // Fix it.
LoadTestPage(kTestPage1);
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
// Test both docked and undocked devtools.
OpenDevToolsWindow(true);
- EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
- CloseDevToolsWindow();
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ CloseDevToolsWindow();
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
// For the undocked devtools there will be two tags one for the main contents
// and one for the toolbox contents
OpenDevToolsWindow(false);
- EXPECT_EQ(3U, tags_manager()->tracked_tags().size());
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
+ EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
CloseDevToolsWindow();
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
}
IN_PROC_BROWSER_TEST_F(DevToolsTagTest, DevToolsTaskIsProvided) {
- MockWebContentsTaskManager task_manager;
- EXPECT_TRUE(task_manager.tasks().empty());
- // Browser tests start with a single tab.
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
- task_manager.StartObserving();
+ WebContentsTaskProvider provider;
+ provider.SetObserver(this);
- // The pre-existing tab is provided.
- EXPECT_EQ(1U, task_manager.tasks().size());
+ // Still empty, no pre-existing tasks.
+ EXPECT_TRUE(provided_tasks().empty());
LoadTestPage(kTestPage1);
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
- EXPECT_EQ(1U, task_manager.tasks().size());
+ // TODO(afakhry): This will change soon.
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
OpenDevToolsWindow(true);
- EXPECT_EQ(2U, tags_manager()->tracked_tags().size());
- EXPECT_EQ(2U, task_manager.tasks().size());
+ EXPECT_FALSE(tags_manager()->tracked_tags().empty());
+ EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
+ EXPECT_FALSE(provided_tasks().empty());
+ EXPECT_EQ(1U, provided_tasks().size());
- const Task* task = task_manager.tasks().back();
+ const Task* task = *provided_tasks().begin();
EXPECT_EQ(Task::RENDERER, task->GetType());
// Navigating to a new page will not change the title of the devtools main
@@ -111,8 +135,8 @@ IN_PROC_BROWSER_TEST_F(DevToolsTagTest, DevToolsTaskIsProvided) {
EXPECT_EQ(title1, title2);
CloseDevToolsWindow();
- EXPECT_EQ(1U, tags_manager()->tracked_tags().size());
- EXPECT_EQ(1U, task_manager.tasks().size());
+ EXPECT_TRUE(provided_tasks().empty());
+ EXPECT_TRUE(tags_manager()->tracked_tags().empty());
}
} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/prerender_tag.cc b/chrome/browser/task_management/providers/web_contents/prerender_tag.cc
index 499756c..6e6ae3d 100644
--- a/chrome/browser/task_management/providers/web_contents/prerender_tag.cc
+++ b/chrome/browser/task_management/providers/web_contents/prerender_tag.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "chrome/browser/task_management/providers/web_contents/prerender_tag.h"
+#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
namespace task_management {
diff --git a/chrome/browser/task_management/providers/web_contents/renderer_task.cc b/chrome/browser/task_management/providers/web_contents/renderer_task.cc
index 32acdb1..33cef0e 100644
--- a/chrome/browser/task_management/providers/web_contents/renderer_task.cc
+++ b/chrome/browser/task_management/providers/web_contents/renderer_task.cc
@@ -11,11 +11,9 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_info_cache.h"
#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/grit/generated_resources.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h"
-#include "ui/base/l10n/l10n_util.h"
namespace task_management {
@@ -143,29 +141,4 @@ const gfx::ImageSkia* RendererTask::GetFaviconFromWebContents(
return image.ToImageSkia();
}
-// static
-const base::string16 RendererTask::PrefixRendererTitle(
- const base::string16& title,
- bool is_app,
- bool is_extension,
- bool is_incognito) {
- int message_id = IDS_TASK_MANAGER_TAB_PREFIX;
-
- if (is_incognito && !is_app && !is_extension) {
- message_id = IDS_TASK_MANAGER_TAB_INCOGNITO_PREFIX;
- } else if (is_app) {
- if (is_incognito)
- message_id = IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX;
- else
- message_id = IDS_TASK_MANAGER_APP_PREFIX;
- } else if (is_extension) {
- if (is_incognito)
- message_id = IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX;
- else
- message_id = IDS_TASK_MANAGER_EXTENSION_PREFIX;
- }
-
- return l10n_util::GetStringFUTF16(message_id, title);
-}
-
} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/renderer_task.h b/chrome/browser/task_management/providers/web_contents/renderer_task.h
index ed88fd0..5fcb445 100644
--- a/chrome/browser/task_management/providers/web_contents/renderer_task.h
+++ b/chrome/browser/task_management/providers/web_contents/renderer_task.h
@@ -55,13 +55,6 @@ class RendererTask : public Task {
static const gfx::ImageSkia* GetFaviconFromWebContents(
content::WebContents* web_contents);
- // Prefixes the given renderer |title| with the appropriate string based on
- // whether it's an app, an extension, or incognito.
- static const base::string16 PrefixRendererTitle(const base::string16& title,
- bool is_app,
- bool is_extension,
- bool is_incognito);
-
content::WebContents* web_contents() const { return web_contents_; }
private:
diff --git a/chrome/browser/task_management/providers/web_contents/tab_contents_tag.cc b/chrome/browser/task_management/providers/web_contents/tab_contents_tag.cc
deleted file mode 100644
index 9ac341c..0000000
--- a/chrome/browser/task_management/providers/web_contents/tab_contents_tag.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/task_management/providers/web_contents/tab_contents_tag.h"
-
-namespace task_management {
-
-TabContentsTask* TabContentsTag::CreateTask() const {
- return new TabContentsTask(web_contents());
-}
-
-TabContentsTag::TabContentsTag(content::WebContents* web_contents)
- : WebContentsTag(web_contents) {
-}
-
-TabContentsTag::~TabContentsTag() {
-}
-
-} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/tab_contents_tag.h b/chrome/browser/task_management/providers/web_contents/tab_contents_tag.h
deleted file mode 100644
index 777a62f..0000000
--- a/chrome/browser/task_management/providers/web_contents/tab_contents_tag.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TAG_H_
-#define CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TAG_H_
-
-#include "chrome/browser/task_management/providers/web_contents/tab_contents_task.h"
-#include "chrome/browser/task_management/providers/web_contents/web_contents_tag.h"
-
-namespace task_management {
-
-// Defines a concrete UserData type for WebContents owned by the TabStripModel.
-class TabContentsTag : public WebContentsTag {
- public:
- // task_management::WebContentsTag:
- TabContentsTask* CreateTask() const override;
-
- private:
- friend class WebContentsTags;
-
- explicit TabContentsTag(content::WebContents* web_contents);
- ~TabContentsTag() override;
-
- DISALLOW_COPY_AND_ASSIGN(TabContentsTag);
-};
-
-} // namespace task_management
-
-#endif // CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TAG_H_
diff --git a/chrome/browser/task_management/providers/web_contents/tab_contents_tag_browsertest.cc b/chrome/browser/task_management/providers/web_contents/tab_contents_tag_browsertest.cc
deleted file mode 100644
index 43f6aa0..0000000
--- a/chrome/browser/task_management/providers/web_contents/tab_contents_tag_browsertest.cc
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
-#include "chrome/browser/task_management/task_management_browsertest_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/grit/generated_resources.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "net/test/embedded_test_server/embedded_test_server.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/page_transition_types.h"
-
-namespace task_management {
-
-namespace {
-
-// Defines a test page file path along with its expected task manager reported
-// values.
-struct TestPageData {
- const char* page_file;
- const char* title;
- Task::Type task_type;
- int expected_prefix_message;
-};
-
-// The below test files are available in src/chrome/test/data/
-// TODO(afakhry): Add more test pages here as needed (e.g. pages that are hosted
-// in the tabs as apps or extensions).
-const TestPageData kTestPages[] = {
- {
- "/title1.html",
- "",
- Task::RENDERER,
- IDS_TASK_MANAGER_TAB_PREFIX
- },
- {
- "/title2.html",
- "Title Of Awesomeness",
- Task::RENDERER,
- IDS_TASK_MANAGER_TAB_PREFIX
- },
- {
- "/title3.html",
- "Title Of More Awesomeness",
- Task::RENDERER,
- IDS_TASK_MANAGER_TAB_PREFIX
- },
-};
-
-const size_t kTestPagesLength = arraysize(kTestPages);
-
-} // namespace
-
-// Defines a browser test class for testing the task manager tracking of tab
-// contents.
-class TabContentsTagTest : public InProcessBrowserTest {
- public:
- TabContentsTagTest() {
- EXPECT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
- }
- ~TabContentsTagTest() override {}
-
- void AddNewTestTabAt(int index, const char* test_page_file) {
- int tabs_count_before = tabs_count();
- GURL url = GetUrlOfFile(test_page_file);
- AddTabAtIndex(index, url, ui::PAGE_TRANSITION_TYPED);
- EXPECT_EQ(++tabs_count_before, tabs_count());
- }
-
- void NavigateToUrl(const char* test_page_file) {
- ui_test_utils::NavigateToURL(browser(), GetUrlOfFile(test_page_file));
- }
-
- void CloseTabAt(int index) {
- browser()->tab_strip_model()->CloseWebContentsAt(index,
- TabStripModel::CLOSE_NONE);
- }
-
- base::string16 GetTestPageExpectedTitle(const TestPageData& page_data) const {
- // Pages with no title should fall back to their URL.
- base::string16 title = base::UTF8ToUTF16(page_data.title);
- if (title.empty()) {
- GURL url = GetUrlOfFile(page_data.page_file);
- title = base::UTF8ToUTF16(url.spec());
- }
- return l10n_util::GetStringFUTF16(page_data.expected_prefix_message, title);
- }
-
- base::string16 GetAboutBlankExpectedTitle() const {
- return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_TAB_PREFIX,
- base::UTF8ToUTF16("about:blank"));
- }
-
- int tabs_count() const { return browser()->tab_strip_model()->count(); }
-
- const std::set<WebContentsTag*>& tracked_tags() const {
- return WebContentsTagsManager::GetInstance()->tracked_tags();
- }
-
- private:
- GURL GetUrlOfFile(const char* test_page_file) const {
- return embedded_test_server()->GetURL(test_page_file);
- }
-
- DISALLOW_COPY_AND_ASSIGN(TabContentsTagTest);
-};
-
-// Tests that TabContentsTags are being recorded correctly by the
-// WebContentsTagsManager.
-IN_PROC_BROWSER_TEST_F(TabContentsTagTest, BasicTagsTracking) {
- // Browser tests start with a single tab.
- EXPECT_EQ(1, tabs_count());
- EXPECT_EQ(1U, tracked_tags().size());
-
- // Add a bunch of tabs and make sure we're tracking them.
- AddNewTestTabAt(0, kTestPages[0].page_file);
- EXPECT_EQ(2, tabs_count());
- EXPECT_EQ(2U, tracked_tags().size());
-
- AddNewTestTabAt(1, kTestPages[1].page_file);
- EXPECT_EQ(3, tabs_count());
- EXPECT_EQ(3U, tracked_tags().size());
-
- // Navigating the selected tab doesn't change the number of tabs nor the
- // number of tags.
- NavigateToUrl(kTestPages[2].page_file);
- EXPECT_EQ(3, tabs_count());
- EXPECT_EQ(3U, tracked_tags().size());
-
- // Close a bunch of tabs and make sure we can notice that.
- CloseTabAt(0);
- CloseTabAt(0);
- EXPECT_EQ(1, tabs_count());
- EXPECT_EQ(1U, tracked_tags().size());
-}
-
-// Tests that the pre-task-manager-existing tabs are given to the task manager
-// once it starts observing.
-IN_PROC_BROWSER_TEST_F(TabContentsTagTest, PreExistingTaskProviding) {
- // We start with the "about:blank" tab.
- EXPECT_EQ(1, tabs_count());
- EXPECT_EQ(1U, tracked_tags().size());
-
- // Add a bunch of tabs and make sure when the task manager is created and
- // starts observing sees those pre-existing tabs.
- AddNewTestTabAt(0, kTestPages[0].page_file);
- EXPECT_EQ(2, tabs_count());
- EXPECT_EQ(2U, tracked_tags().size());
- AddNewTestTabAt(1, kTestPages[1].page_file);
- EXPECT_EQ(3, tabs_count());
- EXPECT_EQ(3U, tracked_tags().size());
-
- MockWebContentsTaskManager task_manager;
- EXPECT_TRUE(task_manager.tasks().empty());
- task_manager.StartObserving();
- EXPECT_EQ(3U, task_manager.tasks().size());
-}
-
-// Tests that the task manager sees the correct tabs with their correct
-// corresponding tasks data.
-IN_PROC_BROWSER_TEST_F(TabContentsTagTest, PostExistingTaskProviding) {
- // We start with the "about:blank" tab.
- EXPECT_EQ(1, tabs_count());
- EXPECT_EQ(1U, tracked_tags().size());
-
- MockWebContentsTaskManager task_manager;
- EXPECT_TRUE(task_manager.tasks().empty());
- task_manager.StartObserving();
- EXPECT_EQ(1U, task_manager.tasks().size());
-
- const Task* first_tab_task = task_manager.tasks()[0];
- EXPECT_EQ(Task::RENDERER, first_tab_task->GetType());
- EXPECT_EQ(GetAboutBlankExpectedTitle(), first_tab_task->title());
-
- // Add the test pages in order and test the provided tasks.
- for (auto& test_page_data : kTestPages) {
- AddNewTestTabAt(0, test_page_data.page_file);
-
- const Task* task = task_manager.tasks().back();
- EXPECT_EQ(test_page_data.task_type, task->GetType());
- EXPECT_EQ(GetTestPageExpectedTitle(test_page_data), task->title());
- }
-
- EXPECT_EQ(1 + kTestPagesLength, task_manager.tasks().size());
-
- // Close the last tab that was added. Make sure it doesn't show up in the
- // task manager.
- CloseTabAt(0);
- EXPECT_EQ(kTestPagesLength, task_manager.tasks().size());
- const base::string16 closed_tab_title =
- GetTestPageExpectedTitle(kTestPages[kTestPagesLength - 1]);
- for (auto& task : task_manager.tasks())
- EXPECT_NE(closed_tab_title, task->title());
-}
-
-} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/tab_contents_task.cc b/chrome/browser/task_management/providers/web_contents/tab_contents_task.cc
deleted file mode 100644
index fdca98d..0000000
--- a/chrome/browser/task_management/providers/web_contents/tab_contents_task.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/task_management/providers/web_contents/tab_contents_task.h"
-
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/profiles/profile.h"
-#include "content/public/browser/web_contents.h"
-#include "extensions/browser/extension_registry.h"
-#include "extensions/browser/process_map.h"
-#include "extensions/common/constants.h"
-
-namespace task_management {
-
-namespace {
-
-bool HostsExtension(content::WebContents* web_contents) {
- DCHECK(web_contents);
- return web_contents->GetURL().SchemeIs(extensions::kExtensionScheme);
-}
-
-} // namespace
-
-
-TabContentsTask::TabContentsTask(content::WebContents* web_contents)
- : RendererTask(base::string16(),
- RendererTask::GetFaviconFromWebContents(web_contents),
- web_contents) {
- set_title(GetCurrentTitle());
-}
-
-TabContentsTask::~TabContentsTask() {
-}
-
-void TabContentsTask::OnTitleChanged(content::NavigationEntry* entry) {
- set_title(GetCurrentTitle());
-}
-
-void TabContentsTask::OnFaviconChanged() {
- set_icon(*RendererTask::GetFaviconFromWebContents(web_contents()));
-}
-
-Task::Type TabContentsTask::GetType() const {
- // A tab that loads an extension URL is considered to be an extension even
- // though it's tracked as a TabContentsTask.
- return HostsExtension(web_contents()) ? Task::EXTENSION : Task::RENDERER;
-}
-
-base::string16 TabContentsTask::GetCurrentTitle() const {
- // Check if the URL is an app and if the tab is hoisting an extension.
- Profile* profile =
- Profile::FromBrowserContext(web_contents()->GetBrowserContext());
- extensions::ProcessMap* process_map = extensions::ProcessMap::Get(profile);
- extensions::ExtensionRegistry* extension_registry =
- extensions::ExtensionRegistry::Get(profile);
- GURL url = web_contents()->GetURL();
- base::string16 url_spec = base::UTF8ToUTF16(url.spec());
-
- bool is_app = process_map->Contains(process_id()) &&
- extension_registry->enabled_extensions().GetAppByURL(url) != nullptr;
- bool is_extension = HostsExtension(web_contents());
- bool is_incognito = profile->IsOffTheRecord();
-
- base::string16 tab_title =
- RendererTask::GetTitleFromWebContents(web_contents());
-
- // Fall back to the URL if the title is empty.
- return PrefixRendererTitle(tab_title.empty() ? url_spec : tab_title,
- is_app,
- is_extension,
- is_incognito);
-}
-
-} // namespace task_management
diff --git a/chrome/browser/task_management/providers/web_contents/tab_contents_task.h b/chrome/browser/task_management/providers/web_contents/tab_contents_task.h
deleted file mode 100644
index 2005967..0000000
--- a/chrome/browser/task_management/providers/web_contents/tab_contents_task.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TASK_H_
-#define CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TASK_H_
-
-#include "chrome/browser/task_management/providers/web_contents/renderer_task.h"
-
-namespace task_management {
-
-// Defines a task manager representation of WebContents owned by the
-// TabStripModel.
-class TabContentsTask : public RendererTask {
- public:
- explicit TabContentsTask(content::WebContents* web_contents);
- ~TabContentsTask() override;
-
- // task_management::RendererTask:
- void OnTitleChanged(content::NavigationEntry* entry) override;
- void OnFaviconChanged() override;
- Type GetType() const override;
-
- private:
- base::string16 GetCurrentTitle() const;
-
- DISALLOW_COPY_AND_ASSIGN(TabContentsTask);
-};
-
-} // namespace task_management
-
-#endif // CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_WEB_CONTENTS_TAB_CONTENTS_TASK_H_
diff --git a/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc b/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc
index fa93a16..4c24931 100644
--- a/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc
+++ b/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.cc
@@ -255,15 +255,11 @@ void WebContentsEntry::ClearTaskForFrame(RenderFrameHost* render_frame_host) {
////////////////////////////////////////////////////////////////////////////////
-WebContentsTaskProvider::WebContentsTaskProvider()
- : entries_map_(),
- is_updating_(false) {
+WebContentsTaskProvider::WebContentsTaskProvider() : entries_map_() {
}
WebContentsTaskProvider::~WebContentsTaskProvider() {
- if (is_updating_) {
- StopUpdating();
- }
+ STLDeleteValues(&entries_map_);
}
void WebContentsTaskProvider::OnWebContentsTagCreated(
@@ -332,8 +328,6 @@ bool WebContentsTaskProvider::HasWebContents(
}
void WebContentsTaskProvider::StartUpdating() {
- is_updating_ = true;
-
// 1- Collect all pre-existing WebContents from the WebContentsTagsManager.
WebContentsTagsManager* tags_manager = WebContentsTagsManager::GetInstance();
for (auto& tag : tags_manager->tracked_tags())
@@ -344,8 +338,6 @@ void WebContentsTaskProvider::StartUpdating() {
}
void WebContentsTaskProvider::StopUpdating() {
- is_updating_ = false;
-
// 1- Stop observing.
WebContentsTagsManager::GetInstance()->ClearProvider();
diff --git a/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h b/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h
index aeff7cc..cc9c7f3 100644
--- a/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h
+++ b/chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h
@@ -58,10 +58,6 @@ class WebContentsTaskProvider : public TaskProvider {
typedef std::map<content::WebContents*, WebContentsEntry*> EntryMap;
EntryMap entries_map_;
- // True if this provider is listening to WebContentsTags and updating its
- // observers, false otherwise.
- bool is_updating_;
-
DISALLOW_COPY_AND_ASSIGN(WebContentsTaskProvider);
};
diff --git a/chrome/browser/task_management/task_management_browsertest_util.cc b/chrome/browser/task_management/task_management_browsertest_util.cc
deleted file mode 100644
index a644a57..0000000
--- a/chrome/browser/task_management/task_management_browsertest_util.cc
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/task_management/task_management_browsertest_util.h"
-
-#include "base/stl_util.h"
-
-namespace task_management {
-
-MockWebContentsTaskManager::MockWebContentsTaskManager()
- : tasks_(),
- provider_() {
-}
-
-MockWebContentsTaskManager::~MockWebContentsTaskManager() {
-}
-
-void MockWebContentsTaskManager::TaskAdded(Task* task) {
- DCHECK(task);
- DCHECK(!ContainsValue(tasks_, task));
- tasks_.push_back(task);
-}
-
-void MockWebContentsTaskManager::TaskRemoved(Task* task) {
- DCHECK(task);
- DCHECK(ContainsValue(tasks_, task));
- tasks_.erase(std::find(tasks_.begin(), tasks_.end(), task));
-}
-
-void MockWebContentsTaskManager::StartObserving() {
- provider_.SetObserver(this);
-}
-
-void MockWebContentsTaskManager::StopObserving() {
- provider_.ClearObserver();
-}
-
-} // namespace task_management
diff --git a/chrome/browser/task_management/task_management_browsertest_util.h b/chrome/browser/task_management/task_management_browsertest_util.h
deleted file mode 100644
index 6ba4855..0000000
--- a/chrome/browser/task_management/task_management_browsertest_util.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_TASK_MANAGEMENT_TASK_MANAGEMENT_BROWSERTEST_UTIL_H_
-#define CHROME_BROWSER_TASK_MANAGEMENT_TASK_MANAGEMENT_BROWSERTEST_UTIL_H_
-
-#include "chrome/browser/task_management/providers/task_provider_observer.h"
-#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
-#include "chrome/browser/task_management/providers/web_contents/web_contents_task_provider.h"
-
-namespace task_management {
-
-// Defines a test class that will act as a task manager that is designed to
-// only observe the WebContents-based tasks.
-class MockWebContentsTaskManager : public TaskProviderObserver {
- public:
- MockWebContentsTaskManager();
- ~MockWebContentsTaskManager() override;
-
- // task_management::TaskProviderObserver:
- void TaskAdded(Task* task) override;
- void TaskRemoved(Task* task) override;
-
- // Start / Stop observing the WebContentsTaskProvider.
- void StartObserving();
- void StopObserving();
-
- const std::vector<Task*>& tasks() const { return tasks_; }
-
- private:
- std::vector<Task*> tasks_;
- WebContentsTaskProvider provider_;
-
- DISALLOW_COPY_AND_ASSIGN(MockWebContentsTaskManager);
-};
-
-} // namespace task_management
-
-#endif // CHROME_BROWSER_TASK_MANAGEMENT_TASK_MANAGEMENT_BROWSERTEST_UTIL_H_
diff --git a/chrome/browser/task_management/web_contents_tags.cc b/chrome/browser/task_management/web_contents_tags.cc
index 1e5a720..9371a0d 100644
--- a/chrome/browser/task_management/web_contents_tags.cc
+++ b/chrome/browser/task_management/web_contents_tags.cc
@@ -7,7 +7,6 @@
#include "chrome/browser/task_management/providers/web_contents/background_contents_tag.h"
#include "chrome/browser/task_management/providers/web_contents/devtools_tag.h"
#include "chrome/browser/task_management/providers/web_contents/prerender_tag.h"
-#include "chrome/browser/task_management/providers/web_contents/tab_contents_tag.h"
#include "chrome/browser/task_management/providers/web_contents/web_contents_tags_manager.h"
#include "content/public/browser/web_contents.h"
@@ -71,17 +70,6 @@ void WebContentsTags::CreateForPrerenderContents(
}
// static
-void WebContentsTags::CreateForTabContents(content::WebContents* web_contents) {
-#if defined(ENABLE_TASK_MANAGER)
- if (!WebContentsTag::FromWebContents(web_contents)) {
- TagWebContents(web_contents,
- new TabContentsTag(web_contents),
- WebContentsTag::kTagKey);
- }
-#endif // defined(ENABLE_TASK_MANAGER)
-}
-
-// static
void WebContentsTags::ClearTag(content::WebContents* web_contents) {
#if defined(ENABLE_TASK_MANAGER)
const WebContentsTag* tag = WebContentsTag::FromWebContents(web_contents);
diff --git a/chrome/browser/task_management/web_contents_tags.h b/chrome/browser/task_management/web_contents_tags.h
index c2794f6..3c92939 100644
--- a/chrome/browser/task_management/web_contents_tags.h
+++ b/chrome/browser/task_management/web_contents_tags.h
@@ -46,13 +46,6 @@ class WebContentsTags {
// owned by |web_contents|.
static void CreateForPrerenderContents(content::WebContents* web_contents);
- // Tag a WebContents owned by the TabStripModel so that it shows up in the
- // task manager. Calling this function creates a TabContentsTag, and attaches
- // it to |web_contents|. If an instance is already attached, this does
- // nothing. The resulting tag does not have to be cleaned up by the caller, as
- // it is owned by |web_contents|.
- static void CreateForTabContents(content::WebContents* web_contents);
-
// Clears the task-manager tag, created by any of the above functions, from
// the given |web_contents| if any.
// Clearing the tag is necessary only when you need to re-tag an existing
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 242f79b..8805274 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -84,7 +84,6 @@
#include "chrome/browser/sync/sync_ui_util.h"
#include "chrome/browser/tab_contents/retargeting_details.h"
#include "chrome/browser/tab_contents/tab_util.h"
-#include "chrome/browser/task_management/web_contents_tags.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "chrome/browser/translate/chrome_translate_client.h"
@@ -1692,9 +1691,6 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// AddNewContents.
TabHelpers::AttachTabHelpers(new_contents);
- // Make the tab show up in the task manager.
- task_management::WebContentsTags::CreateForTabContents(new_contents);
-
// Notify.
RetargetingDetails details;
details.source_web_contents = source_contents;
diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
index fbd9415..7be37f7 100644
--- a/chrome/browser/ui/browser_navigator.cc
+++ b/chrome/browser/ui/browser_navigator.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/prerender/prerender_manager_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/tab_contents/tab_util.h"
-#include "chrome/browser/task_management/web_contents_tags.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_instant_controller.h"
@@ -60,9 +59,6 @@ class BrowserNavigatorWebContentsAdoption {
public:
static void AttachTabHelpers(content::WebContents* contents) {
TabHelpers::AttachTabHelpers(contents);
-
- // Make the tab show up in the task manager.
- task_management::WebContentsTags::CreateForTabContents(contents);
}
};
diff --git a/chrome/browser/ui/browser_tab_strip_model_delegate.cc b/chrome/browser/ui/browser_tab_strip_model_delegate.cc
index dcf1492..3fcd438 100644
--- a/chrome/browser/ui/browser_tab_strip_model_delegate.cc
+++ b/chrome/browser/ui/browser_tab_strip_model_delegate.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sessions/tab_restore_service.h"
#include "chrome/browser/sessions/tab_restore_service_factory.h"
-#include "chrome/browser/task_management/web_contents_tags.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_navigator.h"
@@ -86,9 +85,6 @@ Browser* BrowserTabStripModelDelegate::CreateNewStripWithContents(
void BrowserTabStripModelDelegate::WillAddWebContents(
content::WebContents* contents) {
TabHelpers::AttachTabHelpers(contents);
-
- // Make the tab show up in the task manager.
- task_management::WebContentsTags::CreateForTabContents(contents);
}
int BrowserTabStripModelDelegate::GetDragActions() const {
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 335fcdc..6b0f084 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -3017,10 +3017,6 @@
'browser/task_management/providers/web_contents/renderer_task.h',
'browser/task_management/providers/web_contents/subframe_task.cc',
'browser/task_management/providers/web_contents/subframe_task.h',
- 'browser/task_management/providers/web_contents/tab_contents_tag.cc',
- 'browser/task_management/providers/web_contents/tab_contents_tag.h',
- 'browser/task_management/providers/web_contents/tab_contents_task.cc',
- 'browser/task_management/providers/web_contents/tab_contents_task.h',
'browser/task_management/providers/web_contents/web_contents_tag.cc',
'browser/task_management/providers/web_contents/web_contents_tag.h',
'browser/task_management/providers/web_contents/web_contents_tags_manager.cc',
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 142639a..f5c869f 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -406,9 +406,6 @@
'browser/tab_contents/view_source_browsertest.cc',
'browser/task_management/providers/web_contents/background_contents_tag_browsertest.cc',
'browser/task_management/providers/web_contents/devtools_tag_browsertest.cc',
- 'browser/task_management/providers/web_contents/tab_contents_tag_browsertest.cc',
- 'browser/task_management/task_management_browsertest_util.cc',
- 'browser/task_management/task_management_browsertest_util.h',
'browser/task_manager/task_manager_browsertest.cc',
'browser/task_manager/task_manager_browsertest_util.cc',
'browser/task_manager/task_manager_browsertest_util.h',