blob: 36c61b26699b54d863a2459461a5e3d73fd051cc [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_WEB_CONTENT_WEB_STATE_CONTENT_WEB_STATE_BUILDER_H_
#define IOS_WEB_CONTENT_WEB_STATE_CONTENT_WEB_STATE_BUILDER_H_
namespace content {
class NavigationController;
}
namespace web {
class BrowserState;
class ContentNavigationManager;
class ContentWebState;
namespace proto {
class WebStateStorage;
} // namespace proto
// Populates `web_state` and its `controller` from `storage` information.
void ExtractContentSessionStorage(ContentWebState* web_state,
content::NavigationController& controller,
BrowserState* browser_state,
proto::WebStateStorage storage);
// Serializes the state from `web_state` and `navigation_manager` to `storage`.
void SerializeContentStorage(const ContentWebState* web_state,
const ContentNavigationManager* navigation_manager,
proto::WebStateStorage& storage);
} // namespace web
#endif // IOS_WEB_CONTENT_WEB_STATE_CONTENT_WEB_STATE_BUILDER_H_