1// Copyright (c) 2012 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 EXTENSIONS_COMMON_VIEW_TYPE_H_ 6#define EXTENSIONS_COMMON_VIEW_TYPE_H_ 7 8namespace extensions { 9 10// Icky RTTI used by a few systems to distinguish the host type of a given 11// WebContents. 12// 13// TODO(aa): Remove this and teach those systems to keep track of their own 14// data. 15enum ViewType { 16 VIEW_TYPE_INVALID, 17 VIEW_TYPE_APP_SHELL, 18 VIEW_TYPE_BACKGROUND_CONTENTS, 19 VIEW_TYPE_EXTENSION_BACKGROUND_PAGE, 20 VIEW_TYPE_EXTENSION_DIALOG, 21 VIEW_TYPE_EXTENSION_INFOBAR, 22 VIEW_TYPE_EXTENSION_POPUP, 23 // TODO(jam): remove this once http://crbug.com/137297 is fixed and HTML5 24 // notifications don't use WebContents. 25 VIEW_TYPE_NOTIFICATION, 26 VIEW_TYPE_PANEL, 27 VIEW_TYPE_TAB_CONTENTS, 28 VIEW_TYPE_VIRTUAL_KEYBOARD, 29}; 30 31// Constant strings corresponding to the Type enumeration values. Used 32// when converting JS arguments. 33extern const char kViewTypeAll[]; 34extern const char kViewTypeAppShell[]; 35extern const char kViewTypeBackgroundPage[]; 36extern const char kViewTypeExtensionDialog[]; 37extern const char kViewTypeInfobar[]; 38extern const char kViewTypeNotification[]; 39extern const char kViewTypePanel[]; 40extern const char kViewTypePopup[]; 41extern const char kViewTypeTabContents[]; 42 43} // namespace extensions 44 45#endif // EXTENSIONS_COMMON_VIEW_TYPE_H_ 46