mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This hook existed because some elements wanted to run script inside ::insertedInto, but that wasn't a safe time. Now nothing can run script inside there so we don't need this extra hook. HTMLStyleElement's usage of this hook is not clear, but it seems like it might have related to a pre-lazy attach bug. R=abarth@chromium.org Review URL: https://codereview.chromium.org/758623002
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
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 SKY_ENGINE_CORE_HTML_HTMLIFRAMEELEMENT_H_
|
|
#define SKY_ENGINE_CORE_HTML_HTMLIFRAMEELEMENT_H_
|
|
|
|
#include "gen/sky/core/HTMLNames.h"
|
|
#include "mojo/services/public/cpp/view_manager/view_observer.h"
|
|
#include "sky/engine/core/dom/DOMURLUtils.h"
|
|
#include "sky/engine/core/dom/Document.h"
|
|
#include "sky/engine/core/html/HTMLElement.h"
|
|
#include "sky/engine/wtf/OwnPtr.h"
|
|
|
|
namespace blink {
|
|
|
|
class RemoteFrame;
|
|
|
|
class HTMLIFrameElement : public HTMLElement,
|
|
public mojo::ViewObserver {
|
|
DEFINE_WRAPPERTYPEINFO();
|
|
public:
|
|
static PassRefPtr<HTMLIFrameElement> create(Document&);
|
|
|
|
virtual ~HTMLIFrameElement();
|
|
|
|
mojo::View* contentView() const { return m_contentView; }
|
|
|
|
private:
|
|
explicit HTMLIFrameElement(Document&);
|
|
|
|
// HTMLElement methods:
|
|
virtual RenderObject* createRenderer(RenderStyle* style) override;
|
|
|
|
virtual void insertedInto(ContainerNode*) override;
|
|
virtual void removedFrom(ContainerNode*) override;
|
|
|
|
// ViewObserver methods:
|
|
void OnViewDestroyed(mojo::View* view) override;
|
|
|
|
private:
|
|
void createView();
|
|
|
|
mojo::View* m_contentView;
|
|
};
|
|
|
|
} // namespace blink
|
|
|
|
#endif // SKY_ENGINE_CORE_HTML_HTMLIFRAMEELEMENT_H_
|