Hi,

I'm trying to use a Qt-build of mozilla as an embedded web browser. I've
built mozilla for Qt from git sources and used a patched version of
mozembed as explained in [1]. I've already detected and fixed 2 issues in
mozilla sources, but now I've a problem with scrollbar rendering.

Scrollbars are not rendered at top-level. They're rendered correctly in sub
frames. See the following screenshots for an illustration:
- mozembed1 [2]: page with frames, where scrollbars are rendered
- mozembed2 [3]: page without frames, scrollbars are not rendered
These screenshots are produced using my test embedding app, but I can
reproduce the exact same result by running firefox from my Qt-build of
mozilla. The weird colors in the first screenshot are due to modification
I've made to nsNativeTheme.cpp to easily identify what was rendered where.
Obviously the missing colors in the second screenshot is a hint that
scrollbars are not rendered properly.

Would anybody have some hint where I should look at to track down the
issue? I don't mind digging into the code, but given the size of the code
base, any hint will be greatly appreciated.

>From my first debugging attempts, I can tell that rendering code is
executed and scrollbars are painted into some gfxImageSurface (width = 64,
height = window height; not sure why the width is 64 as the scrollbar
should only be ~17 pixels wide). However when this is transfered later on
to Qt, through nsWindow::DoPaint, it's using another gfxImageSurface
object, namely gBufferSurface defined in widget/qt/nsWindow.cpp.

Thanks,
Michael.

[1]
https://groups.google.com/group/mozilla.dev.embedding/browse_thread/thread/0db32900d2ff53ca#
[2] http://picpaste.com/mozembed1-cwDoOT2O.png
[3] http://picpaste.com/mozembed2-KFTOssgU.png
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to