Webkit

Berfungsi dengan WebView API modern di Android 5 dan versi yang lebih baru.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
21 Februari 2024 1.9.0 - - 1.11.0-alpha02

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Webkit, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.11

Versi 1.11.0-alpha02

21 Februari 2024

androidx.webkit:webkit:1.11.0-alpha02 dirilis. Versi 1.11.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan metode setAudioMuted dan isAudioMuted untuk membisukan (dan mengaktifkan) WebViews. Metode ini akan memungkinkan Anda mencegah WebView memutar audio. (Ie7a33)

Perubahan API

  • URLUtilCompat dibuat final karena tidak boleh dibuatkan subclass-nya. (I49ec1)

Versi 1.11.0-alpha01

7 Februari 2024

androidx.webkit:webkit:1.11.0-alpha01 dirilis. Versi 1.11.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan kompatibilitas untuk URLUtil.guessFileName. Versi kompatibilitas di URLUtilCompat mendukung penguraian header Content-Disposition yang menggunakan atribut nilai yang dienkode filename* seperti yang ditetapkan dalam RFC 6266. API kompatibilitas juga secara langsung mengekspos metode untuk mengurai header Content-Disposition dengan nama file yang disarankan berdasarkan URL dan jenis MIME tidak diinginkan. (If6ae7, b/309927164)

Versi 1.10

Versi 1.10.0

24 Januari 2024

androidx.webkit:webkit:1.10.0 dirilis. Versi 1.10.0 berisi commit ini.

Perubahan penting sejak 1.9.0

Versi 1.10.0-rc01

10 Januari 2024

androidx.webkit:webkit:1.10.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.10.0-beta01.

Versi 1.10.0-beta01

13 Desember 2023

androidx.webkit:webkit:1.10.0-beta01 dirilis. Versi 1.10.0-beta01 berisi commit ini.

  • Tidak ada perubahan fungsi dari 1.10.0-alpha01.

Versi 1.10.0-alpha01

29 November 2023

androidx.webkit:webkit:1.10.0-alpha01 dirilis. Versi 1.10.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API baru ke WebSettingsCompat untuk mengontrol perilaku Android WebView Media Integrity API eksperimental dengan menonaktifkan API sepenuhnya, atau membatasi pembagian identitas aplikasi dalam respons API. Atribut ini dapat dialihkan untuk semua origin dan per origin.

Versi 1.9

Versi 1.9.0

29 November 2023

androidx.webkit:webkit:1.9.0 dirilis. Versi 1.9.0 berisi commit ini.

Perubahan penting sejak versi 1.8.0

  • Menambahkan API multi-profil baru untuk WebView.
  • Menambahkan API untuk memasukkan dan menjalankan JavaScript sebelum pemuatan halaman.
    • API WebViewCompat#addDocumentStartJavascript memungkinkan aplikasi untuk memasukkan skrip ke dalam WebView yang dijamin berjalan sebelum skrip halaman dieksekusi. API memungkinkan aplikasi menentukan daftar target origin tempat skrip akan diaktifkan, sehingga memastikan bahwa skrip hanya berjalan di halaman yang diinginkan. Tidak seperti WebView#evaluateJavascript, API ini akan memungkinkan eksekusi skrip dalam Iframe tersemat saat dimuat. Aplikasi dapat menggunakan API baru ini bersama dengan WebViewCompat#addWebMessageListener untuk menyiapkan komunikasi dua arah dengan JavaScript di halaman secara andal.
  • Menambahkan API untuk mengubah cara pendaftaran peristiwa Pelaporan Atribusi Privacy Sandbox.
    • Kami memperkenalkan API baru WebSettingsCompat#setAttributionRegistrationBehavior yang memungkinkan developer mengonfigurasi apakah sumber dan pemicu atribusi terdaftar berasal dari aplikasi itu sendiri atau berasal dari konten web di WebView. Metode ini juga dapat digunakan untuk menonaktifkan Attribution Reporting di WebView. Selain itu, kami menambahkan API baru WebSettingsCompat#getAttributionRegistrationBehavior untuk mendapatkan perilaku saat ini.
    • Untuk mengetahui informasi selengkapnya, lihat dokumentasi Privacy Sandbox.
  • Menambahkan API untuk mengganti metadata agen pengguna untuk client hints.
    • Kami memperkenalkan API baru, WebSettingsCompat#setUserAgentMetadata untuk mengganti metadata agen pengguna untuk WebView yang digunakan untuk mengisi petunjuk klien agen pengguna, dan juga menambahkan API baru WebSettingsCompat#getUserAgentMetadata untuk mendapatkan penggantian agen pengguna saat ini. Sebaiknya aplikasi menggunakan API baru untuk menyetel nilai penggantian yang tepat setiap kali aplikasi mengubah string agen pengguna default menggunakan WebSettings.setUserAgentString untuk memastikan nilai yang benar digunakan dalam semua situasi.

