20087 Commits

Author SHA1 Message Date
Ian Hickson
4ff405d73a Merge pull request #2226 from Hixie/textEquality
Add equality to textStyle and co
2016-01-08 13:31:25 -08:00
Adam Barth
3cb6bf3fff Merge pull request #2228 from abarth/preroll_images
Preroll rasterization
2016-01-08 13:21:45 -08:00
Adam Barth
2e5d3c4977 Preroll rasterization
Prerolling the rasterization tasks reduces the number of render target
switches because we don't interrupt the main render target.
2016-01-08 13:17:13 -08:00
Matt Perry
388cda71e1 Merge pull request #2229 from mpcomplete/rev2
Add gcm to sky_services package. Rev engine.
2016-01-08 16:03:01 -05:00
Matt Perry
96c427f35a Add gcm to sky_services package. Rev engine.
Failed to do so last update.
2016-01-08 14:49:45 -05:00
Jason Simmons
10ce8a1928 Move the JNI bridge out of dart:ui and into a separate dart:jni library
This also extends DartClassLibrary to support multiple DartClassProviders
for different libraries
2016-01-08 11:04:22 -08:00
Adam Barth
f4fc4e24a0 Merge pull request #2225 from abarth/cache_layers
Experiment with caching rasterized layers
2016-01-08 11:03:33 -08:00
Adam Barth
3de2e1cf03 Experiment with caching rasterized layers
This patch adds back (and tweaks) some code that we previously removed
for caching rasterized layers. Now that our layerization code in the
framework is more sophisticated, we should be able to get more value out
of this mechanism.
2016-01-08 10:55:47 -08:00
Ian Hickson
8b37dd7526 Add equality to textStyle and co 2016-01-08 09:10:53 -08:00
Jason Simmons
e75a0cb4aa Merge pull request #2224 from jason-simmons/jni_binding
Initial work toward exposing the Java native interface APIs in Dart
2016-01-07 15:27:46 -08:00
Jason Simmons
a9c22e9d8c Initial work toward exposing the Java native interface APIs in Dart 2016-01-07 15:06:35 -08:00
Seth Ladd
04113aa361 Merge pull request #2223 from flutter/sethladd-patch-1
Update name and link
2016-01-07 14:27:54 -08:00
Raph Levien
ca8ac8acda Reject fonts with invalid ranges in cmap
A corrupt or malicious font may have a negative size in its cmap
range, which in turn could lead to memory corruption. This patch
detects the case and rejects the font, and also includes an assertion
in the sparse bit set implementation if we missed any such case.

External issue:
https://code.google.com/p/android/issues/detail?id=192618

Bug: 26413177
Change-Id: Icc0c80e4ef389abba0964495b89aa0fae3e9f4b2
2016-01-07 21:39:25 +00:00
Raph Levien
73abbd5934 Reject fonts with invalid ranges in cmap
A corrupt or malicious font may have a negative size in its cmap
range, which in turn could lead to memory corruption. This patch
detects the case and rejects the font, and also includes an assertion
in the sparse bit set implementation if we missed any such case.

External issue:
https://code.google.com/p/android/issues/detail?id=192618

Bug: 26413177
Change-Id: Icc0c80e4ef389abba0964495b89aa0fae3e9f4b2
2016-01-07 13:38:42 -08:00
Seth Ladd
a863e4c8b0 Update name and link 2016-01-07 13:22:41 -08:00
Matt Perry
489f812652 Merge pull request #2222 from mpcomplete/version
Bump sky services version to 0.0.76
2016-01-07 16:06:49 -05:00
Matt Perry
c2c9df5f87 Bump sky services version to 0.0.76 2016-01-07 15:50:31 -05:00
Matt Perry
93a9d52c04 Merge pull request #2182 from flutter/gcm
First steps toward GCM support
2016-01-07 15:41:11 -05:00
Matt Perry
6ecb8aaa12 Initial support for the Google Cloud Messaging API.
New gcm mojo service with Android implementation.

Temporarily checking into flutter repo until it's easier to add third
party services.
2016-01-07 15:00:19 -05:00
Adam Barth
ebe379ebcd Merge pull request #2220 from abarth/add_canvas_transform
Introduce Canvas.transform
2016-01-07 11:17:49 -08:00
Jason Simmons
2848bcc211 Merge pull request #2221 from jason-simmons/multi_wrapper_info
Include the class name in the IMPLEMENT_WRAPPERTYPEINFO macro expansion
2016-01-07 10:55:48 -08:00
Adam Barth
83351fa445 Introduce Canvas.transform
Canvas.transform is the same as Canvas.concat, just with a better name.

