Hacker News new | ask | show | jobs
by bfgeek 1155 days ago
The issue with this approach is that it would encode all the bugs and quirks into the specification which isn't a good idea.

(I'm an engineer on Blink's layout engine).

We've recently finished re-architecting Blink's layout engine, part of the reason why we did this investment was we were concerned that we couldn't fix WebKit era bugs (e.g. too many sites would depend on them due to our shared heritage). This makes other engines jobs (e.g. Gecko) super difficult as they'd need to encode even more quirks than they have time for.

I think we've broadly mitigated a large part of that risk. There are still large parts of CSS which are underspecified, e.g. tables/block/float layout. But its slowly getting better.

1 comments

And this is kind of a huge deal. 3 different implementations rather than 2 is kind of like the old saying "never go to sea with two chronometers, take one or three".

I'm not saying Blink exactly matched WebKit anymore, before your re-architecture. But it shared a lot.

If you have a difference in behavior between 2 implementations, then it's easy to see think of it as saying one or the other is right. And which one is right will be partly influenced by the amount of exposure the feature has had, multiplied by market share. Which is not a great criterion to use if you want a spec that hangs together, especially if a reimagining like Servo is going to come along and rub against the grain of every arbitrary decision ever made.