| Index: chrome/browser/memory_details.cc
|
| ===================================================================
|
| --- chrome/browser/memory_details.cc (revision 138369)
|
| +++ chrome/browser/memory_details.cc (working copy)
|
| @@ -24,7 +24,6 @@
|
| #include "content/public/browser/navigation_entry.h"
|
| #include "content/public/browser/render_process_host.h"
|
| #include "content/public/browser/render_view_host.h"
|
| -#include "content/public/browser/render_view_host_delegate.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/common/bindings_policy.h"
|
| #include "content/public/common/process_type.h"
|
| @@ -242,12 +241,13 @@
|
| if (!widget || !widget->IsRenderView())
|
| continue;
|
|
|
| - const RenderViewHost* host =
|
| + RenderViewHost* host =
|
| RenderViewHost::From(const_cast<RenderWidgetHost*>(widget));
|
| - content::RenderViewHostDelegate* host_delegate = host->GetDelegate();
|
| - DCHECK(host_delegate);
|
| - GURL url = host_delegate->GetURL();
|
| - content::ViewType type = host_delegate->GetRenderViewType();
|
| + WebContents* contents = WebContents::FromRenderViewHost(host);
|
| + GURL url;
|
| + if (contents)
|
| + url = contents->GetURL();
|
| + chrome::ViewType type = chrome::GetViewType(contents);
|
| if (host->GetEnabledBindings() & content::BINDINGS_POLICY_WEB_UI) {
|
| process.renderer_type = ProcessMemoryInformation::RENDERER_CHROME;
|
| } else if (extension_process_map->Contains(
|
| @@ -268,41 +268,37 @@
|
| }
|
| }
|
| }
|
| - WebContents* contents = host_delegate->GetAsWebContents();
|
| + if (extension_process_map->Contains(host->GetProcess()->GetID())) {
|
| + const Extension* extension =
|
| + extension_service->extensions()->GetByID(url.host());
|
| + if (extension) {
|
| + string16 title = UTF8ToUTF16(extension->name());
|
| + process.titles.push_back(title);
|
| + }
|
| + continue;
|
| + }
|
| +
|
| if (!contents) {
|
| - if (extension_process_map->Contains(host->GetProcess()->GetID())) {
|
| - const Extension* extension =
|
| - extension_service->extensions()->GetByID(url.host());
|
| - if (extension) {
|
| - string16 title = UTF8ToUTF16(extension->name());
|
| - process.titles.push_back(title);
|
| - }
|
| - } else if (process.renderer_type ==
|
| - ProcessMemoryInformation::RENDERER_UNKNOWN) {
|
| - process.titles.push_back(UTF8ToUTF16(url.spec()));
|
| - switch (type) {
|
| - case chrome::VIEW_TYPE_BACKGROUND_CONTENTS:
|
| - process.renderer_type =
|
| + process.renderer_type =
|
| + ProcessMemoryInformation::RENDERER_INTERSTITIAL;
|
| + continue;
|
| + }
|
| +
|
| + if (type == chrome::VIEW_TYPE_BACKGROUND_CONTENTS) {
|
| + process.titles.push_back(UTF8ToUTF16(url.spec()));
|
| + process.renderer_type =
|
| ProcessMemoryInformation::RENDERER_BACKGROUND_APP;
|
| - break;
|
| - case content::VIEW_TYPE_INTERSTITIAL_PAGE:
|
| - process.renderer_type =
|
| - ProcessMemoryInformation::RENDERER_INTERSTITIAL;
|
| - break;
|
| - case chrome::VIEW_TYPE_NOTIFICATION:
|
| - process.renderer_type =
|
| + continue;
|
| + }
|
| +
|
| + if (type == chrome::VIEW_TYPE_NOTIFICATION) {
|
| + process.titles.push_back(UTF8ToUTF16(url.spec()));
|
| + process.renderer_type =
|
| ProcessMemoryInformation::RENDERER_NOTIFICATION;
|
| - break;
|
| - default:
|
| - process.renderer_type =
|
| - ProcessMemoryInformation::RENDERER_UNKNOWN;
|
| - break;
|
| - }
|
| - }
|
| continue;
|
| }
|
|
|
| - // Since We have a WebContents and and the renderer type hasn't been
|
| + // Since we have a WebContents and and the renderer type hasn't been
|
| // set yet, it must be a normal tabbed renderer.
|
| if (process.renderer_type == ProcessMemoryInformation::RENDERER_UNKNOWN)
|
| process.renderer_type = ProcessMemoryInformation::RENDERER_NORMAL;
|
|
|