By golly, we’re getting somewhere… (cross-post)

Raymond Heldt wrote up a great, and funny, blog post covering the current progress of the MSU Capstone project to implement Safari-style pinch-to-zoom for desktop Firefox. While working on the project, the students learned that there are similar plans to implement this feature for Firefox on Windows Metro.

The Windows Metro implementation is planning to use off-main-thread compositing and B2G’s AsyncPanZoomController implementation. The students are pushing ahead on their <canvas> based approach, since OMTC and AsyncZoomPanController are not fully ported to desktop builds.

Below is a snippet of Raymond’s post.

Well, the day started out with another abandon-my-attempt-at-implementing-something-because-it-already-got-it-taken-care-of-without-me moment, but beyond that, I was happy with my contributions today.

A scaling screenshot on pinch-to-zoom has been implemented (no thanks to myself), but for some absolutely insane reason, sometimes that screenshot gets drawn over the webpage’s content, sometimes not (although you can see animation through the “holes” of a webpage where they put advertisement boxes). Michigan State’s website scales fine, mxr.mozilla.org scales fine, Yahoo! sometimes scales fine DEPENDING ON WHICH CURRENT EVENT STORY IS CURRENTLY BEING DISPLAYED!!!, and then there’s websites that don’t hide the content and cover up the animation, like Amazon and Google and our CSE498 page on Michigan State’s website. Weird, I know.

But anyway, back to what I did. Figuring out some algorithms for x- and y- offset, I was able to get zooming relative to the center of the screen (adjusting for scrolling) instead of from the top-left corner. …