Versi 1.9.0-rc01

15 November 2023

androidx.webkit:webkit:1.9.0-rc01 dirilis. Rilis ini tidak berisi perubahan dari rilis 1.9.0-beta01.

Versi 1.9.0-beta01

1 November 2023

androidx.webkit:webkit:1.9.0-beta01 dirilis. Versi 1.9.0-beta01 berisi commit ini.

Perubahan API

  • Mengatasi masalah nullability API metadata agen pengguna. Kami memperbarui class BrandVersion untuk menggunakan pola builder, membuat nullability pengambil dan penyetel class UserAgentMetadata konsisten. (Ibf195)
  • Menganotasi ProfileStore, WebViewCompat#setProfile, dan WebViewCompat.getProfile dengan @UiThread. (I499b2)

Versi 1.9.0-alpha01

18 Oktober 2023

androidx.webkit:webkit:1.9.0-alpha01 dirilis. Versi 1.9.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami menambahkan API multi-profil yang memungkinkan Anda memiliki sesi penjelajahan terpisah di antara WebViews, setiap profil memiliki datanya sendiri (misalnya, cookie). Anda dapat membuat profil, menetapkannya ke instance WebView, dan mengambilnya nanti untuk akses data apa pun. Ada ProfileStore class singleton untuk membantu Anda mengelola profil dengan pembuatan atau penghapusan menggunakan API; getOrCreateProfile, getProfile, getAllProfileNames, dan deleteProfile. Class Profile akan memiliki API yang berbeda yang digunakan untuk mendapatkan data terkait dengan profil ini seperti nama GeoLocationPermissions, ServiceWorkerController, CookieManager, dan WebStorage. Setiap WebView akan berjalan dengan profil default secara default, tetapi Anda dapat mengubahnya menggunakan WebViewCompat#setProfile. Terkait dengan hal tersebut, profil WebView dapat diambil menggunakan WebViewCompat#getProfile. (I32d22)
  • Tambahkan API untuk mengubah cara peristiwa Attribution Reporting didaftarkan. Kami memperkenalkan API baru WebSettingsCompat#setAttributionRegistrationBehavior yang memungkinkan developer mengonfigurasi apakah sumber dan pemicu didaftarkan berasal dari aplikasi itu sendiri atau berasal dari konten web di WebView. Metode ini juga dapat digunakan untuk menonaktifkan Attribution Reporting di WebView. Selain itu, kami menambahkan API baru WebSettingsCompat#getAttributionRegistrationBehavior untuk mendapatkan perilaku saat ini. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Privacy Sandbox. (I661f2)
  • Menambahkan API untuk mengganti metadata agen pengguna. Kami memperkenalkan API baru WebSettingsCompat#setUserAgentMetadata untuk mengganti metadata agen pengguna untuk WebView, yang digunakan untuk mengisi petunjuk klien agen pengguna, dan kami juga menambahkan WebSettingsCompat#getUserAgentMetadata API baru lainnya untuk mendapatkan penggantian agen pengguna saat ini. Sebaiknya aplikasi menggunakan API baru untuk menyetel nilai penggantian yang tepat, bukan mengandalkan perubahan agen pengguna. (I74500)
  • Menambahkan API untuk memasukkan JavaScript yang akan dijalankan selama pemuatan halaman. WebViewCompat.addDocumentStartJavascript API memungkinkan aplikasi memasukkan skrip ke WebView yang akan dijalankan sebelum skrip halaman apa pun dieksekusi. API memungkinkan aplikasi menentukan daftar target origin tempat skrip akan diaktifkan, sehingga memastikan bahwa skrip hanya berjalan di halaman yang diinginkan. Tidak seperti WebView.evaluateJavascript, API ini akan memungkinkan eksekusi skrip dalam Iframe tersemat saat dimuat. (Ide063)

