Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / components / navigation_interception / navigation_params.h
1 // Copyright (c) 2013 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.
4
5 #ifndef COMPONENTS_NAVIGATION_INTERCEPTION_NAVIGATION_PARAMS_H_
6 #define COMPONENTS_NAVIGATION_INTERCEPTION_NAVIGATION_PARAMS_H_
7
8 #include "content/public/common/referrer.h"
9 #include "ui/base/page_transition_types.h"
10 #include "ui/base/page_transition_types.h"
11 #include "url/gurl.h"
12
13 namespace navigation_interception {
14
15 class NavigationParams {
16  public:
17   NavigationParams(const GURL& url,
18                    const content::Referrer& referrer,
19                    bool has_user_gesture,
20                    bool is_post,
21                    ui::PageTransition page_transition_type,
22                    bool is_redirect);
23   NavigationParams(const NavigationParams& other);
24   void operator=(const NavigationParams& rhs);
25
26   const GURL& url() const { return url_; }
27   GURL& url() { return url_; }
28   const content::Referrer& referrer() const { return referrer_; }
29   bool has_user_gesture() const { return has_user_gesture_; }
30   bool is_post() const { return is_post_; }
31   ui::PageTransition transition_type() const { return transition_type_; }
32   bool is_redirect() const { return is_redirect_; }
33
34  private:
35   void Assign(const NavigationParams& other);
36
37   GURL url_;
38   content::Referrer referrer_;
39   bool has_user_gesture_;
40   bool is_post_;
41   ui::PageTransition transition_type_;
42   bool is_redirect_;
43 };
44
45 }  // namespace navigation_interception
46
47 #endif  // COMPONENTS_NAVIGATION_INTERCEPTION_NAVIGATION_PARAMS_H_