راهنمای مهاجرت WebAssembly

(P) اعلامیه های منسوخ شدن NaCl

با توجه به شتاب پشتیبانی WebAssembly بین مرورگرها، ما قصد داریم در آینده تلاش‌های کد بومی خود را روی WebAssembly متمرکز کنیم و قصد داریم پشتیبانی از PNaCl را در Q4 2019 حذف کنیم (به جز برای Chrome Apps). ما معتقدیم که اکوسیستم پر جنب و جوش اطراف WebAssembly آن را برای برنامه‌های وب با کارایی بالا و جدید مناسب‌تر می‌سازد و استفاده از PNaCl به اندازه‌ای کم است که منسوخ شدن آن را تضمین می‌کند.

از Chrome 76، PNaCl در وب باز به پشت یک نسخه آزمایشی اصلی منتقل شده است، که مکانیزمی است برای توسعه دهندگان وب برای ثبت نام و دسترسی به ویژگی که به طور پیش فرض روشن نیست. این معمولاً یک ویژگی پیشنهادی جدید است، اما در این مورد یک ویژگی در حال منسوخ شدن است. یک توسعه‌دهنده می‌تواند در کنسول Origin Trial ثبت‌نام کند و یک توکن دریافت کند که می‌تواند در یک صفحه جاسازی شود و این ویژگی را بدون نیاز به استفاده از پرچم فعال می‌کند. (برای جزئیات بیشتر به راهنمای مرتبط مراجعه کنید). برنامه آزمایشی قرار است تا Chrome 78، تقریباً تا دسامبر 2019 ادامه یابد. این تغییر قصد ندارد روی NaCl یا PNaCl در برنامه‌ها یا برنامه‌های افزودنی Chrome تأثیر بگذارد و پرچم «enable-nacl» در chrome://flags نیز می‌تواند برای PNaCl را به صورت محلی برای آزمایش فعال کنید (این پرچم همچنین عملکرد فعلی خود را برای فعال کردن NaCl "بومی" غیر PNaCl در هر صفحه حفظ می کند).

همچنین اخیراً منسوخ شدن سه ماهه اول 2018 Chrome Apps خارج از ChromeOS را اعلام کردیم.

مهاجرت زنجیره ابزار

برای اکثر موارد استفاده (P)NaCl، انتقال از NaCl SDK به Emscripten را توصیه می کنیم. اگر برنامه شما قابل حمل به لینوکس باشد، از APIهای SDL یا POSIX استفاده می کند، احتمالاً مهاجرت نسبتاً ساده است. در حالی که پشتیبانی مستقیم از NaCl / Pepper API در دسترس نیست، ما سعی کرده‌ایم معادل‌های Web API را فهرست کنیم. برای موارد چالش برانگیزتر انتقال، لطفاً با آدرس native-client-discuss @ googlegroups تماس بگیرید . com

مهاجرت API

ما در اینجا وضعیت جایگزین‌های پلتفرم وب را برای هر یک از APIهایی که در معرض (P)NaCl قرار دارند، تشریح کرده‌ایم. علاوه بر این، جدول کتابخانه یا گزینه ای را در Emscripten فهرست می کند که نزدیک ترین جایگزین را ارائه می دهد.

ما انتظار داریم در سال 2017 پشتیبانی از رشته‌های حافظه مشترک را به WebAssembly اضافه کنیم، زیرا رشته‌ها برای مطابقت با جالب‌ترین موارد استفاده (P)NaCl بسیار مهم هستند. موارد مهاجرتی که فرض می‌کنند از رشته‌های آینده پشتیبانی می‌کنند، در زیر مشخص شده‌اند. اگر کنترل جریان برنامه شما به شدت به مسدود کردن APIها متکی است، ممکن است متوجه شوید که برای انتقال راحت، پشتیبانی از رشته‌ها نیز لازم است.

در حالی که ما سعی کرده ایم در این جدول دقیق باشیم، اما بدون شک خطا یا حذفی وجود ندارد. اگر با یکی از آنها برخورد کردید، لطفاً با ما در native-client-discuss @ googlegroups تماس بگیرید . com

PPAPI

PPB_Audio

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید x SDL (جزئی) GAP (جزئی) - AudioWorkletNode تقریباً معادل است AudioWorkletSpec تمام شده است، اما AudioDeviceClient ممکن است مناسب‌تر برای این API باشد. AudioDeviceClient هنوز توسط انجمن مشخص می شود. ورکلت ممکن است معادل تقریبی این API نباشد.
GetCurrentConfig SDL AudioContext.* (تنظیمات را پس می گیرد)
StartPlayback SDL AudioBufferSourceNode.start
توقف پخش SDL AudioBufferSourceNode.stop

PPB_AudioBuffer

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetTimestamp SDL AudioBufferSourceNode.start (پارامتر) در هر بار به جای وصل شدن به بافر منتقل می شود.
SetTimestamp SDL AudioBufferSourceNode.start (پارامتر)
GetSampleRate SDL AudioBuffer.sampleRate
GetSampleSize GAP GAP - WebAudio فقط از شناور 32 بیتی استفاده می کند، PPAPI از 16 بیت داخلی استفاده می کند. PPAPI از نظر تئوری از چندین اندازه نمونه برداری پشتیبانی می کند. در عمل فقط از نمونه های 16 بیتی پشتیبانی می کند. متأسفانه، توسعه دهندگان برای صرفه جویی در مصرف حافظه، اندازه نمونه 16 بیتی را درخواست کرده اند. نسخه بعدی مشخصات Web Audio از نمونه های 16 بیتی پشتیبانی می کند. بهینه سازی برای AudioBuffer می تواند مشابه فایرفاکس با استفاده از بافر 16 بیتی برای صدایی که از decodeAudioData می آید پیاده سازی شود.
GetNumberOfChannels SDL AudioBuffer.numberOfChannels
GetDataBuffer SDL AudioBuffer.getChannelData
GetBufferSize SDL AudioBuffer.length

PPB_AudioConfig

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
CreateStereo16Bit GAP GAP - فقط نمونه های شناور 32 بیتی پشتیبانی می شوند نسخه بعدی مشخصات Web Audio از نمونه های 16 بیتی پشتیبانی می کند.
GetSampleRate SDL AudioContext.sampleRate
GetSampleFrameCount SDL AudioBuffer.length
RecommendSampleRate SDL AudioContext.sampleRate (از ساختار پیش فرض) یک AudioContext نرخ نمونه برگزیده ای را خواهد داشت که به طور پیش فرض با نرخ نمونه واقعی دستگاه صوتی سخت افزاری مطابقت دارد.
RecommendSampleFrameCount GAP GAP - با AudioDeviceClient برنامه ریزی شده اداره می شود یک مشکل باز برای اجازه دادن به اندازه مشخص شده توسط کاربر وجود دارد، اما هنوز در حال تعریف است. این احتمالاً به بهترین وجه با AudioDeviceClient انجام می شود که می تواند به شما بگوید اندازه مناسب برای سخت افزار داده شده چقدر است.

PPB_کنسول

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ورود به سیستم utime console.log/warn/error/...
LogWithSource GAP GAP Console API به عنوان یک جایگزین به اندازه کافی کامل در نظر گرفته می شود، مگر اینکه موارد استفاده خاصی توسط توسعه دهندگان برای عملکرد ارائه شده توسط LogWithSource مطرح شده باشد. DevTools Source Maps را می توان برای اشکال زدایی جاوا اسکریپت ترجمه شده به زبان مبدأ اصلی خود استفاده کرد.

PPB_Core

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
دریافت تایم utime new Date().getTime()
getTimeTicks utime new Date().getTime()
IsMainThread GAP window.document !== تعریف نشده است
CallOnMainThread GAP Worker.postMessage + Atomics.wait همگام سازی معادل می تواند ساخته شود.

