Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/nsIDocShell.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /src/mozilla-central/docshell/base/nsIDocShell.idl
3
 */
4
5
#ifndef __gen_nsIDocShell_h__
6
#define __gen_nsIDocShell_h__
7
8
9
#ifndef __gen_domstubs_h__
10
#include "domstubs.h"
11
#endif
12
13
#ifndef __gen_nsIDocShellTreeItem_h__
14
#include "nsIDocShellTreeItem.h"
15
#endif
16
17
#ifndef __gen_nsIRequest_h__
18
#include "nsIRequest.h"
19
#endif
20
21
#include "js/Value.h"
22
23
#include "mozilla/AlreadyAddRefed.h"
24
#include "mozilla/Assertions.h"
25
#include "mozilla/DebugOnly.h"
26
27
/* For IDL files that don't want to include root IDL files. */
28
#ifndef NS_NO_VTABLE
29
#define NS_NO_VTABLE
30
#endif
31
#include "js/TypeDecls.h"
32
#include "mozilla/Maybe.h"
33
#include "mozilla/NotNull.h"
34
#include "mozilla/UniquePtr.h"
35
#include "nsCOMPtr.h"
36
#include "nsIURI.h"
37
class nsPresContext;
38
class nsIPresShell;
39
class nsDocShellLoadInfo;
40
namespace mozilla {
41
class Encoding;
42
class HTMLEditor;
43
namespace dom {
44
class BrowsingContext;
45
class ClientSource;
46
} // namespace dom
47
}
48
class nsIURI; /* forward declaration */
49
50
class nsIChannel; /* forward declaration */
51
52
class nsIContentViewer; /* forward declaration */
53
54
class nsIDocShellLoadInfo; /* forward declaration */
55
56
class nsIEditor; /* forward declaration */
57
58
class nsIEditingSession; /* forward declaration */
59
60
class nsISimpleEnumerator; /* forward declaration */
61
62
class nsIInputStream; /* forward declaration */
63
64
class nsIRequest; /* forward declaration */
65
66
class nsISHEntry; /* forward declaration */
67
68
class nsILayoutHistoryState; /* forward declaration */
69
70
class nsISecureBrowserUI; /* forward declaration */
71
72
class nsIScriptGlobalObject; /* forward declaration */
73
74
class nsIDOMStorage; /* forward declaration */
75
76
class nsIPrincipal; /* forward declaration */
77
78
class nsIWebBrowserPrint; /* forward declaration */
79
80
class nsIPrivacyTransitionObserver; /* forward declaration */
81
82
class nsIReflowObserver; /* forward declaration */
83
84
class nsIScrollObserver; /* forward declaration */
85
86
class nsITabParent; /* forward declaration */
87
88
class nsITabChild; /* forward declaration */
89
90
class nsICommandManager; /* forward declaration */
91
92
class nsICommandParams; /* forward declaration */
93
94
class nsILoadURIDelegate; /* forward declaration */
95
96
namespace mozilla {
97
namespace dom {
98
class BrowsingContext; /* webidl BrowsingContext */
99
} // namespace dom
100
} // namespace mozilla
101
102
namespace mozilla {
103
namespace dom {
104
class ContentFrameMessageManager; /* webidl ContentFrameMessageManager */
105
} // namespace dom
106
} // namespace mozilla
107
108
namespace mozilla {
109
namespace dom {
110
class EventTarget; /* webidl EventTarget */
111
} // namespace dom
112
} // namespace mozilla
113
114
115
/* starting interface:    nsIDocShell */
116
#define NS_IDOCSHELL_IID_STR "049234fe-da10-478b-bc5d-bc6f9a1ba63d"
117
118
#define NS_IDOCSHELL_IID \
119
  {0x049234fe, 0xda10, 0x478b, \
120
    { 0xbc, 0x5d, 0xbc, 0x6f, 0x9a, 0x1b, 0xa6, 0x3d }}
121
122
class nsIDocShell : public nsIDocShellTreeItem {
123
 public:
124
125
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOCSHELL_IID)
126
127
  /* [noscript] void loadURI (in nsIURI uri, in nsDocShellLoadInfoPtr loadInfo, in unsigned long aLoadFlags, in boolean firstParty); */
128
  NS_IMETHOD LoadURI(nsIURI *uri, nsDocShellLoadInfo* loadInfo, uint32_t aLoadFlags, bool firstParty) = 0;
129
130
  enum {
131
    INTERNAL_LOAD_FLAGS_NONE = 0,
132
    INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL = 1,
133
    INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER = 2,
134
    INTERNAL_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP = 4,
135
    INTERNAL_LOAD_FLAGS_FIRST_LOAD = 8,
136
    INTERNAL_LOAD_FLAGS_BYPASS_CLASSIFIER = 16,
137
    INTERNAL_LOAD_FLAGS_FORCE_ALLOW_COOKIES = 32,
138
    INTERNAL_LOAD_FLAGS_IS_SRCDOC = 64,
139
    INTERNAL_LOAD_FLAGS_ORIGINAL_FRAME_SRC = 128,
140
    INTERNAL_LOAD_FLAGS_NO_OPENER = 256,
141
    INTERNAL_LOAD_FLAGS_FORCE_ALLOW_DATA_URI = 512,
142
    INTERNAL_LOAD_FLAGS_IS_USER_TRIGGERED = 4096
143
  };
144
145
  /* [noscript] void internalLoad (in nsIURI aURI, in nsIURI aOriginalURI, [const] in MaybeURI aResultPrincipalURI, in bool aKeepResultPrincipalURIIfSet, in boolean aLoadReplace, in nsIURI aReferrer, in unsigned long aReferrerPolicy, in nsIPrincipal aTriggeringPrincipal, in nsIPrincipal aPrincipalToInherit, in uint32_t aFlags, in AString aWindowTarget, in string aTypeHint, in AString aFileName, in nsIInputStream aPostDataStream, in nsIInputStream aHeadersStream, in unsigned long aLoadFlags, in nsISHEntry aSHEntry, in boolean aFirstParty, in AString aSrcdoc, in nsIDocShell aSourceDocShell, in nsIURI aBaseURI, out nsIDocShell aDocShell, out nsIRequest aRequest); */
146
  NS_IMETHOD InternalLoad(nsIURI *aURI, nsIURI *aOriginalURI, const mozilla::Maybe<nsCOMPtr<nsIURI>> & aResultPrincipalURI, bool aKeepResultPrincipalURIIfSet, bool aLoadReplace, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsIPrincipal *aTriggeringPrincipal, nsIPrincipal *aPrincipalToInherit, uint32_t aFlags, const nsAString& aWindowTarget, const char * aTypeHint, const nsAString& aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool aFirstParty, const nsAString& aSrcdoc, nsIDocShell *aSourceDocShell, nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest) = 0;
147
148
  /* [implicit_jscontext] void addState (in jsval aData, in DOMString aTitle, in DOMString aURL, in boolean aReplace); */
149
  NS_IMETHOD AddState(JS::HandleValue aData, const nsAString& aTitle, const nsAString& aURL, bool aReplace, JSContext* cx) = 0;
150
151
  /* void prepareForNewContentModel (); */
152
  NS_IMETHOD PrepareForNewContentModel(void) = 0;
153
154
  /* void setCurrentURI (in nsIURI aURI); */
155
  NS_IMETHOD SetCurrentURI(nsIURI *aURI) = 0;
156
157
  /* [noscript] void firePageHideNotification (in boolean isUnload); */
158
  NS_IMETHOD FirePageHideNotification(bool isUnload) = 0;
159
160
  /* [noscript] readonly attribute nsPresContext presContext; */
161
  NS_IMETHOD GetPresContext(nsPresContext * * aPresContext) = 0;
162
163
  /* [noscript,notxpcom] nsIPresShell GetPresShell (); */
164
  NS_IMETHOD_(nsIPresShell *) GetPresShell(void) = 0;
165
166
  /* [noscript] readonly attribute nsIPresShell eldestPresShell; */
167
  NS_IMETHOD GetEldestPresShell(nsIPresShell * * aEldestPresShell) = 0;
168
169
  /* readonly attribute nsIContentViewer contentViewer; */
170
  NS_IMETHOD GetContentViewer(nsIContentViewer **aContentViewer) = 0;
171
172
  /* attribute EventTarget chromeEventHandler; */
173
  NS_IMETHOD GetChromeEventHandler(mozilla::dom::EventTarget **aChromeEventHandler) = 0;
174
  NS_IMETHOD SetChromeEventHandler(mozilla::dom::EventTarget *aChromeEventHandler) = 0;
175
176
  /* attribute DOMString customUserAgent; */
177
  NS_IMETHOD GetCustomUserAgent(nsAString& aCustomUserAgent) = 0;
178
  NS_IMETHOD SetCustomUserAgent(const nsAString& aCustomUserAgent) = 0;
179
180
  /* attribute boolean cssErrorReportingEnabled; */
181
  NS_IMETHOD GetCssErrorReportingEnabled(bool *aCssErrorReportingEnabled) = 0;
182
  NS_IMETHOD SetCssErrorReportingEnabled(bool aCssErrorReportingEnabled) = 0;
183
184
  /* attribute boolean allowPlugins; */
185
  NS_IMETHOD GetAllowPlugins(bool *aAllowPlugins) = 0;
186
  NS_IMETHOD SetAllowPlugins(bool aAllowPlugins) = 0;
187
188
  /* attribute boolean allowJavascript; */
189
  NS_IMETHOD GetAllowJavascript(bool *aAllowJavascript) = 0;
190
  NS_IMETHOD SetAllowJavascript(bool aAllowJavascript) = 0;
191
192
  /* attribute boolean allowMetaRedirects; */
193
  NS_IMETHOD GetAllowMetaRedirects(bool *aAllowMetaRedirects) = 0;
194
  NS_IMETHOD SetAllowMetaRedirects(bool aAllowMetaRedirects) = 0;
195
196
  /* attribute boolean allowSubframes; */
197
  NS_IMETHOD GetAllowSubframes(bool *aAllowSubframes) = 0;
198
  NS_IMETHOD SetAllowSubframes(bool aAllowSubframes) = 0;
199
200
  /* attribute boolean allowImages; */
201
  NS_IMETHOD GetAllowImages(bool *aAllowImages) = 0;
202
  NS_IMETHOD SetAllowImages(bool aAllowImages) = 0;
203
204
  /* [infallible] attribute boolean allowMedia; */
205
  NS_IMETHOD GetAllowMedia(bool *aAllowMedia) = 0;
206
  inline bool GetAllowMedia()
207
0
  {
208
0
    bool result;
209
0
    mozilla::DebugOnly<nsresult> rv = GetAllowMedia(&result);
210
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
211
0
    return result;
212
0
  }
213
  NS_IMETHOD SetAllowMedia(bool aAllowMedia) = 0;
214
215
  /* attribute boolean allowDNSPrefetch; */
216
  NS_IMETHOD GetAllowDNSPrefetch(bool *aAllowDNSPrefetch) = 0;
217
  NS_IMETHOD SetAllowDNSPrefetch(bool aAllowDNSPrefetch) = 0;
218
219
  /* attribute boolean allowWindowControl; */
220
  NS_IMETHOD GetAllowWindowControl(bool *aAllowWindowControl) = 0;
221
  NS_IMETHOD SetAllowWindowControl(bool aAllowWindowControl) = 0;
222
223
  /* [infallible] attribute boolean allowContentRetargeting; */
224
  NS_IMETHOD GetAllowContentRetargeting(bool *aAllowContentRetargeting) = 0;
225
  inline bool GetAllowContentRetargeting()
226
0
  {
227
0
    bool result;
228
0
    mozilla::DebugOnly<nsresult> rv = GetAllowContentRetargeting(&result);
229
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
230
0
    return result;
231
0
  }
232
  NS_IMETHOD SetAllowContentRetargeting(bool aAllowContentRetargeting) = 0;
233
234
  /* [infallible] attribute boolean allowContentRetargetingOnChildren; */
235
  NS_IMETHOD GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren) = 0;
236
  inline bool GetAllowContentRetargetingOnChildren()
237
0
  {
238
0
    bool result;
239
0
    mozilla::DebugOnly<nsresult> rv = GetAllowContentRetargetingOnChildren(&result);
240
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
241
0
    return result;
242
0
  }
243
  NS_IMETHOD SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren) = 0;
244
245
  /* [infallible] attribute boolean inheritPrivateBrowsingId; */
246
  NS_IMETHOD GetInheritPrivateBrowsingId(bool *aInheritPrivateBrowsingId) = 0;
247
  inline bool GetInheritPrivateBrowsingId()
248
0
  {
249
0
    bool result;
250
0
    mozilla::DebugOnly<nsresult> rv = GetInheritPrivateBrowsingId(&result);
251
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
252
0
    return result;
253
0
  }
254
  NS_IMETHOD SetInheritPrivateBrowsingId(bool aInheritPrivateBrowsingId) = 0;
255
256
  enum {
257
    ENUMERATE_FORWARDS = 0,
258
    ENUMERATE_BACKWARDS = 1
259
  };
260
261
  /* nsISimpleEnumerator getDocShellEnumerator (in long aItemType, in long aDirection); */
262
  NS_IMETHOD GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval) = 0;
263
264
  enum {
265
    APP_TYPE_UNKNOWN = 0U,
266
    APP_TYPE_MAIL = 1U,
267
    APP_TYPE_EDITOR = 2U
268
  };
269
270
  /* attribute unsigned long appType; */
271
  NS_IMETHOD GetAppType(uint32_t *aAppType) = 0;
272
  NS_IMETHOD SetAppType(uint32_t aAppType) = 0;
273
274
  /* attribute boolean allowAuth; */
275
  NS_IMETHOD GetAllowAuth(bool *aAllowAuth) = 0;
276
  NS_IMETHOD SetAllowAuth(bool aAllowAuth) = 0;
277
278
  /* attribute float zoom; */
279
  NS_IMETHOD GetZoom(float *aZoom) = 0;
280
  NS_IMETHOD SetZoom(float aZoom) = 0;
281
282
  /* attribute long marginWidth; */
283
  NS_IMETHOD GetMarginWidth(int32_t *aMarginWidth) = 0;
284
  NS_IMETHOD SetMarginWidth(int32_t aMarginWidth) = 0;
285
286
  /* attribute long marginHeight; */
287
  NS_IMETHOD GetMarginHeight(int32_t *aMarginHeight) = 0;
288
  NS_IMETHOD SetMarginHeight(int32_t aMarginHeight) = 0;
289
290
  /* bool tabToTreeOwner (in boolean forward, in boolean forDocumentNavigation); */
291
  NS_IMETHOD TabToTreeOwner(bool forward, bool forDocumentNavigation, bool *_retval) = 0;
292
293
  enum {
294
    BUSY_FLAGS_NONE = 0U,
295
    BUSY_FLAGS_BUSY = 1U,
296
    BUSY_FLAGS_BEFORE_PAGE_LOAD = 2U,
297
    BUSY_FLAGS_PAGE_LOADING = 4U,
298
    LOAD_CMD_NORMAL = 1U,
299
    LOAD_CMD_RELOAD = 2U,
300
    LOAD_CMD_HISTORY = 4U,
301
    LOAD_CMD_PUSHSTATE = 8U
302
  };
303
304
  /* readonly attribute unsigned long busyFlags; */
305
  NS_IMETHOD GetBusyFlags(uint32_t *aBusyFlags) = 0;
306
307
  /* attribute unsigned long loadType; */
308
  NS_IMETHOD GetLoadType(uint32_t *aLoadType) = 0;
309
  NS_IMETHOD SetLoadType(uint32_t aLoadType) = 0;
310
311
  /* attribute nsLoadFlags defaultLoadFlags; */
312
  NS_IMETHOD GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags) = 0;
313
  NS_IMETHOD SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags) = 0;
314
315
  /* boolean isBeingDestroyed (); */
316
  NS_IMETHOD IsBeingDestroyed(bool *_retval) = 0;
317
318
  /* readonly attribute boolean isExecutingOnLoadHandler; */
319
  NS_IMETHOD GetIsExecutingOnLoadHandler(bool *aIsExecutingOnLoadHandler) = 0;
320
321
  /* attribute nsILayoutHistoryState layoutHistoryState; */
322
  NS_IMETHOD GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState) = 0;
323
  NS_IMETHOD SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState) = 0;
324
325
  /* readonly attribute boolean shouldSaveLayoutState; */
326
  NS_IMETHOD GetShouldSaveLayoutState(bool *aShouldSaveLayoutState) = 0;
327
328
  /* attribute nsISecureBrowserUI securityUI; */
329
  NS_IMETHOD GetSecurityUI(nsISecureBrowserUI **aSecurityUI) = 0;
330
  NS_IMETHOD SetSecurityUI(nsISecureBrowserUI *aSecurityUI) = 0;
331
332
  /* attribute nsILoadURIDelegate loadURIDelegate; */
333
  NS_IMETHOD GetLoadURIDelegate(nsILoadURIDelegate **aLoadURIDelegate) = 0;
334
  NS_IMETHOD SetLoadURIDelegate(nsILoadURIDelegate *aLoadURIDelegate) = 0;
335
336
  /* void suspendRefreshURIs (); */
337
  NS_IMETHOD SuspendRefreshURIs(void) = 0;
338
339
  /* void resumeRefreshURIs (); */
340
  NS_IMETHOD ResumeRefreshURIs(void) = 0;
341
342
  /* void beginRestore (in nsIContentViewer viewer, in boolean top); */
343
  NS_IMETHOD BeginRestore(nsIContentViewer *viewer, bool top) = 0;
344
345
  /* void finishRestore (); */
346
  NS_IMETHOD FinishRestore(void) = 0;
347
348
  /* readonly attribute boolean restoringDocument; */
349
  NS_IMETHOD GetRestoringDocument(bool *aRestoringDocument) = 0;
350
351
  /* attribute boolean useErrorPages; */
352
  NS_IMETHOD GetUseErrorPages(bool *aUseErrorPages) = 0;
353
  NS_IMETHOD SetUseErrorPages(bool aUseErrorPages) = 0;
354
355
  /* boolean displayLoadError (in nsresult aError, in nsIURI aURI, in wstring aURL, [optional] in nsIChannel aFailedChannel); */
356
  NS_IMETHOD DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t * aURL, nsIChannel *aFailedChannel, bool *_retval) = 0;
357
358
  /* readonly attribute nsIChannel failedChannel; */
359
  NS_IMETHOD GetFailedChannel(nsIChannel **aFailedChannel) = 0;
360
361
  /* readonly attribute long previousEntryIndex; */
362
  NS_IMETHOD GetPreviousEntryIndex(int32_t *aPreviousEntryIndex) = 0;
363
364
  /* readonly attribute long loadedEntryIndex; */
365
  NS_IMETHOD GetLoadedEntryIndex(int32_t *aLoadedEntryIndex) = 0;
366
367
  /* void historyPurged (in long numEntries); */
368
  NS_IMETHOD HistoryPurged(int32_t numEntries) = 0;
369
370
  /* readonly attribute nsIChannel currentDocumentChannel; */
371
  NS_IMETHOD GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel) = 0;
