Bug 559372 - Fennec start page still shows weave tabs option after logging out of Weave [r=mfinkle]

This commit is contained in:
Vivien Nicolas 2010-08-24 10:49:32 +02:00
Родитель a1bf33a55b
Коммит b509de8f99
5 изменённых файлов: 51 добавлений и 5 удалений

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

@ -58,7 +58,7 @@
<link rel="stylesheet" href="chrome://browser/skin/aboutHome.css" type="text/css"/>
</head>
<body dir="&locale.dir;" onload="init();">
<body dir="&locale.dir;" onload="init();" onunload="uninit();">
<div id="wrapper">
<div id="header"><div id="logo"><img src="chrome://branding/content/logo.png"/></div>&aboutHome.header;</div>
@ -69,7 +69,7 @@
</div>
</div>
<div id="remoteTabs" class="section-row" onclick="openRemoteTabs();" role="button">
<div id="remoteTabs" class="section-row" onclick="openRemoteTabs();" role="button" disabled="true">
<div>
<img class="favicon" src="chrome://browser/skin/images/remotetabs-32.png"/>
<div>&aboutHome.remoteTabs;</div>
@ -119,6 +119,10 @@
initAddons();
}
function uninit() {
uninitWeave();
}
function _readFile(aFile) {
try {
let stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream);
@ -226,8 +230,27 @@
}
function initWeave() {
if (!("WeaveGlue" in getChromeWin()))
let chromeWin = getChromeWin();
if ("WeaveGlue" in chromeWin) {
chromeWin.Services.obs.addObserver(updateWeaveButton, "weave:service:login:finish", false);
chromeWin.Services.obs.addObserver(updateWeaveButton, "weave:service:logout:finish", false);
}
else {
document.getElementById("remoteTabs").style.display = "none";
}
}
function uninitWeave() {
let chromeWin = getChromeWin();
if ("WeaveGlue" in chromeWin) {
chromeWin.Services.obs.removeObserver(updateWeaveButton, "weave:service:login:finish");
chromeWin.Services.obs.removeObserver(updateWeaveButton, "weave:service:logout:finish");
}
}
function updateWeaveButton() {
let isDisabled = !getChromeWin().Weave.Service.isLoggedIn;
document.getElementById("remoteTabs").setAttribute("disabled", isDisabled);
}
function openRemoteTabs() {

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

@ -425,8 +425,10 @@ var BrowserUI = {
.ensureContentProcess();
#endif
#ifdef MOZ_SERVICES_SYNC
// Init the sync system
WeaveGlue.init();
#endif
});
FormHelperUI.init();
@ -2255,9 +2257,11 @@ XPCOMUtils.defineLazyGetter(this, "HistoryList", function() {
return new AwesomePanel("history-items", "cmd_history");
});
#ifdef MOZ_SERVICES_SYNC
XPCOMUtils.defineLazyGetter(this, "RemoteTabsList", function() {
return new AwesomePanel("remotetabs-items", "cmd_remoteTabs");
});
#endif
XPCOMUtils.defineLazyGetter(this, "AllPagesList", function() {
return new AwesomePanel("popup_autocomplete", "cmd_openLocation");

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

@ -87,7 +87,9 @@
<script type="application/javascript" src="chrome://browser/content/TileManager.js"/>
<script type="application/javascript" src="chrome://browser/content/BrowserView.js"/>
<script type="application/javascript" src="chrome://browser/content/AnimatedZoom.js"/>
#ifdef MOZ_SERVICES_SYNC
<script type="application/javascript" src="chrome://browser/content/sync.js"/>
#endif
<stringbundleset id="stringbundleset">
<stringbundle id="bundle_browser" src="chrome://browser/locale/browser.properties"/>
@ -115,7 +117,9 @@
<!-- tabs -->
<command id="cmd_newTab" label="&newtab.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_closeTab" label="&closetab.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
#ifdef MOZ_SERVICES_SYNC
<command id="cmd_remoteTabs" oncommand="CommandUpdater.doCommand(this.id);" disabled="true"/>
#endif
<command id="cmd_undoCloseTab" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- bookmarking -->
@ -448,6 +452,7 @@
<button id="prefs-clear-data" label="&clearPrivateData.button;" command="cmd_sanitize"/>
</setting>
</settings>
#ifdef MOZ_SERVICES_SYNC
<settings id="prefs-sync" label="&sync.title;">
<setting id="sync-user" type="string" title="&sync.username;" />
<setting id="sync-pass" type="string" inputtype="password" title="&sync.password;" />
@ -463,6 +468,7 @@
<button id="sync-syncButton" label="&sync.syncNow;" oncommand="WeaveGlue.sync();" />
</setting>
</settings>
#endif
</richlistbox>
</notificationbox>
</vbox>
@ -497,7 +503,9 @@
<toolbarbutton type="radio" group="awesome-header" label="&allPagesHeader.label;" command="cmd_openLocation" class="choice-all show-text" checked="true"/>
<toolbarbutton type="radio" group="awesome-header" label="&bookmarksHeader.label;" command="cmd_bookmarks" class="choice-bookmarks show-text"/>
<toolbarbutton type="radio" group="awesome-header" label="&historyHeader.label;" command="cmd_history" class="choice-history show-text"/>
#ifdef MOZ_SERVICES_SYNC
<toolbarbutton type="radio" group="awesome-header" label="&desktopHeader.label;" command="cmd_remoteTabs" class="choice-remotetabs show-text"/>
#endif
</hbox>
<!-- titlebar autocomplete results -->

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

@ -57,7 +57,9 @@ chrome.jar:
content/prompt/prompt.js (content/prompt/prompt.js)
content/share.xul (content/share.xul)
content/AnimatedZoom.js (content/AnimatedZoom.js)
#ifdef MOZ_SERVICES_SYNC
content/sync.js (content/sync.js)
#endif
content/LoginManagerChild.js (content/LoginManagerChild.js)
% override chrome://global/content/config.xul chrome://browser/content/config.xul

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

@ -143,6 +143,15 @@ html {
background: url("images/arrowright-16.png") 99% center no-repeat;
}
#remoteTabs[disabled=true] {
pointer-events: none;
color: #aaa;
}
#remoteTabs[disabled=true] > div > .favicon {
opacity: 0.5;
}
.section-row {
color: black;
background: transparent -moz-linear-gradient(top, rgba(235,235,235,0.2) 0%, rgba(235,235,235,1) 90%);