- From: Jorge <jorge@jorgechamorro.com>
- Date: Sat, 5 Feb 2011 00:54:27 +0100
On 04/02/2011, at 19:54, Aryeh Gregor wrote: > On Fri, Feb 4, 2011 at 1:19 PM, Jorge <jorge at jorgechamorro.com> wrote: > >> unless the spec says *not* to throw but to skip over instead, so that in a few years the cleanup can be ~safely skipped. > > Nope. The spec isn't going to change browser behavior here if there > are sites that depend on the current behavior -- and reportedly there > are. There's just no incentive for browsers to change; the proposed > behavior isn't sufficiently superior to warrant even slight > compatibility pain. We can change web APIs in ways that might cause > some compatibility pain if we have good reason, but for really minor > things like this it's just not worth it. Browsers can only afford to > break a certain number of websites per release before users start to > get annoyed, and we shouldn't be wasting it on things like this. > > (IMO as a non-implementer, anyway. My opinion doesn't actually carry > any weight here, though. I'm just guessing what implementers will > say.) How is this : try { var result= atob(input); // will throw if input has whitespace } catch (e) { try { var result= atob( input.replace(/\s/g, '') ); // will throw if input is not proper base64 } catch (e) { throw e; } } any better than : var result= atob(input); // will throw if input is not proper base64 ? [ It's not any better: it's awkward, slower, and requires more memory ] And what's up with Postel's Law :-) ? -- Jorge.
Received on Friday, 4 February 2011 15:54:27 UTC