372
373
  /* [noscript] attribute long childOffset; */
374
  NS_IMETHOD GetChildOffset(int32_t *aChildOffset) = 0;
375
  NS_IMETHOD SetChildOffset(int32_t aChildOffset) = 0;
376
377
  /* readonly attribute boolean isInUnload; */
378
  NS_IMETHOD GetIsInUnload(bool *aIsInUnload) = 0;
379
380
  /* [infallible] readonly attribute boolean hasMixedActiveContentLoaded; */
381
  NS_IMETHOD GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded) = 0;
382
  inline bool GetHasMixedActiveContentLoaded()
383
0
  {
384
0
    bool result;
385
0
    mozilla::DebugOnly<nsresult> rv = GetHasMixedActiveContentLoaded(&result);
386
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
387
0
    return result;
388
0
  }
389
390
  /* [infallible] readonly attribute boolean hasMixedActiveContentBlocked; */
391
  NS_IMETHOD GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked) = 0;
392
  inline bool GetHasMixedActiveContentBlocked()
393
0
  {
394
0
    bool result;
395
0
    mozilla::DebugOnly<nsresult> rv = GetHasMixedActiveContentBlocked(&result);
396
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
397
0
    return result;
398
0
  }
399
400
  /* [infallible] readonly attribute boolean hasMixedDisplayContentLoaded; */
401
  NS_IMETHOD GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded) = 0;
402
  inline bool GetHasMixedDisplayContentLoaded()
403
0
  {
404
0
    bool result;
405
0
    mozilla::DebugOnly<nsresult> rv = GetHasMixedDisplayContentLoaded(&result);
406
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
407
0
    return result;
408
0
  }
409
410
  /* [infallible] readonly attribute boolean hasMixedDisplayContentBlocked; */
411
  NS_IMETHOD GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked) = 0;
412
  inline bool GetHasMixedDisplayContentBlocked()
413
0
  {
414
0
    bool result;
415
0
    mozilla::DebugOnly<nsresult> rv = GetHasMixedDisplayContentBlocked(&result);
416
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
417
0
    return result;
418
0
  }
419
420
  /* [infallible] readonly attribute boolean hasTrackingContentBlocked; */
421
  NS_IMETHOD GetHasTrackingContentBlocked(bool *aHasTrackingContentBlocked) = 0;
422
  inline bool GetHasTrackingContentBlocked()
423
0
  {
424
0
    bool result;
425
0
    mozilla::DebugOnly<nsresult> rv = GetHasTrackingContentBlocked(&result);
426
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
427
0
    return result;
428
0
  }
429
430
  /* [infallible] readonly attribute boolean hasTrackingContentLoaded; */
431
  NS_IMETHOD GetHasTrackingContentLoaded(bool *aHasTrackingContentLoaded) = 0;
432
  inline bool GetHasTrackingContentLoaded()
433
0
  {
434
0
    bool result;
435
0
    mozilla::DebugOnly<nsresult> rv = GetHasTrackingContentLoaded(&result);
436
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
437
0
    return result;
438
0
  }
439
440
  /* [infallible] readonly attribute boolean hasSlowTrackingContentBlocked; */
441
  NS_IMETHOD GetHasSlowTrackingContentBlocked(bool *aHasSlowTrackingContentBlocked) = 0;
442
  inline bool GetHasSlowTrackingContentBlocked()
443
0
  {
444
0
    bool result;
445
0
    mozilla::DebugOnly<nsresult> rv = GetHasSlowTrackingContentBlocked(&result);
446
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
447
0
    return result;
448
0
  }
449
450
  /* [infallible] readonly attribute boolean hasCookiesBlockedByPermission; */
451
  NS_IMETHOD GetHasCookiesBlockedByPermission(bool *aHasCookiesBlockedByPermission) = 0;
452
  inline bool GetHasCookiesBlockedByPermission()
453
0
  {
454
0
    bool result;
455
0
    mozilla::DebugOnly<nsresult> rv = GetHasCookiesBlockedByPermission(&result);
456
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
457
0
    return result;
458
0
  }
459
460
  /* [infallible] readonly attribute boolean hasCookiesBlockedDueToTrackers; */
461
  NS_IMETHOD GetHasCookiesBlockedDueToTrackers(bool *aHasCookiesBlockedDueToTrackers) = 0;
462
  inline bool GetHasCookiesBlockedDueToTrackers()
463
0
  {
464
0
    bool result;
465
0
    mozilla::DebugOnly<nsresult> rv = GetHasCookiesBlockedDueToTrackers(&result);
466
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
467
0
    return result;
468
0
  }
469
470
  /* [infallible] readonly attribute boolean hasAllCookiesBeenBlocked; */
471
  NS_IMETHOD GetHasAllCookiesBeenBlocked(bool *aHasAllCookiesBeenBlocked) = 0;
472
  inline bool GetHasAllCookiesBeenBlocked()
473
0
  {
474
0
    bool result;
475
0
    mozilla::DebugOnly<nsresult> rv = GetHasAllCookiesBeenBlocked(&result);
476
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
477
0
    return result;
478
0
  }
479
480
  /* [infallible] readonly attribute boolean hasForeignCookiesBeenBlocked; */
481
  NS_IMETHOD GetHasForeignCookiesBeenBlocked(bool *aHasForeignCookiesBeenBlocked) = 0;
482
  inline bool GetHasForeignCookiesBeenBlocked()
483
0
  {
484
0
    bool result;
485
0
    mozilla::DebugOnly<nsresult> rv = GetHasForeignCookiesBeenBlocked(&result);
486
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
487
0
    return result;
488
0
  }
489
490
  /* [noscript,notxpcom] void DetachEditorFromWindow (); */
491
  NS_IMETHOD_(void) DetachEditorFromWindow(void) = 0;
492
493
  /* attribute boolean isOffScreenBrowser; */
494
  NS_IMETHOD GetIsOffScreenBrowser(bool *aIsOffScreenBrowser) = 0;
495
  NS_IMETHOD SetIsOffScreenBrowser(bool aIsOffScreenBrowser) = 0;
496
497
  /* void setIsPrinting (in boolean aIsPrinting); */
498
  NS_IMETHOD SetIsPrinting(bool aIsPrinting) = 0;
499
500
  /* readonly attribute nsIWebBrowserPrint printPreview; */
501
  NS_IMETHOD GetPrintPreview(nsIWebBrowserPrint **aPrintPreview) = 0;
502
503
  /* [infallible] readonly attribute boolean canExecuteScripts; */
504
  NS_IMETHOD GetCanExecuteScripts(bool *aCanExecuteScripts) = 0;
505
  inline bool GetCanExecuteScripts()
506
0
  {
507
0
    bool result;
508
0
    mozilla::DebugOnly<nsresult> rv = GetCanExecuteScripts(&result);
509
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
510
0
    return result;
511
0
  }
512
513
  /* attribute boolean isActive; */
514
  NS_IMETHOD GetIsActive(bool *aIsActive) = 0;
515
  NS_IMETHOD SetIsActive(bool aIsActive) = 0;
516
517
  /* readonly attribute nsIDPtr historyID; */
518
  NS_IMETHOD GetHistoryID(nsID * * aHistoryID) = 0;
519
520
  /* [noscript,notxpcom] nsID HistoryID (); */
521
  NS_IMETHOD_(const nsID) HistoryID(void) = 0;
522
523
  /* attribute boolean isAppTab; */
524
  NS_IMETHOD GetIsAppTab(bool *aIsAppTab) = 0;
525
  NS_IMETHOD SetIsAppTab(bool aIsAppTab) = 0;
526
527
  /* void createAboutBlankContentViewer (in nsIPrincipal aPrincipal); */
528
  NS_IMETHOD CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) = 0;
529
530
  /* [noscript] void forceCreateAboutBlankContentViewer (in nsIPrincipal aPrincipal); */
531
  NS_IMETHOD ForceCreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) = 0;
532
533
  /* attribute ACString charset; */
534
  NS_IMETHOD GetCharset(nsACString& aCharset) = 0;
535
  NS_IMETHOD SetCharset(const nsACString& aCharset) = 0;
536
537
  /* void gatherCharsetMenuTelemetry (); */
538
  NS_IMETHOD GatherCharsetMenuTelemetry(void) = 0;
539
540
  /* attribute ACString forcedCharset; */
541
  NS_IMETHOD GetForcedCharset(nsACString& aForcedCharset) = 0;
542
  NS_IMETHOD SetForcedCharset(const nsACString& aForcedCharset) = 0;
543
544
  /* [noscript,nostdcall,notxpcom] void setParentCharset (in Encoding parentCharset, in int32_t parentCharsetSource, in nsIPrincipal parentCharsetPrincipal); */
545
  virtual void SetParentCharset(const mozilla::Encoding* & parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal) = 0;
546
547
  /* [noscript,nostdcall,notxpcom] void getParentCharset (out Encoding parentCharset, out int32_t parentCharsetSource, out nsIPrincipal parentCharsetPrincipal); */
548
  virtual void GetParentCharset(const mozilla::Encoding* & parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal) = 0;
549
550
  /* [infallible] attribute boolean recordProfileTimelineMarkers; */
551
  NS_IMETHOD GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers) = 0;
552
  inline bool GetRecordProfileTimelineMarkers()
553
0
  {
554
0
    bool result;
555
0
    mozilla::DebugOnly<nsresult> rv = GetRecordProfileTimelineMarkers(&result);
556
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
557
0
    return result;
558
0
  }
559
  NS_IMETHOD SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers) = 0;
560
561
  /* DOMHighResTimeStamp now (); */
562
  NS_IMETHOD Now(DOMHighResTimeStamp *_retval) = 0;
563
564
  /* [implicit_jscontext] jsval popProfileTimelineMarkers (); */
565
  NS_IMETHOD PopProfileTimelineMarkers(JSContext* cx, JS::MutableHandleValue _retval) = 0;
566
567
  /* void addWeakPrivacyTransitionObserver (in nsIPrivacyTransitionObserver obs); */
568
  NS_IMETHOD AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs) = 0;
569
570
  /* void addWeakReflowObserver (in nsIReflowObserver obs); */
571
  NS_IMETHOD AddWeakReflowObserver(nsIReflowObserver *obs) = 0;
572
573
  /* void removeWeakReflowObserver (in nsIReflowObserver obs); */
574
  NS_IMETHOD RemoveWeakReflowObserver(nsIReflowObserver *obs) = 0;
575
576
  /* [noscript] void notifyReflowObservers (in bool interruptible, in DOMHighResTimeStamp start, in DOMHighResTimeStamp end); */
577
  NS_IMETHOD NotifyReflowObservers(bool interruptible, DOMHighResTimeStamp start, DOMHighResTimeStamp end) = 0;
578
579
  /* [noscript] void addWeakScrollObserver (in nsIScrollObserver obs); */
580
  NS_IMETHOD AddWeakScrollObserver(nsIScrollObserver *obs) = 0;
581
582
  /* [noscript] void removeWeakScrollObserver (in nsIScrollObserver obs); */
583
  NS_IMETHOD RemoveWeakScrollObserver(nsIScrollObserver *obs) = 0;
584
585
  /* [noscript] void notifyScrollObservers (); */
586
  NS_IMETHOD NotifyScrollObservers(void) = 0;
587
588
  enum {
589
    FRAME_TYPE_REGULAR = 0U,
590
    FRAME_TYPE_BROWSER = 1U
591
  };
592
593
  /* [infallible] attribute unsigned long frameType; */
594
  NS_IMETHOD GetFrameType(uint32_t *aFrameType) = 0;
595
  inline uint32_t GetFrameType()
596
0
  {
597
0
    uint32_t result;
598
0
    mozilla::DebugOnly<nsresult> rv = GetFrameType(&result);
599
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
600
0
    return result;
601
0
  }
602
  NS_IMETHOD SetFrameType(uint32_t aFrameType) = 0;
603
604
  /* [infallible] readonly attribute boolean isMozBrowser; */
605
  NS_IMETHOD GetIsMozBrowser(bool *aIsMozBrowser) = 0;
606
  inline bool GetIsMozBrowser()
607
0
  {
608
0
    bool result;
609
0
    mozilla::DebugOnly<nsresult> rv = GetIsMozBrowser(&result);
610
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
611
0
    return result;
612
0
  }
613
614
  /* [infallible] readonly attribute boolean isIsolatedMozBrowserElement; */
615
  NS_IMETHOD GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement) = 0;
616
  inline bool GetIsIsolatedMozBrowserElement()
617
0
  {
618
0
    bool result;
619
0
    mozilla::DebugOnly<nsresult> rv = GetIsIsolatedMozBrowserElement(&result);
620
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
621
0
    return result;
622
0
  }
623
624
  /* [infallible] readonly attribute boolean isInIsolatedMozBrowserElement; */
625
  NS_IMETHOD GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement) = 0;
626
  inline bool GetIsInIsolatedMozBrowserElement()
627
0
  {
628
0
    bool result;
629
0
    mozilla::DebugOnly<nsresult> rv = GetIsInIsolatedMozBrowserElement(&result);
630
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
631
0
    return result;
632
0
  }
633
634
  /* [infallible] readonly attribute boolean isInMozBrowser; */
635
  NS_IMETHOD GetIsInMozBrowser(bool *aIsInMozBrowser) = 0;
636
  inline bool GetIsInMozBrowser()
637
0
  {
638
0
    bool result;
639
0
    mozilla::DebugOnly<nsresult> rv = GetIsInMozBrowser(&result);
640
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
641
0
    return result;
642
0
  }
643
644
  /* [infallible] readonly attribute boolean isTopLevelContentDocShell; */
645
  NS_IMETHOD GetIsTopLevelContentDocShell(bool *aIsTopLevelContentDocShell) = 0;
646
  inline bool GetIsTopLevelContentDocShell()
647
0
  {
648
0
    bool result;
649
0
    mozilla::DebugOnly<nsresult> rv = GetIsTopLevelContentDocShell(&result);
650
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
651
0
    return result;
652
0
  }
653
654
  /* nsIDocShell getSameTypeParentIgnoreBrowserBoundaries (); */
655
  NS_IMETHOD GetSameTypeParentIgnoreBrowserBoundaries(nsIDocShell **_retval) = 0;
656
657
  /* nsIDocShell getSameTypeRootTreeItemIgnoreBrowserBoundaries (); */
658
  NS_IMETHOD GetSameTypeRootTreeItemIgnoreBrowserBoundaries(nsIDocShell **_retval) = 0;
659
660
  /* readonly attribute bool asyncPanZoomEnabled; */
661
  NS_IMETHOD GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled) = 0;
662
663
  /* attribute unsigned long sandboxFlags; */
664
  NS_IMETHOD GetSandboxFlags(uint32_t *aSandboxFlags) = 0;
665
  NS_IMETHOD SetSandboxFlags(uint32_t aSandboxFlags) = 0;
666
667
  /* attribute nsIDocShell onePermittedSandboxedNavigator; */
668
  NS_IMETHOD GetOnePermittedSandboxedNavigator(nsIDocShell **aOnePermittedSandboxedNavigator) = 0;
669
  NS_IMETHOD SetOnePermittedSandboxedNavigator(nsIDocShell *aOnePermittedSandboxedNavigator) = 0;
670
671
  /* [noscript,nostdcall,notxpcom] bool isSandboxedFrom (in nsIDocShell aTargetDocShell); */
672
  virtual bool IsSandboxedFrom(nsIDocShell *aTargetDocShell) = 0;
673
674
  /* attribute nsIChannel mixedContentChannel; */
675
  NS_IMETHOD GetMixedContentChannel(nsIChannel **aMixedContentChannel) = 0;
676
  NS_IMETHOD SetMixedContentChannel(nsIChannel *aMixedContentChannel) = 0;
677
678
  /* void GetAllowMixedContentAndConnectionData (out boolean rootHasSecureConnection, out boolean allowMixedContent, out boolean isRootDocShell); */
679
  NS_IMETHOD GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell) = 0;
680
681
  /* [noscript,notxpcom] bool pluginsAllowedInCurrentDoc (); */
682
  NS_IMETHOD_(bool) PluginsAllowedInCurrentDoc(void) = 0;
683
684
  /* [infallible] readonly attribute boolean fullscreenAllowed; */
685
  NS_IMETHOD GetFullscreenAllowed(bool *aFullscreenAllowed) = 0;
686
  inline bool GetFullscreenAllowed()
687
0
  {
688
0
    bool result;
689
0
    mozilla::DebugOnly<nsresult> rv = GetFullscreenAllowed(&result);
690
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
691
0
    return result;
692
0
  }
693
694
  /* void setFullscreenAllowed (in boolean allowed); */
695
  NS_IMETHOD SetFullscreenAllowed(bool allowed) = 0;
696
697
  /* [notxpcom] uint32_t orientationLock (); */
698
  NS_IMETHOD_(uint32_t) OrientationLock(void) = 0;
699
700
  /* [notxpcom] void setOrientationLock (in uint32_t orientationLock); */
701
  NS_IMETHOD_(void) SetOrientationLock(uint32_t orientationLock) = 0;
702
703
  /* [infallible,noscript] attribute boolean affectPrivateSessionLifetime; */
704
  NS_IMETHOD GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime) = 0;
705
  inline bool GetAffectPrivateSessionLifetime()
706
0
  {
707
0
    bool result;
708
0
    mozilla::DebugOnly<nsresult> rv = GetAffectPrivateSessionLifetime(&result);
709
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
710
0
    return result;
711
0
  }
712
  NS_IMETHOD SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime) = 0;
713
714
  /* [infallible] readonly attribute boolean mayEnableCharacterEncodingMenu; */
715
  NS_IMETHOD GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu) = 0;
716
  inline bool GetMayEnableCharacterEncodingMenu()
717
0
  {
718
0
    bool result;
719
0
    mozilla::DebugOnly<nsresult> rv = GetMayEnableCharacterEncodingMenu(&result);
720
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
721
0
    return result;
722
0
  }
723
724
  /* attribute nsIEditor editor; */
725
  NS_IMETHOD GetEditor(nsIEditor **aEditor) = 0;
726
  NS_IMETHOD SetEditor(nsIEditor *aEditor) = 0;
727
728
  /* readonly attribute boolean editable; */
729
  NS_IMETHOD GetEditable(bool *aEditable) = 0;
730
731
  /* readonly attribute boolean hasEditingSession; */
732
  NS_IMETHOD GetHasEditingSession(bool *aHasEditingSession) = 0;
733
734
  /* void makeEditable (in boolean inWaitForUriLoad); */
735
  NS_IMETHOD MakeEditable(bool inWaitForUriLoad) = 0;
736
737
  /* nsISHEntry getChildSHEntry (in long aChildOffset); */
738
  NS_IMETHOD GetChildSHEntry(int32_t aChildOffset, nsISHEntry **_retval) = 0;
739
740
  /* void addChildSHEntry (in nsISHEntry aCloneReference, in nsISHEntry aHistoryEntry, in long aChildOffset, in unsigned long aLoadType, in boolean aCloneChilden); */
