// Copyright (c) 2012 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 CONTENT_PUBLIC_BROWSER_INVALIDATE_TYPE_H_
#define CONTENT_PUBLIC_BROWSER_INVALIDATE_TYPE_H_

namespace content {

// Flags passed to the WebContentsDelegate.NavigationStateChanged to tell it
// what has changed. Combine them to update more than one thing.
//
// A Java counterpart will be generated for this enum.
// GENERATED_JAVA_ENUM_PACKAGE: (
//   org.chromium.content_public.browser)
// GENERATED_JAVA_PREFIX_TO_STRIP: INVALIDATE_TYPE_
enum InvalidateTypes {
  INVALIDATE_TYPE_URL           = 1 << 0,  // The URL has changed.
  INVALIDATE_TYPE_TAB           = 1 << 1,  // The favicon, app icon, or crashed
                                           // state changed.
  INVALIDATE_TYPE_LOAD          = 1 << 2,  // The loading state has changed.
  INVALIDATE_TYPE_TITLE         = 1 << 3,  // The title changed.

  INVALIDATE_TYPE_ALL           = (1 << 4) - 1,
};

}

#endif  // CONTENT_PUBLIC_BROWSER_INVALIDATE_TYPE_H_
