Michael A. Borisov wrote:
1) Why exactly do you need a docshell?

I need it for many things. For example, to change page zoom.

Uh... The zoom setter on docshell just throws. Do you really mean that you use it as a way to get to the document viewer?

It's worth filing bugs on embedding APIs missing useful pieces instead of relying on internal functionality that's liable to break any moment...

2) Does

  nsCOMPtr<nsIDocShell> docShell = do_GetInterface(_browser);

   not do what you want?

No, it returns 0.

Sounds like your code's idea of the nsIDocShell IID and the browser core's idea are different.

Are you compiling against 3.0.x headers and running against 3.5?


No, I built FF3.5.1 myself. As I did FF3.0.11 before. So, I build and run my browser against FF3.5.1.

In your code where you do the QI or GetInterface call that returns 0, what is NS_GET_IID(nsIDocShell)? That is, if you do something like this:

  nsIID iid = NS_GET_IID(nsIDocShell);
  char* str = iir.ToString();
  printf("The iid: '%s'\n", str);
  NS_Free(str);

what is the output?

-Boris
_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to