741
  NS_IMETHOD AddChildSHEntry(nsISHEntry *aCloneReference, nsISHEntry *aHistoryEntry, int32_t aChildOffset, uint32_t aLoadType, bool aCloneChilden) = 0;
742
743
  /* attribute boolean useGlobalHistory; */
744
  NS_IMETHOD GetUseGlobalHistory(bool *aUseGlobalHistory) = 0;
745
  NS_IMETHOD SetUseGlobalHistory(bool aUseGlobalHistory) = 0;
746
747
  /* void removeFromSessionHistory (); */
748
  NS_IMETHOD RemoveFromSessionHistory(void) = 0;
749
750
  /* [infallible] attribute boolean createdDynamically; */
751
  NS_IMETHOD GetCreatedDynamically(bool *aCreatedDynamically) = 0;
752
  inline bool GetCreatedDynamically()
753
0
  {
754
0
    bool result;
755
0
    mozilla::DebugOnly<nsresult> rv = GetCreatedDynamically(&result);
756
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
757
0
    return result;
758
0
  }
759
  NS_IMETHOD SetCreatedDynamically(bool aCreatedDynamically) = 0;
760
761
  /* boolean getCurrentSHEntry (out nsISHEntry aEntry); */
762
  NS_IMETHOD GetCurrentSHEntry(nsISHEntry **aEntry, bool *_retval) = 0;
763
764
  /* boolean isCommandEnabled (in string command); */
765
  NS_IMETHOD IsCommandEnabled(const char * command, bool *_retval) = 0;
766
767
  /* void doCommand (in string command); */
768
  NS_IMETHOD DoCommand(const char * command) = 0;
769
770
  /* void doCommandWithParams (in string command, in nsICommandParams aParams); */
771
  NS_IMETHOD DoCommandWithParams(const char * command, nsICommandParams *aParams) = 0;
772
773
  /* [noscript,notxpcom] bool IsInvisible (); */
774
  NS_IMETHOD_(bool) IsInvisible(void) = 0;
775
776
  /* [noscript,notxpcom] void SetInvisible (in bool aIsInvisibleDochsell); */
777
  NS_IMETHOD_(void) SetInvisible(bool aIsInvisibleDochsell) = 0;
778
779
  /* [noscript,nostdcall,notxpcom] nsIScriptGlobalObject GetScriptGlobalObject (); */
780
  virtual nsIScriptGlobalObject * GetScriptGlobalObject(void) = 0;
781
782
  /* [infallible] attribute boolean deviceSizeIsPageSize; */
783
  NS_IMETHOD GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize) = 0;
784
  inline bool GetDeviceSizeIsPageSize()
785
0
  {
786
0
    bool result;
787
0
    mozilla::DebugOnly<nsresult> rv = GetDeviceSizeIsPageSize(&result);
788
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
789
0
    return result;
790
0
  }
791
  NS_IMETHOD SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize) = 0;
792
793
  /* [noscript,nostdcall,notxpcom] void setOpener (in nsITabParent aOpener); */
794
  virtual void SetOpener(nsITabParent *aOpener) = 0;
795
796
  /* [noscript,nostdcall,notxpcom] nsITabParent getOpener (); */
797
  virtual nsITabParent * GetOpener(void) = 0;
798
799
  /* [noscript,nostdcall,notxpcom] void notifyJSRunToCompletionStart (in string aReason, in wstring functionName, in wstring fileName, in unsigned long lineNumber, in jsval asyncStack, in string asyncCause); */
800
  virtual void NotifyJSRunToCompletionStart(const char * aReason, const char16_t * functionName, const char16_t * fileName, uint32_t lineNumber, JS::HandleValue asyncStack, const char * asyncCause) = 0;
801
802
  /* [noscript,nostdcall,notxpcom] void notifyJSRunToCompletionStop (); */
803
  virtual void NotifyJSRunToCompletionStop(void) = 0;
804
805
  /* [infallible] readonly attribute boolean hasLoadedNonBlankURI; */
806
  NS_IMETHOD GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI) = 0;
807
  inline bool GetHasLoadedNonBlankURI()
808
0
  {
809
0
    bool result;
810
0
    mozilla::DebugOnly<nsresult> rv = GetHasLoadedNonBlankURI(&result);
811
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
812
0
    return result;
813
0
  }
814
815
  /* attribute boolean windowDraggingAllowed; */
816
  NS_IMETHOD GetWindowDraggingAllowed(bool *aWindowDraggingAllowed) = 0;
817
  NS_IMETHOD SetWindowDraggingAllowed(bool aWindowDraggingAllowed) = 0;
818
819
  /* attribute boolean currentScrollRestorationIsManual; */
820
  NS_IMETHOD GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual) = 0;
821
  NS_IMETHOD SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual) = 0;
822
823
  /* [implicit_jscontext] jsval getOriginAttributes (); */
824
  NS_IMETHOD GetOriginAttributes(JSContext* cx, JS::MutableHandleValue _retval) = 0;
825
826
  /* [implicit_jscontext] void setOriginAttributes (in jsval aAttrs); */
827
  NS_IMETHOD SetOriginAttributes(JS::HandleValue aAttrs, JSContext* cx) = 0;
828
829
  /* readonly attribute nsIEditingSession editingSession; */
830
  NS_IMETHOD GetEditingSession(nsIEditingSession **aEditingSession) = 0;
831
832
  /* [binaryname(ScriptableTabChild)] readonly attribute nsITabChild tabChild; */
833
  NS_IMETHOD GetScriptableTabChild(nsITabChild **aTabChild) = 0;
834
835
  /* [noscript,nostdcall,notxpcom] TabChildRef GetTabChild (); */
836
  virtual already_AddRefed<nsITabChild> GetTabChild(void) = 0;
837
838
  /* [noscript,nostdcall,notxpcom] nsICommandManager GetCommandManager (); */
839
  virtual nsICommandManager * GetCommandManager(void) = 0;
840
841
  /* attribute unsigned long touchEventsOverride; */
842
  NS_IMETHOD GetTouchEventsOverride(uint32_t *aTouchEventsOverride) = 0;
843
  NS_IMETHOD SetTouchEventsOverride(uint32_t aTouchEventsOverride) = 0;
844
845
  enum {
846
    TOUCHEVENTS_OVERRIDE_DISABLED = 0U,
847
    TOUCHEVENTS_OVERRIDE_ENABLED = 1U,
848
    TOUCHEVENTS_OVERRIDE_NONE = 2U
849
  };
850
851
  /* [infallible] readonly attribute boolean isOnlyToplevelInTabGroup; */
852
  NS_IMETHOD GetIsOnlyToplevelInTabGroup(bool *aIsOnlyToplevelInTabGroup) = 0;
853
  inline bool GetIsOnlyToplevelInTabGroup()
854
0
  {
855
0
    bool result;
856
0
    mozilla::DebugOnly<nsresult> rv = GetIsOnlyToplevelInTabGroup(&result);
857
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
858
0
    return result;
859
0
  }
860
861
  /* [infallible] readonly attribute boolean awaitingLargeAlloc; */
862
  NS_IMETHOD GetAwaitingLargeAlloc(bool *aAwaitingLargeAlloc) = 0;
863
  inline bool GetAwaitingLargeAlloc()
864
0
  {
865
0
    bool result;
866
0
    mozilla::DebugOnly<nsresult> rv = GetAwaitingLargeAlloc(&result);
867
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
868
0
    return result;
869
0
  }
870
871
  /* attribute boolean useTrackingProtection; */
872
  NS_IMETHOD GetUseTrackingProtection(bool *aUseTrackingProtection) = 0;
873
  NS_IMETHOD SetUseTrackingProtection(bool aUseTrackingProtection) = 0;
874
875
  /* [noscript] void dispatchLocationChangeEvent (); */
876
  NS_IMETHOD DispatchLocationChangeEvent(void) = 0;
877
878
  /* [noscript,nostdcall,notxpcom] UniqueClientSource TakeInitialClientSource (); */
879
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeInitialClientSource(void) = 0;
880
881
  /* void setColorMatrix ([array, size_is (aMatrixLen)] in float aMatrix, [optional] in unsigned long aMatrixLen); */
882
  NS_IMETHOD SetColorMatrix(float *aMatrix, uint32_t aMatrixLen) = 0;
883
884
  /* void getColorMatrix ([optional] out unsigned long aMatrixLen, [array, size_is (aMatrixLen), retval] out float aMatrix); */
885
  NS_IMETHOD GetColorMatrix(uint32_t *aMatrixLen, float **aMatrix) = 0;
886
887
  /* void initSessionHistory (); */
888
  NS_IMETHOD InitSessionHistory(void) = 0;
889
890
   /**
891
   * These methods call nsDocShell::GetHTMLEditorInternal() and
892
   * nsDocShell::SetHTMLEditorInternal() with static_cast.
893
   */
894
  mozilla::HTMLEditor* GetHTMLEditor();
895
  nsresult SetHTMLEditor(mozilla::HTMLEditor* aHTMLEditor);
896
  void AttachBrowsingContext(nsIDocShell* aParentDocShell);
897
  void DetachBrowsingContext();
898
  /* readonly attribute BrowsingContext browsingContext; */
899
  NS_IMETHOD GetBrowsingContext(mozilla::dom::BrowsingContext **aBrowsingContext) = 0;
900
901
  enum {
902
    DISPLAY_MODE_BROWSER = 0U,
903
    DISPLAY_MODE_MINIMAL_UI = 1U,
904
    DISPLAY_MODE_STANDALONE = 2U,
905
    DISPLAY_MODE_FULLSCREEN = 3U
906
  };
907
908
  /* attribute unsigned long displayMode; */
909
  NS_IMETHOD GetDisplayMode(uint32_t *aDisplayMode) = 0;
910
  NS_IMETHOD SetDisplayMode(uint32_t aDisplayMode) = 0;
911
912
  /* [infallible] readonly attribute ContentFrameMessageManager messageManager; */
913
  NS_IMETHOD GetMessageManager(mozilla::dom::ContentFrameMessageManager **aMessageManager) = 0;
914
  inline already_AddRefed<mozilla::dom::ContentFrameMessageManager>GetMessageManager()
915
0
  {
916
0
    mozilla::dom::ContentFrameMessageManager* result = nullptr;
917
0
    mozilla::DebugOnly<nsresult> rv = GetMessageManager(&result);
918
0
    MOZ_ASSERT(NS_SUCCEEDED(rv));
919
0
    return already_AddRefed<mozilla::dom::ContentFrameMessageManager>(result);
920
0
  }
921
922
};
923
924
  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDocShell, NS_IDOCSHELL_IID)
925
926
/* Use this macro when declaring classes that implement this interface. */
927
#define NS_DECL_NSIDOCSHELL \
928
  NS_IMETHOD LoadURI(nsIURI *uri, nsDocShellLoadInfo* loadInfo, uint32_t aLoadFlags, bool firstParty) override; \
929
  NS_IMETHOD InternalLoad(nsIURI *aURI, nsIURI *aOriginalURI, const mozilla::Maybe<nsCOMPtr<nsIURI>> & aResultPrincipalURI, bool aKeepResultPrincipalURIIfSet, bool aLoadReplace, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsIPrincipal *aTriggeringPrincipal, nsIPrincipal *aPrincipalToInherit, uint32_t aFlags, const nsAString& aWindowTarget, const char * aTypeHint, const nsAString& aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool aFirstParty, const nsAString& aSrcdoc, nsIDocShell *aSourceDocShell, nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest) override; \
930
  NS_IMETHOD AddState(JS::HandleValue aData, const nsAString& aTitle, const nsAString& aURL, bool aReplace, JSContext* cx) override; \
931
  NS_IMETHOD PrepareForNewContentModel(void) override; \
932
  NS_IMETHOD SetCurrentURI(nsIURI *aURI) override; \
933
  NS_IMETHOD FirePageHideNotification(bool isUnload) override; \
934
  NS_IMETHOD GetPresContext(nsPresContext * * aPresContext) override; \
935
  NS_IMETHOD_(nsIPresShell *) GetPresShell(void) override; \
936
  NS_IMETHOD GetEldestPresShell(nsIPresShell * * aEldestPresShell) override; \
937
  NS_IMETHOD GetContentViewer(nsIContentViewer **aContentViewer) override; \
938
  NS_IMETHOD GetChromeEventHandler(mozilla::dom::EventTarget **aChromeEventHandler) override; \
939
  NS_IMETHOD SetChromeEventHandler(mozilla::dom::EventTarget *aChromeEventHandler) override; \
940
  NS_IMETHOD GetCustomUserAgent(nsAString& aCustomUserAgent) override; \
941
  NS_IMETHOD SetCustomUserAgent(const nsAString& aCustomUserAgent) override; \
942
  NS_IMETHOD GetCssErrorReportingEnabled(bool *aCssErrorReportingEnabled) override; \
943
  NS_IMETHOD SetCssErrorReportingEnabled(bool aCssErrorReportingEnabled) override; \
944
  NS_IMETHOD GetAllowPlugins(bool *aAllowPlugins) override; \
945
  NS_IMETHOD SetAllowPlugins(bool aAllowPlugins) override; \
946
  NS_IMETHOD GetAllowJavascript(bool *aAllowJavascript) override; \
947
  NS_IMETHOD SetAllowJavascript(bool aAllowJavascript) override; \
948
  NS_IMETHOD GetAllowMetaRedirects(bool *aAllowMetaRedirects) override; \
949
  NS_IMETHOD SetAllowMetaRedirects(bool aAllowMetaRedirects) override; \
950
  NS_IMETHOD GetAllowSubframes(bool *aAllowSubframes) override; \
951
  NS_IMETHOD SetAllowSubframes(bool aAllowSubframes) override; \
952
  NS_IMETHOD GetAllowImages(bool *aAllowImages) override; \
953
  NS_IMETHOD SetAllowImages(bool aAllowImages) override; \
954
  using nsIDocShell::GetAllowMedia; \
955
  NS_IMETHOD GetAllowMedia(bool *aAllowMedia) override; \
956
  NS_IMETHOD SetAllowMedia(bool aAllowMedia) override; \
957
  NS_IMETHOD GetAllowDNSPrefetch(bool *aAllowDNSPrefetch) override; \
958
  NS_IMETHOD SetAllowDNSPrefetch(bool aAllowDNSPrefetch) override; \
959
  NS_IMETHOD GetAllowWindowControl(bool *aAllowWindowControl) override; \
960
  NS_IMETHOD SetAllowWindowControl(bool aAllowWindowControl) override; \
961
  using nsIDocShell::GetAllowContentRetargeting; \
962
  NS_IMETHOD GetAllowContentRetargeting(bool *aAllowContentRetargeting) override; \
963
  NS_IMETHOD SetAllowContentRetargeting(bool aAllowContentRetargeting) override; \
964
  using nsIDocShell::GetAllowContentRetargetingOnChildren; \
965
  NS_IMETHOD GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren) override; \
966
  NS_IMETHOD SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren) override; \
967
  using nsIDocShell::GetInheritPrivateBrowsingId; \
968
  NS_IMETHOD GetInheritPrivateBrowsingId(bool *aInheritPrivateBrowsingId) override; \
969
  NS_IMETHOD SetInheritPrivateBrowsingId(bool aInheritPrivateBrowsingId) override; \
970
  NS_IMETHOD GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval) override; \
971
  NS_IMETHOD GetAppType(uint32_t *aAppType) override; \
972
  NS_IMETHOD SetAppType(uint32_t aAppType) override; \
973
  NS_IMETHOD GetAllowAuth(bool *aAllowAuth) override; \
974
  NS_IMETHOD SetAllowAuth(bool aAllowAuth) override; \
975
  NS_IMETHOD GetZoom(float *aZoom) override; \
976
  NS_IMETHOD SetZoom(float aZoom) override; \
977
  NS_IMETHOD GetMarginWidth(int32_t *aMarginWidth) override; \
978
  NS_IMETHOD SetMarginWidth(int32_t aMarginWidth) override; \
979
  NS_IMETHOD GetMarginHeight(int32_t *aMarginHeight) override; \
980
  NS_IMETHOD SetMarginHeight(int32_t aMarginHeight) override; \
981
  NS_IMETHOD TabToTreeOwner(bool forward, bool forDocumentNavigation, bool *_retval) override; \
982
  NS_IMETHOD GetBusyFlags(uint32_t *aBusyFlags) override; \
983
  NS_IMETHOD GetLoadType(uint32_t *aLoadType) override; \
984
  NS_IMETHOD SetLoadType(uint32_t aLoadType) override; \
985
  NS_IMETHOD GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags) override; \
986
  NS_IMETHOD SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags) override; \
987
  NS_IMETHOD IsBeingDestroyed(bool *_retval) override; \
988
  NS_IMETHOD GetIsExecutingOnLoadHandler(bool *aIsExecutingOnLoadHandler) override; \
989
  NS_IMETHOD GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState) override; \
990
  NS_IMETHOD SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState) override; \
991
  NS_IMETHOD GetShouldSaveLayoutState(bool *aShouldSaveLayoutState) override; \
992
  NS_IMETHOD GetSecurityUI(nsISecureBrowserUI **aSecurityUI) override; \
993
  NS_IMETHOD SetSecurityUI(nsISecureBrowserUI *aSecurityUI) override; \
994
  NS_IMETHOD GetLoadURIDelegate(nsILoadURIDelegate **aLoadURIDelegate) override; \
995
  NS_IMETHOD SetLoadURIDelegate(nsILoadURIDelegate *aLoadURIDelegate) override; \
996
  NS_IMETHOD SuspendRefreshURIs(void) override; \
997
  NS_IMETHOD ResumeRefreshURIs(void) override; \
998
  NS_IMETHOD BeginRestore(nsIContentViewer *viewer, bool top) override; \
999
  NS_IMETHOD FinishRestore(void) override; \
1000
  NS_IMETHOD GetRestoringDocument(bool *aRestoringDocument) override; \
1001
  NS_IMETHOD GetUseErrorPages(bool *aUseErrorPages) override; \
1002
  NS_IMETHOD SetUseErrorPages(bool aUseErrorPages) override; \
1003
  NS_IMETHOD DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t * aURL, nsIChannel *aFailedChannel, bool *_retval) override; \
1004
  NS_IMETHOD GetFailedChannel(nsIChannel **aFailedChannel) override; \
1005
  NS_IMETHOD GetPreviousEntryIndex(int32_t *aPreviousEntryIndex) override; \
1006
  NS_IMETHOD GetLoadedEntryIndex(int32_t *aLoadedEntryIndex) override; \
1007
  NS_IMETHOD HistoryPurged(int32_t numEntries) override; \
1008
  NS_IMETHOD GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel) override; \
1009
  NS_IMETHOD GetChildOffset(int32_t *aChildOffset) override; \
1010
  NS_IMETHOD SetChildOffset(int32_t aChildOffset) override; \
1011
  NS_IMETHOD GetIsInUnload(bool *aIsInUnload) override; \
1012
  using nsIDocShell::GetHasMixedActiveContentLoaded; \
1013
  NS_IMETHOD GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded) override; \
1014
  using nsIDocShell::GetHasMixedActiveContentBlocked; \
1015
  NS_IMETHOD GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked) override; \
