Reland "Update Android NDK to r16"

This is a reland of 2c1e00697d3c3d087f4d84eaf2c4c40a3e7a0530
Original change's description:
> Update Android NDK to r16
>
> This contains all the src/ changes necessary to make
> Chromium compile with Android NDK r16. Most changes
> are to make the code compatible with the unified
> headers that are used now.
>
> The libwebm revision is updated to a newer version in
> order to get a fix for using unified headers that was
> added a while back, but never rolled into Chromium.
>
> Sister CLs:
> src/third_party/skia/: https://skia-review.googlesource.com/c/skia/+/75422
> src/third_party/android_tools/ndk/: https://chromium-review.googlesource.com/c/android_ndk/+/784230
>
> Bug: 771171
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: I643f9f7bd75d111e540778d2fdf8c20851485a5a
> Reviewed-on: https://chromium-review.googlesource.com/777822
> Commit-Queue: Brian Sheedy <[email protected]>
> Reviewed-by: Robert Sesek <[email protected]>
> Reviewed-by: Ross McIlroy <[email protected]>
> Reviewed-by: Tom Sepez <[email protected]>
> Reviewed-by: Pavel Feldman <[email protected]>
> Reviewed-by: Scott Graham <[email protected]>
> Reviewed-by: Zhongyi Shi <[email protected]>
> Reviewed-by: Daniel Cheng <[email protected]>
> Reviewed-by: Ryan Sturm <[email protected]>
> Reviewed-by: Dale Curtis <[email protected]>
> Reviewed-by: agrieve <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#525076}

[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]

Bug: 771171
Change-Id: I5e2288bf3f94359a0afe6c16293bcdecd0f02514
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/834609
Reviewed-by: agrieve <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Ryan Sturm <[email protected]>
Reviewed-by: Ross McIlroy <[email protected]>
Commit-Queue: Brian Sheedy <[email protected]>
Cr-Commit-Position: refs/heads/master@{#527029}
diff --git a/base/files/file.h b/base/files/file.h
index b01e58d..1b2f6d4 100644
--- a/base/files/file.h
+++ b/base/files/file.h
@@ -24,7 +24,8 @@
 
 namespace base {
 
-#if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL)
+#if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
+    defined(OS_ANDROID) && __ANDROID_API__ < 21
 typedef struct stat stat_wrapper_t;
 #elif defined(OS_POSIX)
 typedef struct stat64 stat_wrapper_t;