Hi All
I have created the PR.
Could you help to review?

2016-11-30 13:15 GMT+08:00 Fu, Junwei <junwei...@intel.com>:

> LGTM.
>
>
>
> *From:* Crosswalk-dev [mailto:crosswalk-dev-bounces@
> lists.crosswalk-project.org] *On Behalf Of *tomorrow chen
> *Sent:* Tuesday, November 29, 2016 3:15 PM
> *To:* crosswalk-dev@lists.crosswalk-project.org
> *Subject:* [Crosswalk-dev] Intent to Implement <Support Crosswalk and
> Android System WebView in the same application>
>
>
>
> Description:
>
> There's an crash issue when XWalk co-exist with android system webview in
> one application. The root cause is xwalk_core_library load wrong icudtl.dat
> which android system webview put in assets folder.
>
> The solution is remove the incorrect codes which check and load from
> assets/icudtl.dat in high priority, since xwalk don't put it's icudtl.dat
> in assets.
>
>
>
> Affected component: base/i18n
>
>
>
> Related feature: XWALK-7004
>
>
>
> Target release: crosswalk-22
>
>
>
> Implementation details:
>
>
>
> Comment following code can fix this issue.
>
> #if defined(OS_ANDROID)
>
> //  int fd = base::android::OpenApkAsset(kAndroidAssetsIcuDataFileName,
>
> //                                       &g_icudtl_region);
>
> //  LOG(INFO)<<"cyz "<<kAndroidAssetsIcuDataFileName <<",return fd "<<fd;
>
> //  g_icudtl_pf = fd;
>
> //  if (fd != -1) {
>
> //    return;
>
> //  }
>
> // For unit tests, data file is located on disk, so try there as a fallback.
>
> #endif  // defined(OS_ANDROID)
>
>
>
> The reason is :
> In ResourceExtractor.java,there's comment,
> _"// Loading "icudtl.dat" from "assets/"" currently does not work with
> either
> // embedded mode (the file is in raw/res) or shared mode (the app's
> context is
> // used to retrieve the AssetManager, not Crosswalk's). We thus need to put
> // those special files in a different directory so that we leverage the
> fallback
> // code in Chromium to load these files from disk.
> "_
>
> It means xwalk will put icudtl.dat in different folder like raw/res
> instead of assets.
> So it's not right to check and read from assets/icudtl.dat in high
> priority.Otherwise when android webview is called firstly, app will extract
> webview.apk and copy it's icudtl.dat to assets, which cause the crash due
> to mismatch icudtl.dat.
>
_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to