20087 Commits

Author SHA1 Message Date
Adam Barth
0140555b54 Remove integration between tonic and WTFString
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.

This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.

For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
2016-01-18 20:47:46 -08:00
Adam Barth
efa936c426 Merge pull request #2273 from abarth/mv_microtask
Move microtask queue into tonic
2016-01-18 17:15:24 -08:00
Adam Barth
1f4416f87b Move microtask queue into tonic
Moving the microtask queue into tonic solves three problems:

1) Removes three levels of indirection when invoking microtask
callbacks.
2) Removes the sky/engine/dom directory entirely.
3) Removes the last client of the (inefficient) DartValue class.
2016-01-18 16:59:52 -08:00
Ian Hickson
6fb5ebe38a Merge pull request #2270 from Hixie/fontWeight
FontWeight.lerp
2016-01-17 22:29:24 -08:00
Ian Hickson
ea1531a31f Merge pull request #2272 from Hixie/activity
setTaskDescription: Guard against bad values from Dart.
2016-01-17 14:37:52 -08:00
Ian Hickson
77c4e1b805 Merge pull request #2271 from Hixie/Color.opacity
Color.opacity
2016-01-17 00:30:33 -08:00
Ian Hickson
5012af6cd7 setTaskDescription: Guard against bad values from Dart.
We used to crash if you set a non-opaque colour.
2016-01-16 12:21:17 -08:00
Ian Hickson
e423d48ebf Color.opacity
Sometimes you want the alpha channel as a double rather than an int.
For convenience, provide an accessor on Color that returns this.
2016-01-15 23:28:13 -08:00
Ian Hickson
2ea197b9a7 FontWeight.lerp
Also, fix FontWeight.toString and add some type annotations on the constants.
2016-01-15 21:18:59 -08:00
Chinmay Garde
7cd13f1d27 Merge pull request #2269 from chinmaygarde/master
Path service implementation for iOS
2016-01-15 16:45:31 -08:00
Chinmay Garde
278af8d155 Path service implementation for iOS 2016-01-15 16:33:02 -08:00
Ian Hickson
3e2b65dcc9 Merge pull request #2268 from Hixie/rev
rev engine
2016-01-15 15:45:08 -08:00
Hixie
e6aeeeb80c rev engine 2016-01-15 15:43:47 -08:00
Raph Levien
f3b1a821f5 Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab am: a3df6da30b am: e82552ae00 am: 545b36d667 am: 98dd15e2cd am: 97d7265862 -s ours
am: f5dc6044c6  -s ours

* commit 'f5dc6044c679eb80c28900d755a42cc5730447a1':
  Reject fonts with invalid ranges in cmap
2016-01-15 22:22:10 +00:00
Raph Levien
f5dc6044c6 Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab am: a3df6da30b am: e82552ae00 am: 545b36d667 am: 98dd15e2cd
am: 97d7265862  -s ours

* commit '97d7265862a9df05b3521ac4954de9cc82ec989d':
  Reject fonts with invalid ranges in cmap
2016-01-15 22:11:58 +00:00
Collin Jackson
2c8ac3fa7d Merge pull request #2265 from collinjackson/ios_value_child
Support for value and child events on Firebase iOS
2016-01-15 13:56:12 -08:00
Raph Levien
97d7265862 Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab am: a3df6da30b am: e82552ae00 am: 545b36d667
am: 98dd15e2cd

* commit '98dd15e2cde1eb1835753c9af66d630779c18bc0':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:50:24 +00:00
Raph Levien
98dd15e2cd Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab am: a3df6da30b am: e82552ae00
am: 545b36d667

* commit '545b36d667c5b13c1b397b4c5ece20f097bf1f8b':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:45:37 +00:00
Raph Levien
545b36d667 Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab am: a3df6da30b
am: e82552ae00

* commit 'e82552ae0094efdb1b1b40ebfc832540eeb1234b':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:43:03 +00:00
Raph Levien
e82552ae00 Reject fonts with invalid ranges in cmap am: ca8ac8acda am: 3034e8b4ab
am: a3df6da30b

* commit 'a3df6da30bdfda0b5b188e6511deeffddeeb9409':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:40:23 +00:00
Collin Jackson
e24f374a9c Support for value and child events on Firebase iOS 2016-01-15 13:38:14 -08:00
Collin Jackson
d9c05cee91 Merge pull request #2262 from collinjackson/value_child_events
Support for listening to value and child events
2016-01-15 13:37:53 -08:00
Raph Levien
a3df6da30b Reject fonts with invalid ranges in cmap am: ca8ac8acda
am: 3034e8b4ab

* commit '3034e8b4ab627278b88faae2f4813562f31a7c2b':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:36:37 +00:00
Raph Levien
3034e8b4ab Reject fonts with invalid ranges in cmap
am: ca8ac8acda

* commit 'ca8ac8acdad662230ae37998c6c4091bb39402b6':
  Reject fonts with invalid ranges in cmap
2016-01-15 21:28:10 +00:00
Tony Gentilcore
35c8530fab Merge pull request #2264 from tonygentilcore/roll
Roll to mojo_sdk 0.2.9.
2016-01-15 09:29:50 -08:00
Seigo Nonaka
6f9966ea7c Introduce multiple language based font fallback.
The motivation of this CL is enhance the font fallback score design
to support multiple language font fallback.

