Home | History | Annotate | Download | only in extensions
      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 CHROME_RENDERER_EXTENSIONS_TAB_FINDER_H_
      6 #define CHROME_RENDERER_EXTENSIONS_TAB_FINDER_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/compiler_specific.h"
     10 #include "content/public/renderer/render_view_visitor.h"
     11 
     12 namespace content {
     13 class RenderView;
     14 }
     15 
     16 namespace extensions {
     17 
     18 // Finds the top RenderView associated with a tab ID.
     19 class TabFinder : public content::RenderViewVisitor {
     20  public:
     21   // Returns the top RenderView with |tab_id|, or NULL if none is found.
     22   static content::RenderView* Find(int tab_id);
     23 
     24  private:
     25   explicit TabFinder(int tab_id);
     26   virtual ~TabFinder();
     27 
     28   // content::RenderViewVisitor implementation.
     29   virtual bool Visit(content::RenderView* render_view) OVERRIDE;
     30 
     31   int tab_id_;
     32   content::RenderView* view_;
     33 
     34   DISALLOW_COPY_AND_ASSIGN(TabFinder);
     35 };
     36 
     37 }  // namespace extensions
     38 
     39 #endif  // CHROME_RENDERER_EXTENSIONS_TAB_FINDER_H_
     40