WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
82609
[Qt] Find zoomable area using area-based hit-testing
https://bugs.webkit.org/show_bug.cgi?id=82609
Summary
[Qt] Find zoomable area using area-based hit-testing
Allan Sandfeld Jensen
Reported
2012-03-29 06:50:14 PDT
The current implementation of tap-to-zoom uses a normal hit-testing and simply walks the DOM-tree to find a suitable zoomable area. This fails to catch almost all cases of CSS layout that doesn't follow flow. A better solution is to use the areas returned by a rect-based hit-testing and returning the best zoomable area from the result.
Attachments
Patch
(16.80 KB, patch)
2012-03-29 06:57 PDT
,
Allan Sandfeld Jensen
no flags
Details
Formatted Diff
Diff
Patch
(23.40 KB, patch)
2012-03-30 05:21 PDT
,
Allan Sandfeld Jensen
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Allan Sandfeld Jensen
Comment 1
2012-03-29 06:57:28 PDT
Created
attachment 134570
[details]
Patch
Kenneth Rohde Christiansen
Comment 2
2012-03-29 07:28:55 PDT
Comment on
attachment 134570
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=134570&action=review
lets look this over together tomorrow
> Source/WebCore/page/TouchAdjustment.cpp:101 > + ASSERT(node->renderer()); > + return node->renderer()->isBox(); > +}
What happens if it has a rotation transform? bounding box ?
> Source/WebCore/page/TouchAdjustment.cpp:120 > + RenderBox* renderer = static_cast<RenderBox*>(node->renderer());
I believe there is a toRenderBox method
Allan Sandfeld Jensen
Comment 3
2012-03-30 02:33:10 PDT
(In reply to
comment #2
)
> (From update of
attachment 134570
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=134570&action=review
> > lets look this over together tomorrow > > > Source/WebCore/page/TouchAdjustment.cpp:101 > > + ASSERT(node->renderer()); > > + return node->renderer()->isBox(); > > +} > > What happens if it has a rotation transform? bounding box ? >
Yes. This is similar to the current code. Also in this case bounding box is not an approximation. The bounding box is truly what we want to zoom to. I don't think UI's are ready for zoom and rotate :D
> > Source/WebCore/page/TouchAdjustment.cpp:120 > > + RenderBox* renderer = static_cast<RenderBox*>(node->renderer()); > > I believe there is a toRenderBox method
Right!
Allan Sandfeld Jensen
Comment 4
2012-03-30 05:21:30 PDT
Created
attachment 134789
[details]
Patch
Kenneth Rohde Christiansen
Comment 5
2012-03-30 05:34:12 PDT
Comment on
attachment 134789
[details]
Patch Nice improvement with layout tests!
WebKit Review Bot
Comment 6
2012-03-30 08:47:19 PDT
Comment on
attachment 134789
[details]
Patch Clearing flags on attachment: 134789 Committed
r112669
: <
http://trac.webkit.org/changeset/112669
>
WebKit Review Bot
Comment 7
2012-03-30 08:47:24 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug