renderer_permissions_policy_delegate.h revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file.
490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef CHROME_RENDERER_EXTENSIONS_RENDERER_PERMISSIONS_POLICY_DELEGATE_H_
690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define CHROME_RENDERER_EXTENSIONS_RENDERER_PERMISSIONS_POLICY_DELEGATE_H_
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/common/extensions/permissions/permissions_data.h"
990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace extensions {
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class Dispatcher;
1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Policy delegate for the renderer process.
1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class RendererPermissionsPolicyDelegate
1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    : public PermissionsData::PolicyDelegate {
1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) public:
1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  explicit RendererPermissionsPolicyDelegate(Dispatcher* dispatcher);
1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual ~RendererPermissionsPolicyDelegate();
2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  virtual bool CanExecuteScriptOnPage(const Extension* extension,
2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      const GURL& document_url,
2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      const GURL& top_document_url,
2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      int tab_id,
2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      const UserScript* script,
2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      int process_id,
2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)                                      std::string* error) OVERRIDE;
2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) private:
3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  Dispatcher* dispatcher_;
3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(RendererPermissionsPolicyDelegate);
3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)};
3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}  // namespace extensions
3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif  // CHROME_RENDERER_EXTENSIONS_RENDERER_PERMISSIONS_POLICY_DELEGATE_H_
38