Versi 1.8

Versi 1.8.0

6 September 2023

androidx.webkit:webkit:1.8.0 dirilis. Versi 1.8.0 berisi commit ini.

Perubahan penting sejak versi 1.7.0

Versi 1.8.0-rc01

9 Agustus 2023

androidx.webkit:webkit:1.8.0-rc01 dirilis tanpa perubahan sejak 1.8.0-beta01. Versi 1.8.0-rc01 berisi commit ini.

Versi 1.8.0-beta01

26 Juli 2023

androidx.webkit:webkit:1.8.0-beta01 dirilis tanpa perubahan sejak 1.8.0-alpha01. Versi 1.8.0-beta01 berisi commit ini.

Versi 1.8.0-alpha01

7 Juni 2023

androidx.webkit:webkit:1.8.0-alpha01 dirilis. Versi 1.8.0-alpha01 berisi commit ini.

Perubahan API

  • Lihat bagian Kontribusi Eksternal.

Kontribusi Eksternal

  • Menambahkan dukungan untuk meneruskan ArrayBuffer melalui WebMessagePortCompat#postMessage, JsReplyProxy#postMessage, dan WebViewCompat#postWebMessage, menerima ArrayBuffer dari JavaScript melalui WebMessagePortCompat dan WebMessageListener, serta menerima ArrayBuffer yang dapat ditransfer dari JavaScript melalui WebMessagePortCompat. Perlu diperhatikan bahwa API ini hanya akan tersedia mulai WebView versi 116. (Ie7567, b/251152171)

Versi 1.7

Versi 1.7.0

24 Mei 2023

androidx.webkit:webkit:1.7.0 dirilis. Versi 1.7.0 berisi commit ini.

Perubahan penting sejak versi 1.6.0

  • Kami menambahkan dukungan untuk penarikan Image di WebView. Anda dapat memungkinkan pengguna untuk menarik gambar dari WebView dengan menambahkan DropDataContentProvider baru ke manifes aplikasi Anda seperti yang dijelaskan dalam dokumentasi class.
  • Kita menambahkan ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) API yang dapat digunakan untuk menetapkan direktori dasar yang akan digunakan WebView untuk proses saat ini. Seperti semua metode di ProcessGlobalConfig, metode ini harus dipanggil sebelum instance pertama WebView dibuat instance-nya. Metode ini ditambahkan untuk memberi framework Android kemampuan untuk mengubah setelan WebView. Untuk aplikasi tujuan umum, penggunaan metode ini tidak disarankan.

Versi 1.7.0-rc01

10 Mei 2023

androidx.webkit:webkit:1.7.0-rc01 dirilis tanpa perubahan sejak 1.7.0-beta01. Versi 1.7.0-rc01 berisi commit ini.

Versi 1.7.0-beta01

5 April 2023

androidx.webkit:webkit:1.7.0-beta01 dirilis. Versi 1.7.0-beta01 berisi commit ini.

Perubahan API

  • Perubahan kecil pada tombol fitur dan nama metode serta membuat setDirectoryBasePaths() menerima File, bukan String (Ib0d0a)

Versi 1.7.0-alpha03

8 Maret 2023

androidx.webkit:webkit:1.7.0-alpha03 dirilis. Versi 1.7.0-alpha03 berisi commit ini.

