Commit 46644a6b authored by vabr@chromium.org's avatar vabr@chromium.org

FindBrowserWithWebContents now recognises DevTool's embedded WebContent

If the DevTools window is invoked in-tab, the task manager refused to add it to the list of displayed processes, because there was no tab owning this WebContent. This CL improves the check in FindBrowserWithWebContents to recognise the DevTool's WebContent as valid in this case. To avoid crashing in TabContentsResource::GetIcon(), a FaviconTabHelper::CreateForWebContents() call had to be added.

BUG=237841

Review URL: https://chromiumcodereview.appspot.com/23576007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220549 0039d316-1c4b-4281-b951-d872f2087c98
parent 54419e5b
......@@ -6,6 +6,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/favicon/favicon_tab_helper.h"
#include "chrome/browser/prerender/prerender_manager.h"
......@@ -148,6 +149,7 @@ string16 TabContentsResource::GetProfileName() const {
gfx::ImageSkia TabContentsResource::GetIcon() const {
if (IsContentsPrerendering(web_contents_))
return *prerender_icon_;
FaviconTabHelper::CreateForWebContents(web_contents_);
return FaviconTabHelper::FromWebContents(web_contents_)->
GetFavicon().AsImageSkia();
}
......@@ -291,7 +293,8 @@ void TabContentsResourceProvider::Add(WebContents* web_contents) {
if (!chrome::FindBrowserWithWebContents(web_contents) &&
!IsContentsPrerendering(web_contents) &&
!chrome::IsPreloadedInstantExtendedNTP(web_contents) &&
!IsContentsBackgroundPrinted(web_contents)) {
!IsContentsBackgroundPrinted(web_contents) &&
!DevToolsWindow::IsDevToolsWindow(web_contents->GetRenderViewHost())) {
return;
}
......
......@@ -9,6 +9,7 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/devtools/devtools_window.h"
#include "chrome/browser/extensions/extension_browsertest.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
......@@ -496,4 +497,14 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DISABLED_WebWorkerJSHeapMemory) {
EXPECT_GE(result, minimal_heap_size);
}
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeInTabDevToolsWindow) {
DevToolsWindow* dev_tools = DevToolsWindow::ToggleDevToolsWindow(
model()->GetResourceWebContents(1)->GetRenderViewHost(),
true,
DEVTOOLS_TOGGLE_ACTION_INSPECT);
// Dock side bottom should be the default.
ASSERT_EQ(DEVTOOLS_DOCK_SIDE_BOTTOM, dev_tools->dock_side());
TaskManagerBrowserTestUtil::WaitForWebResourceChange(2);
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment