Bug 159578 - <select> popups within frames are mispositioned. Use the content node's document, instead of the toplevel document, to compute the scroll offset. Also, #define IBMBIDI so that we get the correct vtable for nsIDocument. r=sfraser.

git-svn-id: svn://10.0.0.236/trunk@127818 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bryner%netscape.com
2002-08-22 00:24:33 +00:00
parent 037ab3c32d
commit 1ef11e5552
4 changed files with 24 additions and 6 deletions

View File

@@ -274,7 +274,7 @@
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "../dist/bin ../dist/lib ../dist/Embed/components ../intl/unicharutil/util ../modules/zlib/src";
OPTIMIZATION_CFLAGS = "-O2";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\"";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -DIBMBIDI";
OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -lm";
PREBINDING = NO;
PRODUCT_NAME = Navigator;
@@ -5414,7 +5414,7 @@
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "../dist/bin ../dist/lib ../dist/lib/components ../intl/unicharutil/src ../gfx/src ../js/src/liveconnect ../intl/unicharutil/util";
OPTIMIZATION_CFLAGS = "-O2";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN -DIBMBIDI";
OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm";
PRODUCT_NAME = Navigator;
SECTORDER_FLAGS = "";

View File

@@ -221,7 +221,16 @@ ContentClickListener::MouseDown(nsIDOMEvent* aEvent)
PRInt32 xDelta = clientX - left;
PRInt32 yDelta = top + height - clientY;
nsCOMPtr<nsIDOMWindow> window = getter_AddRefs([[[mBrowserController getBrowserWrapper] getBrowserView] getContentWindow]);
nsCOMPtr<nsIContent> selContent = do_QueryInterface(sel);
nsCOMPtr<nsIDocument> doc;
selContent->GetDocument(*getter_AddRefs(doc));
// I'm going to assume that if we got a mousedown for a content node,
// it's actually in a document.
nsCOMPtr<nsIScriptGlobalObject> sgo;
doc->GetScriptGlobalObject(getter_AddRefs(sgo));
nsCOMPtr<nsIDOMWindow> window = do_QueryInterface(sgo);
PRInt32 scrollX, scrollY;
window->GetScrollX(&scrollX);
window->GetScrollY(&scrollY);

View File

@@ -274,7 +274,7 @@
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "../dist/bin ../dist/lib ../dist/Embed/components ../intl/unicharutil/util ../modules/zlib/src";
OPTIMIZATION_CFLAGS = "-O2";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\"";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -DIBMBIDI";
OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -lm";
PREBINDING = NO;
PRODUCT_NAME = Navigator;
@@ -5414,7 +5414,7 @@
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "../dist/bin ../dist/lib ../dist/lib/components ../intl/unicharutil/src ../gfx/src ../js/src/liveconnect ../intl/unicharutil/util";
OPTIMIZATION_CFLAGS = "-O2";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN";
OTHER_CFLAGS = "-fno-rtti -DOSTYPE=\\\"Darwin1.4\\\" -DOSARCH=\\\"Darwin\\\" -D_BUILD_STATIC_BIN -DIBMBIDI";
OTHER_LDFLAGS = "-lxpcom -lplds4 -lplc4 -lnspr4 -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lmozjs -lmozjpeg -ljsj -lmozpng -lmozmng -lpthread -lz -lm";
PRODUCT_NAME = Navigator;
SECTORDER_FLAGS = "";

View File

@@ -221,7 +221,16 @@ ContentClickListener::MouseDown(nsIDOMEvent* aEvent)
PRInt32 xDelta = clientX - left;
PRInt32 yDelta = top + height - clientY;
nsCOMPtr<nsIDOMWindow> window = getter_AddRefs([[[mBrowserController getBrowserWrapper] getBrowserView] getContentWindow]);
nsCOMPtr<nsIContent> selContent = do_QueryInterface(sel);
nsCOMPtr<nsIDocument> doc;
selContent->GetDocument(*getter_AddRefs(doc));
// I'm going to assume that if we got a mousedown for a content node,
// it's actually in a document.
nsCOMPtr<nsIScriptGlobalObject> sgo;
doc->GetScriptGlobalObject(getter_AddRefs(sgo));
nsCOMPtr<nsIDOMWindow> window = do_QueryInterface(sgo);
PRInt32 scrollX, scrollY;
window->GetScrollX(&scrollX);
window->GetScrollY(&scrollY);