forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Do a giant svn propset svn:eol-style LF on .cc and .h files that
lack this property. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182368 0039d316-1c4b-4281-b951-d872f2087c98
- Loading branch information
1 parent
684003e
commit 2055349
Showing
18 changed files
with
7,085 additions
and
7,085 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,77 +1,77 @@ | ||
// Copyright (c) 2012 The Chromium Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#ifndef BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
#define BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
|
||
#include <string> | ||
|
||
#include "base/base_export.h" | ||
#include "base/basictypes.h" | ||
#include "base/file_path.h" | ||
#include "base/values.h" | ||
|
||
class BASE_EXPORT JSONStringValueSerializer : public base::ValueSerializer { | ||
public: | ||
// json_string is the string that will be source of the deserialization | ||
// or the destination of the serialization. The caller of the constructor | ||
// retains ownership of the string. | ||
explicit JSONStringValueSerializer(std::string* json_string) | ||
: json_string_(json_string), | ||
initialized_with_const_string_(false), | ||
pretty_print_(false), | ||
allow_trailing_comma_(false) { | ||
} | ||
|
||
// This version allows initialization with a const string reference for | ||
// deserialization only. | ||
explicit JSONStringValueSerializer(const std::string& json_string) | ||
: json_string_(&const_cast<std::string&>(json_string)), | ||
initialized_with_const_string_(true), | ||
pretty_print_(false), | ||
allow_trailing_comma_(false) { | ||
} | ||
|
||
virtual ~JSONStringValueSerializer(); | ||
|
||
// Attempt to serialize the data structure represented by Value into | ||
// JSON. If the return value is true, the result will have been written | ||
// into the string passed into the constructor. | ||
virtual bool Serialize(const Value& root) OVERRIDE; | ||
|
||
// Equivalent to Serialize(root) except binary values are omitted from the | ||
// output. | ||
bool SerializeAndOmitBinaryValues(const Value& root); | ||
|
||
// Attempt to deserialize the data structure encoded in the string passed | ||
// in to the constructor into a structure of Value objects. If the return | ||
// value is NULL, and if |error_code| is non-null, |error_code| will | ||
// contain an integer error code (either JsonFileError or JsonParseError). | ||
// If |error_message| is non-null, it will be filled in with a formatted | ||
// error message including the location of the error if appropriate. | ||
// The caller takes ownership of the returned value. | ||
virtual Value* Deserialize(int* error_code, | ||
std::string* error_message) OVERRIDE; | ||
|
||
void set_pretty_print(bool new_value) { pretty_print_ = new_value; } | ||
bool pretty_print() { return pretty_print_; } | ||
|
||
void set_allow_trailing_comma(bool new_value) { | ||
allow_trailing_comma_ = new_value; | ||
} | ||
|
||
private: | ||
bool SerializeInternal(const Value& root, bool omit_binary_values); | ||
|
||
std::string* json_string_; | ||
bool initialized_with_const_string_; | ||
bool pretty_print_; // If true, serialization will span multiple lines. | ||
// If true, deserialization will allow trailing commas. | ||
bool allow_trailing_comma_; | ||
|
||
DISALLOW_COPY_AND_ASSIGN(JSONStringValueSerializer); | ||
}; | ||
|
||
#endif // BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
|
||
// Copyright (c) 2012 The Chromium Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#ifndef BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
#define BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
|
||
#include <string> | ||
|
||
#include "base/base_export.h" | ||
#include "base/basictypes.h" | ||
#include "base/file_path.h" | ||
#include "base/values.h" | ||
|
||
class BASE_EXPORT JSONStringValueSerializer : public base::ValueSerializer { | ||
public: | ||
// json_string is the string that will be source of the deserialization | ||
// or the destination of the serialization. The caller of the constructor | ||
// retains ownership of the string. | ||
explicit JSONStringValueSerializer(std::string* json_string) | ||
: json_string_(json_string), | ||
initialized_with_const_string_(false), | ||
pretty_print_(false), | ||
allow_trailing_comma_(false) { | ||
} | ||
|
||
// This version allows initialization with a const string reference for | ||
// deserialization only. | ||
explicit JSONStringValueSerializer(const std::string& json_string) | ||
: json_string_(&const_cast<std::string&>(json_string)), | ||
initialized_with_const_string_(true), | ||
pretty_print_(false), | ||
allow_trailing_comma_(false) { | ||
} | ||
|
||
virtual ~JSONStringValueSerializer(); | ||
|
||
// Attempt to serialize the data structure represented by Value into | ||
// JSON. If the return value is true, the result will have been written | ||
// into the string passed into the constructor. | ||
virtual bool Serialize(const Value& root) OVERRIDE; | ||
|
||
// Equivalent to Serialize(root) except binary values are omitted from the | ||
// output. | ||
bool SerializeAndOmitBinaryValues(const Value& root); | ||
|
||
// Attempt to deserialize the data structure encoded in the string passed | ||
// in to the constructor into a structure of Value objects. If the return | ||
// value is NULL, and if |error_code| is non-null, |error_code| will | ||
// contain an integer error code (either JsonFileError or JsonParseError). | ||
// If |error_message| is non-null, it will be filled in with a formatted | ||
// error message including the location of the error if appropriate. | ||
// The caller takes ownership of the returned value. | ||
virtual Value* Deserialize(int* error_code, | ||
std::string* error_message) OVERRIDE; | ||
|
||
void set_pretty_print(bool new_value) { pretty_print_ = new_value; } | ||
bool pretty_print() { return pretty_print_; } | ||
|
||
void set_allow_trailing_comma(bool new_value) { | ||
allow_trailing_comma_ = new_value; | ||
} | ||
|
||
private: | ||
bool SerializeInternal(const Value& root, bool omit_binary_values); | ||
|
||
std::string* json_string_; | ||
bool initialized_with_const_string_; | ||
bool pretty_print_; // If true, serialization will span multiple lines. | ||
// If true, deserialization will allow trailing commas. | ||
bool allow_trailing_comma_; | ||
|
||
DISALLOW_COPY_AND_ASSIGN(JSONStringValueSerializer); | ||
}; | ||
|
||
#endif // BASE_JSON_JSON_STRING_VALUE_SERIALIZER_H_ | ||
|
216 changes: 108 additions & 108 deletions
216
content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.cc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,108 +1,108 @@ | ||
// Copyright (c) 2012 The Chromium Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.h" | ||
|
||
#include "base/threading/sequenced_worker_pool.h" | ||
#include "base/values.h" | ||
#include "content/common/font_list.h" | ||
#include "content/public/browser/browser_ppapi_host.h" | ||
#include "content/public/browser/browser_thread.h" | ||
#include "ppapi/host/dispatch_host_message.h" | ||
#include "ppapi/host/resource_message_filter.h" | ||
#include "ppapi/proxy/ppapi_messages.h" | ||
|
||
namespace content { | ||
|
||
namespace { | ||
|
||
// Handles the font list request on the blocking pool. | ||
class FontMessageFilter : public ppapi::host::ResourceMessageFilter { | ||
public: | ||
FontMessageFilter(); | ||
|
||
// ppapi::host::ResourceMessageFilter implementation. | ||
virtual scoped_refptr<base::TaskRunner> OverrideTaskRunnerForMessage( | ||
const IPC::Message& msg) OVERRIDE; | ||
virtual int32_t OnResourceMessageReceived( | ||
const IPC::Message& msg, | ||
ppapi::host::HostMessageContext* context) OVERRIDE; | ||
|
||
private: | ||
virtual ~FontMessageFilter(); | ||
|
||
// Message handler. | ||
int32_t OnHostMsgGetFontFamilies(ppapi::host::HostMessageContext* context); | ||
|
||
DISALLOW_COPY_AND_ASSIGN(FontMessageFilter); | ||
}; | ||
|
||
FontMessageFilter::FontMessageFilter() { | ||
} | ||
|
||
FontMessageFilter::~FontMessageFilter() { | ||
} | ||
|
||
scoped_refptr<base::TaskRunner> FontMessageFilter::OverrideTaskRunnerForMessage( | ||
const IPC::Message& msg) { | ||
// Use the blocking pool to get the font list (currently the only message | ||
// so we can always just return it). | ||
return scoped_refptr<base::TaskRunner>(BrowserThread::GetBlockingPool()); | ||
} | ||
|
||
int32_t FontMessageFilter::OnResourceMessageReceived( | ||
const IPC::Message& msg, | ||
ppapi::host::HostMessageContext* context) { | ||
IPC_BEGIN_MESSAGE_MAP(FontMessageFilter, msg) | ||
PPAPI_DISPATCH_HOST_RESOURCE_CALL_0( | ||
PpapiHostMsg_BrowserFontSingleton_GetFontFamilies, | ||
OnHostMsgGetFontFamilies) | ||
IPC_END_MESSAGE_MAP() | ||
return PP_ERROR_FAILED; | ||
} | ||
|
||
int32_t FontMessageFilter::OnHostMsgGetFontFamilies( | ||
ppapi::host::HostMessageContext* context) { | ||
// OK to use "slow blocking" version since we're on the blocking pool. | ||
scoped_ptr<base::ListValue> list(GetFontList_SlowBlocking()); | ||
|
||
std::string output; | ||
for (size_t i = 0; i < list->GetSize(); i++) { | ||
base::ListValue* cur_font; | ||
if (!list->GetList(i, &cur_font)) | ||
continue; | ||
|
||
// Each entry is actually a list of (font name, localized name). | ||
// We only care about the regular name. | ||
std::string font_name; | ||
if (!cur_font->GetString(0, &font_name)) | ||
continue; | ||
|
||
// Font names are separated with nulls. We also want an explicit null at | ||
// the end of the string (Pepper strings aren't null terminated so since | ||
// we specify there will be a null, it should actually be in the string). | ||
output.append(font_name); | ||
output.push_back(0); | ||
} | ||
|
||
context->reply_msg = | ||
PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply(output); | ||
return PP_OK; | ||
} | ||
|
||
} // namespace | ||
|
||
PepperBrowserFontSingletonHost::PepperBrowserFontSingletonHost( | ||
BrowserPpapiHost* host, | ||
PP_Instance instance, | ||
PP_Resource resource) | ||
: ResourceHost(host->GetPpapiHost(), instance, resource) { | ||
AddFilter(scoped_refptr<ppapi::host::ResourceMessageFilter>( | ||
new FontMessageFilter())); | ||
} | ||
|
||
PepperBrowserFontSingletonHost::~PepperBrowserFontSingletonHost() { | ||
} | ||
|
||
} // namespace content | ||
// Copyright (c) 2012 The Chromium Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.h" | ||
|
||
#include "base/threading/sequenced_worker_pool.h" | ||
#include "base/values.h" | ||
#include "content/common/font_list.h" | ||
#include "content/public/browser/browser_ppapi_host.h" | ||
#include "content/public/browser/browser_thread.h" | ||
#include "ppapi/host/dispatch_host_message.h" | ||
#include "ppapi/host/resource_message_filter.h" | ||
#include "ppapi/proxy/ppapi_messages.h" | ||
|
||
namespace content { | ||
|
||
namespace { | ||
|
||
// Handles the font list request on the blocking pool. | ||
class FontMessageFilter : public ppapi::host::ResourceMessageFilter { | ||
public: | ||
FontMessageFilter(); | ||
|
||
// ppapi::host::ResourceMessageFilter implementation. | ||
virtual scoped_refptr<base::TaskRunner> OverrideTaskRunnerForMessage( | ||
const IPC::Message& msg) OVERRIDE; | ||
virtual int32_t OnResourceMessageReceived( | ||
const IPC::Message& msg, | ||
ppapi::host::HostMessageContext* context) OVERRIDE; | ||
|
||
private: | ||
virtual ~FontMessageFilter(); | ||
|
||
// Message handler. | ||
int32_t OnHostMsgGetFontFamilies(ppapi::host::HostMessageContext* context); | ||
|
||
DISALLOW_COPY_AND_ASSIGN(FontMessageFilter); | ||
}; | ||
|
||
FontMessageFilter::FontMessageFilter() { | ||
} | ||
|
||
FontMessageFilter::~FontMessageFilter() { | ||
} | ||
|
||
scoped_refptr<base::TaskRunner> FontMessageFilter::OverrideTaskRunnerForMessage( | ||
const IPC::Message& msg) { | ||
// Use the blocking pool to get the font list (currently the only message | ||
// so we can always just return it). | ||
return scoped_refptr<base::TaskRunner>(BrowserThread::GetBlockingPool()); | ||
} | ||
|
||
int32_t FontMessageFilter::OnResourceMessageReceived( | ||
const IPC::Message& msg, | ||
ppapi::host::HostMessageContext* context) { | ||
IPC_BEGIN_MESSAGE_MAP(FontMessageFilter, msg) | ||
PPAPI_DISPATCH_HOST_RESOURCE_CALL_0( | ||
PpapiHostMsg_BrowserFontSingleton_GetFontFamilies, | ||
OnHostMsgGetFontFamilies) | ||
IPC_END_MESSAGE_MAP() | ||
return PP_ERROR_FAILED; | ||
} | ||
|
||
int32_t FontMessageFilter::OnHostMsgGetFontFamilies( | ||
ppapi::host::HostMessageContext* context) { | ||
// OK to use "slow blocking" version since we're on the blocking pool. | ||
scoped_ptr<base::ListValue> list(GetFontList_SlowBlocking()); | ||
|
||
std::string output; | ||
for (size_t i = 0; i < list->GetSize(); i++) { | ||
base::ListValue* cur_font; | ||
if (!list->GetList(i, &cur_font)) | ||
continue; | ||
|
||
// Each entry is actually a list of (font name, localized name). | ||
// We only care about the regular name. | ||
std::string font_name; | ||
if (!cur_font->GetString(0, &font_name)) | ||
continue; | ||
|
||
// Font names are separated with nulls. We also want an explicit null at | ||
// the end of the string (Pepper strings aren't null terminated so since | ||
// we specify there will be a null, it should actually be in the string). | ||
output.append(font_name); | ||
output.push_back(0); | ||
} | ||
|
||
context->reply_msg = | ||
PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply(output); | ||
return PP_OK; | ||
} | ||
|
||
} // namespace | ||
|
||
PepperBrowserFontSingletonHost::PepperBrowserFontSingletonHost( | ||
BrowserPpapiHost* host, | ||
PP_Instance instance, | ||
PP_Resource resource) | ||
: ResourceHost(host->GetPpapiHost(), instance, resource) { | ||
AddFilter(scoped_refptr<ppapi::host::ResourceMessageFilter>( | ||
new FontMessageFilter())); | ||
} | ||
|
||
PepperBrowserFontSingletonHost::~PepperBrowserFontSingletonHost() { | ||
} | ||
|
||
} // namespace content |
Oops, something went wrong.