зеркало из https://github.com/mozilla/gecko-dev.git
107 строки
2.9 KiB
C++
107 строки
2.9 KiB
C++
|
/* 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/. */
|
||
|
|
||
|
#include "RemoteWebProgress.h"
|
||
|
|
||
|
namespace mozilla {
|
||
|
namespace dom {
|
||
|
|
||
|
NS_IMPL_CYCLE_COLLECTION(RemoteWebProgress, mManager)
|
||
|
|
||
|
NS_IMPL_CYCLE_COLLECTING_ADDREF(RemoteWebProgress)
|
||
|
NS_IMPL_CYCLE_COLLECTING_RELEASE(RemoteWebProgress)
|
||
|
|
||
|
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(RemoteWebProgress)
|
||
|
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||
|
NS_INTERFACE_MAP_ENTRY(nsIWebProgress)
|
||
|
NS_INTERFACE_MAP_ENTRY(nsIRemoteWebProgress)
|
||
|
NS_INTERFACE_MAP_END
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::Init(nsIWebProgress *aManager,
|
||
|
bool aIsTopLevel) {
|
||
|
mManager = aManager;
|
||
|
mIsTopLevel = aIsTopLevel;
|
||
|
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::Update(uint64_t aOuterDOMWindowID,
|
||
|
uint64_t aInnerDOMWindowID,
|
||
|
uint32_t aLoadType,
|
||
|
bool aIsLoadingDocument) {
|
||
|
mOuterDOMWindowID = aOuterDOMWindowID;
|
||
|
mInnerDOMWindowID = aInnerDOMWindowID;
|
||
|
mLoadType = aLoadType;
|
||
|
mIsLoadingDocument = aIsLoadingDocument;
|
||
|
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::AddProgressListener(
|
||
|
nsIWebProgressListener *aListener, uint32_t aNotifyMask) {
|
||
|
if (mManager) {
|
||
|
return mManager->AddProgressListener(aListener, aNotifyMask);
|
||
|
} else {
|
||
|
NS_WARNING("RemoteWebProgres::mManager should not be null!");
|
||
|
}
|
||
|
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::RemoveProgressListener(
|
||
|
nsIWebProgressListener *aListener) {
|
||
|
if (mManager) {
|
||
|
return mManager->RemoveProgressListener(aListener);
|
||
|
} else {
|
||
|
NS_WARNING("RemoteWebProgres::mManager should not be null!");
|
||
|
}
|
||
|
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetDOMWindow(mozIDOMWindowProxy **aDOMWindow) {
|
||
|
return NS_ERROR_NOT_AVAILABLE;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetDOMWindowID(uint64_t *aDOMWindowID) {
|
||
|
*aDOMWindowID = mOuterDOMWindowID;
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetInnerDOMWindowID(
|
||
|
uint64_t *aInnerDOMWindowID) {
|
||
|
*aInnerDOMWindowID = mInnerDOMWindowID;
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetIsTopLevel(bool *aIsTopLevel) {
|
||
|
NS_ENSURE_ARG_POINTER(aIsTopLevel);
|
||
|
*aIsTopLevel = mIsTopLevel;
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetIsLoadingDocument(
|
||
|
bool *aIsLoadingDocument) {
|
||
|
NS_ENSURE_ARG_POINTER(aIsLoadingDocument);
|
||
|
*aIsLoadingDocument = mIsLoadingDocument;
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetLoadType(uint32_t *aLoadType) {
|
||
|
NS_ENSURE_ARG_POINTER(aLoadType);
|
||
|
*aLoadType = mLoadType;
|
||
|
return NS_OK;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::GetTarget(nsIEventTarget **aTarget) {
|
||
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||
|
}
|
||
|
|
||
|
NS_IMETHODIMP RemoteWebProgress::SetTarget(nsIEventTarget *aTarget) {
|
||
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||
|
}
|
||
|
|
||
|
} // namespace dom
|
||
|
} // namespace mozilla
|