New issue
Advanced search Search tips

Issue 691198 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 707627

Blocking:
issue 388681
issue 698661



Sign in to add a comment

LayoutObject::absoluteBoundingBoxRectForRange() should take EphemeralRange

Project Member Reported by yosin@chromium.org, Feb 11 2017

Issue description

LayoutObject::absoluteBoundingBoxRectForRange() is called by:
 - findInPageRectFromRange()
 - TextFinder::find()
 - TextFinder::selectFindMatch()
 

Comment 1 by yosin@chromium.org, Feb 11 2017

Labels: Hotlist-GoodFirstBug
Blocking: 698661

Comment 3 Deleted

I will start to work on this.


Owner: xiaoche...@chromium.org
Status: Assigned (was: Available)
Set myself as a virtual owner.

tanvir.rizvi@samsung.com is working on it.

Comment 6 by kojii@chromium.org, Apr 3 2017

Blockedon: 707627
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c2398f2a9fe6a2432bf86861da2e31480b2cc8d

commit 0c2398f2a9fe6a2432bf86861da2e31480b2cc8d
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Mon Apr 24 09:22:48 2017

Move ComputeTextRects before Range::BoundingBox()
Currently textQuads and ComputeTextRects algorithm is
mostly same. The difference of behaviour of these two functions
can be handled efficiently by using templates.

