Webkit

العمل مع واجهات برمجة تطبيقات WebView الحديثة على الإصدار 5 من نظام التشغيل Android والإصدارات الأحدث
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫2 يوليو 2025 1.14.0 - - 1.15.0-alpha01

تعريف التبعيات

لإضافة تبعية على Webkit، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

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

Kotlin

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

لمزيد من المعلومات حول العناصر التابعة، يُرجى الاطّلاع على إضافة عناصر تابعة للإنشاء.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.15

الإصدار 1.15.0-alpha01

‫2 يوليو 2025

تم طرح androidx.webkit:webkit:1.15.0-alpha01. يحتوي الإصدار 1.15.0-alpha01 على عمليات الدمج هذه.

الميزات الجديدة

  • واجهة برمجة تطبيقات جديدة لضبط أزواج اسم-قيمة لعناوين HTTP في الطلبات إلى مصادر محدّدة
    تتيح طريقة Profile.setOriginMatchedHeader للتطبيق تحديد أنّه يجب ضبط اسم العنوان وقيمته على جميع طلبات HTTP/HTTPS إلى المصادر التي تتطابق مع قائمة السماح المقدَّمة عند إرسالها من WebViews وخدمات الخلفية التي تستخدم الملف الشخصي المحدّد. تسمح واجهة برمجة التطبيقات بتعيين واحد فقط لكل اسم عنوان، وستعرض استثناءً إذا كان اسم العنوان مضبوطًا من قبل.
    استخدِم Profile.clearOriginMatchedHeader لإزالة عملية ربط حالية، وProfile.clearAllOriginMatchedHeaders لإزالة جميع عمليات الربط. (Ida7f1، b/419469873)
  • واجهة برمجة تطبيقات جديدة للوصول إلى ملفات تعريف الارتباط وضبطها كجزء من عمليات معاودة الاتصال في shouldInterceptRequest لكلّ من WebView وService Workers
    يمكن لمطوّري التطبيقات الذين يمكنهم حاليًا الوصول إلى واجهة برمجة التطبيقات CookieManager كجزء من shouldInterceptRequest تفعيل عناوين ملفات تعريف الارتباط مباشرةً من خلال طلب setIncludeCookiesOnShouldInterceptRequest. سيؤدي ذلك إلى إضافة WebView للعنوان Cookie إلى خريطة WebResourceRequest.getRequestHeaders() التي ستكون ملفات تعريف الارتباط المحدّدة التي تنطبق على الطلب. سيتعامل ذلك أيضًا بشكل صحيح مع أي ملفات تعريف ارتباط مقسَّمة.يمكن للتطبيقات توفير قيم عناوين Set-Cookie من خلال واجهة برمجة التطبيقات WebResourceResponseCompat.setCookies التي تمت إضافتها حديثًا.
    ستعالج WebView قيم Set-Cookie المُضافة هناك كجزء من معالجة الاستجابة. (Idbfd1، b/414769380)
  • واجهة برمجة تطبيقات تجريبية جديدة لتسخين عملية العرض في Profile
    يمكن أن تستخدم التطبيقات التي تتضمّن دورات حياة معقّدة في WebView واجهة برمجة التطبيقات هذه لضمان تشغيل عملية العرض، حتى إذا تم إيقاف جميع مثيلات WebView. (Ia8fc8)

تغييرات واجهة برمجة التطبيقات

  • أضِف طريقة جديدة إلى واجهة التنقّل التجريبية لتوفير عنوان URL الخاص بالتنقّل. (I1c6c0)
  • تعديل اسم ميزة "الجلب المُسبَق للملف الشخصي" لتوضيح أنّه يمكن الآن استدعاء واجهة برمجة التطبيقات Prefetch API في سلسلة محادثات في الخلفية (I7c83a)

الإصدار 1.14

الإصدار 1.14.0

‫4 يونيو 2025

تم طرح androidx.webkit:webkit:1.14.0. يحتوي الإصدار 1.14.0 على عمليات الدمج هذه.

التغييرات المهمة منذ الإصدار 1.13.0

  • نقدّم لك واجهة برمجة التطبيقات PaymentRequest لاستدعاء تطبيقات الدفع الأصلية على Android من خلال الغرض org.chromium.intent.action.PAY. يكون PaymentRequest غير مفعّل تلقائيًا، ويمكن لتطبيقات المضيف WebView استدعاء WebSettingsCompat.setPaymentRequestEnabled(settings, true) لتفعيله. بالإضافة إلى ذلك، تتطلّب PaymentRequest علامة <queries> في AndroidManifest.xml. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات setPaymentRequestEnabled().
  • نقدّم لك واجهة برمجة التطبيقات التجريبية Navigation API لتتبُّع عمليات التنقّل على الويب وإدارتها بشكلٍ محسّن ضمن WebView. توفّر واجهات برمجة التطبيقات هذه معلومات تفصيلية حول أحداث التنقّل. يمكنك البدء من خلال استدعاء WebViewCompat.setNavigationClient مع تنفيذ واجهة WebNaviagationClient الجديدة للحصول على معلومات مفصّلة حول التنقّل بين الصفحات. لمزيد من المعلومات حول دورة حياة التنقّل، يُرجى الاطّلاع على دورة حياة عرض التنقّل.

الإصدار 1.14.0-rc01

‫20 مايو 2025

تم طرح androidx.webkit:webkit:1.14.0-rc01. يحتوي الإصدار 1.14.0-rc01 على عمليات الدمج هذه.

  • لم يتم إجراء أي تغييرات منذ 1.14.0-beta01.

الإصدار 1.14.0-beta01

‫7 مايو 2025

تم طرح androidx.webkit:webkit:1.14.0-beta01. يحتوي الإصدار 1.14.0-beta01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • إضافة سياق كمعلَمة إلى واجهة برمجة التطبيقات startUpWebView() (Ic29cd، b/406701301)

الإصدار 1.14.0-alpha01

‫9 أبريل 2025

تم طرح androidx.webkit:webkit:1.14.0-alpha01. يحتوي الإصدار 1.14.0-alpha01 على عمليات الدمج هذه.

الميزات الجديدة

  • نقدّم لك واجهة برمجة التطبيقات PaymentRequest لاستدعاء تطبيقات الدفع الأصلية على Android من خلال الغرض org.chromium.intent.action.PAY. يكون PaymentRequest غير مفعّل تلقائيًا، ويمكن لتطبيقات WebView المضيفة طلب WebSettingsCompat.setPaymentRequestEnabled(settings, true) لتفعيله. بالإضافة إلى ذلك، تتطلّب PaymentRequest علامة <queries> في AndroidManifest.xml. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات setPaymentRequestEnabled(). (I3304e، b/404920055)
  • نقدّم لك ميزة "عمليات ردّ الاتصال التجريبية للتنقل". يتضمّن هذا الإصدار واجهات برمجة تطبيقات تجريبية لتحسين تتبُّع عمليات التنقّل على الويب وإدارتها ضمن WebView. توفّر واجهات برمجة التطبيقات هذه معلومات تفصيلية حول أحداث التنقّل. الميزات الأساسية:
    • WebNavigationClient الواجهة: تقدّم واجهة جديدة، WebNavigationClient، مع عمليات ردّ الاتصال لأحداث التنقّل:
    • onNavigationStarted(Navigation navigation): يتم إرسال إشعار عند بدء التنقّل.
    • onNavigationRedirected(Navigation navigation): يتم إرسال إشعار عند إعادة توجيه عملية تنقّل.
    • onNavigationCompleted(Navigation navigation): يتم إرسال إشعار عند اكتمال عملية تنقّل.
    • واجهة Navigation: تقدّم معلومات تفصيلية عن عملية التنقّل، بما في ذلك: عنوان URL وحالة بدء الصفحة وحالة المستند نفسه وحالة إعادة التحميل وحالة السجلّ وحالة الرجوع/التقدّم وحالة التنفيذ وحالة صفحة الخطأ ورمز الحالة وحالة استعادة الجلسة. يعمل العنصر Navigation كمعرّف فريد لكل عملية تنقّل، ما يسمح للمطوّرين بربط أحداث التنقّل ذات الصلة.
    • الفئة Page: تعرّف هذه الفئة على الفئة Page التي تعمل كمفتاح للبيانات المرتبطة بالصفحة. (I351a6)
  • إضافة واجهة برمجة تطبيقات تجريبية جديدة لتبديل سلوك عناصر مقدّم خدمة التخزين المؤقت (I14636)

