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

Side by Side Diff: chrome/browser/sync/internal_api/sync_manager.cc

Issue 9836100: Add full text regex searching to chrome://sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo Created 8 years, 8 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 (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/sync/internal_api/sync_manager.h" 5 #include "chrome/browser/sync/internal_api/sync_manager.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 BindJsMessageHandler( 169 BindJsMessageHandler(
170 "getRootNodeDetails", 170 "getRootNodeDetails",
171 &SyncManager::SyncInternal::GetRootNodeDetails); 171 &SyncManager::SyncInternal::GetRootNodeDetails);
172 BindJsMessageHandler( 172 BindJsMessageHandler(
173 "getNodeSummariesById", 173 "getNodeSummariesById",
174 &SyncManager::SyncInternal::GetNodeSummariesById); 174 &SyncManager::SyncInternal::GetNodeSummariesById);
175 BindJsMessageHandler( 175 BindJsMessageHandler(
176 "getNodeDetailsById", 176 "getNodeDetailsById",
177 &SyncManager::SyncInternal::GetNodeDetailsById); 177 &SyncManager::SyncInternal::GetNodeDetailsById);
178 BindJsMessageHandler( 178 BindJsMessageHandler(
179 "getAllNodes",
180 &SyncManager::SyncInternal::GetAllNodes);
181 BindJsMessageHandler(
179 "getChildNodeIds", 182 "getChildNodeIds",
180 &SyncManager::SyncInternal::GetChildNodeIds); 183 &SyncManager::SyncInternal::GetChildNodeIds);
181 BindJsMessageHandler( 184 BindJsMessageHandler(
182 "findNodesContainingString",
183 &SyncManager::SyncInternal::FindNodesContainingString);
184 BindJsMessageHandler(
185 "getClientServerTraffic", 185 "getClientServerTraffic",
186 &SyncManager::SyncInternal::GetClientServerTraffic); 186 &SyncManager::SyncInternal::GetClientServerTraffic);
187 } 187 }
188 188
189 virtual ~SyncInternal() { 189 virtual ~SyncInternal() {
190 CHECK(!initialized_); 190 CHECK(!initialized_);
191 } 191 }
192 192
193 bool Init(const FilePath& database_location, 193 bool Init(const FilePath& database_location,
194 const WeakHandle<JsEventHandler>& event_handler, 194 const WeakHandle<JsEventHandler>& event_handler,
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 const std::string& name, UnboundJsMessageHandler unbound_message_handler); 519 const std::string& name, UnboundJsMessageHandler unbound_message_handler);
520 520
521 // Returned pointer is owned by the caller. 521 // Returned pointer is owned by the caller.
522 static DictionaryValue* NotificationInfoToValue( 522 static DictionaryValue* NotificationInfoToValue(
523 const NotificationInfoMap& notification_info); 523 const NotificationInfoMap& notification_info);
524 524
525 // JS message handlers. 525 // JS message handlers.
526 JsArgList GetNotificationState(const JsArgList& args); 526 JsArgList GetNotificationState(const JsArgList& args);
527 JsArgList GetNotificationInfo(const JsArgList& args); 527 JsArgList GetNotificationInfo(const JsArgList& args);
528 JsArgList GetRootNodeDetails(const JsArgList& args); 528 JsArgList GetRootNodeDetails(const JsArgList& args);
529 JsArgList GetAllNodes(const JsArgList& args);
529 JsArgList GetNodeSummariesById(const JsArgList& args); 530 JsArgList GetNodeSummariesById(const JsArgList& args);
530 JsArgList GetNodeDetailsById(const JsArgList& args); 531 JsArgList GetNodeDetailsById(const JsArgList& args);
531 JsArgList GetChildNodeIds(const JsArgList& args); 532 JsArgList GetChildNodeIds(const JsArgList& args);
532 JsArgList FindNodesContainingString(const JsArgList& args);
533 JsArgList GetClientServerTraffic(const JsArgList& args); 533 JsArgList GetClientServerTraffic(const JsArgList& args);
534 534
535 FilePath database_path_; 535 FilePath database_path_;
536 536
537 const std::string name_; 537 const std::string name_;
538 538
539 base::ThreadChecker thread_checker_; 539 base::ThreadChecker thread_checker_;
540 540
541 base::WeakPtrFactory<SyncInternal> weak_ptr_factory_; 541 base::WeakPtrFactory<SyncInternal> weak_ptr_factory_;
542 542
(...skipping 1741 matching lines...) Expand 10 before | Expand all | Expand 10 after
2284 JsArgList SyncManager::SyncInternal::GetNodeSummariesById( 2284 JsArgList SyncManager::SyncInternal::GetNodeSummariesById(
2285 const JsArgList& args) { 2285 const JsArgList& args) {
2286 return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetSummaryAsValue); 2286 return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetSummaryAsValue);
2287 } 2287 }
2288 2288
2289 JsArgList SyncManager::SyncInternal::GetNodeDetailsById( 2289 JsArgList SyncManager::SyncInternal::GetNodeDetailsById(
2290 const JsArgList& args) { 2290 const JsArgList& args) {
2291 return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetDetailsAsValue); 2291 return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetDetailsAsValue);
2292 } 2292 }
2293 2293
2294 JsArgList SyncManager::SyncInternal::GetAllNodes(
2295 const JsArgList& args) {
2296 ListValue return_args;
2297 ListValue* result = new ListValue();
2298 return_args.Append(result);
2299
2300 ReadTransaction trans(FROM_HERE, GetUserShare());
2301 std::vector<const syncable::EntryKernel*> entry_kernels;
2302 trans.GetDirectory()->GetAllEntryKernels(trans.GetWrappedTrans(),
2303 &entry_kernels);
2304
2305 for (std::vector<const syncable::EntryKernel*>::const_iterator it =
2306 entry_kernels.begin(); it != entry_kernels.end(); ++it) {
2307 result->Append((*it)->ToValue());
2308 }
2309
2310 return JsArgList(&return_args);
2311 }
2312
2294 JsArgList SyncManager::SyncInternal::GetChildNodeIds( 2313 JsArgList SyncManager::SyncInternal::GetChildNodeIds(
2295 const JsArgList& args) { 2314 const JsArgList& args) {
2296 ListValue return_args; 2315 ListValue return_args;
2297 ListValue* child_ids = new ListValue(); 2316 ListValue* child_ids = new ListValue();
2298 return_args.Append(child_ids); 2317 return_args.Append(child_ids);
2299 int64 id = GetId(args.Get(), 0); 2318 int64 id = GetId(args.Get(), 0);
2300 if (id != kInvalidId) { 2319 if (id != kInvalidId) {
2301 ReadTransaction trans(FROM_HERE, GetUserShare()); 2320 ReadTransaction trans(FROM_HERE, GetUserShare());
2302 syncable::Directory::ChildHandles child_handles; 2321 syncable::Directory::ChildHandles child_handles;
2303 trans.GetDirectory()->GetChildHandlesByHandle(trans.GetWrappedTrans(), 2322 trans.GetDirectory()->GetChildHandlesByHandle(trans.GetWrappedTrans(),
2304 id, &child_handles); 2323 id, &child_handles);
2305 for (syncable::Directory::ChildHandles::const_iterator it = 2324 for (syncable::Directory::ChildHandles::const_iterator it =
2306 child_handles.begin(); it != child_handles.end(); ++it) { 2325 child_handles.begin(); it != child_handles.end(); ++it) {
2307 child_ids->Append(Value::CreateStringValue( 2326 child_ids->Append(Value::CreateStringValue(
2308 base::Int64ToString(*it))); 2327 base::Int64ToString(*it)));
2309 } 2328 }
2310 } 2329 }
2311 return JsArgList(&return_args); 2330 return JsArgList(&return_args);
2312 } 2331 }
2313 2332
2314 JsArgList SyncManager::SyncInternal::FindNodesContainingString(
2315 const JsArgList& args) {
2316 std::string query;
2317 ListValue return_args;
2318 if (!args.Get().GetString(0, &query)) {
2319 return_args.Append(new ListValue());
2320 return JsArgList(&return_args);
2321 }
2322
2323 // Convert the query string to lower case to perform case insensitive
2324 // searches.
2325 std::string lowercase_query = query;
2326 StringToLowerASCII(&lowercase_query);
2327
2328 ListValue* result = new ListValue();
2329 return_args.Append(result);
2330
2331 ReadTransaction trans(FROM_HERE, GetUserShare());
2332 std::vector<const syncable::EntryKernel*> entry_kernels;
2333 trans.GetDirectory()->GetAllEntryKernels(trans.GetWrappedTrans(),
2334 &entry_kernels);
2335
2336 for (std::vector<const syncable::EntryKernel*>::const_iterator it =
2337 entry_kernels.begin(); it != entry_kernels.end(); ++it) {
2338 if ((*it)->ContainsString(lowercase_query)) {
2339 result->Append(new StringValue(base::Int64ToString(
2340 (*it)->ref(syncable::META_HANDLE))));
2341 }
2342 }
2343
2344 return JsArgList(&return_args);
2345 }
2346
2347 void SyncManager::SyncInternal::OnEncryptedTypesChanged( 2333 void SyncManager::SyncInternal::OnEncryptedTypesChanged(
2348 syncable::ModelTypeSet encrypted_types, 2334 syncable::ModelTypeSet encrypted_types,
2349 bool encrypt_everything) { 2335 bool encrypt_everything) {
2350 // NOTE: We're in a transaction. 2336 // NOTE: We're in a transaction.
2351 FOR_EACH_OBSERVER( 2337 FOR_EACH_OBSERVER(
2352 SyncManager::Observer, observers_, 2338 SyncManager::Observer, observers_,
2353 OnEncryptedTypesChanged(encrypted_types, encrypt_everything)); 2339 OnEncryptedTypesChanged(encrypted_types, encrypt_everything));
2354 } 2340 }
2355 2341
2356 void SyncManager::SyncInternal::OnNotificationStateChange( 2342 void SyncManager::SyncInternal::OnNotificationStateChange(
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
2575 share->directory->GetDownloadProgress(i.Get(), &marker); 2561 share->directory->GetDownloadProgress(i.Get(), &marker);
2576 2562
2577 if (marker.token().empty()) 2563 if (marker.token().empty())
2578 result.Put(i.Get()); 2564 result.Put(i.Get());
2579 2565
2580 } 2566 }
2581 return result; 2567 return result;
2582 } 2568 }
2583 2569
2584 } // namespace sync_api 2570 } // namespace sync_api
OLDNEW
« no previous file with comments | « chrome/browser/resources/sync_internals/sync_search.js ('k') | chrome/browser/sync/internal_api/syncapi_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698