Perubahan API

  • Menambahkan ProcessGlobalConfig#setDirectoryBasePath(String, String) API yang dapat digunakan untuk menetapkan direktori dasar yang akan digunakan WebView untuk proses saat ini. (Ibd1a1, b/250553687)

Perbaikan Bug

  • Memperbaiki aturan ProGuard yang tidak valid yang menyebabkan error build saat menggunakan DexGuard (Ia65c2, b/270034835)

Versi 1.7.0-alpha02

8 Februari 2023

androidx.webkit:webkit:1.7.0-alpha02 dirilis. Versi 1.7.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Bug dokumentasi untuk DropDataContentProvider.

Versi 1.7.0-alpha01

25 Januari 2023

androidx.webkit:webkit:1.7.0-alpha01 dirilis. Versi 1.7.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami menambahkan dukungan untuk penarikan Image di WebView. Anda dapat memungkinkan pengguna untuk menarik gambar dari WebView dengan menambahkan DropDataContentProvider baru ke manifes aplikasi Anda. (05a1a6)

Versi 1.6

Versi 1.6.1

22 Maret 2023

androidx.webkit:webkit:1.6.1 dirilis. Versi 1.6.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki error penguraian proguard (Ia65c2)

Versi 1.6.0

25 Januari 2023

androidx.webkit:webkit:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.

Perubahan penting sejak versi 1.5.0

  • ProcessGlobalConfig API baru telah ditambahkan untuk memungkinkan aplikasi menyediakan setelan konfigurasi yang perlu ditetapkan sebelum memuat WebView, seperti akhiran direktori data WebView. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses.
  • CookieManagerCompat API baru telah ditambahkan untuk memperluas android.webkit.CookieManager dengan metode getCookieInfo baru, yang mengambil semua atribut untuk semua cookie yang ditetapkan di URL tertentu. Hal ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut.
  • WebSettingsCompat memiliki metode baru untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView, dan untuk mendapatkan setelan saat ini. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.
  • Menambahkan API baru ke WebSettingsCompat untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView.

Versi 1.6.0-rc01

11 Januari 2023

androidx.webkit:webkit:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki NullPointerException di WebViewFeature.isStartupFeatureSupported(Context, String) saat berjalan di SDK < L. (Ic7292)

Versi 1.6.0-beta01

7 Desember 2022

androidx.webkit:webkit:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.

Perubahan API

  • ProcessGlobalConfig telah diubah untuk menggunakan konstruktor normal dan metode penerapan statis. Metode penerapan hanya boleh dipanggil sekali per proses, sesegera mungkin, dan akan menampilkan IllegalStateException jika dipanggil lebih dari sekali. Objek ProcessGlobalConfig tidak lagi memiliki batasan terkait berapa kali penyetel dapat dipanggil. (I456c3)

Versi 1.6.0-alpha03

9 November 2022

androidx.webkit:webkit:1.6.0-alpha03 dirilis. Versi 1.6.0-alpha03 berisi commit ini.

Fitur Baru

  • Menambahkan class ProcessGlobalConfig yang memungkinkan pengguna menyetel konfigurasi global proses sebelum memuat WebView. WebView memiliki beberapa parameter konfigurasi global proses yang tidak dapat diubah setelah WebView dimuat (misalnya direktori data WebView). Class ini memungkinkan aplikasi menetapkan parameter ini. Konfigurasi harus disiapkan dan diterapkan sesegera mungkin selama startup aplikasi untuk memastikannya terjadi sebelum thread lain dapat memanggil metode yang memuat WebView ke dalam proses. (I7c0e0, b/250553687)
  • Menambahkan API baru untuk memungkinkan aplikasi secara eksplisit mengirim nama paket aplikasi di header X-Requested-With ke origin yang diizinkan. Header biasanya dikirim pada setiap permintaan dari WebView. (I0adfe, b/226552535)

