EDIT: To clarify, mean the rendering engine (so we keep the ecosystem diversity), not the reskinned Safari. Reskinning Safari with Firefox branding does nothing for WebKit web monoculture.
EDIT: To clarify, mean the rendering engine (so we keep the ecosystem diversity), not the reskinned Safari. Reskinning Safari with Firefox branding does nothing for WebKit web monoculture.
I'm an Apple user in as far as I have an iPad Pro and a Macbook Pro, I certainly don't hold Apple in as high regard as I used to do but those two products are superb even with the limitations of the iPad/iOS.
The problem with this is that allowing other rendering engines would open up a whole can of worms that Apple would rather not have to deal with, and there's no easy way, even if Apple wanted it, to allow JIT execution for third-party browser engines without utterly destroying the entire codesigning system.
This is true on iOS as well, just it is on almost every other operating system: you don't get to expand your privileges by being able to generate code because said code still runs in your process. There's no "broken security model" here; in a sense iOS has a much stronger security model than Android does because all code that gets executed can be statically verified beforehand.
The code generator can be statically analyzed in the same way that an interpreter can. The security model is broken in the sense that it applies a wholly unnecessary restriction on apps, which means not only can you not have your own fast JavaScript engine on iOS but you can't have fast emulators or run other languages fast on the device either.
Unless the state of static analysis has somehow changed significantly without me realizing it, no, this does not help at all. While I can (to some extent) verify the code in the code generator itself, I cannot verify that the code generator will not generate arbitrary code unless it lists out all the code it can possibly generate, in which case it's, well, an interpreter. The task of verifying program behavior is now shifted from static analysis on a compiled binary to dynamic instrumentation of a running program, which is much harder to do.
That's not what we are trying to prove, though; we're trying to show that the generated code does not perform certain undesirable operations. this is much harder to do with dynamically generated code than static code.
Damn you, Apple.
They haven't done this in the last 10 years of iOS/iPhoneOS, can't imagine why they'd change their mind now. It is a shame.
never gonna happen
It has a more convenient UI, plus I get shared history and bookmarks with my desktop. So basically I use it for Firefox Sync.
That would be like putting a Firefox skin over IE6 engine a few years back - it would not help the ecosystem in the way this article asks for.
(but yes, I know it's still using webkit behind the scenes)