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

Side by Side Diff: extensions/browser/extension_protocols.cc

Issue 653863003: Adding instrumentation to locate the source of jankiness. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 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 "extensions/browser/extension_protocols.h" 5 #include "extensions/browser/extension_protocols.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/base64.h" 11 #include "base/base64.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
14 #include "base/files/file_util.h" 14 #include "base/files/file_util.h"
15 #include "base/format_macros.h" 15 #include "base/format_macros.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/memory/weak_ptr.h" 17 #include "base/memory/weak_ptr.h"
18 #include "base/message_loop/message_loop.h" 18 #include "base/message_loop/message_loop.h"
19 #include "base/metrics/field_trial.h" 19 #include "base/metrics/field_trial.h"
20 #include "base/metrics/histogram.h" 20 #include "base/metrics/histogram.h"
21 #include "base/metrics/sparse_histogram.h" 21 #include "base/metrics/sparse_histogram.h"
22 #include "base/path_service.h" 22 #include "base/path_service.h"
23 #include "base/profiler/scoped_profile.h"
23 #include "base/sha1.h" 24 #include "base/sha1.h"
24 #include "base/strings/string_number_conversions.h" 25 #include "base/strings/string_number_conversions.h"
25 #include "base/strings/string_util.h" 26 #include "base/strings/string_util.h"
26 #include "base/strings/stringprintf.h" 27 #include "base/strings/stringprintf.h"
27 #include "base/strings/utf_string_conversions.h" 28 #include "base/strings/utf_string_conversions.h"
28 #include "base/threading/sequenced_worker_pool.h" 29 #include "base/threading/sequenced_worker_pool.h"
29 #include "base/threading/thread_restrictions.h" 30 #include "base/threading/thread_restrictions.h"
30 #include "base/timer/elapsed_timer.h" 31 #include "base/timer/elapsed_timer.h"
31 #include "build/build_config.h" 32 #include "build/build_config.h"
32 #include "content/public/browser/browser_thread.h" 33 #include "content/public/browser/browser_thread.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 response_info_.headers = BuildHttpHeaders(content_security_policy, 81 response_info_.headers = BuildHttpHeaders(content_security_policy,
81 send_cors_headers, 82 send_cors_headers,
82 base::Time()); 83 base::Time());
83 } 84 }
84 85
85 // Overridden from URLRequestSimpleJob: 86 // Overridden from URLRequestSimpleJob:
86 virtual int GetData(std::string* mime_type, 87 virtual int GetData(std::string* mime_type,
87 std::string* charset, 88 std::string* charset,
88 std::string* data, 89 std::string* data,
89 const net::CompletionCallback& callback) const override { 90 const net::CompletionCallback& callback) const override {
91 // TODO(vadimt): Remove ScopedProfile below once crbug.com/422489 is fixed.
92 tracked_objects::ScopedProfile tracking_profile(
93 FROM_HERE_WITH_EXPLICIT_FUNCTION(
94 "422489 GeneratedBackgroundPageJob::GetData"));
95
90 *mime_type = "text/html"; 96 *mime_type = "text/html";
91 *charset = "utf-8"; 97 *charset = "utf-8";
92 98
93 *data = "<!DOCTYPE html>\n<body>\n"; 99 *data = "<!DOCTYPE html>\n<body>\n";
94 const std::vector<std::string>& background_scripts = 100 const std::vector<std::string>& background_scripts =
95 extensions::BackgroundInfo::GetBackgroundScripts(extension_.get()); 101 extensions::BackgroundInfo::GetBackgroundScripts(extension_.get());
96 for (size_t i = 0; i < background_scripts.size(); ++i) { 102 for (size_t i = 0; i < background_scripts.size(); ++i) {
97 *data += "<script src=\""; 103 *data += "<script src=\"";
98 *data += background_scripts[i]; 104 *data += background_scripts[i];
99 *data += "\"></script>\n"; 105 *data += "\"></script>\n";
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return new net::HttpResponseHeaders(raw_headers); 557 return new net::HttpResponseHeaders(raw_headers);
552 } 558 }
553 559
554 net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler( 560 net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler(
555 bool is_incognito, 561 bool is_incognito,
556 extensions::InfoMap* extension_info_map) { 562 extensions::InfoMap* extension_info_map) {
557 return new ExtensionProtocolHandler(is_incognito, extension_info_map); 563 return new ExtensionProtocolHandler(is_incognito, extension_info_map);
558 } 564 }
559 565
560 } // namespace extensions 566 } // namespace extensions
OLDNEW
« no previous file with comments | « content/browser/tcmalloc_internals_request_job.cc ('k') | net/url_request/url_request_data_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698