Bug 1044736 - Part 1. Add BrowserElement.webidl and stub implementation. r=bz
Bug 1044736 - Part 2. Add nsIBrowserElementAPI.idl and implement nsBrowserElement. r=bz
Bug 1044736 - Part 3. Make BrowserElementParent implement nsIBrowserElementAPI and use it. r=bz,fabrice
Bug 1044736 - Part 4.1. Delete old BrowserElementParent.js. r=bz,fabrice
Bug 1044736 - Part 4.2. Rename BrowserElementParent.jsm to BrowserElementParent.js. r=bz,fabrice

--HG--
rename : dom/browser-element/BrowserElementParent.jsm => dom/browser-element/BrowserElementParent.js
Bug 1044736 - Part 4.3. Export BrowserElementParent component from BrowserElementParent.js. r=bz,fabrice
Bug 1044736 - Part 5. Extract tests functions to file_test_widget.js. r=fabrice
Bug 1044736 - Part 6. Widget should only require embed-widgets permission. r=fabrice

As discussed on dev-webapi[1] the app that wants to use widgets only
need the "embed-widgets" permission to use <iframe mozbrowser mozwidget>

If the app also wants to implement a browser, it could request the
"browser" separately. A <iframe mozbrowser mozwidget> will have
restricted mozbrowser API defined on the prototype if the embedder has
the "brower" permission; they will always throw when used.

[1]: https://groups.google.com/d/msg/mozilla.dev.webapi/uQweGWtVKRA/Bj1jZq3LN-0J

--HG--
rename : dom/apps/tests/test_widget.html => dom/apps/tests/test_widget_browser.html
Bug 1098145 - Fix BrowserElement::Download crash. r=smaug