(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 | |
روش 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 | |
روش 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* | |
روش 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 |
روش PPAPI | Threads را فرض می کند | Emscripten | Web API | محدودیت ها |
ایجاد کنید | | SDL | KeyboardEvent | |
GetKeyCode | | SDL | KeyboardEvent.keyCode | |
GetCharacterText | | SDL | KeyboardEvent.key | |
GetCode | | SDL | KeyboardEvent.code | |
روش 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 (برای اینکه خودتان متوجه شوید) | |
روش 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 خاص تنظیم کرد. |
روش 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() | |
روش 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» بوم | |
روش 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 | |
روش 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 | |
روش PPAPI | موضوعات را فرض می کند | Emscripten | Web API | محدودیت ها |
ایجاد کنید | | SDL | موزون | |
GetButton | | SDL | mousevent.button | |
قرار گرفتن | | SDL | MouseEvent.Client*/صفحه*/افست* | |
getClickCount | | SDL | DBLCLICK رویدادهای 'vs' Mousedown ' | |
حرکت | | SDL | mousevent.movement* | |
روش 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 |
روش PPAPI | موضوعات را فرض می کند | Emscripten | Web API | محدودیت ها |
ایجاد کنید | | SDL | صفحه کلید | |
کد | | SDL | صفحه کلید | |
باکترست متن | | SDL | صفحه کلید | |
GetCode | | SDL | صفحه کلید | |
روش PPAPI | موضوعات را فرض می کند | Emscripten | Web API | محدودیت ها |
ایجاد کنید | | SDL | موم | |
adttouchpoint | | SDL | touchevent.touches.push | |
گلی | | SDL | touchevent.touches.l طول | |
getTouchbyIndex | | SDL | touchevent.touches [i] | |
gettouchbyid | | SDL | touch.indentifer (برای اینکه خودتان این را بفهمید) | |
روش 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 تنظیم کرد. |
روش PPAPI | موضوعات را فرض می کند | Emscripten | Web API | محدودیت ها |
پیکربندی کنید | | GAP | getUsermedia () | محدودیت های موجود در GetUsermedia () می تواند مقادیر پیکربندی مورد استفاده در MediastreamTrack را فراهم کند. |
GetAttrib | | GAP | mediastreamtrack.getsettings () | |
گودال | | GAP | mediastreamtrack.id | |
درز | | GAP | Mediastreamtrack.Readstate | |
بافف | | GAP | شکاف - بدون معادل | |
بازیافت کننده | | GAP | شکاف - بدون معادل | |
بستن | | GAP | Mediastreamtrack.stop () | |
روش 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" | |
روش 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 مراجعه کنید