| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import cpp |
| import semmle.code.cpp.dataflow.DataFlow |
| |
| module Chromium { |
| predicate isChromiumCode(Element e) { isChromiumPath(e.getFile()) } |
| |
| predicate isChromiumPath(Container c) { |
| exists(string path | |
| path = c.getAbsolutePath() and |
| not path.matches("%buildtools%") and |
| not path.matches("%include/c++%") and |
| not path.matches("/usr/include%") and |
| not path.matches("%native_client%") |
| ) |
| } |
| |
| predicate isUbiquitousChromiumPath(Container c) { |
| exists(string path | |
| path = c.getAbsolutePath() and |
| not path.matches("%ios_internal%") and |
| not path.matches("%ios%") and |
| not path.matches("%android_webview%") and |
| not path.matches("%chromecast%") |
| ) |
| } |
| |
| predicate isUbiquitousChromiumCode(Element e) { |
| isChromiumPath(e.getFile()) and |
| isUbiquitousChromiumPath(e.getFile()) |
| } |
| |
| predicate isBlinkCode(Element e) { |
| isChromiumCode(e.getFile()) and |
| isBlinkPath(e.getFile()) |
| } |
| |
| predicate isBlinkPath(Container c) { |
| exists(string path | |
| path = c.getAbsolutePath() and |
| path.matches("%third_party/blink%") |
| ) |
| } |
| } |