WebUserContentURLPattern.mm 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * Copyright (C) 2010 Apple Inc. All rights reserved.
  3. *
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. * 1. Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * 2. Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. *
  13. * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
  14. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  15. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  16. * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
  17. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  18. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  19. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  20. * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  21. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  22. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  23. */
  24. #import "WebUserContentURLPattern.h"
  25. #import <WebCore/KURL.h>
  26. #import <WebCore/UserContentURLPattern.h>
  27. using namespace WebCore;
  28. @interface WebUserContentURLPatternPrivate : NSObject
  29. {
  30. @public
  31. UserContentURLPattern pattern;
  32. }
  33. @end
  34. @implementation WebUserContentURLPatternPrivate
  35. @end
  36. @implementation WebUserContentURLPattern
  37. - (id)initWithPatternString:(NSString *)patternString
  38. {
  39. self = [super init];
  40. if (!self)
  41. return nil;
  42. _private = [[WebUserContentURLPatternPrivate alloc] init];
  43. _private->pattern = UserContentURLPattern(patternString);
  44. return self;
  45. }
  46. - (void)dealloc
  47. {
  48. [_private release];
  49. _private = nil;
  50. [super dealloc];
  51. }
  52. - (BOOL)isValid
  53. {
  54. return _private->pattern.isValid();
  55. }
  56. - (NSString *)scheme
  57. {
  58. return _private->pattern.scheme();
  59. }
  60. - (NSString *)host
  61. {
  62. return _private->pattern.host();
  63. }
  64. - (BOOL)matchesSubdomains
  65. {
  66. return _private->pattern.matchSubdomains();
  67. }
  68. - (BOOL)matchesURL:(NSURL *)url
  69. {
  70. return _private->pattern.matches(url);
  71. }
  72. @end