15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_CHANNEL_ID_HELPER_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_CHANNEL_ID_HELPER_H_ 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include <map> 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include <string> 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "chrome/browser/browsing_data/browsing_data_channel_id_helper.h" 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Mock for BrowsingDataChannelIDHelper. 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class MockBrowsingDataChannelIDHelper 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) : public BrowsingDataChannelIDHelper { 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) public: 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) MockBrowsingDataChannelIDHelper(); 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // BrowsingDataChannelIDHelper methods. 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void StartFetching(const FetchResultCallback& callback) OVERRIDE; 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void DeleteChannelID(const std::string& server_id) OVERRIDE; 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Adds a channel_id sample. 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) void AddChannelIDSample(const std::string& server_id); 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Notifies the callback. 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) void Notify(); 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Marks all channel_ids as existing. 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) void Reset(); 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Returns true if all channel_ids since the last Reset() invocation 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // were deleted. 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) bool AllDeleted(); 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) private: 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual ~MockBrowsingDataChannelIDHelper(); 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) FetchResultCallback callback_; 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ChannelIDStore::ChannelIDList channel_id_list_; 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Stores which channel_ids exist. 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) std::map<const std::string, bool> channel_ids_; 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MockBrowsingDataChannelIDHelper); 475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_CHANNEL_ID_HELPER_H_ 50