2011-11-18 14:42:52 -08:00
|
|
|
/* -*- Mode: c++; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
|
2012-05-21 04:12:37 -07:00
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2011-11-18 14:42:52 -08:00
|
|
|
|
|
|
|
#ifndef NS_ANDROIDHISTORY_H
|
|
|
|
#define NS_ANDROIDHISTORY_H
|
|
|
|
|
|
|
|
#include "IHistory.h"
|
|
|
|
#include "nsDataHashtable.h"
|
|
|
|
#include "nsTPriorityQueue.h"
|
|
|
|
#include "nsThreadUtils.h"
|
|
|
|
|
|
|
|
#define NS_ANDROIDHISTORY_CID \
|
|
|
|
{0xCCAA4880, 0x44DD, 0x40A7, {0xA1, 0x3F, 0x61, 0x56, 0xFC, 0x88, 0x2C, 0x0B}}
|
|
|
|
|
|
|
|
class nsAndroidHistory : public mozilla::IHistory, public nsIRunnable
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
NS_DECL_IHISTORY
|
|
|
|
NS_DECL_NSIRUNNABLE
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Obtains a pointer that has had AddRef called on it. Used by the service
|
|
|
|
* manager only.
|
|
|
|
*/
|
|
|
|
static nsAndroidHistory* GetSingleton();
|
|
|
|
|
|
|
|
nsAndroidHistory();
|
|
|
|
static void NotifyURIVisited(const nsString& str);
|
|
|
|
|
|
|
|
private:
|
|
|
|
static nsAndroidHistory* sHistory;
|
|
|
|
|
|
|
|
nsDataHashtable<nsStringHashKey, nsTArray<mozilla::dom::Link *> *> mListeners;
|
|
|
|
nsTPriorityQueue<nsString> mPendingURIs;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|