Closed Bug 1405805 Opened 7 years ago Closed 7 years ago

Move window closing logic into nsDocShell

Categories

(Core :: DOM: Core & HTML, enhancement, P2)

enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: nika, Assigned: nika)

References

Details

Attachments

(3 files)

      No description provided.
Priority: -- → P2
MozReview-Commit-ID: BpNykQdha7L
Attachment #8924671 - Flags: review?(bzbarsky)
MozReview-Commit-ID: 2fsVRy6INr3
Attachment #8924672 - Flags: review?(bugs)
MozReview-Commit-ID: EtDEaaeoARB
Attachment #8924673 - Flags: review?(bugs)
Comment on attachment 8924672 [details] [diff] [review]
Part 2: Add FORWARD_TO_DOCSHELL macros to nsGlobalWindow.cpp

># HG changeset patch
># User Nika Layzell <nika@thelayzells.com>
>
>Bug 1405805 - Part 2: Add FORWARD_TO_DOCSHELL macros to nsGlobalWindow.cpp, r=smaug
>
>MozReview-Commit-ID: 2fsVRy6INr3
>
>diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp
>index fe0519c85ee3..08692a0037ae 100644
>--- a/dom/base/nsGlobalWindow.cpp
>+++ b/dom/base/nsGlobalWindow.cpp
>@@ -410,16 +410,73 @@ static uint32_t gThrottledIdlePeriodLength;
>       if (!mInnerWindow) {                                                    \
>         return err_rval;                                                      \
>       }                                                                       \
>     }                                                                         \
>     return GetCurrentInnerWindowInternal()->method args;                      \
>   }                                                                           \
>   PR_END_MACRO
> 
>+// NOTE: This macro doesn't take the fallback as an argument. Instead, the
>+// fallback is the block of code which is placed after the macro invocation, as
>+// if the forwarding was successful we will return from the current function.
>+#define FORWARD_TO_DOCSHELL_WITH_FALLBACK(method, args)             \
the naming is weird. There is no fallback there.
Perhaps something like TRY_TO_FORWARD_TO_DOCSHELL


>+
>+#define FORWARD_TO_DOCSHELL(method, args, err_rval)                     \
>+  PR_BEGIN_MACRO                                                        \
>+  FORWARD_TO_DOCSHELL_WITH_FALLBACK(method, args);                      \
>+  return err_rval;                                                      \
>+  PR_END_MACRO
>+
>+#define FORWARD_TO_DOCSHELL_OR_THROW(method, args, errorresult, err_rval) \
>+  PR_BEGIN_MACRO                                                        \
>+  FORWARD_TO_DOCSHELL_WITH_FALLBACK(method, args);                      \
>+  errorresult.Throw(NS_ERROR_XPC_SECURITY_MANAGER_VETO);                \
>+  return err_rval;                                                      \
>+  PR_END_MACRO
align \s

>+
>+#define FORWARD_TO_DOCSHELL_VOID(method, args, err_rval)                \
what? _VOID taking an err_rval which is then returned? Something wrong here
Attachment #8924672 - Flags: review?(bugs) → review-
Comment on attachment 8924673 [details] [diff] [review]
Part 3: Move window closing logic into nsDocShell

>+class nsCloseEvent : public Runnable {
Since you're modifying the coding style anyhow, could you fix this.
{ to its own line

>+  PostCloseEvent(nsDocShell* aDocShell, bool aIndirect) {
Ditto, and same also with many other methods
Attachment #8924673 - Flags: review?(bugs) → review+
Comment on attachment 8924671 [details] [diff] [review]
Part 1: Remove some unused macros & fields from nsGlobalWindow

The DialogValueHolder class can go away altogether.  Mind doing that?  Looks like these bits were missed in bug 1374460.
Attachment #8924671 - Flags: review?(bzbarsky) → review+
Taking a different approach with the nsGlobalWindow split, so marking wontfix.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: