61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
/* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
|
|
/* 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 protocol PContent;
|
|
include protocol PInProcess;
|
|
include DOMTypes;
|
|
include "mozilla/ipc/URIUtils.h";
|
|
|
|
namespace mozilla {
|
|
namespace extensions {
|
|
|
|
struct FrameTransitionData
|
|
{
|
|
bool clientRedirect;
|
|
bool formSubmit;
|
|
bool forwardBack;
|
|
bool reload;
|
|
bool serverRedirect;
|
|
};
|
|
|
|
/**
|
|
* A generic protocol used by the extension framework for process-level IPC. A
|
|
* child instance is created at startup in the parent process and each content
|
|
* child process, which can be accessed via
|
|
* `mozilla::extensions::ExtensionsChild::Get()`.
|
|
*/
|
|
protocol PExtensions
|
|
{
|
|
manager PContent or PInProcess;
|
|
|
|
parent:
|
|
async __delete__();
|
|
|
|
async DocumentChange(MaybeDiscardedBrowsingContext bc,
|
|
FrameTransitionData transitionData,
|
|
nullable nsIURI location);
|
|
|
|
async HistoryChange(MaybeDiscardedBrowsingContext bc,
|
|
FrameTransitionData transitionData,
|
|
nullable nsIURI location,
|
|
bool isHistoryStateUpdated,
|
|
bool isReferenceFragmentUpdated);
|
|
|
|
async StateChange(MaybeDiscardedBrowsingContext bc,
|
|
nullable nsIURI requestURI,
|
|
nsresult status,
|
|
uint32_t stateFlags);
|
|
|
|
async CreatedNavigationTarget(MaybeDiscardedBrowsingContext bc,
|
|
MaybeDiscardedBrowsingContext sourceBC,
|
|
nsCString url);
|
|
|
|
async DOMContentLoaded(MaybeDiscardedBrowsingContext bc,
|
|
nullable nsIURI documentURI);
|
|
};
|
|
|
|
} // namespace extensions
|
|
} // namespace mozilla
|