So what is everybody who uses an ad-blocker planning to do when browsers start to support WebAssembly? When it becomes easy to compile C libraries like freetype - or a proprietary replacement, designed for obfuscation - I expect any website paranoid about "controlling the user experience' will simply use the browser for the <canvas> tag.
Blocking elements with CSS (or whatever) will no longer be possible, and the Halting Problem says you're going to have a hard time trying to do similar blocking of the WebAssembly bytecode. You might be able to block a few image URLs for a while, but the ad industry will quickly migrate to any technique that has has a real effect of bypassing ad-blockers.
This is the problem with having a Turing complete language as a dependency for rendering documents; the only reason it hasn't become a big problem yet is that the technologies involved are fairly new and can be awkward to use for some use cases. With a framebuffer and a way to generically use any language, those speed bumps no longer apply.
Blocking elements with CSS (or whatever) will no longer be possible, and the Halting Problem says you're going to have a hard time trying to do similar blocking of the WebAssembly bytecode. You might be able to block a few image URLs for a while, but the ad industry will quickly migrate to any technique that has has a real effect of bypassing ad-blockers.
This is the problem with having a Turing complete language as a dependency for rendering documents; the only reason it hasn't become a big problem yet is that the technologies involved are fairly new and can be awkward to use for some use cases. With a framebuffer and a way to generically use any language, those speed bumps no longer apply.