OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 #include "chrome/browser/chromeos/arc/page_transition_util.h" | |
6 | |
7 namespace arc { | |
8 | |
9 bool ShouldIgnoreNavigation(ui::PageTransition page_transition, | |
10 bool allow_form_submit) { | |
11 // Mask out server-sided redirects only. | |
12 page_transition = ui::PageTransitionFromInt( | |
13 page_transition & ~ui::PAGE_TRANSITION_SERVER_REDIRECT); | |
14 | |
15 if (!ui::PageTransitionCoreTypeIs(page_transition, | |
16 ui::PAGE_TRANSITION_LINK) && | |
17 !(allow_form_submit && | |
18 ui::PageTransitionCoreTypeIs(page_transition, | |
19 ui::PAGE_TRANSITION_FORM_SUBMIT))) { | |
20 // Do not handle the |url| if this event wasn't spawned by the user clicking | |
21 // on a link. | |
22 return true; | |
23 } | |
24 | |
25 if (ui::PageTransitionGetQualifier(page_transition) != 0) { | |
26 // Qualifiers indicate that this navigation was the result of a click on a | |
27 // forward/back button, or typing in the URL bar, or a client-side redirect, | |
28 // etc. Don't handle any of those types of navigations. | |
29 return true; | |
30 } | |
31 | |
32 return false; | |
33 } | |
34 | |
35 } // namespace arc | |
OLD | NEW |