PPB_FileIO

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) window.chooseFileSystemEntries() Create و open به طور متفاوتی استفاده می شوند، اما قطعات از قدرت یکسانی برخوردار هستند.
باز کنید FS (جزئی) window.chooseFileSystemEntries()
پرس و جو FS (جزئی) Blob.size، FileSystemHandle.getFile()، FileSystemHandle.getDirectory()، File.lastModified GAP (جزئی) - Blob.type همچنین می تواند برای بررسی نوع MIME استفاده شود. نوع سیستم فایل، زمان ایجاد و آخرین زمان دسترسی را نمی توان با Native File System API تعیین کرد.
لمس کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true})
بخوانید FS (جزئی) Blob.slice().arrayBuffer()
بنویسید FS (جزئی) FileSystemWriter.write()
تنظیم طول FS (جزئی) FileSystemWriter.truncate()
فلاش GAP (جزئی) GAP (جزئی) - هنگامی که FileSystemWrite.close() فراخوانی می شود، فایل ها فلاش می شوند. این در طراحی در نظر گرفته شده است زیرا فایل‌های Native File System API در معرض سیستم‌عامل قرار می‌گیرند، بنابراین قبل از نمایش داده‌ها به سیستم‌عامل باید بررسی Safe Browsing انجام شود.
بستن FS (جزئی) FileSystemWriter.close() عملیات معلق را لغو نمی کند، اما هر داده ای را که تا کنون نوشته شده روی دیسک پاک می کند.
ReadToArray GAP Blob.slice().arrayBuffer() یا Blob.arrayBuffer() به خواندن چندین زیرمجموعه به صورت موازی اجازه می دهد.

PPB_FileRef

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true})
GetFileSystemType FS (جزئی) FileSystem.type
GetName FS (جزئی) نام فایل
GetPath FS (جزئی) GAP (جزئی) - با Native File System API، مسیر نسبی یک فایل را می توان از ارجاع به دایرکتوری حاوی فایل با استفاده از FileSystemHandle.resolve(FileSystemHandle) تعیین کرد. مسیر مطلق یک فایل را نمی توان تعیین کرد و کاربر باید اجازه دسترسی به دایرکتوری حاوی فایل را بدهد.
GetParent FS (جزئی) GAP (جزئی) - با Native File System API، مسیر نسبی یک فایل را می توان از ارجاع به دایرکتوری حاوی فایل با استفاده از FileSystemHandle.resolve(FileSystemHandle) تعیین کرد. کاربر باید اجازه دسترسی به دایرکتوری حاوی فایل را بدهد.
MakeDirectory FS (جزئی) FileSystemHandle.getDirectory(...، {createIfNotExists: true})
لمس کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true}) زمان اصلاح را می توان با نوشتن کاهش داد.
حذف کنید FS (جزئی) FileSystemDirectoryHandle.removeEntry() برخلاف PPAPI، دایرکتوری ها نباید خالی باشند.
تغییر نام دهید FS (جزئی) GAP (جزئی) - با API سیستم فایل بومی، فایل را می توان با نام جدید با استفاده از ترکیبی از FileSystemFileHandle.getFile () برای نام جدید و FileSystemFileHandle.createWriter() با محتویات قبلی نوشت. فایل سپس FileSystemDirectoryHandle.removeEntry() برای حذف فایل قدیمی. API مستقیمی وجود ندارد که این کار را در یک مرحله در Native File System API انجام دهد.
پرس و جو GAP (جزئی) Blob.size، FileSystemHandle.getFile()، FileSystemHandle.getDirectory()، File.lastModified GAP (جزئی) - Blob.type همچنین می تواند برای بررسی نوع MIME استفاده شود. نوع سیستم فایل، زمان ایجاد و آخرین زمان دسترسی را نمی توان با Native File System API تعیین کرد.
ReadDirectoryEntries FS (جزئی) FileSystemDirectoryHandle.getEntries()

PPB_FileSystem

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) window.requestFileSystem JS API هر دو را در یک مرحله انجام می دهد
باز کنید GAP window.requestFileSystem JS API هر دو را در یک مرحله انجام می دهد
GetType GAP FileSystem.type

PPB_تمام صفحه

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
IsFullScreen html5.h Document.fullscreenEnabled
SetFullscreen html5.h Document.request تمام صفحه
GetScreenSize html5.h Document.exit تمام صفحه

PPB_Gamepad

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
نمونه SDL گیم پد.* شی Gamepad یک مهر زمانی نسبت به navigationStart را نشان می دهد. زمانی که داده ها از سخت افزار https://www.w3.org/TR/gamepad/#gamepad-interface دریافت می شود، به روز می شود.

PPB_Graphics2D

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL Canvas.getContext('2d')
توصیف کنید SDL Canvas.clientWidth + Canvas.clientHeight
PaintImageData SDL CanvasRenderingContext2D.putImageData
اسکرول کنید GAP CanvasRenderingContext2D.scrollIntoView، CanvasRenderingContext2D.drawImage GAP (جزئی) - می توان با کشیدن بوم روی خود، با افست، با استفاده از drawImage و سپس پر کردن بقیه اجرا شد.
جایگزین محتوا SDL CanvasRenderingContext2D.drawImage
فلاش GAP بدون معادل مستقیم GAP (جزئی) - همیشه یک فلش ضمنی در انتهای کد قرعه کشی وجود دارد. بعید است این تغییر کند. با این حال، ترکیب OffscreenCanvas و ImageBitmapRenderingContext عملکرد مشابهی را ارائه می دهد.
SetScale SDL CanvasRenderingContext2D.scale
GetScale SDL CanvasRenderingContext2D.currentTransform
SetLayerTransform SDL CanvasRenderingContext2D.setTransform CanvasRenderingContext2D.scale CanvasRenderingContext2D.translate

PPB_Graphics3D

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetAttribMaxValue OpenGL ES 3.0 WebGL 2.0 GAP (جزئی) - WebGL 2.0 و Emscripten در معرض OpenGL ES 3.0 از فریم بافرهای چند نمونه تعریف شده توسط کاربر پشتیبانی می کنند، که در آن تمام پارامترهای قابل تنظیم از طریق PPAPI می توانند تنظیم شوند.
ایجاد کنید SDL Canvas.getContext
GetAttribs SDL WebGLRenderingContext.getContextAttributes
SetAttribs SDL Canvas.getContext(..، OPTIONS)
GetError SDL WebGLRenderingContext.getError
تغییر اندازه بافرها SDL Canvas.width = w; Canvas.height = h;
SwapBuffers GAP بدون معادل مستقیم GAP (جزئی) - همیشه یک فلش ضمنی در انتهای کد قرعه کشی وجود دارد. بعید است این تغییر کند. با این حال، ترکیب OffscreenCanvas و ImageBitmapRenderingContext عملکرد مشابهی را ارائه می دهد.

PPB_ImageData

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetNativeImageDataFormat SDL ImageData سفارش RGBA را اجباری می کند
IsImageDataFormatSupported SDL ImageData سفارش RGBA را اجباری می کند
ایجاد کنید SDL CanvasRenderingContext2d.createImageData
توصیف کنید SDL ImageData هرگز گامی ندارد
نقشه SDL ImageData.data
نقشه برداری کنید SDL ImageData.data

PPB_InputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
RequestInputEvents SDL بدون معادل مستقیم فقدان این ویژگی احتمالاً کمتر مرتبط است زیرا JS / Wasm روی رشته اصلی اجرا می‌شود و می‌تواند رویدادها را با قیمت ارزان‌تری بدون انجام یک رفت و برگشت فرآیندی فیلتر کند.
RequestFilteringInputEvents SDL ماوس* کلید* چرخ* لمس* ترکیب* رویدادها
SDL Element.addEventListener
ClearInputEventRequest SDL Element.removeEventListener
GetType SDL نوادگان کلاس رویداد
GetTimeStamp SDL Event.time Stamp
GetModifiers SDL *Event.altKey/shiftKey/metaKey/ctrlKey

PPB_MouseInputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL MouseEvent
GetButton SDL MouseEvent.button
GetPosition SDL MouseEvent.client*/page*/offset*
GetClickCount SDL رویدادهای dblclick در مقابل mousedown
GetMovement SDL MouseEvent.movement*

PPB_WheelInputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL WheelEvent
GetDelta SDL WheelEvent.delta*
GetTicks GAP GAP - deltaMode به نوعی حاوی این اطلاعات است، اما ناقص. بحث در مورد اجرای یک API WheelEvent.deltaMode وجود دارد: https://github.com/w3c/uievents/issues/181#issuecomment-537811017
GetScrollByPage GAP GAP - deltaMode به نوعی حاوی این اطلاعات است، اما ناقص. بحث در مورد اجرای یک API WheelEvent.deltaMode وجود دارد: https://github.com/w3c/uievents/issues/181#issuecomment-537811017