This patch is the first step to achieve above behaviour.
This patch removes the TODO comment and forward declaration of
computeTextRects.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2827603006
Cr-Commit-Position: refs/heads/master@{#466607}

[modify] https://crrev.com/0c2398f2a9fe6a2432bf86861da2e31480b2cc8d/third_party/WebKit/Source/core/dom/Range.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3bf55ce6853e03b407fb255a8101b0731cd529a

commit a3bf55ce6853e03b407fb255a8101b0731cd529a
Author: yosin <yosin@chromium.org>
Date: Tue Apr 25 08:30:32 2017

Mark LayoutText::AbsoluteRectsForRange() and AbsoluteQuadsForRange() as const member function

This patch marks |AbsoluteRectsForRange()| and |AbsoluteQuadsForRange()| in
|LayoutText| as const member function since these function don't modify
member variables and don't call non-const member functions.

This patch is a preparation of patch[1].

[1] http://crrev.com/2839633002: Introduce ComputeTextBounds template in Range.cpp

BUG= 691198 
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2837273002
Cr-Commit-Position: refs/heads/master@{#466925}

[modify] https://crrev.com/a3bf55ce6853e03b407fb255a8101b0731cd529a/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/a3bf55ce6853e03b407fb255a8101b0731cd529a/third_party/WebKit/Source/core/layout/LayoutText.h

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/deb0172c664a689bff370a530764f975480443f5

commit deb0172c664a689bff370a530764f975480443f5
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Thu Apr 27 16:39:39 2017

Introduce ComputeTextBounds template in Range.cpp

Currently textQuads and ComputeTextRects algorithm is
mostly same. The difference of behaviour of these two functions
can be handled efficiently by using templates.

This CL is the Second patch set to achieve the above behaviour.
This CL introduces ComputeTextBounds as template function, which
will  be used by computeTextRects only in this patch.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2839633002
Cr-Commit-Position: refs/heads/master@{#467707}

[modify] https://crrev.com/deb0172c664a689bff370a530764f975480443f5/third_party/WebKit/Source/core/dom/Range.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d463bb0d71db8246590f488ba5dba62e3ae56876

commit d463bb0d71db8246590f488ba5dba62e3ae56876
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Thu May 04 08:57:38 2017

Remove use_selection_height from LayoutText::AbsoluteQuadsForRange

All calls to LayoutText::AbsoluteQuadsForRange don't use use_selection_height,
so use_selection_height is removed from LayoutText::AbsoluteQuadsForRange and
its callee functions.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2853343003
Cr-Commit-Position: refs/heads/master@{#469295}

[modify] https://crrev.com/d463bb0d71db8246590f488ba5dba62e3ae56876/third_party/WebKit/Source/core/dom/Range.cpp
[modify] https://crrev.com/d463bb0d71db8246590f488ba5dba62e3ae56876/third_party/WebKit/Source/core/dom/Range.h
[modify] https://crrev.com/d463bb0d71db8246590f488ba5dba62e3ae56876/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/d463bb0d71db8246590f488ba5dba62e3ae56876/third_party/WebKit/Source/core/layout/LayoutText.h

Project Member

Comment 11 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec747d5400f2930853e1f90c8365916393803606

commit ec747d5400f2930853e1f90c8365916393803606
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Mon May 08 08:17:28 2017

Remove use_selection_height usage in LayoutText

All calls to LayoutText::AbsoluteRectsForRange don't use use_selection_height,
so use_selection_height is removed from LayoutText::AbsoluteRectsForRange and
its callee functions.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2863023003
Cr-Commit-Position: refs/heads/master@{#469921}

[modify] https://crrev.com/ec747d5400f2930853e1f90c8365916393803606/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] https://crrev.com/ec747d5400f2930853e1f90c8365916393803606/third_party/WebKit/Source/core/layout/LayoutText.h

Project Member

Comment 12 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f37555b2599b65017770d88c79ed9b4aae097e45

commit f37555b2599b65017770d88c79ed9b4aae097e45
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Tue May 09 15:42:33 2017

Make Range::TextQuads() to use ComputeTextBounds() template function.

This is CL#3 to achieve the template behaviour for Range::textQuads
and Range::textRects.
CL#2(https://codereview.chromium.org/2839633002/) ComputeTextBounds(),
template and was used by Range::computeTextRects() only.
This CL set will make Range::textQuads() to use ComputeTextBounds() template.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2854043002
Cr-Commit-Position: refs/heads/master@{#470345}

[modify] https://crrev.com/f37555b2599b65017770d88c79ed9b4aae097e45/third_party/WebKit/Source/core/dom/Range.cpp

Project Member

Comment 13 by bugdroid1@chromium.org, May 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b5640c1733e8c715cd6939876663dbb6c44972c

commit 6b5640c1733e8c715cd6939876663dbb6c44972c
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Mon May 15 06:42:41 2017

Move ComputeTextRects and ComputeTextQuads to VisibleUnits.

This CL moves the functions ComputeTextRects, ComputeTextQuads and
ComputeTextBounds<T> to VisibleUnits.cpp
This is done to avoid duplicate functions in Range and EphemeralRange Class.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2877463002
Cr-Commit-Position: refs/heads/master@{#471685}

[modify] https://crrev.com/6b5640c1733e8c715cd6939876663dbb6c44972c/third_party/WebKit/Source/core/dom/Range.cpp
[modify] https://crrev.com/6b5640c1733e8c715cd6939876663dbb6c44972c/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
[modify] https://crrev.com/6b5640c1733e8c715cd6939876663dbb6c44972c/third_party/WebKit/Source/core/editing/VisibleUnits.h

Project Member

Comment 14 by bugdroid1@chromium.org, May 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/69a72cbed48edfe7073bd697b71e007eb72bd0d9

commit 69a72cbed48edfe7073bd697b71e007eb72bd0d9
Author: tanvir.rizvi <tanvir.rizvi@samsung.com>
Date: Fri May 19 16:54:29 2017

Remove Range::TextQuads() and instead use ComputeTextQuads.

This patch removed the Range::TextQuads function, and uses ComputeTextQuads
instead for its call sites.
ComputeTextQuads was introduced to take EphemeralRange as input
parameter.

BUG= 691198 

Review-Url: https://codereview.chromium.org/2880273002
Cr-Commit-Position: refs/heads/master@{#473215}

[modify] https://crrev.com/69a72cbed48edfe7073bd697b71e007eb72bd0d9/third_party/WebKit/Source/core/dom/Range.cpp
[modify] https://crrev.com/69a72cbed48edfe7073bd697b71e007eb72bd0d9/third_party/WebKit/Source/core/dom/Range.h
[modify] https://crrev.com/69a72cbed48edfe7073bd697b71e007eb72bd0d9/third_party/WebKit/Source/core/dom/RangeTest.cpp
[modify] https://crrev.com/69a72cbed48edfe7073bd697b71e007eb72bd0d9/third_party/WebKit/Source/core/layout/LayoutObject.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, May 25 2017

Comment 16 by yosin@chromium.org, May 25 2017

Status: Fixed (was: Assigned)

Sign in to add a comment