WebKit 包含专门针对 YouTube 的处理代码


Hacker News 近日一篇关于 WebKit 的帖子引起了众多讨论和关注,帖子内容主要是提到 WebKit 内核包含了对 YouTube 进行“特别定制”的代码。

代码位于如下目录:https://github.com/WebKit/WebKit/blob/main/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp

WebKit 是开源的 Web 浏览器引擎。它被用于苹果的 Safari 浏览器,其分支 Blink 是由 Google 主导开发的开源浏览器渲染引擎。Blink 属于浏览器内核 Chromium 的一部分。

开发者指出,当第一部 iPhone 发布时,YouTube 使用的还是 Flash 技术——而不是 HTML5。对于这种情况,Safari 通过特殊的代码来使用自带播放器播放视频,而不是显示一个空白方块。这段代码就是负责该逻辑。 

不过又有人发现,这段代码是在 2014 年编写的,时间远在第一代 iPhone 发布之后,而且今年有人试图删除这段代码,但没有获得开发团队的同意,因为现在一些网站依赖于这种 hack 手段。

在评论区中,还有开发者列举了其他相似的案例,比如 Chromium 包含的"flash_embed_rewrite.cc"代码希望在 Flash 删除之前替换他们在野外嵌入的长尾;Windows 95 包含的特定代码可查看 SimCity 是否正在运行,如果运行,则以不同的方式分配内存。甚至有开发者将乔布斯的毕业典礼演讲放到了 Webkit 的测试用例中。

你还知道哪些其他有趣的 hack 案例,欢迎在评论区分享。


相關推薦

2022-09-28

因为旧实现在传递新参数时会抛出 TypeError。 取消前缀 -webkit-hyphenate-character CSS 属性 此更改支持不带前缀的连字符,而不仅是 -webkit-连字符。根据 csswg 的讨论,https://github.com/w3c/csswg-drafts/issues/6887,hyphenate-character css 属性足够

2022-01-17

片公司现在正在起诉德国托管平台 Uberspace;他们认为,youtube-dl 规避了 YouTube 的"rolling cipher"技术,而德国法院在 2017 年认定这是非法的。Uberspace 目前是 youtube-dl 官方主页的托管公司。 2020 年 10 月,GitHub 响应美国唱片业协会

2022-10-21

最新的 IceWM 3 最新的 firefox-esr 102.3 seamonkey 2.53.14 mps-youtube 已被删除 Sakis3G 取代了 modem-manager(gui) elogind、libpam-elogind 和 libelogind0 也被移除。取而代之的是,使用 seatd 和 consolekit 许多 Debian 上游的核心软件包已经被重建,

2022-06-02

WPE WebKit (WebKit Port optimized for Embedded devices) 是面向嵌入式设备而优化的 WebKit 移植,可用于将支持大量现代 Web 技术的成熟 Web 浏览器引擎“内嵌”到嵌入式设备中。WPE 本身并不是像 Safari、Chrome 或 Firefox 等此类产品形态的 Web 浏

2022-09-05

WebKit 项目在 6 月 23 日冻结了 Subversion 代码树,并将对项目源代码的管理和互动迁移到了基于 Git 的 GitHub。 Git 具有许多优势,比如其天生的分布式特性、本地变更记录、作者和提交者模型等。团队称,Git 除了拥有这些优势,

2023-01-14

Apple 的网络浏览器 Safari 所使用的 WebKit 浏览器已经发布了一个值得注意的技术预览更新:添加了实验性 WebCodecs AV1、dav1d 解码器,新版本的 WebKit 引擎已被 Apple 的 Safari Technology 161 Preview 版本采用。 WebKit 是开源的 Web 浏览

2023-02-15

谷歌和 Mozilla 都在开发不使用WebKit 引擎的 iOS 浏览器,而根据苹果当前的 App Store 政策,iOS 浏览器应用程序必须使用系统内置的 WebKit 引擎。因此,这些正在开发的 iOS 浏览器目前无法通过 iOS App Store 进行分发。 当下主流的浏览

2022-12-18

次。 Opera 官方说明: 该功能适用于所有视频,例如 YouTube、TikTok、Instagram、Facebook 和 Twitter 上的视频,只要点击一下视频上的浮动按钮就可以启用。激活后,Lucid 模式会让内容锐利和清晰。它也适用于图像,不要让低质量的

2022-11-16

的皮肤及各种可以访问网络内容的插件,包括 Spotify 和 Youtube。从版本 12.0(代号“Frodo”)开始,XBMC 附带录制直播节目的数位视频录像机图形界面前端,同时支持电子节目指南和高清视频录制。 近日,Kodi 发布了 v20 的首个 Bet

2024-04-17

;重视人工智能开源发展,提出促进开源社区建设、制定专门合规指引、明确责任减免规则等支持措施;构建知识产权创新规则,在研发环节对训练数据、个人信息的使用作出专门安排,并针对人工智能生成物的成果保护与侵权

2022-07-08

方库的最新版本,包括所有的安全修复以及在 Unix 下对 WebKit 2 和 GStreamer 1.7 的支持。 wxGTK 中更好的 Wayland 支持 修改后的 OpenGL 支持更适合现代 OpenGL(3.2+) 进一步改进了 C++11 及以后的支持,wxWidgets 可以使用 C++20 编译器构

2023-01-11

出了创新的 Lucid 模式,这是一项可以提高流媒体视频(YouTube、Vimeo 等)画面质量的功能,可以一键改善老旧视频的画质,使内容看起来更清晰。该功能由硬件加速驱动,主要依靠电脑的 GPU 负责处理画面内容。 近日 Opera 再次

2022-12-16

7 月成为项目负责人。如今 Bugzilla 已被 Mozilla 基金会、WebKit、Linux Kernel、FreeBSD、Apache、Red Hat、Eclipse 和 LibreOffice 等组织机构使用。 Miller 在博客中表示,多年来他并没有在 Bugzilla 上花费太多时间;但鉴于也没有任何人能够代

2023-02-17

最快,早在 Chromium 90 支持就已开始,Safari 的浏览器引擎 Webkit 则是一直到现在才开始在技术预览版中支持。Webkit 官方解释了必须支持声明式 Shadow DOM 的原因。 所谓 Shadow DOM,是为 DOM 树提供一个轻量级封装,因此开发者便可以