blob: 0570fbba8ade5359bd7a12d4568b66ab2e7fa68e [file] [log] [blame]
// Copyright 2018 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.
#ifndef IOS_WEB_NAVIGATION_WK_NAVIGATION_ACTION_UTIL_H_
#define IOS_WEB_NAVIGATION_WK_NAVIGATION_ACTION_UTIL_H_
@class WKNavigationAction;
@class NSString;
namespace web {
// This enum values indicates whether a WKNavigationAction was initiated by the
// user or initiated by a script.
enum class NavigationActionInitiationType {
// This is the default value for the enum, but it will also be the case when
// there is no way to detect if the navigationAction initiator by examining
// the WKNavigationAction fields.
kUnknownInitiator = 0,
// The navigation action is a link click initiated by the user.
kUserInitiated,
};
// Returns the WKNavigationAction initiation type.
NavigationActionInitiationType GetNavigationActionInitiationType(
WKNavigationAction* action);
// Returns theNavigationIniationType based on the navigationAction description
// string when voiceover is off.
NavigationActionInitiationType
GetNavigationActionInitiationTypeWithVoiceOverOff(NSString* action_description);
// Returns theNavigationIniationType based on the navigationAction description
// string when voiceover is on.
NavigationActionInitiationType GetNavigationActionInitiationTypeWithVoiceOverOn(
NSString* action_description);
} // namespace web
#endif // IOS_WEB_NAVIGATION_WK_NAVIGATION_ACTION_UTIL_H_