تغييرات واجهة برمجة التطبيقات

  • تم تعديل قيمة ميزة "PROFILE_URL_PREFETCH" في WebViewFeature. (I606fd)
  • تضيف هذه السمة WebViewCompat#saveState، على غرار WebView#saveState، ولكنها تتيح تقييد حجم الحالة التي يتم عرضها وتحديد ما إذا كان سيتم حفظ إدخالات السجلّ المتقدّم أم لا. (Iea7d6)
  • إضافة إعدادات maxPrerenders إلى واجهة برمجة التطبيقات SpeculativeLoadingConfig (I67245)

الإصدار 1.13

الإصدار 1.13.0

‫12 مارس 2025

تم طرح androidx.webkit:webkit:1.13.0. يحتوي الإصدار 1.13.0 على عمليات الدمج هذه.

التغييرات المهمة منذ الإصدار 1.12.0

  • نقدّم واجهة برمجة تطبيقات تجريبية جديدة مخصّصة للعرض المسبق لعناوين URL، ما يتيح للمطوّرين العرض المسبق التخميني لعناوين URL المرشّحة، ما يؤدي إلى عمليات تنقّل أسرع. (I0cfe7)
  • نقدّم مجموعة من واجهات برمجة التطبيقات الجديدة لحذف بيانات التصفّح التي يخزّنها WebView. يُفضَّل استخدام واجهات برمجة التطبيقات الجديدة في WebStorageCompat على واجهات برمجة التطبيقات الحالية في android.webkit.WebStorage، لأنّها ستضمن حذف جميع بيانات التخزين المحلية، بما في ذلك ذاكرة التخزين المؤقت للشبكة وملفات تعريف الارتباط، بالإضافة إلى أي مشغّلات خدمات مثبَّتة. في حال توفير واجهات برمجة تطبيقات جديدة متعلقة بمساحة التخزين في المستقبل، سيتم تعديل هذه الطرق الجديدة لتشملها في مساحة التخزين المحذوفة. (Iad54f، b/382273208)
  • أضِف واجهة برمجة التطبيقات setPartitionedCookiesEnabled. سيسمح ذلك للمطوّرين بتفعيل ملفات تعريف الارتباط المقسّمة وإيقافها في WebView. (Ic506a، b/364904765)
  • أضِف واجهة برمجة التطبيقات لوسم المقابس إلى WebView من أجل احتساب عدد زيارات شبكة WebView باستخدام NetworkStatsManager/TrafficStats. لن تتوفّر هذه الميزة إلا من الإصدار WebView M133. (Ica441، b/374932688)
  • إضافة واجهة برمجة تطبيقات تجريبية WebView لبدء التشغيل غير المتزامن (I94b8a)
  • جلب عناوين URL مسبقًا في الملف الشخصي: تم طرح واجهة برمجة تطبيقات جديدة في Profile للسماح للمطوّرين بتفعيل ميزة جلب عناوين URL مسبقًا. محو الجلب المُسبَق: تمت إضافة واجهة برمجة تطبيقات لمحو عمليات الجلب المُسبَق الجارية.(I42c5c)
  • إيقاف WebView.startSafeBrowsing (If5626)

الإصدار 1.13.0-rc01

‫26 فبراير 2025

تم طرح androidx.webkit:webkit:1.13.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات عن الإصدار 1.13.0-beta01.

الإصدار 1.13.0-beta01

‫12 فبراير 2025

تم طرح androidx.webkit:webkit:1.13.0-beta01. يحتوي الإصدار 1.13.0-beta01 على عمليات الدمج هذه.

تغييرات واجهة برمجة التطبيقات

  • إضافة اللاحقة Async إلى واجهة برمجة التطبيقات الخاصة بالعرض المُسبَق أعِد تسمية أيّ "بيانات" إلى "عنوان" في NoVarySearch ليعكس الاسم الجديد. (Ie91c9)
  • إضافة مَعلمة executor إلى واجهة برمجة التطبيقات الخاصة بالعرض المسبق لعناوين URL بالإضافة إلى ذلك، يتم حصر إمكانية طلب البيانات من واجهة برمجة التطبيقات في سلسلة التعليمات الخاصة بواجهة المستخدم فقط. (I50520)
  • أضِف واجهة برمجة تطبيقات لضبط إعدادات ذاكرة التخزين المؤقت لطلبات الجلب المُسبَق للملف الشخصي. وينطبق أيضًا على طلبات Prerender التي يتم إرسالها من WebViews مرتبط بهذا الملف الشخصي. (Iebb6e)

إصلاح الأخطاء

  • تغيير سلوك URLUtilCompat.guessFileName لاستخدام المَعلمة mimeType فقط لاقتراح إضافة لأسماء الملفات المستمدة من مَعلمة عنوان URL (I53ecd، b/382864232)

الإصدار 1.13.0-alpha03

‫15 يناير 2025

تم طرح androidx.webkit:webkit:1.13.0-alpha03. يحتوي الإصدار 1.13.0-alpha03 على عمليات الدمج هذه.

الميزات الجديدة

  • نقدّم واجهة برمجة تطبيقات تجريبية جديدة مخصّصة للعرض المسبق لعناوين URL، ما يتيح للمطوّرين العرض المسبق التخميني لعناوين URL المرشّحة، ما يؤدي إلى عمليات تنقّل أسرع. (I0cfe7)
  • نقدّم مجموعة من واجهات برمجة التطبيقات الجديدة لحذف بيانات التصفّح التي يخزّنها WebView. يُفضَّل استخدام واجهات برمجة التطبيقات الجديدة في WebStorageCompat على واجهات برمجة التطبيقات الحالية في android.webkit.WebStorage، لأنّها ستضمن حذف جميع بيانات التخزين المحلية، بما في ذلك ذاكرة التخزين المؤقت للشبكة وملفات تعريف الارتباط، بالإضافة إلى أي مشغّلات خدمات مثبَّتة. في حال توفير واجهات برمجة تطبيقات جديدة متعلقة بمساحة التخزين في المستقبل، سيتم تعديل هذه الطرق الجديدة لتشملها في مساحة التخزين المحذوفة. (Iad54f، b/382273208)
  • أضِف واجهة برمجة التطبيقات setPartitionedCookiesEnabled. سيسمح ذلك للمطوّرين بتفعيل ملفات تعريف الارتباط المقسّمة وإيقافها في WebView. (Ic506a، b/364904765)

تغييرات واجهة برمجة التطبيقات

  • تغيير متطلبات سلسلة المحادثات لواجهة برمجة التطبيقات Prefetch API بحيث لا يتم استدعاؤها إلا في سلسلة محادثات واجهة المستخدم (I866b5)
  • تعديل طرق WebAuthn لتوضيح أنّه يجب استدعاؤها في سلسلة التعليمات الخاصة بواجهة المستخدم يتم فرض هذا الشرط من خلال عملية التنفيذ الحالية، ولا يضيف هذا التغيير سوى التعليق التوضيحي ذي الصلة. (I6d6ba)

