summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mbgl/gl/custom_layer.hpp16
-rw-r--r--include/mbgl/style/layer.hpp9
-rw-r--r--include/mbgl/style/layers/background_layer.hpp12
-rw-r--r--include/mbgl/style/layers/circle_layer.hpp12
-rw-r--r--include/mbgl/style/layers/fill_extrusion_layer.hpp12
-rw-r--r--include/mbgl/style/layers/fill_layer.hpp12
-rw-r--r--include/mbgl/style/layers/heatmap_layer.hpp12
-rw-r--r--include/mbgl/style/layers/hillshade_layer.hpp12
-rw-r--r--include/mbgl/style/layers/layer.hpp.ejs12
-rw-r--r--include/mbgl/style/layers/line_layer.hpp12
-rw-r--r--include/mbgl/style/layers/raster_layer.hpp12
-rw-r--r--include/mbgl/style/layers/symbol_layer.hpp12
-rw-r--r--src/mbgl/gl/custom_layer.cpp2
-rw-r--r--src/mbgl/style/layer.cpp7
-rw-r--r--src/mbgl/style/layers/background_layer.cpp7
-rw-r--r--src/mbgl/style/layers/circle_layer.cpp7
-rw-r--r--src/mbgl/style/layers/fill_extrusion_layer.cpp7
-rw-r--r--src/mbgl/style/layers/fill_layer.cpp7
-rw-r--r--src/mbgl/style/layers/heatmap_layer.cpp7
-rw-r--r--src/mbgl/style/layers/hillshade_layer.cpp7
-rw-r--r--src/mbgl/style/layers/layer.cpp.ejs7
-rw-r--r--src/mbgl/style/layers/line_layer.cpp7
-rw-r--r--src/mbgl/style/layers/raster_layer.cpp7
-rw-r--r--src/mbgl/style/layers/symbol_layer.cpp7
24 files changed, 100 insertions, 124 deletions
diff --git a/include/mbgl/gl/custom_layer.hpp b/include/mbgl/gl/custom_layer.hpp
index 5dce484980..8b60af5d7f 100644
--- a/include/mbgl/gl/custom_layer.hpp
+++ b/include/mbgl/gl/custom_layer.hpp
@@ -66,21 +66,17 @@ public:
CustomLayer(const std::string& id,
std::unique_ptr<CustomLayerHost> host);
+ CustomLayer(const CustomLayer&) = delete;
~CustomLayer() final;
-
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
- StyleProperty getProperty(const std::string&) const final;
- // Private implementation
-
class Impl;
const Impl& impl() const;
-
Mutable<Impl> mutableImpl() const;
- std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
-
- CustomLayer(const CustomLayer&) = delete;
+private:
+ optional<conversion::Error> setPropertyInternal(const std::string& name,
+ const conversion::Convertible& value) final;
+ StyleProperty getProperty(const std::string&) const final;
+ std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layer.hpp b/include/mbgl/style/layer.hpp
index 204cb9c697..10baf19607 100644
--- a/include/mbgl/style/layer.hpp
+++ b/include/mbgl/style/layer.hpp
@@ -110,8 +110,7 @@ public:
void setMaxZoom(float);
// Dynamic properties
- virtual optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) = 0;
- optional<conversion::Error> setVisibility(const conversion::Convertible& value);
+ optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value);
virtual StyleProperty getProperty(const std::string&) const = 0;
virtual Value serialize() const;
@@ -142,9 +141,13 @@ public:
protected:
virtual Mutable<Impl> mutableBaseImpl() const = 0;
void serializeProperty(Value&, const StyleProperty&, const char* propertyName, bool isPaint) const;
-
+ virtual optional<conversion::Error> setPropertyInternal(const std::string& name,
+ const conversion::Convertible& value) = 0;
LayerObserver* observer;
mapbox::base::WeakPtrFactory<Layer> weakFactory {this};
+
+private:
+ optional<conversion::Error> setVisibility(const conversion::Convertible& value);
};
} // namespace style
diff --git a/include/mbgl/style/layers/background_layer.hpp b/include/mbgl/style/layers/background_layer.hpp
index 7f48618346..9fdfd3ac92 100644
--- a/include/mbgl/style/layers/background_layer.hpp
+++ b/include/mbgl/style/layers/background_layer.hpp
@@ -20,12 +20,6 @@ public:
BackgroundLayer(const std::string& layerID);
~BackgroundLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<Color> getDefaultBackgroundColor();
@@ -56,6 +50,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/circle_layer.hpp b/include/mbgl/style/layers/circle_layer.hpp
index 1ad16cd033..dd5b674002 100644
--- a/include/mbgl/style/layers/circle_layer.hpp
+++ b/include/mbgl/style/layers/circle_layer.hpp
@@ -20,12 +20,6 @@ public:
CircleLayer(const std::string& layerID, const std::string& sourceID);
~CircleLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultCircleBlur();
@@ -104,6 +98,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/fill_extrusion_layer.hpp b/include/mbgl/style/layers/fill_extrusion_layer.hpp
index ef692e5708..ca33c6c3f8 100644
--- a/include/mbgl/style/layers/fill_extrusion_layer.hpp
+++ b/include/mbgl/style/layers/fill_extrusion_layer.hpp
@@ -20,12 +20,6 @@ public:
FillExtrusionLayer(const std::string& layerID, const std::string& sourceID);
~FillExtrusionLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultFillExtrusionBase();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/fill_layer.hpp b/include/mbgl/style/layers/fill_layer.hpp
index 174758a78e..4a1f09cca0 100644
--- a/include/mbgl/style/layers/fill_layer.hpp
+++ b/include/mbgl/style/layers/fill_layer.hpp
@@ -20,12 +20,6 @@ public:
FillLayer(const std::string& layerID, const std::string& sourceID);
~FillLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<float> getDefaultFillSortKey();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/heatmap_layer.hpp b/include/mbgl/style/layers/heatmap_layer.hpp
index 0b740c470b..588aaa81df 100644
--- a/include/mbgl/style/layers/heatmap_layer.hpp
+++ b/include/mbgl/style/layers/heatmap_layer.hpp
@@ -21,12 +21,6 @@ public:
HeatmapLayer(const std::string& layerID, const std::string& sourceID);
~HeatmapLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static ColorRampPropertyValue getDefaultHeatmapColor();
@@ -69,6 +63,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/hillshade_layer.hpp b/include/mbgl/style/layers/hillshade_layer.hpp
index 184e7c390d..c501e80b8d 100644
--- a/include/mbgl/style/layers/hillshade_layer.hpp
+++ b/include/mbgl/style/layers/hillshade_layer.hpp
@@ -20,12 +20,6 @@ public:
HillshadeLayer(const std::string& layerID, const std::string& sourceID);
~HillshadeLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<Color> getDefaultHillshadeAccentColor();
@@ -74,6 +68,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/layer.hpp.ejs b/include/mbgl/style/layers/layer.hpp.ejs
index aecbe25601..9cdd74737a 100644
--- a/include/mbgl/style/layers/layer.hpp.ejs
+++ b/include/mbgl/style/layers/layer.hpp.ejs
@@ -36,12 +36,6 @@ public:
<% } -%>
~<%- camelize(type) %>Layer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
<% if (layoutProperties.length) { -%>
// Layout properties
@@ -72,6 +66,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/line_layer.hpp b/include/mbgl/style/layers/line_layer.hpp
index cef18d9fa8..2186f16669 100644
--- a/include/mbgl/style/layers/line_layer.hpp
+++ b/include/mbgl/style/layers/line_layer.hpp
@@ -23,12 +23,6 @@ public:
LineLayer(const std::string& layerID, const std::string& sourceID);
~LineLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<LineCapType> getDefaultLineCap();
@@ -129,6 +123,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/raster_layer.hpp b/include/mbgl/style/layers/raster_layer.hpp
index b1aa3a65b9..df82c93660 100644
--- a/include/mbgl/style/layers/raster_layer.hpp
+++ b/include/mbgl/style/layers/raster_layer.hpp
@@ -20,12 +20,6 @@ public:
RasterLayer(const std::string& layerID, const std::string& sourceID);
~RasterLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Paint properties
static PropertyValue<float> getDefaultRasterBrightnessMax();
@@ -86,6 +80,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp
index 2cffd2294a..40d16dedf3 100644
--- a/include/mbgl/style/layers/symbol_layer.hpp
+++ b/include/mbgl/style/layers/symbol_layer.hpp
@@ -22,12 +22,6 @@ public:
SymbolLayer(const std::string& layerID, const std::string& sourceID);
~SymbolLayer() final;
- // Dynamic properties
- optional<conversion::Error> setProperty(const std::string& name, const conversion::Convertible& value) final;
-
- StyleProperty getProperty(const std::string& name) const final;
- Value serialize() const final;
-
// Layout properties
static PropertyValue<bool> getDefaultIconAllowOverlap();
@@ -290,6 +284,12 @@ public:
std::unique_ptr<Layer> cloneRef(const std::string& id) const final;
protected:
+ // Dynamic properties
+ optional<conversion::Error> setPropertyInternal(const std::string& name, const conversion::Convertible& value) final;
+
+ StyleProperty getProperty(const std::string& name) const final;
+ Value serialize() const final;
+
Mutable<Layer::Impl> mutableBaseImpl() const final;
};
diff --git a/src/mbgl/gl/custom_layer.cpp b/src/mbgl/gl/custom_layer.cpp
index 456467e904..bb87868d78 100644
--- a/src/mbgl/gl/custom_layer.cpp
+++ b/src/mbgl/gl/custom_layer.cpp
@@ -38,7 +38,7 @@ std::unique_ptr<Layer> CustomLayer::cloneRef(const std::string&) const {
using namespace conversion;
-optional<Error> CustomLayer::setProperty(const std::string&, const Convertible&) {
+optional<Error> CustomLayer::setPropertyInternal(const std::string&, const Convertible&) {
return Error { "layer doesn't support this property" };
}
diff --git a/src/mbgl/style/layer.cpp b/src/mbgl/style/layer.cpp
index 3183d84ab5..efbc91434f 100644
--- a/src/mbgl/style/layer.cpp
+++ b/src/mbgl/style/layer.cpp
@@ -143,6 +143,13 @@ void Layer::setObserver(LayerObserver* observer_) {
observer = observer_ ? observer_ : &nullObserver;
}
+optional<conversion::Error> Layer::setProperty(const std::string& name, const conversion::Convertible& value) {
+ optional<conversion::Error> error = setPropertyInternal(name, value);
+ if (!error) return error; // Successfully set by the derived class implementation.
+ if (name == "visibility") return setVisibility(value);
+ return error; // Must be Error{"layer doesn't support this property"}.
+}
+
optional<conversion::Error> Layer::setVisibility(const conversion::Convertible& value) {
using namespace conversion;
diff --git a/src/mbgl/style/layers/background_layer.cpp b/src/mbgl/style/layers/background_layer.cpp
index 0b7f0afe4f..d3dd02f8a8 100644
--- a/src/mbgl/style/layers/background_layer.cpp
+++ b/src/mbgl/style/layers/background_layer.cpp
@@ -211,12 +211,9 @@ Value BackgroundLayer::serialize() const {
return result;
}
-optional<Error> BackgroundLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> BackgroundLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/circle_layer.cpp b/src/mbgl/style/layers/circle_layer.cpp
index ca2f93306f..959f9447b0 100644
--- a/src/mbgl/style/layers/circle_layer.cpp
+++ b/src/mbgl/style/layers/circle_layer.cpp
@@ -491,12 +491,9 @@ Value CircleLayer::serialize() const {
return result;
}
-optional<Error> CircleLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> CircleLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/fill_extrusion_layer.cpp b/src/mbgl/style/layers/fill_extrusion_layer.cpp
index c9819f66f1..b9f4e4fa6d 100644
--- a/src/mbgl/style/layers/fill_extrusion_layer.cpp
+++ b/src/mbgl/style/layers/fill_extrusion_layer.cpp
@@ -386,12 +386,9 @@ Value FillExtrusionLayer::serialize() const {
return result;
}
-optional<Error> FillExtrusionLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> FillExtrusionLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/fill_layer.cpp b/src/mbgl/style/layers/fill_layer.cpp
index 914a23d96b..b6cc1eb50a 100644
--- a/src/mbgl/style/layers/fill_layer.cpp
+++ b/src/mbgl/style/layers/fill_layer.cpp
@@ -371,12 +371,9 @@ Value FillLayer::serialize() const {
return result;
}
-optional<Error> FillLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> FillLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/heatmap_layer.cpp b/src/mbgl/style/layers/heatmap_layer.cpp
index bfac173d63..54add7203f 100644
--- a/src/mbgl/style/layers/heatmap_layer.cpp
+++ b/src/mbgl/style/layers/heatmap_layer.cpp
@@ -283,12 +283,9 @@ Value HeatmapLayer::serialize() const {
return result;
}
-optional<Error> HeatmapLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> HeatmapLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/hillshade_layer.cpp b/src/mbgl/style/layers/hillshade_layer.cpp
index bfbd3d1d14..04c793575a 100644
--- a/src/mbgl/style/layers/hillshade_layer.cpp
+++ b/src/mbgl/style/layers/hillshade_layer.cpp
@@ -316,12 +316,9 @@ Value HillshadeLayer::serialize() const {
return result;
}
-optional<Error> HillshadeLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> HillshadeLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/layer.cpp.ejs b/src/mbgl/style/layers/layer.cpp.ejs
index a17b9e803c..bfdcd6e054 100644
--- a/src/mbgl/style/layers/layer.cpp.ejs
+++ b/src/mbgl/style/layers/layer.cpp.ejs
@@ -271,12 +271,9 @@ Value <%- camelize(type) %>Layer::serialize() const {
return result;
}
-optional<Error> <%- camelize(type) %>Layer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> <%- camelize(type) %>Layer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/line_layer.cpp b/src/mbgl/style/layers/line_layer.cpp
index 69c0af0958..94ec582931 100644
--- a/src/mbgl/style/layers/line_layer.cpp
+++ b/src/mbgl/style/layers/line_layer.cpp
@@ -588,12 +588,9 @@ Value LineLayer::serialize() const {
return result;
}
-optional<Error> LineLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> LineLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/raster_layer.cpp b/src/mbgl/style/layers/raster_layer.cpp
index 3222eebd73..66ad873882 100644
--- a/src/mbgl/style/layers/raster_layer.cpp
+++ b/src/mbgl/style/layers/raster_layer.cpp
@@ -386,12 +386,9 @@ Value RasterLayer::serialize() const {
return result;
}
-optional<Error> RasterLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> RasterLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);
diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp
index 7154bffff2..70f731f30b 100644
--- a/src/mbgl/style/layers/symbol_layer.cpp
+++ b/src/mbgl/style/layers/symbol_layer.cpp
@@ -1376,12 +1376,9 @@ Value SymbolLayer::serialize() const {
return result;
}
-optional<Error> SymbolLayer::setProperty(const std::string& name, const Convertible& value) {
+optional<Error> SymbolLayer::setPropertyInternal(const std::string& name, const Convertible& value) {
const auto it = layerProperties.find(name.c_str());
- if (it == layerProperties.end()) {
- if (name == "visibility") return setVisibility(value);
- return Error{"layer doesn't support this property"};
- }
+ if (it == layerProperties.end()) return Error{"layer doesn't support this property"};
auto property = static_cast<Property>(it->second);