mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This CL adds basic support for the <import> elements. We're using the same imports machinery as <link rel="import">, which simplifies this patch substantially. Currently we support both <link rel="import"> and <import>. Once this CL lands, I'll update all the existing modules and then we can drop support for <link rel="import">. R=ojan@chromium.org Review URL: https://codereview.chromium.org/681983005
40 lines
988 B
C++
40 lines
988 B
C++
// 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.
|
|
|
|
#ifndef HTMLImportElement_h
|
|
#define HTMLImportElement_h
|
|
|
|
#include "core/html/HTMLElement.h"
|
|
#include "core/html/imports/HTMLImportChildClient.h"
|
|
|
|
namespace blink {
|
|
|
|
class HTMLImportElement final : public HTMLElement, public HTMLImportChildClient {
|
|
DEFINE_WRAPPERTYPEINFO();
|
|
public:
|
|
static PassRefPtr<HTMLImportElement> create(Document&);
|
|
|
|
|
|
private:
|
|
explicit HTMLImportElement(Document&);
|
|
|
|
bool shouldLoad() const;
|
|
void load();
|
|
|
|
// From HTMLElement
|
|
InsertionNotificationRequest insertedInto(ContainerNode*) override;
|
|
|
|
// From HTMLImportChildClient
|
|
void didFinish() override;
|
|
void importChildWasDestroyed(HTMLImportChild*) override;
|
|
bool isSync() const override;
|
|
Element* link() override;
|
|
|
|
HTMLImportChild* m_child;
|
|
};
|
|
|
|
} // namespace blink
|
|
|
|
#endif // HTMLImportElement_h
|