1. 28 6月, 2016 2 次提交
    • S
      Introduce FontCollection perftest · 5e6bc85d
      Seigo Nonaka 提交于
      This CL introduces performance tests for FontCollection.
      
      To support TTC file in /system/fonts, this CL also extends FontTestUtils
      
      Bug:29142734
      Change-Id: I9d8ad24ca55f61031b85623ab7c26234239e4f41
      5e6bc85d
    • S
      Add more native perf tests to minikin. · 0ca4fb6d
      Seigo Nonaka 提交于
      This CL introduces performance tests for following three modules:
      - Hyphenator
      - WordBreaker
      - GraphemeBreak
      
      During using UnicodeUtils, need to decouple it from gtest since
      perftest doesn't have gtest dependencies.
      
      Bug:29142734
      Change-Id: I700c662fa7d0a52f19d8e93150ad1a85dc28769f
      0ca4fb6d
  2. 21 6月, 2016 1 次提交
    • S
      Fix test utilities · 81c79d6e
      Seigo Nonaka 提交于
      This fixes following three memory leaks in test utilities.
      There is no problem in production code and this CL doesn't affect
      any production behaviors.
      
      - SkTypeface leaks due to forget calling SkSafeUnref in dtor.
      - MinikinFontForTest leaks during constructing FontCollection.
      - FontCollection leaks due to unnecessary AddRef.
      
      Change-Id: I22e1e0307f1b2499296acb1aacc3ef66076a36e9
      81c79d6e
  3. 10 6月, 2016 1 次提交
    • S
      Always use minikin namespace. · 14e2d136
      Seigo Nonaka 提交于
      Here is a new policy of the namespace of minikin.
      - All components should be in minikin namespace.
      - All tests are also in minikin namespace and no anonymous namespace.
      
      Bug: 29233740
      Change-Id: I71a8a35049bb8d624f7a78797231e90fed1e2b8c
      14e2d136
  4. 09 6月, 2016 2 次提交
  5. 08 6月, 2016 1 次提交
  6. 26 5月, 2016 7 次提交
  7. 20 4月, 2016 6 次提交
  8. 19 4月, 2016 1 次提交
  9. 15 4月, 2016 3 次提交
  10. 14 4月, 2016 3 次提交
  11. 13 4月, 2016 1 次提交
    • R
      Clear mLineWidths in LineBreaker::finish() · 879e8a3a
      Raph Levien 提交于
      There was the possibility of stale indents from previous invocations
      persisting in the mLineWidths across multiple invocations. This patch
      clears them.
      
      Bug: 28090810
      Change-Id: I3621dfbe983512046289373711709aeade52eab4
      879e8a3a
  12. 12 4月, 2016 3 次提交
    • S
      Fix minikin_unittests am: 6c60831c · ba8a5468
      Seigo Nonaka 提交于
      am: af36413c
      
      * commit 'af36413c':
        Fix minikin_unittests
      
      Change-Id: Ibac5c54ae165d96811238a4e8d2e9612d1192eaf
      ba8a5468
    • S
      Fix minikin_unittests · af36413c
      Seigo Nonaka 提交于
      am: 6c60831c
      
      * commit '6c60831c':
        Fix minikin_unittests
      
      Change-Id: I865dd495ed60b0bbace0ba77b2071dac058887e9
      af36413c
    • S
      Fix minikin_unittests · 6c60831c
      Seigo Nonaka 提交于
      This CL fixes following test cases in minikin_tests
      - FontFamilyTest.hasVariationSelectorTest
      - HbFontCacheTest.getHbFontLockedTest
      - HbFontCacheTest.purgeCacheTest
      
      For the fix of FontFamilyTest.hasVariationSelectorTest, removing virtual
      from GetUniqueId() in MinikinFont.  After [1], MinikinFont's destructor
      started calling purgeHbCache() which calls virtual method,
      MinikinFont::GetUniqueId().  Fortunately, the SkTypeface::uniqueID()
      returns just internal value, so we can store it at the construction time
      and use it instead of calling SkTypeface::uniqueID() every time.
      
      This patch also changes purgeHbFont to purgeHbFontLocked, as all uses of
      it were already under global mutex. This change avoids deadlock on
      explicit unref, as when invoked by a Java finalizer from the Java object
      that holds a reference to the font.
      
      Some of the tests needed to change to using the ref counting protocol
      rather than explicitly destructing font objects, as well.
      
      [1] 9afcc6e2
      
      Bug: 28105730
      Bug: 28105688
      Change-Id: Ie5983c4869147dacabdca81af1605066cd680b3f
      6c60831c
  13. 09 4月, 2016 5 次提交
  14. 08 4月, 2016 4 次提交
    • R
      Avoid copying of font table data · aaa4e347
      Raph Levien 提交于
      The hb_font_t object holds on to tables of font data, acquired through
      the MinikinFont::GetTable interface, which is based on copying data
      into caller-owned buffers. Now that we're caching lots of hb_font_t's,
      the cost of these buffers is significant.
      
      This patch moves to a different interface, inspired by HarfBuzz's
      hb_reference_table API, where the font can provide a pointer to the
      actual font data (which will often be mmap'ed, so it doesn't even
      consume physical RAM).
      
      Bug: 27860101
      Change-Id: Id766ab16a8d342bf7322a90e076e801271d527d4
      aaa4e347
    • R
      Purge hb font on Minikin font destruction am: 9afcc6e2 · ff5e822a
      Raph Levien 提交于
      am: aa495426
      
      * commit 'aa495426':
        Purge hb font on Minikin font destruction
      
      Change-Id: If40c31c90bf4f12fdd882be4f2c6f9b35ba2d09c
      ff5e822a
    • R
      Purge hb font on Minikin font destruction · aa495426
      Raph Levien 提交于
      am: 9afcc6e2
      
      * commit '9afcc6e2':
        Purge hb font on Minikin font destruction
      
      Change-Id: Idb2034353407e8b390cc07862803f846d5adea0c
      aa495426
    • R
      Purge hb font on Minikin font destruction · 9afcc6e2
      Raph Levien 提交于
      This patch eagerly purges the corresponding hb_font_t object from
      the HbFontCache when the underlying MinikinFont is destroyed. After
      that, the key will no longer be accessed, so having the entry is
      wastes memory.
      
      Bug: 27251075
      Bug: 27860101
      Change-Id: I1b98016133fe3baf6525ac37d970a65ddccadb4f
      9afcc6e2