PPB_KeyboardInputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL KeyboardEvent
GetKeyCode SDL KeyboardEvent.keyCode
GetCharacterText SDL KeyboardEvent.key
GetCode SDL KeyboardEvent.code

PPB_TouchInputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL رویداد لمسی
AddTouchPoint SDL TouchEvent.touches.push
GetTouchCount SDL TouchEvent.touches.length
GetTouchByIndex SDL TouchEvent.touches[i]
GetTouchById SDL Touch.indentifer (برای اینکه خودتان متوجه شوید)

PPB_IMEInputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP CompositionEvent
GetText GAP CompositionEvent.data
GetSegmentNumber GAP GAP - بدون معادل مستقیم این داده ها را می توان به طور بالقوه از CompositionEvent.data بازیابی کرد.
GetSegmentOffset GAP GAP - بدون معادل مستقیم
GetTargetSegment GAP GAP - بدون معادل مستقیم
GetSelection GAP GAP - بدون معادل مستقیم

PPB_Instance

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
BindGraphics SDL Canvas.getContext (موضوع به عنوان اتصال خودکار است).
IsFullFrame GAP GAP - معادلی برای کنترل کننده های نوع mime وجود ندارد. برنامه‌های NaCl را می‌توان برای مدیریت یک نوع mime خاص و مالکیت کل سند ثبت کرد.
DidCreate N/A <عنصر>[کلید] دسترسی عمومی DOM به شما امکان می‌دهد تا ویژگی‌های تگ را کشف کنید
DidDestroy N/A N/A برای NaCl تحریک نمی شود
DidChangeView N/A رویداد "تغییر اندازه" عنصر
DidChangeFocus N/A رویدادهای عنصر "تمرکز"، "تمرکز"، "focusout".
HandleDocumentLoad N/A GAP - هیچ راهی برای ثبت نام به عنوان کنترل کننده نوع mime وجود ندارد ماژول‌های NaCl از طریق برنامه‌ها + ورودی مانیفست را می‌توان برای مدیریت انواع mime خاص تنظیم کرد.

PPB_MediaStreamAudioTrack

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
پیکربندی کنید GAP getUserMedia() محدودیت‌های getUserMedia() می‌توانند مقادیر پیکربندی را برای استفاده در MediaStreamTrack فراهم کنند.
GetAttrib GAP MediaStreamTrack.getSettings()
GetId GAP MediaStreamTrack.id
پایان یافته است GAP MediaStreamTrack.readyState
GetBuffer GAP GAP - معادل ندارد
RecycleBuffer GAP GAP - معادل ندارد
بستن GAP MediaStreamTrack.stop()

PPB_MediaStreamVideoTrack

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP ضبط بوم Canvas Capture امکان معرفی فریم های ویدئویی را به صورت برنامه ای فراهم می کند.
پیکربندی کنید GAP applicationConstraints()، getUserMedia() GAP (جزئی) - میزان تنظیمات موجود در Web API ممکن است با PPAPI متفاوت باشد.
GetAttrib GAP MediaStreamSettings.width
GAP MediaStreamSettings.height
GAP GAP - معادل PP_MEDIASTREAMVIDEOTRACK_ATTRIB_BUFFERED_FRAMES نیست MediaStream نمی تواند از قبل بارگیری شود، بنابراین هرگز بافر نمی شود: https://www.w3.org/TR/mediacapture-streams/#mediastreams-in-media-elements
GAP GAP - معادل PP_MEDIASTREAMVIDEOTRACK_ATTRIB_FORMAT نیست
GetId GAP MediaStreamTrack.id
پایان یافته است GAP MediaStreamTrack.readyState
GetFrame GAP GAP - معادل ندارد
قاب بازیافتی GAP GAP - معادل ندارد
بستن GAP MediaStreamTrack.stop()
GetEmptyFrame GAP GAP - معادل ندارد
PutFrame GAP GAP - معادل ندارد

PPB_MessageLoop

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
GetForMainThread N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
GetCurrent N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
AttachToCurrentThread N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
اجرا کنید N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
پست کار N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.
پس از ترک N/A کارگران اغلب یک حلقه رویداد ضمنی دریافت می کنند.

PPB_Messaging

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ارسال پیام N/A Window.postMessage
RegisterMessageHandler N/A Window.addEventListener
UnregisterMessageHandler N/A Window.removeEventListener

PPB_MouseCursor

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
SetCursor SDL عنصر.سبک.مکان نما مجموعه ای از مکان نماهای سهام پشتیبانی می شوند. نشانگرهای سفارشی را می توان با url (..) انجام داد. نشانگرهای سفارشی پویا را می توان با URIهای داده انجام داد. CSS3 از تعیین هات اسپات پشتیبانی می کند.

PPB_MouseLock

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
LockMouse SDL Element.requestPointerLock
باز کردن قفل ماوس SDL Element.exitPointerLock

PPB_OpenGLES2

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
چند روش OpenGLES از نظر عملکرد نزدیک به WebGL 1.0.
x خارج از صفحه بوم

PPB_TextInputController

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
SetTextInputType GAP GAP - بالقوه توسط Input Method Editor API پر شده است برخی از توسعه دهندگان دوست دارند یا بتوانند به این روش اشاره کنند، یا ترجیحاً توانایی رهگیری و نمایش رویدادهای IME / خروجی به صورت خطی در داخل یک بوم را داشته باشند.
UpdateCaretPosition GAP GAP - بالقوه توسط Input Method Editor API پر شده است https://www.w3.org/TR/ime-api/
CancelCompositionText GAP GAP - بالقوه توسط Input Method Editor API پر شده است https://www.w3.org/TR/ime-api/
UpdateSurroundingText GAP GAP - بالقوه توسط Input Method Editor API پر شده است https://www.w3.org/TR/ime-api/

PPB_URLلودر

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید تعبیه کردن جدید XMLHttpRequest();
باز کنید تعبیه کردن XMLHttpRequest.open
FollowRedirect تعبیه کردن Request.redirect
GAP GAP - معادل درخواست XMLHTTPR وجود ندارد
GetUploadProgress تعبیه کردن XMLHttpRequest 'پیشرفت' رویداد
GAP FetchObserver هنوز مشخص یا اجرا نشده است. https://github.com/whatwg/fetch/issues/607
GetDownloadProgress تعبیه کردن XMLHttpRequest 'پیشرفت' رویداد
GAP FetchObserver هنوز مشخص یا اجرا نشده است. https://github.com/whatwg/fetch/issues/607
GetResponseInfo تعبیه کردن XMLHttpRequest.getAllResponseHeaders
تعبیه کردن واکشی پاسخ.*
ReadResponseBody تعبیه کردن XMLHttpRequest.response
تعبیه کردن بدن.* (پاسخ یک بدن است)
FinishStreamingToFile تعبیه کردن GAP - بدون معادل مستقیم XMLHttpRequest و Fetch هر دو به جای اینکه مستقیماً به یک حافظه ذخیره شوند، جریان به حافظه را فرض می کنند.
بستن تعبیه کردن XMLHttpRequest.abort
GAP واکشی API: AbortSignal و AbortController

PPB_URLRequestInfo

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید تعبیه کردن XMLHttpRequest
تعبیه کردن واکشی درخواست
SetProperty GAP GAP - بدون معادل مستقیم برای XMLHttpRequest XMLHttpRequest راه‌های مستقیمی برای محدودیت هر درخواست پس از تغییر مسیرها، پخش جریانی به فایل، تنظیم خط‌مشی ارجاع‌دهنده یا اعتبارنامه‌ها ارائه نمی‌کند.
تعبیه کردن درخواست.*
AppendDataToBody تعبیه کردن XMLHttpRequest.send GAP - هر دو باید کل بدن را داشته باشند، نه یک تکه.
تعبیه کردن واکشی (..، گزینه‌ها: بدنه)
AppendFileToBody GAP fetch() آپلود جریان https://www.chromestatus.com/features/5274139738767360
N/A <فرم> همچنین می توانید با FileReader بخوانید و آپلود کنید، اما این بیشتر شبیه AppendDataToBody است

