WebKitBlobBuilderが削除
Blob
コンストラクタがあるから要らないよということで、deprecatedとされたBlobBuilder
。MozillaもFirefox 14からMozBlobBuilder
を使うとコンソールにwarningが出ることは、前に書いた。
さて、WebKitBlobBuilder
はどうか。これまでの接頭辞の議論を考えるとちょっと難しいよね……とおもったら削除された。
このバグが投げられた時点でWebKitはまだBlob
コンストラクタをサポートしていなかったので、まずコンストラクタが実装され、それで削除となった。ただ、WebKitBlobBuilder
は既にChromeに載っているので、そのまま削除だとちょっとまずい。ということでENABLE_LEGACY_WEBKIT_BLOB_BUILDER
なるフラグが用意された
このフラグ、Safari (Mac port)では有効にされないらしい。というのもSafariのリリースバージョンではWebKitBlobBuilder
が実装されていなかったから(5.2のPreviewにはあるのかもしれないけれど)。他のportでは今のところ有効なので、Safariとそれ以外でWebKitBlobBuilder
が使えたり使えなかったりということになる。Chromeが削除できるかは微妙な気はする。
IE10でもコンストラクタが実装される?
あまり気にしている人はいない気がして残念だけれど、MSBlobBuilder
というのもある。来月にWindows 8のRelease PreviewなんてタイミングでBlob
コンストラクタがサポートされて、MSBlobBuilder
が削除されるのだろうか。難しいんじゃないかな。
と思ったら、MozillaのバグでJonas Sickingがこんな発言を。仕様でArrayBuffer
のかわりにArrayBufferView
をとるようになったので、その修正を促すバグなんだけど、IE10の話が。
Based on conversations with microsoft people, apparently IE10 is going ship with the Blob constructor taking ArrayBuffers (it's too late in their cycle to change).
Microsoftのひとによると、ArrayBufferView
への修正は間に合わないらしいけれど、Blob
コンストラクタはサポートされるらしい。MSBlobBuilder
は削除されるんだろうか。いくつかのデモで使われているし、どうなのかね。
Blob()でOK
で、Operaなんだけど、BlobBuilder
はまだサポートしてないので問題ない。コンストラクタの対応、slice()
の変更も合わせてそのうち出してくるんじゃないかと予想。
となると、古いChromeやFirefoxをサポートしなくていいなら、今後はコンストラクタを使うようにすればよさそう。ただタイミングが悪いとwebkitSlice()
の検出をしないといけなくなるという……