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