This commit is contained in:
Wes Kocher 2015-08-14 16:36:12 -07:00
Родитель ac32aef2fb 6855287ac3
Коммит 949b4e4075
29 изменённых файлов: 248 добавлений и 136 удалений

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="e862ab9177af664f00b4522e2350f4cb13866d73">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="e862ab9177af664f00b4522e2350f4cb13866d73">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -19,7 +19,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="2d58f4b9206b50b8fda0d5036da6f0c62608db7c"/>

Просмотреть файл

@ -17,7 +17,7 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="bfdb6348725a33bdcdc4e17999cb500be6beedb5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a6f9a1245d98c51172c15afecb9ade1a6ca511e2"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="e862ab9177af664f00b4522e2350f4cb13866d73">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="05a36844c1046a1eb07d5b1325f85ed741f961ea">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -19,7 +19,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="2d58f4b9206b50b8fda0d5036da6f0c62608db7c"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="e862ab9177af664f00b4522e2350f4cb13866d73">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -1,9 +1,9 @@
{
"git": {
"git_revision": "dd50945885765697f9fad93e05f6d8c78e1d742c",
"git_revision": "47c91ffe7f500ca1aaa60de0aabf4d2429120733",
"remote": "https://git.mozilla.org/releases/gaia.git",
"branch": ""
},
"revision": "68f78bcc8c51fea5242ba041b3b107e3acbfa4ac",
"revision": "ee1e170ff1a948463eb3a2e6a73c33c345b38b18",
"repo_path": "integration/gaia-central"
}

Просмотреть файл

@ -17,7 +17,7 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="bfdb6348725a33bdcdc4e17999cb500be6beedb5"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a6f9a1245d98c51172c15afecb9ade1a6ca511e2"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="05a36844c1046a1eb07d5b1325f85ed741f961ea">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="dd50945885765697f9fad93e05f6d8c78e1d742c"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="47c91ffe7f500ca1aaa60de0aabf4d2429120733"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="62cfa11ae7d77f6330de019a5aa79607e35be7d1"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>

Просмотреть файл

@ -114,7 +114,7 @@
<vbox id="identity-popup-securityView-body">
<!-- (EV) Certificate Information -->
<description id="identity-popup-content-verified-by"
when-connection="secure-ev">&identity.connectionVerified;</description>
when-connection="secure-ev">&identity.connectionVerified1;</description>
<description id="identity-popup-content-owner"
when-connection="secure-ev"
class="header"/>

Просмотреть файл

