Files
palemoon27/docshell/base/nsIContentViewer.idl
T
roytam1 664ef9175d import changes from `dev' branch of rmottola/Arctic-Fox:
- enable shadow warnings (93e0fb3cf8)
- more bits of  Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS (f07e6eca96)
- Bug 1111892 - Ensure gdk_ungrab_pointer is always called in the correct process r=jimm (8bf40d8add)
- Bug 1220344 - remote some of nsSystemInfo to make it e10s ready on Android r=nchen,froydnj (365e961dfb)
- bug 1190018 - External protocol handlers don't work in e10s r=mrbkap (ff4567d517)
- Bug 1225618 - Do not capture stacks for cycle collection timeline markers; r=vporof (d734ca9d26)
- Bug 1218315 - Replace NS_LITERAL_STRING(...).get() with MOZ_UTF16(...) on xpcom. r=nfroyd (5cff917319)
- Bug 1218315 - Use L"..." instead of MOZ_UTF16(...) for MSVS2015. r=nfroyd (9f8b88f428)
- Bug 1199592 - support TV device type in UA string. r=fabrice. (2eecf7f3b4)
- Bug 1215723 - Part 1: Make DataStorage a singleton for each file name; r=keeler (be2e5947f1)
- Bug 1167693 - Ensure device and vendor IDs are zero-padded. r=mstange (6e583cbf71)
- Bug 1186817 - Replace nsBaseHashtable::EnumerateRead() calls in security/ with iterators. r=keeler (4a14f547a7)
- Bug 1215723 - Part 2: Initialize DataStorage items in the content process from the data in the parent; r=keeler (3a4d3ec7d5)
- Bug 1215723 - Part 3: Propagate updates to DataStorage from the parent process to the content processes; r=keeler (2140b412eb)
- Bug 1215723 - Part 4: Make isSecureHost and isSecureURI usable from the content process; r=keeler (c8b786ca1b)
- Bug 1215723 - Part 5: Add an automated test; r=keeler (012e820385)
- Bug 1154184 - Don't use Linux sandbox gtest dir if not building tests. r=gps (2993e27d44)
- Bug 930258 - Part 1: The file broker, and unit tests for it. r=kang f=froydnj (d3e8cab30d)
- Bug 930258 - Part 2: seccomp-bpf integration. r=kang (a40ef5e566)
- Bug 930258 - Part 3: a file broker policy for the B2G emulator. r=kang (2c0c3d55cf)
- Bug 930258 - Part 4: the PContent changes that connect the broker to its sandboxed client. r=kang r=billm (1206c3a20c)
- Bug 1168251 - Do a partial recursion when doing make -C some/path compile. r=gps (a6733048fc)
- Bug 1194951 - Suppress warnings in third-party code: pocketsphinx and sphinxbase. r=kdavis (4f679d6a1e)
- Bug 1195186 - Build media/pocketsphinx in unified mode. r=kdavis (6e6bb419e0)
- Bug 1203005 - Remove all traces of -Wdeclaration-after-statement. r=glandium. (a66d7a4760)
- bits of  Bug 1211568, land NSS_3_21_RTM (6b81926cd3)
- Bug 947753 - Make sure nsChildView::ComputeShouldAccelerate returns true even if it's called before layout lets the window know about whether it's transparent. r=smichaud (0d2980b44f)
- Bug 1162649 - Don't call setOpaque:NO or setHasShadow:NO for non-popup windows;r=mstange (6353bd2e96)
- Backed out changeset 2e731191c692 (bug 1189565) for causing bug 1201053 a=backout (e4bc37c823)
- Bug 1174703 - Add GLContextEAGL and GLContextProviderEAGL as an OpenGL provider for iOS. r=jgilbert (64c6538d7d)
- Bug 1184402 - Reset format usage authority on context lose/restore. r=jgilbert (3df2278888)
- more dupes... hackish (f432375460)
- Bug 1007975 - div with display:table exposes table semantics r=surkov (f3b389dcce)
- Bug 1159034 - Test uninitialized buffer data. - r=dvander Bug 1147441 - Add SharedArrayBuffer support to WebGL and WebGL 2. r=jgilbert, r=bzbarsky (a151e77beb)
- Bug 1184402 - Part 1: Rename GetInfo() to GetUsage() for obtaining FormatUsageInfo. r=jgilbert (efbfe39a2e)
- Bug 1184402 - Part 2: Added luminance float effective formats (2cb792990d)
- Bug 1184402 - Part 3: Add WebGL1 formats when enabling extensions. r=jgilbert (aba6beb541)
- Bug 1184402 - Part 4: Use WebGLFormat for validation in RenderbufferStorage_base. r=jgilbert (704c86386f)
- Bug 1193070 - Implement GetFramebufferAttachmentParameter. r=jgilbert (ef51efdce1)
- Bug 1188195 - always initialize WebGL2 BlitFramebuffer src/dst formats to some value. r=jgilbert (694a4d87a1)
- Bug 1143876 - Treat invalidate-framebuffer as optional for WebGL2. - r=kamidphish (53d8ef5a3f)
- Bug 1170845 - Remove WebGL2() exclusion on instanced draw divisor check. r=jgilbert (cd8d1375b3)
- Bug 1192989 - Simplify handling by ifdefing in all.js. - r=kamidphish (32a26b46c8)
- Bug 1179556 - Only call EnsureColorAttachPoints with a color attachment. r=jgilbert (8791f2e34a)
- Bug 1170893 - Return null for invalid internal format. r=kamidphish (425657b6b6)
- Bug 1225782 - Removes GlobalPropertiesAreOwn(). r=bz (a6ca6fd503)
- Bug 1225381 - ensure mozCurrentTransform is finite. r=jmuizelaar (c009040dca)
- Bug 1223740 - enforce max surface size for DrawTargetSkia. r=bas (505fe7ac3b)
- Bug 1059014 (part 2) - Remove support for reflow on zoom event pending. r=dbaron. (be2ae37e94)
- Bug 1059014 (part 3) - Remove support for pausing and resuming painting. r=dbaron. (35979215f3)
2023-02-06 08:55:00 +08:00

261 lines
8.3 KiB
Plaintext

/* 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 "nsISupports.idl"
interface nsIDocShell;
interface nsIDocument;
interface nsIDOMDocument;
interface nsIDOMNode;
interface nsISHEntry;
interface nsIPrintSettings;
%{ C++
#include "nsTArray.h"
#include "nsRect.h"
class nsIWidget;
class nsIPresShell;
class nsPresContext;
class nsView;
class nsDOMNavigationTiming;
%}
[ptr] native nsIWidgetPtr(nsIWidget);
[ref] native nsIntRectRef(nsIntRect);
[ptr] native nsIPresShellPtr(nsIPresShell);
[ptr] native nsPresContextPtr(nsPresContext);
[ptr] native nsViewPtr(nsView);
[ptr] native nsDOMNavigationTimingPtr(nsDOMNavigationTiming);
[ref] native nsIContentViewerTArray(nsTArray<nsCOMPtr<nsIContentViewer> >);
[scriptable, builtinclass, uuid(702e0a92-7d63-490e-b5ee-d247e6bd4588)]
interface nsIContentViewer : nsISupports
{
[noscript] void init(in nsIWidgetPtr aParentWidget,
[const] in nsIntRectRef aBounds);
attribute nsIDocShell container;
[noscript,notxpcom,nostdcall] void loadStart(in nsIDocument aDoc);
void loadComplete(in nsresult aStatus);
/**
* Checks if the document wants to prevent unloading by firing beforeunload on
* the document, and if it does, prompts the user. The result is returned.
*
* @param aCallerClosesWindow indicates that the current caller will close the
* window. If the method returns true, all subsequent calls will be
* ignored.
*/
boolean permitUnload([optional] in boolean aCallerClosesWindow);
/**
* Exposes whether we're blocked in a call to permitUnload.
*/
readonly attribute boolean inPermitUnload;
/**
* As above, but this passes around the aShouldPrompt argument to keep
* track of whether the user has responded to a prompt.
* Used internally by the scriptable version to ensure we only prompt once.
*/
[noscript,nostdcall] boolean permitUnloadInternal(in boolean aCallerClosesWindow,
inout boolean aShouldPrompt);
/**
* Exposes whether we're in the process of firing the beforeunload event.
* In this case, the corresponding docshell will not allow navigation.
*/
readonly attribute boolean beforeUnloadFiring;
/**
* Works in tandem with permitUnload, if the caller decides not to close the
* window it indicated it will, it is the caller's responsibility to reset
* that with this method.
*
* @Note this method is only meant to be called on documents for which the
* caller has indicated that it will close the window. If that is not the case
* the behavior of this method is undefined.
*/
void resetCloseWindow();
void pageHide(in boolean isUnload);
/**
* All users of a content viewer are responsible for calling both
* close() and destroy(), in that order.
*
* close() should be called when the load of a new page for the next
* content viewer begins, and destroy() should be called when the next
* content viewer replaces this one.
*
* |historyEntry| sets the session history entry for the content viewer. If
* this is null, then Destroy() will be called on the document by close().
* If it is non-null, the document will not be destroyed, and the following
* actions will happen when destroy() is called (*):
* - Sanitize() will be called on the viewer's document
* - The content viewer will set the contentViewer property on the
* history entry, and release its reference (ownership reversal).
* - hide() will be called, and no further destruction will happen.
*
* (*) unless the document is currently being printed, in which case
* it will never be saved in session history.
*
*/
void close(in nsISHEntry historyEntry);
void destroy();
void stop();
attribute nsIDOMDocument DOMDocument;
/**
* Returns DOMDocument as nsIDocument and without addrefing.
*/
[noscript,notxpcom] nsIDocument getDocument();
[noscript] void getBounds(in nsIntRectRef aBounds);
[noscript] void setBounds([const] in nsIntRectRef aBounds);
/**
* The previous content viewer, which has been |close|d but not
* |destroy|ed.
*/
[noscript] attribute nsIContentViewer previousViewer;
void move(in long aX, in long aY);
void show();
void hide();
attribute boolean sticky;
/*
* This is called when the DOM window wants to be closed. Returns true
* if the window can close immediately. Otherwise, returns false and will
* close the DOM window as soon as practical.
*/
boolean requestWindowClose();
/**
* Attach the content viewer to its DOM window and docshell.
* @param aState A state object that might be useful in attaching the DOM
* window.
* @param aSHEntry The history entry that the content viewer was stored in.
* The entry must have the docshells for all of the child
* documents stored in its child shell list.
*/
void open(in nsISupports aState, in nsISHEntry aSHEntry);
/**
* Clears the current history entry. This is used if we need to clear out
* the saved presentation state.
*/
void clearHistoryEntry();
/**
* Change the layout to view the document with page layout (like print preview), but
* dynamic and editable (like Galley layout).
*/
void setPageMode(in boolean aPageMode, in nsIPrintSettings aPrintSettings);
/**
* Get the history entry that this viewer will save itself into when
* destroyed. Can return null
*/
readonly attribute nsISHEntry historyEntry;
/**
* Indicates when we're in a state where content shouldn't be allowed to
* trigger a tab-modal prompt (as opposed to a window-modal prompt) because
* we're part way through some operation (eg beforeunload) that shouldn't be
* rentrant if the user closes the tab while the prompt is showing.
* See bug 613800.
*/
readonly attribute boolean isTabModalPromptAllowed;
/**
* Returns whether this content viewer is in a hidden state.
*
* @note Only Gecko internal code should set the attribute!
*/
attribute boolean isHidden;
[noscript] readonly attribute nsIPresShellPtr presShell;
[noscript] readonly attribute nsPresContextPtr presContext;
// aDocument must not be null.
[noscript] void setDocumentInternal(in nsIDocument aDocument,
in boolean aForceReuseInnerWindow);
/**
* Find the view to use as the container view for MakeWindow. Returns
* null if this will be the root of a view manager hierarchy. In that
* case, if mParentWidget is null then this document should not even
* be displayed.
*/
[noscript,notxpcom,nostdcall] nsViewPtr findContainerView();
/**
* Set collector for navigation timing data (load, unload events).
*/
[noscript,notxpcom,nostdcall] void setNavigationTiming(in nsDOMNavigationTimingPtr aTiming);
/*
Scrolls to a given DOM content node.
*/
void scrollToNode(in nsIDOMNode node);
/** The amount by which to scale all text. Default is 1.0. */
attribute float textZoom;
/** The amount by which to scale all lengths. Default is 1.0. */
attribute float fullZoom;
/** Disable entire author style level (including HTML presentation hints) */
attribute boolean authorStyleDisabled;
/**
* XXX comm-central only: bug 829543. Not the Character Encoding menu in
* browser!
*/
attribute ACString forceCharacterSet;
/**
* XXX comm-central only: bug 829543.
*/
attribute ACString hintCharacterSet;
/**
* XXX comm-central only: bug 829543.
*/
attribute int32_t hintCharacterSetSource;
/**
* Requests the size of the content to the container.
*/
void getContentSize(out long width, out long height);
/** The minimum font size */
attribute long minFontSize;
/**
* Append |this| and all of its descendants to the given array,
* in depth-first pre-order traversal.
*/
[noscript] void appendSubtree(in nsIContentViewerTArray array);
/*
* Render the document as if being viewed on a device with the specified
* media type. This will cause a reflow.
*
* @param mediaType The media type to be emulated
*/
void emulateMedium(in AString aMediaType);
/*
* Restore the viewer's natural media type
*/
void stopEmulatingMedium();
};