1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file. 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_ 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_ 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "chrome/browser/extensions/activity_log/ad_network_database.h" 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace extensions { 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// The standard ("real") implementation of the AdNetworkDatabase, which stores 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// a list of hashes of ad networks. 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class HashedAdNetworkDatabase : public AdNetworkDatabase { 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public: 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) HashedAdNetworkDatabase(); 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual ~HashedAdNetworkDatabase(); 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void set_entries_for_testing(const char** entries, int num_entries) { 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) entries_ = entries; 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) num_entries_ = num_entries; 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) private: 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) // AdNetworkDatabase implementation. 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) virtual bool IsAdNetwork(const GURL& url) const OVERRIDE; 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Points to the array of hash entries. In practice, this is always set to 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // kHashedAdNetworks, but is exposed via set_entries_for_testing(). 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const char** entries_; 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // The number of entries. 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) int num_entries_; 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace extensions 37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_ 39