Index: android_webview/browser/aw_browser_main_parts.cc |
diff --git a/android_webview/browser/aw_browser_main_parts.cc b/android_webview/browser/aw_browser_main_parts.cc |
index 29e9003755682f2aa04e2e21031bf2aace38b876..af17ed97f58f3f89dcb838b3ae5685b844f44ce3 100644 |
--- a/android_webview/browser/aw_browser_main_parts.cc |
+++ b/android_webview/browser/aw_browser_main_parts.cc |
@@ -6,6 +6,7 @@ |
#include "android_webview/browser/aw_browser_context.h" |
#include "android_webview/browser/aw_result_codes.h" |
+#include "android_webview/native/aw_assets.h" |
#include "base/android/build_info.h" |
#include "base/android/memory_pressure_listener_android.h" |
#include "base/command_line.h" |
@@ -51,9 +52,24 @@ int AwBrowserMainParts::PreCreateThreads() { |
base::FilePath pak_path; |
PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &pak_path); |
- ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath( |
- pak_path.AppendASCII("webviewchromium.pak"), |
- ui::SCALE_FACTOR_NONE); |
+ int pak_fd = 0; |
+ int64 pak_off = 0; |
+ int64 pak_len = 0; |
+ if (!AwAssets::OpenAsset( |
+ "webviewchromium.pak", &pak_fd, &pak_off, &pak_len)) { |
+ LOG(FATAL) << "Cannot load webviewchromium.pak assets from the apk"; |
+ } else { |
+ VLOG(0) << "Loading pak from FD: " << pak_fd << " OFF: " << pak_off |
+ << " LEN: " << pak_len; |
+ } |
+ |
+ // ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath( |
mkosiba (inactive)
2014/07/18 05:54:22
forgot to remove?
Primiano Tucci (use gerrit)
2014/07/18 19:01:04
Oh, yeah.
|
+ // pak_path.AppendASCII("webviewchromium.pak"), |
+ // ui::SCALE_FACTOR_NONE); |
+ |
+ base::File::Region region(pak_off, pak_len); |
+ ui::ResourceBundle::GetSharedInstance().AddDataPackFromFileRegion( |
+ base::File(pak_fd), region, ui::SCALE_FACTOR_NONE); |
base::android::MemoryPressureListenerAndroid::RegisterSystemCallback( |
base::android::AttachCurrentThread()); |