1016
  using nsIDocShell::GetHasMixedDisplayContentLoaded; \
1017
  NS_IMETHOD GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded) override; \
1018
  using nsIDocShell::GetHasMixedDisplayContentBlocked; \
1019
  NS_IMETHOD GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked) override; \
1020
  using nsIDocShell::GetHasTrackingContentBlocked; \
1021
  NS_IMETHOD GetHasTrackingContentBlocked(bool *aHasTrackingContentBlocked) override; \
1022
  using nsIDocShell::GetHasTrackingContentLoaded; \
1023
  NS_IMETHOD GetHasTrackingContentLoaded(bool *aHasTrackingContentLoaded) override; \
1024
  using nsIDocShell::GetHasSlowTrackingContentBlocked; \
1025
  NS_IMETHOD GetHasSlowTrackingContentBlocked(bool *aHasSlowTrackingContentBlocked) override; \
1026
  using nsIDocShell::GetHasCookiesBlockedByPermission; \
1027
  NS_IMETHOD GetHasCookiesBlockedByPermission(bool *aHasCookiesBlockedByPermission) override; \
1028
  using nsIDocShell::GetHasCookiesBlockedDueToTrackers; \
1029
  NS_IMETHOD GetHasCookiesBlockedDueToTrackers(bool *aHasCookiesBlockedDueToTrackers) override; \
1030
  using nsIDocShell::GetHasAllCookiesBeenBlocked; \
1031
  NS_IMETHOD GetHasAllCookiesBeenBlocked(bool *aHasAllCookiesBeenBlocked) override; \
1032
  using nsIDocShell::GetHasForeignCookiesBeenBlocked; \
1033
  NS_IMETHOD GetHasForeignCookiesBeenBlocked(bool *aHasForeignCookiesBeenBlocked) override; \
1034
  NS_IMETHOD_(void) DetachEditorFromWindow(void) override; \
1035
  NS_IMETHOD GetIsOffScreenBrowser(bool *aIsOffScreenBrowser) override; \
1036
  NS_IMETHOD SetIsOffScreenBrowser(bool aIsOffScreenBrowser) override; \
1037
  NS_IMETHOD SetIsPrinting(bool aIsPrinting) override; \
1038
  NS_IMETHOD GetPrintPreview(nsIWebBrowserPrint **aPrintPreview) override; \
1039
  using nsIDocShell::GetCanExecuteScripts; \
1040
  NS_IMETHOD GetCanExecuteScripts(bool *aCanExecuteScripts) override; \
1041
  NS_IMETHOD GetIsActive(bool *aIsActive) override; \
1042
  NS_IMETHOD SetIsActive(bool aIsActive) override; \
1043
  NS_IMETHOD GetHistoryID(nsID * * aHistoryID) override; \
1044
  NS_IMETHOD_(const nsID) HistoryID(void) override; \
1045
  NS_IMETHOD GetIsAppTab(bool *aIsAppTab) override; \
1046
  NS_IMETHOD SetIsAppTab(bool aIsAppTab) override; \
1047
  NS_IMETHOD CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override; \
1048
  NS_IMETHOD ForceCreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override; \
1049
  NS_IMETHOD GetCharset(nsACString& aCharset) override; \
1050
  NS_IMETHOD SetCharset(const nsACString& aCharset) override; \
1051
  NS_IMETHOD GatherCharsetMenuTelemetry(void) override; \
1052
  NS_IMETHOD GetForcedCharset(nsACString& aForcedCharset) override; \
1053
  NS_IMETHOD SetForcedCharset(const nsACString& aForcedCharset) override; \
1054
  virtual void SetParentCharset(const mozilla::Encoding* & parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal) override; \
1055
  virtual void GetParentCharset(const mozilla::Encoding* & parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal) override; \
1056
  using nsIDocShell::GetRecordProfileTimelineMarkers; \
1057
  NS_IMETHOD GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers) override; \
1058
  NS_IMETHOD SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers) override; \
1059
  NS_IMETHOD Now(DOMHighResTimeStamp *_retval) override; \
1060
  NS_IMETHOD PopProfileTimelineMarkers(JSContext* cx, JS::MutableHandleValue _retval) override; \
1061
  NS_IMETHOD AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs) override; \
1062
  NS_IMETHOD AddWeakReflowObserver(nsIReflowObserver *obs) override; \
1063
  NS_IMETHOD RemoveWeakReflowObserver(nsIReflowObserver *obs) override; \
1064
  NS_IMETHOD NotifyReflowObservers(bool interruptible, DOMHighResTimeStamp start, DOMHighResTimeStamp end) override; \
1065
  NS_IMETHOD AddWeakScrollObserver(nsIScrollObserver *obs) override; \
1066
  NS_IMETHOD RemoveWeakScrollObserver(nsIScrollObserver *obs) override; \
1067
  NS_IMETHOD NotifyScrollObservers(void) override; \
1068
  using nsIDocShell::GetFrameType; \
1069
  NS_IMETHOD GetFrameType(uint32_t *aFrameType) override; \
1070
  NS_IMETHOD SetFrameType(uint32_t aFrameType) override; \
1071
  using nsIDocShell::GetIsMozBrowser; \
1072
  NS_IMETHOD GetIsMozBrowser(bool *aIsMozBrowser) override; \
1073
  using nsIDocShell::GetIsIsolatedMozBrowserElement; \
1074
  NS_IMETHOD GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement) override; \
1075
  using nsIDocShell::GetIsInIsolatedMozBrowserElement; \
1076
  NS_IMETHOD GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement) override; \
1077
  using nsIDocShell::GetIsInMozBrowser; \
1078
  NS_IMETHOD GetIsInMozBrowser(bool *aIsInMozBrowser) override; \
1079
  using nsIDocShell::GetIsTopLevelContentDocShell; \
1080
  NS_IMETHOD GetIsTopLevelContentDocShell(bool *aIsTopLevelContentDocShell) override; \
1081
  NS_IMETHOD GetSameTypeParentIgnoreBrowserBoundaries(nsIDocShell **_retval) override; \
1082
  NS_IMETHOD GetSameTypeRootTreeItemIgnoreBrowserBoundaries(nsIDocShell **_retval) override; \
1083
  NS_IMETHOD GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled) override; \
1084
  NS_IMETHOD GetSandboxFlags(uint32_t *aSandboxFlags) override; \
1085
  NS_IMETHOD SetSandboxFlags(uint32_t aSandboxFlags) override; \
1086
  NS_IMETHOD GetOnePermittedSandboxedNavigator(nsIDocShell **aOnePermittedSandboxedNavigator) override; \
1087
  NS_IMETHOD SetOnePermittedSandboxedNavigator(nsIDocShell *aOnePermittedSandboxedNavigator) override; \
1088
  virtual bool IsSandboxedFrom(nsIDocShell *aTargetDocShell) override; \
1089
  NS_IMETHOD GetMixedContentChannel(nsIChannel **aMixedContentChannel) override; \
1090
  NS_IMETHOD SetMixedContentChannel(nsIChannel *aMixedContentChannel) override; \
1091
  NS_IMETHOD GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell) override; \
1092
  NS_IMETHOD_(bool) PluginsAllowedInCurrentDoc(void) override; \
1093
  using nsIDocShell::GetFullscreenAllowed; \
1094
  NS_IMETHOD GetFullscreenAllowed(bool *aFullscreenAllowed) override; \
1095
  NS_IMETHOD SetFullscreenAllowed(bool allowed) override; \
1096
  NS_IMETHOD_(uint32_t) OrientationLock(void) override; \
1097
  NS_IMETHOD_(void) SetOrientationLock(uint32_t orientationLock) override; \
1098
  using nsIDocShell::GetAffectPrivateSessionLifetime; \
1099
  NS_IMETHOD GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime) override; \
1100
  NS_IMETHOD SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime) override; \
1101
  using nsIDocShell::GetMayEnableCharacterEncodingMenu; \
1102
  NS_IMETHOD GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu) override; \
1103
  NS_IMETHOD GetEditor(nsIEditor **aEditor) override; \
1104
  NS_IMETHOD SetEditor(nsIEditor *aEditor) override; \
1105
  NS_IMETHOD GetEditable(bool *aEditable) override; \
1106
  NS_IMETHOD GetHasEditingSession(bool *aHasEditingSession) override; \
1107
  NS_IMETHOD MakeEditable(bool inWaitForUriLoad) override; \
1108
  NS_IMETHOD GetChildSHEntry(int32_t aChildOffset, nsISHEntry **_retval) override; \
1109
  NS_IMETHOD AddChildSHEntry(nsISHEntry *aCloneReference, nsISHEntry *aHistoryEntry, int32_t aChildOffset, uint32_t aLoadType, bool aCloneChilden) override; \
1110
  NS_IMETHOD GetUseGlobalHistory(bool *aUseGlobalHistory) override; \
1111
  NS_IMETHOD SetUseGlobalHistory(bool aUseGlobalHistory) override; \
1112
  NS_IMETHOD RemoveFromSessionHistory(void) override; \
1113
  using nsIDocShell::GetCreatedDynamically; \
1114
  NS_IMETHOD GetCreatedDynamically(bool *aCreatedDynamically) override; \
1115
  NS_IMETHOD SetCreatedDynamically(bool aCreatedDynamically) override; \
1116
  NS_IMETHOD GetCurrentSHEntry(nsISHEntry **aEntry, bool *_retval) override; \
1117
  NS_IMETHOD IsCommandEnabled(const char * command, bool *_retval) override; \
1118
  NS_IMETHOD DoCommand(const char * command) override; \
1119
  NS_IMETHOD DoCommandWithParams(const char * command, nsICommandParams *aParams) override; \
1120
  NS_IMETHOD_(bool) IsInvisible(void) override; \
1121
  NS_IMETHOD_(void) SetInvisible(bool aIsInvisibleDochsell) override; \
1122
  virtual nsIScriptGlobalObject * GetScriptGlobalObject(void) override; \
1123
  using nsIDocShell::GetDeviceSizeIsPageSize; \
1124
  NS_IMETHOD GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize) override; \
1125
  NS_IMETHOD SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize) override; \
1126
  virtual void SetOpener(nsITabParent *aOpener) override; \
1127
  virtual nsITabParent * GetOpener(void) override; \
1128
  virtual void NotifyJSRunToCompletionStart(const char * aReason, const char16_t * functionName, const char16_t * fileName, uint32_t lineNumber, JS::HandleValue asyncStack, const char * asyncCause) override; \
1129
  virtual void NotifyJSRunToCompletionStop(void) override; \
1130
  using nsIDocShell::GetHasLoadedNonBlankURI; \
1131
  NS_IMETHOD GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI) override; \
1132
  NS_IMETHOD GetWindowDraggingAllowed(bool *aWindowDraggingAllowed) override; \
1133
  NS_IMETHOD SetWindowDraggingAllowed(bool aWindowDraggingAllowed) override; \
1134
  NS_IMETHOD GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual) override; \
1135
  NS_IMETHOD SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual) override; \
1136
  NS_IMETHOD GetOriginAttributes(JSContext* cx, JS::MutableHandleValue _retval) override; \
1137
  NS_IMETHOD SetOriginAttributes(JS::HandleValue aAttrs, JSContext* cx) override; \
1138
  NS_IMETHOD GetEditingSession(nsIEditingSession **aEditingSession) override; \
1139
  NS_IMETHOD GetScriptableTabChild(nsITabChild **aTabChild) override; \
1140
  virtual already_AddRefed<nsITabChild> GetTabChild(void) override; \
1141
  virtual nsICommandManager * GetCommandManager(void) override; \
1142
  NS_IMETHOD GetTouchEventsOverride(uint32_t *aTouchEventsOverride) override; \
1143
  NS_IMETHOD SetTouchEventsOverride(uint32_t aTouchEventsOverride) override; \
1144
  using nsIDocShell::GetIsOnlyToplevelInTabGroup; \
1145
  NS_IMETHOD GetIsOnlyToplevelInTabGroup(bool *aIsOnlyToplevelInTabGroup) override; \
1146
  using nsIDocShell::GetAwaitingLargeAlloc; \
1147
  NS_IMETHOD GetAwaitingLargeAlloc(bool *aAwaitingLargeAlloc) override; \
1148
  NS_IMETHOD GetUseTrackingProtection(bool *aUseTrackingProtection) override; \
1149
  NS_IMETHOD SetUseTrackingProtection(bool aUseTrackingProtection) override; \
1150
  NS_IMETHOD DispatchLocationChangeEvent(void) override; \
1151
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeInitialClientSource(void) override; \
1152
  NS_IMETHOD SetColorMatrix(float *aMatrix, uint32_t aMatrixLen) override; \
1153
  NS_IMETHOD GetColorMatrix(uint32_t *aMatrixLen, float **aMatrix) override; \
1154
  NS_IMETHOD InitSessionHistory(void) override; \
1155
  NS_IMETHOD GetBrowsingContext(mozilla::dom::BrowsingContext **aBrowsingContext) override; \
1156
  NS_IMETHOD GetDisplayMode(uint32_t *aDisplayMode) override; \
1157
  NS_IMETHOD SetDisplayMode(uint32_t aDisplayMode) override; \
1158
  using nsIDocShell::GetMessageManager; \
1159
  NS_IMETHOD GetMessageManager(mozilla::dom::ContentFrameMessageManager **aMessageManager) override; 
1160
1161
/* Use this macro when declaring the members of this interface when the
1162
   class doesn't implement the interface. This is useful for forwarding. */
1163
#define NS_DECL_NON_VIRTUAL_NSIDOCSHELL \
1164
  nsresult LoadURI(nsIURI *uri, nsDocShellLoadInfo* loadInfo, uint32_t aLoadFlags, bool firstParty); \
1165
  nsresult InternalLoad(nsIURI *aURI, nsIURI *aOriginalURI, const mozilla::Maybe<nsCOMPtr<nsIURI>> & aResultPrincipalURI, bool aKeepResultPrincipalURIIfSet, bool aLoadReplace, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsIPrincipal *aTriggeringPrincipal, nsIPrincipal *aPrincipalToInherit, uint32_t aFlags, const nsAString& aWindowTarget, const char * aTypeHint, const nsAString& aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool aFirstParty, const nsAString& aSrcdoc, nsIDocShell *aSourceDocShell, nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest); \
1166
  nsresult AddState(JS::HandleValue aData, const nsAString& aTitle, const nsAString& aURL, bool aReplace, JSContext* cx); \
1167
  nsresult PrepareForNewContentModel(void); \
1168
  nsresult SetCurrentURI(nsIURI *aURI); \
1169
  nsresult FirePageHideNotification(bool isUnload); \
1170
  nsresult GetPresContext(nsPresContext * * aPresContext); \
1171
  nsresult_(nsIPresShell *) GetPresShell(void); \
1172
  nsresult GetEldestPresShell(nsIPresShell * * aEldestPresShell); \
1173
  nsresult GetContentViewer(nsIContentViewer **aContentViewer); \
1174
  nsresult GetChromeEventHandler(mozilla::dom::EventTarget **aChromeEventHandler); \
1175
  nsresult SetChromeEventHandler(mozilla::dom::EventTarget *aChromeEventHandler); \
1176
  nsresult GetCustomUserAgent(nsAString& aCustomUserAgent); \
1177
  nsresult SetCustomUserAgent(const nsAString& aCustomUserAgent); \
1178
  nsresult GetCssErrorReportingEnabled(bool *aCssErrorReportingEnabled); \
1179
  nsresult SetCssErrorReportingEnabled(bool aCssErrorReportingEnabled); \
1180
  nsresult GetAllowPlugins(bool *aAllowPlugins); \
1181
  nsresult SetAllowPlugins(bool aAllowPlugins); \
1182
  nsresult GetAllowJavascript(bool *aAllowJavascript); \
1183
  nsresult SetAllowJavascript(bool aAllowJavascript); \
1184
  nsresult GetAllowMetaRedirects(bool *aAllowMetaRedirects); \
1185
  nsresult SetAllowMetaRedirects(bool aAllowMetaRedirects); \
1186
  nsresult GetAllowSubframes(bool *aAllowSubframes); \
1187
  nsresult SetAllowSubframes(bool aAllowSubframes); \
1188
  nsresult GetAllowImages(bool *aAllowImages); \
1189
  nsresult SetAllowImages(bool aAllowImages); \
1190
  using nsIDocShell::GetAllowMedia; \
1191
  nsresult GetAllowMedia(bool *aAllowMedia); \
1192
  nsresult SetAllowMedia(bool aAllowMedia); \
1193
  nsresult GetAllowDNSPrefetch(bool *aAllowDNSPrefetch); \
1194
  nsresult SetAllowDNSPrefetch(bool aAllowDNSPrefetch); \
1195
  nsresult GetAllowWindowControl(bool *aAllowWindowControl); \
1196
  nsresult SetAllowWindowControl(bool aAllowWindowControl); \
1197
  using nsIDocShell::GetAllowContentRetargeting; \
1198
  nsresult GetAllowContentRetargeting(bool *aAllowContentRetargeting); \
1199
  nsresult SetAllowContentRetargeting(bool aAllowContentRetargeting); \
1200
  using nsIDocShell::GetAllowContentRetargetingOnChildren; \
1201
  nsresult GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren); \
1202
  nsresult SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren); \
1203
  using nsIDocShell::GetInheritPrivateBrowsingId; \
1204
  nsresult GetInheritPrivateBrowsingId(bool *aInheritPrivateBrowsingId); \
1205
  nsresult SetInheritPrivateBrowsingId(bool aInheritPrivateBrowsingId); \
1206
  nsresult GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval); \
1207
  nsresult GetAppType(uint32_t *aAppType); \
1208
  nsresult SetAppType(uint32_t aAppType); \
1209
  nsresult GetAllowAuth(bool *aAllowAuth); \
1210
  nsresult SetAllowAuth(bool aAllowAuth); \
1211
  nsresult GetZoom(float *aZoom); \
1212
  nsresult SetZoom(float aZoom); \
1213
  nsresult GetMarginWidth(int32_t *aMarginWidth); \
1214
  nsresult SetMarginWidth(int32_t aMarginWidth); \
1215
  nsresult GetMarginHeight(int32_t *aMarginHeight); \
1216
  nsresult SetMarginHeight(int32_t aMarginHeight); \
1217
  nsresult TabToTreeOwner(bool forward, bool forDocumentNavigation, bool *_retval); \
1218
  nsresult GetBusyFlags(uint32_t *aBusyFlags); \
1219
  nsresult GetLoadType(uint32_t *aLoadType); \
1220
  nsresult SetLoadType(uint32_t aLoadType); \
1221
  nsresult GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags); \
1222
  nsresult SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags); \
1223
  nsresult IsBeingDestroyed(bool *_retval); \
1224
  nsresult GetIsExecutingOnLoadHandler(bool *aIsExecutingOnLoadHandler); \
1225
  nsresult GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState); \
1226
  nsresult SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState); \
1227
  nsresult GetShouldSaveLayoutState(bool *aShouldSaveLayoutState); \
1228
  nsresult GetSecurityUI(nsISecureBrowserUI **aSecurityUI); \
