Add missing svn:eol-style attribute to browser_devtools_scheme_handler.[h|cc]

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@467 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-01-19 15:43:50 +00:00
parent 1e811415aa
commit 9f53a6dae6
2 changed files with 148 additions and 148 deletions

View File

@ -1,132 +1,132 @@
// Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights // Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that can // reserved. Use of this source code is governed by a BSD-style license that can
// be found in the LICENSE file. // be found in the LICENSE file.
#include "libcef/browser_devtools_scheme_handler.h" #include "libcef/browser_devtools_scheme_handler.h"
#include <string> #include <string>
#include "include/cef_browser.h" #include "include/cef_browser.h"
#include "include/cef_request.h" #include "include/cef_request.h"
#include "include/cef_response.h" #include "include/cef_response.h"
#include "include/cef_scheme.h" #include "include/cef_scheme.h"
#include "include/cef_stream.h" #include "include/cef_stream.h"
#include "include/cef_url.h" #include "include/cef_url.h"
#include "libcef/browser_webkit_glue.h" #include "libcef/browser_webkit_glue.h"
#include "base/file_util.h" #include "base/file_util.h"
#include "base/string_util.h" #include "base/string_util.h"
#include "grit/devtools_resources_map.h" #include "grit/devtools_resources_map.h"
#include "net/base/mime_util.h" #include "net/base/mime_util.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
const char kChromeDevToolsScheme[] = "chrome-devtools"; const char kChromeDevToolsScheme[] = "chrome-devtools";
const char kChromeDevToolsHost[] = "devtools"; const char kChromeDevToolsHost[] = "devtools";
const char kChromeDevToolsURL[] = "chrome-devtools://devtools/"; const char kChromeDevToolsURL[] = "chrome-devtools://devtools/";
namespace { namespace {
class DevToolsSchemeHandler : public CefSchemeHandler { class DevToolsSchemeHandler : public CefSchemeHandler {
public: public:
DevToolsSchemeHandler(const std::string& path, DevToolsSchemeHandler(const std::string& path,
CefRefPtr<CefStreamReader> reader, CefRefPtr<CefStreamReader> reader,
int size) int size)
: path_(path), reader_(reader), size_(size) { : path_(path), reader_(reader), size_(size) {
} }
virtual bool ProcessRequest(CefRefPtr<CefRequest> request, virtual bool ProcessRequest(CefRefPtr<CefRequest> request,
CefRefPtr<CefSchemeHandlerCallback> callback) CefRefPtr<CefSchemeHandlerCallback> callback)
OVERRIDE { OVERRIDE {
callback->HeadersAvailable(); callback->HeadersAvailable();
return true; return true;
} }
virtual void GetResponseHeaders(CefRefPtr<CefResponse> response, virtual void GetResponseHeaders(CefRefPtr<CefResponse> response,
int64& response_length, int64& response_length,
CefString& redirectUrl) OVERRIDE { CefString& redirectUrl) OVERRIDE {
response_length = size_; response_length = size_;
std::string mime_type = "text/plain"; std::string mime_type = "text/plain";
if (net::GetMimeTypeFromFile(FilePath(CefString(path_)), &mime_type)) if (net::GetMimeTypeFromFile(FilePath(CefString(path_)), &mime_type))
response->SetMimeType(mime_type); response->SetMimeType(mime_type);
response->SetStatus(200); response->SetStatus(200);
} }
virtual bool ReadResponse(void* data_out, virtual bool ReadResponse(void* data_out,
int bytes_to_read, int bytes_to_read,
int& bytes_read, int& bytes_read,
CefRefPtr<CefSchemeHandlerCallback> callback) CefRefPtr<CefSchemeHandlerCallback> callback)
OVERRIDE { OVERRIDE {
bytes_read = reader_->Read(data_out, 1, bytes_to_read); bytes_read = reader_->Read(data_out, 1, bytes_to_read);
return (bytes_read > 0); return (bytes_read > 0);
} }
virtual void Cancel() OVERRIDE { virtual void Cancel() OVERRIDE {
} }
private: private:
std::string path_; std::string path_;
CefRefPtr<CefStreamReader> reader_; CefRefPtr<CefStreamReader> reader_;
int size_; int size_;
IMPLEMENT_REFCOUNTING(DevToolSSchemeHandler); IMPLEMENT_REFCOUNTING(DevToolSSchemeHandler);
}; };
class DevToolsSchemeHandlerFactory : public CefSchemeHandlerFactory { class DevToolsSchemeHandlerFactory : public CefSchemeHandlerFactory {
public: public:
DevToolsSchemeHandlerFactory() {} DevToolsSchemeHandlerFactory() {}
virtual CefRefPtr<CefSchemeHandler> Create(CefRefPtr<CefBrowser> browser, virtual CefRefPtr<CefSchemeHandler> Create(CefRefPtr<CefBrowser> browser,
const CefString& scheme_name, const CefString& scheme_name,
CefRefPtr<CefRequest> request) CefRefPtr<CefRequest> request)
OVERRIDE { OVERRIDE {
// Remove the query component of the URL, if any. // Remove the query component of the URL, if any.
CefURLParts parts; CefURLParts parts;
CefParseURL(request->GetURL(), parts); CefParseURL(request->GetURL(), parts);
cef_string_clear(&parts.spec); cef_string_clear(&parts.spec);
cef_string_clear(&parts.query); cef_string_clear(&parts.query);
CefString urlStr; CefString urlStr;
CefCreateURL(parts, urlStr); CefCreateURL(parts, urlStr);
std::string url = urlStr; std::string url = urlStr;
const char* path = &url.c_str()[strlen(kChromeDevToolsURL)]; const char* path = &url.c_str()[strlen(kChromeDevToolsURL)];
int size = -1; int size = -1;
CefRefPtr<CefStreamReader> reader = GetStreamReader(path, size); CefRefPtr<CefStreamReader> reader = GetStreamReader(path, size);
if (!reader.get()) if (!reader.get())
return NULL; return NULL;
return new DevToolsSchemeHandler(path, reader, size); return new DevToolsSchemeHandler(path, reader, size);
} }
CefRefPtr<CefStreamReader> GetStreamReader(const char* path, int& size) { CefRefPtr<CefStreamReader> GetStreamReader(const char* path, int& size) {
// Create a stream for the grit resource. // Create a stream for the grit resource.
for (size_t i = 0; i < kDevtoolsResourcesSize; ++i) { for (size_t i = 0; i < kDevtoolsResourcesSize; ++i) {
if (base::strcasecmp(kDevtoolsResources[i].name, path) == 0) { if (base::strcasecmp(kDevtoolsResources[i].name, path) == 0) {
base::StringPiece piece = base::StringPiece piece =
webkit_glue::GetDataResource(kDevtoolsResources[i].value); webkit_glue::GetDataResource(kDevtoolsResources[i].value);
if (!piece.empty()) { if (!piece.empty()) {
size = piece.size(); size = piece.size();
return CefStreamReader::CreateForData(const_cast<char*>(piece.data()), return CefStreamReader::CreateForData(const_cast<char*>(piece.data()),
size); size);
} }
} }
} }
NOTREACHED() << "Missing DevTools resource: " << path; NOTREACHED() << "Missing DevTools resource: " << path;
return NULL; return NULL;
} }
IMPLEMENT_REFCOUNTING(DevToolSSchemeHandlerFactory); IMPLEMENT_REFCOUNTING(DevToolSSchemeHandlerFactory);
}; };
} // namespace } // namespace
// Register the DevTools scheme handler. // Register the DevTools scheme handler.
void RegisterDevToolsSchemeHandler(bool firstTime) { void RegisterDevToolsSchemeHandler(bool firstTime) {
if (firstTime) if (firstTime)
CefRegisterCustomScheme(kChromeDevToolsScheme, true, false, true); CefRegisterCustomScheme(kChromeDevToolsScheme, true, false, true);
CefRegisterSchemeHandlerFactory(kChromeDevToolsScheme, kChromeDevToolsHost, CefRegisterSchemeHandlerFactory(kChromeDevToolsScheme, kChromeDevToolsHost,
new DevToolsSchemeHandlerFactory()); new DevToolsSchemeHandlerFactory());
} }

View File

@ -1,16 +1,16 @@
// Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights // Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that can // reserved. Use of this source code is governed by a BSD-style license that can
// be found in the LICENSE file. // be found in the LICENSE file.
#ifndef CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_ #ifndef CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_
#define CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_ #define CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_
#pragma once #pragma once
extern const char kChromeDevToolsScheme[]; extern const char kChromeDevToolsScheme[];
extern const char kChromeDevToolsHost[]; extern const char kChromeDevToolsHost[];
extern const char kChromeDevToolsURL[]; extern const char kChromeDevToolsURL[];
// Register the DevTools scheme handler. // Register the DevTools scheme handler.
void RegisterDevToolsSchemeHandler(bool firstTime); void RegisterDevToolsSchemeHandler(bool firstTime);
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_ #endif // CEF_LIBCEF_BROWSER_DEVTOOLS_SCHEME_HANDLER_H_