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

Side by Side Diff: chrome/browser/bookmarks/chrome_bookmark_client.cc

Issue 375683002: Annotate leak in ChromeBookmarkClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/bookmarks/chrome_bookmark_client.h" 5 #include "chrome/browser/bookmarks/chrome_bookmark_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/debug/leak_annotations.h"
9 #include "base/logging.h" 10 #include "base/logging.h"
10 #include "base/values.h" 11 #include "base/values.h"
11 #include "chrome/browser/chrome_notification_types.h" 12 #include "chrome/browser/chrome_notification_types.h"
12 #include "chrome/browser/favicon/favicon_changed_details.h" 13 #include "chrome/browser/favicon/favicon_changed_details.h"
13 #include "chrome/browser/favicon/favicon_service.h" 14 #include "chrome/browser/favicon/favicon_service.h"
14 #include "chrome/browser/favicon/favicon_service_factory.h" 15 #include "chrome/browser/favicon/favicon_service_factory.h"
15 #include "chrome/browser/history/history_service.h" 16 #include "chrome/browser/history/history_service.h"
16 #include "chrome/browser/history/history_service_factory.h" 17 #include "chrome/browser/history/history_service_factory.h"
17 #include "chrome/browser/policy/profile_policy_connector.h" 18 #include "chrome/browser/policy/profile_policy_connector.h"
18 #include "chrome/browser/policy/profile_policy_connector_factory.h" 19 #include "chrome/browser/policy/profile_policy_connector_factory.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 } 159 }
159 160
160 void ChromeBookmarkClient::RecordAction(const base::UserMetricsAction& action) { 161 void ChromeBookmarkClient::RecordAction(const base::UserMetricsAction& action) {
161 content::RecordAction(action); 162 content::RecordAction(action);
162 } 163 }
163 164
164 bookmarks::LoadExtraCallback ChromeBookmarkClient::GetLoadExtraNodesCallback() { 165 bookmarks::LoadExtraCallback ChromeBookmarkClient::GetLoadExtraNodesCallback() {
165 // Create the managed_node now; it will be populated in the LoadExtraNodes 166 // Create the managed_node now; it will be populated in the LoadExtraNodes
166 // callback. 167 // callback.
167 managed_node_ = new BookmarkPermanentNode(0); 168 managed_node_ = new BookmarkPermanentNode(0);
169 // The ownership of this object is in limbo until the LoadExtraNodes task
170 // runs, but in a ProfileBrowserTest this never happens.
171 // crbug.com/391508
172 ANNOTATE_LEAKING_OBJECT_PTR(managed_node_);
173
168 return base::Bind( 174 return base::Bind(
169 &ChromeBookmarkClient::LoadExtraNodes, 175 &ChromeBookmarkClient::LoadExtraNodes,
170 StartupTaskRunnerServiceFactory::GetForProfile(profile_) 176 StartupTaskRunnerServiceFactory::GetForProfile(profile_)
171 ->GetBookmarkTaskRunner(), 177 ->GetBookmarkTaskRunner(),
172 managed_node_, 178 managed_node_,
173 base::Passed(managed_bookmarks_tracker_->GetInitialManagedBookmarks())); 179 base::Passed(managed_bookmarks_tracker_->GetInitialManagedBookmarks()));
174 } 180 }
175 181
176 bool ChromeBookmarkClient::CanSetPermanentNodeTitle( 182 bool ChromeBookmarkClient::CanSetPermanentNodeTitle(
177 const BookmarkNode* permanent_node) { 183 const BookmarkNode* permanent_node) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 return extra_nodes.Pass(); 260 return extra_nodes.Pass();
255 } 261 }
256 262
257 std::string ChromeBookmarkClient::GetManagedBookmarksDomain() { 263 std::string ChromeBookmarkClient::GetManagedBookmarksDomain() {
258 policy::ProfilePolicyConnector* connector = 264 policy::ProfilePolicyConnector* connector =
259 policy::ProfilePolicyConnectorFactory::GetForProfile(profile_); 265 policy::ProfilePolicyConnectorFactory::GetForProfile(profile_);
260 if (connector->IsPolicyFromCloudPolicy(policy::key::kManagedBookmarks)) 266 if (connector->IsPolicyFromCloudPolicy(policy::key::kManagedBookmarks))
261 return connector->GetManagementDomain(); 267 return connector->GetManagementDomain();
262 return std::string(); 268 return std::string();
263 } 269 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698