[tor-bugs] #14429 [Tor Browser]: Automated rounding of content window dimensions
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat Mar 28 22:34:00 UTC 2015
#14429: Automated rounding of content window dimensions
-------------------------+-------------------------------------------------
Reporter: | Owner: arthuredelstein
arthuredelstein | Status: needs_revision
Type: defect | Milestone:
Priority: normal | Version:
Component: Tor | Keywords: tbb-fingerprinting-resolution, tbb-
Browser | torbutton, tbb-4.5-alpha,
Resolution: | TorBrowserTeam201503R, GeorgKoppen201503R
Actual Points: | Parent ID:
Points: |
-------------------------+-------------------------------------------------
Comment (by arthuredelstein):
Replying to [comment:46 gk]:
> Replying to [comment:45 gk]:
> > When starting or, sometimes, when loading an other site I get tons of:
> > {{{
> > [03-28 21:42:07] Torbutton INFO: zoom 1X chromeWin 1000x972 container
1000x901 gBrowser 1000x900 content 1000x900
> > [03-28 21:42:07] Torbutton INFO: zoom 1X chromeWin 1000x971 container
1000x900 gBrowser 1000x900 content 1000x900
> > }}}
>
> And now i seem to be stuck in a loop that already lasts for minutes:
> {{{
> [03-28 22:11:20] Torbutton INFO: zoom 1X chromeWin 1000x973 container
1000x902 gBrowser 1000x900 content 1000x900
> [03-28 22:11:20] Torbutton INFO: zoom 1X chromeWin 1000x972 container
1000x901 gBrowser 1000x900 content 1000x900
>
> }}}
This loop should stop as soon as you move your mouse over the browser
window. In fact you are seeing the "rebuild" function which "jogs" the
window size.
The reason for this jog (on linux) is because of the followng scenario:
1. The user drags the window
2. The user holds the mouse down, but stops dragging
3. "shrinkwrap" is called and the browser attempts to resize the window to
rounded dimensions
4. The window manager (such as GNOME or KDE) doesn't allow resizing
because as far as it is concerned, the "dragging" event is continuing
5. The browser draws the window contents as shrunk to 200i x 100j, but the
window manager does not. So a large white space appears.
There is no way for the browser to know about this discrepancy. We can
easily fix the discrepancy with a single call to rebuild, *unless* the
user is still holding the mouse down. So we need to keep calling rebuild
periodically, until we can be sure the user is no longer holding on to the
drag event. The only way to be sure of this is if a mouseover is detected.
So we keep calling rebuild every 250 ms until a mouseover happens.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/14429#comment:47>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list