This CL contains following changes:
- Break language based font score into two: script-based score and
  primary-language-based score.
- The primary-language-based score is 0 if the script-based score is 0.
  If the script-based score is not 0 and the primary language is the
  as same as the requested one, the font gets an extra score of 1.
- The language score gets a higher multiplier for languages higher in
  the locale list.

Bug: 25122318
Bug: 26168983
Change-Id: Ib999997a88e6977e341f4c325e2a1b41a59db2d5
2016-01-15 14:35:14 +09:00
Jason Simmons
1a5b077cf7 Merge pull request #2261 from jason-simmons/jni_more_data_types
JNI/Dart: support for more data types
2016-01-14 15:57:24 -08:00
Tony Gentilcore
494697268a Roll to mojo_sdk 0.2.9. 2016-01-14 15:35:26 -08:00
Tony Gentilcore
d8f976edd2 Update to mojo 1d94b2f59b6021091afcc50642c88509473239a4 2016-01-14 14:55:12 -08:00
Jason Simmons
fd672e4196 JNI/Dart: support for more data types
* Conversion of all primitive types, wrapped Java objects, and nulls between Dart and Java
* A way to distinguish float arguments from doubles when calling Java methods
* Construction of a Dart JniClass from a Java class object
2016-01-14 13:32:07 -08:00
Adam Barth
21dd4ff753 Rev pub packages 2016-01-14 09:41:57 -08:00
Adam Barth
b8a7e731d2 Merge pull request #2263 from abarth/raster_offset
Fix typo in image raster offset
2016-01-14 09:40:13 -08:00
Adam Barth
97e13a5763 Fix typo in image raster offset
We shouldn't plumb the "right" value into the y coordinate.
2016-01-14 09:29:34 -08:00
Collin Jackson
10f49e7434 Support for listening to value and child events 2016-01-13 16:57:44 -08:00
Chinmay Garde
fbd8ea0ec8 Merge pull request #2260 from chinmaygarde/master
Remove Xcode harness for building the engine
2016-01-13 15:53:54 -08:00
Raph Levien
a69ca2e172 Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE am: 2e98eb6be1
am: 850fcc0b6f  -s ours

* commit '850fcc0b6fb848b383ab3123d243faf9c73efda0':
  Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
2016-01-13 23:52:06 +00:00
Raph Levien
850fcc0b6f Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
am: 2e98eb6be1

* commit '2e98eb6be123ec64070f7524ff24df538695d7c8':
  Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
2016-01-13 23:17:11 +00:00
Chinmay Garde
cf18698810 Remove Xcode harness for building the engine 2016-01-13 14:59:46 -08:00
Raph Levien
2e98eb6be1 Tailor grapheme boundaries so sequence emoji are one grapheme - DO NOT MERGE
Make it so it's not possible to position the cursor inside an emoji
formed by a sequence including zero-width joiners.

Bug: 25368653
Change-Id: I67ec0874cd1505f3c82ab91492ffc3d39a52fae6
2016-01-13 14:12:56 -08:00
Adam Barth
30a2c9350f Rev pub packages 2016-01-13 13:38:14 -08:00
Raph Levien
6638e05ac2 Tailor grapheme boundaries so sequence emoji are one grapheme
Make it so it's not possible to position the cursor inside an emoji
formed by a sequence including zero-width joiners.

Bug: 25368653
Change-Id: I67ec0874cd1505f3c82ab91492ffc3d39a52fae6
2016-01-13 12:52:38 -08:00
Adam Barth
910ccafe5c Merge pull request #2259 from abarth/misplaced_fab
Stocks FAB "+" sometimes teleports to near the top left
2016-01-13 12:37:34 -08:00
Adam Barth
17ed699397 Stocks FAB "+" sometimes teleports to near the top left
The matrix argument to drawPicture doesn't seem to do what we want exactly.
Instead, use the normal matrix in the canvas. Also, handle cull rects with
non-zero left and top coordinates.

Fixes #1229
2016-01-13 12:31:03 -08:00
Adam Barth
a0e2a6d2bc Merge pull request #2258 from abarth/flow
Move //sky/compositor to //flow
2016-01-12 22:42:02 -08:00
Adam Barth
0b629d419f Move //sky/compositor to //flow
Now that the compositor doesn't have any tricky deps, we can make it a
top-level project, which saves a bunch of typing.
2016-01-12 22:39:51 -08:00
Adam Barth
d631c1fb59 Merge pull request #2257 from abarth/rm_deps
Trim unneeded depedendencies from sky/compositor
2016-01-12 22:12:21 -08:00
Adam Barth
6d1af600b1 Trim unneeded depedendencies from sky/compositor
Now we just depend on Skia and Base, which makes the compositor easier
to understand.

Also, update our skia/ext/refptr.h to match the current version of the
code in Chromium. This version adds support for several useful C++11
patterns.
2016-01-12 22:02:08 -08:00
Adam Barth
0a6766163a Merge pull request #2255 from abarth/enable_caching
Enable raster cache in compositor
2016-01-12 21:18:48 -08:00
Adam Barth
bb3cd9e24e Merge pull request #2256 from abarth/jni_build
Fix build with -Werror=return-type
2016-01-12 20:01:37 -08:00
Adam Barth
8d00bc118c Fix build with -Werror=return-type
We need to return a value from these functions to make clang happy.
2016-01-12 20:00:46 -08:00