1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/logging.h"
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "components/password_manager/core/common/password_manager_ui.h"
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace password_manager {
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace ui {
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)bool IsPendingState(State state) {
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  return state == PENDING_PASSWORD_AND_BUBBLE_STATE ||
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)         state == PENDING_PASSWORD_STATE;
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)bool IsAutomaticDisplayState(State state) {
185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  return state == PENDING_PASSWORD_AND_BUBBLE_STATE ||
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)         state == CONFIRMATION_STATE;
205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)State GetEndStateForAutomaticState(State state) {
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  DCHECK(IsAutomaticDisplayState(state));
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  switch (state) {
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    case PENDING_PASSWORD_AND_BUBBLE_STATE:
265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      return PENDING_PASSWORD_STATE;
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      break;
285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    case CONFIRMATION_STATE:
295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      return MANAGE_STATE;
305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      break;
315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    default:
325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      NOTREACHED();
335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      return INACTIVE_STATE;
345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  }
355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}  // namespace ui
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}  // namespace password_manager
40