1229
  nsresult SetSecurityUI(nsISecureBrowserUI *aSecurityUI); \
1230
  nsresult GetLoadURIDelegate(nsILoadURIDelegate **aLoadURIDelegate); \
1231
  nsresult SetLoadURIDelegate(nsILoadURIDelegate *aLoadURIDelegate); \
1232
  nsresult SuspendRefreshURIs(void); \
1233
  nsresult ResumeRefreshURIs(void); \
1234
  nsresult BeginRestore(nsIContentViewer *viewer, bool top); \
1235
  nsresult FinishRestore(void); \
1236
  nsresult GetRestoringDocument(bool *aRestoringDocument); \
1237
  nsresult GetUseErrorPages(bool *aUseErrorPages); \
1238
  nsresult SetUseErrorPages(bool aUseErrorPages); \
1239
  nsresult DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t * aURL, nsIChannel *aFailedChannel, bool *_retval); \
1240
  nsresult GetFailedChannel(nsIChannel **aFailedChannel); \
1241
  nsresult GetPreviousEntryIndex(int32_t *aPreviousEntryIndex); \
1242
  nsresult GetLoadedEntryIndex(int32_t *aLoadedEntryIndex); \
1243
  nsresult HistoryPurged(int32_t numEntries); \
1244
  nsresult GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel); \
1245
  nsresult GetChildOffset(int32_t *aChildOffset); \
1246
  nsresult SetChildOffset(int32_t aChildOffset); \
1247
  nsresult GetIsInUnload(bool *aIsInUnload); \
1248
  using nsIDocShell::GetHasMixedActiveContentLoaded; \
1249
  nsresult GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded); \
1250
  using nsIDocShell::GetHasMixedActiveContentBlocked; \
1251
  nsresult GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked); \
1252
  using nsIDocShell::GetHasMixedDisplayContentLoaded; \
1253
  nsresult GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded); \
1254
  using nsIDocShell::GetHasMixedDisplayContentBlocked; \
1255
  nsresult GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked); \
1256
  using nsIDocShell::GetHasTrackingContentBlocked; \
1257
  nsresult GetHasTrackingContentBlocked(bool *aHasTrackingContentBlocked); \
1258
  using nsIDocShell::GetHasTrackingContentLoaded; \
1259
  nsresult GetHasTrackingContentLoaded(bool *aHasTrackingContentLoaded); \
1260
  using nsIDocShell::GetHasSlowTrackingContentBlocked; \
1261
  nsresult GetHasSlowTrackingContentBlocked(bool *aHasSlowTrackingContentBlocked); \
1262
  using nsIDocShell::GetHasCookiesBlockedByPermission; \
1263
  nsresult GetHasCookiesBlockedByPermission(bool *aHasCookiesBlockedByPermission); \
1264
  using nsIDocShell::GetHasCookiesBlockedDueToTrackers; \
1265
  nsresult GetHasCookiesBlockedDueToTrackers(bool *aHasCookiesBlockedDueToTrackers); \
1266
  using nsIDocShell::GetHasAllCookiesBeenBlocked; \
1267
  nsresult GetHasAllCookiesBeenBlocked(bool *aHasAllCookiesBeenBlocked); \
1268
  using nsIDocShell::GetHasForeignCookiesBeenBlocked; \
1269
  nsresult GetHasForeignCookiesBeenBlocked(bool *aHasForeignCookiesBeenBlocked); \
1270
  nsresult_(void) DetachEditorFromWindow(void); \
1271
  nsresult GetIsOffScreenBrowser(bool *aIsOffScreenBrowser); \
1272
  nsresult SetIsOffScreenBrowser(bool aIsOffScreenBrowser); \
1273
  nsresult SetIsPrinting(bool aIsPrinting); \
1274
  nsresult GetPrintPreview(nsIWebBrowserPrint **aPrintPreview); \
1275
  using nsIDocShell::GetCanExecuteScripts; \
1276
  nsresult GetCanExecuteScripts(bool *aCanExecuteScripts); \
1277
  nsresult GetIsActive(bool *aIsActive); \
1278
  nsresult SetIsActive(bool aIsActive); \
1279
  nsresult GetHistoryID(nsID * * aHistoryID); \
1280
  nsresult_(const nsID) HistoryID(void); \
1281
  nsresult GetIsAppTab(bool *aIsAppTab); \
1282
  nsresult SetIsAppTab(bool aIsAppTab); \
1283
  nsresult CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal); \
1284
  nsresult ForceCreateAboutBlankContentViewer(nsIPrincipal *aPrincipal); \
1285
  nsresult GetCharset(nsACString& aCharset); \
1286
  nsresult SetCharset(const nsACString& aCharset); \
1287
  nsresult GatherCharsetMenuTelemetry(void); \
1288
  nsresult GetForcedCharset(nsACString& aForcedCharset); \
1289
  nsresult SetForcedCharset(const nsACString& aForcedCharset); \
1290
  void SetParentCharset(const mozilla::Encoding* & parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal); \
1291
  void GetParentCharset(const mozilla::Encoding* & parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal); \
1292
  using nsIDocShell::GetRecordProfileTimelineMarkers; \
1293
  nsresult GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers); \
1294
  nsresult SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers); \
1295
  nsresult Now(DOMHighResTimeStamp *_retval); \
1296
  nsresult PopProfileTimelineMarkers(JSContext* cx, JS::MutableHandleValue _retval); \
1297
  nsresult AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs); \
1298
  nsresult AddWeakReflowObserver(nsIReflowObserver *obs); \
1299
  nsresult RemoveWeakReflowObserver(nsIReflowObserver *obs); \
1300
  nsresult NotifyReflowObservers(bool interruptible, DOMHighResTimeStamp start, DOMHighResTimeStamp end); \
1301
  nsresult AddWeakScrollObserver(nsIScrollObserver *obs); \
1302
  nsresult RemoveWeakScrollObserver(nsIScrollObserver *obs); \
1303
  nsresult NotifyScrollObservers(void); \
1304
  using nsIDocShell::GetFrameType; \
1305
  nsresult GetFrameType(uint32_t *aFrameType); \
1306
  nsresult SetFrameType(uint32_t aFrameType); \
1307
  using nsIDocShell::GetIsMozBrowser; \
1308
  nsresult GetIsMozBrowser(bool *aIsMozBrowser); \
1309
  using nsIDocShell::GetIsIsolatedMozBrowserElement; \
1310
  nsresult GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement); \
1311
  using nsIDocShell::GetIsInIsolatedMozBrowserElement; \
1312
  nsresult GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement); \
1313
  using nsIDocShell::GetIsInMozBrowser; \
1314
  nsresult GetIsInMozBrowser(bool *aIsInMozBrowser); \
1315
  using nsIDocShell::GetIsTopLevelContentDocShell; \
1316
  nsresult GetIsTopLevelContentDocShell(bool *aIsTopLevelContentDocShell); \
1317
  nsresult GetSameTypeParentIgnoreBrowserBoundaries(nsIDocShell **_retval); \
1318
  nsresult GetSameTypeRootTreeItemIgnoreBrowserBoundaries(nsIDocShell **_retval); \
1319
  nsresult GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled); \
1320
  nsresult GetSandboxFlags(uint32_t *aSandboxFlags); \
1321
  nsresult SetSandboxFlags(uint32_t aSandboxFlags); \
1322
  nsresult GetOnePermittedSandboxedNavigator(nsIDocShell **aOnePermittedSandboxedNavigator); \
1323
  nsresult SetOnePermittedSandboxedNavigator(nsIDocShell *aOnePermittedSandboxedNavigator); \
1324
  bool IsSandboxedFrom(nsIDocShell *aTargetDocShell); \
1325
  nsresult GetMixedContentChannel(nsIChannel **aMixedContentChannel); \
1326
  nsresult SetMixedContentChannel(nsIChannel *aMixedContentChannel); \
1327
  nsresult GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell); \
1328
  nsresult_(bool) PluginsAllowedInCurrentDoc(void); \
1329
  using nsIDocShell::GetFullscreenAllowed; \
1330
  nsresult GetFullscreenAllowed(bool *aFullscreenAllowed); \
1331
  nsresult SetFullscreenAllowed(bool allowed); \
1332
  nsresult_(uint32_t) OrientationLock(void); \
1333
  nsresult_(void) SetOrientationLock(uint32_t orientationLock); \
1334
  using nsIDocShell::GetAffectPrivateSessionLifetime; \
1335
  nsresult GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime); \
1336
  nsresult SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime); \
1337
  using nsIDocShell::GetMayEnableCharacterEncodingMenu; \
1338
  nsresult GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu); \
1339
  nsresult GetEditor(nsIEditor **aEditor); \
1340
  nsresult SetEditor(nsIEditor *aEditor); \
1341
  nsresult GetEditable(bool *aEditable); \
1342
  nsresult GetHasEditingSession(bool *aHasEditingSession); \
1343
  nsresult MakeEditable(bool inWaitForUriLoad); \
1344
  nsresult GetChildSHEntry(int32_t aChildOffset, nsISHEntry **_retval); \
1345
  nsresult AddChildSHEntry(nsISHEntry *aCloneReference, nsISHEntry *aHistoryEntry, int32_t aChildOffset, uint32_t aLoadType, bool aCloneChilden); \
1346
  nsresult GetUseGlobalHistory(bool *aUseGlobalHistory); \
1347
  nsresult SetUseGlobalHistory(bool aUseGlobalHistory); \
1348
  nsresult RemoveFromSessionHistory(void); \
1349
  using nsIDocShell::GetCreatedDynamically; \
1350
  nsresult GetCreatedDynamically(bool *aCreatedDynamically); \
1351
  nsresult SetCreatedDynamically(bool aCreatedDynamically); \
1352
  nsresult GetCurrentSHEntry(nsISHEntry **aEntry, bool *_retval); \
1353
  nsresult IsCommandEnabled(const char * command, bool *_retval); \
1354
  nsresult DoCommand(const char * command); \
1355
  nsresult DoCommandWithParams(const char * command, nsICommandParams *aParams); \
1356
  nsresult_(bool) IsInvisible(void); \
1357
  nsresult_(void) SetInvisible(bool aIsInvisibleDochsell); \
1358
  nsIScriptGlobalObject * GetScriptGlobalObject(void); \
1359
  using nsIDocShell::GetDeviceSizeIsPageSize; \
1360
  nsresult GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize); \
1361
  nsresult SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize); \
1362
  void SetOpener(nsITabParent *aOpener); \
1363
  nsITabParent * GetOpener(void); \
1364
  void NotifyJSRunToCompletionStart(const char * aReason, const char16_t * functionName, const char16_t * fileName, uint32_t lineNumber, JS::HandleValue asyncStack, const char * asyncCause); \
1365
  void NotifyJSRunToCompletionStop(void); \
1366
  using nsIDocShell::GetHasLoadedNonBlankURI; \
1367
  nsresult GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI); \
1368
  nsresult GetWindowDraggingAllowed(bool *aWindowDraggingAllowed); \
1369
  nsresult SetWindowDraggingAllowed(bool aWindowDraggingAllowed); \
1370
  nsresult GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual); \
1371
  nsresult SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual); \
1372
  nsresult GetOriginAttributes(JSContext* cx, JS::MutableHandleValue _retval); \
1373
  nsresult SetOriginAttributes(JS::HandleValue aAttrs, JSContext* cx); \
1374
  nsresult GetEditingSession(nsIEditingSession **aEditingSession); \
1375
  nsresult GetScriptableTabChild(nsITabChild **aTabChild); \
1376
  already_AddRefed<nsITabChild> GetTabChild(void); \
1377
  nsICommandManager * GetCommandManager(void); \
1378
  nsresult GetTouchEventsOverride(uint32_t *aTouchEventsOverride); \
1379
  nsresult SetTouchEventsOverride(uint32_t aTouchEventsOverride); \
1380
  using nsIDocShell::GetIsOnlyToplevelInTabGroup; \
1381
  nsresult GetIsOnlyToplevelInTabGroup(bool *aIsOnlyToplevelInTabGroup); \
1382
  using nsIDocShell::GetAwaitingLargeAlloc; \
1383
  nsresult GetAwaitingLargeAlloc(bool *aAwaitingLargeAlloc); \
1384
  nsresult GetUseTrackingProtection(bool *aUseTrackingProtection); \
1385
  nsresult SetUseTrackingProtection(bool aUseTrackingProtection); \
1386
  nsresult DispatchLocationChangeEvent(void); \
1387
  mozilla::UniquePtr<mozilla::dom::ClientSource> TakeInitialClientSource(void); \
1388
  nsresult SetColorMatrix(float *aMatrix, uint32_t aMatrixLen); \
1389
  nsresult GetColorMatrix(uint32_t *aMatrixLen, float **aMatrix); \
1390
  nsresult InitSessionHistory(void); \
1391
  nsresult GetBrowsingContext(mozilla::dom::BrowsingContext **aBrowsingContext); \
1392
  nsresult GetDisplayMode(uint32_t *aDisplayMode); \
1393
  nsresult SetDisplayMode(uint32_t aDisplayMode); \
1394
  using nsIDocShell::GetMessageManager; \
1395
  nsresult GetMessageManager(mozilla::dom::ContentFrameMessageManager **aMessageManager); 
1396
1397
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
1398
#define NS_FORWARD_NSIDOCSHELL(_to) \
1399
  NS_IMETHOD LoadURI(nsIURI *uri, nsDocShellLoadInfo* loadInfo, uint32_t aLoadFlags, bool firstParty) override { return _to LoadURI(uri, loadInfo, aLoadFlags, firstParty); } \
1400
  NS_IMETHOD InternalLoad(nsIURI *aURI, nsIURI *aOriginalURI, const mozilla::Maybe<nsCOMPtr<nsIURI>> & aResultPrincipalURI, bool aKeepResultPrincipalURIIfSet, bool aLoadReplace, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsIPrincipal *aTriggeringPrincipal, nsIPrincipal *aPrincipalToInherit, uint32_t aFlags, const nsAString& aWindowTarget, const char * aTypeHint, const nsAString& aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool aFirstParty, const nsAString& aSrcdoc, nsIDocShell *aSourceDocShell, nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest) override { return _to InternalLoad(aURI, aOriginalURI, aResultPrincipalURI, aKeepResultPrincipalURIIfSet, aLoadReplace, aReferrer, aReferrerPolicy, aTriggeringPrincipal, aPrincipalToInherit, aFlags, aWindowTarget, aTypeHint, aFileName, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, aFirstParty, aSrcdoc, aSourceDocShell, aBaseURI, aDocShell, aRequest); } \
1401
  NS_IMETHOD AddState(JS::HandleValue aData, const nsAString& aTitle, const nsAString& aURL, bool aReplace, JSContext* cx) override { return _to AddState(aData, aTitle, aURL, aReplace, cx); } \
1402
  NS_IMETHOD PrepareForNewContentModel(void) override { return _to PrepareForNewContentModel(); } \
1403
  NS_IMETHOD SetCurrentURI(nsIURI *aURI) override { return _to SetCurrentURI(aURI); } \
1404
  NS_IMETHOD FirePageHideNotification(bool isUnload) override { return _to FirePageHideNotification(isUnload); } \
1405
  NS_IMETHOD GetPresContext(nsPresContext * * aPresContext) override { return _to GetPresContext(aPresContext); } \
1406
  NS_IMETHOD_(nsIPresShell *) GetPresShell(void) override { return _to GetPresShell(); } \
1407
  NS_IMETHOD GetEldestPresShell(nsIPresShell * * aEldestPresShell) override { return _to GetEldestPresShell(aEldestPresShell); } \
1408
  NS_IMETHOD GetContentViewer(nsIContentViewer **aContentViewer) override { return _to GetContentViewer(aContentViewer); } \
1409
  NS_IMETHOD GetChromeEventHandler(mozilla::dom::EventTarget **aChromeEventHandler) override { return _to GetChromeEventHandler(aChromeEventHandler); } \
1410
  NS_IMETHOD SetChromeEventHandler(mozilla::dom::EventTarget *aChromeEventHandler) override { return _to SetChromeEventHandler(aChromeEventHandler); } \
1411
  NS_IMETHOD GetCustomUserAgent(nsAString& aCustomUserAgent) override { return _to GetCustomUserAgent(aCustomUserAgent); } \
1412
  NS_IMETHOD SetCustomUserAgent(const nsAString& aCustomUserAgent) override { return _to SetCustomUserAgent(aCustomUserAgent); } \
1413
  NS_IMETHOD GetCssErrorReportingEnabled(bool *aCssErrorReportingEnabled) override { return _to GetCssErrorReportingEnabled(aCssErrorReportingEnabled); } \
1414
  NS_IMETHOD SetCssErrorReportingEnabled(bool aCssErrorReportingEnabled) override { return _to SetCssErrorReportingEnabled(aCssErrorReportingEnabled); } \
1415
  NS_IMETHOD GetAllowPlugins(bool *aAllowPlugins) override { return _to GetAllowPlugins(aAllowPlugins); } \
1416
  NS_IMETHOD SetAllowPlugins(bool aAllowPlugins) override { return _to SetAllowPlugins(aAllowPlugins); } \
1417
  NS_IMETHOD GetAllowJavascript(bool *aAllowJavascript) override { return _to GetAllowJavascript(aAllowJavascript); } \
1418
  NS_IMETHOD SetAllowJavascript(bool aAllowJavascript) override { return _to SetAllowJavascript(aAllowJavascript); } \
1419
  NS_IMETHOD GetAllowMetaRedirects(bool *aAllowMetaRedirects) override { return _to GetAllowMetaRedirects(aAllowMetaRedirects); } \
1420
  NS_IMETHOD SetAllowMetaRedirects(bool aAllowMetaRedirects) override { return _to SetAllowMetaRedirects(aAllowMetaRedirects); } \
1421
  NS_IMETHOD GetAllowSubframes(bool *aAllowSubframes) override { return _to GetAllowSubframes(aAllowSubframes); } \
1422
  NS_IMETHOD SetAllowSubframes(bool aAllowSubframes) override { return _to SetAllowSubframes(aAllowSubframes); } \
1423
  NS_IMETHOD GetAllowImages(bool *aAllowImages) override { return _to GetAllowImages(aAllowImages); } \
1424
  NS_IMETHOD SetAllowImages(bool aAllowImages) override { return _to SetAllowImages(aAllowImages); } \
1425
  using nsIDocShell::GetAllowMedia; \
1426
  NS_IMETHOD GetAllowMedia(bool *aAllowMedia) override { return _to GetAllowMedia(aAllowMedia); } \
1427
  NS_IMETHOD SetAllowMedia(bool aAllowMedia) override { return _to SetAllowMedia(aAllowMedia); } \
1428
  NS_IMETHOD GetAllowDNSPrefetch(bool *aAllowDNSPrefetch) override { return _to GetAllowDNSPrefetch(aAllowDNSPrefetch); } \
1429
  NS_IMETHOD SetAllowDNSPrefetch(bool aAllowDNSPrefetch) override { return _to SetAllowDNSPrefetch(aAllowDNSPrefetch); } \
