Bug 1074693 - Loop desktop room preview to use fullscreen local videostream. r=Standard8
authorNicolas Perriault <nperriault@gmail.com>
Wed, 12 Nov 2014 15:20:55 +0000
changeset 215278 248de75efd24329f2d9af8e04e93ddffa70f9672
parent 215277 35a67873666d42d47ce532306debc686638fa894
child 215279 7db83e0a413721c08ae2917f94d78c1864b6146a
push id51731
push userryanvm@gmail.com
push dateWed, 12 Nov 2014 20:52:34 +0000
treeherdermozilla-inbound@90731dbaab2d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersStandard8
bugs1074693
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1074693 - Loop desktop room preview to use fullscreen local videostream. r=Standard8
browser/components/loop/content/js/roomViews.js
browser/components/loop/content/js/roomViews.jsx
browser/components/loop/content/shared/css/conversation.css
--- a/browser/components/loop/content/js/roomViews.js
+++ b/browser/components/loop/content/js/roomViews.js
@@ -222,17 +222,18 @@ loop.roomViews = (function(mozL10n) {
     render: function() {
       if (this.state.roomName) {
         this.setTitle(this.state.roomName);
       }
 
       var localStreamClasses = React.addons.classSet({
         local: true,
         "local-stream": true,
-        "local-stream-audio": !this.state.videoMuted
+        "local-stream-audio": !this.state.videoMuted,
+        "room-preview": this.state.roomState !== ROOM_STATES.HAS_PARTICIPANTS
       });
 
       switch(this.state.roomState) {
         case ROOM_STATES.FAILED: {
           return loop.conversation.GenericFailureView({
             cancelCall: this.closeWindow}
           );
         }
--- a/browser/components/loop/content/js/roomViews.jsx
+++ b/browser/components/loop/content/js/roomViews.jsx
@@ -222,17 +222,18 @@ loop.roomViews = (function(mozL10n) {
     render: function() {
       if (this.state.roomName) {
         this.setTitle(this.state.roomName);
       }
 
       var localStreamClasses = React.addons.classSet({
         local: true,
         "local-stream": true,
-        "local-stream-audio": !this.state.videoMuted
+        "local-stream-audio": !this.state.videoMuted,
+        "room-preview": this.state.roomState !== ROOM_STATES.HAS_PARTICIPANTS
       });
 
       switch(this.state.roomState) {
         case ROOM_STATES.FAILED: {
           return <loop.conversation.GenericFailureView
             cancelCall={this.closeWindow}
           />;
         }
--- a/browser/components/loop/content/shared/css/conversation.css
+++ b/browser/components/loop/content/shared/css/conversation.css
@@ -470,16 +470,27 @@
   /* next two lines are workaround for lack of object-fit; see bug 1020445 */
   max-width: 140px;
   width: 30%;
   height: 28%;
   max-height: 105px;
   box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
 }
 
+.fx-embedded .local-stream.room-preview {
+  top: 0px;
+  left: 0px;
+  right: 0px;
+  bottom: 0px;
+  height: 100%;
+  width: 100%;
+  max-width: none;
+  max-height: none;
+}
+
 .conversation .media.nested .remote {
   display: inline-block;
   position: absolute; /* workaround for lack of object-fit; see bug 1020445 */
   width: 100%;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;