الإصدار 1.13.0-alpha02

‫11 ديسمبر 2024

تم طرح androidx.webkit:webkit:1.13.0-alpha02. يحتوي الإصدار 1.13.0-alpha02 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضِف واجهة برمجة التطبيقات لوسم المقابس إلى WebView من أجل احتساب عدد زيارات شبكة WebView باستخدام NetworkStatsManager/TrafficStats. لن تتوفّر هذه الميزة إلا من الإصدار WebView M133. (Ica441، b/374932688)

تغييرات واجهة برمجة التطبيقات

  • تعديل Prefetch API من خلال إعادة تسمية PrefetchParameter إلى SpeculativeLoadingParamaters، وإضافة PrefetchNetworkException جديدة، واستبدال PrefetchOperationCallback بـ OutcomeReceiverCompat، وتعديل Javadoc (If5072)
  • الحصول على معلومات التشخيص من واجهة برمجة التطبيقات لبدء WebView بشكل غير متزامن
  • توفير خيار للتطبيقات لتفعيل عملية الإعداد فقط بدون حظر سلسلة محادثات واجهة المستخدم (I9bf2b)

إصلاح الأخطاء

  • تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية في JSpecify، وهي تعليقات توضيحية خاصة بالاستخدام. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح: -Xjspecify-annotations=strict (هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من المترجم البرمجي للغة Kotlin). (I0e4c5، b/326456246)

الإصدار 1.13.0-alpha01

‫13 نوفمبر 2024

تم طرح androidx.webkit:webkit:1.13.0-alpha01. يحتوي الإصدار 1.13.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • إضافة واجهة برمجة تطبيقات تجريبية WebView لبدء التشغيل غير المتزامن (I94b8a)
  • جلب مسبق لعناوين URL في Profile: تم طرح واجهة برمجة تطبيقات جديدة في Profile للسماح للمطوّرين بتفعيل ميزة الجلب المسبق لعناوين URL. محو عمليات الجلب المُسبَق: تمت إضافة واجهة برمجة تطبيقات لمحو عمليات الجلب المُسبَق الجارية. (I42c5c)

تغييرات واجهة برمجة التطبيقات

  • إيقاف WebView.startSafeBrowsing (If5626)

الإصدار 1.12

الإصدار 1.12.1

‫2 أكتوبر 2024

تم طرح androidx.webkit:webkit:1.12.1. يحتوي الإصدار 1.12.1 على عمليات الدمج هذه.

إصلاح الأخطاء

  • حلّ المشكلة التي كانت تمنع توفّر واجهات برمجة التطبيقات 1.12.0 في الإصدار

الإصدار 1.12.0

‫18 سبتمبر 2024

تم طرح androidx.webkit:webkit:1.12.0. يحتوي الإصدار 1.12.0 على عمليات الدمج هذه.

التغييرات المهمة منذ الإصدار 1.11.0

  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat لتفعيل/إيقاف BackForwardCache لهذا WebSettings. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (aosp/3111705)
  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في سلوك "التحميل التخميني" لهذا WebSettings. تتوفّر ميزة العرض المُسبق فقط في الوقت الحالي. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (I13962)
  • تمت إضافة واجهة برمجة تطبيقات جديدة لتفعيل مصادقة الويب في WebView. يمكن للمطوّرين تفعيل/إيقاف مكالمات WebAuthn في WebView لتطبيقاتهم باستخدام WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

الإصدار 1.12.0-rc01

‫4 سبتمبر 2024

تم طرح androidx.webkit:webkit:1.12.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات مقارنةً بالإصدار 1.12.0-beta01.

الإصدار 1.12.0-beta01

‫21 أغسطس 2024

تم طرح androidx.webkit:webkit:1.12.0-beta01. يحتوي الإصدار 1.12.0-beta01 على عمليات الإيداع هذه.

إصلاح الأخطاء

  • تمت إزالة التحديد اليدوي لإمكانية الوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 3.3 من R8)، وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون AGP بالترقية إلى الإصدار 8.1 أو إصدار أحدث من D8. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (Ia60e0، b/345472586)

الإصدار 1.12.0-alpha02

‫12 يونيو 2024

تم طرح androidx.webkit:webkit:1.12.0-alpha02. يحتوي الإصدار 1.12.0-alpha02 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat لتفعيل/إيقاف BackForwardCache. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (I64a38)
  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في سلوك "التحميل التخميني" لإعدادات WebSettings هذه. تتوفّر ميزة العرض المُسبق فقط في الوقت الحالي. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (I13962)

تغييرات واجهة برمجة التطبيقات

  • تم الآن توثيق بعض الطرق باستخدام @UiThread عند الاقتضاء. (I6c7e0)، (I44541)
  • تم الآن توثيق الطرق الآمنة للاستخدام المتزامن باستخدام @AnyThread. (I70189)
  • زيادة minSdkVersion من 19 إلى 21 (Id7a43)

الإصدار 1.12.0-alpha01

‫17 أبريل 2024

تم طرح androidx.webkit:webkit:1.12.0-alpha01. يحتوي الإصدار 1.12.0-alpha01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • إضافة واجهة برمجة تطبيقات جديدة لتفعيل Web Authentication في WebView. Developers يمكن تفعيل/إيقاف طلبات WebAuthn في WebView لتطبيقاتهم باستخدام WebSettingsCompat#setWebAuthenticationSupport (I8187f)

الإصدار 1.11

الإصدار 1.11.0

‫1 مايو 2024

تم طرح androidx.webkit:webkit:1.11.0. يحتوي الإصدار 1.11.0 على عمليات الدمج هذه.

التغييرات المهمة منذ الإصدار 1.10.0

  • السماح للتطبيقات بالتحكّم في تشغيل الصوت في WebView من خلال واجهتَي برمجة التطبيقات الجديدتَين setAudioMuted وisAudioMuted، وهما مماثلتان لكتم صوت علامة تبويب في Chrome
  • تمت إضافة URLUtilCompat، التي تتيح تحليل عناوين Content-Disposition التي تستخدم سمة القيمة المرمّزة filename* على النحو المحدّد في RFC 6266. توفّر واجهة برمجة التطبيقات المتوافقة أيضًا طريقة مباشرة لتحليل عنوان Content-Disposition حيث لا يكون اسم الملف المقترَح المستند إلى عنوان URL ونوع MIME مطلوبًا.

الإصدار 1.11.0-rc01

‫3 أبريل 2024

تم طرح androidx.webkit:webkit:1.11.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات مقارنةً بالإصدار 1.11.0-beta01.

الإصدار 1.11.0-beta01

‫20 مارس 2024

تم إصدار الإصدار androidx.webkit:webkit:1.11.0-beta01 بدون أي تغييرات مهمة. يحتوي الإصدار 1.11.0-beta01 على عمليات الدمج هذه.

الإصدار 1.11.0-alpha02

‫21 فبراير 2024

تم طرح androidx.webkit:webkit:1.11.0-alpha02. يحتوي الإصدار 1.11.0-alpha02 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضِف الطريقتَين setAudioMuted وisAudioMuted لكتم صوت WebViews (وإلغاء كتمه). ستتيح لك هذه الطريقة منع WebView من تشغيل الصوت. (Ie7a33)

تغييرات واجهة برمجة التطبيقات

  • يتم تحديد URLUtilCompat على أنّه نهائي لأنّه لا يجب تصنيفه ضمن فئة فرعية. (I49ec1)

الإصدار 1.11.0-alpha01

‫7 فبراير 2024

