| Index: components/html_viewer/html_frame_tree_manager.h
|
| diff --git a/components/html_viewer/html_frame_tree_manager.h b/components/html_viewer/html_frame_tree_manager.h
|
| deleted file mode 100644
|
| index 0841b7cfe8a1d4e8a7259991734c6cc53f04e23e..0000000000000000000000000000000000000000
|
| --- a/components/html_viewer/html_frame_tree_manager.h
|
| +++ /dev/null
|
| @@ -1,150 +0,0 @@
|
| -// 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.
|
| -
|
| -#ifndef COMPONENTS_HTML_VIEWER_HTML_FRAME_TREE_MANAGER_H_
|
| -#define COMPONENTS_HTML_VIEWER_HTML_FRAME_TREE_MANAGER_H_
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include <map>
|
| -#include <set>
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/observer_list.h"
|
| -#include "components/web_view/public/interfaces/frame.mojom.h"
|
| -
|
| -namespace blink {
|
| -class WebView;
|
| -}
|
| -
|
| -namespace mus {
|
| -class Window;
|
| -}
|
| -
|
| -namespace html_viewer {
|
| -
|
| -class DocumentResourceWaiter;
|
| -class GlobalState;
|
| -class HTMLFrame;
|
| -class HTMLFrameDelegate;
|
| -class HTMLFrameTreeManagerObserver;
|
| -
|
| -// HTMLFrameTreeManager is responsible for managing the frames that comprise a
|
| -// document. Some of the frames may be remote. HTMLFrameTreeManager updates its
|
| -// state in response to changes from the server Frame, as well as changes
|
| -// from the underlying frames. The frame tree has at least one local frame
|
| -// that is backed by a mus::Window.
|
| -class HTMLFrameTreeManager {
|
| - public:
|
| - // Returns a new HTMLFrame or null if a HTMLFrame does not need to be created.
|
| - // If this returns non-null the caller owns the return value and must call
|
| - // Close() when done.
|
| - static HTMLFrame* CreateFrameAndAttachToTree(
|
| - GlobalState* global_state,
|
| - mus::Window* window,
|
| - scoped_ptr<DocumentResourceWaiter> resource_waiter,
|
| - HTMLFrameDelegate* delegate);
|
| -
|
| - // Returns the HTMLFrameTreeManager with the specified root id.
|
| - static HTMLFrameTreeManager* FindFrameTreeWithRoot(uint32_t root_frame_id);
|
| -
|
| - GlobalState* global_state() { return global_state_; }
|
| -
|
| - blink::WebView* GetWebView();
|
| -
|
| - // Ever increasing value that is used to identify the state the tree is in.
|
| - // That is, the value increases every time a structural change is made to
|
| - // the tree, eg add or remove.
|
| - uint32_t change_id() const { return change_id_; }
|
| -
|
| - void AddObserver(HTMLFrameTreeManagerObserver* observer);
|
| - void RemoveObserver(HTMLFrameTreeManagerObserver* observer);
|
| -
|
| - private:
|
| - friend class HTMLFrame;
|
| - class ChangeIdAdvancedNotifier;
|
| - using TreeMap = std::map<uint32_t, HTMLFrameTreeManager*>;
|
| - using ChangeIDSet = std::set<uint32_t>;
|
| -
|
| - explicit HTMLFrameTreeManager(GlobalState* global_state);
|
| - ~HTMLFrameTreeManager();
|
| -
|
| - void Init(HTMLFrameDelegate* delegate,
|
| - mus::Window* local_window,
|
| - const mojo::Array<web_view::mojom::FrameDataPtr>& frame_data,
|
| - uint32_t change_id);
|
| -
|
| - // Creates a Frame per FrameData element in |frame_data|. Returns the root.
|
| - HTMLFrame* BuildFrameTree(
|
| - HTMLFrameDelegate* delegate,
|
| - const mojo::Array<web_view::mojom::FrameDataPtr>& frame_data,
|
| - uint32_t local_frame_id,
|
| - mus::Window* local_window);
|
| -
|
| - // Returns this HTMLFrameTreeManager from |instances_|.
|
| - void RemoveFromInstances();
|
| -
|
| - // Invoked when a Frame is destroyed.
|
| - void OnFrameDestroyed(HTMLFrame* frame);
|
| -
|
| - // Call before applying a structure change from the server. |source| is the
|
| - // the source of the change, and |change_id| the id from the server. Returns
|
| - // true if the change should be applied, false otherwise.
|
| - bool PrepareForStructureChange(HTMLFrame* source, uint32_t change_id);
|
| -
|
| - // Each HTMLFrame delegates FrameClient methods to the HTMLFrameTreeManager
|
| - // the frame is in. HTMLFrameTreeManager only responds to changes from the
|
| - // |local_frame_| (this is because each FrameClient sees the same change, and
|
| - // a change only need be processed once).
|
| - void ProcessOnFrameAdded(HTMLFrame* source,
|
| - uint32_t change_id,
|
| - web_view::mojom::FrameDataPtr frame_data);
|
| - void ProcessOnFrameRemoved(HTMLFrame* source,
|
| - uint32_t change_id,
|
| - uint32_t frame_id);
|
| - void ProcessOnFrameClientPropertyChanged(HTMLFrame* source,
|
| - uint32_t frame_id,
|
| - const mojo::String& name,
|
| - mojo::Array<uint8_t> new_data);
|
| -
|
| - // Finds a new local frame which satisfies:
|
| - // - it is not a descendant of |local_frame_|;
|
| - // - it is the highest local frame or one of the highest local frames if
|
| - // there are multiple.
|
| - HTMLFrame* FindNewLocalFrame();
|
| -
|
| - static TreeMap* instances_;
|
| -
|
| - GlobalState* global_state_;
|
| -
|
| - HTMLFrame* root_;
|
| -
|
| - // The |local_frame_| is the HTMLFrame that is the highest frame that is
|
| - // local. Please note that it is not necessarily the ancestor of all local
|
| - // frames.
|
| - HTMLFrame* local_frame_;
|
| -
|
| - uint32_t change_id_;
|
| -
|
| - // When a frame is locally removed the id is added here. When the server
|
| - // notifies us we remove from this set. This is done to ensure an add/remove
|
| - // followed by notification from the server doesn't attempt to add the frame
|
| - // back that was locally removed.
|
| - ChangeIDSet pending_remove_ids_;
|
| -
|
| - // If true, we're in ProcessOnFrameRemoved().
|
| - bool in_process_on_frame_removed_;
|
| -
|
| - base::ObserverList<HTMLFrameTreeManagerObserver> observers_;
|
| -
|
| - base::WeakPtrFactory<HTMLFrameTreeManager> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(HTMLFrameTreeManager);
|
| -};
|
| -
|
| -} // namespace html_viewer
|
| -
|
| -#endif // COMPONENTS_HTML_VIEWER_HTML_FRAME_TREE_MANAGER_H_
|
|
|