forked from mirrors/gecko-dev
		
	The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'
 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py
 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
		
	
			
		
			
				
	
	
		
			357 lines
		
	
	
	
		
			9.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			357 lines
		
	
	
	
		
			9.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 | 
						|
/* 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/. */
 | 
						|
 | 
						|
#ifndef nsUrlClassifierProxies_h
 | 
						|
#define nsUrlClassifierProxies_h
 | 
						|
 | 
						|
#include "nsIUrlClassifierDBService.h"
 | 
						|
#include "nsUrlClassifierDBService.h"
 | 
						|
#include "nsProxyRelease.h"
 | 
						|
#include "nsThreadUtils.h"
 | 
						|
#include "mozilla/Attributes.h"
 | 
						|
#include "nsIPrincipal.h"
 | 
						|
#include "LookupCache.h"
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * Thread proxy from the main thread to the worker thread.
 | 
						|
 */
 | 
						|
class UrlClassifierDBServiceWorkerProxy final :
 | 
						|
  public nsIUrlClassifierDBServiceWorker
 | 
						|
{
 | 
						|
public:
 | 
						|
  explicit UrlClassifierDBServiceWorkerProxy(nsUrlClassifierDBServiceWorker* aTarget)
 | 
						|
    : mTarget(aTarget)
 | 
						|
  { }
 | 
						|
 | 
						|
  NS_DECL_THREADSAFE_ISUPPORTS
 | 
						|
  NS_DECL_NSIURLCLASSIFIERDBSERVICE
 | 
						|
  NS_DECL_NSIURLCLASSIFIERDBSERVICEWORKER
 | 
						|
 | 
						|
  class LookupRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    LookupRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                   nsIPrincipal* aPrincipal,
 | 
						|
                   const nsACString& aTables,
 | 
						|
                   nsIUrlClassifierCallback* aCB)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mPrincipal(aPrincipal)
 | 
						|
      , mLookupTables(aTables)
 | 
						|
      , mCB(aCB)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCOMPtr<nsIPrincipal> mPrincipal;
 | 
						|
    nsCString mLookupTables;
 | 
						|
    nsCOMPtr<nsIUrlClassifierCallback> mCB;
 | 
						|
  };
 | 
						|
 | 
						|
  class GetTablesRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    GetTablesRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                      nsIUrlClassifierCallback* aCB)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mCB(aCB)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCOMPtr<nsIUrlClassifierCallback> mCB;
 | 
						|
  };
 | 
						|
 | 
						|
  class BeginUpdateRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    BeginUpdateRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                        nsIUrlClassifierUpdateObserver* aUpdater,
 | 
						|
                        const nsACString& aTables)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mUpdater(aUpdater)
 | 
						|
      , mTables(aTables)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCOMPtr<nsIUrlClassifierUpdateObserver> mUpdater;
 | 
						|
    nsCString mTables;
 | 
						|
  };
 | 
						|
 | 
						|
  class BeginStreamRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    BeginStreamRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                        const nsACString& aTable)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mTable(aTable)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCString mTable;
 | 
						|
  };
 | 
						|
 | 
						|
  class UpdateStreamRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    UpdateStreamRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                         const nsACString& aUpdateChunk)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mUpdateChunk(aUpdateChunk)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCString mUpdateChunk;
 | 
						|
  };
 | 
						|
 | 
						|
  class CacheCompletionsRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    CacheCompletionsRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                             mozilla::safebrowsing::CacheResultArray *aEntries)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mEntries(aEntries)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
     mozilla::safebrowsing::CacheResultArray *mEntries;
 | 
						|
  };
 | 
						|
 | 
						|
  class CacheMissesRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    CacheMissesRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                        mozilla::safebrowsing::PrefixArray *aEntries)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mEntries(aEntries)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    mozilla::safebrowsing::PrefixArray *mEntries;
 | 
						|
  };
 | 
						|
 | 
						|
  class DoLocalLookupRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    DoLocalLookupRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                          const nsACString& spec,
 | 
						|
                          const nsACString& tables,
 | 
						|
                          mozilla::safebrowsing::LookupResultArray* results)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mSpec(spec)
 | 
						|
      , mTables(tables)
 | 
						|
      , mResults(results)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
 | 
						|
    nsCString mSpec;
 | 
						|
    nsCString mTables;
 | 
						|
    mozilla::safebrowsing::LookupResultArray* mResults;
 | 
						|
  };
 | 
						|
 | 
						|
  class SetLastUpdateTimeRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    SetLastUpdateTimeRunnable(nsUrlClassifierDBServiceWorker* aTarget,
 | 
						|
                              const nsACString& table,
 | 
						|
                              uint64_t updateTime)
 | 
						|
      : mTarget(aTarget),
 | 
						|
        mTable(table),
 | 
						|
        mUpdateTime(updateTime)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
  private:
 | 
						|
    RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
    nsCString mTable;
 | 
						|
    uint64_t mUpdateTime;
 | 
						|
  };
 | 
						|
 | 
						|
public:
 | 
						|
  nsresult DoLocalLookup(const nsACString& spec,
 | 
						|
                         const nsACString& tables,
 | 
						|
                         mozilla::safebrowsing::LookupResultArray* results);
 | 
						|
 | 
						|
