blob: 465b9b2b1762458ea9507af848735f64191a7d89 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Structs that hold data used in broadcasting notifications.
#ifndef CHROME_BROWSER_HISTORY_HISTORY_NOTIFICATIONS_H__
#define CHROME_BROWSER_HISTORY_HISTORY_NOTIFICATIONS_H__
#include <set>
#include "chrome/browser/history/history_details.h"
#include "chrome/browser/history/history_types.h"
#include "components/search_engines/template_url_id.h"
#include "url/gurl.h"
namespace history {
// Details for NOTIFICATION_HISTORY_URL_VISITED.
struct URLVisitedDetails : public HistoryDetails {
URLVisitedDetails();
virtual ~URLVisitedDetails();
content::PageTransition transition;
// The affected URLRow. The ID will be set to the value that is currently in
// effect in the main history database.
URLRow row;
// A list of redirects leading up to the URL represented by this struct. If
// we have the redirect chain A -> B -> C and this struct represents visiting
// C, then redirects[0]=B and redirects[1]=A. If there are no redirects,
// this will be an empty vector.
history::RedirectList redirects;
base::Time visit_time;
};
// Details for NOTIFICATION_HISTORY_TYPED_URLS_MODIFIED.
struct URLsModifiedDetails : public HistoryDetails {
URLsModifiedDetails();
virtual ~URLsModifiedDetails();
// Lists the information for each of the URLs affected. The rows will have the
// IDs that are currently in effect in the main history database.
URLRows changed_urls;
};
// Details for NOTIFICATION_HISTORY_URLS_DELETED.
struct URLsDeletedDetails : public HistoryDetails {
URLsDeletedDetails();
virtual ~URLsDeletedDetails();
// Set when all history was deleted. False means just a subset was deleted.
bool all_history;
// True if the data was expired due to old age. False if the data was deleted
// in response to an explicit user action through the History UI.
bool expired;
// The URLRows of URLs deleted. This is valid only when |all_history| is false
// indicating that a subset of history has been deleted. The rows will have
// the IDs that had been in effect before the deletion in the main history
// database.
URLRows rows;
// The list of deleted favicon urls. This is valid only when |all_history| is
// false, indicating that a subset of history has been deleted.
std::set<GURL> favicon_urls;
};
// Details for HISTORY_KEYWORD_SEARCH_TERM_UPDATED.
struct KeywordSearchUpdatedDetails : public HistoryDetails {
KeywordSearchUpdatedDetails(const URLRow& url_row,
TemplateURLID keyword_id,
const base::string16& term);
virtual ~KeywordSearchUpdatedDetails();
// The affected URLRow. The ID will be set to the value that is currently in
// effect in the main history database.
URLRow url_row;
TemplateURLID keyword_id;
base::string16 term;
};
// Details for HISTORY_KEYWORD_SEARCH_TERM_DELETED.
struct KeywordSearchDeletedDetails : public HistoryDetails {
explicit KeywordSearchDeletedDetails(URLID url_row_id);
virtual ~KeywordSearchDeletedDetails();
// The ID of the corresponding URLRow in the main history database.
URLID url_row_id;
};
} // namespace history
#endif // CHROME_BROWSER_HISTORY_HISTORY_NOTIFICATIONS_H__