1. 02 Aug, 2013 1 commit
  2. 05 Jun, 2013 2 commits
  3. 31 May, 2013 1 commit
  4. 30 Apr, 2013 3 commits
    • Nick Kralevich's avatar
      resolved conflicts for merge of 52454e14 to jb-mr2-dev-plus-aosp · d4e621de
      Nick Kralevich authored
      Change-Id: I519864f11ad11aa44601b55dbf4bc7e2ae566b18
      d4e621de
    • Nick Kralevich's avatar
      52454e14
    • Nick Kralevich's avatar
      skia: Don't use -D_FORTIFY_SOURCE=2 · c8879d14
      Nick Kralevich authored
      SkString uses a dynamic growing mechanism for storing strings.
      This dynamic mechanism confuses GCC, which thinks it's operating
      with a single character. This causes crashes when we use
      Android's -D_FORTIFY_SOURCE=2 extensions.
      
      Consider the following code:
      
        SkLanguage SkLanguage::getParent() const {
            SkASSERT(fInfo != NULL);
            const char* tag = fInfo->fTag.c_str();
            SkASSERT(tag != NULL);
      
            // strip off the rightmost "-.*"
            char* parentTagEnd = strrchr(tag, '-');
        [DELETED]
        }
      
      fInfo->fTag is a SkString, which is declared as:
      
        class SkString {
        public:
        [DELETED]
            size_t      size() const { return (size_t) fRec->fLength; }
            const char* c_str() const { return fRec->data(); }
            char operator[](size_t n) const { return this->c_str()[n]; }
        [DELETED]
        private:
            struct Rec {
            public:
                size_t      fLength;
                int32_t     fRefCnt;
                char        fBeginningOfData;
      
                char* data() { return &fBeginningOfData; }
                const char* data() const { return &fBeginningOfData; }
            };
            Rec* fRec;
        [DELETED]
        };
      
      When "fInfo->fTag.c_str();" is executed in "SkLanguage::getParent()", it
      returns a pointer to fBeginningOfData, which is a single char. The compiler
      believes that "tag" always points to an element of size 1. When Android's
      strrchr() fortify extensions are called, we trigger an abort, because
      strrchr() detects an attempt to read beyond the one character
      fBeginningOfData.
      
      Change-Id: Ibe957544b5114c14018630a8f42213bf3dd806e3
      c8879d14
  5. 18 Apr, 2013 1 commit
  6. 12 Apr, 2013 1 commit
  7. 11 Apr, 2013 1 commit
  8. 10 Apr, 2013 1 commit
    • Ying Wang's avatar
      Add liblog · eb323f3d
      Ying Wang authored
      Bug: 8580410
      Change-Id: I2de6a0b69b31ed33a14c9b9bcbbe09845a28ac8c
      eb323f3d
  9. 08 Apr, 2013 1 commit
    • Raph Levien's avatar
      Add additional scripts in font mapping · 19ab5543
      Raph Levien authored
      This is an implementation of bug 8565810: Enable more complex scripts
      in text layout
      
      This change adds a number of additional scripts to the mapping from
      "representative" Unicode code point to script tag, which is used by
      Skia's fallback mechanism to find an appropriate font for a run of
      text. In cases where Harfbuzz old does not have the script in its
      enum (for legacy rendering), we use a value which can never occur,
      which will preserve the existing behavior.
      
      Change-Id: I3e197abf7a6ccf305d2e6409b17a8aeb7dc7d32e
      19ab5543
  10. 27 Mar, 2013 3 commits
  11. 26 Mar, 2013 2 commits
  12. 20 Mar, 2013 1 commit
    • Vikas Arora's avatar
      Make WebP decoding independent of stream length. · 0d4a859c
      Vikas Arora authored
      There's case, when Skia SkStream passed to WebP decoder may have
      incorrect length (stream->getLength()). This is observed, if the App
      decodes an image (size > 80KB) using:
      'ParcelFileDescriptor --> BitmapFactory.decodeStream()'
      Updated the WebP incremental decoding loop to not rely on
      stream->getLength()
      
      Change-Id: I3c7cdd1cf6483e5bb4c0211bc989e14ba8ce4457
      0d4a859c
  13. 06 Mar, 2013 1 commit
  14. 04 Mar, 2013 1 commit
  15. 27 Feb, 2013 1 commit
    • Romain Guy's avatar
      Don't increment the paint's generation ID when measuring text · cad11b70
      Romain Guy authored
      All the text measurement methods (measureText, getFontMetrics, breakText)
      rely on an internall class called SkAutoRestorePaintTextSizeAndFrame to
      save and restore the paint state. This class has the side effect of
      always changing the style of the paint once or twice (by forcing the
      style to kFill_Style first then by restoring the previous value.)
      
      This is causing Android to incorrectly track paints in hardware display
      lists and leading to incorrect renderings. The change simply saves and
      restores the generation ID of the paint.
      
      Change-Id: I8f1eea274e8f444e126555bfb937b594170061c0
      cad11b70
  16. 22 Feb, 2013 3 commits
  17. 20 Feb, 2013 1 commit
  18. 14 Feb, 2013 1 commit
  19. 13 Feb, 2013 2 commits
  20. 05 Feb, 2013 1 commit
  21. 04 Feb, 2013 2 commits
  22. 29 Jan, 2013 1 commit
  23. 28 Jan, 2013 1 commit
  24. 22 Jan, 2013 6 commits
  25. 15 Jan, 2013 1 commit