cef/libcef/common/resource_bundle_delegate.cc
Marshall Greenblatt b3a8da9b25 Add CefAppManager and remove global ContentClient accessors (see issue #2969)
This is the first pass in removing direct dependencies on the Alloy
runtime from code that can potentially be shared between runtimes.

CefBrowserHost and CefRequestContext APIs (including CefCookieManager,
CefURLRequest, etc.) are not yet implemented for the Chrome runtime.
Assert early if these API methods are called while the Chrome runtime
is enabled.
2020-06-29 16:17:58 -04:00

77 lines
2.4 KiB
C++

#include "libcef/common/resource_bundle_delegate.h"
#include "libcef/common/app_manager.h"
base::FilePath CefResourceBundleDelegate::GetPathForResourcePack(
const base::FilePath& pack_path,
ui::ScaleFactor scale_factor) {
// Only allow the cef pack file to load.
if (!pack_loading_disabled_ && allow_pack_file_load_) {
return pack_path;
}
return base::FilePath();
}
base::FilePath CefResourceBundleDelegate::GetPathForLocalePack(
const base::FilePath& pack_path,
const std::string& locale) {
if (!pack_loading_disabled_)
return pack_path;
return base::FilePath();
}
gfx::Image CefResourceBundleDelegate::GetImageNamed(int resource_id) {
return gfx::Image();
}
gfx::Image CefResourceBundleDelegate::GetNativeImageNamed(int resource_id) {
return gfx::Image();
}
base::RefCountedStaticMemory* CefResourceBundleDelegate::LoadDataResourceBytes(
int resource_id,
ui::ScaleFactor scale_factor) {
return nullptr;
}
bool CefResourceBundleDelegate::GetRawDataResource(int resource_id,
ui::ScaleFactor scale_factor,
base::StringPiece* value) {
auto application = CefAppManager::Get()->GetApplication();
if (application) {
CefRefPtr<CefResourceBundleHandler> handler =
application->GetResourceBundleHandler();
if (handler.get()) {
void* data = nullptr;
size_t data_size = 0;
if (scale_factor != ui::SCALE_FACTOR_NONE) {
if (handler->GetDataResourceForScale(
resource_id, static_cast<cef_scale_factor_t>(scale_factor),
data, data_size)) {
*value = base::StringPiece(static_cast<char*>(data), data_size);
}
} else if (handler->GetDataResource(resource_id, data, data_size)) {
*value = base::StringPiece(static_cast<char*>(data), data_size);
}
}
}
return (pack_loading_disabled_ || !value->empty());
}
bool CefResourceBundleDelegate::GetLocalizedString(int message_id,
base::string16* value) {
auto application = CefAppManager::Get()->GetApplication();
if (application) {
CefRefPtr<CefResourceBundleHandler> handler =
application->GetResourceBundleHandler();
if (handler.get()) {
CefString cef_str;
if (handler->GetLocalizedString(message_id, cef_str))
*value = cef_str;
}
}
return (pack_loading_disabled_ || !value->empty());
}