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