Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Issue 130433006: Implement CSS Emphasis Marks for complex text (Closed)

Created:
6 years, 11 months ago by Dominik Röttsches
Modified:
6 years, 10 months ago
CC:
blink-reviews, jamesr, krit, dsinclair, jbroman, danakj, Rik, Stephen Chennney, pdr., rwlbuis, Roozbeh
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Implement CSS Emphasis Marks for complex text BUG=335552 R=behdad,eae,leviw Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=167385

Patch Set 1 : WiP #

Total comments: 1

Patch Set 2 : Cleaned up, ready for review. #

Patch Set 3 : New Approach, splitting hb-clusters into grapheme clusters #

Patch Set 4 : New Approach, splitting hb-clusters into grapheme clusters, test case updated #

Patch Set 5 : New Approach, splitting hb-clusters into grapheme clusters, comment cleanup #

Total comments: 3

Patch Set 6 : New Approach, splitting hb-clusters into grapheme clusters, comment cleanup, rebaseline #

Total comments: 2

Patch Set 7 : Cleanup of leftover TODOs and FIXMEs, refactoring, some var renaming, adding comments #

Patch Set 8 : Cleanup of leftover TODOs and FIXMEs, refactoring, some var renaming, adding comments, removed spur… #

Total comments: 3

Patch Set 9 : Fixed data type choice, made case of zero grapheme clusters explicit, continuing for zero advance #

Total comments: 1

Patch Set 10 : Using enum for the m_forTextEmphasis member #

Patch Set 11 : countGraphemesInCluster needs 8bit support #

Total comments: 1

Patch Set 12 : countGraphemesInCluster based on m_normalizedBuffer #

Patch Set 13 : countGraphemesInCluster based on m_normalizedBuffer (win build fix) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+146 lines, -8 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -0 lines 0 comments Download
A LayoutTests/fast/text/emphasis-complex.html View 1 2 3 1 chunk +32 lines, -0 lines 0 comments Download
M Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +17 lines, -2 lines 0 comments Download
M Source/platform/fonts/harfbuzz/HarfBuzzShaper.h View 1 2 3 4 5 6 7 8 9 4 chunks +9 lines, -2 lines 0 comments Download
M Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +85 lines, -4 lines 0 comments Download

Messages