تم طرح androidx.webkit:webkit:1.11.0-alpha01. يحتوي الإصدار 1.11.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • إضافة توافق مع URLUtil.guessFileName يتيح إصدار التوافق في URLUtilCompat تحليل عناوين Content-Disposition التي تستخدم سمة القيمة المرمّزة filename* على النحو المحدّد في RFC 6266. توفّر واجهة برمجة التطبيقات المتوافقة أيضًا طريقة مباشرة لتحليل عنوان Content-Disposition حيث لا يكون اسم الملف المقترَح المستند إلى عنوان URL ونوع MIME مطلوبًا. (If6ae7، b/309927164)

الإصدار 1.10

الإصدار 1.10.0

‫24 يناير 2024

تم طرح androidx.webkit:webkit:1.10.0. يتضمّن الإصدار 1.10.0 عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.9.0

الإصدار 1.10.0-rc01

‫10 يناير 2024

تم طرح androidx.webkit:webkit:1.10.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات مقارنةً بالإصدار 1.10.0-beta01.

الإصدار 1.10.0-beta01

‫13 كانون الأول (ديسمبر) 2023

تم طرح androidx.webkit:webkit:1.10.0-beta01. يحتوي الإصدار 1.10.0-beta01 على عمليات الإيداع هذه.

  • ما مِن تغييرات وظيفية منذ 1.10.0-alpha01.

الإصدار 1.10.0-alpha01

‫29 نوفمبر 2023

تم طرح androidx.webkit:webkit:1.10.0-alpha01. يحتوي الإصدار 1.10.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • تمت إضافة واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في سلوك Android WebView Media Integrity API التجريبية من خلال إيقاف واجهة برمجة التطبيقات بالكامل أو حظر مشاركة هوية التطبيق في ردّ واجهة برمجة التطبيقات. يمكن تفعيل هذا الخيار أو إيقافه لجميع المصادر ولكل مصدر على حدة.

الإصدار 1.9

الإصدار 1.9.0

‫29 نوفمبر 2023

تم طرح androidx.webkit:webkit:1.9.0. يتضمّن الإصدار 1.9.0 عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.8.0

  • تمت إضافة واجهة برمجة تطبيقات جديدة للملفات الشخصية المتعددة في WebViews.
    • تتضمّن واجهة الملف الشخصي واجهات برمجة تطبيقات مختلفة يمكن استخدامها للحصول على البيانات المرتبطة بهذا الملف الشخصي، مثل اسمه وGeoLocationPermissions وServiceWorkerController وCookieManager وWebStorage. تكون هذه العناصر خاصة بالملف الشخصي، ولا تتم مشاركة المعلومات بين الملفات الشخصية المختلفة في التطبيق.
    • يمكن تغيير الملف الشخصي الذي يستخدمه مثيل WebView باستخدام طريقة WebViewCompat#setProfile واسترداده باستخدام WebViewCompat#getProfile.
    • تتيح لك واجهة ProfileStore التي تم طرحها حديثًا إدارة الملفات الشخصية المتاحة في تطبيقك، بما في ذلك الملف الشخصي التلقائي.
    • ستستمر واجهات برمجة تطبيقات WebView الحالية، مثل CookieManager#getInstance، في العمل على الملف الشخصي التلقائي.
  • تمت إضافة واجهة برمجة تطبيقات لإدخال JavaScript وتشغيله قبل تحميل الصفحة.
    • تتيح واجهة برمجة التطبيقات WebViewCompat#addDocumentStartJavascript للتطبيقات إدخال نصوص برمجية في WebView يتم ضمان تنفيذها قبل تنفيذ أي نصوص برمجية للصفحة. تسمح واجهة برمجة التطبيقات للتطبيق بتحديد قائمة مستهدَفة بالمصادر التي سيتم تفعيل البرنامج النصي عليها، ما يضمن عدم تشغيله إلا على الصفحات المقصودة. على عكس WebView#evaluateJavascript، ستسمح واجهة برمجة التطبيقات هذه بتنفيذ النصوص البرمجية في إطارات iframe المضمّنة عند تحميلها. يمكن للتطبيقات استخدام واجهة برمجة التطبيقات الجديدة هذه مع WebViewCompat#addWebMessageListener لإعداد اتصال ثنائي الاتجاه مع JavaScript في الصفحة بطريقة موثوقة.
  • تمت إضافة واجهات برمجة تطبيقات لتعديل طريقة تسجيل أحداث Attribution Reporting API في "مبادرة حماية الخصوصية".
    • لقد أطلقنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#setAttributionRegistrationBehavior تتيح للمطوّرين ضبط ما إذا كان يتم تسجيل مصادر تحديد المصدر وعوامل التشغيل على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن أيضًا استخدام هذه الطريقة لإيقاف ميزة "إعداد تقارير تحديد المصدر" في WebView. بالإضافة إلى ذلك، أضفنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#getAttributionRegistrationBehavior للحصول على السلوك الحالي.
    • لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "مبادرة حماية الخصوصية".
  • تمت إضافة واجهات برمجة تطبيقات لتجاوز البيانات الوصفية لبرنامج وكيل المستخدم في "تعديلات برنامج وكيل المستخدم".
    • لقد طرحنا واجهة برمجة تطبيقات جديدة، WebSettingsCompat#setUserAgentMetadata لتجاوز بيانات user-agent الوصفية الخاصة بـ WebView المستخدَمة لتعبئة تلميحات العميل الخاصة بـ user-agent، وأضفنا أيضًا واجهة برمجة تطبيقات جديدة أخرى WebSettingsCompat#getUserAgentMetadata للحصول على عمليات التجاوز الحالية الخاصة بـ user-agent. ننصح التطبيقات باستخدام واجهة برمجة التطبيقات الجديدة لضبط قيم التجاوز الصحيحة عندما يغيّر التطبيق سلسلة وكيل المستخدم التلقائية باستخدام WebSettings.setUserAgentString لضمان استخدام القيم الصحيحة في جميع الحالات.

الإصدار 1.9.0-rc01

‫15 تشرين الثاني (نوفمبر) 2023

تم طرح androidx.webkit:webkit:1.9.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات مقارنةً بالإصدار 1.9.0-beta01.

الإصدار 1.9.0-beta01

‫1 نوفمبر 2023

تم طرح androidx.webkit:webkit:1.9.0-beta01. يحتوي الإصدار 1.9.0-beta01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • حلّ مشكلة إمكانية القيمة الخالية في واجهة برمجة التطبيقات الخاصة بالبيانات الوصفية لعنوان وكيل المستخدم نعدّل الفئة BrandVersion لاستخدام نمط الإنشاء، ونجعل إمكانية القيم الفارغة في دوال الجلب والضبط للفئة UserAgentMetadata متسقة. (Ibf195)
  • إضافة تعليقات توضيحية إلى ProfileStore وWebViewCompat#setProfile وWebViewCompat.getProfile باستخدام @UiThread (I499b2)

الإصدار 1.9.0-alpha01

‫18 أكتوبر 2023