private:
 | 
						|
  ~UrlClassifierDBServiceWorkerProxy() {}
 | 
						|
 | 
						|
  RefPtr<nsUrlClassifierDBServiceWorker> mTarget;
 | 
						|
};
 | 
						|
 | 
						|
// The remaining classes here are all proxies to the main thread
 | 
						|
 | 
						|
class UrlClassifierLookupCallbackProxy final :
 | 
						|
  public nsIUrlClassifierLookupCallback
 | 
						|
{
 | 
						|
public:
 | 
						|
  explicit UrlClassifierLookupCallbackProxy(nsIUrlClassifierLookupCallback* aTarget)
 | 
						|
    : mTarget(new nsMainThreadPtrHolder<nsIUrlClassifierLookupCallback>(aTarget))
 | 
						|
  { }
 | 
						|
 | 
						|
  NS_DECL_THREADSAFE_ISUPPORTS
 | 
						|
  NS_DECL_NSIURLCLASSIFIERLOOKUPCALLBACK
 | 
						|
 | 
						|
  class LookupCompleteRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    LookupCompleteRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierLookupCallback>& aTarget,
 | 
						|
                           mozilla::safebrowsing::LookupResultArray *aResults)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mResults(aResults)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierLookupCallback> mTarget;
 | 
						|
    mozilla::safebrowsing::LookupResultArray * mResults;
 | 
						|
  };
 | 
						|
 | 
						|
private:
 | 
						|
  ~UrlClassifierLookupCallbackProxy() {}
 | 
						|
 | 
						|
  nsMainThreadPtrHandle<nsIUrlClassifierLookupCallback> mTarget;
 | 
						|
};
 | 
						|
 | 
						|
class UrlClassifierCallbackProxy final : public nsIUrlClassifierCallback
 | 
						|
{
 | 
						|
public:
 | 
						|
  explicit UrlClassifierCallbackProxy(nsIUrlClassifierCallback* aTarget)
 | 
						|
    : mTarget(new nsMainThreadPtrHolder<nsIUrlClassifierCallback>(aTarget))
 | 
						|
  { }
 | 
						|
 | 
						|
  NS_DECL_THREADSAFE_ISUPPORTS
 | 
						|
  NS_DECL_NSIURLCLASSIFIERCALLBACK
 | 
						|
 | 
						|
  class HandleEventRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    HandleEventRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierCallback>& aTarget,
 | 
						|
                        const nsACString& aValue)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mValue(aValue)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierCallback> mTarget;
 | 
						|
    nsCString mValue;
 | 
						|
  };
 | 
						|
 | 
						|
private:
 | 
						|
  ~UrlClassifierCallbackProxy() {}
 | 
						|
 | 
						|
  nsMainThreadPtrHandle<nsIUrlClassifierCallback> mTarget;
 | 
						|
};
 | 
						|
 | 
						|
class UrlClassifierUpdateObserverProxy final :
 | 
						|
  public nsIUrlClassifierUpdateObserver
 | 
						|
{
 | 
						|
public:
 | 
						|
  explicit UrlClassifierUpdateObserverProxy(nsIUrlClassifierUpdateObserver* aTarget)
 | 
						|
    : mTarget(new nsMainThreadPtrHolder<nsIUrlClassifierUpdateObserver>(aTarget))
 | 
						|
  { }
 | 
						|
 | 
						|
  NS_DECL_THREADSAFE_ISUPPORTS
 | 
						|
  NS_DECL_NSIURLCLASSIFIERUPDATEOBSERVER
 | 
						|
 | 
						|
  class UpdateUrlRequestedRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    UpdateUrlRequestedRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver>& aTarget,
 | 
						|
                               const nsACString& aURL,
 | 
						|
                               const nsACString& aTable)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mURL(aURL)
 | 
						|
      , mTable(aTable)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
 | 
						|
    nsCString mURL, mTable;
 | 
						|
  };
 | 
						|
 | 
						|
  class StreamFinishedRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    StreamFinishedRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver>& aTarget,
 | 
						|
                           nsresult aStatus, uint32_t aDelay)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mStatus(aStatus)
 | 
						|
      , mDelay(aDelay)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
 | 
						|
    nsresult mStatus;
 | 
						|
    uint32_t mDelay;
 | 
						|
  };
 | 
						|
 | 
						|
  class UpdateErrorRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    UpdateErrorRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver>& aTarget,
 | 
						|
                        nsresult aError)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mError(aError)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
 | 
						|
    nsresult mError;
 | 
						|
  };
 | 
						|
 | 
						|
  class UpdateSuccessRunnable : public nsRunnable
 | 
						|
  {
 | 
						|
  public:
 | 
						|
    UpdateSuccessRunnable(const nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver>& aTarget,
 | 
						|
                          uint32_t aRequestedTimeout)
 | 
						|
      : mTarget(aTarget)
 | 
						|
      , mRequestedTimeout(aRequestedTimeout)
 | 
						|
    { }
 | 
						|
 | 
						|
    NS_DECL_NSIRUNNABLE
 | 
						|
 | 
						|
  private:
 | 
						|
    nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
 | 
						|
    uint32_t mRequestedTimeout;
 | 
						|
  };
 | 
						|
 | 
						|
private:
 | 
						|
  ~UrlClassifierUpdateObserverProxy() {}
 | 
						|
 | 
						|
  nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
 | 
						|
};
 | 
						|
 | 
						|
#endif // nsUrlClassifierProxies_h
 |