blob: c3351cb1f781fc6cdb6fb4ad0c65d12b358b54c5 [file] [log] [blame]
// Copyright 2016 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 LayoutPartItem_h
#define LayoutPartItem_h
#include "core/layout/LayoutPart.h"
#include "core/layout/api/LayoutBoxItem.h"
namespace blink {
class LayoutPartItem : public LayoutBoxItem {
public:
explicit LayoutPartItem(LayoutPart* layoutPart)
: LayoutBoxItem(layoutPart)
{
}
explicit LayoutPartItem(const LayoutItem& item)
: LayoutBoxItem(item)
{
ASSERT(!item || item.isLayoutPart());
}
explicit LayoutPartItem(std::nullptr_t) : LayoutBoxItem(nullptr) { }
LayoutPartItem() { }
void updateOnWidgetChange()
{
toPart()->updateOnWidgetChange();
}
private:
LayoutPart* toPart()
{
return toLayoutPart(layoutObject());
}
const LayoutPart* toPart() const
{
return toLayoutPart(layoutObject());
}
};
} // namespace blink
#endif // LayoutPartItem_h