تم طرح androidx.webkit:webkit:1.9.0-alpha01. يحتوي الإصدار 1.9.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضفنا واجهة برمجة التطبيقات الخاصة بالملفات الشخصية المتعددة التي تتيح لك إجراء جلسات تصفّح منفصلة بين WebViews، ويحتوي كل ملف شخصي على بياناته الخاصة (مثل ملفات تعريف الارتباط). يمكنك إنشاء ملفات شخصية وتعيينها إلى مثيلات WebView واستردادها لاحقًا للوصول إلى أي بيانات. يتوفّر صف أحادي ProfileStore لمساعدتك في إدارة الملفات الشخصية من خلال إنشائها أو حذفها باستخدام واجهات برمجة التطبيقات: getOrCreateProfile وgetProfile وgetAllProfileNames وdeleteProfile. سيتضمّن صف Profile واجهات برمجة تطبيقات مختلفة يمكن استخدامها للحصول على البيانات المرتبطة بهذا الملف الشخصي، مثل اسمه وGeoLocationPermissions وServiceWorkerController وCookieManager وWebStorage. سيتم تشغيل كل WebView باستخدام الملف الشخصي التلقائي، ولكن يمكنك تغيير ذلك باستخدام WebViewCompat#setProfile. وفي ما يتعلق بذلك، يمكن استرداد ملف WebView الشخصي باستخدام WebViewCompat#getProfile. (I32d22)
  • إضافة واجهات برمجة تطبيقات لتعديل طريقة تسجيل أحداث Attribution Reporting لقد طرحنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#setAttributionRegistrationBehavior تتيح للمطوّرين تحديد ما إذا كان يتم تسجيل المصادر والمشغّلات على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن استخدام هذه الطريقة أيضًا لإيقاف ميزة Attribution Reporting في WebView. بالإضافة إلى ذلك، أضفنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#getAttributionRegistrationBehavior للحصول على السلوك الحالي. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "مبادرة حماية الخصوصية". (I661f2)
  • أضِف واجهات برمجة تطبيقات لتجاوز البيانات الوصفية لوكيل المستخدم. لقد طرحنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#setUserAgentMetadata لتجاوز البيانات الوصفية لوكيل المستخدم في WebView، والتي تُستخدَم لتعبئة حقول معلومات العميل لوكيل المستخدم، وأضفنا أيضًا واجهة برمجة تطبيقات جديدة أخرى WebSettingsCompat#getUserAgentMetadata للحصول على عمليات التجاوز الحالية لوكيل المستخدم. ننصح التطبيقات باستخدام واجهة برمجة التطبيقات الجديدة لضبط قيم الإلغاء المناسبة بدلاً من الاعتماد على تغيير السلسلة الوصفية لبرنامج التصفّح. (I74500)
  • أضِف واجهة برمجة تطبيقات لإدخال JavaScript ليتم تشغيلها أثناء تحميل الصفحة. تسمح واجهة برمجة التطبيقات WebViewCompat.addDocumentStartJavascript للتطبيقات بإدخال نصوص برمجية في WebView سيتم تشغيلها قبل تنفيذ أي نصوص برمجية للصفحة. تسمح واجهة برمجة التطبيقات للتطبيق بتحديد قائمة مستهدَفة بالمصادر التي سيتم تفعيل البرنامج النصي عليها، ما يضمن عدم تشغيله إلا على الصفحات المقصودة. على عكس WebView.evaluateJavascript، ستسمح واجهة برمجة التطبيقات هذه بتنفيذ النصوص البرمجية في إطارات iframe المضمّنة عند تحميلها. (Ide063)

الإصدار 1.8

الإصدار 1.8.0

‫6 سبتمبر 2023

تم طرح androidx.webkit:webkit:1.8.0. يتضمّن الإصدار 1.8.0 عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.7.0

الإصدار 1.8.0-rc01

‫9 أغسطس 2023

تم إصدار androidx.webkit:webkit:1.8.0-rc01 بدون أي تغييرات منذ 1.8.0-beta01. يحتوي الإصدار 1.8.0-rc01 على عمليات الإيداع هذه.

الإصدار 1.8.0-beta01

‫26 يوليو 2023

تم إصدار androidx.webkit:webkit:1.8.0-beta01 بدون أي تغييرات منذ 1.8.0-alpha01. يحتوي الإصدار 1.8.0-beta01 على عمليات الإيداع هذه.

الإصدار 1.8.0-alpha01

‫7 يونيو 2023

تم طرح androidx.webkit:webkit:1.8.0-alpha01. يحتوي الإصدار 1.8.0-alpha01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • اطّلِع على قسم "المساهمة الخارجية".

المساهمة الخارجية

  • إتاحة إمكانية تمرير ArrayBuffer عبر WebMessagePortCompat#postMessage وJsReplyProxy#postMessage وWebViewCompat#postWebMessage، وتلقّي ArrayBuffer من JavaScript عبر WebMessagePortCompat وWebMessageListener، وتلقّي ArrayBuffer قابلة للنقل من JavaScript عبر WebMessagePortCompat يُرجى العلم أنّ واجهة برمجة التطبيقات هذه ستكون متاحة فقط من الإصدار 116 من WebView. (Ie7567، b/251152171)

الإصدار 1.7

الإصدار 1.7.0

‫24 مايو 2023

تم طرح androidx.webkit:webkit:1.7.0. يتضمّن الإصدار 1.7.0 عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.6.0

  • أتحنا إمكانية سحب الصور في WebView. يمكنك السماح للمستخدمين بسحب الصور من WebView عن طريق إضافة DropDataContentProvider الجديد إلى بيان تطبيقك كما هو موضّح في مستندات الفئة.
  • أضفنا واجهة برمجة التطبيقات ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) التي يمكن استخدامها لضبط الدلائل الأساسية التي سيستخدمها WebView في العملية الحالية. كما هو الحال مع جميع الطرق في ProcessGlobalConfig، يجب استدعاء هذه الطريقة قبل إنشاء أول مثيل من WebView. تمت إضافة هذه الطريقة لتوفير إمكانية تعديل إعدادات WebView في إطار عمل Android. لا يُنصح باستخدام هذه الطريقة للتطبيقات ذات الأغراض العامة.

الإصدار 1.7.0-rc01

‫10 مايو 2023

تم إصدار androidx.webkit:webkit:1.7.0-rc01 بدون أي تغييرات منذ 1.7.0-beta01. يحتوي الإصدار 1.7.0-rc01 على عمليات الإيداع هذه.

الإصدار 1.7.0-beta01

‫5 أبريل 2023

تم طرح androidx.webkit:webkit:1.7.0-beta01. يحتوي الإصدار 1.7.0-beta01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • تغيير بسيط على اسم علامة الميزة واسم الطريقة، وجعل setDirectoryBasePaths() يقبل File بدلاً من String (Ib0d0a)

الإصدار 1.7.0-alpha03

‫8 مارس 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha03. يحتوي الإصدار 1.7.0-alpha03 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • أضِف واجهة برمجة التطبيقات ProcessGlobalConfig#setDirectoryBasePath(String, String) التي يمكن استخدامها لضبط الأدلة الأساسية التي ستستخدمها WebView للعملية الحالية. (Ibd1a1، b/250553687)

إصلاح الأخطاء

  • إصلاح قاعدة ProGuard غير الصالحة التي تتسبّب في حدوث أخطاء في الإنشاء عند استخدام DexGuard (Ia65c2، b/270034835)

الإصدار 1.7.0-alpha02

‫8 شباط (فبراير) 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha02. يتضمّن الإصدار 1.7.0-alpha02 عمليات الإيداع هذه.

إصلاح الأخطاء

  • أخطاء في مستندات DropDataContentProvider

الإصدار 1.7.0-alpha01

‫25 كانون الثاني (يناير) 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha01. يحتوي الإصدار 1.7.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • نعمل على إتاحة ميزة سحب الصور في WebView. يمكنك السماح للمستخدمين بسحب الصور من WebView عن طريق إضافة DropDataContentProvider الجديد إلى بيان تطبيقك. (05a1a6)

الإصدار 1.6

الإصدار 1.6.1

‫22 مارس 2023

تم طرح androidx.webkit:webkit:1.6.1. يحتوي الإصدار 1.6.1 على عمليات الدمج هذه.

إصلاح الأخطاء

  • إصلاح خطأ تحليل Proguard (Ia65c2)

