[Android]: Pass serialised passwords from native as a byte array

Chrome passwords settings on Android allow the user to export
passwords. The Java settings code asks the C++ code to serialise and
send over the passwords. The serialised result is in UTF-8 within C++
but gets converted into UTF-16 for Java and then back to UTF-8 on
writing to a cache file.

This CL changes the data type from String to byte array on Java side.
This eliminates the converstion to UTF-16 and back.

Note 1: This was pointed out in
https://chromium-review.googlesource.com/c/chromium/src/+/926527/2/chrome/browser/android/password_ui_view_android.cc#222.

Note 2: This might get further simplified if https://crbug.com/817293
gets implemented, but that's not happening in M66.

Bug: 788701
Change-Id: I0799b2c5f6d7e43e9b7449322d300fb9e9d82c54
Reviewed-on: https://chromium-review.googlesource.com/940226
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539832}
5 files changed