// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/common/ad_injection_constants.h"
#include "base/strings/string_util.h"
namespace extensions {
namespace ad_injection_constants {
namespace keys {
const char kType[] = "type";
const char kChildren[] = "children";
const char kSrc[] = "src";
const char kHref[] = "href";
} // namespace keys
const char kHtmlIframeSrcApiName[] = "HTMLIFrameElement.src";
const char kHtmlEmbedSrcApiName[] = "HTMLEmbedElement.src";
const char kHtmlAnchorHrefApiName[] = "HTMLAnchorElement.href";
const char kAppendChildApiSuffix[] = "appendChild";
// The maximum number of children to check when we examine a newly-added
// element.
extern const size_t kMaximumChildrenToCheck = 10u;
// The maximum depth to check when we examine a newly-added element.
extern const size_t kMaximumDepthToCheck = 5u;
bool ApiCanInjectAds(const std::string& api) {
return api == kHtmlIframeSrcApiName ||
api == kHtmlEmbedSrcApiName ||
api == kHtmlAnchorHrefApiName ||
EndsWith(api, kAppendChildApiSuffix, true /* case sensitive */);
}
} // namespace ad_injection_constants
} // namespace extensions