Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3552)

Unified Diff: chrome/browser/ui/webui/history_ui.cc

Issue 8511055: Remove old history UI, and replace with history2. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Suppress bidichecker test failure. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/webui/history_ui.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/history_ui.cc
diff --git a/chrome/browser/ui/webui/history_ui.cc b/chrome/browser/ui/webui/history_ui.cc
index acc65c22d6e0faec5393569929aaec0519f77d51..0174e8069d26a6afa293e6d13726e7f67d3e1f1f 100644
--- a/chrome/browser/ui/webui/history_ui.cc
+++ b/chrome/browser/ui/webui/history_ui.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/ui/webui/history_ui.h"
-#include <algorithm>
#include <set>
#include "base/bind.h"
@@ -21,6 +20,7 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/history/history_notifications.h"
#include "chrome/browser/history/history_types.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
@@ -33,6 +33,7 @@
#include "content/browser/tab_contents/tab_contents.h"
#include "content/browser/tab_contents/tab_contents_delegate.h"
#include "content/browser/user_metrics.h"
+#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "grit/browser_resources.h"
#include "grit/chromium_strings.h"
@@ -73,13 +74,12 @@ class HistoryUIHTMLSource : public ChromeWebUIDataSource {
DISALLOW_COPY_AND_ASSIGN(HistoryUIHTMLSource);
};
-
HistoryUIHTMLSource::HistoryUIHTMLSource()
: ChromeWebUIDataSource(chrome::kChromeUIHistoryHost) {
AddLocalizedString("loading", IDS_HISTORY_LOADING);
AddLocalizedString("title", IDS_HISTORY_TITLE);
AddLocalizedString("newest", IDS_HISTORY_NEWEST);
- AddLocalizedString("newer", IDS_HISTORY_NEWER);
+ AddLocalizedString("newer", IDS_HISTORY_NEWER);
AddLocalizedString("older", IDS_HISTORY_OLDER);
AddLocalizedString("searchresultsfor", IDS_HISTORY_SEARCHRESULTSFOR);
AddLocalizedString("history", IDS_HISTORY_BROWSERESULTS);
@@ -94,6 +94,10 @@ HistoryUIHTMLSource::HistoryUIHTMLSource()
IDS_HISTORY_OPEN_CLEAR_BROWSING_DATA_DIALOG);
AddLocalizedString("deletewarning",
IDS_HISTORY_DELETE_PRIOR_VISITS_WARNING);
+ AddLocalizedString("actionMenuDescription",
+ IDS_HISTORY_ACTION_MENU_DESCRIPTION);
+ AddLocalizedString("removeFromHistory", IDS_HISTORY_REMOVE_PAGE);
+ AddLocalizedString("moreFromSite", IDS_HISTORY_MORE_FROM_SITE);
}
HistoryUIHTMLSource::~HistoryUIHTMLSource() {
@@ -219,7 +223,11 @@ void BrowsingHistoryHandler::HandleRemoveURLsOnOneDay(const ListValue* args) {
// Get day to delete data from.
int visit_time = 0;
- ExtractIntegerValue(args, &visit_time);
+ if (!ExtractIntegerValue(args, &visit_time)) {
+ LOG(ERROR) << "Unable to extract integer argument.";
+ web_ui_->CallJavascriptFunction("deleteFailed");
+ return;
+ }
base::Time::Exploded exploded;
base::Time::FromTimeT(
static_cast<time_t>(visit_time)).LocalExplode(&exploded);
@@ -228,7 +236,7 @@ void BrowsingHistoryHandler::HandleRemoveURLsOnOneDay(const ListValue* args) {
base::Time end_time = begin_time + base::TimeDelta::FromDays(1);
// Get URLs.
- std::set<GURL> urls;
+ DCHECK(urls_to_be_deleted_.empty());
for (ListValue::const_iterator v = args->begin() + 1;
v != args->end(); ++v) {
if ((*v)->GetType() != Value::TYPE_STRING)
@@ -237,13 +245,14 @@ void BrowsingHistoryHandler::HandleRemoveURLsOnOneDay(const ListValue* args) {
string16 string16_value;
if (!string_value->GetAsString(&string16_value))
continue;
- urls.insert(GURL(string16_value));
+
+ urls_to_be_deleted_.insert(GURL(string16_value));
}
HistoryService* hs =
Profile::FromWebUI(web_ui_)->GetHistoryService(Profile::EXPLICIT_ACCESS);
hs->ExpireHistoryBetween(
- urls, begin_time, end_time, &cancelable_delete_consumer_,
+ urls_to_be_deleted_, begin_time, end_time, &cancelable_delete_consumer_,
base::Bind(&BrowsingHistoryHandler::RemoveComplete,
base::Unretained(this)));
}
@@ -313,22 +322,36 @@ void BrowsingHistoryHandler::QueryComplete(
}
void BrowsingHistoryHandler::RemoveComplete() {
- // Some Visits were deleted from history. Reload the list.
+ urls_to_be_deleted_.clear();
+
+ // Notify the page that the deletion request succeeded.
web_ui_->CallJavascriptFunction("deleteComplete");
}
void BrowsingHistoryHandler::ExtractSearchHistoryArguments(
- const ListValue* args,
- int* month,
- string16* query) {
- CHECK(args->GetSize() == 2);
- query->clear();
- CHECK(args->GetString(0, query));
-
- string16 string16_value;
- CHECK(args->GetString(1, &string16_value));
+ const ListValue* args,
+ int* month,
+ string16* query) {
*month = 0;
- base::StringToInt(string16_value, month);
+ Value* list_member;
+
+ // Get search string.
+ if (args->Get(0, &list_member) &&
+ list_member->GetType() == Value::TYPE_STRING) {
+ const StringValue* string_value =
+ static_cast<const StringValue*>(list_member);
+ string_value->GetAsString(query);
+ }
+
+ // Get search month.
+ if (args->Get(1, &list_member) &&
+ list_member->GetType() == Value::TYPE_STRING) {
+ const StringValue* string_value =
+ static_cast<const StringValue*>(list_member);
+ string16 string16_value;
+ if (string_value->GetAsString(&string16_value))
+ base::StringToInt(string16_value, month);
+ }
}
history::QueryOptions BrowsingHistoryHandler::CreateMonthQueryOptions(
@@ -382,9 +405,12 @@ void BrowsingHistoryHandler::Observe(
NOTREACHED();
return;
}
-
- // Some URLs were deleted from history. Reload the list.
- web_ui_->CallJavascriptFunction("historyDeleted");
+ history::URLsDeletedDetails* deletedDetails =
+ content::Details<history::URLsDeletedDetails>(details).ptr();
+ if (deletedDetails->urls != urls_to_be_deleted_) {
+ // Notify the page that someone else deleted from the history.
+ web_ui_->CallJavascriptFunction("historyDeleted");
+ }
}
////////////////////////////////////////////////////////////////////////////////
« no previous file with comments | « chrome/browser/ui/webui/history_ui.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698