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

Side by Side Diff: chrome/browser/extensions/api/declarative/rules_registry.cc

Issue 108193008: Don't post tasks from RulesRegistry c-tor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Now it also compiles Created 7 years 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/extensions/api/declarative/rules_registry.h" 5 #include "chrome/browser/extensions/api/declarative/rules_registry.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 const WebViewKey& webview_key) 81 const WebViewKey& webview_key)
82 : profile_(profile), 82 : profile_(profile),
83 owner_thread_(owner_thread), 83 owner_thread_(owner_thread),
84 event_name_(event_name), 84 event_name_(event_name),
85 webview_key_(webview_key), 85 webview_key_(webview_key),
86 weak_ptr_factory_(profile ? this : NULL), 86 weak_ptr_factory_(profile ? this : NULL),
87 last_generated_rule_identifier_id_(0) { 87 last_generated_rule_identifier_id_(0) {
88 if (cache_delegate) { 88 if (cache_delegate) {
89 cache_delegate_ = cache_delegate->GetWeakPtr(); 89 cache_delegate_ = cache_delegate->GetWeakPtr();
90 cache_delegate->Init(this); 90 cache_delegate->Init(this);
91 } else {
92 content::BrowserThread::PostTask(
93 owner_thread,
94 FROM_HERE,
95 base::Bind(&RulesRegistry::MarkReady, this, base::Time::Now()));
96 } 91 }
92 // Note that if |cache_delegate| is NULL, the Rulesregistry never signals its
93 // |ready_| event. That's OK, because that event is only ever needed by the
94 // cache delegate.
97 } 95 }
98 96
99 std::string RulesRegistry::AddRulesNoFill( 97 std::string RulesRegistry::AddRulesNoFill(
100 const std::string& extension_id, 98 const std::string& extension_id,
101 const std::vector<linked_ptr<Rule> >& rules) { 99 const std::vector<linked_ptr<Rule> >& rules) {
102 DCHECK(content::BrowserThread::CurrentlyOn(owner_thread())); 100 DCHECK(content::BrowserThread::CurrentlyOn(owner_thread()));
103 101
104 // Verify that all rule IDs are new. 102 // Verify that all rule IDs are new.
105 for (std::vector<linked_ptr<Rule> >::const_iterator i = 103 for (std::vector<linked_ptr<Rule> >::const_iterator i =
106 rules.begin(); i != rules.end(); ++i) { 104 rules.begin(); i != rules.end(); ++i) {
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 for (i = identifiers.begin(); i != identifiers.end(); ++i) 368 for (i = identifiers.begin(); i != identifiers.end(); ++i)
371 used_rule_identifiers_[extension_id].erase(*i); 369 used_rule_identifiers_[extension_id].erase(*i);
372 } 370 }
373 371
374 void RulesRegistry::RemoveAllUsedRuleIdentifiers( 372 void RulesRegistry::RemoveAllUsedRuleIdentifiers(
375 const std::string& extension_id) { 373 const std::string& extension_id) {
376 used_rule_identifiers_.erase(extension_id); 374 used_rule_identifiers_.erase(extension_id);
377 } 375 }
378 376
379 } // namespace extensions 377 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698