/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::HTML { JS_DEFINE_ALLOCATOR(HTMLTitleElement); HTMLTitleElement::HTMLTitleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { } HTMLTitleElement::~HTMLTitleElement() = default; void HTMLTitleElement::initialize(JS::Realm& realm) { Base::initialize(realm); set_prototype(&Bindings::ensure_web_prototype(realm, "HTMLTitleElement")); } void HTMLTitleElement::children_changed() { HTMLElement::children_changed(); if (navigable() && navigable()->is_traversable()) { navigable()->traversable_navigable()->page()->client().page_did_change_title(document().title()); } } }