PPB_URLResponseInfo

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetProperty تعبیه کردن XMLHttpRequest.getAllResponseHeaders + دیگران
تعبیه کردن واکشی پاسخ.*
GetBodyAsFileRef تعبیه کردن واکشی پاسخ (Body) .blob() فرض می کند لایه ذخیره سازی انتقال را بهینه می کند.

PPB_Var

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
VarFromUtf8 تعبیه کردن TextDecoder.decode
VarToUtf8 تعبیه کردن TextEncoder.encode
VarFromResource N/A N/A
VarToResource N/A N/A

PPB_VarArray

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
دریافت کنید تعبیه کردن آرایه[i]
تنظیم کنید تعبیه کردن آرایه[i] = x
GetLength تعبیه کردن آرایه.طول
تنظیم طول تعبیه کردن Array.length = n

PPB_VarArrayBuffer

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید تعبیه کردن ArrayBuffer(n) جدید
طول بایت تعبیه کردن ArrayBuffer.byteLength
نقشه GAP GAP - بدون معادل مستقیم ماژول‌های Asm.js / Wasm قادر به نگاشت مناطق ArrayBuffer غیر از پشته حافظه خطی تکی خود نیستند. حافظه های چندگانه آینده یا نقشه برداری حافظه ممکن است این را بهبود بخشد.
نقشه برداری کنید GAP GAP - بدون معادل مستقیم

PPB_VarDictionary

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید تعبیه کردن {}
دریافت کنید تعبیه کردن <Object>[i]
تنظیم کنید تعبیه کردن <Object>[i] = x
حذف کنید تعبیه کردن حذف <Object>[i]
HasKey تعبیه کردن x در <Object>
GetKeys تعبیه کردن برای (k در <Object>) {} معادل تحت اللفظی وجود ندارد، اما می توان آن را ساخت.

PPB_VideoDecoder

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP GAP - با WebCodecs API پیشنهادی با استفاده از VideoDecoder() مدیریت می شود https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
مقدار دهی اولیه کنید GAP GAP - با WebCodecs API پیشنهادی با استفاده از پارامترهای مقداردهی اولیه VideoDecoder() (VideoDecoderInitParameters) https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
رمزگشایی GAP GAP - با WebCodecs API پیشنهادی با استفاده از ReadableStream.pipeThrough(VideoDecoder) مدیریت می شود https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
GetPicture GAP GAP - با WebCodecs API پیشنهادی با استفاده از ReadableStream.pipeThrough(VideoDecoder).pipeTo(VideoTrackWriter().writable) مدیریت می شود. https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
RecyclePicture GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود. طرح فعلی به طور خودکار تصاویر را بازیافت می کند و روند رمزگشایی را ادامه می دهد. https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
فلاش GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود. API Flush() نامیده خواهد شد، با این حال هنوز بحثی در مورد چگونگی توالی آن در رابطه با فراخوانی رمزگشایی وجود دارد. https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
بازنشانی کنید GAP GAP - با از بین بردن نمونه VideoDecoder و ایجاد نمونه جدید، با WebCodecs API پیشنهادی مدیریت می شود. این به اندازه یک روش تنظیم مجدد اختصاصی کارآمد نخواهد بود، اما معناشناسی یک API Reset() هنوز در حال بحث است. https://github.com/WICG/web-codecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming

PPB_VideoEncoder

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP GAP - با WebCodecs API پیشنهادی با استفاده از VideoEncoder() مدیریت می شود
GetSupportedProfiles GAP GAP (جزئی) - navigator.mediaCapabilities.encodingInfo() پروفایل های پشتیبانی شده باید یک به یک بررسی شوند.
مقدار دهی اولیه کنید GAP GAP - با WebCodecs API پیشنهادی با استفاده از پارامترهای مقداردهی اولیه VideoEncoder() مدیریت می شود
GetFramesRequired GAP GAP - معادل ندارد بعید است که مجموعه فریمی که در داخل توسط Web Codecs API استفاده می‌شود، در معرض دید قرار گیرد.
GetFrameCodedSize GAP GAP - معادل ندارد بعید است که مجموعه فریمی که در داخل توسط Web Codecs API استفاده می‌شود، در معرض دید قرار گیرد.
GetVideoFrame GAP GAP - با استفاده از ReadableStream.pipeThrough(VideoEncoder) با WebCodecs API پیشنهادی مدیریت می شود. این به جای گرفتن یک فریم برای پر کردن با داده ها قبل از رمزگذاری، مستقیماً داده ها را در جریان خواندنی رمزگذاری می کند.
رمزگذاری کنید GAP GAP - با WebCodecs API پیشنهادی با استفاده از ReadableStream.pipeThrough(VideoEncoder) مدیریت می شود
GetBitstreamBuffer GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود. طرح فعلی به طور خودکار از طریق بافر بیت استریم رمزگذاری شده عبور می کند. WebCodecs API در حال حاضر فرض می کند که بافر بیت استریم را می توان به جای ادغام کپی کرد، بنابراین نیازی به بازیافت نخواهد داشت.
RecycleBitstreamBuffer GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود. طراحی فعلی به طور خودکار بافر را بازیافت می کند تا روند رمزگذاری ادامه یابد. بعید است که در آینده تغییر کند زیرا پیامدهای عملکرد کمتر است.
RequestEncodingParametersChange GAP GAP - توسط Web Codecs API پیشنهادی مدیریت می شود. برخی از پارامترها قابلیت تغییر در لحظه را خواهند داشت، در حالی که برخی دیگر نیاز به حذف رمزگذار دارند.
بستن GAP GAP - با WebCodecs API پیشنهادی با استفاده از VideoEncoder.Close() مدیریت می شود.

PPB_VideoFrame

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetTimestamp GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.
SetTimestamp GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.
GetFormat GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.
GetSize GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.
GetDataBuffer GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.
GetDataBufferSize GAP GAP - با WebCodecs API پیشنهادی مدیریت می شود.

PPB_View

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetRect تعبیه کردن Element.getBoundingClientRect
صفحه نمایش کامل است تعبیه کردن Document.fullScreenEnabled به جای تنها یک عنصر، به سند مربوط می شود.
قابل مشاهده است تعبیه کردن IntersectionObserver
IsPageVisible تعبیه کردن document.visibilityState
GetClipRect تعبیه کردن IntersectionObserver
GetDeviceScale تعبیه کردن window.devicePixelRatio
GetCSSSscale تعبیه کردن <Element>.getBoundingClientRect().width / <Element>.offsetWidth
GetScrollOffset تعبیه کردن <Element>.scrollTop / <Element>.scrollLeft

PPB_WebSocket

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP WebSocket.WebSocket
اتصال GAP WebSocket.WebSocket(url، ...) WebSocket 'open' رویداد
بستن GAP WebSocket.close
دریافت پیام GAP WebSocket 'پیام' رویداد WebSocket 'خطا' رویداد WebSocket 'بستن' رویداد
ارسال پیام GAP WebSocket.send
GetBufferedAmount GAP WebSocket.bufferedAmount
GetCloseCode GAP CloseEvent.code
GetCloseReason GAP CloseEvent.reason
GetCloseWasClean GAP CloseEvent.wasClean
GetExtensions GAP WebSocket.extensions
GetProtocol GAP WebSocket.protocol
GetReadyState GAP WebSocket.readyState
GetURL GAP WebSocket.url

PPP_Graphics3D

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
Graphics3DContextLost SDL رویداد «webglcontextlost» بوم

PPP_InputEvent

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
HandleInputEvent SDL Element.addEventListener

PPP_Instance

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
DidCreate N/A <عنصر>[کلید] دسترسی عمومی DOM به شما امکان می‌دهد تا ویژگی‌های تگ را کشف کنید
DidDestroy N/A N/A برای NaCl تحریک نمی شود
DidChangeView N/A رویداد "تغییر اندازه" عنصر
DidChangeFocus N/A رویدادهای عنصر "تمرکز"، "تمرکز"، "focusout".
HandleDocumentLoad N/A GAP - هیچ راهی برای ثبت نام به عنوان کنترل کننده نوع mime وجود ندارد ماژول‌های NaCl از طریق برنامه‌ها + ورودی مانیفست را می‌توان برای مدیریت انواع مایم خاص تنظیم کرد.

