Roll src/third_party/WebKit eac3800:0237a66 (svn 202606:202607)
[chromium-blink-merge.git] / components / sync_driver / revisit / page_visit_observer.h
blob8b364603c5e72d71f8cc37fb5844c6bd3f86ed0e
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_SYNC_DRIVER_REVISIT_PAGE_VISIT_OBSERVERE_H_
6 #define COMPONENTS_SYNC_DRIVER_REVISIT_PAGE_VISIT_OBSERVERE_H_
8 #include "url/gurl.h"
10 namespace sync_driver {
12 // An interface that allows observers to be notified when a page is visited.
13 class PageVisitObserver {
14 public:
15 // This enum represents the most common ways to visit a new page/URL.
16 enum TransitionType {
17 kTransitionPage = 0,
18 kTransitionOmniboxUrl = 1,
19 kTransitionOmniboxDefaultSearch = 2,
20 kTransitionOmniboxTemplateSearch = 3,
21 kTransitionBookmark = 4,
22 kTransitionCopyPaste = 5,
23 kTransitionForwardBackward = 6,
24 kTransitionRestore = 7,
25 kTransitionUnknown = 8,
26 kTransitionTypeLast = 9,
29 virtual ~PageVisitObserver() {}
30 virtual void OnPageVisit(const GURL& url,
31 const TransitionType transition) = 0;
34 } // namespace sync_driver
36 #endif // COMPONENTS_SYNC_DRIVER_REVISIT_PAGE_VISIT_OBSERVERE_H_