Bug 132830

Summary: DataDetector UI doesn't update with resize
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: WebCore Misc.Assignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal Keywords: InRadar
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
none
Patch simon.fraser: review+

Description Brent Fulgham 2014-05-12 11:53:50 PDT
The DataDetector UI decorations on the page do not move with the elements they represent as the page is resized.
Comment 1 Brent Fulgham 2014-05-12 11:55:59 PDT
<rdar://problem/16871179>
Comment 2 Brent Fulgham 2014-05-12 11:59:40 PDT
Created attachment 231311 [details]
Patch
Comment 3 Simon Fraser (smfr) 2014-05-12 12:01:18 PDT
Comment on attachment 231311 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231311&action=review

> Source/WebCore/page/FrameView.cpp:559
> +#if ENABLE(TELEPHONE_NUMBER_DETECTION) && !PLATFORM(IOS)
> +    if (m_frame)
> +        m_frame->editor().contentsResized();
> +#endif

You should wire this up to any layout, not just resizing.
Comment 4 Brent Fulgham 2014-05-12 16:49:49 PDT
Created attachment 231340 [details]
Patch
Comment 5 Simon Fraser (smfr) 2014-05-12 16:52:01 PDT
Comment on attachment 231340 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231340&action=review

> Source/WebCore/page/FrameView.cpp:2753
>      frame().selection().setCaretRectNeedsUpdate();
>      frame().selection().updateAndRevealSelection();
> +    frame().selection().updateDataDetectorsForSelection();

Maybe selection can have a layoutDidChange() function that does these three things?
Comment 6 Brent Fulgham 2014-05-12 17:30:00 PDT
Committed r168664: <http://trac.webkit.org/changeset/168664>