PPP_Message Handler

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
HandleMessage تعبیه کردن MessagePort 'message' Event Window 'message' رویداد
HandleBlockingMessage N/A GAP - بدون معادل مستقیم همگام سازی مشابهی را می توان در خارج از موضوع اصلی با Atomics.wait انجام داد. این برای پشتیبانی از شبیه سازی APIهای پلاگین همزمان اضافه شده است.

PPP_Messaging

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
HandleMessage تعبیه کردن MessagePort 'message' Event Window 'message' رویداد

PPP_MouseLock

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
MouseLockLost SDL رویدادهای عنصر «pointerlockchange»، «pointerlockerror».

IRT

PPB_Audio

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید x SDL (جزئی) GAP (جزئی) - AudioWorkletNode تقریباً معادل است AudioWorkletSpec تمام شده است، اما AudioDeviceClient ممکن است مناسب‌تر برای این API باشد. AudioDeviceClient هنوز توسط انجمن مشخص می شود. ورکلت ممکن است معادل تقریبی این API نباشد.
GetCurrentConfig SDL AudioContext.* (تنظیمات را پس می گیرد)
StartPlayback SDL AudioBufferSourceNode.start
توقف پخش SDL AudioBufferSourceNode.stop

PPB_AudioBuffer

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
GetTimestamp SDL AudioBufferSourceNode.start (پارامتر) در هر بار به جای وصل شدن به بافر منتقل می شود.
SetTimestamp SDL AudioBufferSourceNode.start (پارامتر)
GetSampleRate SDL AudioBuffer.sampleRate
GetSampleSize GAP GAP - WebAudio فقط از شناور 32 بیتی استفاده می کند، PPAPI از 16 بیت داخلی استفاده می کند. PPAPI از نظر تئوری از چندین اندازه نمونه برداری پشتیبانی می کند. در عمل فقط از نمونه های 16 بیتی پشتیبانی می کند. متأسفانه، توسعه دهندگان برای صرفه جویی در مصرف حافظه، اندازه نمونه 16 بیتی را درخواست کرده اند. نسخه بعدی مشخصات Web Audio از نمونه های 16 بیتی پشتیبانی می کند. بهینه سازی برای AudioBuffer می تواند مشابه فایرفاکس با استفاده از بافر 16 بیتی برای صدایی که از decodeAudioData می آید پیاده سازی شود.
GetNumberOfChannels SDL AudioBuffer.numberOfChannels
GetDataBuffer SDL AudioBuffer.getChannelData
GetBufferSize SDL AudioBuffer.length

PPB_AudioConfig

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
CreateStereo16Bit GAP GAP - فقط نمونه های شناور 32 بیتی پشتیبانی می شوند نسخه بعدی مشخصات Web Audio از نمونه های 16 بیتی پشتیبانی می کند.
GetSampleRate SDL AudioContext.sampleRate
GetSampleFrameCount SDL AudioBuffer.length
RecommendSampleRate SDL AudioContext.sampleRate (از ساختار پیش فرض) یک AudioContext نرخ نمونه برگزیده ای را خواهد داشت که به طور پیش فرض با نرخ نمونه واقعی دستگاه صوتی سخت افزاری مطابقت دارد.
RecommendSampleFrameCount GAP GAP - با AudioDeviceClient برنامه ریزی شده اداره می شود یک مشکل باز برای اجازه دادن به اندازه مشخص شده توسط کاربر وجود دارد، اما هنوز در حال تعریف است. این احتمالاً به بهترین وجه با AudioDeviceClient انجام می شود که می تواند به شما بگوید اندازه مناسب برای سخت افزار داده شده چقدر است.

PPB_کنسول

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ورود به سیستم utime console.log/warn/error/...
LogWithSource GAP GAP Console API به عنوان یک جایگزین به اندازه کافی کامل در نظر گرفته می شود، مگر اینکه موارد استفاده خاصی توسط توسعه دهندگان برای عملکرد ارائه شده توسط LogWithSource مطرح شده باشد. DevTools Source Maps را می توان برای اشکال زدایی جاوا اسکریپت ترجمه شده به زبان مبدأ اصلی خود استفاده کرد.

PPB_Core

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
دریافت تایم utime new Date().getTime()
getTimeTicks utime new Date().getTime()
IsMainThread GAP window.document !== تعریف نشده است
CallOnMainThread GAP Worker.postMessage + Atomics.wait همگام سازی معادل می تواند ساخته شود.

PPB_FileIO

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) window.chooseFileSystemEntries() Create و open به طور متفاوتی استفاده می شوند، اما قطعات از قدرت یکسانی برخوردار هستند.
باز کنید FS (جزئی) window.chooseFileSystemEntries()
پرس و جو FS (جزئی) Blob.size، FileSystemHandle.getFile()، FileSystemHandle.getDirectory()، File.lastModified GAP (جزئی) - Blob.type همچنین می تواند برای بررسی نوع MIME استفاده شود. نوع سیستم فایل، زمان ایجاد و آخرین زمان دسترسی را نمی توان با Native File System API تعیین کرد.
لمس کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true})
بخوانید FS (جزئی) Blob.slice().arrayBuffer()
بنویسید FS (جزئی) FileSystemWriter.write()
تنظیم طول FS (جزئی) FileSystemWriter.truncate()
فلاش GAP (جزئی) GAP (جزئی) - هنگامی که FileSystemWrite.close() فراخوانی می شود، فایل ها فلاش می شوند. این در طراحی در نظر گرفته شده است زیرا فایل‌های Native File System API در معرض سیستم‌عامل قرار می‌گیرند، بنابراین قبل از نمایش داده‌ها به سیستم‌عامل باید بررسی Safe Browsing انجام شود.
بستن FS (جزئی) FileSystemWriter.close() عملیات معلق را لغو نمی کند، اما هر داده ای را که تا کنون نوشته شده روی دیسک پاک می کند.
ReadToArray GAP Blob.slice().arrayBuffer() یا Blob.arrayBuffer() به خواندن چندین زیرمجموعه به صورت موازی اجازه می دهد.

PPB_FileRef

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true})
GetFileSystemType FS (جزئی) FileSystem.type
GetName FS (جزئی) نام فایل
GetPath FS (جزئی) GAP (جزئی) - با Native File System API، مسیر نسبی یک فایل را می توان از ارجاع به دایرکتوری حاوی فایل با استفاده از FileSystemHandle.resolve(FileSystemHandle) تعیین کرد. مسیر مطلق یک فایل را نمی توان تعیین کرد و کاربر باید اجازه دسترسی به دایرکتوری حاوی فایل را بدهد.
GetParent FS (جزئی) GAP (جزئی) - با Native File System API، مسیر نسبی یک فایل را می توان از ارجاع به دایرکتوری حاوی فایل با استفاده از FileSystemHandle.resolve(FileSystemHandle) تعیین کرد. کاربر باید اجازه دسترسی به دایرکتوری حاوی فایل را بدهد.
MakeDirectory FS (جزئی) FileSystemHandle.getDirectory(...، {createIfNotExists: true})
لمس کنید FS (جزئی) FileSystemDirectoryHandle.getFile("name", {create: true}) زمان اصلاح را می توان با نوشتن کاهش داد.
حذف کنید FS (جزئی) FileSystemDirectoryHandle.removeEntry() برخلاف PPAPI، دایرکتوری ها نباید خالی باشند.
تغییر نام دهید FS (جزئی) GAP (جزئی) - با API سیستم فایل بومی، فایل را می توان با نام جدید با استفاده از ترکیبی از FileSystemFileHandle.getFile () برای نام جدید و FileSystemFileHandle.createWriter() با محتویات قبلی نوشت. فایل سپس FileSystemDirectoryHandle.removeEntry() برای حذف فایل قدیمی. API مستقیمی وجود ندارد که این کار را در یک مرحله در Native File System API انجام دهد.
پرس و جو GAP (جزئی) Blob.size، FileSystemHandle.getFile()، FileSystemHandle.getDirectory()، File.lastModified GAP (جزئی) - Blob.type همچنین می تواند برای بررسی نوع MIME استفاده شود. نوع سیستم فایل، زمان ایجاد و آخرین زمان دسترسی را نمی توان با Native File System API تعیین کرد.
ReadDirectoryEntries FS (جزئی) FileSystemDirectoryHandle.getEntries()

