Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: chrome/browser/task_manager/extension_process_resource_provider.cc

Issue 185873003: Task Manager: overhaul & re-enable task manager browser tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-upload after 500's Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/task_manager/extension_process_resource_provider.h" 5 #include "chrome/browser/task_manager/extension_process_resource_provider.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 bool ExtensionProcessResourceProvider:: 293 bool ExtensionProcessResourceProvider::
294 IsHandledByThisProvider(content::RenderViewHost* render_view_host) { 294 IsHandledByThisProvider(content::RenderViewHost* render_view_host) {
295 WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host); 295 WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host);
296 // Don't add WebContents that belong to a guest (those are handled by 296 // Don't add WebContents that belong to a guest (those are handled by
297 // GuestResourceProvider). Otherwise they will be added twice, and 297 // GuestResourceProvider). Otherwise they will be added twice, and
298 // in this case they will have the app's name as a title (due to the 298 // in this case they will have the app's name as a title (due to the
299 // ExtensionProcessResource constructor). 299 // ExtensionProcessResource constructor).
300 if (web_contents->GetRenderProcessHost()->IsGuest()) 300 if (web_contents->GetRenderProcessHost()->IsGuest())
301 return false; 301 return false;
302 extensions::ViewType view_type = extensions::GetViewType(web_contents); 302 extensions::ViewType view_type = extensions::GetViewType(web_contents);
303 // Don't add WebContents (those are handled by 303 // Don't add WebContents (those are handled by TabContentsResourceProvider) or
Avi (use Gerrit) 2014/03/03 22:52:31 s/WebContents/tab contents/ Everything is a WebCo
ncarter (slow) 2014/03/04 01:23:11 Done.
304 // TabContentsResourceProvider) or background contents (handled 304 // background contents (handled by BackgroundResourceProvider) or panels
305 // by BackgroundResourceProvider). 305 // (handled by PanelResourceProvider)
306 #if defined(USE_ASH)
307 return (view_type != extensions::VIEW_TYPE_TAB_CONTENTS &&
308 view_type != extensions::VIEW_TYPE_BACKGROUND_CONTENTS);
309 #else
310 return (view_type != extensions::VIEW_TYPE_TAB_CONTENTS && 306 return (view_type != extensions::VIEW_TYPE_TAB_CONTENTS &&
311 view_type != extensions::VIEW_TYPE_BACKGROUND_CONTENTS && 307 view_type != extensions::VIEW_TYPE_BACKGROUND_CONTENTS &&
312 view_type != extensions::VIEW_TYPE_PANEL); 308 view_type != extensions::VIEW_TYPE_PANEL);
313 #endif // USE_ASH
314 } 309 }
315 310
316 void ExtensionProcessResourceProvider::AddToTaskManager( 311 void ExtensionProcessResourceProvider::AddToTaskManager(
317 content::RenderViewHost* render_view_host) { 312 content::RenderViewHost* render_view_host) {
318 if (!IsHandledByThisProvider(render_view_host)) 313 if (!IsHandledByThisProvider(render_view_host))
319 return; 314 return;
320 315
316 if (resources_.count(render_view_host))
317 return;
321 ExtensionProcessResource* resource = 318 ExtensionProcessResource* resource =
322 new ExtensionProcessResource(render_view_host); 319 new ExtensionProcessResource(render_view_host);
323 if (resources_.find(render_view_host) != resources_.end())
324 return;
325 resources_[render_view_host] = resource; 320 resources_[render_view_host] = resource;
326 task_manager_->AddResource(resource); 321 task_manager_->AddResource(resource);
327 } 322 }
328 323
329 void ExtensionProcessResourceProvider::RemoveFromTaskManager( 324 void ExtensionProcessResourceProvider::RemoveFromTaskManager(
330 content::RenderViewHost* render_view_host) { 325 content::RenderViewHost* render_view_host) {
331 if (!updating_) 326 if (!updating_)
332 return; 327 return;
333 std::map<content::RenderViewHost*, ExtensionProcessResource*> 328 std::map<content::RenderViewHost*, ExtensionProcessResource*>
334 ::iterator iter = resources_.find(render_view_host); 329 ::iterator iter = resources_.find(render_view_host);
335 if (iter == resources_.end()) 330 if (iter == resources_.end())
336 return; 331 return;
337 332
338 // Remove the resource from the Task Manager. 333 // Remove the resource from the Task Manager.
339 ExtensionProcessResource* resource = iter->second; 334 ExtensionProcessResource* resource = iter->second;
340 task_manager_->RemoveResource(resource); 335 task_manager_->RemoveResource(resource);
341 336
342 // Remove it from the provider. 337 // Remove it from the provider.
343 resources_.erase(iter); 338 resources_.erase(iter);
344 339
345 // Finally, delete the resource. 340 // Finally, delete the resource.
346 delete resource; 341 delete resource;
347 } 342 }
348 343
349 } // namespace task_manager 344 } // namespace task_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698