@ -165,30 +165,6 @@ html {
width: 100%;
}
.contact-list-empty {
background-image: url("../shared/img/empty_contacts.svg");
background-repeat: no-repeat;
background-position: top center;
padding-top: 28%;
padding-bottom: 5%;
text-align: center;
color: #4a4a4a;
font-weight: lighter;
}
.panel-text-medium,
.panel-text-large {
margin: 3px;
}
.panel-text-medium {
font-size: 1.6rem;
}
.panel-text-large {
font-size: 2.2rem;
}
.contact > .details > .username {
font-size: 1.3rem;
line-height: 20px;

Просмотреть файл

@ -274,18 +274,61 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
border: 0.1rem solid #5cccee;
}
/* Rooms and contacts shared CSS */
.contact-list-empty,
.room-list-empty {
background-image: url("../shared/img/empty_contacts.svg");
background-repeat: no-repeat;
background-position: top center;
padding-top: 19%;
padding-bottom: 3%;
text-align: center;
color: #4a4a4a;
font-weight: lighter;
}
.contact-list-empty {
padding-top: 27%;
}
.room-list-empty {
margin: 5% 15px;
background-image: url("../shared/img/empty_conversations.svg");
}
.panel-text-medium,
.panel-text-large {
margin: 3px 0;
}
.panel-text-medium {
font-size: 1.6rem;
}
.panel-text-large {
font-size: 2.2rem;
}
/* Rooms */
.rooms {
min-height: 100px;
padding: 0 1rem;
}
.rooms > h1 {
font-weight: bold;
color: #999;
color: #666;
padding: .5rem 0;
height: 3rem;
line-height: 3rem;
font-size: 1.1rem;
margin: 0 15px;
}
.new-room-view {
display: flex;
flex-direction: column;
}
.new-room-view > .context-checkbox-checked {
@ -293,11 +336,10 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
}
.new-room-view > .context {
margin: .5rem 0 .5rem;
flex: 1;
border-radius: 3px 3px 0 0;
padding: .5rem 1rem ;
margin-left: -1rem;
margin-right: -1rem;
margin: 1rem 0 .5rem;
padding: 1rem 15px;
}
.new-room-view > .context > .context-enabled {
@ -330,11 +372,11 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
}
.new-room-view > .btn {
flex: 1;
height: 3rem;
display: block;
font-size: 1.2rem;
margin: 0 auto 1rem;
width: 100%;
margin: 0 15px 1rem 15px;
padding: .5rem 1rem;
border-radius: 4px;
}
@ -349,10 +391,6 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
max-height: 335px; /* XXX better computation needed */
min-height: 7px;
overflow: auto;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
margin-left: -1rem;
margin-right: -1rem;
}
.room-list:empty {
@ -360,15 +398,16 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
}
.room-list > .room-entry {
padding: .2rem 1rem;
padding: .2rem 15px;
/* Always show the default pointer, even over the text part of the entry. */
cursor: default;
}
.room-list > .room-entry > h2 {
display: inline-block;
font-size: 1rem;
color: #777;
font-size: 1.3rem;
line-height: 2.4rem;
color: #000;
/* See .room-entry-context-item for the margin/size reductions. */
width: calc(100% - 1rem - 16px);
}
@ -378,19 +417,6 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
color: #000;
}
.room-list > .room-entry > h2 > .room-notification {
display: none;
background: #00a0ec;
width: 8px;
height: 8px;
border-radius: 50%;
-moz-margin-end: .3rem;
}
.room-list > .room-entry.room-active > h2 > .room-notification {
display: inline-block;
}
.room-list > .room-entry:hover {
background: #dbf7ff;
}
@ -462,6 +488,23 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar {
vertical-align: middle;
}
.room-list > .room-entry > h2:before {
content: "";
display: inline-block;
background-image: url("../shared/img/icons-14x14.svg#hello");
background-repeat: no-repeat;
background-size: cover;
width: 13px;
height: 13px;
-moz-margin-end: 1rem;
margin-bottom: -3px;
}
.room-list > .room-entry.room-active > h2:before {
background-image: url("../shared/img/icons-14x14.svg#hello-active");
}
/* Keep ".room-list > .room-entry > h2" in sync with these. */
.room-entry-context-item {
display: inline-block;
@ -744,7 +787,7 @@ html[dir="rtl"] .generate-url-spinner {
background-repeat: no-repeat;
background-size: cover;
-moz-margin-end: .2rem;
margin-bottom: -2px;
margin-bottom: -3px;
}
.dropdown-menu-item.status-available:before,

Просмотреть файл

@ -580,7 +580,6 @@ loop.panel = (function(_, mozL10n) {
React.createElement("div", {className: roomClasses, onClick: this.handleClickEntry,
onMouseLeave: this.handleMouseLeave},
React.createElement("h2", null,
React.createElement("span", {className: "room-notification"}),
this.props.room.decryptedContext.roomName,
React.createElement("button", {className: copyButtonClasses,
onClick: this.handleCopyButtonClick,
@ -652,28 +651,50 @@ loop.panel = (function(_, mozL10n) {
this.setState(this.props.store.getStoreState());
},
_getListHeading: function() {
var numRooms = this.state.rooms.length;
if (numRooms === 0) {
return mozL10n.get("rooms_list_no_current_conversations");
}
return mozL10n.get("rooms_list_current_conversations", {num: numRooms});
},
_getUserDisplayName: function() {
return this.props.userProfile && this.props.userProfile.email ||
mozL10n.get("display_name_guest");
},
_renderNoRoomsView: function() {
return (
React.createElement("div", {className: "room-list"},
React.createElement("div", {className: "room-list-empty"},
React.createElement("p", {className: "panel-text-large"},
mozL10n.get("no_conversations_message_heading")
),
React.createElement("p", {className: "panel-text-medium"},
mozL10n.get("no_conversations_start_message")
)
),
this._renderNewRoomButton()
)
);
},
_renderNewRoomButton: function() {
return (
React.createElement(NewRoomView, {dispatcher: this.props.dispatcher,
mozLoop: this.props.mozLoop,
pendingOperation: this.state.pendingCreation ||
this.state.pendingInitialRetrieval,
userDisplayName: this._getUserDisplayName()})
);
},
render: function() {
if (this.state.error) {
// XXX Better end user reporting of errors.
console.error("RoomList error", this.state.error);
}
if (!this.state.rooms.length) {
return this._renderNoRoomsView();
}
return (
React.createElement("div", {className: "rooms"},
React.createElement("h1", null, this._getListHeading()),
React.createElement("h1", null, mozL10n.get("rooms_list_recent_conversations")),
React.createElement("div", {className: "room-list"},
this.state.rooms.map(function(room, i) {
return (
@ -685,11 +706,7 @@ loop.panel = (function(_, mozL10n) {
);
}, this)
),
React.createElement(NewRoomView, {dispatcher: this.props.dispatcher,
mozLoop: this.props.mozLoop,
pendingOperation: this.state.pendingCreation ||
this.state.pendingInitialRetrieval,
userDisplayName: this._getUserDisplayName()})
this._renderNewRoomButton()
)
);
}

Просмотреть файл

@ -580,7 +580,6 @@ loop.panel = (function(_, mozL10n) {
<div className={roomClasses} onClick={this.handleClickEntry}
onMouseLeave={this.handleMouseLeave}>
<h2>
<span className="room-notification" />
{this.props.room.decryptedContext.roomName}
<button className={copyButtonClasses}
onClick={this.handleCopyButtonClick}
@ -652,28 +651,50 @@ loop.panel = (function(_, mozL10n) {
this.setState(this.props.store.getStoreState());
},
_getListHeading: function() {
var numRooms = this.state.rooms.length;
if (numRooms === 0) {
return mozL10n.get("rooms_list_no_current_conversations");
}
return mozL10n.get("rooms_list_current_conversations", {num: numRooms});
},
_getUserDisplayName: function() {
return this.props.userProfile && this.props.userProfile.email ||
mozL10n.get("display_name_guest");
},
_renderNoRoomsView: function() {
return (
<div className="room-list">
<div className="room-list-empty">
<p className="panel-text-large">
{mozL10n.get("no_conversations_message_heading")}
</p>
<p className="panel-text-medium">
{mozL10n.get("no_conversations_start_message")}
</p>
</div>
{this._renderNewRoomButton()}
</div>
);
},
_renderNewRoomButton: function() {
return (
<NewRoomView dispatcher={this.props.dispatcher}
mozLoop={this.props.mozLoop}
pendingOperation={this.state.pendingCreation ||
this.state.pendingInitialRetrieval}
userDisplayName={this._getUserDisplayName()} />
);
},
render: function() {
if (this.state.error) {
// XXX Better end user reporting of errors.
console.error("RoomList error", this.state.error);
}
if (!this.state.rooms.length) {
return this._renderNoRoomsView();
}
return (
<div className="rooms">
<h1>{this._getListHeading()}</h1>
<h1>{mozL10n.get("rooms_list_recent_conversations")}</h1>
<div className="room-list">{
this.state.rooms.map(function(room, i) {
return (
@ -685,11 +706,7 @@ loop.panel = (function(_, mozL10n) {
);
}, this)
}</div>
<NewRoomView dispatcher={this.props.dispatcher}
mozLoop={this.props.mozLoop}
pendingOperation={this.state.pendingCreation ||
this.state.pendingInitialRetrieval}
userDisplayName={this._getUserDisplayName()} />
{this._renderNewRoomButton()}
</div>
);
}

Просмотреть файл

@ -1401,24 +1401,6 @@ html[dir="rtl"] .room-context-btn-close {
max-width: 400px;
}
.standalone .room-conversation .media {
background: #000;
}
.standalone .room-conversation .video_wrapper.remote_wrapper {
background-color: #4e4e4e;
width: calc(75% - 10px); /* Take the left margin into account. */
}
.standalone .room-conversation .conversation-toolbar {
background: #000;
border: none;
}
.standalone .room-conversation .conversation-toolbar .btn-hangup-entry {
display: block;
}
.standalone .room-conversation-wrapper .ended-conversation {
position: relative;
height: auto;

Просмотреть файл

@ -0,0 +1 @@
<svg width="119" height="70" viewBox="0 0 119 70" xmlns="http://www.w3.org/2000/svg"><g fill="#D8D8D8"><path d="M96.767 5c12.017 0 21.763 8.244 21.763 18.41 0 5.061-2.416 9.647-6.323 12.975.679 2.303 2.022 5.429 4.677 8.481-.454.773-7.931-1.954-13.201-3.994-2.175.613-4.497.949-6.916.949-12.02 0-21.766-8.243-21.766-18.41 0-10.166 9.746-18.41 21.766-18.41z" fill-opacity=".8"/><path d="M21.763 5c-12.017 0-21.763 8.244-21.763 18.41 0 5.061 2.416 9.647 6.323 12.975-.679 2.303-2.022 5.429-4.677 8.481.454.773 7.931-1.954 13.201-3.994 2.175.613 4.497.949 6.916.949 12.02 0 21.766-8.243 21.766-18.41 0-10.166-9.746-18.41-21.766-18.41z" fill-opacity=".8"/><path d="M56.742 4c-18.631 0-33.742 12.782-33.742 28.543 0 7.847 3.747 14.957 9.803 20.117-1.052 3.571-3.135 8.418-7.251 13.149.704 1.199 12.296-3.03 20.467-6.193 3.372.951 6.973 1.471 10.723 1.471 18.637 0 33.746-12.78 33.746-28.544 0-15.761-15.11-28.543-33.746-28.543z" stroke="#FBFBFB" stroke-width="4"/></g></svg>

После

Ширина:  |  Высота:  |  Размер: 969 B

Просмотреть файл

@ -74,6 +74,7 @@ browser.jar:
content/browser/loop/shared/img/telefonica@2x.png (content/shared/img/telefonica@2x.png)
content/browser/loop/shared/img/ellipsis-v.svg (content/shared/img/ellipsis-v.svg)
content/browser/loop/shared/img/empty_contacts.svg (content/shared/img/empty_contacts.svg)
content/browser/loop/shared/img/empty_conversations.svg (content/shared/img/empty_conversations.svg)
content/browser/loop/shared/img/avatars.svg (content/shared/img/avatars.svg)
# Shared scripts

Просмотреть файл

@ -799,6 +799,20 @@ describe("loop.panel", function() {
sinon.assert.calledOnce(fakeWindow.close);
});
it("should render the no rooms view when no rooms available", function() {
var view = createTestComponent();
var node = view.getDOMNode();
expect(node.querySelectorAll(".room-list-empty").length).to.eql(1);
});
it("should call mozL10n.get for room empty strings", function() {
var view = createTestComponent();
sinon.assert.calledWithExactly(document.mozL10n.get,
"no_conversations_message_heading");
});
});
describe("loop.panel.NewRoomView", function() {

Просмотреть файл

@ -13,7 +13,6 @@ FIREFOX_PREFERENCES = {
"devtools.debugger.remote-enabled": True,
"media.volume_scale": "0",
"loop.gettingStarted.seen": True,
"loop.seenToS": "seen",
# this dialog is fragile, and likely to introduce intermittent failures
"media.navigator.permission.disabled": True,

Просмотреть файл

@ -115,9 +115,6 @@ function run_test() {
// Revert fake login state
MozLoopServiceInternal.fxAOAuthTokenData = null;
// clear test pref
Services.prefs.clearUserPref("loop.seenToS");
LoopCallsInternal.mocks.webSocket = undefined;
});

Просмотреть файл

@ -71,6 +71,7 @@ body {
.showcase > section > .example {
margin-bottom: 6em;
background: #fbfbfb;
}
.showcase > section > h2 {
@ -94,10 +95,6 @@ body {
color: #555;
}
.showcase .checkbox-wrapper label {
font-weight: bold;
}
.showcase .checkbox.checked {
background-image: url("../content/shared/img/check.svg#check-blue");
}

Просмотреть файл

@ -441,6 +441,18 @@
});
// Local mocks
var mockMozLoopNoRooms = _.cloneDeep(navigator.mozLoop);
mockMozLoopNoRooms.rooms.getAll = function(version, callback) {
callback(null, []);
};
var roomStoreNoRooms = new loop.store.RoomStore(new loop.Dispatcher(), {
mozLoop: mockMozLoopNoRooms,
activeRoomStore: new loop.store.ActiveRoomStore(new loop.Dispatcher(), {
mozLoop: mockMozLoopNoRooms,
sdkDriver: mockSDK
})
});
var mockMozLoopLoggedIn = _.cloneDeep(navigator.mozLoop);
mockMozLoopLoggedIn.userProfile = {
@ -712,6 +724,21 @@
)
),
React.createElement(FramedExample, {cssClass: "fx-embedded-panel",
dashed: true,
height: 410,
summary: "Room list tab (no rooms)",
width: 332},
React.createElement("div", {className: "panel"},
React.createElement(PanelView, {client: mockClient,
dispatcher: dispatcher,
mozLoop: mockMozLoopNoRooms,
notifications: notifications,
roomStore: roomStoreNoRooms,
selectedTab: "rooms"})
)
),
React.createElement(FramedExample, {cssClass: "fx-embedded-panel",
dashed: true,
height: 410,

Просмотреть файл

@ -441,6 +441,18 @@
});
// Local mocks
var mockMozLoopNoRooms = _.cloneDeep(navigator.mozLoop);
mockMozLoopNoRooms.rooms.getAll = function(version, callback) {
callback(null, []);
};
var roomStoreNoRooms = new loop.store.RoomStore(new loop.Dispatcher(), {
mozLoop: mockMozLoopNoRooms,
activeRoomStore: new loop.store.ActiveRoomStore(new loop.Dispatcher(), {
mozLoop: mockMozLoopNoRooms,
sdkDriver: mockSDK
})
});
var mockMozLoopLoggedIn = _.cloneDeep(navigator.mozLoop);
mockMozLoopLoggedIn.userProfile = {
@ -712,6 +724,21 @@
</div>
</FramedExample>
<FramedExample cssClass="fx-embedded-panel"
dashed={true}
height={410}
summary="Room list tab (no rooms)"
width={332}>
<div className="panel">
<PanelView client={mockClient}
dispatcher={dispatcher}
mozLoop={mockMozLoopNoRooms}
notifications={notifications}
roomStore={roomStoreNoRooms}
selectedTab="rooms" />
</div>
</FramedExample>
<FramedExample cssClass="fx-embedded-panel"
dashed={true}
height={410}

Просмотреть файл

@ -700,7 +700,7 @@ you can use these alternative items. Otherwise, their values should be empty. -
<!ENTITY identity.connectionSecure "Secure Connection">
<!ENTITY identity.connectionNotSecure "Connection is Not Secure">
<!ENTITY identity.connectionFile "This page is stored on your computer.">
<!ENTITY identity.connectionVerified "&brandShortName; verified that you are securely connected to this site, run by:">
<!ENTITY identity.connectionVerified1 "You are securely connected to this site, run by:">
<!ENTITY identity.connectionInternal "This is a secure &brandShortName; page.">
<!-- Strings for connection state warnings. -->

Просмотреть файл

@ -137,6 +137,12 @@ no_contacts_message_heading=No contacts yet
## LOCALIZATION NOTE(no_contacts_import_or_add): Subheading inviting the user
## to add people to his contact list
no_contacts_import_or_add=Import or add someone
## LOCALIZATION NOTE(no_conversations_message_heading): Title shown when user
## has no conversations available.
no_conversations_message_heading=There are no conversations yet
## LOCALIZATION NOTE(no_converastions_start_message): Subheading inviting the
## user to start a new conversation.
no_conversations_start_message=start a new conversation!
## LOCALIZATION NOTE(import_failed_description simple): Displayed when an import of
## contacts fails. This is displayed in the error field.
@ -308,15 +314,11 @@ tour_label=Tour
rooms_default_room_name_template=Conversation {{conversationLabel}}
rooms_leave_button_label=Leave
rooms_list_copy_url_tooltip=Copy Link
## LOCALIZATION NOTE (rooms_list_current_conversations):
## Semicolon-separated list of plural forms. See:
## http://developer.mozilla.org/en/docs/Localization_and_Plurals
## We prefer to have no number in the string, but if you need it for your
## language please use {{num}}.
rooms_list_current_conversations=Current conversation;Current conversations
## LOCALIZATION NOTE (rooms_list_recent_conversations): String is in all caps
## for emphasis reasons, it is a heading. Proceed as appropriate for locale.
rooms_list_recent_conversations=RECENT CONVERSATIONS
rooms_list_delete_tooltip=Delete conversation
rooms_list_deleteConfirmation_label=Are you sure?
rooms_list_no_current_conversations=No current conversations
rooms_change_failed_label=Conversation cannot be updated
rooms_new_room_button_label=Start a conversation
rooms_only_occupant_label=You're the first one here.

Просмотреть файл

@ -69,10 +69,6 @@
background-color: @customToolbarColor@;
}
#navigator-toolbox:not(:-moz-lwtheme)::after {
background-color: #aabccf;
}
#urlbar:not(:-moz-lwtheme):not([focused]):hover,
.searchbar-textbox:not(:-moz-lwtheme):not([focused]):hover {
border-color: hsla(210,54%,20%,.35) hsla(210,54%,20%,.37) hsla(210,54%,20%,.4);

Просмотреть файл

@ -104,6 +104,22 @@
background-color: ThreeDShadow;
}
@media (-moz-windows-default-theme) {
@media (-moz-os-version: windows-vista),
(-moz-os-version: windows-win7) {
#navigator-toolbox:not(:-moz-lwtheme)::after {
background-color: #aabccf;
}
}
@media (-moz-os-version: windows-win8),
(-moz-os-version: windows-win10) {
#navigator-toolbox:not(:-moz-lwtheme)::after {
background-color: #c2c2c2;
}
}
}
#navigator-toolbox > toolbar {
-moz-appearance: none;
border-style: none;
@ -1252,6 +1268,8 @@ toolbarbutton[constrain-size="true"][cui-areatype="toolbar"] > .toolbarbutton-ba
border-color: hsl(0,0%,90%);
padding: 1px;
-moz-padding-end: 3px;
transition-property: border-color, box-shadow;
transition-duration: .1s;
}
#urlbar:not(:-moz-lwtheme):hover,
@ -1283,8 +1301,6 @@ toolbarbutton[constrain-size="true"][cui-areatype="toolbar"] > .toolbarbutton-ba
.searchbar-textbox {
font-size: 1.15em;
min-height: 28px;
transition-property: border-color, box-shadow;
transition-duration: .1s;
}
:root {