mozilla/addon-sdk — pull request #1734 by Gozala (2014-11-21 21:04:52+00:00)
Title: Bug 724632 - Detraitify symbiont.

This change implicitly depends on changes from following pull requests:

- #1733
- #1724

And if merged together with those changes it passes all symbiont tests

```sh
(addon-sdk)➜ ~CFX_ROOT (detraitify-symbiont-no-deps) git merge detraitify-content-loader detraitify-bond
Trying simple merge with detraitify-content-loader
Trying simple merge with detraitify-bond
Merge made by the 'octopus' strategy.
lib/sdk/content/loader.js | 79 +++++++++++++++++++++++++++++++++------------------
lib/sdk/util/bond.js | 36 +++++++++++++++++++++++
test/test-bond.js | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 256 insertions(+), 28 deletions(-)
create mode 100644 lib/sdk/util/bond.js
create mode 100644 test/test-bond.js
(addon-sdk)➜ ~CFX_ROOT (detraitify-symbiont-no-deps) cfx test -b /Applications/FirefoxNightly.app -f symbiont -v
Warning: missing module: resource://gre/modules/Preferences.jsm
Warning: missing module: ../../framescript/FrameScriptManager.jsm
Warning: missing module: ../framescript/FrameScriptManager.jsm
Warning: missing module: resource://gre/modules/AddonManager.jsm
Using binary at '/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin'.
Using profile at '/var/folders/0z/nztt5n4d4kg7b43dg9nv_3fc0000gp/T/tmp5gUXyp.mozrunner'.
Running tests on Firefox 36.0a1/Gecko 36.0a1 ({ec8030f7-c20a-464f-9b0e-13a3a9e97384}) under darwin/x86_64.
console.info: addon-sdk: executing 'addon-sdk/tests/test-content-symbiont.test:communication with worker global scope'
console.info: addon-sdk: pass: there is a window
console.info: addon-sdk: pass: Program gets message via onMessage.
console.info: addon-sdk: pass: Program gets message via onMessage2.
console.info: addon-sdk: executing 'addon-sdk/tests/test-content-symbiont.test:constructing symbiont && validating API'
console.info: addon-sdk: pass: There is one contentScriptFile, as specified in options.
console.info: addon-sdk: pass: There are two contentScripts, as specified in options.
console.info: addon-sdk: pass: There are two contentScripts, as specified in options.
console.info: addon-sdk: pass: There are two contentScripts, as specified in options.
console.info: addon-sdk: pass: contentScriptWhen is as specified in options.
console.info: addon-sdk: executing 'addon-sdk/tests/test-content-symbiont.test:content/content deprecation'
console.info: addon-sdk: pass: Should see three warnings
console.info: addon-sdk: pass: Loader from content/content is the exact same object as the one from content/loader
console.info: addon-sdk: pass: Symbiont from content/content is the exact same object as the one from deprecated/symbiont
console.info: addon-sdk: pass: Worker from content/content is the exact same object as the one from content/worker
console.info: addon-sdk: executing 'addon-sdk/tests/test-content-symbiont.test:document element present on 'start''
console.info: addon-sdk: pass: document element present on 'start'
console.info: addon-sdk: executing 'addon-sdk/tests/test-content-symbiont.test:pageWorker'
console.info: addon-sdk: pass: undefined
JavaScript error: resource://gre/modules/RemoteAddonsParent.jsm, line 387: TypeError: window is null

14 of 14 tests passed.
Total time: 6.250998 seconds
Program terminated successfully.
(addon-sdk)➜ ~CFX_ROOT (detraitify-symbiont-no-deps)
```