summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* [core, offline] Limit offline downloads to use half of maximum concurrent ↵upstream/nitpick-formatChris Loer2018-09-261-1/+1
| | | | | | file requests. Fixes issue #12655: don't let offline downloads starve interactive tile downloads.
* [core] Always request 1x and @2x sprite images for portabilityKonstantin Käfer2018-09-241-5/+7
| | | | When creating a offline region, we've previously only requested the sprite image for the specified resolution. This lead to offline packs not being usable on devices that have a different pixel ratio. We're now requesting both 1x and 2x sprites. Some devices use even higher or fractional pixel ratios. However, we only ever use 1x and 2x sprite images in our requests.
* [core] don't break ascent in the overscaled tile phaseKonstantin Käfer2018-09-211-0/+50
| | | | We optimize our updateRenderable algorithm by breaking ascent when we've already checked a certain tile. So far, we've compared the UnwrappedTileIDs, but they don't include the overscale component. When ascending through overscaled tile IDs, we've stopped the ascent too early, when we should've kept the search going.
* [core] For string-valued properties, do coercion rather than assertionJohn Firebaugh2018-09-191-5/+5
|
* [linux,qt] Remove remainder of WebP supportKonstantin Käfer2018-09-133-30/+2
|
* [android] add support for gnustlKonstantin Käfer2018-09-114-19/+23
|
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-313-31/+37
| | | | expressions in `*-pattern` properties
* Enforce Offline tile limit when merging sideloaded databasesAsheem Mamoowala2018-08-281-0/+31
|
* Require minimum side-loaded database user_version=6Asheem Mamoowala2018-08-281-1/+1
|
* Add unit tests and fixtures for OfflineDatabase::mergeDatabaseAsheem Mamoowala2018-08-284-0/+203
|
* [core] add exception for unimplemented expressions in testsMolly Lloyd2018-08-211-1/+5
|
* [core] offline region definition - add support for arbitrary geometriesIvo van Dongen2018-08-203-91/+81
|
* [core] make style/conversion.hpp implementation privateKonstantin Käfer2018-08-192-2/+2
|
* [core] Evict unused font stacks from GlyphManagerJohn Firebaugh2018-08-171-8/+8
|
* [core] recreate offline database when it is deleted out from under our feetKonstantin Käfer2018-08-141-4/+4
|
* WIP: use expected<T, E> for passing on errorsKonstantin Käfer2018-08-142-19/+20
|
* [test] add test for pending offline download when the disk is fullKonstantin Käfer2018-08-141-1/+77
|
* [core] harden OfflineDatabaseKonstantin Käfer2018-08-148-192/+850
|
* [core] Fix querying for annotations near tile boundaries at high zoom.Chris Loer2018-08-141-0/+13
| | | | | | | | Fixes issue #12472. This commit doesn't address the underlying issues that come from symbolAnnotationTree using a slightly lower precision coordinate system than the annotations themselves. Instead, it just puts a small padding around each tile when it queries for tile data, so that symbols right at the tile boundary will be included in both tiles. The rendering/querying code will take care of only displaying one instance. The padding is in global coordinates, so at higher zoom the padding will be larger in tile units -- this is consistent with precision loss also being greater at higher zoom.
* [core] add test for comparing filter name to idKonstantin Käfer2018-08-141-0/+4
|
* [android, linux] Upgrade to SQLite 3.24.0, compiled to minimize binary sizeJohn Firebaugh2018-08-101-6/+10
|
* Revert "[core] Replace Boost.Spirit with std::regex in CacheControl::parse()"Bruno de Oliveira Abinader2018-08-081-9/+0
| | | | This reverts commit 990b3b11b9427ffd86f693d3f4c3dd351891e5d0.
* [core] Replace unique_any with peer from mapbox-bindgenBruno de Oliveira Abinader2018-08-082-218/+194
|
* [core] Replace Boost.Spirit with std::regex in CacheControl::parse()Bruno de Oliveira Abinader2018-08-081-0/+9
|
* [core] Replace remaining dynamic_cast with static_castBruno de Oliveira Abinader2018-08-081-1/+1
|
* [core] Add lineMetrics to GeoJSONOptionsMikhail Pozdnyakov2018-08-081-1/+4
| | | | | This patch also bumps geojson-vt-cpp version to 6.6.0, which enables the `lineMetrics` option.
* Fix TileJSON conversion to allow single point boundsAsheem Mamoowala2018-08-021-0/+10
|
* [core] Merge DataDrivenPropertyValue into PropertyValue (#12513)John Firebaugh2018-07-313-17/+16
|
* Fix compilation errors with libc++ on QNX 7Sudarsana Babu Nagineni2018-07-301-1/+1
| | | | | | | | | | This patch fixes the compilation errors on QNX 7: 1) QNX 7 compiler (i.e qcc based GCC 5.4.0 with libc++ from LLVM) has a limited c++11 feature support and causing the compilation errors with the inheriting constructors. This fixes the issues by providing the required constructors explicitly. 2) Resolves an ambiguous overload error with optional<T>
* [core] Check all bucket dynamic_castsJohn Firebaugh2018-07-242-0/+49
| | | | A mismatch can occur when a layer changes from one type to another.
* [core] coveredByChildren is false if at least one child is uncoveredBruno de Oliveira Abinader2018-07-241-1/+43
|
* Keep original input for filters using legacy syntax.Asheem Mamoowala2018-07-231-0/+55
|
* [core] Convert token strings to expressionsJohn Firebaugh2018-07-201-1/+19
|
* [core] Replace {Source,Camera,Composite}Function with PropertyExpressionJohn Firebaugh2018-07-209-110/+78
|
* Add fuzz tests for TileCover and fix out of bounds access crash.Asheem Mamoowala2018-07-161-1/+58
|
* Fix TileCover asserts. The create_bounds_towards_* methods were treatingAsheem Mamoowala2018-07-161-0/+14
| | | | | all point arrays as rings. Simplify the logic to only compare against the next pt in the bound.
* [core] Convert legacy functions directly to expressionsJohn Firebaugh2018-07-132-40/+0
|
* [core] Harden Projection::project()Bruno de Oliveira Abinader2018-07-091-0/+43
|
* [core] Fix sort order for queryRenderedFeatures when features are filtered.Chris Loer2018-07-031-1/+1
| | | | Fixes issue #12104.
* [core] Avoid blocking in Thread<Object> constructor (#12151)Anand Thakker2018-07-032-16/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce AspiringActor, EstablishedActor This pair of objects represents the two-phase (parent-thread / child-thread) construction that's needed to support constructing Thread<Object> without blocking until the child thread is up and running. An `AspiringActor<O>` is responsible for: - ownership of the actor's `Mailbox` - allocating the memory for (but *not* constructing) the target object `O` Using these two pieces--the mailbox and a stable address for `O`--an `AspiringActor<O>` can accept messages for the target object, or provide `ActorRef<O>`s that do so, before the object has actually been constructed by the corresponding `EstablishedActor<O>`. (Such messages are queued in the mailbox until after the object is constructed.) This allows for an `AspiringActor<O>` to be created and safely used by a thread other than the one on which the target object will (eventually) live. An `EstablishedActor<O>` is responsible for managing the lifetime of the target object `O` and the open/closed state of the parent's `mailbox`. The `O` object's lifetime is contained by that of its owning `EstablishedActor<O>`: the `EstablishedActor` constructor executes the `O` constructor via "placement new", constructing it at the address provided by the parent `AspiringActor`, and the `~EstablishedActor` destructor similarly executes the `~O` destructor (after closing the mailbox). `EstablishedActor` should therefore live entirely on the thread intended to own `O`. * Remove Actor#{invoke,ask}
* [core] Introduce "collator" expressionsChris Loer2018-07-031-1/+1
| | | | Cross platform parsing and evaluation code.
* [core] Introduce LanguageTag for parsing BCP 47 tagsChris Loer2018-07-031-0/+45
|
* Add pitch argument to cameraThatFits functions (#12213)Bobby Sudekum2018-07-021-2/+30
|
* [core] Add assertions to expression constructorsJohn Firebaugh2018-06-291-1/+1
|
* [core] Replace use of *Stops with expressions DSLJohn Firebaugh2018-06-298-223/+143
|
* [core] fix crash when trying to parse legacy filtersKonstantin Käfer2018-06-291-0/+4
| | | | Legacy filters aren't part of the style specification, but you can generate them by parsing a legacy filter in a stylesheet, and obtaining the parsed Filter and serializing it.
* [tests] Replaced the ZoomHistory test with a render testJohn Firebaugh2018-06-282-71/+0
|
* [core] Fix issues in unique_anyJohn Firebaugh2018-06-251-4/+36
| | | | | | | * Eliminate unnecessary temporary in VTableStack::move, which also fixes calling the destructor on the incorrect instance * Make move consistent: it destructs the src, not the dest, which is always empty * delete doesn't need a null guard * Conversions to void* don't need a cast
* [core] Fix GCC8's new -Wcatch-value warningsZsolt Bölöny2018-06-253-3/+3
| | | Polymorphic types shouldn't be caught by value, as the warning message says. Catch them by constant reference instead.
* [core] consolidate database opening workflowKonstantin Käfer2018-06-122-27/+4
| | | | | | | | Before this change, we've tried to open the database in read/write, but not create mode. In situations where the database didn't exist yet, this logged an error to the console, and we proceeded to opening it again in read/write/create mode, which actually created the file. The reason we did this is so that we could detect really old caching databases from January 2016 in case a developer upgraded from an older SDK (iOS v3.1 and earlier, Android v3.2 and earlier) that didn't have https://github.com/mapbox/mapbox-gl-native/pull/3715 yet. However, these error messages, while innocent, look scary in the console and some users suspect that it's a bug. This change opens the file directly in read/write/create mode, omitting the first failed attempt. To handle old cache databases, we're now deleting the `http_cache` table, which was the only table in those old databases, and create the new schema, rather than deleting the entire file and recreating the Database object. In most scenarios, this will lead to one fewer opening attempt, while the database migration will continue to work for the few users who upgrade all the way from a January 2016 SDK. Additionally, this fixes a mismatch between the Qt and non-Qt implementation: Qt doesn't support opening a file in read/write mode without the create flag. This means that we've seen a different control flow on Qt compared to the non-Qt implementation when opening a database.