// Copyright 2017 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/web_view/public/cwv_html_element.h"

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

@implementation CWVHTMLElement
@synthesize hyperlink = _hyperlink;
@synthesize mediaSource = _mediaSource;
@synthesize text = _text;

- (instancetype)initWithHyperlink:(NSURL*)hyperlink
                      mediaSource:(NSURL*)mediaSource
                             text:(NSString*)text {
  self = [super init];
  if (self) {
    _hyperlink = hyperlink;
    _mediaSource = mediaSource;
    _text = [text copy];
  }
  return self;
}

@end
