Hi,

I decided to have a go squashing my first Epiphany bug. I wanted to fix Bug
335226 <http://bugzilla.gnome.org/show_bug.cgi?id=335226>, because, well, it
was irritating me. With this bug, the embedded Gecko will scroll to the
focused content on activation.

After familiarising myself with the Mozilla codebase, I located the problem.
It's not strictly an Epiphany bug, but the bug doesn't occur in Firefox
(which doesn't use any native widgets), nor K-Meleon (which uses native
Windows widgets); the bug only occurs when embedding in a GTK user
interface.

What happens is Mozilla calls the function SetSuppressFocus before handling
an activate event, but it doesn't restore it to its previous state at the
end. This is a problem because the function is called recursively. IIve
created a patch, which I've put at <
http://www.iainnicol.com/files/mozilla_suppress_focus_scroll.diff>.

So far so good. The above patch works against the latest source from the
latest Firefox release (2.0.0.x), which uses Gecko 1.8. However, Mozilla
want patches against trunk, which is Gecko 1.9. I don't know the magical
combination of /.configure arguments that I need to build Mozilla and
Epiphany to get Epiphany compiling against Mozilla CVS, or even an alpha
Firefox release. I've tried many times without success (I get link errors
with xpcom).

I would like some help, please. If someone knows how to build against Gecko
1.9, I'd need, I'd appreciate them telling me. Either that, or they could
test the patch themselves. Or does anyone think I should just forward the
patch upstream even if I can't test it against Gecko 1.9?

Addendum: With my above patch applied, I noticed that focusing doesn't quite
work with Find: you can't tab from a search result. I'm working on a fix for
that (inspired by Firefox's findBar.js), but I suspect I'll be too late for
Epiphany 2.20.

Regards,
Iain Nicol
_______________________________________________
epiphany-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/epiphany-list

Reply via email to