PPB_FileSystem

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید FS (جزئی) window.requestFileSystem JS API هر دو را در یک مرحله انجام می دهد
باز کنید GAP window.requestFileSystem JS API هر دو را در یک مرحله انجام می دهد
GetType GAP FileSystem.type

PPB_تمام صفحه

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
IsFullScreen html5.h Document.fullscreenEnabled
SetFullscreen html5.h Document.request تمام صفحه
GetScreenSize html5.h Document.exit تمام صفحه

PPB_Gamepad

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
نمونه SDL گیم پد.* شی Gamepad یک مهر زمانی نسبت به navigationStart را نشان می دهد. زمانی که داده ها از سخت افزار https://www.w3.org/TR/gamepad/#gamepad-interface دریافت می شود، به روز می شود.

PPB_Graphics2D

روش PPAPI Threads را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL Canvas.getContext('2d')
توصیف کنید SDL Canvas.clientWidth + Canvas.clientHeight
PaintImageData SDL CanvasRenderingContext2D.putImageData
اسکرول کنید GAP CanvasRenderingContext2D.scrollIntoView، CanvasRenderingContext2D.drawImage GAP (جزئی) - می توان با کشیدن بوم روی خود، با افست، با استفاده از drawImage و سپس پر کردن بقیه اجرا شد.
جایگزین محتوا SDL CanvasRenderingContext2D.drawImage
فلاش GAP بدون معادل مستقیم GAP (جزئی) - همیشه یک فلش ضمنی در انتهای کد قرعه کشی وجود دارد. بعید است این تغییر کند. با این حال ، ترکیبی از Offscreencanvas و ImagebitMaprenderingContext عملکرد مشابهی را ارائه می دهد.
مجموعه SDL canvasrenderingcontext2d.scale
نماز SDL canvasrenderingcontext2d.currenttransform
ترانسف شکل SDL canvasrenderingcontext2d.settransform canvasrenderingcontext2d.scale canvasrenderingcontext2d.translate

ppb_graphics3d

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
getAttribMaxValue OpenGL ES 3.0 WebGL 2.0 GAP (جزئی) - WebGL 2.0 و قرار گرفتن در معرض Emscripten از OpenGL ES 3.0 از فریم های چند نمونه ای تعریف شده توسط کاربر پشتیبانی می کنند ، که در آن می توان تمام پارامترهای قابل تنظیم از طریق PPAPI را تنظیم کرد.
ایجاد کنید SDL canvas.getContext
getAttribs SDL webglrenderingcontext.getContextAttributes
رفیق SDL canvas.getContext (.. ، گزینه ها)
گیره SDL WebglrenderingContext.getError
بوالهستان SDL canvas.width = w ؛ canvas.height = h ؛
چلیکورهای GAP بدون معادل مستقیم شکاف (جزئی) - همیشه در انتهای کد قرعه کشی یک گرگرفتگی ضمنی وجود دارد. این بعید به نظر می رسد تغییر کند. با این حال ، ترکیبی از Offscreencanvas و ImagebitMaprenderingContext عملکرد مشابهی را ارائه می دهد.

PPB_ImageData

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
GetAnativeImagedataFormat SDL Imagedata دستور RGBA را دستورالعمل می دهد
inimagedataformatsupported SDL Imagedata دستور RGBA را دستورالعمل می دهد
ایجاد کنید SDL CanvasrenderingContext2d.CreateAmagedata
توصیف کنید SDL ImageData هرگز قدم ندارد
نقشه SDL ImageData.data
از کار انداختن SDL ImageData.data

PPB_InputEvent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
درخواست درخواست SDL بدون معادل مستقیم کمبود این ویژگی احتمالاً کم اهمیت تر است زیرا JS / WASM روی موضوع اصلی اجرا می شود و می تواند بدون تحمل یک فرآیند متقابل ، رویدادهای ارزان تر را فیلتر کند.
درخواست filteringinputevents SDL ماوس* کلید* چرخ* لمس* ترکیب* رویدادها
SDL عنصر. addeventlistener
ClearInputeVentrequest SDL Element.RemoveEventListener
GetType SDL فرزندان کلاس رویداد
گلی SDL رویداد. timestamp
مددجویان SDL *event.altkey/ShiftKey/metakey/ctrlkey

PPB_MouseInputEvent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL موزون
GetButton SDL mousevent.button
قرار گرفتن SDL MouseEvent.Client*/صفحه*/افست*
getClickCount SDL DBLCLICK رویدادهای 'vs' Mousedown '
حرکت SDL mousevent.movement*

PPB_WheelInputEvent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL چرخنده
گودلتا SDL wheelvent.delta*
گیتایکس GAP GAP - نوع Deltamode شامل این اطلاعات است ، اما ناقص است. بحث در مورد اجرای API Wheelevent.deltamode وجود دارد: https://github.com/w3c/uievents/issues/181#issuecomment-537811017
getScrollBypage GAP GAP - نوع Deltamode شامل این اطلاعات است ، اما ناقص است. بحث در مورد اجرای API Wheelevent.deltamode وجود دارد: https://github.com/w3c/uievents/issues/181#issuecomment-537811017

PPB_KeyboardInputEvent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL صفحه کلید
کد SDL صفحه کلید
باکترست متن SDL صفحه کلید
GetCode SDL صفحه کلید

ppb_touchinputevent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید SDL موم
adttouchpoint SDL touchevent.touches.push
گلی SDL touchevent.touches.l طول
getTouchbyIndex SDL touchevent.touches [i]
gettouchbyid SDL touch.indentifer (برای اینکه خودتان این را بفهمید)

ppb_imeinputevent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP ترکیب
GetText GAP composionevent.data
getSemarkNumber GAP شکاف - بدون معادل مستقیم این داده ها به طور بالقوه می توانند از ComposionEvent.data بازیابی شوند.
getSemarkoffset GAP شکاف - بدون معادل مستقیم
بخش GAP شکاف - بدون معادل مستقیم
انتخاب GAP شکاف - بدون معادل مستقیم

PPB_Instance

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ورمگرافیک SDL canvas.getContext (Moot As Binding اتوماتیک است).
isfllframe GAP GAP - هیچ معادل با دستگیرندگان نوع MIME نیست. برنامه های NACL را می توان برای رسیدگی به یک نوع خاص و داشتن کل سند ثبت کرد.
از هم بادن N/A <teel> [key] دسترسی عمومی DOM به شما امکان می دهد ویژگی های برچسب را از بین ببرید
کار N/A N/A برای NaCl تحریک نشده است
Didchan0view N/A رویداد "تغییر اندازه" عنصر
DidchangeFocus N/A Element 'Focus' ، 'Focusin' ، 'Focusout' Events
بارگیری N/A شکاف - هیچ راهی برای ثبت نام به عنوان یک کنترل کننده از نوع MIME نیست ماژول های NaCl از طریق برنامه ها + یک ورودی مانیفست را می توان برای رسیدگی به انواع خاص MIME تنظیم کرد.

ppb_mediastreamaudiotrack

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
پیکربندی کنید GAP getUsermedia () محدودیت های موجود در GetUsermedia () می تواند مقادیر پیکربندی مورد استفاده در MediastreamTrack را فراهم کند.
GetAttrib GAP mediastreamtrack.getsettings ()
گودال GAP mediastreamtrack.id
درز GAP Mediastreamtrack.Readstate
بافف GAP شکاف - بدون معادل
بازیافت کننده GAP شکاف - بدون معادل
بستن GAP Mediastreamtrack.stop ()

ppb_mediastreamvideotrack

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید GAP ضبط بوم ضبط بوم امکان معرفی فریم های ویدیویی را به صورت برنامه ای فراهم می کند.
پیکربندی کنید GAP ApplyConstints () ، getUsermedia () GAP (جزئی) - میزان تنظیمات موجود در API وب ممکن است با PPAPI متفاوت باشد.
GetAttrib GAP mediastreamsettings.width
GAP mediastreamsettings.height
GAP شکاف - بدون معادل PP_MediaStreamVideotrack_attrib_Buffered_Frames MediaStream را نمی توان از قبل بارگذاری کرد ، بنابراین هرگز بافر نمی شود: https://www.w3.org/tr/mediacapture-streams/#mediastreams-in-media-elements
GAP شکاف - بدون معادل PP_MediaStreamVideotrack_attrib_format
گودال GAP mediastreamtrack.id
درز GAP Mediastreamtrack.Readstate
قاب GAP شکاف - بدون معادل
بازیافت GAP شکاف - بدون معادل
بستن GAP Mediastreamtrack.stop ()
گلی GAP شکاف - بدون معادل
قاب GAP شکاف - بدون معادل

