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

Side by Side Diff: components/subresource_filter/core/browser/subresource_filter_features.cc

Issue 2875033004: [subresource_filter] Add debugging trace events around activation (Closed)
Patch Set: quick fix Created 3 years, 7 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/subresource_filter/core/browser/subresource_filter_features .h" 5 #include "components/subresource_filter/core/browser/subresource_filter_features .h"
6 6
7 #include <map> 7 #include <map>
8 #include <ostream> 8 #include <ostream>
9 #include <sstream> 9 #include <sstream>
10 #include <string> 10 #include <string>
11 #include <tuple> 11 #include <tuple>
12 #include <utility> 12 #include <utility>
13 13
14 #include "base/json/json_writer.h"
15 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
15 #include "base/memory/ptr_util.h"
16 #include "base/metrics/field_trial_params.h" 16 #include "base/metrics/field_trial_params.h"
17 #include "base/strings/string_number_conversions.h" 17 #include "base/strings/string_number_conversions.h"
18 #include "base/strings/string_split.h" 18 #include "base/strings/string_split.h"
19 #include "base/strings/string_util.h" 19 #include "base/strings/string_util.h"
20 #include "base/synchronization/lock.h" 20 #include "base/synchronization/lock.h"
21 #include "base/values.h" 21 #include "base/trace_event/trace_event_argument.h"
22 #include "components/variations/variations_associated_data.h" 22 #include "components/variations/variations_associated_data.h"
23 23
24 namespace subresource_filter { 24 namespace subresource_filter {
25 25
26 namespace { 26 namespace {
27 27
28 // Helpers -------------------------------------------------------------------- 28 // Helpers --------------------------------------------------------------------
29 29
30 class CommaSeparatedStrings { 30 class CommaSeparatedStrings {
31 public: 31 public:
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 config.activation_options.should_suppress_notifications, 312 config.activation_options.should_suppress_notifications,
313 config.general_settings.ruleset_flavor); 313 config.general_settings.ruleset_flavor);
314 }; 314 };
315 return tie(*this) == tie(rhs); 315 return tie(*this) == tie(rhs);
316 } 316 }
317 317
318 bool Configuration::operator!=(const Configuration& rhs) const { 318 bool Configuration::operator!=(const Configuration& rhs) const {
319 return !(*this == rhs); 319 return !(*this == rhs);
320 } 320 }
321 321
322 std::ostream& operator<<(std::ostream& os, const Configuration& config) { 322 std::unique_ptr<base::trace_event::TracedValue> Configuration::ToTracedValue()
323 base::DictionaryValue dict; 323 const {
324 dict.SetString("activation_scope", 324 auto value = base::MakeUnique<base::trace_event::TracedValue>();
325 StreamToString(config.activation_conditions.activation_scope)); 325 value->SetString("activation_scope",
326 dict.SetString("activation_list", 326 StreamToString(activation_conditions.activation_scope));
327 StreamToString(config.activation_conditions.activation_list)); 327 value->SetString("activation_list",
328 dict.SetInteger("priority", config.activation_conditions.priority); 328 StreamToString(activation_conditions.activation_list));
329 dict.SetString("activation_level", 329 value->SetInteger("priority", activation_conditions.priority);
330 StreamToString(config.activation_options.activation_level)); 330 value->SetString("activation_level",
331 dict.SetDouble("performance_measurement_rate", 331 StreamToString(activation_options.activation_level));
332 config.activation_options.performance_measurement_rate); 332 value->SetDouble("performance_measurement_rate",
333 dict.SetBoolean("should_suppress_notifications", 333 activation_options.performance_measurement_rate);
334 config.activation_options.should_suppress_notifications); 334 value->SetBoolean("should_suppress_notifications",
335 dict.SetBoolean("should_whitelist_site_on_reload", 335 activation_options.should_suppress_notifications);
336 config.activation_options.should_whitelist_site_on_reload); 336 value->SetBoolean("should_whitelist_site_on_reload",
337 dict.SetString("ruleset_flavor", 337 activation_options.should_whitelist_site_on_reload);
338 StreamToString(config.general_settings.ruleset_flavor)); 338 value->SetString("ruleset_flavor",
339 std::string json; 339 StreamToString(general_settings.ruleset_flavor));
340 base::JSONWriter::WriteWithOptions( 340 return value;
341 dict, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json);
342 return os << json;
343 } 341 }
344 342
345 // ConfigurationList ---------------------------------------------------------- 343 // ConfigurationList ----------------------------------------------------------
346 344
347 ConfigurationList::ConfigurationList(std::vector<Configuration> configs) 345 ConfigurationList::ConfigurationList(std::vector<Configuration> configs)
348 : configs_by_decreasing_priority_( 346 : configs_by_decreasing_priority_(
349 SortConfigsByDecreasingPriority(std::move(configs))), 347 SortConfigsByDecreasingPriority(std::move(configs))),
350 lexicographically_greatest_ruleset_flavor_( 348 lexicographically_greatest_ruleset_flavor_(
351 GetLexicographicallyGreatestRulesetFlavor( 349 GetLexicographicallyGreatestRulesetFlavor(
352 configs_by_decreasing_priority_)) {} 350 configs_by_decreasing_priority_)) {}
(...skipping 14 matching lines...) Expand all
367 scoped_refptr<ConfigurationList> new_configs) { 365 scoped_refptr<ConfigurationList> new_configs) {
368 base::AutoLock lock(g_active_configurations_lock.Get()); 366 base::AutoLock lock(g_active_configurations_lock.Get());
369 auto old_configs = std::move(g_active_configurations.Get()); 367 auto old_configs = std::move(g_active_configurations.Get());
370 g_active_configurations.Get() = std::move(new_configs); 368 g_active_configurations.Get() = std::move(new_configs);
371 return old_configs; 369 return old_configs;
372 } 370 }
373 371
374 } // namespace testing 372 } // namespace testing
375 373
376 } // namespace subresource_filter 374 } // namespace subresource_filter
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698