mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-01 11:57:04 +01:00
b3a8da9b25
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.
77 lines
2.4 KiB
C++
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());
|
|
}
|