diff --git a/extensions/typeaheadfind/src/nsTypeAheadFind.cpp b/extensions/typeaheadfind/src/nsTypeAheadFind.cpp index 2a3d0852940f..71287b74d27d 100644 --- a/extensions/typeaheadfind/src/nsTypeAheadFind.cpp +++ b/extensions/typeaheadfind/src/nsTypeAheadFind.cpp @@ -64,6 +64,7 @@ #include "nsIContent.h" #include "nsIFrame.h" #include "nsFrameTraversal.h" +#include "nsIStyleContext.h" #include "nsIDOMDocument.h" #include "nsIDOMHTMLDocument.h" #include "nsIDOMHTMLElement.h" @@ -2175,6 +2176,17 @@ nsTypeAheadFind::IsRangeVisible(nsIPresShell *aPresShell, return PR_FALSE; } + nsCOMPtr styleContext; + frame->GetStyleContext(getter_AddRefs(styleContext)); + if (styleContext) { + const nsStyleVisibility* vis = + (const nsStyleVisibility*)styleContext->GetStyleData(eStyleStruct_Visibility); + if (!vis || !vis->IsVisible()) { + return PR_FALSE; + } + } + + // ---- We have a frame ---- if (!aMustBeInViewPort) { // Don't need it to be on screen, just in rendering tree