// 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.

#import "ios/net/url_scheme_util.h"

#import <Foundation/Foundation.h>

#include "base/check.h"
#include "base/strings/sys_string_conversions.h"
#include "url/gurl.h"

#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif

namespace net {

bool UrlSchemeIs(NSURL* url, NSString* scheme) {
  DCHECK([scheme isEqualToString:[scheme lowercaseString]]);
  NSString* url_scheme = [url scheme];
  return (url_scheme != nil) &&
         [url_scheme caseInsensitiveCompare:scheme] == NSOrderedSame;
}

bool UrlHasDataScheme(NSURL* url) {
  return UrlSchemeIs(url, base::SysUTF8ToNSString(url::kDataScheme));
}

}  // namespace net