Perubahan API

  • API WebSettingsCompat#setAlgorithmicDarkeningAllowed didukung di semua versi Android untuk WebView versi 105 dan yang lebih baru. Versi WebView sebelumnya hanya mendukung API di Android Q dan versi yang lebih baru. Akibatnya, API ini tidak lagi ditandai @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

Versi 1.6.0-alpha02

24 Oktober 2022

androidx.webkit:webkit:1.6.0-alpha02 dirilis. Versi 1.6.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan class CookieManagerCompat baru bersama dengan getCookieInfo API yang mengambil semua atribut untuk semua cookie yang ditetapkan pada URL tertentu. Ini berbeda dengan getCookie API yang ada di CookieManager yang hanya menampilkan atribut nama dan nilai cookie tersebut. (I07365, b/242161756)

Versi 1.6.0-alpha01

24 Agustus 2022

androidx.webkit:webkit:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan API di WebSettingsCompat untuk mengaktifkan/menonaktifkan efek EnterpriseAuthenticationAppLinkPolicy jika disetel oleh admin di WebView. Fitur ini memungkinkan WebView membuka Aplikasi autentikasi, bukan membuka URL autentikasi. Fitur ini tidak berpengaruh pada perangkat yang tidak dikelola oleh kebijakan perusahaan.

Versi 1.5.0

Versi 1.5.0

24 Agustus 2022

androidx.webkit:webkit:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.

Perubahan penting sejak versi 1.4.0

  • setAlgorithmicDarkeningAllowed API baru di WebSettingsCompat menggantikan setForceDark API dan setForceDarkStrategy API lama. Aplikasi yang menargetkan SDK 33 dan yang lebih tinggi (T) harus menggunakan API baru, karena API lama tidak akan lagi berpengaruh pada aplikasi tersebut.
  • Daftar URL yang diizinkan untuk menggunakan proxy yang dikonfigurasi sekarang dapat disetel melalui ProxyCofig.Builder dengan menyetel setReverseBypassEnabled ke true. Saat perubahan ini berlaku, semua URL lain akan mengabaikan proxy yang dikonfigurasi.

Versi 1.5.0-rc01

10 Agustus 2022

androidx.webkit:webkit:1.5.0-rc01 dirilis tanpa perubahan sejak 1.5.0-beta01. Versi 1.5.0-rc01 berisi commit ini.

Versi 1.5.0-beta01

29 Juni 2022

androidx.webkit:webkit:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.

Perubahan API

  • API terkait Penggelapan Algoritmis kini dianotasi untuk memerlukan API level Q. API ini tidak akan berpengaruh pada API level < Q, karena tema gelap bukanlah opsi pada perangkat tersebut. (I0905e)

Versi 1.5.0-alpha01

18 Mei 2022

androidx.webkit:webkit:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan metode getVariationsHeader() baru di WebViewCompat untuk mendapatkan nilai header X-Client-Data yang dikirim oleh WebView. Nilai yang ditampilkan akan berupa protobuf ClientVariations yang dienkode base64.
  • Menambahkan API pada WebSettingsCompat guna mengizinkan/melarang penggelapan algoritmis untuk aplikasi dengan targetSdk >= 33. (I29597)

Perubahan API

  • Menambahkan metode baru di ProxyCofig.Builder untuk menetapkan pengabaian terbalik. Menyetel pengabaian balik ke benar (true) berarti hanya URL dalam daftar pengabaian yang akan menggunakan setelan proxy. (I9eaa2, b/168728599)

Perbaikan Bug

  • Memperbaiki kesalahan ketik dalam dokumentasi tema gelap. (I36ebf, b/194343633)
  • Memperbaiki bug ketika metode WebViewAssetLoader.Builder tidak sengaja bergantung pada urutan. (If420d, b/182196765)

Versi 1.4.0

Versi 1.4.0

16 Desember 2020

