Platform-Browser.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. define("amber_core/Platform-Browser", ["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict";
  2. var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. $core.addPackage('Platform-Browser');
  4. $core.packages["Platform-Browser"].innerEval = function (expr) { return eval(expr); };
  5. $core.packages["Platform-Browser"].transport = {"type":"amd","amdNamespace":"amber_core"};
  6. $core.addClass('BrowserTerminal', $globals.Object, [], 'Platform-Browser');
  7. //>>excludeStart("ide", pragmas.excludeIdeData);
  8. $globals.BrowserTerminal.comment="I am `Terminal` service implementation for browser.";
  9. //>>excludeEnd("ide");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "alert:",
  13. protocol: 'actions',
  14. fn: function (aString){
  15. var self=this;
  16. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  17. return $core.withContext(function($ctx1) {
  18. //>>excludeEnd("ctx");
  19. var $1;
  20. $1=$recv(window)._alert_(aString);
  21. return $1;
  22. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  23. }, function($ctx1) {$ctx1.fill(self,"alert:",{aString:aString},$globals.BrowserTerminal)});
  24. //>>excludeEnd("ctx");
  25. },
  26. //>>excludeStart("ide", pragmas.excludeIdeData);
  27. args: ["aString"],
  28. source: "alert: aString\x0a\x09^ window alert: aString",
  29. referencedClasses: [],
  30. //>>excludeEnd("ide");
  31. messageSends: ["alert:"]
  32. }),
  33. $globals.BrowserTerminal);
  34. $core.addMethod(
  35. $core.method({
  36. selector: "confirm:",
  37. protocol: 'actions',
  38. fn: function (aString){
  39. var self=this;
  40. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  41. return $core.withContext(function($ctx1) {
  42. //>>excludeEnd("ctx");
  43. var $1;
  44. $1=$recv(window)._confirm_(aString);
  45. return $1;
  46. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  47. }, function($ctx1) {$ctx1.fill(self,"confirm:",{aString:aString},$globals.BrowserTerminal)});
  48. //>>excludeEnd("ctx");
  49. },
  50. //>>excludeStart("ide", pragmas.excludeIdeData);
  51. args: ["aString"],
  52. source: "confirm: aString\x0a\x09^ window confirm: aString",
  53. referencedClasses: [],
  54. //>>excludeEnd("ide");
  55. messageSends: ["confirm:"]
  56. }),
  57. $globals.BrowserTerminal);
  58. $core.addMethod(
  59. $core.method({
  60. selector: "prompt:",
  61. protocol: 'actions',
  62. fn: function (aString){
  63. var self=this;
  64. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  65. return $core.withContext(function($ctx1) {
  66. //>>excludeEnd("ctx");
  67. var $1;
  68. $1=$recv(window)._prompt_(aString);
  69. return $1;
  70. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  71. }, function($ctx1) {$ctx1.fill(self,"prompt:",{aString:aString},$globals.BrowserTerminal)});
  72. //>>excludeEnd("ctx");
  73. },
  74. //>>excludeStart("ide", pragmas.excludeIdeData);
  75. args: ["aString"],
  76. source: "prompt: aString\x0a\x09^ window prompt: aString",
  77. referencedClasses: [],
  78. //>>excludeEnd("ide");
  79. messageSends: ["prompt:"]
  80. }),
  81. $globals.BrowserTerminal);
  82. $core.addMethod(
  83. $core.method({
  84. selector: "prompt:default:",
  85. protocol: 'actions',
  86. fn: function (aString,defaultString){
  87. var self=this;
  88. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  89. return $core.withContext(function($ctx1) {
  90. //>>excludeEnd("ctx");
  91. var $1;
  92. $1=$recv(window)._prompt_default_(aString,defaultString);
  93. return $1;
  94. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  95. }, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},$globals.BrowserTerminal)});
  96. //>>excludeEnd("ctx");
  97. },
  98. //>>excludeStart("ide", pragmas.excludeIdeData);
  99. args: ["aString", "defaultString"],
  100. source: "prompt: aString default: defaultString\x0a\x09^ window prompt: aString default: defaultString",
  101. referencedClasses: [],
  102. //>>excludeEnd("ide");
  103. messageSends: ["prompt:default:"]
  104. }),
  105. $globals.BrowserTerminal);
  106. $core.addMethod(
  107. $core.method({
  108. selector: "initialize",
  109. protocol: 'testing',
  110. fn: function (){
  111. var self=this;
  112. function $Terminal(){return $globals.Terminal||(typeof Terminal=="undefined"?nil:Terminal)}
  113. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  114. return $core.withContext(function($ctx1) {
  115. //>>excludeEnd("ctx");
  116. var $1;
  117. $1=self._isFeasible();
  118. if($core.assert($1)){
  119. $recv($Terminal())._registerIfNone_(self._new());
  120. };
  121. return self;
  122. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  123. }, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.BrowserTerminal.klass)});
  124. //>>excludeEnd("ctx");
  125. },
  126. //>>excludeStart("ide", pragmas.excludeIdeData);
  127. args: [],
  128. source: "initialize\x0a\x09self isFeasible ifTrue: [ Terminal registerIfNone: self new ]",
  129. referencedClasses: ["Terminal"],
  130. //>>excludeEnd("ide");
  131. messageSends: ["ifTrue:", "isFeasible", "registerIfNone:", "new"]
  132. }),
  133. $globals.BrowserTerminal.klass);
  134. $core.addMethod(
  135. $core.method({
  136. selector: "isFeasible",
  137. protocol: 'testing',
  138. fn: function (){
  139. var self=this;
  140. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  141. return $core.withContext(function($ctx1) {
  142. //>>excludeEnd("ctx");
  143. return typeof window !== "undefined";
  144. return self;
  145. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  146. }, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.BrowserTerminal.klass)});
  147. //>>excludeEnd("ctx");
  148. },
  149. //>>excludeStart("ide", pragmas.excludeIdeData);
  150. args: [],
  151. source: "isFeasible\x0a<return typeof window !== \x22undefined\x22>",
  152. referencedClasses: [],
  153. //>>excludeEnd("ide");
  154. messageSends: []
  155. }),
  156. $globals.BrowserTerminal.klass);
  157. $core.addMethod(
  158. $core.method({
  159. selector: "postMessageTo:",
  160. protocol: '*Platform-Browser',
  161. fn: function (aFrame){
  162. var self=this;
  163. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  164. return $core.withContext(function($ctx1) {
  165. //>>excludeEnd("ctx");
  166. var $1;
  167. $1=self._postMessageTo_origin_(aFrame,"*");
  168. return $1;
  169. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  170. }, function($ctx1) {$ctx1.fill(self,"postMessageTo:",{aFrame:aFrame},$globals.Object)});
  171. //>>excludeEnd("ctx");
  172. },
  173. //>>excludeStart("ide", pragmas.excludeIdeData);
  174. args: ["aFrame"],
  175. source: "postMessageTo: aFrame\x0a^ self postMessageTo: aFrame origin: '*'",
  176. referencedClasses: [],
  177. //>>excludeEnd("ide");
  178. messageSends: ["postMessageTo:origin:"]
  179. }),
  180. $globals.Object);
  181. $core.addMethod(
  182. $core.method({
  183. selector: "postMessageTo:origin:",
  184. protocol: '*Platform-Browser',
  185. fn: function (aFrame,aString){
  186. var self=this;
  187. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  188. return $core.withContext(function($ctx1) {
  189. //>>excludeEnd("ctx");
  190. return aFrame.postMessage(self, aString);
  191. return self;
  192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  193. }, function($ctx1) {$ctx1.fill(self,"postMessageTo:origin:",{aFrame:aFrame,aString:aString},$globals.Object)});
  194. //>>excludeEnd("ctx");
  195. },
  196. //>>excludeStart("ide", pragmas.excludeIdeData);
  197. args: ["aFrame", "aString"],
  198. source: "postMessageTo: aFrame origin: aString\x0a<return aFrame.postMessage(self, aString)>",
  199. referencedClasses: [],
  200. //>>excludeEnd("ide");
  201. messageSends: []
  202. }),
  203. $globals.Object);
  204. });