Fixes #1080
2016-01-07 10:53:46 -08:00
Jason Simmons
d5992106dd Include the class name in the IMPLEMENT_WRAPPERTYPEINFO macro expansion
This allow multiple uses of IMPLEMENT_WRAPPERTYPEINFO within a source file
2016-01-07 10:49:09 -08:00
Andreas Gampe
a5706e4ef9 Minikin: Disable sanitizer on x86 am: 72c026822d
am: 0497c013f6

* commit '0497c013f640324550ff731bc088bb62fbb6882a':
  Minikin: Disable sanitizer on x86
2016-01-07 04:47:52 +00:00
Andreas Gampe
0497c013f6 Minikin: Disable sanitizer on x86
am: 72c026822d

* commit '72c026822d32550b10bb62949644c10826d7658e':
  Minikin: Disable sanitizer on x86
2016-01-07 04:45:20 +00:00
Andreas Gampe
72c026822d Minikin: Disable sanitizer on x86
Disable unsigned-integer-overflow sanitizer on x86, as it crashes.

Bug: 25884483
Bug: 26432628
Change-Id: Ia658ed56a6c81660a36edf71f7116118056aa917
2016-01-06 20:28:52 -08:00
Seigo Nonaka
f9af6786dc Merge "Fix lock assertion failures in unit test." 2016-01-07 03:14:25 +00:00
Jason Simmons
3fc6351a3f Merge pull request #2219 from jason-simmons/tonic_static_wrapper
Add Tonic macros for dispatching to static methods
2016-01-06 15:31:34 -08:00
Jason Simmons
443ba0759e Add Tonic macros for dispatching to static methods
DartArgIterator was starting at argument index 1 because it assumed that the
arguments include a pointer to the "this" object for an instance method.
DART_REGISTER_NATIVE makes the same assumption in the argument count.

This change adds versions of the macros that are suitable for static methods
with no implicit arguments.
2016-01-06 15:07:50 -08:00
Dan Austin
97944f2856 Enable integer sanitization in libminikin am: 7087da2519
am: cf6ebc1ebc

* commit 'cf6ebc1ebcc9137c12e221799f3b20436d2984c1':
  Enable integer sanitization in libminikin
2016-01-06 20:44:58 +00:00
Dan Austin
cf6ebc1ebc Enable integer sanitization in libminikin
am: 7087da2519

* commit '7087da2519f0aa303e5941e7d8cfbe2a73e696a2':
  Enable integer sanitization in libminikin
2016-01-06 20:42:47 +00:00
Dan Austin
7087da2519 Enable integer sanitization in libminikin
Enable signed and unsigned integer sanitization in libminikin.

Bug: 25884483
Change-Id: I98905827174d16138d20bb443fe2e1d7228ea1a3
2016-01-06 12:30:12 -08:00
Adam Barth
3675770816 Merge pull request #2218 from abarth/direct_wrapper
Add direct wrappers to tonic
2016-01-06 12:03:33 -08:00
Adam Barth
72c87f2722 Add direct wrappers to tonic
Instead of using a C++ object as a peer to the Dart wrapper, these wrapper hold
arbitrary data in the internal field of the Dart wrapper.
2016-01-06 11:45:26 -08:00
Dan Austin
728ae8d629 Revert "Enable integer sanitization in libminikin." am: 342cd45a5e
am: 5255614d23

* commit '5255614d230d241432c7f86c4ce3582a8cb71545':
  Revert "Enable integer sanitization in libminikin."
2016-01-06 18:38:18 +00:00
Dan Austin
5255614d23 Revert "Enable integer sanitization in libminikin."
am: 342cd45a5e

* commit '342cd45a5e5779e81155515d36cd500bfd975fdf':
  Revert "Enable integer sanitization in libminikin."
2016-01-06 18:36:33 +00:00
Dan Austin
342cd45a5e Revert "Enable integer sanitization in libminikin."
This reverts commit 9c13a3dc96d16976c45417bdc34e0fc5670815b9.

Change-Id: Iecd1f61a5fdf5955d871a920cb243553857d46ff
2016-01-06 18:31:38 +00:00
Dan Austin
679f147eda Enable integer sanitization in libminikin. am: 9c13a3dc96
am: ebe371670e