androidx.webkit:webkit:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan utama sejak versi 1.3.0

  • Menambahkan setSafeBrowsingAllowlist() API baru untuk mengganti setSafeBrowsingWhitelist(). Hal ini membantu aplikasi memperbarui kode untuk menghindari penggunaan terminologi non-inklusif, dengan tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi.
  • Memperbaiki bug dalam setProxyOverride yang menyebabkan aturan penggantian tidak diterapkan dengan benar.

Versi 1.4.0-rc02

2 Desember 2020

androidx.webkit:webkit:1.4.0-rc02 dirilis. Versi 1.4.0-rc02 berisi commit ini.

Perbaikan Bug

  • Memperbaiki aturan penggantian yang tidak diterapkan dengan benar saat menggunakan setProxyOverride.

Versi 1.4.0-rc01

11 November 2020

androidx.webkit:webkit:1.4.0-rc01 dirilis tanpa perubahan sejak 1.4.0-beta01. Versi 1.4.0-rc01 berisi commit ini.

Versi 1.4.0-beta01

14 Oktober 2020

androidx.webkit:webkit:1.4.0-beta01 dirilis tanpa perubahan sejak 1.4.0-alpha01. Versi 1.4.0-beta01 berisi commit ini.

Versi 1.4.0-alpha01

16 September 2020

androidx.webkit:webkit:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan WebViewCompat#setSafeBrowsingAllowlist() baru untuk menggantikan setSafeBrowsingWhitelist(). Tindakan ini membantu aplikasi memperbarui kodenya untuk menghindari penggunaan terminologi non-inklusif, sambil tetap mendukung rentang versi Android SDK dan WebView yang sama seperti API yang tidak digunakan lagi. (I8d65d)

Versi 1.3.0

Versi 1.3.0

19 Agustus 2020

androidx.webkit:webkit:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.

Perubahan utama sejak versi 1.2.0

  • ForceDarkStrategy API memberikan lebih banyak kontrol pada penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener dan API terkait menyediakan mekanisme yang sederhana dan aman untuk membuat komunikasi antara konten web dan aplikasi penyemat WebView.
  • isMultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses. Ini mungkin dimulai di Android O dan berarti konten web dirender dalam proses perender dengan sandbox yang terpisah dari proses aplikasi. Perender dengan sandbox ini dapat dibagikan ke WebView lain dalam aplikasi yang sama, tetapi tidak dibagikan ke proses aplikasi lain.

Versi 1.3.0-rc02

5 Agustus 2020

androidx.webkit:webkit:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.

Perbaikan Bug

  • Jika aplikasi Anda dimulai dengan dijalankannya Android Studio secara instan, perbaikan ini akan menangani masalah kompatibilitas saat WebMessageListener terkadang mengalami error selama pengembangan lokal.

Versi 1.3.0-rc01

24 Juni 2020

androidx.webkit:webkit:1.3.0-rc01 dirilis tanpa perubahan sejak 1.3.0-beta01. Versi 1.3.0-rc01 berisi commit ini.

Versi 1.3.0-beta01

10 Juni 2020

androidx.webkit:webkit:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.
  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Versi 1.3.0-alpha03

27 Mei 2020

androidx.webkit:webkit:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.

Perubahan API

  • Metode addWebMessageListener kini menerima Set<String> aturan asal yang diizinkan (sebelumnya List<String>).

Versi 1.3.0-alpha02

29 April 2020

androidx.webkit:webkit:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.

Fitur Baru

  • MultiProcessEnabled API untuk memeriksa apakah WebView berjalan dalam mode multi-proses.

Perubahan API

  • Semua konstanta strategi gelap sekarang diberi awalan dengan DARK_STRATEGY.

Versi 1.3.0-alpha01

15 April 2020

androidx.webkit:webkit:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.

Fitur Baru

  • ForceDarkStrategy API untuk mengontrol penggelapan WebView (penggelapan CSS/konten web dibandingkan dengan penggelapan otomatis).
  • WebMessageListener API menyediakan mekanisme yang sederhana dan aman untuk membangun komunikasi antara konten web dan aplikasi penyemat WebView.

Versi 1.2.0

Versi 1.2.0

4 Maret 2020

