Index: tools/gn/visibility.cc |
diff --git a/tools/gn/visibility.cc b/tools/gn/visibility.cc |
index a61a5cd9c45f7effb57fd053be21ddaf29a6122e..83f0a83bc295eba2d53c533d22ae77885d53b9d4 100644 |
--- a/tools/gn/visibility.cc |
+++ b/tools/gn/visibility.cc |
@@ -20,7 +20,8 @@ Visibility::Visibility() { |
Visibility::~Visibility() { |
} |
-bool Visibility::Set(const SourceDir& current_dir, |
+bool Visibility::Set(const base::FilePath& source_root, |
+ const SourceDir& current_dir, |
const Value& value, |
Err* err) { |
patterns_.clear(); |
@@ -31,7 +32,8 @@ bool Visibility::Set(const SourceDir& current_dir, |
} |
for (const auto& item : value.list_value()) { |
- patterns_.push_back(LabelPattern::GetPattern(current_dir, item, err)); |
+ patterns_.push_back(LabelPattern::GetPattern(source_root, current_dir, |
+ item, err)); |
if (err->has_error()) |
return false; |
} |
@@ -103,7 +105,8 @@ bool Visibility::CheckItemVisibility(const Item* from, |
bool Visibility::FillItemVisibility(Item* item, Scope* scope, Err* err) { |
const Value* vis_value = scope->GetValue(variables::kVisibility, true); |
if (vis_value) |
- item->visibility().Set(scope->GetSourceDir(), *vis_value, err); |
+ item->visibility().Set(scope->settings()->build_settings()->root_path(), |
+ scope->GetSourceDir(), *vis_value, err); |
else // Default to public. |
item->visibility().SetPublic(); |
return !err->has_error(); |