Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / views / tabs / tab_renderer_data.h
blobe16f61c1866d5cf1d8d3ebc88109036b06defc0d
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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_RENDERER_DATA_H_
6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_RENDERER_DATA_H_
8 #include "base/strings/string16.h"
9 #include "chrome/browser/ui/tabs/tab_utils.h"
10 #include "chrome/browser/ui/views/chrome_views_export.h"
11 #include "ui/gfx/image/image_skia.h"
12 #include "url/gurl.h"
14 // Wraps the state needed by the renderers.
15 struct CHROME_VIEWS_EXPORT TabRendererData {
16 // Different types of network activity for a tab. The NetworkState of a tab
17 // may be used to alter the UI (e.g. show different kinds of loading
18 // animations).
19 enum NetworkState {
20 NETWORK_STATE_NONE, // no network activity.
21 NETWORK_STATE_WAITING, // waiting for a connection.
22 NETWORK_STATE_LOADING, // connected, transferring data.
25 TabRendererData();
26 ~TabRendererData();
28 // This interprets the crashed status to decide whether or not this
29 // render data represents a tab that is "crashed" (i.e. the render
30 // process died unexpectedly).
31 bool IsCrashed() const;
33 // Returns true if the TabRendererData is same as given |data|.
34 bool Equals(const TabRendererData& data);
36 gfx::ImageSkia favicon;
37 NetworkState network_state;
38 base::string16 title;
39 GURL url;
40 bool loading;
41 base::TerminationStatus crashed_status;
42 bool incognito;
43 bool show_icon;
44 bool pinned;
45 bool blocked;
46 bool app;
47 TabMediaState media_state;
50 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_RENDERER_DATA_H_