// Copyright 2015 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. #include "components/html_viewer/replicated_frame_state.h" #include "components/html_viewer/html_frame_properties.h" namespace html_viewer { ReplicatedFrameState::ReplicatedFrameState() : sandbox_flags(blink::WebSandboxFlags::None), tree_scope(blink::WebTreeScopeType::Document) {} ReplicatedFrameState::~ReplicatedFrameState() {} void SetReplicatedFrameStateFromClientProperties( const mojo::Map>& properties, ReplicatedFrameState* state) { state->name = FrameNameFromClientProperty( GetValueFromClientProperties(kPropertyFrameName, properties)); state->origin = FrameOriginFromClientProperty( GetValueFromClientProperties(kPropertyFrameOrigin, properties)); if (!FrameSandboxFlagsFromClientProperty( GetValueFromClientProperties(kPropertyFrameSandboxFlags, properties), &(state->sandbox_flags))) { state->sandbox_flags = blink::WebSandboxFlags::None; } if (!FrameTreeScopeFromClientProperty( GetValueFromClientProperties(kPropertyFrameTreeScope, properties), &(state->tree_scope))) { state->tree_scope = blink::WebTreeScopeType::Document; } } void ClientPropertiesFromReplicatedFrameState( const ReplicatedFrameState& state, mojo::Map>* properties) { AddToClientPropertiesIfValid(kPropertyFrameName, FrameNameToClientProperty(state.name).Pass(), properties); AddToClientPropertiesIfValid( kPropertyFrameTreeScope, FrameTreeScopeToClientProperty(state.tree_scope).Pass(), properties); AddToClientPropertiesIfValid( kPropertyFrameSandboxFlags, FrameSandboxFlagsToClientProperty(state.sandbox_flags).Pass(), properties); } } // namespace html_viewer