From 1408c8297755306f0d688956fbc2f93fd6d692ac Mon Sep 17 00:00:00 2001 From: "erg@chromium.org" Date: Thu, 17 Jun 2010 00:45:34 +0000 Subject: Revert 50057 - Load net-internals from the newly created resources.pak file. This patch also forces the loading of the optional DataPack for const correctness reasons BUG=35793,42770 TEST=none Review URL: http://codereview.chromium.org/2855003 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2852011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50059 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/dom_ui/net_internals_ui.cc | 78 ++++++++++++++----------------- chrome/chrome_browser.gypi | 37 ++++++++++++++- chrome/common/chrome_paths.cc | 5 ++ chrome/common/chrome_paths.h | 1 + 4 files changed, 76 insertions(+), 45 deletions(-) (limited to 'chrome') diff --git a/chrome/browser/dom_ui/net_internals_ui.cc b/chrome/browser/dom_ui/net_internals_ui.cc index 96ee59e..553d197 100644 --- a/chrome/browser/dom_ui/net_internals_ui.cc +++ b/chrome/browser/dom_ui/net_internals_ui.cc @@ -36,8 +36,6 @@ #include "chrome/common/net/url_request_context_getter.h" #include "chrome/common/url_constants.h" #include "grit/generated_resources.h" -#include "grit/net_internals_resources.h" -#include "grit/net_internals_resources_map.h" #include "net/base/escape.h" #include "net/base/host_resolver_impl.h" #include "net/base/net_errors.h" @@ -318,57 +316,51 @@ NetInternalsHTMLSource::NetInternalsHTMLSource() void NetInternalsHTMLSource::StartDataRequest(const std::string& path, bool is_off_the_record, int request_id) { + // The provided |path| identifies a file in resources/net_internals/. + std::string data_string; + FilePath file_path; + PathService::Get(chrome::DIR_NET_INTERNALS, &file_path); + std::string filename; + // The provided "path" may contain a fragment, or query section. We only // care about the path itself, and will disregard anything else. - std::string filename = - GURL(std::string("chrome://net/") + path).path().substr(1); + filename = GURL(std::string("chrome://net/") + path).path().substr(1); + if (filename.empty()) filename = "index.html"; - // The name of the files in the grd list are prefixed with the following - // directory: - std::string key("net_internals/"); - key += filename; - - const ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - for (size_t i = 0; i < kNetInternalsResourcesSize; ++i) { - if (kNetInternalsResources[i].name == key) { - scoped_refptr bytes( - rb.LoadDataResourceBytes(kNetInternalsResources[i].value)); - if (bytes && bytes->front()) { - SendResponse(request_id, bytes); - return; - } - } + file_path = file_path.AppendASCII(filename); + + if (!file_util::ReadFileToString(file_path, &data_string)) { + LOG(WARNING) << "Could not read resource: " << file_path.value(); + data_string = StringPrintf("

Failed to read file " + "RESOURCES/net_internals/%s

", + EscapeForHTML(filename).c_str()); + + // During the transition from old implementation to new implementation, + // users may be entering the URLs for the old frontend. + data_string.append( + "

Note that the URL scheme for net-internals has changed because of " + "its new implementation (bug 37421):

" + ""); } - LOG(WARNING) << "Could not read resource: " << path; - std::string data_string = "

Failed to read resource"; - data_string.append(EscapeForHTML(filename)); - data_string.append("

"); - - // During the transition from old implementation to new implementation, - // users may be entering the URLs for the old frontend. - data_string.append( - "

Note that the URL scheme for net-internals has changed because of " - "its new implementation (bug 37421):

" - ""); - scoped_refptr bytes(new RefCountedBytes); bytes->data.resize(data_string.size()); std::copy(data_string.begin(), data_string.end(), bytes->data.begin()); + SendResponse(request_id, bytes); } diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 686d527..2604138 100755 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -17,6 +17,7 @@ 'chrome_version_info', 'component_extensions', 'domui_shared_resources', + 'net_internals_resources', 'platform_locale_settings', 'profile_import', 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp', @@ -2671,9 +2672,8 @@ 'browser/zygote_host_linux.cc', 'browser/zygote_main_linux.cc', - # These files are generated by GRIT. + # This file is generated by GRIT. '<(grit_out_dir)/grit/theme_resources_map.cc', - '<(grit_out_dir)/grit/net_internals_resources_map.cc', ], 'conditions': [ ['javascript_engine=="v8"', { @@ -3540,6 +3540,39 @@ ], }, { + 'target_name': 'net_internals_resources', + 'type': 'none', + # TODO(eroman): Once the msvs port supports it, change this to recursively + # copy the entire directory instead of listing the files. + # http://code.google.com/p/gyp/issues/detail?id=143. + 'copies': [ + { + 'destination': '<(PRODUCT_DIR)/resources/net_internals', + 'files': [ + 'browser/resources/net_internals/dataview.js', + 'browser/resources/net_internals/detailsview.js', + 'browser/resources/net_internals/dnsview.js', + 'browser/resources/net_internals/httpcacheview.js', + 'browser/resources/net_internals/index.html', + 'browser/resources/net_internals/loggrouper.js', + 'browser/resources/net_internals/logviewpainter.js', + 'browser/resources/net_internals/main.css', + 'browser/resources/net_internals/main.js', + 'browser/resources/net_internals/proxyview.js', + 'browser/resources/net_internals/requestsview.js', + 'browser/resources/net_internals/resizableverticalsplitview.js', + 'browser/resources/net_internals/sourceentry.js', + 'browser/resources/net_internals/tabswitcherview.js', + 'browser/resources/net_internals/testview.js', + 'browser/resources/net_internals/timelineviewpainter.js', + 'browser/resources/net_internals/topmidbottomview.js', + 'browser/resources/net_internals/util.js', + 'browser/resources/net_internals/view.js', + ] + }, + ] + }, + { # Protobuf compiler / generate rule for feedback 'target_name': 'userfeedback_proto', 'type': 'none', diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc index b0559688..9dca7e0 100644 --- a/chrome/common/chrome_paths.cc +++ b/chrome/common/chrome_paths.cc @@ -168,6 +168,11 @@ bool PathProvider(int key, FilePath* result) { return false; cur = cur.Append(FILE_PATH_LITERAL("inspector")); break; + case chrome::DIR_NET_INTERNALS: + if (!PathService::Get(chrome::DIR_RESOURCES, &cur)) + return false; + cur = cur.Append(FILE_PATH_LITERAL("net_internals")); + break; case chrome::DIR_APP_DICTIONARIES: #if defined(OS_LINUX) || defined(OS_MACOSX) // We can't write into the EXE dir on Linux, so keep dictionaries diff --git a/chrome/common/chrome_paths.h b/chrome/common/chrome_paths.h index 258123d..69239ad 100644 --- a/chrome/common/chrome_paths.h +++ b/chrome/common/chrome_paths.h @@ -26,6 +26,7 @@ enum { // by DOMUI and component extensions. DIR_BOOKMARK_MANAGER, // Directory containing the bookmark manager. DIR_INSPECTOR, // Directory where web inspector is located. + DIR_NET_INTERNALS, // Directory where net internals is located. DIR_APP_DICTIONARIES, // Directory where the global dictionaries are. DIR_USER_DOCUMENTS, // Directory for a user's "My Documents". DIR_DEFAULT_DOWNLOADS_SAFE, // Directory for a user's -- cgit v1.1