Total messages: 45 (0 generated)
Dominik Röttsches
Behdad, I started to implement CSS text emphasis for FontHarfBuzz, we could then apply the ...
6 years, 11 months ago (2014-01-16 16:37:31 UTC) #1
Dominik Röttsches
On 2014/01/16 16:37:31, Dominik Röttsches wrote: > Would I need to scan > backwards and ...
6 years, 11 months ago (2014-01-16 17:13:09 UTC) #2
Dominik Röttsches
Never mind - I think I found a solution.
6 years, 11 months ago (2014-01-17 13:03:07 UTC) #3
Dominik Röttsches
There are still selection repainting issues and in my opinion our emphasis marks with HarfBuzz ...
6 years, 11 months ago (2014-01-17 14:50:22 UTC) #4
behdad
On 2014/01/17 13:03:07, Dominik Röttsches wrote: > Never mind - I think I found a ...
6 years, 11 months ago (2014-01-19 08:58:23 UTC) #5
behdad
On 2014/01/19 08:58:23, behdad wrote: > On 2014/01/17 13:03:07, Dominik Röttsches wrote: > > Never ...
6 years, 11 months ago (2014-01-19 09:00:43 UTC) #6
Dominik Röttsches
On 2014/01/19 08:58:23, behdad wrote: > On 2014/01/17 13:03:07, Dominik Röttsches wrote: > > Never ...
6 years, 11 months ago (2014-01-20 09:16:33 UTC) #7
behdad
Ok let me tell you how I think this should be done correctly, and you ...
6 years, 11 months ago (2014-01-28 00:49:19 UTC) #8
Dominik Röttsches
Behdad, thanks a lot for the detailed instructions! I'll look into implementing that. > So, ...
6 years, 10 months ago (2014-01-28 16:26:45 UTC) #9
leviw_travelin_and_unemployed
On 2014/01/28 16:26:45, Dominik Röttsches wrote: > Behdad, thanks a lot for the detailed instructions! ...
6 years, 10 months ago (2014-01-28 18:17:31 UTC) #10
behdad
On 2014/01/28 16:26:45, Dominik Röttsches wrote: > How do I identify this relation? So, in ...
6 years, 10 months ago (2014-01-28 20:45:48 UTC) #11
Dominik Röttsches
On 2014/01/28 20:45:48, behdad wrote: > HTH! Wow, it does help a lot. Alright - ...
6 years, 10 months ago (2014-01-28 22:34:00 UTC) #12
Dominik Röttsches
Behdad, I tried to implement the algorithm you described now and it works quite well ...
6 years, 10 months ago (2014-02-06 18:12:20 UTC) #13
behdad
On 2014/02/06 18:12:20, Dominik Röttsches wrote: > Behdad, I tried to implement the algorithm you ...
6 years, 10 months ago (2014-02-06 18:45:55 UTC) #14
behdad
lgtm Really surprised at how short implementing this actually was. https://codereview.chromium.org/130433006/diff/220001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): https://codereview.chromium.org/130433006/diff/220001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode222 ...
6 years, 10 months ago (2014-02-08 02:45:09 UTC) #15
behdad
lgtm lgtm Really surprised at how short implementing this actually was. https://codereview.chromium.org/130433006/diff/220001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): ...
6 years, 10 months ago (2014-02-08 02:45:09 UTC) #16
leviw_travelin_and_unemployed
Thanks for the great work! https://codereview.chromium.org/130433006/diff/270001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp File Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp (right): https://codereview.chromium.org/130433006/diff/270001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp#newcode203 Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp:203: HarfBuzzShaper shaper(this, run, ForTextEmphasis); ...
6 years, 10 months ago (2014-02-10 00:10:37 UTC) #17
Dominik Röttsches
On 2014/02/08 02:45:09, behdad wrote: > https://codereview.chromium.org/130433006/diff/220001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode970 > Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp:970: > glyphBuffer->add(glyphToAdd, currentRun->fontData(), > createGlyphBufferAdvance(glyphAdvanceX, 0)); ...
6 years, 10 months ago (2014-02-11 11:38:32 UTC) #18
Dominik Röttsches
Also - thanks to both of you for the positive feedback and your quick reviews!
6 years, 10 months ago (2014-02-11 11:39:27 UTC) #19
Dominik Röttsches
New patch, hopefully most issues addressed: > https://codereview.chromium.org/130433006/diff/220001/Source/platform/fonts/h... > Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp:970: > glyphBuffer->add(glyphToAdd, currentRun->fontData(), > createGlyphBufferAdvance(glyphAdvanceX, ...
6 years, 10 months ago (2014-02-11 13:14:26 UTC) #20
Dominik Röttsches
On 2014/02/10 00:10:37, Levi wrote: > This block of code is becoming more complicated than ...
6 years, 10 months ago (2014-02-11 13:38:36 UTC) #21
behdad
https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode1040 Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp:1040: graphemesInCluster = countGraphemesInCluster(m_run, clusterStart, clusterEnd); Do you handle the ...
6 years, 10 months ago (2014-02-11 18:53:43 UTC) #22
behdad
https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode1040 Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp:1040: graphemesInCluster = countGraphemesInCluster(m_run, clusterStart, clusterEnd); On 2014/02/11 18:53:44, behdad ...
6 years, 10 months ago (2014-02-11 20:17:41 UTC) #23
Dominik Röttsches
On 2014/02/11 20:17:41, behdad wrote: > https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp > File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): > > https://codereview.chromium.org/130433006/diff/430001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode1040 > ...
6 years, 10 months ago (2014-02-12 14:25:25 UTC) #24
leviw_travelin_and_unemployed
https://codereview.chromium.org/130433006/diff/500001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.h File Source/platform/fonts/harfbuzz/HarfBuzzShaper.h (right): https://codereview.chromium.org/130433006/diff/500001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.h#newcode61 Source/platform/fonts/harfbuzz/HarfBuzzShaper.h:61: HarfBuzzShaper(const Font*, const TextRun&, bool forTextEmphasis = false); Don't ...
6 years, 10 months ago (2014-02-13 01:07:54 UTC) #25
Dominik Röttsches
On 2014/02/13 01:07:54, Levi wrote: > https://codereview.chromium.org/130433006/diff/500001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.h > File Source/platform/fonts/harfbuzz/HarfBuzzShaper.h (right): > > https://codereview.chromium.org/130433006/diff/500001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.h#newcode61 > ...
6 years, 10 months ago (2014-02-13 15:45:48 UTC) #26
leviw_travelin_and_unemployed
On 2014/02/13 15:45:48, Dominik Röttsches wrote: > On 2014/02/13 01:07:54, Levi wrote: > > > ...
6 years, 10 months ago (2014-02-14 01:31:14 UTC) #27
leviw_travelin_and_unemployed
The CQ bit was checked by leviw@chromium.org
6 years, 10 months ago (2014-02-14 01:31:20 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/130433006/560001
6 years, 10 months ago (2014-02-14 01:31:34 UTC) #29
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-14 01:31:36 UTC) #30
commit-bot: I haz the power
Failed to apply patch for LayoutTests/TestExpectations: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 10 months ago (2014-02-14 01:31:37 UTC) #31
Dominik Röttsches
On 2014/02/14 01:31:20, Levi wrote: > The CQ bit was checked by mailto:leviw@chromium.org Thanks for ...
6 years, 10 months ago (2014-02-14 11:01:44 UTC) #32
eae
On 2014/02/14 11:01:44, Dominik Röttsches wrote: > On 2014/02/14 01:31:20, Levi wrote: > > The ...
6 years, 10 months ago (2014-02-14 11:13:29 UTC) #33
eae
https://codereview.chromium.org/130433006/diff/640001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): https://codereview.chromium.org/130433006/diff/640001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode225 Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp:225: stringFor8BitRun = String::make16BitFrom8BitSource(subRun.characters8(), subRun.length()); I don't suppose we could ...
6 years, 10 months ago (2014-02-14 11:15:35 UTC) #34
Dominik Röttsches
On 2014/02/14 11:15:35, eae wrote: > https://codereview.chromium.org/130433006/diff/640001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp > File Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp (right): > > https://codereview.chromium.org/130433006/diff/640001/Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp#newcode225 > ...
6 years, 10 months ago (2014-02-14 13:04:14 UTC) #35
Dominik Röttsches
On 2014/02/14 13:04:14, Dominik Röttsches wrote: > ...collectHarfBuzzRuns... Sry, _createHarfBuzzRuns_ after your patch, Emil. :-)
6 years, 10 months ago (2014-02-14 13:12:16 UTC) #36
eae
On 2014/02/14 13:12:16, Dominik Röttsches wrote: > On 2014/02/14 13:04:14, Dominik Röttsches wrote: > > ...
6 years, 10 months ago (2014-02-18 16:48:00 UTC) #37
Dominik Röttsches
The CQ bit was checked by dominik.rottsches@intel.com
6 years, 10 months ago (2014-02-18 18:34:54 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/130433006/730001
6 years, 10 months ago (2014-02-18 18:35:07 UTC) #39
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-18 20:05:15 UTC) #40
commit-bot: I haz the power
Retried try job too often on win_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_layout&number=22379
6 years, 10 months ago (2014-02-18 20:05:15 UTC) #41
Dominik Röttsches
The CQ bit was checked by dominik.rottsches@intel.com
6 years, 10 months ago (2014-02-18 21:09:28 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominik.rottsches@intel.com/130433006/930001
6 years, 10 months ago (2014-02-18 21:09:45 UTC) #43
commit-bot: I haz the power
Change committed as 167385
6 years, 10 months ago (2014-02-19 00:57:52 UTC) #44
Dominik Röttsches
6 years, 10 months ago (2014-02-19 07:45:59 UTC) #45
Message was sent while issue was closed.
On 2014/02/18 16:48:00, eae wrote:

> LGTM!

Thanks, Emil!

Powered by Google App Engine
This is Rietveld 408576698