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

Side by Side Diff: chrome/browser/background/background_contents.cc

Issue 1432143002: Track where WebContents are created in order to better understand issue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/background/background_contents.h" 5 #include "chrome/browser/background/background_contents.h"
6 6
7 #include "base/profiler/scoped_tracker.h" 7 #include "base/profiler/scoped_tracker.h"
8 #include "chrome/browser/background/background_contents_service.h" 8 #include "chrome/browser/background/background_contents_service.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" 10 #include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/renderer_preferences_util.h" 12 #include "chrome/browser/renderer_preferences_util.h"
13 #include "chrome/browser/task_management/web_contents_tags.h" 13 #include "chrome/browser/task_management/web_contents_tags.h"
14 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" 14 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h"
15 #include "chrome/common/url_constants.h" 15 #include "chrome/common/url_constants.h"
16 #include "content/public/browser/notification_service.h" 16 #include "content/public/browser/notification_service.h"
17 #include "content/public/browser/render_view_host.h" 17 #include "content/public/browser/render_view_host.h"
18 #include "content/public/browser/session_storage_namespace.h" 18 #include "content/public/browser/session_storage_namespace.h"
19 #include "content/public/browser/site_instance.h" 19 #include "content/public/browser/site_instance.h"
20 #include "content/public/browser/web_contents.h" 20 #include "content/public/browser/web_contents.h"
21 #include "content/public/browser/web_contents_source.h"
21 #include "extensions/browser/deferred_start_render_host_observer.h" 22 #include "extensions/browser/deferred_start_render_host_observer.h"
22 #include "extensions/browser/extension_host_delegate.h" 23 #include "extensions/browser/extension_host_delegate.h"
23 #include "extensions/browser/extension_host_queue.h" 24 #include "extensions/browser/extension_host_queue.h"
24 #include "extensions/browser/extensions_browser_client.h" 25 #include "extensions/browser/extensions_browser_client.h"
25 #include "extensions/browser/view_type_utils.h" 26 #include "extensions/browser/view_type_utils.h"
26 #include "ui/gfx/geometry/rect.h" 27 #include "ui/gfx/geometry/rect.h"
27 28
28 using content::SiteInstance; 29 using content::SiteInstance;
29 using content::WebContents; 30 using content::WebContents;
30 31
(...skipping 17 matching lines...) Expand all
48 create_params.main_frame_widget_routing_id = main_frame_widget_routing_id; 49 create_params.main_frame_widget_routing_id = main_frame_widget_routing_id;
49 create_params.renderer_initiated_creation = routing_id != MSG_ROUTING_NONE; 50 create_params.renderer_initiated_creation = routing_id != MSG_ROUTING_NONE;
50 if (session_storage_namespace) { 51 if (session_storage_namespace) {
51 content::SessionStorageNamespaceMap session_storage_namespace_map; 52 content::SessionStorageNamespaceMap session_storage_namespace_map;
52 session_storage_namespace_map.insert( 53 session_storage_namespace_map.insert(
53 std::make_pair(partition_id, session_storage_namespace)); 54 std::make_pair(partition_id, session_storage_namespace));
54 web_contents_.reset(WebContents::CreateWithSessionStorage( 55 web_contents_.reset(WebContents::CreateWithSessionStorage(
55 create_params, session_storage_namespace_map)); 56 create_params, session_storage_namespace_map));
56 } else { 57 } else {
57 web_contents_.reset(WebContents::Create(create_params)); 58 web_contents_.reset(WebContents::Create(create_params));
59 WebContentsSource::CreateForWebContentsAndLocation(web_contents_.get(),
60 FROM_HERE);
58 } 61 }
59 extensions::SetViewType( 62 extensions::SetViewType(
60 web_contents_.get(), extensions::VIEW_TYPE_BACKGROUND_CONTENTS); 63 web_contents_.get(), extensions::VIEW_TYPE_BACKGROUND_CONTENTS);
61 web_contents_->SetDelegate(this); 64 web_contents_->SetDelegate(this);
62 content::WebContentsObserver::Observe(web_contents_.get()); 65 content::WebContentsObserver::Observe(web_contents_.get());
63 extensions::ChromeExtensionWebContentsObserver::CreateForWebContents( 66 extensions::ChromeExtensionWebContentsObserver::CreateForWebContents(
64 web_contents_.get()); 67 web_contents_.get());
65 68
66 // Add the TaskManager-specific tag for the BackgroundContents. 69 // Add the TaskManager-specific tag for the BackgroundContents.
67 task_management::WebContentsTags::CreateForBackgroundContents( 70 task_management::WebContentsTags::CreateForBackgroundContents(
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 217
215 void BackgroundContents::AddDeferredStartRenderHostObserver( 218 void BackgroundContents::AddDeferredStartRenderHostObserver(
216 extensions::DeferredStartRenderHostObserver* observer) { 219 extensions::DeferredStartRenderHostObserver* observer) {
217 deferred_start_render_host_observer_list_.AddObserver(observer); 220 deferred_start_render_host_observer_list_.AddObserver(observer);
218 } 221 }
219 222
220 void BackgroundContents::RemoveDeferredStartRenderHostObserver( 223 void BackgroundContents::RemoveDeferredStartRenderHostObserver(
221 extensions::DeferredStartRenderHostObserver* observer) { 224 extensions::DeferredStartRenderHostObserver* observer) {
222 deferred_start_render_host_observer_list_.RemoveObserver(observer); 225 deferred_start_render_host_observer_list_.RemoveObserver(observer);
223 } 226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698