blob: e327adc8b4ea72b38cb1ee3e2c0bfd34ee1b7788 [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 WindowFeaturesStructTraits_h
#define WindowFeaturesStructTraits_h
#include "WebWindowFeatures.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "third_party/WebKit/public/web/window_features.mojom-shared.h"
namespace mojo {
template <>
struct StructTraits<::blink::mojom::WindowFeaturesDataView, ::blink::WebWindowFeatures> {
static float x(const ::blink::WebWindowFeatures& features) { return features.x; }
static bool has_x(const ::blink::WebWindowFeatures& features) { return features.xSet; }
static float y(const ::blink::WebWindowFeatures& features) { return features.y; }
static bool has_y(const ::blink::WebWindowFeatures& features) { return features.ySet; }
static float width(const ::blink::WebWindowFeatures& features) { return features.width; }
static bool has_width(const ::blink::WebWindowFeatures& features) { return features.widthSet; }
static float height(const ::blink::WebWindowFeatures& features) { return features.height; }
static bool has_height(const ::blink::WebWindowFeatures& features) { return features.heightSet; }
static bool menu_bar_visible(const ::blink::WebWindowFeatures& features) { return features.menuBarVisible; }
static bool status_bar_visible(const ::blink::WebWindowFeatures& features) { return features.statusBarVisible; }
static bool tool_bar_visible(const ::blink::WebWindowFeatures& features) { return features.toolBarVisible; }
static bool location_bar_visible(const ::blink::WebWindowFeatures& features) { return features.locationBarVisible; }
static bool scrollbars_visible(const ::blink::WebWindowFeatures& features) { return features.scrollbarsVisible; }
static bool resizable(const ::blink::WebWindowFeatures& features) { return features.resizable; }
static bool fullscreen(const ::blink::WebWindowFeatures& features) { return features.fullscreen; }
static bool dialog(const ::blink::WebWindowFeatures& features) { return features.dialog; }
static bool Read(::blink::mojom::WindowFeaturesDataView, ::blink::WebWindowFeatures* out);
};
} // namespace mojo
#endif