الإصدار 1.6.0

‫25 كانون الثاني (يناير) 2023

تم طرح androidx.webkit:webkit:1.6.0. يحتوي الإصدار 1.6.0 على عمليات الدمج هذه.

التغييرات المهمة منذ الإصدار 1.5.0

  • تمت إضافة واجهة برمجة التطبيقات الجديدة ProcessGlobalConfig للسماح للتطبيقات بتقديم إعدادات الضبط التي يجب ضبطها قبل تحميل WebView، مثل لاحقة دليل بيانات WebView. يجب إعداد عملية الضبط وتطبيقها في أقرب وقت ممكن أثناء بدء تشغيل التطبيق، وذلك لضمان حدوثها قبل أن يتمكّن أيّ مؤشر ترابط آخر من طلب طريقة تحمّل WebView في العملية.
  • تمت إضافة واجهة برمجة التطبيقات الجديدة CookieManagerCompat لتوسيع android.webkit.CookieManager باستخدام الطريقة الجديدة getCookieInfo التي تسترد جميع السمات لجميع ملفات تعريف الارتباط التي تم ضبطها على عنوان URL معيّن. يختلف ذلك عن واجهة برمجة التطبيقات الحالية getCookie في CookieManager التي تعرض سمتَي الاسم والقيمة فقط لملفات تعريف الارتباط.
  • تتضمّن WebSettingsCompat طرقًا جديدة لتفعيل/إيقاف تأثير EnterpriseAuthenticationAppLinkPolicy إذا تم ضبطه من قِبل المشرف في WebView، وللحصول على الإعداد الحالي. تتيح هذه الميزة لمكوّن WebView فتح تطبيق مصادقة بدلاً من فتح عنوان URL للمصادقة. ليس لهذه الميزة أي تأثير في الأجهزة التي لا تخضع لسياسة المؤسسة.
  • إضافة واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للسماح للتطبيقات بإرسال اسم حزمة التطبيق بشكلٍ صريح في العنوان X-Requested-With إلى المصادر المُدرَجة في القائمة المسموح بها يتم عادةً إرسال العنوان في كل طلب من WebView.

الإصدار 1.6.0-rc01

‫11 يناير 2023

تم طرح androidx.webkit:webkit:1.6.0-rc01. يحتوي الإصدار 1.6.0-rc01 على عمليات الإيداع هذه.

إصلاح الأخطاء

  • تم إصلاح الخطأ NullPointerException في WebViewFeature.isStartupFeatureSupported(Context, String) عند التشغيل على حزمة تطوير البرامج (SDK) التي تقلّ عن الإصدار L. (Ic7292)

الإصدار 1.6.0-beta01

‫7 كانون الأول (ديسمبر) 2022

تم طرح androidx.webkit:webkit:1.6.0-beta01. يحتوي الإصدار 1.6.0-beta01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • تم تغيير ProcessGlobalConfig لاستخدام دالة إنشاء عادية وطريقة تطبيق ثابتة. يجب استدعاء طريقة "التطبيق" مرة واحدة فقط لكل عملية، وفي أقرب وقت ممكن، وسيتم عرض الخطأ IllegalStateException إذا تم استدعاؤها أكثر من مرة. لم يعُد هناك أي قيود على عدد المرات التي يمكن فيها استدعاء أدوات الضبط في عناصر ProcessGlobalConfig. (I456c3)

الإصدار 1.6.0-alpha03

‫9 نوفمبر 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha03. يحتوي الإصدار 1.6.0-alpha03 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضِف فئة ProcessGlobalConfig تتيح للمستخدمين ضبط الإعدادات العامة للعملية قبل تحميل WebView. يتضمّن WebView بعض مَعلمات الإعداد العامة على مستوى العملية والتي لا يمكن تغييرها بعد تحميل WebView (مثل دليل بيانات WebView). تتيح هذه الفئة للتطبيقات ضبط هذه المَعلمات. يجب إعداد عملية الضبط وتطبيقها في أقرب وقت ممكن أثناء بدء تشغيل التطبيق، وذلك لضمان حدوثها قبل أن يتمكّن أيّ مؤشر ترابط آخر من طلب طريقة تحمّل WebView في العملية. (I7c0e0، b/250553687)
  • إضافة واجهة برمجة تطبيقات جديدة للسماح للتطبيقات بإرسال اسم حزمة التطبيق بشكل صريح في عنوان X-Requested-With إلى المصادر المُدرَجة في القائمة المسموح بها يتم عادةً إرسال العنوان في كل طلب من WebView. (I0adfe، b/226552535)

تغييرات واجهة برمجة التطبيقات

  • تتوفّر واجهة برمجة التطبيقات WebSettingsCompat#setAlgorithmicDarkeningAllowed على جميع إصدارات Android في الإصدار 105 من WebView والإصدارات الأحدث. كانت الإصدارات السابقة من WebView تتوافق مع واجهة برمجة التطبيقات على نظام التشغيل Android Q والإصدارات الأحدث فقط. نتيجةً لذلك، لم يعُد هذا الرمز مميزًا بالعلامة @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

الإصدار 1.6.0-alpha02

‫24 أكتوبر 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha02. يحتوي الإصدار 1.6.0-alpha02 على عمليات الإيداع هذه.

الميزات الجديدة

  • تضيف هذه السمة فئة CookieManagerCompat جديدة بالإضافة إلى واجهة برمجة التطبيقات getCookieInfo التي تستردّ جميع السمات لجميع ملفات تعريف الارتباط التي تم ضبطها على عنوان URL محدّد. يختلف ذلك عن واجهة برمجة التطبيقات getCookie الحالية في CookieManager التي تعرض سمات الاسم والقيمة لملفات تعريف الارتباط فقط. (I07365، b/242161756)

الإصدار 1.6.0-alpha01

‫24 أغسطس 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha01. يحتوي الإصدار 1.6.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • تمت إضافة واجهات برمجة التطبيقات في WebSettingsCompat لتفعيل/إيقاف تأثير EnterpriseAuthenticationAppLinkPolicy إذا تم ضبطه من قِبل المشرف في WebView. تتيح هذه الميزة لـ WebView فتح تطبيق مصادقة بدلاً من فتح عنوان URL للمصادقة. ليس لهذه الميزة أي تأثير في الأجهزة التي لا تخضع لسياسة المؤسسة.

الإصدار 1.5.0

الإصدار 1.5.0

‫24 أغسطس 2022

تم طرح androidx.webkit:webkit:1.5.0. يحتوي الإصدار 1.5.0 على عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.4.0

  • تحلّ واجهة برمجة التطبيقات الجديدة setAlgorithmicDarkeningAllowed على WebSettingsCompat محلّ واجهتَي برمجة التطبيقات القديمتَين setForceDark وsetForceDarkStrategy. يجب أن تستخدم التطبيقات التي تستهدف حزمة تطوير البرامج (SDK) 33 والإصدارات الأحدث (T) واجهة برمجة التطبيقات الجديدة، لأنّ واجهة برمجة التطبيقات القديمة لن يكون لها أي تأثير على هذه التطبيقات.
  • يمكن الآن ضبط قائمة مسموح بها لعناوين URL لاستخدام الخادم الوكيل الذي تم إعداده من خلال ProxyCofig.Builder عن طريق ضبط setReverseBypassEnabled على true. عندما يكون هذا الخيار ساريًا، ستتجاوز جميع عناوين URL الأخرى الخادم الوكيل الذي تم إعداده.

الإصدار 1.5.0-rc01

‫10 أغسطس 2022

تم إصدار androidx.webkit:webkit:1.5.0-rc01 بدون أي تغييرات منذ 1.5.0-beta01. يحتوي الإصدار 1.5.0-rc01 على عمليات الإيداع هذه.

