aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/window.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/window.js')
-rw-r--r--src/service/window.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/service/window.js b/src/service/window.js
new file mode 100644
index 00000000..2392e7f9
--- /dev/null
+++ b/src/service/window.js
@@ -0,0 +1,25 @@
+/**
+ * @workInProgress
+ * @ngdoc service
+ * @name angular.service.$window
+ *
+ * @description
+ * Is reference to the browser's `window` object. While `window`
+ * is globally available in JavaScript, it causes testability problems, because
+ * it is a global variable. In angular we always refer to it through the
+ * `$window` service, so it may be overriden, removed or mocked for testing.
+ *
+ * All expressions are evaluated with respect to current scope so they don't
+ * suffer from window globality.
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <input ng:init="$window = $service('$window'); greeting='Hello World!'" type="text" name="greeting" />
+ <button ng:click="$window.alert(greeting)">ALERT</button>
+ </doc:source>
+ <doc:scenario>
+ </doc:scenario>
+ </doc:example>
+ */
+angularServiceInject("$window", bind(window, identity, window), [], true);