1430
  NS_IMETHOD GetAllowWindowControl(bool *aAllowWindowControl) override { return _to GetAllowWindowControl(aAllowWindowControl); } \
1431
  NS_IMETHOD SetAllowWindowControl(bool aAllowWindowControl) override { return _to SetAllowWindowControl(aAllowWindowControl); } \
1432
  using nsIDocShell::GetAllowContentRetargeting; \
1433
  NS_IMETHOD GetAllowContentRetargeting(bool *aAllowContentRetargeting) override { return _to GetAllowContentRetargeting(aAllowContentRetargeting); } \
1434
  NS_IMETHOD SetAllowContentRetargeting(bool aAllowContentRetargeting) override { return _to SetAllowContentRetargeting(aAllowContentRetargeting); } \
1435
  using nsIDocShell::GetAllowContentRetargetingOnChildren; \
1436
  NS_IMETHOD GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren) override { return _to GetAllowContentRetargetingOnChildren(aAllowContentRetargetingOnChildren); } \
1437
  NS_IMETHOD SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren) override { return _to SetAllowContentRetargetingOnChildren(aAllowContentRetargetingOnChildren); } \
1438
  using nsIDocShell::GetInheritPrivateBrowsingId; \
1439
  NS_IMETHOD GetInheritPrivateBrowsingId(bool *aInheritPrivateBrowsingId) override { return _to GetInheritPrivateBrowsingId(aInheritPrivateBrowsingId); } \
1440
  NS_IMETHOD SetInheritPrivateBrowsingId(bool aInheritPrivateBrowsingId) override { return _to SetInheritPrivateBrowsingId(aInheritPrivateBrowsingId); } \
1441
  NS_IMETHOD GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval) override { return _to GetDocShellEnumerator(aItemType, aDirection, _retval); } \
1442
  NS_IMETHOD GetAppType(uint32_t *aAppType) override { return _to GetAppType(aAppType); } \
1443
  NS_IMETHOD SetAppType(uint32_t aAppType) override { return _to SetAppType(aAppType); } \
1444
  NS_IMETHOD GetAllowAuth(bool *aAllowAuth) override { return _to GetAllowAuth(aAllowAuth); } \
1445
  NS_IMETHOD SetAllowAuth(bool aAllowAuth) override { return _to SetAllowAuth(aAllowAuth); } \
1446
  NS_IMETHOD GetZoom(float *aZoom) override { return _to GetZoom(aZoom); } \
1447
  NS_IMETHOD SetZoom(float aZoom) override { return _to SetZoom(aZoom); } \
1448
  NS_IMETHOD GetMarginWidth(int32_t *aMarginWidth) override { return _to GetMarginWidth(aMarginWidth); } \
1449
  NS_IMETHOD SetMarginWidth(int32_t aMarginWidth) override { return _to SetMarginWidth(aMarginWidth); } \
1450
  NS_IMETHOD GetMarginHeight(int32_t *aMarginHeight) override { return _to GetMarginHeight(aMarginHeight); } \
1451
  NS_IMETHOD SetMarginHeight(int32_t aMarginHeight) override { return _to SetMarginHeight(aMarginHeight); } \
1452
  NS_IMETHOD TabToTreeOwner(bool forward, bool forDocumentNavigation, bool *_retval) override { return _to TabToTreeOwner(forward, forDocumentNavigation, _retval); } \
1453
  NS_IMETHOD GetBusyFlags(uint32_t *aBusyFlags) override { return _to GetBusyFlags(aBusyFlags); } \
1454
  NS_IMETHOD GetLoadType(uint32_t *aLoadType) override { return _to GetLoadType(aLoadType); } \
1455
  NS_IMETHOD SetLoadType(uint32_t aLoadType) override { return _to SetLoadType(aLoadType); } \
1456
  NS_IMETHOD GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags) override { return _to GetDefaultLoadFlags(aDefaultLoadFlags); } \
1457
  NS_IMETHOD SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags) override { return _to SetDefaultLoadFlags(aDefaultLoadFlags); } \
1458
  NS_IMETHOD IsBeingDestroyed(bool *_retval) override { return _to IsBeingDestroyed(_retval); } \
1459
  NS_IMETHOD GetIsExecutingOnLoadHandler(bool *aIsExecutingOnLoadHandler) override { return _to GetIsExecutingOnLoadHandler(aIsExecutingOnLoadHandler); } \
1460
  NS_IMETHOD GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState) override { return _to GetLayoutHistoryState(aLayoutHistoryState); } \
1461
  NS_IMETHOD SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState) override { return _to SetLayoutHistoryState(aLayoutHistoryState); } \
1462
  NS_IMETHOD GetShouldSaveLayoutState(bool *aShouldSaveLayoutState) override { return _to GetShouldSaveLayoutState(aShouldSaveLayoutState); } \
1463
  NS_IMETHOD GetSecurityUI(nsISecureBrowserUI **aSecurityUI) override { return _to GetSecurityUI(aSecurityUI); } \
1464
  NS_IMETHOD SetSecurityUI(nsISecureBrowserUI *aSecurityUI) override { return _to SetSecurityUI(aSecurityUI); } \
1465
  NS_IMETHOD GetLoadURIDelegate(nsILoadURIDelegate **aLoadURIDelegate) override { return _to GetLoadURIDelegate(aLoadURIDelegate); } \
1466
  NS_IMETHOD SetLoadURIDelegate(nsILoadURIDelegate *aLoadURIDelegate) override { return _to SetLoadURIDelegate(aLoadURIDelegate); } \
1467
  NS_IMETHOD SuspendRefreshURIs(void) override { return _to SuspendRefreshURIs(); } \
1468
  NS_IMETHOD ResumeRefreshURIs(void) override { return _to ResumeRefreshURIs(); } \
1469
  NS_IMETHOD BeginRestore(nsIContentViewer *viewer, bool top) override { return _to BeginRestore(viewer, top); } \
1470
  NS_IMETHOD FinishRestore(void) override { return _to FinishRestore(); } \
1471
  NS_IMETHOD GetRestoringDocument(bool *aRestoringDocument) override { return _to GetRestoringDocument(aRestoringDocument); } \
1472
  NS_IMETHOD GetUseErrorPages(bool *aUseErrorPages) override { return _to GetUseErrorPages(aUseErrorPages); } \
1473
  NS_IMETHOD SetUseErrorPages(bool aUseErrorPages) override { return _to SetUseErrorPages(aUseErrorPages); } \
1474
  NS_IMETHOD DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t * aURL, nsIChannel *aFailedChannel, bool *_retval) override { return _to DisplayLoadError(aError, aURI, aURL, aFailedChannel, _retval); } \
1475
  NS_IMETHOD GetFailedChannel(nsIChannel **aFailedChannel) override { return _to GetFailedChannel(aFailedChannel); } \
1476
  NS_IMETHOD GetPreviousEntryIndex(int32_t *aPreviousEntryIndex) override { return _to GetPreviousEntryIndex(aPreviousEntryIndex); } \
1477
  NS_IMETHOD GetLoadedEntryIndex(int32_t *aLoadedEntryIndex) override { return _to GetLoadedEntryIndex(aLoadedEntryIndex); } \
1478
  NS_IMETHOD HistoryPurged(int32_t numEntries) override { return _to HistoryPurged(numEntries); } \
1479
  NS_IMETHOD GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel) override { return _to GetCurrentDocumentChannel(aCurrentDocumentChannel); } \
1480
  NS_IMETHOD GetChildOffset(int32_t *aChildOffset) override { return _to GetChildOffset(aChildOffset); } \
1481
  NS_IMETHOD SetChildOffset(int32_t aChildOffset) override { return _to SetChildOffset(aChildOffset); } \
1482
  NS_IMETHOD GetIsInUnload(bool *aIsInUnload) override { return _to GetIsInUnload(aIsInUnload); } \
1483
  using nsIDocShell::GetHasMixedActiveContentLoaded; \
1484
  NS_IMETHOD GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded) override { return _to GetHasMixedActiveContentLoaded(aHasMixedActiveContentLoaded); } \
1485
  using nsIDocShell::GetHasMixedActiveContentBlocked; \
1486
  NS_IMETHOD GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked) override { return _to GetHasMixedActiveContentBlocked(aHasMixedActiveContentBlocked); } \
1487
  using nsIDocShell::GetHasMixedDisplayContentLoaded; \
1488
  NS_IMETHOD GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded) override { return _to GetHasMixedDisplayContentLoaded(aHasMixedDisplayContentLoaded); } \
1489
  using nsIDocShell::GetHasMixedDisplayContentBlocked; \
1490
  NS_IMETHOD GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked) override { return _to GetHasMixedDisplayContentBlocked(aHasMixedDisplayContentBlocked); } \
1491
  using nsIDocShell::GetHasTrackingContentBlocked; \
1492
  NS_IMETHOD GetHasTrackingContentBlocked(bool *aHasTrackingContentBlocked) override { return _to GetHasTrackingContentBlocked(aHasTrackingContentBlocked); } \
1493
  using nsIDocShell::GetHasTrackingContentLoaded; \
1494
  NS_IMETHOD GetHasTrackingContentLoaded(bool *aHasTrackingContentLoaded) override { return _to GetHasTrackingContentLoaded(aHasTrackingContentLoaded); } \
1495
  using nsIDocShell::GetHasSlowTrackingContentBlocked; \
1496
  NS_IMETHOD GetHasSlowTrackingContentBlocked(bool *aHasSlowTrackingContentBlocked) override { return _to GetHasSlowTrackingContentBlocked(aHasSlowTrackingContentBlocked); } \
1497
  using nsIDocShell::GetHasCookiesBlockedByPermission; \
1498
  NS_IMETHOD GetHasCookiesBlockedByPermission(bool *aHasCookiesBlockedByPermission) override { return _to GetHasCookiesBlockedByPermission(aHasCookiesBlockedByPermission); } \
1499
  using nsIDocShell::GetHasCookiesBlockedDueToTrackers; \
1500
  NS_IMETHOD GetHasCookiesBlockedDueToTrackers(bool *aHasCookiesBlockedDueToTrackers) override { return _to GetHasCookiesBlockedDueToTrackers(aHasCookiesBlockedDueToTrackers); } \
1501
  using nsIDocShell::GetHasAllCookiesBeenBlocked; \
1502
  NS_IMETHOD GetHasAllCookiesBeenBlocked(bool *aHasAllCookiesBeenBlocked) override { return _to GetHasAllCookiesBeenBlocked(aHasAllCookiesBeenBlocked); } \
1503
  using nsIDocShell::GetHasForeignCookiesBeenBlocked; \
1504
  NS_IMETHOD GetHasForeignCookiesBeenBlocked(bool *aHasForeignCookiesBeenBlocked) override { return _to GetHasForeignCookiesBeenBlocked(aHasForeignCookiesBeenBlocked); } \
1505
  NS_IMETHOD_(void) DetachEditorFromWindow(void) override { return _to DetachEditorFromWindow(); } \
1506
  NS_IMETHOD GetIsOffScreenBrowser(bool *aIsOffScreenBrowser) override { return _to GetIsOffScreenBrowser(aIsOffScreenBrowser); } \
1507
  NS_IMETHOD SetIsOffScreenBrowser(bool aIsOffScreenBrowser) override { return _to SetIsOffScreenBrowser(aIsOffScreenBrowser); } \
1508
  NS_IMETHOD SetIsPrinting(bool aIsPrinting) override { return _to SetIsPrinting(aIsPrinting); } \
1509
  NS_IMETHOD GetPrintPreview(nsIWebBrowserPrint **aPrintPreview) override { return _to GetPrintPreview(aPrintPreview); } \
1510
  using nsIDocShell::GetCanExecuteScripts; \
1511
  NS_IMETHOD GetCanExecuteScripts(bool *aCanExecuteScripts) override { return _to GetCanExecuteScripts(aCanExecuteScripts); } \
1512
  NS_IMETHOD GetIsActive(bool *aIsActive) override { return _to GetIsActive(aIsActive); } \
1513
  NS_IMETHOD SetIsActive(bool aIsActive) override { return _to SetIsActive(aIsActive); } \
1514
  NS_IMETHOD GetHistoryID(nsID * * aHistoryID) override { return _to GetHistoryID(aHistoryID); } \
1515
  NS_IMETHOD_(const nsID) HistoryID(void) override { return _to HistoryID(); } \
1516
  NS_IMETHOD GetIsAppTab(bool *aIsAppTab) override { return _to GetIsAppTab(aIsAppTab); } \
1517
  NS_IMETHOD SetIsAppTab(bool aIsAppTab) override { return _to SetIsAppTab(aIsAppTab); } \
1518
  NS_IMETHOD CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override { return _to CreateAboutBlankContentViewer(aPrincipal); } \
1519
  NS_IMETHOD ForceCreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override { return _to ForceCreateAboutBlankContentViewer(aPrincipal); } \
1520
  NS_IMETHOD GetCharset(nsACString& aCharset) override { return _to GetCharset(aCharset); } \
1521
  NS_IMETHOD SetCharset(const nsACString& aCharset) override { return _to SetCharset(aCharset); } \
1522
  NS_IMETHOD GatherCharsetMenuTelemetry(void) override { return _to GatherCharsetMenuTelemetry(); } \
1523
  NS_IMETHOD GetForcedCharset(nsACString& aForcedCharset) override { return _to GetForcedCharset(aForcedCharset); } \
1524
  NS_IMETHOD SetForcedCharset(const nsACString& aForcedCharset) override { return _to SetForcedCharset(aForcedCharset); } \
1525
  virtual void SetParentCharset(const mozilla::Encoding* & parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal) override { return _to SetParentCharset(parentCharset, parentCharsetSource, parentCharsetPrincipal); } \
1526
  virtual void GetParentCharset(const mozilla::Encoding* & parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal) override { return _to GetParentCharset(parentCharset, parentCharsetSource, parentCharsetPrincipal); } \
1527
  using nsIDocShell::GetRecordProfileTimelineMarkers; \
1528
  NS_IMETHOD GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers) override { return _to GetRecordProfileTimelineMarkers(aRecordProfileTimelineMarkers); } \
1529
  NS_IMETHOD SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers) override { return _to SetRecordProfileTimelineMarkers(aRecordProfileTimelineMarkers); } \
1530
  NS_IMETHOD Now(DOMHighResTimeStamp *_retval) override { return _to Now(_retval); } \
1531
  NS_IMETHOD PopProfileTimelineMarkers(JSContext* cx, JS::MutableHandleValue _retval) override { return _to PopProfileTimelineMarkers(cx, _retval); } \
1532
  NS_IMETHOD AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs) override { return _to AddWeakPrivacyTransitionObserver(obs); } \
1533
  NS_IMETHOD AddWeakReflowObserver(nsIReflowObserver *obs) override { return _to AddWeakReflowObserver(obs); } \
1534
  NS_IMETHOD RemoveWeakReflowObserver(nsIReflowObserver *obs) override { return _to RemoveWeakReflowObserver(obs); } \
1535
  NS_IMETHOD NotifyReflowObservers(bool interruptible, DOMHighResTimeStamp start, DOMHighResTimeStamp end) override { return _to NotifyReflowObservers(interruptible, start, end); } \
1536
  NS_IMETHOD AddWeakScrollObserver(nsIScrollObserver *obs) override { return _to AddWeakScrollObserver(obs); } \
1537
  NS_IMETHOD RemoveWeakScrollObserver(nsIScrollObserver *obs) override { return _to RemoveWeakScrollObserver(obs); } \
1538
  NS_IMETHOD NotifyScrollObservers(void) override { return _to NotifyScrollObservers(); } \
1539
  using nsIDocShell::GetFrameType; \
1540
  NS_IMETHOD GetFrameType(uint32_t *aFrameType) override { return _to GetFrameType(aFrameType); } \
1541
  NS_IMETHOD SetFrameType(uint32_t aFrameType) override { return _to SetFrameType(aFrameType); } \
1542
  using nsIDocShell::GetIsMozBrowser; \
1543
  NS_IMETHOD GetIsMozBrowser(bool *aIsMozBrowser) override { return _to GetIsMozBrowser(aIsMozBrowser); } \
1544
  using nsIDocShell::GetIsIsolatedMozBrowserElement; \
1545
  NS_IMETHOD GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement) override { return _to GetIsIsolatedMozBrowserElement(aIsIsolatedMozBrowserElement); } \
1546
  using nsIDocShell::GetIsInIsolatedMozBrowserElement; \
1547
  NS_IMETHOD GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement) override { return _to GetIsInIsolatedMozBrowserElement(aIsInIsolatedMozBrowserElement); } \
1548
  using nsIDocShell::GetIsInMozBrowser; \
1549
  NS_IMETHOD GetIsInMozBrowser(bool *aIsInMozBrowser) override { return _to GetIsInMozBrowser(aIsInMozBrowser); } \
1550
  using nsIDocShell::GetIsTopLevelContentDocShell; \
1551
  NS_IMETHOD GetIsTopLevelContentDocShell(bool *aIsTopLevelContentDocShell) override { return _to GetIsTopLevelContentDocShell(aIsTopLevelContentDocShell); } \
1552
  NS_IMETHOD GetSameTypeParentIgnoreBrowserBoundaries(nsIDocShell **_retval) override { return _to GetSameTypeParentIgnoreBrowserBoundaries(_retval); } \
1553
  NS_IMETHOD GetSameTypeRootTreeItemIgnoreBrowserBoundaries(nsIDocShell **_retval) override { return _to GetSameTypeRootTreeItemIgnoreBrowserBoundaries(_retval); } \
1554
  NS_IMETHOD GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled) override { return _to GetAsyncPanZoomEnabled(aAsyncPanZoomEnabled); } \
1555
  NS_IMETHOD GetSandboxFlags(uint32_t *aSandboxFlags) override { return _to GetSandboxFlags(aSandboxFlags); } \
1556
  NS_IMETHOD SetSandboxFlags(uint32_t aSandboxFlags) override { return _to SetSandboxFlags(aSandboxFlags); } \
1557
  NS_IMETHOD GetOnePermittedSandboxedNavigator(nsIDocShell **aOnePermittedSandboxedNavigator) override { return _to GetOnePermittedSandboxedNavigator(aOnePermittedSandboxedNavigator); } \
1558
  NS_IMETHOD SetOnePermittedSandboxedNavigator(nsIDocShell *aOnePermittedSandboxedNavigator) override { return _to SetOnePermittedSandboxedNavigator(aOnePermittedSandboxedNavigator); } \
1559
  virtual bool IsSandboxedFrom(nsIDocShell *aTargetDocShell) override { return _to IsSandboxedFrom(aTargetDocShell); } \
1560
  NS_IMETHOD GetMixedContentChannel(nsIChannel **aMixedContentChannel) override { return _to GetMixedContentChannel(aMixedContentChannel); } \
1561
  NS_IMETHOD SetMixedContentChannel(nsIChannel *aMixedContentChannel) override { return _to SetMixedContentChannel(aMixedContentChannel); } \
1562
  NS_IMETHOD GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell) override { return _to GetAllowMixedContentAndConnectionData(rootHasSecureConnection, allowMixedContent, isRootDocShell); } \
