jruderman
Gecko, on the other hand, will gain Rust in modules that can be changed without replacing the entire browser. I'm happy that one of the first will be the code that supports the URLUtils DOM API. When the C++ code was changed from being just "URL parsing" to supporting segment changes, it came to have way more than its fair share of memory safety bugs. It needs a rewrite and it might as well be in Rust.
Last I heard, Servo does not plan to support plugins such as Flash. I'm not sure if the existence of Shumway changes this.
~ The overall discipline hasn't been too difficult to been follow.
~ Most of the issues we hit are issues in the implementation. (e.g. the precise way the borrow-checker checks inveriants, reasons about lifetimes and whatnot.) These kinds of issues are fixable, and we continue to improve them all the time.
~ I don't speak for the entire Servo team, but I feel like the discipline, the overall type-system strategy that Rust enforces, has been pretty friendly.
~ We still have a lot of unsafe code, but a lot of it is unavoidable, for calling C libraries. And also we're doing things like: we have Rust objects which are managed by the SpiderMonkey [JavaScript] garbage collector. Which is really cool that we can do that, but the interface has to be written in the unsafe dialect [of Rust].
~ How do you tie the ownership of [the element array] to the vector? How does the compiler know that when you take a reference into the element array, [it should treat the vector itself as borrowed]?
~ What happens if I write my own library class [instead of using one that's part of the standard library like vec]?
From a regulatory perspective, I'm afraid the best we can do is:
* Ban tying game mechanics to time outside the game, whether it's "wait 8 hours unless you pay" or "this reward is only available for 4 hours" or an insidious combination of the two.
* Increase transparency, e.g. by asking app stores to show graphs of (time played) vs (money spent).
Is it libelous against browser makers, though? They spoof the browser's info bar and I believe they style the landing page to look like an internal browser page.
It also gives add-on authors and web application developers a chance to do the same.
If some (advanced/heavy) users are also able to use about:memory to diagnose and work around problems they encounter, that's a nice side effect. As long as some of those users remember to file bug reports, that is :)
Fennec's improved launch speed is partly due to the order in which components are loaded: the primary UI can appear before the layout engine is ready.
Compiling without XUL would shave some size off the binary, but probably not a whole lot. Most of the code involved in rendering XUL is the same code that renders HTML.