androidx.webkit:webkit:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan utama sejak versi 1.1.0

  • Menambahkan ForceDark API untuk mengontrol apakah WebView seharusnya dirender dalam mode gelap.

Versi 1.2.0-rc01

19 Februari 2020

androidx.webkit:webkit:1.2.0-rc01 dirilis tanpa perubahan sejak 1.2.0-beta01. Versi 1.2.0-rc01 berisi commit ini.

Versi 1.2.0-beta01

5 Februari 2020

androidx.webkit:webkit:1.2.0-beta01 dirilis tanpa perubahan sejak 1.2.0-alpha01. Versi 1.2.0-beta01 berisi commit ini.

Versi 1.2.0-alpha01

18 Desember 2019

androidx.webkit:webkit:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur baru

  • ForceDark API untuk mengontrol apakah WebView harus dirender dalam mode gelap.

Versi 1.1.0

Versi 1.1.0

7 November 2019

androidx.webkit:webkit:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient().
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • WebViewAssetLoader API untuk menyederhanakan pemuatan aset, resource, dan file APK dari direktori data aplikasi melalui intersepsi permintaan. Hal ini memungkinkan akses ke resource web dan lokal tanpa perlu menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-rc01

9 Oktober 2019

androidx.webkit:webkit:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perbaikan bug

  • Memperbaiki masalah yang menyebabkan setWebViewRenderProcessClient() mengalami error jika menerima penerusan klien null.

Versi 1.1.0-beta01

5 September 2019

androidx.webkit:webkit:1.1.0-beta01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • InternalStoragePathHandler baru di WebViewAssetLoader untuk memuat file dari direktori data aplikasi.

Perubahan API

  • ProxyConfig#getProxyRules() sekarang menampilkan daftar instance ProxyRule yang tidak dapat dimodifikasi, yang merupakan class baru untuk menampung filter skema dan URL proxy terkaitnya.

Perbaikan bug

  • WebViewAssetLoader ditetapkan secara default ke jenis MIME "text/plain" (bukan null) jika jenis MIME tidak dapat ditebak dari jalur filenya.
  • WebViewAssetLoader tidak lagi menampilkan NullPointerException saat memuat file yang menggunakan karakter khusus dalam nama jalurnya.

Versi 1.1.0-alpha02

7 Agustus 2019

androidx.webkit:webkit:1.1.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • WebViewAssetLoader menampilkan antarmuka PathHandler yang memungkinkan aplikasi membuat fungsionalitas penanganan jalur kustom.

Perubahan API

  • WebViewAssetLoader sekarang adalah class final, karena tidak dimaksudkan untuk dijadikan subclass.
  • Implementasi WebViewAssetLoader#PathHandler kini bersifat publik dan final.
  • Perubahan minor pada nama metode ProxyConfig.
  • ProxyController: menambahkan addDirect() dan addDirect(String) sebagai metode baru untuk terhubung langsung ke server; menghapus String DIRECT.
  • Mengupdate API yang sudah ada untuk menyertakan anotasi nullability (@NonNull, @Nullable) dan thread (@UiThread, @WorkerThread).

Versi 1.1.0-alpha01

7 Mei 2019

androidx.webkit:webkit:1.1.0-alpha01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Getter API untuk melengkapi setWebViewClient() dan setWebChromeClient()
  • ProxyController API untuk menetapkan proxy permintaan jaringan bagi WebView aplikasi.
  • AssetLoader API untuk menyederhanakan pemuatan aset dan resource APK melalui intersepsi permintaan, sehingga memungkinkan akses ke resource web tanpa menonaktifkan CORS.
  • TracingController API untuk mengumpulkan informasi pelacakan WebView untuk keperluan proses debug.
  • RenderProcess API untuk mengelola layanan perender WebView dan mendeteksi saat konten berperilaku buruk yang menyebabkan perender WebView menjadi tidak responsif.

Perbaikan bug

  • Perbaikan minor pada pemformatan dokumentasi untuk API yang sudah ada.