diff options
-rw-r--r-- | src/mbgl/util/mapbox.cpp | 6 | ||||
-rw-r--r-- | test/miscellaneous/mapbox.cpp | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/mbgl/util/mapbox.cpp b/src/mbgl/util/mapbox.cpp index 067c9918cc..d94a9a5f7d 100644 --- a/src/mbgl/util/mapbox.cpp +++ b/src/mbgl/util/mapbox.cpp @@ -129,6 +129,12 @@ std::string normalizeRasterTileURL(const std::string& url) { } std::string normalizedURL(url); +#if !defined(__ANDROID__) && !defined(__APPLE__) + // Replace PNG with WebP. + if (normalizedURL.compare(extensionIdx + 1, 3, "png") == 0) { + normalizedURL.replace(extensionIdx + 1, 3, "webp"); + } +#endif // !defined(__ANDROID__) && !defined(__APPLE__) normalizedURL.insert(extensionIdx, "{ratio}"); return normalizedURL; } diff --git a/test/miscellaneous/mapbox.cpp b/test/miscellaneous/mapbox.cpp index 02a08db9ee..d6f9948e66 100644 --- a/test/miscellaneous/mapbox.cpp +++ b/test/miscellaneous/mapbox.cpp @@ -37,10 +37,17 @@ TEST(Mapbox, SpriteURL) { TEST(Mapbox, TileURL) { try { +#if defined(__ANDROID__) || defined(__APPLE__) EXPECT_EQ("http://path.png/tile{ratio}.png", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png")); EXPECT_EQ("http://path.png/tile{ratio}.png32", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png32")); EXPECT_EQ("http://path.png/tile{ratio}.png70", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png70")); EXPECT_EQ("http://path.png/tile{ratio}.png?access_token=foo", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png?access_token=foo")); +#else + EXPECT_EQ("http://path.png/tile{ratio}.webp", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png")); + EXPECT_EQ("http://path.png/tile{ratio}.webp32", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png32")); + EXPECT_EQ("http://path.png/tile{ratio}.webp70", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png70")); + EXPECT_EQ("http://path.png/tile{ratio}.webp?access_token=foo", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.png?access_token=foo")); +#endif // defined(__ANDROID__) || defined(__APPLE__) EXPECT_EQ("http://path.png/tile{ratio}.pbf", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.pbf")); EXPECT_EQ("http://path.png/tile{ratio}.pbf?access_token=foo", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.pbf?access_token=foo")); EXPECT_EQ("http://path.png/tile{ratio}.pbf?access_token=foo.png", mbgl::util::mapbox::normalizeRasterTileURL("http://path.png/tile.pbf?access_token=foo.png")); |