الإصدار 1.5.0-beta01

‫29 يونيو 2022

تم طرح androidx.webkit:webkit:1.5.0-beta01. يحتوي الإصدار 1.5.0-beta01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • تم الآن وضع تعليقات توضيحية على واجهات برمجة التطبيقات ذات الصلة بميزة "التعتيم الخوارزمي" لتتطلّب استخدام المستوى Q لواجهة برمجة التطبيقات. لن يكون لواجهة برمجة التطبيقات أي تأثير على مستويات واجهة برمجة التطبيقات الأقل من Q، لأنّ المظهر الداكن ليس خيارًا متاحًا على هذه الأجهزة. (I0905e)

الإصدار 1.5.0-alpha01

‫18 مايو 2022

تم طرح androidx.webkit:webkit:1.5.0-alpha01. يحتوي الإصدار 1.5.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • أضِف طريقة getVariationsHeader() جديدة إلى WebViewCompat للحصول على قيمة العنوان X-Client-Data التي يرسلها WebView. ستكون القيمة المعروضة عبارة عن بروتوكول ClientVariations بترميز base64.
  • أضِف واجهات برمجة التطبيقات على WebSettingsCompat للسماح بتعتيم المحتوى الخاضع للخوارزميات أو عدم السماح به للتطبيقات التي يكون فيها targetSdk >= 33. (I29597)

تغييرات واجهة برمجة التطبيقات

  • أضِف طريقة جديدة في ProxyCofig.Builder لإعداد تجاوز عكسي. ضبط قيمة "تجاوز عكسي" على "صحيح" يعني أنّ عناوين URL في قائمة التجاوز فقط ستستخدم إعدادات الخادم الوكيل. (I9eaa2، b/168728599)

إصلاح الأخطاء

  • تم إصلاح خطأ إملائي في مستندات المظهر الداكن. (I36ebf، b/194343633)
  • تم إصلاح الخلل الذي كانت فيه طرق WebViewAssetLoader.Builder تعتمد على الترتيب بدون قصد. (If420d، b/182196765)

الإصدار 1.4.0

الإصدار 1.4.0

16 كانون الأول (ديسمبر) 2020

تم طرح androidx.webkit:webkit:1.4.0. يتضمّن الإصدار 1.4.0 عمليات الإيداع هذه.

التغييرات الرئيسية منذ الإصدار 1.3.0

  • تمت إضافة واجهة برمجة تطبيقات setSafeBrowsingAllowlist() جديدة لتحلّ محلّ setSafeBrowsingWhitelist(). يساعد ذلك التطبيقات في تعديل الرمز البرمجي لتجنُّب المصطلحات غير الشاملة، مع الاستمرار في توفير النطاق نفسه من حِزم تطوير البرامج (SDK) وإصدارات WebView التي توفّرها واجهة برمجة التطبيقات المتوقّفة نهائيًا.
  • تم إصلاح خطأ في setProxyOverride تسبّب في عدم تطبيق قواعد الاحتياط بشكل صحيح.

الإصدار 1.4.0-rc02

‫2 ديسمبر 2020

تم طرح androidx.webkit:webkit:1.4.0-rc02. يتضمّن الإصدار 1.4.0-rc02 عمليات الإيداع هذه.

إصلاح الأخطاء

  • إصلاح عدم تطبيق قواعد الاحتياط بشكلٍ صحيح عند استخدام setProxyOverride

الإصدار 1.4.0-rc01

‫11 نوفمبر 2020

تم إصدار androidx.webkit:webkit:1.4.0-rc01 بدون أي تغييرات منذ 1.4.0-beta01. يتضمّن الإصدار 1.4.0-rc01 عمليات الإيداع هذه.

الإصدار 1.4.0-beta01

‫14 أكتوبر 2020

تم إصدار androidx.webkit:webkit:1.4.0-beta01 بدون أي تغييرات منذ 1.4.0-alpha01. يحتوي الإصدار 1.4.0-beta01 على عمليات الإيداع هذه.

الإصدار 1.4.0-alpha01

‫16 سبتمبر 2020

تم طرح androidx.webkit:webkit:1.4.0-alpha01. يحتوي الإصدار 1.4.0-alpha01 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة واجهة برمجة تطبيقات WebViewCompat#setSafeBrowsingAllowlist() جديدة لتحلّ محلّ setSafeBrowsingWhitelist(). يساعد ذلك التطبيقات في تعديل الرموز البرمجية لتجنُّب المصطلحات غير الشاملة، مع مواصلة توفير النطاق نفسه من حِزم تطوير البرامج (SDK) وإصدارات WebView التي توفّرها واجهة برمجة التطبيقات المتوقّفة نهائيًا. (I8d65d)

الإصدار 1.3.0

الإصدار 1.3.0

19 آب (أغسطس) 2020

تم طرح androidx.webkit:webkit:1.3.0. يحتوي الإصدار 1.3.0 على عمليات الإيداع هذه.

التغييرات الرئيسية منذ الإصدار 1.2.0

  • توفّر واجهة برمجة التطبيقات ForceDarkStrategy API المزيد من التحكّم في تعتيم WebView (تعتيم CSS/محتوى الويب مقابل التعتيم التلقائي).
  • توفّر WebMessageListener وواجهات برمجة التطبيقات ذات الصلة آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب وتطبيق WebView المضمّن.
  • isMultiProcessEnabled واجهة برمجة التطبيقات للتحقّق مما إذا كان WebView يعمل في عملية متعدّدة. يمكن إجراء ذلك بدءًا من نظام التشغيل Android O، ويعني ذلك أنّه يتم عرض محتوى الويب في عملية عرض معزولة عن عملية التطبيق. يمكن مشاركة أداة العرض المحصورة هذه مع WebViews أخرى في التطبيق نفسه، ولكن لا يمكن مشاركتها مع عمليات التطبيقات الأخرى.

الإصدار 1.3.0-rc02

‫5 آب (أغسطس) 2020

تم طرح androidx.webkit:webkit:1.3.0-rc02. يتضمّن الإصدار 1.3.0-rc02 عمليات الدمج التالية.

إصلاح الأخطاء

  • يحلّ هذا الإصدار مشكلة توافق كانت تتسبّب أحيانًا في تعطُّل WebMessageListener أثناء التطوير المحلي إذا تم بدء تشغيل تطبيقك باستخدام ميزة "التشغيل الفوري" في Android Studio.

الإصدار 1.3.0-rc01

‫24 يونيو 2020

تم إصدار androidx.webkit:webkit:1.3.0-rc01 بدون أي تغييرات منذ 1.3.0-beta01. يحتوي الإصدار 1.3.0-rc01 على عمليات الإيداع هذه.

الإصدار 1.3.0-beta01

‫10 يونيو 2020

تم طرح androidx.webkit:webkit:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على عمليات الإيداع هذه.

الميزات الجديدة

  • ForceDarkStrategy واجهة برمجة التطبيقات للتحكّم في تعتيم WebView (تعتيم CSS/محتوى الويب مقابل التعتيم التلقائي)
  • WebMessageListener توفّر واجهات برمجة التطبيقات آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب والتطبيق الذي يضمّن WebView.
  • MultiProcessEnabled واجهة برمجة التطبيقات للتحقّق مما إذا كان WebView يعمل في وضع العمليات المتعددة.

الإصدار 1.3.0-alpha03

‫27 مايو 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha03. يحتوي الإصدار 1.3.0-alpha03 على عمليات الإيداع هذه.

تغييرات واجهة برمجة التطبيقات

  • يتلقّى الإجراء addWebMessageListener الآن Set<String> من قواعد المصدر المسموح به (كان يتلقّى List<String> سابقًا).