ppb_messageloop

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
شکل گیری N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
جبهه N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
attocurrentThread N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
اجرا کنید N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
کار N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.
پس از حرکت N/A عمدتاً غلط ، کارگران یک حلقه رویداد ضمنی دریافت می کنند.

ppb_messaging

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
بعد از ظهر N/A windows.postmessage
RegisterMessageHandler N/A windows.addeventlistener
مجدداً N/A windows.removeeventlistener

ppb_mousecursor

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
متصدی SDL Element.Style.Cursor همان مجموعه ای از مکان نما سهام پشتیبانی می شود. مکان نما سفارشی را می توان با url (..) انجام داد. نشانگرهای سفارشی پویا را می توان با URI های داده انجام داد. CSS3 از مشخص کردن کانون پشتیبانی می کند.

PPB_MouseLock

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
خانه قفل SDL Element.RequestPointerlock
خانه باز کردن SDL Element.exitpointerlock

ppb_opengles2

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
چندین روش باز نزدیک به WebGL 1.0 در عملکرد.
x Offscreencanvas

PPB_TextInputController

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
setextinputtype GAP GAP - به طور بالقوه توسط روش ورودی ویرایشگر API پر شده است برخی از توسعه دهندگان دوست دارند یا بتوانند به این روش اشاره کنند ، یا ترجیحاً توانایی رهگیری و نمایش رویدادهای IME / خروجی درون یک بوم را ترجیح دهند.
به روزرسانی شکاف GAP - به طور بالقوه توسط روش ورودی ویرایشگر API پر شده است https://www.w3.org/tr/ime-api/
cancelcompositiontext شکاف GAP - به طور بالقوه توسط روش ورودی ویرایشگر API پر شده است https://www.w3.org/tr/ime-api/
به روزرسانی شکاف GAP - به طور بالقوه توسط روش ورودی ویرایشگر API پر شده است https://www.w3.org/tr/ime-api/

PPB_URLلودر

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید درج کردن xmlhttprequest جدید () ؛
باز کنید درج کردن xmlhttprequest.open
دنبال کردن مستقیم درج کردن درخواست. REDIRECT
شکاف GAP - بدون XMLHTTPREQUEST معادل
برنامه ریزی درج کردن رویداد Xmlhttprequest "پیشرفت"
شکاف سرپرست هنوز مشخص نشده یا اجرا نشده است. https://github.com/whatwg/fetch/issues/607
GetDownloadProgress درج کردن رویداد Xmlhttprequest "پیشرفت"
شکاف سرپرست هنوز مشخص نشده یا اجرا نشده است. https://github.com/whatwg/fetch/issues/607
رفیق درج کردن xmlhttprequest.getAllResponseHeaders
درج کردن پاسخ واکشی.*
پاسخ خواندن درج کردن xmlhttprequest.Respance
درج کردن بدن.* (پاسخ بدن است)
FinishstreamingTofile درج کردن شکاف - بدون معادل مستقیم xmlhttprequest و واکشی هر دو به جای اینکه مستقیماً به یک ذخیره سازی منتقل شوند ، جریان را به حافظه فرض می کنند.
بستن درج کردن xmlhttprequest.abort
شکاف Fetch API: سقط جنین و سقط جنین

ppb_urlrequestinfo

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید درج کردن XMLHttpRequest
درج کردن درخواست واکشی
stroperty شکاف شکاف - بدون معادل مستقیم برای xmlhttprequest XMLHTTPRequest پس از تغییر مسیر ، جریان به یک پرونده ، تنظیم خط مشی ارجاع یا اعتبار ، راه های مستقیمی برای محدودیت در هر حد و احیا ارائه نمی دهد.
درج کردن درخواست.*
adpenddatatobody درج کردن xmlhttprequest.send شکاف - هر دو باید کل بدن را داشته باشند ، نه یک تکه.
درج کردن واکشی (.. ، گزینه ها: بدن)
adpendFileTobody شکاف واکشی () بارگذاری جریان https://www.chromestatus.com/features/5274139738767360
N/A <فرم> همچنین می توانید با Filereader و بارگذاری بخوانید ، اما این بیشتر شبیه AppendDatatoBody است

ppb_urlresponseinfo

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
GetProperty درج کردن xmlhttprequest.getAllResponseHeaders + دیگران
درج کردن پاسخ واکشی.*
getBodyAsfileref درج کردن پاسخ واکشی (بدن) .blob () فرض می کند لایه ذخیره سازی انتقال را بهینه می کند.

ppb_var

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
varfromutf8 درج کردن textDecoder.decode
vartoutf8 درج کردن textencoder.encode
منبع N/A N/A
منبع N/A N/A

ppb_vararray

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
دریافت کنید درج کردن آرایه [من]
تنظیم کنید درج کردن آرایه [i] = x
طول درج کردن Array.l طول
طول ست درج کردن array.l طول = n

ppb_vararraybuffer

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید درج کردن Arraybuffer جدید (N)
طول یک درج کردن arraybuffer.bytel طول
نقشه شکاف شکاف - بدون معادل مستقیم ماژول های ASM.JS / WASM قادر به ترسیم مناطقی از یک آرایه ساز غیر از پشته حافظه خطی تک آنها نیستند. خاطرات متعدد یا نقشه برداری حافظه ممکن است این امر را بهبود بخشد.
از کار انداختن شکاف شکاف - بدون معادل مستقیم

PPB_VarDictionary

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید درج کردن {}
دریافت کنید درج کردن <Ibject> [i]
تنظیم کنید درج کردن <Ibject> [i] = x
حذف کنید درج کردن حذف <Ibject> [i]
سعادت درج کردن X در <Ibject>
کلیدی درج کردن برای (k در <Ibject>) {} هیچ معادل تحت اللفظی نیست ، اما می تواند ساخته شود.

