Windows 10 build 14316のリリースで先日のBuildやEdge Summitで出てきたいろいろなアップデートが入ってきました。
プラットフォームアップデートもいろいろありますが、拡張がパワーアップしたのと、Web Notifications、アクセシビリティーツリービューあたりが気になるところでしょうか。
新しい機能
- ディレクトリーのドラッグアンドドロップ
- お気に入りのインポートの強化
- お気に入りのツリービュー
- ダウンロードリマインダー
- ファイルの保存先設定
Webプラットフォーム機能
- F12開発者ツール
- アクセシビリティーツリービュー
- DOM API プロファイリング
- Extension デバッグ
- JavaScriptの機能
- Default parameters
- Async/await
- Object.values と Object.entries
- about:flags で有効にすることで使えるJavaScirptの機能
- 新しいWebプラットフォームの機能
- Opus audio format
- Time element
- Data element
- Output element
- Input type = color
- Canvas Path2D objects
- Web Speech API (Synthesis)
- Fetch APIの試験的サポート(about:flagsで有効化の必要)
- Web Notifications APIの試験的サポート(about:flagsで有効化の必要)
- Color ClearType fonts
Web Notifications
Webページから通知を表示できる機能で、Edgeの場合にはWindowsの通知機能と連動することになります。
ページが通知の許可を求める(Notification.requestPermission)と、ページの下の方に確認が出てきます。

許可をした状態でページから通知を発行する(new Notification(…))とWindowsの通知として表示されます。

もちろんちゃんとAction Centerにも入ります。

F12: アクセシビリティーツリービュー
F12にアクセシビリティーツリービューというものが増えました。
これはページについているroleやスクリーンリーダーに渡す読み上げテキストをツリー表示できるものです。
ツリービューを開くにはF12のDOM Explorerのカラーピッカーのボタンの横に新しいボタンがあるのでそれを押します。

ツリービューを表示すると、どういう名前とロールなのかを一覧でき、選択することでその要素にジャンプできます。

Micorosoft Edge(プレビュー)の拡張を作ってみるでは未公開の情報を元にノリと勢いでChrome拡張をEdge拡張にしてみましたが、さっくりとできたわけではなくAPIに関しては当然少し調査してから試しました。
その調査方法兼デバッグ方法についてせっかくなのでメモっておきます。もちろん将来のビルドでは手順が変わる可能性がかなり高いです。
まずはChromeが持っているpermissionをすべて列挙したマニフェストを持つ空の拡張を作ります。JavaScript不要です。
{ "manifest_version": 2, "name": "Dummy Extension", "version": "1.0", "background": { "page": "background.html" }, "permissions": [ "activeTab", "alarms", "webRequest", "webRequestBlocking" ] }
|
バックグラウンドページはこんな感じでtitle要素だけ。
<!DOCTYPE html>
<title>Dummy Extension - BackgroundPage</title>
|
そしてACLを付けて、
icacls . /grant "*S-1-15-2-3624051433-2125758914-1423191267-1740899205-1073925389-3782572162-737981194":"(OI)(CI)(WDAC,WO,GE)"
|
Edgeに読み込ませます。
デバッグコンソールを開く
これで拡張は読み込まれましたがEdgeのデバッグする口がありません。Chromeなどでは拡張画面からいろいろ開けるのですがそういうインタフェースは見当たりません。
そこでF12開発者ツールをスタンドアローンで立ち上げます。実は結構前からF12開発者ツールは単体で起動できるようになっています。
単体で起動するにはC:\Windows\SysWOW64\F12にあるF12Chooser.exeを実行します。するとF12開発者ツールをどのインスタンスのEdgeにアタッチするか、という画面が表示されます。

この画面でさっき作った”Dummy Extension - BackgroundPage”を選択します。すると指定したページ、つまり拡張のバックグラウンドページにアタッチされたF12開発者ツールが起動します。

そうしたらあとはコンソールでいろいろ試してみます。

chromeオブジェクトにはほとんど機能がないこと、pageActionの実装が中途半端なこと、webRequest/webNavigationがある(使えたとは言っていない)といったことが分かります。コンテキストメニューを足してみるのもここからできます。
ちなみにこのアタッチする手段を使うことで拡張をデバッグできます。…が、読み込み時のエラーのキャッチはできないのでなかなか厳しいです。そのあたりは将来正式に解放されるときに手段が整うのではないかと思います。