الإصدار 1.3.0-alpha02

‫29 نيسان (أبريل) 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha02. يحتوي الإصدار 1.3.0-alpha02 على عمليات الإيداع هذه.

الميزات الجديدة

  • ‫MultiProcessEnabled API للتحقّق مما إذا كان WebView يعمل في وضع العمليات المتعددة

تغييرات واجهة برمجة التطبيقات

  • يتم الآن إضافة البادئة DARK_STRATEGY إلى جميع الثوابت الخاصة باستراتيجية الوضع الداكن.

الإصدار 1.3.0-alpha01

نيسان (أبريل) 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • ForceDarkStrategy واجهة برمجة التطبيقات للتحكّم في WebView التعتيم (تعتيم CSS/محتوى الويب مقابل التعتيم التلقائي)
  • WebMessageListener توفّر واجهات برمجة التطبيقات آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب والتطبيق الذي يضمّن WebView.

الإصدار 1.2.0

الإصدار 1.2.0

‫4 مارس 2020

تم طرح androidx.webkit:webkit:1.2.0. يتضمّن الإصدار 1.2.0 عمليات الإيداع هذه.

التغييرات الرئيسية منذ الإصدار 1.1.0

  • تمت إضافة واجهة برمجة التطبيقات ForceDark للتحكّم في ما إذا كان يجب عرض WebViews في الوضع الداكن.

الإصدار 1.2.0-rc01

‫19 شباط (فبراير) 2020

تم إصدار androidx.webkit:webkit:1.2.0-rc01 بدون أي تغييرات منذ 1.2.0-beta01. يحتوي الإصدار 1.2.0-rc01 على عمليات الإيداع هذه.

الإصدار 1.2.0-beta01

5 شباط (فبراير) 2020

تم إصدار androidx.webkit:webkit:1.2.0-beta01 بدون أي تغييرات منذ 1.2.0-alpha01. يتضمّن الإصدار 1.2.0-beta01 عمليات الإيداع هذه.

الإصدار 1.2.0-alpha01

‫18 كانون الأول (ديسمبر) 2019

تم طرح androidx.webkit:webkit:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على عمليات الإيداع هذه.

الميزات الجديدة

  • واجهة برمجة التطبيقات ForceDark للتحكّم في ما إذا كان يجب عرض مكوّنات WebView في الوضع الداكن

الإصدار 1.1.0

الإصدار 1.1.0

‫7 نوفمبر 2019

تم طرح androidx.webkit:webkit:1.1.0. يتضمّن الإصدار 1.1.0 عمليات الإيداع هذه.

التغييرات المهمة منذ الإصدار 1.0.0

  • واجهات برمجة تطبيقات Getter لتكميل setWebViewClient()‎ وsetWebChromeClient()‎
  • واجهة برمجة التطبيقات ProxyController API لضبط خادم وكيل لطلبات الشبكة في WebViews الخاصة بأحد التطبيقات
  • واجهة برمجة التطبيقات WebViewAssetLoader لتسهيل تحميل مواد عرض وحِزم وموارد APK من دليل بيانات التطبيق من خلال اعتراض الطلبات يتيح ذلك الوصول إلى موارد الويب والموارد المحلية بدون إيقاف CORS.
  • واجهة برمجة التطبيقات TracingController لجمع معلومات التتبُّع في WebView لأغراض تصحيح الأخطاء
  • واجهات برمجة تطبيقات RenderProcess لإدارة خدمات عارض WebView ورصد الحالات التي يتسبّب فيها المحتوى السيئ في عدم استجابة عارضات WebView
  • تم تعديل واجهات برمجة التطبيقات الحالية لتضمين تعليقات توضيحية بشأن إمكانية قبول القيمة الخالية (@NonNull و@Nullable) وسير العمل (@UiThread و@WorkerThread).

الإصدار 1.1.0-rc01

‫9 أكتوبر 2019

تم طرح androidx.webkit:webkit:1.1.0-rc01. يتضمّن الإصدار 1.1.0-rc01 عمليات الإيداع هذه.

إصلاح الأخطاء

  • تم إصلاح المشكلة التي قد تؤدي إلى تعطُّل setWebViewRenderProcessClient() في حال تمرير عميل فارغ.

الإصدار 1.1.0-beta01

‫5 أيلول (سبتمبر) 2019

تم طرح androidx.webkit:webkit:1.1.0-beta01. يمكنك الاطّلاع على عمليات الإيداع المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • InternalStoragePathHandler جديد في WebViewAssetLoader لتحميل الملفات من دليل بيانات التطبيق

تغييرات واجهة برمجة التطبيقات

  • تعرض ProxyConfig#getProxyRules() الآن قائمة غير قابلة للتعديل من مثيلات ProxyRule، وهي فئة جديدة لتضمين فلتر نظام وعنوان URL الوكيل المقابل له.

إصلاح الأخطاء

  • يتم ضبط القيمة التلقائية لـ WebViewAssetLoader على نوع MIME "text/plain" (بدلاً من القيمة الخالية) عندما يتعذّر تخمين نوع MIME من مسار الملف.
  • لم يعُد WebViewAssetLoader يعرض NullPointerException عند تحميل ملفات تتضمّن رموزًا خاصة في أسماء مساراتها.

الإصدار 1.1.0-alpha02

‫7 آب (أغسطس) 2019

تم طرح androidx.webkit:webkit:1.1.0-alpha02. يمكنك الاطّلاع على عمليات الإيداع المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • تعرض WebViewAssetLoader واجهة PathHandler للسماح للتطبيقات بإنشاء وظيفة مخصّصة للتعامل مع المسارات.

تغييرات واجهة برمجة التطبيقات

  • أصبح WebViewAssetLoader الآن فئة نهائية، لأنّه ليس من المفترض أن يتم تصنيفها.
  • أصبحت عمليات تنفيذ WebViewAssetLoader#PathHandler متاحة للجميع ونهائية.
  • تغييرات طفيفة على أسماء طرق ProxyConfig.
  • ProxyController: تمت إضافة الطريقتَين الجديدتَين addDirect() وaddDirect(String) للاتصال مباشرةً بالخوادم، وتمت إزالة السلسلة DIRECT.
  • تم تعديل واجهات برمجة التطبيقات الحالية لتضمين تعليقات توضيحية بشأن إمكانية قبول القيمة الخالية (@NonNull و@Nullable) وسير العمل (@UiThread و@WorkerThread).

الإصدار 1.1.0-alpha01

7 أيار (مايو) 2019

تم طرح androidx.webkit:webkit:1.1.0-alpha01. يمكنك الاطّلاع على عمليات الإيداع المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • واجهات برمجة التطبيقات Getter لتكميل setWebViewClient() وsetWebChromeClient()
  • واجهة برمجة التطبيقات ProxyController API لضبط خادم وكيل لطلبات الشبكة في WebViews الخاصة بأحد التطبيقات
  • واجهة برمجة التطبيقات AssetLoader API لتبسيط تحميل مواد عرض APK ومواردها من خلال اعتراض الطلبات، ما يتيح الوصول إلى موارد الويب بدون إيقاف CORS
  • واجهة برمجة التطبيقات TracingController لجمع معلومات التتبُّع في WebView لأغراض تصحيح الأخطاء
  • واجهات برمجة تطبيقات RenderProcess لإدارة خدمات عارض WebView ورصد الحالات التي يتسبّب فيها المحتوى السيئ في عدم استجابة عارضات WebView

إصلاح الأخطاء

  • إصلاحات بسيطة لتنسيق المستندات الخاصة بواجهات برمجة التطبيقات الحالية