зеркало из https://github.com/mozilla/pjs.git
backing out bug 339649 due to breakage on multiple tinderboxen as requested in #developers
This commit is contained in:
Родитель
701c8b9e86
Коммит
5db0add472
|
@ -419,14 +419,20 @@ nsXBLPrototypeHandler::ExecuteHandler(nsPIDOMEventTarget* aTarget,
|
|||
// Compile the handler and bind it to the element.
|
||||
nsCOMPtr<nsIScriptGlobalObject> boundGlobal;
|
||||
nsCOMPtr<nsPIWindowRoot> winRoot(do_QueryInterface(aTarget));
|
||||
nsCOMPtr<nsIDOMWindow> window;
|
||||
nsCOMPtr<nsIDOMWindowInternal> focusedWin;
|
||||
|
||||
if (winRoot) {
|
||||
window = winRoot->GetWindow();
|
||||
nsCOMPtr<nsIFocusController> focusController;
|
||||
winRoot->GetFocusController(getter_AddRefs(focusController));
|
||||
focusController->GetFocusedWindow(getter_AddRefs(focusedWin));
|
||||
}
|
||||
|
||||
if (window) {
|
||||
nsCOMPtr<nsPIDOMWindow> piWin(do_QueryInterface(window));
|
||||
// if the focused window was found get our script global object from
|
||||
// that.
|
||||
if (focusedWin) {
|
||||
NS_ASSERTION(isXULKey, "We should only use the focused window for "
|
||||
"XUL key handlers!");
|
||||
nsCOMPtr<nsPIDOMWindow> piWin(do_QueryInterface(focusedWin));
|
||||
|
||||
if (piWin) {
|
||||
piWin = piWin->GetCurrentInnerWindow();
|
||||
|
|
|
@ -43,21 +43,18 @@
|
|||
#include "nsISupports.h"
|
||||
#include "nsPIDOMEventTarget.h"
|
||||
|
||||
class nsIDOMWindow;
|
||||
class nsIFocusController;
|
||||
|
||||
// 440f8d32-818d-468a-ac75-5916fa1ea198
|
||||
// c18dee5a-dcf9-4391-a20c-581e769d095e
|
||||
#define NS_IWINDOWROOT_IID \
|
||||
{ 0x440f8d32, 0x818d, 0x468a, \
|
||||
{ 0xac, 0x75, 0x59, 0x16, 0xfa, 0x1e, 0xa1, 0x98 } }
|
||||
{ 0xc18dee5a, 0xdcf9, 0x4391, \
|
||||
{ 0xa2, 0x0c, 0x58, 0x1e, 0x76, 0x9d, 0x09, 0x5e } }
|
||||
|
||||
class nsPIWindowRoot : public nsPIDOMEventTarget {
|
||||
public:
|
||||
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWINDOWROOT_IID)
|
||||
|
||||
NS_IMETHOD GetFocusController(nsIFocusController** aResult)=0;
|
||||
|
||||
virtual nsIDOMWindow* GetWindow();
|
||||
};
|
||||
|
||||
NS_DEFINE_STATIC_IID_ACCESSOR(nsPIWindowRoot, NS_IWINDOWROOT_IID)
|
||||
|
|
|
@ -264,12 +264,6 @@ nsWindowRoot::GetFocusController(nsIFocusController** aResult)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsIDOMWindow*
|
||||
nsWindowRoot::GetWindow()
|
||||
{
|
||||
return mWindow;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindowRoot::GetScriptTypeID(PRUint32 *aScriptType)
|
||||
{
|
||||
|
|
|
@ -87,8 +87,6 @@ public:
|
|||
// nsPIWindowRoot
|
||||
NS_IMETHOD GetFocusController(nsIFocusController** aResult);
|
||||
|
||||
virtual nsIDOMWindow* GetWindow();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsWindowRoot, nsIDOMEventTarget)
|
||||
|
||||
protected:
|
||||
|
|
Загрузка…
Ссылка в новой задаче