Bug 1005041: In progress feedback when getting a call url, r=dmose
authorNicolas Perriault <nperriault@gmail.com>
Thu, 29 May 2014 21:20:11 +0100
changeset 187765 6e244a575f21deb59b6c0bb64374429d63885dd5
parent 187764 b0a81d18e4f9f815b330998a30f191ef014f5f92
child 187766 a25a48f0eb2ddabcc79aa6215b9805cd8259f81b
push idunknown
push userunknown
push dateunknown
reviewersdmose
bugs1005041
milestone32.0a1
Bug 1005041: In progress feedback when getting a call url, r=dmose
browser/components/loop/content/shared/css/panel.css
browser/components/loop/content/shared/img/loading-icon.gif
browser/components/loop/content/shared/js/views.js
browser/components/loop/test/standalone/webapp_test.js
--- a/browser/components/loop/content/shared/css/panel.css
+++ b/browser/components/loop/content/shared/css/panel.css
@@ -45,19 +45,35 @@
   border-top: 1px solid #fafafa;
 }
 
 .share .action p {
   margin: 0 0 1em 0;
 }
 
 .share .action input {
+  border: 1px solid #ccc; /* Overriding background style for a text input (see
+                             below) resets its borders to a weird beveled style;
+                             defining a default 1px border solves the issue. */
   font-size: .9em;
   width: 60%;
-  padding: .4em;
+  padding: .5em;
+}
+
+.share .action input.pending {
+  background-image: url(../img/loading-icon.gif);
+  background-repeat: no-repeat;
+  background-position: right;
+}
+
+/* For some reason, buttons have a bigger default font size in FF; we're
+   reducing a bit for graphical consistency here. */
+.share .action button {
+  font-size: .9em;
+  padding-top: 6px;
 }
 
 /* Specific cases */
 
 .share.generate-url .action {
   text-align: center;
 }
 
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1c72ebb554be018511ae972c3f2361dff02dce02
GIT binary patch
literal 2545
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
B8LI#Q
--- a/browser/components/loop/content/shared/js/views.js
+++ b/browser/components/loop/content/shared/js/views.js
@@ -330,21 +330,21 @@ loop.shared.views = (function(_, OT, l10
   });
 
   /**
    * Unsupported Browsers view.
    */
   var UnsupportedView = BaseView.extend({
     template: _.template([
       '<div>',
-        '<h2 data-l10n-id="incompatible_browser"></h2>',
-        '<p data-l10n-id="powered_by_webrtc"></p>',
-        '<p data-l10n-id="use_latest_firefox" ',
-          'data-l10n-args=\'{"ff_url": "https://www.mozilla.org/firefox/"}\'>',
-        '</p>',
+      '  <h2 data-l10n-id="incompatible_browser"></h2>',
+      '  <p data-l10n-id="powered_by_webrtc"></p>',
+      '  <p data-l10n-id="use_latest_firefox" ',
+      '    data-l10n-args=\'{"ff_url": "https://www.mozilla.org/firefox/"}\'>',
+      '  </p>',
       '</div>'
     ].join(""))
   });
 
   return {
     L10nView: L10nView,
     BaseView: BaseView,
     ConversationView: ConversationView,
--- a/browser/components/loop/test/standalone/webapp_test.js
+++ b/browser/components/loop/test/standalone/webapp_test.js
@@ -27,27 +27,26 @@ describe("loop.webapp", function() {
 
   afterEach(function() {
     sandbox.restore();
   });
 
   describe("#init", function() {
     it("should navigate to the unsupported route if the sdk detects the" +
        "browser is unsupported", function() {
-         var WebappRouter = loop.webapp.WebappRouter;
-         sandbox.stub(window.OT, "checkSystemRequirements").returns(false);
-         sandbox.stub(WebappRouter.prototype, "navigate");
-
-         loop.webapp.init();
+      var WebappRouter = loop.webapp.WebappRouter;
+      sandbox.stub(window.OT, "checkSystemRequirements").returns(false);
+      sandbox.stub(WebappRouter.prototype, "navigate");
 
-         sinon.assert.calledOnce(WebappRouter.prototype.navigate);
-         sinon.assert.calledWithExactly(WebappRouter.prototype.navigate,
-                                        "unsupported", {trigger: true});
-       });
+      loop.webapp.init();
 
+      sinon.assert.calledOnce(WebappRouter.prototype.navigate);
+      sinon.assert.calledWithExactly(WebappRouter.prototype.navigate,
+                                     "unsupported", {trigger: true});
+    });
   });
 
   describe("WebappRouter", function() {
     var router, conversation;
 
     beforeEach(function() {
       conversation = new sharedModels.ConversationModel({}, {sdk: {}});
       router = new loop.webapp.WebappRouter({