* commit 'ebe371670e760b5318db6a02e10775e4a4ed7b96':
  Enable integer sanitization in libminikin.
2016-01-06 17:08:33 +00:00
Dan Austin
ebe371670e Enable integer sanitization in libminikin.
am: 9c13a3dc96

* commit '9c13a3dc96d16976c45417bdc34e0fc5670815b9':
  Enable integer sanitization in libminikin.
2016-01-06 17:06:22 +00:00
Seigo Nonaka
2342e5310f Fix lock assertion failures in unit test.
The assertion for the lock state has now activated by
I9c4b1e1f09c6793e387fbdb8bb654cc0a13c65d5.
This CL fixes the assertion failure in the unit tests by acquiring
lock before calling the functions.

Change-Id: I6a6afefb4de01e8610c2abfe6c779afa9442cc67
2016-01-06 22:49:33 +09:00
Seigo Nonaka
7564b7fd5b Merge "Fix race condition in Paint.hasGlyph()" 2016-01-06 06:00:38 +00:00
Seigo Nonaka
a6f5c46836 Fix race condition in Paint.hasGlyph()
The caller of FontFamily::hasVariationSelector needs to acquire the
lock before calling it, but FontCollection::hasVariationSelector
didn't acquire the lock. This caused a race condition.
This CL fixes this race condition.

Also, it turned out that assertMinikinLocked didn't assert even on
eng or userdebug device. This CL enables assertion on eng and userdebug
device since this assertion must be treated as bug.

BUG: 26323806

Change-Id: I9c4b1e1f09c6793e387fbdb8bb654cc0a13c65d5
2016-01-06 03:21:37 +00:00
Dan Austin
9c13a3dc96 Enable integer sanitization in libminikin.
Enable signed and unsigned integer sanitization in libminikin.

Bug: 25884483
Change-Id: I53abf6affea8e2bb3a5abd381a9f19003a306b36
2016-01-05 17:36:31 -08:00
Chinmay Garde
405d9a8c69 Merge pull request #2215 from chinmaygarde/master
Shared build configuration for Mac/iOS build targets on bot
2016-01-05 14:55:33 -08:00
Chinmay Garde
da6f356c6b Shared build configuration for Mac/iOS build targets on bot 2016-01-05 14:34:17 -08:00
Roozbeh Pournader
b5aba20c13 Merge "Replace Qaae script with Zsye" 2016-01-05 21:54:29 +00:00
Matt Perry
bd301ca4eb Merge pull request #2214 from mpcomplete/android.build
Fix android BUILD.gn to match Chromium's latest.
2016-01-05 12:39:18 -05:00
Matt Perry
703fc11784 Fix android BUILD.gn to match Chromium's latest.
Also disable proguard. It's unnecessary and breaks compilation of GCM
(in a separate patch).
2016-01-05 12:29:32 -05:00
Seigo Nonaka
d337652233 Replace Qaae script with Zsye
The emoji variant script "Zsye" is registered in ISO 15924.

Bug: 26226285
Change-Id: Ibc2bc740d57c48f99b6f66b1ad7595bfa8c3cff4
2016-01-05 05:05:57 +00:00
Seigo Nonaka
198b46f1fe Save all kind of script tags into FontLanguage.
This is 2nd attempt of I8df992a6851021903478972601a9a5c9424b100c.

The main purpose of this CL is expanding FontLanguage to be able to
save full script tag. Previously, FontLangauge kept only limited script
tags. With this CL, FontLanguage keeps all script tags.

This CL contains the following changes:
- FontLanguage changes:
-- Moved to private directory not to be instantiated outside of Minikin.
-- Removed bool(), bits(), FontLanguage(uint32_t) methods which are no
   longer used.
-- Change the FontLanguage internal data structure.
-- Introduces script match logic.

- FontLanguages changes:
-- Moved to private directory not to be instantiated outside of Minikin.
-- This is now std::vector<FontLanguage>

- FontLanguageListCache changes:
-- Now FontLanguageListCache::getId through
   FontStyle::registerLanguageList is the only way to instantiate the
   FontLanguage.
-- Normalize input to be BCP47 compliant identifier by ICU.

Bug: 26168983
Change-Id: I431b3f361a7635497c05b85e8ecbeb48d9aef63e
2016-01-05 14:00:32 +09:00