1563
  NS_IMETHOD_(bool) PluginsAllowedInCurrentDoc(void) override { return _to PluginsAllowedInCurrentDoc(); } \
1564
  using nsIDocShell::GetFullscreenAllowed; \
1565
  NS_IMETHOD GetFullscreenAllowed(bool *aFullscreenAllowed) override { return _to GetFullscreenAllowed(aFullscreenAllowed); } \
1566
  NS_IMETHOD SetFullscreenAllowed(bool allowed) override { return _to SetFullscreenAllowed(allowed); } \
1567
  NS_IMETHOD_(uint32_t) OrientationLock(void) override { return _to OrientationLock(); } \
1568
  NS_IMETHOD_(void) SetOrientationLock(uint32_t orientationLock) override { return _to SetOrientationLock(orientationLock); } \
1569
  using nsIDocShell::GetAffectPrivateSessionLifetime; \
1570
  NS_IMETHOD GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime) override { return _to GetAffectPrivateSessionLifetime(aAffectPrivateSessionLifetime); } \
1571
  NS_IMETHOD SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime) override { return _to SetAffectPrivateSessionLifetime(aAffectPrivateSessionLifetime); } \
1572
  using nsIDocShell::GetMayEnableCharacterEncodingMenu; \
1573
  NS_IMETHOD GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu) override { return _to GetMayEnableCharacterEncodingMenu(aMayEnableCharacterEncodingMenu); } \
1574
  NS_IMETHOD GetEditor(nsIEditor **aEditor) override { return _to GetEditor(aEditor); } \
1575
  NS_IMETHOD SetEditor(nsIEditor *aEditor) override { return _to SetEditor(aEditor); } \
1576
  NS_IMETHOD GetEditable(bool *aEditable) override { return _to GetEditable(aEditable); } \
1577
  NS_IMETHOD GetHasEditingSession(bool *aHasEditingSession) override { return _to GetHasEditingSession(aHasEditingSession); } \
1578
  NS_IMETHOD MakeEditable(bool inWaitForUriLoad) override { return _to MakeEditable(inWaitForUriLoad); } \
1579
  NS_IMETHOD GetChildSHEntry(int32_t aChildOffset, nsISHEntry **_retval) override { return _to GetChildSHEntry(aChildOffset, _retval); } \
1580
  NS_IMETHOD AddChildSHEntry(nsISHEntry *aCloneReference, nsISHEntry *aHistoryEntry, int32_t aChildOffset, uint32_t aLoadType, bool aCloneChilden) override { return _to AddChildSHEntry(aCloneReference, aHistoryEntry, aChildOffset, aLoadType, aCloneChilden); } \
1581
  NS_IMETHOD GetUseGlobalHistory(bool *aUseGlobalHistory) override { return _to GetUseGlobalHistory(aUseGlobalHistory); } \
1582
  NS_IMETHOD SetUseGlobalHistory(bool aUseGlobalHistory) override { return _to SetUseGlobalHistory(aUseGlobalHistory); } \
1583
  NS_IMETHOD RemoveFromSessionHistory(void) override { return _to RemoveFromSessionHistory(); } \
1584
  using nsIDocShell::GetCreatedDynamically; \
1585
  NS_IMETHOD GetCreatedDynamically(bool *aCreatedDynamically) override { return _to GetCreatedDynamically(aCreatedDynamically); } \
1586
  NS_IMETHOD SetCreatedDynamically(bool aCreatedDynamically) override { return _to SetCreatedDynamically(aCreatedDynamically); } \
1587
  NS_IMETHOD GetCurrentSHEntry(nsISHEntry **aEntry, bool *_retval) override { return _to GetCurrentSHEntry(aEntry, _retval); } \
1588
  NS_IMETHOD IsCommandEnabled(const char * command, bool *_retval) override { return _to IsCommandEnabled(command, _retval); } \
1589
  NS_IMETHOD DoCommand(const char * command) override { return _to DoCommand(command); } \
1590
  NS_IMETHOD DoCommandWithParams(const char * command, nsICommandParams *aParams) override { return _to DoCommandWithParams(command, aParams); } \
1591
  NS_IMETHOD_(bool) IsInvisible(void) override { return _to IsInvisible(); } \
1592
  NS_IMETHOD_(void) SetInvisible(bool aIsInvisibleDochsell) override { return _to SetInvisible(aIsInvisibleDochsell); } \
1593
  virtual nsIScriptGlobalObject * GetScriptGlobalObject(void) override { return _to GetScriptGlobalObject(); } \
1594
  using nsIDocShell::GetDeviceSizeIsPageSize; \
1595
  NS_IMETHOD GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize) override { return _to GetDeviceSizeIsPageSize(aDeviceSizeIsPageSize); } \
1596
  NS_IMETHOD SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize) override { return _to SetDeviceSizeIsPageSize(aDeviceSizeIsPageSize); } \
1597
  virtual void SetOpener(nsITabParent *aOpener) override { return _to SetOpener(aOpener); } \
1598
  virtual nsITabParent * GetOpener(void) override { return _to GetOpener(); } \
1599
  virtual void NotifyJSRunToCompletionStart(const char * aReason, const char16_t * functionName, const char16_t * fileName, uint32_t lineNumber, JS::HandleValue asyncStack, const char * asyncCause) override { return _to NotifyJSRunToCompletionStart(aReason, functionName, fileName, lineNumber, asyncStack, asyncCause); } \
1600
  virtual void NotifyJSRunToCompletionStop(void) override { return _to NotifyJSRunToCompletionStop(); } \
1601
  using nsIDocShell::GetHasLoadedNonBlankURI; \
1602
  NS_IMETHOD GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI) override { return _to GetHasLoadedNonBlankURI(aHasLoadedNonBlankURI); } \
1603
  NS_IMETHOD GetWindowDraggingAllowed(bool *aWindowDraggingAllowed) override { return _to GetWindowDraggingAllowed(aWindowDraggingAllowed); } \
1604
  NS_IMETHOD SetWindowDraggingAllowed(bool aWindowDraggingAllowed) override { return _to SetWindowDraggingAllowed(aWindowDraggingAllowed); } \
1605
  NS_IMETHOD GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual) override { return _to GetCurrentScrollRestorationIsManual(aCurrentScrollRestorationIsManual); } \
1606
  NS_IMETHOD SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual) override { return _to SetCurrentScrollRestorationIsManual(aCurrentScrollRestorationIsManual); } \
1607
  NS_IMETHOD GetOriginAttributes(JSContext* cx, JS::MutableHandleValue _retval) override { return _to GetOriginAttributes(cx, _retval); } \
1608
  NS_IMETHOD SetOriginAttributes(JS::HandleValue aAttrs, JSContext* cx) override { return _to SetOriginAttributes(aAttrs, cx); } \
1609
  NS_IMETHOD GetEditingSession(nsIEditingSession **aEditingSession) override { return _to GetEditingSession(aEditingSession); } \
1610
  NS_IMETHOD GetScriptableTabChild(nsITabChild **aTabChild) override { return _to GetScriptableTabChild(aTabChild); } \
1611
  virtual already_AddRefed<nsITabChild> GetTabChild(void) override { return _to GetTabChild(); } \
1612
  virtual nsICommandManager * GetCommandManager(void) override { return _to GetCommandManager(); } \
1613
  NS_IMETHOD GetTouchEventsOverride(uint32_t *aTouchEventsOverride) override { return _to GetTouchEventsOverride(aTouchEventsOverride); } \
1614
  NS_IMETHOD SetTouchEventsOverride(uint32_t aTouchEventsOverride) override { return _to SetTouchEventsOverride(aTouchEventsOverride); } \
1615
  using nsIDocShell::GetIsOnlyToplevelInTabGroup; \
1616
  NS_IMETHOD GetIsOnlyToplevelInTabGroup(bool *aIsOnlyToplevelInTabGroup) override { return _to GetIsOnlyToplevelInTabGroup(aIsOnlyToplevelInTabGroup); } \
1617
  using nsIDocShell::GetAwaitingLargeAlloc; \
1618
  NS_IMETHOD GetAwaitingLargeAlloc(bool *aAwaitingLargeAlloc) override { return _to GetAwaitingLargeAlloc(aAwaitingLargeAlloc); } \
1619
  NS_IMETHOD GetUseTrackingProtection(bool *aUseTrackingProtection) override { return _to GetUseTrackingProtection(aUseTrackingProtection); } \
1620
  NS_IMETHOD SetUseTrackingProtection(bool aUseTrackingProtection) override { return _to SetUseTrackingProtection(aUseTrackingProtection); } \
1621
  NS_IMETHOD DispatchLocationChangeEvent(void) override { return _to DispatchLocationChangeEvent(); } \
1622
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeInitialClientSource(void) override { return _to TakeInitialClientSource(); } \
1623
  NS_IMETHOD SetColorMatrix(float *aMatrix, uint32_t aMatrixLen) override { return _to SetColorMatrix(aMatrix, aMatrixLen); } \
1624
  NS_IMETHOD GetColorMatrix(uint32_t *aMatrixLen, float **aMatrix) override { return _to GetColorMatrix(aMatrixLen, aMatrix); } \
1625
  NS_IMETHOD InitSessionHistory(void) override { return _to InitSessionHistory(); } \
1626
  NS_IMETHOD GetBrowsingContext(mozilla::dom::BrowsingContext **aBrowsingContext) override { return _to GetBrowsingContext(aBrowsingContext); } \
1627
  NS_IMETHOD GetDisplayMode(uint32_t *aDisplayMode) override { return _to GetDisplayMode(aDisplayMode); } \
1628
  NS_IMETHOD SetDisplayMode(uint32_t aDisplayMode) override { return _to SetDisplayMode(aDisplayMode); } \
1629
  using nsIDocShell::GetMessageManager; \
1630
  NS_IMETHOD GetMessageManager(mozilla::dom::ContentFrameMessageManager **aMessageManager) override { return _to GetMessageManager(aMessageManager); } 
1631
1632
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1633
#define NS_FORWARD_SAFE_NSIDOCSHELL(_to) \
1634
  NS_IMETHOD LoadURI(nsIURI *uri, nsDocShellLoadInfo* loadInfo, uint32_t aLoadFlags, bool firstParty) override { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadURI(uri, loadInfo, aLoadFlags, firstParty); } \
1635
  NS_IMETHOD InternalLoad(nsIURI *aURI, nsIURI *aOriginalURI, const mozilla::Maybe<nsCOMPtr<nsIURI>> & aResultPrincipalURI, bool aKeepResultPrincipalURIIfSet, bool aLoadReplace, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsIPrincipal *aTriggeringPrincipal, nsIPrincipal *aPrincipalToInherit, uint32_t aFlags, const nsAString& aWindowTarget, const char * aTypeHint, const nsAString& aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool aFirstParty, const nsAString& aSrcdoc, nsIDocShell *aSourceDocShell, nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InternalLoad(aURI, aOriginalURI, aResultPrincipalURI, aKeepResultPrincipalURIIfSet, aLoadReplace, aReferrer, aReferrerPolicy, aTriggeringPrincipal, aPrincipalToInherit, aFlags, aWindowTarget, aTypeHint, aFileName, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, aFirstParty, aSrcdoc, aSourceDocShell, aBaseURI, aDocShell, aRequest); } \
1636
  NS_IMETHOD AddState(JS::HandleValue aData, const nsAString& aTitle, const nsAString& aURL, bool aReplace, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddState(aData, aTitle, aURL, aReplace, cx); } \
1637
  NS_IMETHOD PrepareForNewContentModel(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PrepareForNewContentModel(); } \
1638
  NS_IMETHOD SetCurrentURI(nsIURI *aURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCurrentURI(aURI); } \
1639
  NS_IMETHOD FirePageHideNotification(bool isUnload) override { return !_to ? NS_ERROR_NULL_POINTER : _to->FirePageHideNotification(isUnload); } \
1640
  NS_IMETHOD GetPresContext(nsPresContext * * aPresContext) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPresContext(aPresContext); } \
1641
  NS_IMETHOD_(nsIPresShell *) GetPresShell(void) override; \
1642
  NS_IMETHOD GetEldestPresShell(nsIPresShell * * aEldestPresShell) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEldestPresShell(aEldestPresShell); } \
1643
  NS_IMETHOD GetContentViewer(nsIContentViewer **aContentViewer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetContentViewer(aContentViewer); } \
1644
  NS_IMETHOD GetChromeEventHandler(mozilla::dom::EventTarget **aChromeEventHandler) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChromeEventHandler(aChromeEventHandler); } \
1645
  NS_IMETHOD SetChromeEventHandler(mozilla::dom::EventTarget *aChromeEventHandler) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetChromeEventHandler(aChromeEventHandler); } \
1646
  NS_IMETHOD GetCustomUserAgent(nsAString& aCustomUserAgent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCustomUserAgent(aCustomUserAgent); } \
1647
  NS_IMETHOD SetCustomUserAgent(const nsAString& aCustomUserAgent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCustomUserAgent(aCustomUserAgent); } \
1648
  NS_IMETHOD GetCssErrorReportingEnabled(bool *aCssErrorReportingEnabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCssErrorReportingEnabled(aCssErrorReportingEnabled); } \
1649
  NS_IMETHOD SetCssErrorReportingEnabled(bool aCssErrorReportingEnabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCssErrorReportingEnabled(aCssErrorReportingEnabled); } \
1650
  NS_IMETHOD GetAllowPlugins(bool *aAllowPlugins) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowPlugins(aAllowPlugins); } \
1651
  NS_IMETHOD SetAllowPlugins(bool aAllowPlugins) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowPlugins(aAllowPlugins); } \
1652
  NS_IMETHOD GetAllowJavascript(bool *aAllowJavascript) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowJavascript(aAllowJavascript); } \
1653
  NS_IMETHOD SetAllowJavascript(bool aAllowJavascript) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowJavascript(aAllowJavascript); } \
1654
  NS_IMETHOD GetAllowMetaRedirects(bool *aAllowMetaRedirects) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowMetaRedirects(aAllowMetaRedirects); } \
1655
  NS_IMETHOD SetAllowMetaRedirects(bool aAllowMetaRedirects) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowMetaRedirects(aAllowMetaRedirects); } \
1656
  NS_IMETHOD GetAllowSubframes(bool *aAllowSubframes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowSubframes(aAllowSubframes); } \
1657
  NS_IMETHOD SetAllowSubframes(bool aAllowSubframes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowSubframes(aAllowSubframes); } \
1658
  NS_IMETHOD GetAllowImages(bool *aAllowImages) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowImages(aAllowImages); } \
1659
  NS_IMETHOD SetAllowImages(bool aAllowImages) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowImages(aAllowImages); } \
1660
  NS_IMETHOD GetAllowMedia(bool *aAllowMedia) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowMedia(aAllowMedia); } \
1661
  NS_IMETHOD SetAllowMedia(bool aAllowMedia) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowMedia(aAllowMedia); } \
1662
  NS_IMETHOD GetAllowDNSPrefetch(bool *aAllowDNSPrefetch) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowDNSPrefetch(aAllowDNSPrefetch); } \
1663
  NS_IMETHOD SetAllowDNSPrefetch(bool aAllowDNSPrefetch) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowDNSPrefetch(aAllowDNSPrefetch); } \
1664
  NS_IMETHOD GetAllowWindowControl(bool *aAllowWindowControl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowWindowControl(aAllowWindowControl); } \
1665
  NS_IMETHOD SetAllowWindowControl(bool aAllowWindowControl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowWindowControl(aAllowWindowControl); } \
1666
  NS_IMETHOD GetAllowContentRetargeting(bool *aAllowContentRetargeting) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowContentRetargeting(aAllowContentRetargeting); } \
1667
  NS_IMETHOD SetAllowContentRetargeting(bool aAllowContentRetargeting) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowContentRetargeting(aAllowContentRetargeting); } \
1668
  NS_IMETHOD GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowContentRetargetingOnChildren(aAllowContentRetargetingOnChildren); } \
1669
  NS_IMETHOD SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowContentRetargetingOnChildren(aAllowContentRetargetingOnChildren); } \
1670
  NS_IMETHOD GetInheritPrivateBrowsingId(bool *aInheritPrivateBrowsingId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInheritPrivateBrowsingId(aInheritPrivateBrowsingId); } \
1671
  NS_IMETHOD SetInheritPrivateBrowsingId(bool aInheritPrivateBrowsingId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetInheritPrivateBrowsingId(aInheritPrivateBrowsingId); } \
1672
  NS_IMETHOD GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDocShellEnumerator(aItemType, aDirection, _retval); } \
1673
  NS_IMETHOD GetAppType(uint32_t *aAppType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAppType(aAppType); } \
1674
  NS_IMETHOD SetAppType(uint32_t aAppType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAppType(aAppType); } \
1675
  NS_IMETHOD GetAllowAuth(bool *aAllowAuth) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowAuth(aAllowAuth); } \
1676
  NS_IMETHOD SetAllowAuth(bool aAllowAuth) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAllowAuth(aAllowAuth); } \
1677
  NS_IMETHOD GetZoom(float *aZoom) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetZoom(aZoom); } \
1678
  NS_IMETHOD SetZoom(float aZoom) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetZoom(aZoom); } \
1679
  NS_IMETHOD GetMarginWidth(int32_t *aMarginWidth) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMarginWidth(aMarginWidth); } \
1680
  NS_IMETHOD SetMarginWidth(int32_t aMarginWidth) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMarginWidth(aMarginWidth); } \
1681
  NS_IMETHOD GetMarginHeight(int32_t *aMarginHeight) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMarginHeight(aMarginHeight); } \
1682
  NS_IMETHOD SetMarginHeight(int32_t aMarginHeight) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMarginHeight(aMarginHeight); } \
1683
  NS_IMETHOD TabToTreeOwner(bool forward, bool forDocumentNavigation, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TabToTreeOwner(forward, forDocumentNavigation, _retval); } \
1684
  NS_IMETHOD GetBusyFlags(uint32_t *aBusyFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBusyFlags(aBusyFlags); } \
1685
  NS_IMETHOD GetLoadType(uint32_t *aLoadType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadType(aLoadType); } \
1686
  NS_IMETHOD SetLoadType(uint32_t aLoadType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoadType(aLoadType); } \
1687
  NS_IMETHOD GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultLoadFlags(aDefaultLoadFlags); } \
1688
  NS_IMETHOD SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultLoadFlags(aDefaultLoadFlags); } \
1689
  NS_IMETHOD IsBeingDestroyed(bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsBeingDestroyed(_retval); } \
1690
  NS_IMETHOD GetIsExecutingOnLoadHandler(bool *aIsExecutingOnLoadHandler) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsExecutingOnLoadHandler(aIsExecutingOnLoadHandler); } \
1691
  NS_IMETHOD GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLayoutHistoryState(aLayoutHistoryState); } \
1692
  NS_IMETHOD SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLayoutHistoryState(aLayoutHistoryState); } \
1693
  NS_IMETHOD GetShouldSaveLayoutState(bool *aShouldSaveLayoutState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetShouldSaveLayoutState(aShouldSaveLayoutState); } \
1694
  NS_IMETHOD GetSecurityUI(nsISecureBrowserUI **aSecurityUI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSecurityUI(aSecurityUI); } \