ppb_videodecoder

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید شکاف GAP - با استفاده از VideodeCoder () با API پیشنهادی WebCodecs انجام می شود () https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
مقدار دهی اولیه کنید شکاف GAP - با استفاده از پارامترهای اولیه سازی VideodeCoder () (VideodeCoderInitParameters) با API پیشنهادی WebCodecs API انجام می شود. https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
رمزگشایی شکاف GAP - با استفاده از API WebCodecs پیشنهادی با استفاده از readablestream.pipethrough (VideodeCoder) اداره می شود https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
تصویر شکاف GAP - با استفاده از API WebCodecs پیشنهادی با استفاده از readablestream.pipethrough (videodecoder) .pipeto (videotrackwriter (). https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
بازیافت GAP GAP - با API WebCodecs پیشنهادی اداره می شود. طرح فعلی به طور خودکار تصاویر را بازیافت کرده و روند رمزگشایی را ادامه می دهد. https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
فلاش شکاف GAP - با API WebCodecs پیشنهادی اداره می شود. API Flush () نامیده می شود ، اما هنوز بحث در مورد چگونگی توالی آن در رابطه با رمزگشایی تماس ها وجود دارد. https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming
بازنشانی کنید شکاف GAP - با از بین بردن نمونه VideodeCoder و ایجاد یک مورد جدید با API پیشنهادی WebCodecs استفاده می شود. این به اندازه یک روش تنظیم مجدد اختصاصی کارآمد نخواهد بود ، اما معنایی برای تنظیم مجدد API () هنوز مورد بحث قرار می گیرد. https://github.com/wicg/web-kodecs/blob/master/explainer.md#example-of-decode-for-low-latency-live-streaming-or-cloud-gaming

PPB_VideoEncoder

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید شکاف GAP - با استفاده از VideoEncoder () با API WebCodecs پیشنهادی انجام می شود ()
getSupportedProfiles شکاف شکاف (جزئی) - navigator.Mediacapabilities.EncodingInfo () پروفایل های پشتیبانی شده باید یکی یکی بررسی شوند.
مقدار دهی اولیه کنید شکاف GAP - با استفاده از پارامترهای اولیه سازی VideoNcoder () با API پیشنهادی WebCodecs انجام می شود
getFramesRequired شکاف شکاف - بدون معادل بعید است که استخر فریم در داخل توسط API Codecs Web Codecs استفاده شود.
getFramecodedSize شکاف شکاف - بدون معادل بعید است که استخر فریم در داخل توسط API Codecs Web Codecs استفاده شود.
نام شکاف GAP - با استفاده از readablestream.pipethrough (VideoEncoder) با API پیشنهادی WebCodecs استفاده می شود. این به طور مستقیم داده ها را در جریان قابل خواندن به جای گرفتن یک قاب واحد برای پر کردن داده ها قبل از رمزگذاری رمزگذاری می کند.
رمزگذاری کنید شکاف GAP - با استفاده از API WebCodecs پیشنهادی با استفاده از readablestream.pipethrough (VideoEncoder) اداره می شود
GetBitStreamBuffer شکاف GAP - با API WebCodecs پیشنهادی اداره می شود. طراحی فعلی به طور خودکار از طریق بافر رمزگذاری شده Bitstream که از طریق آن لوله کشی می شود ، طی می شود. API WebCodecs در حال حاضر فرض می کند که بافر بیتستر به جای جمع شدن قابل کپی کردن است ، بنابراین نیازی به بازیافت نیست.
بازیافت شکاف GAP - با API WebCodecs پیشنهادی اداره می شود. طراحی فعلی به طور خودکار بافر را بازیافت می کند تا روند رمزگذاری ادامه یابد. این بعید است که در آینده تغییر کند زیرا پیامدهای عملکرد کوچکتر است.
requestEncodingParametERSchange GAP GAP - توسط API Codecs Web Codecs انجام می شود. پارامترهای خاصی توانایی تغییر در پرواز را دارند ، در حالی که دیگران نیاز به رمزگذاری رمزگذاری دارند.
بستن شکاف GAP - با استفاده از VideoNcoder.Close () با API WebCodecs پیشنهادی اداره می شود.

ppb_videoframe

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
گلی شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.
یدک شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.
شکل شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.
می توان شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.
گیتابفر شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.
getDatabuffersize شکاف GAP - با API WebCodecs پیشنهادی اداره می شود.

ppb_view

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
بازده درج کردن Element.GetBoundingClientRect
isfullscreen درج کردن Document.FullScreenEnabled به جای فقط یک عنصر واحد ، به مستند سازی مربوط می شود.
قابل استفاده درج کردن تقاطع
isPageVisible درج کردن document.VisibilityState
باکتری درج کردن تقاطع
GetDevicescale درج کردن Window.DevicePixelRatio
getcssscale درج کردن <Teel> .GetBoundingClientRect (). عرض / <Element> .OffsetWidth
getScrolloffset درج کردن <TEETENT> .ScrollTop / <epement> .scrollleft

ppb_websocket

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید شکاف websocket.websocket
اتصال شکاف WebSocket.Websocket (URL ، ...) WebSocket 'Open' Event
بستن شکاف websocket.close
دریافت شکاف رویداد WebSocket 'پیام' Event WebSocket 'Error' Event WebSocket 'Event' Close 'Event
پست شکاف websocket.send
GetBufferedAmount شکاف WebSocket.BufferedAmount
کد شکاف closevent.code
فصل شکاف closevent.Reason
گله دار شکاف closevent.wasclean
ثبت نام شکاف websocket.extensions
گلی شکاف websocket.protocol
GetReadyState شکاف WebSocket.ReadyState
گیره شکاف websocket.url

ppp_graphics3d

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
Graphics3DcontextLost SDL رویداد بوم "WebGlContextLost"

ppp_inputevent

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
HandleInputeVent SDL عنصر. addeventlistener

ppp_instance

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
از هم بادن N/A <teel> [key] دسترسی عمومی DOM به شما امکان می دهد ویژگی های برچسب را از بین ببرید
کار N/A N/A برای NaCl تحریک نشده است
Didchan0view N/A رویداد "تغییر اندازه" عنصر
DidchangeFocus N/A Element 'Focus' ، 'Focusin' ، 'Focusout' Events
بارگیری N/A شکاف - هیچ راهی برای ثبت نام به عنوان یک کنترل کننده از نوع MIME نیست ماژول های NaCl از طریق برنامه ها + یک ورودی مانیفست را می توان برای رسیدگی به انواع خاص MIME تنظیم کرد.

PPP_MessageHandler

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
دستگیره درج کردن پیام پیام "پیام" پیام "پیام" پیام "
HandleBlockingMessage N/A شکاف - بدون معادل مستقیم هماهنگ سازی مشابه می تواند از موضوع اصلی با Atomics.wait انجام شود. این برای پشتیبانی از تقلید API های افزونه همزمان اضافه شد.

PPP_Messaging

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
دستگیره درج کردن پیام پیام "پیام" پیام "پیام" پیام "

PPP_MouseLock

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
موشک SDL Element 'Pointerlockchange' ، 'PointerlockError' Events

PPAPI (برنامه‌ها)

PPB_HOSTRESOLVER

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید x شکاف شکاف (جزئی) - بدون معادل مستقیم
حل کند x شکاف شکاف (جزئی) - بدون معادل مستقیم
getCanonicalName x شکاف شکاف (جزئی) - بدون معادل مستقیم
getNetAddressCount x شکاف شکاف (جزئی) - بدون معادل مستقیم
getNetAddress x شکاف شکاف (جزئی) - بدون معادل مستقیم

ppb_netaddress

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد fromipv4address x شکاف شکاف (جزئی) - بدون معادل مستقیم
ایجاد fromipv6address x شکاف شکاف (جزئی) - بدون معادل مستقیم
خانواده x شکاف شکاف (جزئی) - بدون معادل مستقیم
توصیف کردن x شکاف شکاف (جزئی) - بدون معادل مستقیم
DESCRICTEASIPV4ADDRESS x شکاف شکاف (جزئی) - بدون معادل مستقیم
DESCRICTEASIPV6ADDRESS x شکاف شکاف (جزئی) - بدون معادل مستقیم

PPB_NETWORKLIST

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
باکتری x شکاف شکاف - بدون معادل مستقیم
نام x شکاف شکاف - بدون معادل مستقیم
GetType x شکاف شکاف - بدون معادل مستقیم
باکتری x شکاف شکاف - بدون معادل مستقیم
getipaddress x شکاف شکاف - بدون معادل مستقیم
getDisplayName x شکاف شکاف - بدون معادل مستقیم
GetMtu x شکاف شکاف - بدون معادل مستقیم

PPB_NetworkMonitor

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
ایجاد کنید x شکاف شکاف - بدون معادل مستقیم
لیست به روزرسانی x شکاف شکاف - بدون معادل مستقیم

PPB_NetworkProxy

روش PPAPI موضوعات را فرض می کند Emscripten Web API محدودیت ها
getProxyforurl x شکاف شکاف - بدون معادل مستقیم

ppb_tcpsocket و ppb_udpsocket

نقشه برداری مستقیم 1: 1 برای مهاجرت وجود ندارد. در عوض ، ما برخی از سناریوهای کاربر را در زیر بیان کرده ایم و مسیر مهاجرت پیشنهادی چیست.

مورد استفاده توصیه ها
اشتراک گذاری صفحه نمایش GetDisplayMedia و Webrtc ( نسخه ی نمایشی )
بارگیری از یک سرور محلی برای به حداقل رساندن استفاده از پهنای باند XHR ، Fetch ، Streams ، Worker Service ، Cache API
بارگیری از یک نمونه محلی از یک برنامه وب / اتصال به یک نمونه محلی از یک برنامه وب WebRTC
چت کنید WebSocket *
ارتباط صوتی/تصویری زمان واقعی WebRTC
همکاری WebSocket *
بازی های چند نفره در زمان واقعی WebTransport ** مگر اینکه P2P در این حالت WEBRTC (یا WebTransport از طریق RTCICETRANSPORT)
جریان تعاملی در زمان واقعی WebTransport **
برقراری ارتباط با سرور میراث سرور پروکسی یا واسطه برای انجام تبدیل پروتکل. بازخورد به bit.ly/network-api-gaps

*: یا WebTransport در آینده

**: برای در دسترس بودن به Chromestatus مراجعه کنید