summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync
diff options
context:
space:
mode:
authortim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-15 21:52:28 +0000
committertim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-15 21:52:28 +0000
commitd742d2f41fd7035ef040a1b76bd5bcd93ae9b0ac (patch)
tree1593105e3c5b59d87bcedbb465eb9d67500f3fdd /chrome/browser/sync
parent53556e1b386f14de94d97351e47774b97c0ed753 (diff)
downloadchromium_src-d742d2f41fd7035ef040a1b76bd5bcd93ae9b0ac.zip
chromium_src-d742d2f41fd7035ef040a1b76bd5bcd93ae9b0ac.tar.gz
chromium_src-d742d2f41fd7035ef040a1b76bd5bcd93ae9b0ac.tar.bz2
Facelifts to sync UI
BUG=23136,24858,21596 TEST=SyncSetupWizardTest Review URL: http://codereview.chromium.org/270081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29197 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync')
-rw-r--r--chrome/browser/sync/profile_sync_service.cc24
-rw-r--r--chrome/browser/sync/resources/gaia_login.html13
-rw-r--r--chrome/browser/sync/resources/merge_and_sync.html57
-rw-r--r--chrome/browser/sync/resources/setup_done.html59
-rw-r--r--chrome/browser/sync/resources/setup_flow.html7
5 files changed, 124 insertions, 36 deletions
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index 3dbf1d7..2efba68 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -212,9 +212,9 @@ void ProfileSyncService::UpdateLastSyncedTime() {
void ProfileSyncService::OnUnrecoverableError() {
unrecoverable_error_detected_ = true;
change_processor_->Stop();
-
- if (SetupInProgress())
- wizard_.Step(SyncSetupWizard::FATAL_ERROR);
+
+ // Tell the wizard so it can inform the user only if it is already open.
+ wizard_.Step(SyncSetupWizard::FATAL_ERROR);
FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
LOG(ERROR) << "Unrecoverable error detected -- ProfileSyncService unusable.";
}
@@ -338,17 +338,19 @@ void ProfileSyncService::OnUserSubmittedAuth(
void ProfileSyncService::OnUserAcceptedMergeAndSync() {
base::TimeTicks start_time = base::TimeTicks::Now();
+ bool not_first_run = model_associator_->SyncModelHasUserCreatedNodes();
bool merge_success = model_associator_->AssociateModels();
UMA_HISTOGRAM_MEDIUM_TIMES("Sync.UserPerceivedBookmarkAssociation",
base::TimeTicks::Now() - start_time);
-
- wizard_.Step(SyncSetupWizard::DONE); // TODO(timsteele): error state?
if (!merge_success) {
LOG(ERROR) << "Model assocation failed.";
OnUnrecoverableError();
return;
}
+ wizard_.Step(not_first_run ? SyncSetupWizard::DONE :
+ SyncSetupWizard::DONE_FIRST_TIME);
+
change_processor_->Start(profile_->GetBookmarkModel(),
backend_->GetUserShareHandle());
FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
@@ -385,17 +387,19 @@ void ProfileSyncService::StartProcessingChangesIfReady() {
// We're ready to merge the models.
base::TimeTicks start_time = base::TimeTicks::Now();
+ bool not_first_run = model_associator_->SyncModelHasUserCreatedNodes();
bool merge_success = model_associator_->AssociateModels();
UMA_HISTOGRAM_TIMES("Sync.BookmarkAssociationTime",
base::TimeTicks::Now() - start_time);
-
- wizard_.Step(SyncSetupWizard::DONE); // TODO(timsteele): error state?
if (!merge_success) {
- LOG(ERROR) << "Model assocation failed.";
- OnUnrecoverableError();
- return;
+ LOG(ERROR) << "Model assocation failed.";
+ OnUnrecoverableError();
+ return;
}
+ wizard_.Step(not_first_run ? SyncSetupWizard::DONE :
+ SyncSetupWizard::DONE_FIRST_TIME);
+
change_processor_->Start(profile_->GetBookmarkModel(),
backend_->GetUserShareHandle());
FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
diff --git a/chrome/browser/sync/resources/gaia_login.html b/chrome/browser/sync/resources/gaia_login.html
index 478dce7..7f16c7c 100644
--- a/chrome/browser/sync/resources/gaia_login.html
+++ b/chrome/browser/sync/resources/gaia_login.html
@@ -34,6 +34,9 @@
text-align: left;
margin: 5px;
}
+ #gaia_loginform {
+ margin-bottom: 0.5em;
+ }
--></style>
</head>
<body bgcolor="#ffffff" vlink="#666666"
@@ -190,8 +193,8 @@
</div>
<form id="gaia_loginform" onsubmit="sendCredentialsAndClose(); return false;">
<div id="gaia_loginbox">
-<table class="form-noindent" cellspacing="3" cellpadding="5" width="100%"
- border="0">
+<table class="form-noindent" cellspacing="3" cellpadding="5" width="75%"
+ border="0" align="center">
<tr>
<td valign="top" style="text-align:center" nowrap="nowrap"
bgcolor="#e8eefa">
@@ -313,7 +316,8 @@
<td>
<input id="signIn" type="button" class="gaia le button"
name="signIn" i18n-values="value:signin"
- onclick="sendCredentialsAndClose();" />
+ onclick="sendCredentialsAndClose();"
+ style="width:85" />
</td>
</tr>
</table>
@@ -346,7 +350,8 @@
</tr>
</table>
<div class="endaligned">
- <input type="button" name="cancel" i18n-values="value:cancel" onclick="CloseDialog();"/>
+ <input type="button" name="cancel" i18n-values="value:cancel"
+ onclick="CloseDialog();" style="width:85" />
</div>
</body>
</html>
diff --git a/chrome/browser/sync/resources/merge_and_sync.html b/chrome/browser/sync/resources/merge_and_sync.html
index 8af2fc1..f350ae0 100644
--- a/chrome/browser/sync/resources/merge_and_sync.html
+++ b/chrome/browser/sync/resources/merge_and_sync.html
@@ -3,8 +3,20 @@
<title></title>
<style type="text/css">
body,td,div,p,a,font,span {font-family: arial,sans-serif;}
- body { bgcolor:"#ffffff" }
+ body { bgcolor:"#ffffff" }
.gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
+.endaligned {
+ text-align: right;
+}
+html[dir='rtl'] .endaligned {
+ text-align: left;
+}
+.textaligned {
+ text-align: left;
+}
+html[dir='rtl'] .textaligned {
+ text-align: right;
+}
</style>
<script>
function advanceThrobber() {
@@ -12,18 +24,18 @@
throbber.style.backgroundPositionX =
((parseInt(throbber.style.backgroundPositionX) - 16) % 576) + 'px';
}
-
+
function acceptMergeAndSync() {
var throbber = document.getElementById('throbber_container');
throbber.style.display = "inline";
document.getElementById("acceptMerge").disabled = true;
chrome.send("SubmitMergeAndSync", [""]);
}
-
+
function Close() {
chrome.send("DialogClose", [""]);
}
-
+
function showMergeAndSyncDone() {
var throbber = document.getElementById('throbber_container');
throbber.style.display = "none";
@@ -33,7 +45,7 @@
document.getElementById("close").value = templateData['closelabel'];
setTimeout(Close, 1600);
}
-
+
function showMergeAndSyncError() {
var throbber = document.getElementById('throbber_container');
throbber.style.display = "none";
@@ -41,36 +53,37 @@
"<p><font size='-1'><b>" + templateData['setuperror']
+ "</b></font></p>";
}
-
+
</script>
</head>
<body onload="setInterval(advanceThrobber, 30);">
-<div id="header">
- <p><font size="-1"><b><span i18n-content="introduction"></span></b>
- </font></p>
-</div>
-<br />
-<img src="merge_and_sync.png" i18n-values="alt:mergeandsynclabel" />
-<br />
-<p><font size="-1"><span i18n-content="mergeandsyncwarning"></span></font></p>
-<br />
-<table align="right">
- <tr>
- <td>
+<table height="100%">
+ <tr valign="top">
+ <td align="center">
+ <div id="header" align="left">
+ <p class="textaligned"><font size="-1"><b>
+ <span i18n-content="introduction"></span>
+ </b></font></p>
+ </div>
+ <br />
+ <img src="merge_and_sync.png" i18n-values="alt:mergeandsynclabel" />
+ <br />
+ <p class="textaligned"><font size="-1"><span i18n-content="mergeandsyncwarning"></span></font></p>
+ <br />
<div id="throbber_container" style="display:none">
<div id="throb" style="background-image:url(throbber.png);
width:16px; height:16px; background-position:0px;">
</div>
</div>
</td>
- <td>
+ </tr>
+ <tr class="endaligned" valign="bottom">
+ <td class="endaligned">
<input id="acceptMerge" type="button" class="gaia le button" name="accept"
i18n-values="value:mergeandsynclabel"
onclick="acceptMergeAndSync();" />
- </td>
- <td>
<input id="close" type="button" i18n-values="value:abortlabel"
- onclick="Close();"/>
+ onclick="Close();" style="width:85"/>
</td>
</tr>
</table>
diff --git a/chrome/browser/sync/resources/setup_done.html b/chrome/browser/sync/resources/setup_done.html
new file mode 100644
index 0000000..897f191
--- /dev/null
+++ b/chrome/browser/sync/resources/setup_done.html
@@ -0,0 +1,59 @@
+<html i18n-values="dir:textdirection;">
+<head>
+<title></title>
+<style type="text/css">
+body,td,div,p,a,font,span {
+ font-family: arial,sans-serif;
+ }
+body {
+ bgcolor:"#ffffff"
+ }
+.gaia.le.button {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: smaller;
+}
+.endaligned {
+ text-align: right;
+ align: right;
+}
+html[dir='rtl'] .endaligned {
+ text-align: left;
+ align: left;
+}
+</style>
+<script>
+ function setShowFirstTimeSetupSummary() {
+ document.getElementById("summary").innerHTML =
+ "<p><font size='-1'>" + templateData['firsttimesetupsummary']
+ + "</font></p>";
+ }
+ function setSyncedToUser(synced_to) {
+ document.getElementById('user').innerHTML = synced_to;
+ }
+</script>
+<body bgcolor="#ffffff" vlink="#666666
+ i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize"
+ style="margin: 10px">
+<table height="100%" width="100%" margin="0" cellpadding="0">
+ <tr valign="top">
+ <td>
+ <p><font size="-1"><b><span i18n-content="success"></span></b></font></p>
+ <div align="center">
+ <img src="success-large.png" />
+ </div>
+ <br />
+ <p><font size="-1"><span id="user"></span></font></p>
+ <div id="summary">
+ <p><font size="-1"><span i18n-content="setupsummary"></span></font></p>
+ </div>
+ </td>
+ </tr>
+ <tr valign="bottom">
+ <td class="endaligned">
+ <input id="close" type="submit" i18n-values="value:okay" style="width:85"
+ onclick='chrome.send("DialogClose", [""])' />
+ </td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/chrome/browser/sync/resources/setup_flow.html b/chrome/browser/sync/resources/setup_flow.html
index f818787..9bec21a 100644
--- a/chrome/browser/sync/resources/setup_flow.html
+++ b/chrome/browser/sync/resources/setup_flow.html
@@ -8,6 +8,11 @@
document.getElementById("login").style.display = "none";
document.getElementById("merge").style.display = "block";
}
+ function showSetupDone() {
+ document.getElementById("login").style.display = "none";
+ document.getElementById("merge").style.display = "none";
+ document.getElementById("done").style.display = "block";
+ }
</script>
</HEAD>
<BODY style="margin:0; border:0;">
@@ -15,5 +20,7 @@
src="chrome://syncresources/gaialogin"></iframe>
<iframe id="merge" frameborder="0" width="100%" scrolling="no" height="100%"
src="chrome://syncresources/mergeandsync" style="display:none"></iframe>
+ <iframe id="done" frameborder="0" width="100%" scrolling="no" height="100%"
+ src="chrome://syncresources/setupdone" style="display:none"></iframe>
</BODY>
</HTML>