| Index: blimp/engine/session/blimp_engine_session.h
|
| diff --git a/blimp/engine/session/blimp_engine_session.h b/blimp/engine/session/blimp_engine_session.h
|
| index 2c064e59f7c8cac8b771e888c1483a01dd5b74f8..67570318a7b1c2617af4226cac13bf14b7bfcba2 100644
|
| --- a/blimp/engine/session/blimp_engine_session.h
|
| +++ b/blimp/engine/session/blimp_engine_session.h
|
| @@ -14,12 +14,10 @@
|
| #include "blimp/common/proto/blimp_message.pb.h"
|
| #include "blimp/engine/feature/engine_render_widget_feature.h"
|
| #include "blimp/engine/feature/engine_settings_feature.h"
|
| -#include "blimp/engine/session/page_load_tracker.h"
|
| #include "blimp/net/blimp_message_processor.h"
|
| #include "blimp/net/connection_error_observer.h"
|
| #include "content/public/browser/invalidate_type.h"
|
| #include "content/public/browser/web_contents_delegate.h"
|
| -#include "content/public/browser/web_contents_observer.h"
|
| #include "net/base/completion_callback.h"
|
| #include "ui/base/ime/input_method_observer.h"
|
| #include "ui/gfx/geometry/size.h"
|
| @@ -67,14 +65,13 @@ class BlimpFocusClient;
|
| class BlimpScreen;
|
| class BlimpWindowTreeHost;
|
| class EngineNetworkComponents;
|
| +class Tab;
|
|
|
| class BlimpEngineSession
|
| : public BlimpMessageProcessor,
|
| public content::WebContentsDelegate,
|
| - public content::WebContentsObserver,
|
| public ui::InputMethodObserver,
|
| - public EngineRenderWidgetFeature::RenderWidgetMessageDelegate,
|
| - public PageLoadTrackerClient {
|
| + public EngineRenderWidgetFeature::RenderWidgetMessageDelegate {
|
| public:
|
| using GetPortCallback = base::Callback<void(uint16_t)>;
|
|
|
| @@ -105,19 +102,16 @@ class BlimpEngineSession
|
| void RegisterFeatures();
|
|
|
| // TabControlMessage handler methods.
|
| - // Creates a new WebContents, which will be indexed by |target_tab_id|.
|
| - // Returns true if a new WebContents is created, false otherwise.
|
| - bool CreateWebContents(const int target_tab_id);
|
| + // Creates a new tab, which will be indexed by |target_tab_id|.
|
| + // Returns true if a new tab is created, false otherwise.
|
| + bool CreateTab(const int target_tab_id);
|
|
|
| - void CloseWebContents(const int target_tab_id);
|
| - void HandleResize(float device_pixel_ratio, const gfx::Size& size);
|
| + // Closes an existing tab, indexed by |target_tab_id|.
|
| + void CloseTab(const int target_tab_id);
|
|
|
| - // NavigationMessage handler methods.
|
| - // Navigates the target tab to the |url|.
|
| - void LoadUrl(const int target_tab_id, const GURL& url);
|
| - void GoBack(const int target_tab_id);
|
| - void GoForward(const int target_tab_id);
|
| - void Reload(const int target_tab_id);
|
| + // Resizes screen to |size| in pixels, and updates its device pixel ratio to
|
| + // |device_pixel_ratio|.
|
| + void HandleResize(float device_pixel_ratio, const gfx::Size& size);
|
|
|
| // RenderWidgetMessage handler methods.
|
| // RenderWidgetMessageDelegate implementation.
|
| @@ -158,17 +152,9 @@ class BlimpEngineSession
|
| void OnInputMethodDestroyed(const ui::InputMethod* input_method) override;
|
| void OnShowImeIfNeeded() override;
|
|
|
| - // content::WebContentsObserver implementation.
|
| - void RenderViewCreated(content::RenderViewHost* render_view_host) override;
|
| - void RenderViewHostChanged(content::RenderViewHost* old_host,
|
| - content::RenderViewHost* new_host) override;
|
| - void RenderViewDeleted(content::RenderViewHost* render_view_host) override;
|
| -
|
| - // PageLoadTrackerClient implementation.
|
| - void SendPageLoadStatusUpdate(PageLoadStatus load_status) override;
|
| -
|
| - // Sets up and owns |new_contents|.
|
| - void PlatformSetContents(std::unique_ptr<content::WebContents> new_contents);
|
| + // Sets up |new_contents| to be associated with the root window.
|
| + void PlatformSetContents(std::unique_ptr<content::WebContents> new_contents,
|
| + const int target_tab_id);
|
|
|
| // Presents the client's single screen.
|
| // Screen should be deleted after browser context (crbug.com/613372).
|
| @@ -194,13 +180,6 @@ class BlimpEngineSession
|
| // Used to attach null-parented windows (e.g. popups) to the root window.
|
| std::unique_ptr<aura::client::WindowTreeClient> window_tree_client_;
|
|
|
| - // Only one web_contents is supported for blimp 0.5
|
| - std::unique_ptr<content::WebContents> web_contents_;
|
| -
|
| - // Tracks the page load status for a tab. Each PageLoadTracker is tied to a
|
| - // WebContents.
|
| - std::unique_ptr<PageLoadTracker> page_load_tracker_;
|
| -
|
| // Manages all global settings for the engine session.
|
| SettingsManager* settings_manager_;
|
|
|
| @@ -222,6 +201,9 @@ class BlimpEngineSession
|
| std::unique_ptr<BlimpMessageProcessor> tab_control_message_sender_;
|
| std::unique_ptr<BlimpMessageProcessor> navigation_message_sender_;
|
|
|
| + // TODO(haibinlu): Support more than one tab (crbug/547231)
|
| + std::unique_ptr<Tab> tab_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(BlimpEngineSession);
|
| };
|
|
|
|
|