10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be
30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file.
40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_AD_NETWORK_DATABASE_H_
60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_AD_NETWORK_DATABASE_H_
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "base/memory/scoped_ptr.h"
90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass GURL;
110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace extensions {
130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass Action;
140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// A database of ad networks.
160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass AdNetworkDatabase {
170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public:
180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  virtual ~AdNetworkDatabase();
190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  static const AdNetworkDatabase* Get();
210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  static void SetForTesting(scoped_ptr<AdNetworkDatabase> database);
220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  // Returns true if the url is in the list of known ad networks.
240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  virtual bool IsAdNetwork(const GURL& url) const = 0;
250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch};
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}  // namespace extensions
280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#endif  // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_AD_NETWORK_DATABASE_H_
30