1695
  NS_IMETHOD SetSecurityUI(nsISecureBrowserUI *aSecurityUI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSecurityUI(aSecurityUI); } \
1696
  NS_IMETHOD GetLoadURIDelegate(nsILoadURIDelegate **aLoadURIDelegate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadURIDelegate(aLoadURIDelegate); } \
1697
  NS_IMETHOD SetLoadURIDelegate(nsILoadURIDelegate *aLoadURIDelegate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoadURIDelegate(aLoadURIDelegate); } \
1698
  NS_IMETHOD SuspendRefreshURIs(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SuspendRefreshURIs(); } \
1699
  NS_IMETHOD ResumeRefreshURIs(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ResumeRefreshURIs(); } \
1700
  NS_IMETHOD BeginRestore(nsIContentViewer *viewer, bool top) override { return !_to ? NS_ERROR_NULL_POINTER : _to->BeginRestore(viewer, top); } \
1701
  NS_IMETHOD FinishRestore(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->FinishRestore(); } \
1702
  NS_IMETHOD GetRestoringDocument(bool *aRestoringDocument) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRestoringDocument(aRestoringDocument); } \
1703
  NS_IMETHOD GetUseErrorPages(bool *aUseErrorPages) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseErrorPages(aUseErrorPages); } \
1704
  NS_IMETHOD SetUseErrorPages(bool aUseErrorPages) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseErrorPages(aUseErrorPages); } \
1705
  NS_IMETHOD DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t * aURL, nsIChannel *aFailedChannel, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DisplayLoadError(aError, aURI, aURL, aFailedChannel, _retval); } \
1706
  NS_IMETHOD GetFailedChannel(nsIChannel **aFailedChannel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFailedChannel(aFailedChannel); } \
1707
  NS_IMETHOD GetPreviousEntryIndex(int32_t *aPreviousEntryIndex) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPreviousEntryIndex(aPreviousEntryIndex); } \
1708
  NS_IMETHOD GetLoadedEntryIndex(int32_t *aLoadedEntryIndex) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoadedEntryIndex(aLoadedEntryIndex); } \
1709
  NS_IMETHOD HistoryPurged(int32_t numEntries) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HistoryPurged(numEntries); } \
1710
  NS_IMETHOD GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentDocumentChannel(aCurrentDocumentChannel); } \
1711
  NS_IMETHOD GetChildOffset(int32_t *aChildOffset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildOffset(aChildOffset); } \
1712
  NS_IMETHOD SetChildOffset(int32_t aChildOffset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetChildOffset(aChildOffset); } \
1713
  NS_IMETHOD GetIsInUnload(bool *aIsInUnload) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsInUnload(aIsInUnload); } \
1714
  NS_IMETHOD GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasMixedActiveContentLoaded(aHasMixedActiveContentLoaded); } \
1715
  NS_IMETHOD GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasMixedActiveContentBlocked(aHasMixedActiveContentBlocked); } \
1716
  NS_IMETHOD GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasMixedDisplayContentLoaded(aHasMixedDisplayContentLoaded); } \
1717
  NS_IMETHOD GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasMixedDisplayContentBlocked(aHasMixedDisplayContentBlocked); } \
1718
  NS_IMETHOD GetHasTrackingContentBlocked(bool *aHasTrackingContentBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasTrackingContentBlocked(aHasTrackingContentBlocked); } \
1719
  NS_IMETHOD GetHasTrackingContentLoaded(bool *aHasTrackingContentLoaded) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasTrackingContentLoaded(aHasTrackingContentLoaded); } \
1720
  NS_IMETHOD GetHasSlowTrackingContentBlocked(bool *aHasSlowTrackingContentBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasSlowTrackingContentBlocked(aHasSlowTrackingContentBlocked); } \
1721
  NS_IMETHOD GetHasCookiesBlockedByPermission(bool *aHasCookiesBlockedByPermission) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasCookiesBlockedByPermission(aHasCookiesBlockedByPermission); } \
1722
  NS_IMETHOD GetHasCookiesBlockedDueToTrackers(bool *aHasCookiesBlockedDueToTrackers) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasCookiesBlockedDueToTrackers(aHasCookiesBlockedDueToTrackers); } \
1723
  NS_IMETHOD GetHasAllCookiesBeenBlocked(bool *aHasAllCookiesBeenBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasAllCookiesBeenBlocked(aHasAllCookiesBeenBlocked); } \
1724
  NS_IMETHOD GetHasForeignCookiesBeenBlocked(bool *aHasForeignCookiesBeenBlocked) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasForeignCookiesBeenBlocked(aHasForeignCookiesBeenBlocked); } \
1725
  NS_IMETHOD_(void) DetachEditorFromWindow(void) override; \
1726
  NS_IMETHOD GetIsOffScreenBrowser(bool *aIsOffScreenBrowser) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsOffScreenBrowser(aIsOffScreenBrowser); } \
1727
  NS_IMETHOD SetIsOffScreenBrowser(bool aIsOffScreenBrowser) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsOffScreenBrowser(aIsOffScreenBrowser); } \
1728
  NS_IMETHOD SetIsPrinting(bool aIsPrinting) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsPrinting(aIsPrinting); } \
1729
  NS_IMETHOD GetPrintPreview(nsIWebBrowserPrint **aPrintPreview) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrintPreview(aPrintPreview); } \
1730
  NS_IMETHOD GetCanExecuteScripts(bool *aCanExecuteScripts) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanExecuteScripts(aCanExecuteScripts); } \
1731
  NS_IMETHOD GetIsActive(bool *aIsActive) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsActive(aIsActive); } \
1732
  NS_IMETHOD SetIsActive(bool aIsActive) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsActive(aIsActive); } \
1733
  NS_IMETHOD GetHistoryID(nsID * * aHistoryID) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHistoryID(aHistoryID); } \
1734
  NS_IMETHOD_(const nsID) HistoryID(void) override; \
1735
  NS_IMETHOD GetIsAppTab(bool *aIsAppTab) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsAppTab(aIsAppTab); } \
1736
  NS_IMETHOD SetIsAppTab(bool aIsAppTab) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsAppTab(aIsAppTab); } \
1737
  NS_IMETHOD CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateAboutBlankContentViewer(aPrincipal); } \
1738
  NS_IMETHOD ForceCreateAboutBlankContentViewer(nsIPrincipal *aPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForceCreateAboutBlankContentViewer(aPrincipal); } \
1739
  NS_IMETHOD GetCharset(nsACString& aCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharset(aCharset); } \
1740
  NS_IMETHOD SetCharset(const nsACString& aCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharset(aCharset); } \
1741
  NS_IMETHOD GatherCharsetMenuTelemetry(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GatherCharsetMenuTelemetry(); } \
1742
  NS_IMETHOD GetForcedCharset(nsACString& aForcedCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForcedCharset(aForcedCharset); } \
1743
  NS_IMETHOD SetForcedCharset(const nsACString& aForcedCharset) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForcedCharset(aForcedCharset); } \
1744
  virtual void SetParentCharset(const mozilla::Encoding* & parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal) override; \
1745
  virtual void GetParentCharset(const mozilla::Encoding* & parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal) override; \
1746
  NS_IMETHOD GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecordProfileTimelineMarkers(aRecordProfileTimelineMarkers); } \
1747
  NS_IMETHOD SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecordProfileTimelineMarkers(aRecordProfileTimelineMarkers); } \
1748
  NS_IMETHOD Now(DOMHighResTimeStamp *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Now(_retval); } \
1749
  NS_IMETHOD PopProfileTimelineMarkers(JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PopProfileTimelineMarkers(cx, _retval); } \
1750
  NS_IMETHOD AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddWeakPrivacyTransitionObserver(obs); } \
1751
  NS_IMETHOD AddWeakReflowObserver(nsIReflowObserver *obs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddWeakReflowObserver(obs); } \
1752
  NS_IMETHOD RemoveWeakReflowObserver(nsIReflowObserver *obs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveWeakReflowObserver(obs); } \
1753
  NS_IMETHOD NotifyReflowObservers(bool interruptible, DOMHighResTimeStamp start, DOMHighResTimeStamp end) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyReflowObservers(interruptible, start, end); } \
1754
  NS_IMETHOD AddWeakScrollObserver(nsIScrollObserver *obs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddWeakScrollObserver(obs); } \
1755
  NS_IMETHOD RemoveWeakScrollObserver(nsIScrollObserver *obs) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveWeakScrollObserver(obs); } \
1756
  NS_IMETHOD NotifyScrollObservers(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyScrollObservers(); } \
1757
  NS_IMETHOD GetFrameType(uint32_t *aFrameType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFrameType(aFrameType); } \
1758
  NS_IMETHOD SetFrameType(uint32_t aFrameType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFrameType(aFrameType); } \
1759
  NS_IMETHOD GetIsMozBrowser(bool *aIsMozBrowser) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMozBrowser(aIsMozBrowser); } \
1760
  NS_IMETHOD GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsIsolatedMozBrowserElement(aIsIsolatedMozBrowserElement); } \
1761
  NS_IMETHOD GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsInIsolatedMozBrowserElement(aIsInIsolatedMozBrowserElement); } \
1762
  NS_IMETHOD GetIsInMozBrowser(bool *aIsInMozBrowser) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsInMozBrowser(aIsInMozBrowser); } \
1763
  NS_IMETHOD GetIsTopLevelContentDocShell(bool *aIsTopLevelContentDocShell) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsTopLevelContentDocShell(aIsTopLevelContentDocShell); } \
1764
  NS_IMETHOD GetSameTypeParentIgnoreBrowserBoundaries(nsIDocShell **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSameTypeParentIgnoreBrowserBoundaries(_retval); } \
1765
  NS_IMETHOD GetSameTypeRootTreeItemIgnoreBrowserBoundaries(nsIDocShell **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSameTypeRootTreeItemIgnoreBrowserBoundaries(_retval); } \
1766
  NS_IMETHOD GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAsyncPanZoomEnabled(aAsyncPanZoomEnabled); } \
1767
  NS_IMETHOD GetSandboxFlags(uint32_t *aSandboxFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSandboxFlags(aSandboxFlags); } \
1768
  NS_IMETHOD SetSandboxFlags(uint32_t aSandboxFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSandboxFlags(aSandboxFlags); } \
1769
  NS_IMETHOD GetOnePermittedSandboxedNavigator(nsIDocShell **aOnePermittedSandboxedNavigator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnePermittedSandboxedNavigator(aOnePermittedSandboxedNavigator); } \
1770
  NS_IMETHOD SetOnePermittedSandboxedNavigator(nsIDocShell *aOnePermittedSandboxedNavigator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnePermittedSandboxedNavigator(aOnePermittedSandboxedNavigator); } \
1771
  virtual bool IsSandboxedFrom(nsIDocShell *aTargetDocShell) override; \
1772
  NS_IMETHOD GetMixedContentChannel(nsIChannel **aMixedContentChannel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMixedContentChannel(aMixedContentChannel); } \
1773
  NS_IMETHOD SetMixedContentChannel(nsIChannel *aMixedContentChannel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMixedContentChannel(aMixedContentChannel); } \
1774
  NS_IMETHOD GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllowMixedContentAndConnectionData(rootHasSecureConnection, allowMixedContent, isRootDocShell); } \
1775
  NS_IMETHOD_(bool) PluginsAllowedInCurrentDoc(void) override; \
1776
  NS_IMETHOD GetFullscreenAllowed(bool *aFullscreenAllowed) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFullscreenAllowed(aFullscreenAllowed); } \
1777
  NS_IMETHOD SetFullscreenAllowed(bool allowed) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFullscreenAllowed(allowed); } \
1778
  NS_IMETHOD_(uint32_t) OrientationLock(void) override; \
1779
  NS_IMETHOD_(void) SetOrientationLock(uint32_t orientationLock) override; \
1780
  NS_IMETHOD GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAffectPrivateSessionLifetime(aAffectPrivateSessionLifetime); } \
1781
  NS_IMETHOD SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAffectPrivateSessionLifetime(aAffectPrivateSessionLifetime); } \
1782
  NS_IMETHOD GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMayEnableCharacterEncodingMenu(aMayEnableCharacterEncodingMenu); } \
1783
  NS_IMETHOD GetEditor(nsIEditor **aEditor) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEditor(aEditor); } \
1784
  NS_IMETHOD SetEditor(nsIEditor *aEditor) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEditor(aEditor); } \
1785
  NS_IMETHOD GetEditable(bool *aEditable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEditable(aEditable); } \
1786
  NS_IMETHOD GetHasEditingSession(bool *aHasEditingSession) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasEditingSession(aHasEditingSession); } \
1787
  NS_IMETHOD MakeEditable(bool inWaitForUriLoad) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MakeEditable(inWaitForUriLoad); } \
1788
  NS_IMETHOD GetChildSHEntry(int32_t aChildOffset, nsISHEntry **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildSHEntry(aChildOffset, _retval); } \
1789
  NS_IMETHOD AddChildSHEntry(nsISHEntry *aCloneReference, nsISHEntry *aHistoryEntry, int32_t aChildOffset, uint32_t aLoadType, bool aCloneChilden) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddChildSHEntry(aCloneReference, aHistoryEntry, aChildOffset, aLoadType, aCloneChilden); } \
1790
  NS_IMETHOD GetUseGlobalHistory(bool *aUseGlobalHistory) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseGlobalHistory(aUseGlobalHistory); } \
1791
  NS_IMETHOD SetUseGlobalHistory(bool aUseGlobalHistory) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseGlobalHistory(aUseGlobalHistory); } \
1792
  NS_IMETHOD RemoveFromSessionHistory(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFromSessionHistory(); } \
1793
  NS_IMETHOD GetCreatedDynamically(bool *aCreatedDynamically) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCreatedDynamically(aCreatedDynamically); } \
1794
  NS_IMETHOD SetCreatedDynamically(bool aCreatedDynamically) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCreatedDynamically(aCreatedDynamically); } \
1795
  NS_IMETHOD GetCurrentSHEntry(nsISHEntry **aEntry, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentSHEntry(aEntry, _retval); } \
1796
  NS_IMETHOD IsCommandEnabled(const char * command, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsCommandEnabled(command, _retval); } \
1797
  NS_IMETHOD DoCommand(const char * command) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DoCommand(command); } \
1798
  NS_IMETHOD DoCommandWithParams(const char * command, nsICommandParams *aParams) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DoCommandWithParams(command, aParams); } \
1799
  NS_IMETHOD_(bool) IsInvisible(void) override; \
1800
  NS_IMETHOD_(void) SetInvisible(bool aIsInvisibleDochsell) override; \
1801
  virtual nsIScriptGlobalObject * GetScriptGlobalObject(void) override; \
1802
  NS_IMETHOD GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDeviceSizeIsPageSize(aDeviceSizeIsPageSize); } \
1803
  NS_IMETHOD SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDeviceSizeIsPageSize(aDeviceSizeIsPageSize); } \
1804
  virtual void SetOpener(nsITabParent *aOpener) override; \
1805
  virtual nsITabParent * GetOpener(void) override; \
1806
  virtual void NotifyJSRunToCompletionStart(const char * aReason, const char16_t * functionName, const char16_t * fileName, uint32_t lineNumber, JS::HandleValue asyncStack, const char * asyncCause) override; \
1807
  virtual void NotifyJSRunToCompletionStop(void) override; \
1808
  NS_IMETHOD GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasLoadedNonBlankURI(aHasLoadedNonBlankURI); } \
1809
  NS_IMETHOD GetWindowDraggingAllowed(bool *aWindowDraggingAllowed) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWindowDraggingAllowed(aWindowDraggingAllowed); } \
1810
  NS_IMETHOD SetWindowDraggingAllowed(bool aWindowDraggingAllowed) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWindowDraggingAllowed(aWindowDraggingAllowed); } \
1811
  NS_IMETHOD GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentScrollRestorationIsManual(aCurrentScrollRestorationIsManual); } \
1812
  NS_IMETHOD SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCurrentScrollRestorationIsManual(aCurrentScrollRestorationIsManual); } \
1813
  NS_IMETHOD GetOriginAttributes(JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginAttributes(cx, _retval); } \
1814
  NS_IMETHOD SetOriginAttributes(JS::HandleValue aAttrs, JSContext* cx) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOriginAttributes(aAttrs, cx); } \
1815
  NS_IMETHOD GetEditingSession(nsIEditingSession **aEditingSession) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEditingSession(aEditingSession); } \
1816
  NS_IMETHOD GetScriptableTabChild(nsITabChild **aTabChild) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScriptableTabChild(aTabChild); } \
1817
  virtual already_AddRefed<nsITabChild> GetTabChild(void) override; \
1818
  virtual nsICommandManager * GetCommandManager(void) override; \
1819
  NS_IMETHOD GetTouchEventsOverride(uint32_t *aTouchEventsOverride) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTouchEventsOverride(aTouchEventsOverride); } \
1820
  NS_IMETHOD SetTouchEventsOverride(uint32_t aTouchEventsOverride) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTouchEventsOverride(aTouchEventsOverride); } \
1821
  NS_IMETHOD GetIsOnlyToplevelInTabGroup(bool *aIsOnlyToplevelInTabGroup) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsOnlyToplevelInTabGroup(aIsOnlyToplevelInTabGroup); } \
1822
  NS_IMETHOD GetAwaitingLargeAlloc(bool *aAwaitingLargeAlloc) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAwaitingLargeAlloc(aAwaitingLargeAlloc); } \
1823
  NS_IMETHOD GetUseTrackingProtection(bool *aUseTrackingProtection) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseTrackingProtection(aUseTrackingProtection); } \
1824
  NS_IMETHOD SetUseTrackingProtection(bool aUseTrackingProtection) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseTrackingProtection(aUseTrackingProtection); } \
1825
  NS_IMETHOD DispatchLocationChangeEvent(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DispatchLocationChangeEvent(); } \
1826
  virtual mozilla::UniquePtr<mozilla::dom::ClientSource> TakeInitialClientSource(void) override; \
1827
  NS_IMETHOD SetColorMatrix(float *aMatrix, uint32_t aMatrixLen) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetColorMatrix(aMatrix, aMatrixLen); } \
1828
  NS_IMETHOD GetColorMatrix(uint32_t *aMatrixLen, float **aMatrix) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColorMatrix(aMatrixLen, aMatrix); } \
1829
  NS_IMETHOD InitSessionHistory(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InitSessionHistory(); } \
1830
  NS_IMETHOD GetBrowsingContext(mozilla::dom::BrowsingContext **aBrowsingContext) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBrowsingContext(aBrowsingContext); } \
1831
  NS_IMETHOD GetDisplayMode(uint32_t *aDisplayMode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisplayMode(aDisplayMode); } \
1832
  NS_IMETHOD SetDisplayMode(uint32_t aDisplayMode) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDisplayMode(aDisplayMode); } \
1833
  NS_IMETHOD GetMessageManager(mozilla::dom::ContentFrameMessageManager **aMessageManager) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMessageManager(aMessageManager); } 
1834
1835
1836
#endif /* __gen_nsIDocShell_h__ */