Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / task_manager / tab_contents_information.h
1 // Copyright 2014 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 CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_INFORMATION_H_
6 #define CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_INFORMATION_H_
7
8 #include "base/basictypes.h"
9 #include "chrome/browser/task_manager/web_contents_information.h"
10
11 namespace task_manager {
12
13 // WebContentsInformation for WebContentses that are part of the tab strip
14 // model, devtools, and/or the PrerenderManager. These three cases are combined
15 // into one category because, for example, a prerendered WebContents can become
16 // part of the tab strip model over its lifetime.
17 class TabContentsInformation
18     : public NotificationObservingWebContentsInformation {
19  public:
20   TabContentsInformation();
21   virtual ~TabContentsInformation();
22
23   // WebContentsInformation implementation.
24   virtual bool CheckOwnership(content::WebContents* web_contents) OVERRIDE;
25   virtual void GetAll(const NewWebContentsCallback& callback) OVERRIDE;
26   virtual scoped_ptr<RendererResource> MakeResource(
27       content::WebContents* web_contents) OVERRIDE;
28
29  private:
30   DISALLOW_COPY_AND_ASSIGN(TabContentsInformation);
31 };
32
33 }  // namespace task_manager
34
35 #endif  // CHROME_BROWSER_TASK_MANAGER_TAB_CONTENTS_INFORMATION_H_