Files
palemoon27/docshell/base/nsIContentViewer.idl
T
roytam1 f38f996411 import changes from `dev' branch of rmottola/Arctic-Fox:
- bug 1249738 - make sWakeLockObservers a function static r=dhylands (a606893142)
- bug 1249738 - make sSystemClockChangeObservers a function static r=dhylands (c994867638)
- bug 1249738 - make sSystemTimezoneChangeObservers a function static r=dhylands (d053417e69)
- Bug 1184285 - Stop warning if RemoveObserver() is called for unregistered observer. r=dhylands (5119547e11)
- Bug 1244754 - part 1 - backport zero-length gradient interval fix from Skia upstream. r=jrmuizel (c1ae572de9)
- Bug 1229975 - backport fix for Skia's GrConvexPolyEffect. r=mchang (80aba4e282)
- Bug 1206961 - Use channel->AsyncOpen2() in image/imgLoader.cpp; removing security checks from the callsite reveals that we have to pass the accurate contentPolicyType to ValidateEntry (r=seth,bz) (0d771560b6)
- Bug 1266615 - Fix C4334 in imgFrame.cpp. r=padenot (2d8227a6cc)
- Bug 1230907 - mPixelRowSize added to constructor with 0 value. r=seth (5681184935)
- Bug 1249550 (part 1) - Flip BMPs with negative height when downscaling. r=tn. (ca5978c766)
- Bug 1249550 (part 2) - Add a test. r=tn. (d3c61944de)
- Bug 1255675. SurfacePipe handles removing the frame rect, so pass the frame rect directly. (ef71f57a9a)
- Bug 1255104 - Use SurfacePipe in nsIconDecoder. r=njn (e10c6c8a29)
- Bug 1120141. Don't use surface with alpha for first frames of all pngs. r=edwin (5e5ffc4465)
- Bug 1265631 - patch 1 - Add line-break data from Unicode's LineBreak.txt to nsUnicodeProperties for builds without ICU. r=masayuki (9873992421)
- Bug 1265631 - patch 2 - Implement GetLineBreakClass() accessor to get Unicode line-break class from ICU or nsUnicodeProperties data. r=masayuki (fe7fcbf270)
- Bug 1265631 - Reftests for line-breaking with supplementary-plane characters. r=masayuki (55e1974356)
- Bug 1265631 - patch 3 - Add surrogate support to nsJISx4051LineBreaker so that supplementary-plane characters get correct line-breaking behavior. r=masayuki (ef24e8efc5)
- Bug 1265631 - followup with adjustments for review comments on patch 3. no_r=me (4fbc8d5a98)
- Bug 1128454 - Fix IPDL test (r=jimm) (82cb7e77fa)
- Bug 1254373: Make TestDemon build on Windows; r=billm (11eeb63019)
- Bug 1227327 - Use regular background image display items for painting button backgrounds. r=mattwoodrow (7a36d30032)
- Bug 1255022 - Make the test_transformed_scrolling_repaints* tests mochitest-plain instead of mochitest-chrome. r=mstange (3d150690e7)
- Bug 1268195 - When restoring a scroll position outside of incremental load, don't keep trying in a loop - just do it once and stop. r=tnikkel (ab9f4f57ab)
- Bug 1265256 - Use the canvas positioning area when computing the background-attachment:fixed rect for canvas frames. r=mstange (3dda1b8beb)
- Bug 623432 part 1 - When the target scroll point is at the screen edge and no scrolling occured, then try to scroll 10px in that direction anyway. r=tn (f9952f107d)
- Bug 623432 part 2 - Ignore scrollbars while drag-selecting content. r=tn (ca26f1145e)
- Bug 623432 part 3 - Check nsFrameSelection::GetDragState() earlier to optimize away some more expensive calls. r=tn (6d540874e2)
- Bug 1269539 - Ensure that the scroll position is restored properly on reloading a page which loads incrementally. r=tnikkel (1e018dca29)
- Bug 1239808 - Fix mozharness mach command for test_packages.json retrieval. r=jlund (9639ec1459)
- Bug 1248097, part 1 - Fix indentation in SpecialPowersObserver.jsm. r=jmaher (75ed8bf7b9)
- Bug 1248097, part 2 - If no name is specified for createFiles, use createUnique to create one. r=jmaher (aa9b8b60f7)
- Bug 1248097, part 3 - Add file creation support for options. r=jmaher (9086ae5f9c)
- Bug 1248097, part 4 - Don't throw away the _createdFiles array every time. r=jmaher (4a7732a4d4)
- Bug 1241576 - Convert testing/ to use channel.open2() (r=sicking) (ecadf38f7b)
- Bug 1251139 - Support running a function in the parent with loadChromeScript. r=jmaher (50377424bb)
- Bug 1153128 - Add sendSyncMessage to SpecialPowers.loadChromeScript. =jmaher (f53c487b0c)
- bug 1254091 convert test_mousecapture.xul to mochitest-plain so we can run it in e10s, r=enndeakin (900bce80cf)
- Bug 1254091 - part 2: fix focus messaging from SpecialPowers to refer to the right window, r=enndeakin (4ec66a9b8f)
- Bug 1258534 - Port test_bug599295.html to mochitest-plain so that it can be turned on in e10s mode; r=mrbkap (2a669777de)
- Bug 1260076 - [Mochitest] implement SpecialPowers.loadPrivilegedScript, r=bholley (8e2076f952)
- Bug 1252750 - Part 1: Create a helper function on SpecialPowersAPI which creates a nested event queue and spins it for a bit. r=mrbkap (fdefa1a3d6)
- Bug 1205358 - Fix up nsUrlClassifierPrefixSet memory reporting. r=gcp. (1c9d78607d)
- Bug 1244259 - Limit PrefixSet read and write buffer sizes to file size. r=froydnj (0906574833)
- Bug 1247615 - Fix off-by-one error in PrefixSet Delta storage compaction. r=froydnj (b72f052289)
- Bug 1219482: Replace PRLogModuleInfo with LazyLogModule in toolkit subdirectory.r=erahm (9d00df5d13)
- Bug 1213400 - Fix crash in broken Safe Browsing list updates. r=gcp (a073ec1a8f)
- Bug 1160263: Don't allow add-ons to override the periodic XPI signature check. r=rstrong (1ef54384cc)
- Bug 1180273 - Adding missing 'this' pointer when forwarding newChannel2 calls (r=gijs,sicking) (b173efdff4)
- Bug 1147562 - Update remaining callsites of newChannel before landing the shim in b2g/ (r=sicking) (10ab6df542)
- Bug 1194087 - MailtoProtocolHandler, SmsProtocolHandler, and TelProtocolHandler will all fire twice after introduction of newChannel2 r=asuth (ff7cc15c67)
- Bug 1204703 - Add AsyncOpen2 to channels in toolkit/ and b2g/ (r=sicking) (8d4b8ad5c6)
- Bug 1264383 - makeFilteringListener breaks eventremoval with shims. r=mconley (6a9d6d5079)
- Bug 1256468 - sessionHistory shim should QI DocShell to nsIWebNavigation automatically. r=krizsa (9a111454cb)
- Bug 1164011 - Test for CPOW shims. r=mconley (bbf7880955)
- Bug 1236409 - Remove toolkit impl of XUL prompt for nsICookiePromptService r=margaret (9f620ba65a)
- Bug 1236259 - Quote MOZ_APP_ID; r=gps (58b8e287b8)
- Bug 1174036 - Handle dynamically-removed textareas gracefully. r=mikedeboer r=ehsan (0797d45e3b)
- Bug 1259531 - [e10s] Fix test_bug451286.xul to run in e10s by converting to a mochitest-browser test. r=mikedeboer (00539d564c)
- Bug 1237798 - Use correct Components object inside CommonJS. r=Yoric (895beb28e2)
- Bug 1188158 - Move nsIPrivateBrowsingTrackingProtectionWhitelist to its own component in toolkit; r=jdm (6c75ab641b)
- Bug 1221537 - Provide a flash.bat script for Windows to device image builds (especially aries). r=fabrice (3eb8a25c0a)
- Bug 1232285 - The Terminator's notion of ticks is incorrect. r=Yoric (bc2688343c)
- Bug 1252382 - Get rid of PR_Sleep in the terminator;r=froydnj (a76de950df)
- Bug 1242084 - nsTerminator::UpdateTelemetry() leaks 8 byte nsStringBuffer when app.update.channel gets set to Beta. r=gfritzsche (56902dc11b)
- align some tests (e5179f8158)
- Bug 1260908 - Allow keyed histograms to accumulate early in startup (r=gfritzsche) (1852efe810)
- Bug 1254550 - Make Telemetry configuration consistent across builds. r=gfritzsche (16dcbf9a83)
2024-09-20 11:27:24 +08:00

274 lines
8.6 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(2da17016-7851-4a45-a7a8-00b360e01595)]
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);
[noscript] readonly attribute boolean loadCompleted;
/**
* 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);
/**
* Instruct the refresh driver to discontinue painting until further
* notice.
*/
void pausePainting();
/**
* Instruct the refresh driver to resume painting after a previous call to
* pausePainting().
*/
void resumePainting();
/*
* 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();
};