Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Unified Diff: ui/views/controls/webview/webview.h

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/webview/web_dialog_view.cc ('k') | ui/views/controls/webview/webview.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/webview/webview.h
diff --git a/ui/views/controls/webview/webview.h b/ui/views/controls/webview/webview.h
deleted file mode 100644
index f5fe3c844d04b1fad425822385a02092f111c281..0000000000000000000000000000000000000000
--- a/ui/views/controls/webview/webview.h
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright (c) 2012 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 UI_VIEWS_CONTROLS_WEBVIEW_WEBVIEW_H_
-#define UI_VIEWS_CONTROLS_WEBVIEW_WEBVIEW_H_
-
-#include "base/basictypes.h"
-#include "base/memory/scoped_ptr.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/browser/web_contents_observer.h"
-#include "ui/views/accessibility/native_view_accessibility.h"
-#include "ui/views/controls/webview/webview_export.h"
-#include "ui/views/view.h"
-
-namespace views {
-
-class NativeViewHost;
-
-// Provides a view of a WebContents instance. WebView can be used standalone,
-// creating and displaying an internally-owned WebContents; or within a full
-// browser where the browser swaps its own WebContents instances in/out (e.g.,
-// for browser tabs).
-//
-// WebView creates and owns a single child view, a NativeViewHost, which will
-// hold and display the native view provided by a WebContents.
-//
-// EmbedFullscreenWidgetMode: When enabled, WebView will observe for WebContents
-// fullscreen changes and automatically swap the normal native view with the
-// fullscreen native view (if different). In addition, if the WebContents is
-// being screen-captured, the view will be centered within WebView, sized to
-// the aspect ratio of the capture video resolution, and scaling will be avoided
-// whenever possible.
-class WEBVIEW_EXPORT WebView : public View,
- public content::WebContentsDelegate,
- public content::WebContentsObserver {
- public:
- static const char kViewClassName[];
-
- explicit WebView(content::BrowserContext* browser_context);
- ~WebView() override;
-
- // This creates a WebContents if none is yet associated with this WebView. The
- // WebView owns this implicitly created WebContents.
- content::WebContents* GetWebContents();
-
- // WebView does not assume ownership of WebContents set via this method, only
- // those it implicitly creates via GetWebContents() above.
- void SetWebContents(content::WebContents* web_contents);
-
- // If |mode| is true, WebView will register itself with WebContents as a
- // WebContentsObserver, monitor for the showing/destruction of fullscreen
- // render widgets, and alter its child view hierarchy to embed the fullscreen
- // widget or restore the normal WebContentsView.
- void SetEmbedFullscreenWidgetMode(bool mode);
-
- content::BrowserContext* browser_context() { return browser_context_; }
-
- // Loads the initial URL to display in the attached WebContents. Creates the
- // WebContents if none is attached yet. Note that this is intended as a
- // convenience for loading the initial URL, and so URLs are navigated with
- // PAGE_TRANSITION_AUTO_TOPLEVEL, so this is not intended as a general purpose
- // navigation method - use WebContents' API directly.
- void LoadInitialURL(const GURL& url);
-
- // Controls how the attached WebContents is resized.
- // false = WebContents' views' bounds are updated continuously as the
- // WebView's bounds change (default).
- // true = WebContents' views' position is updated continuously but its size
- // is not (which may result in some clipping or under-painting) until
- // a continuous size operation completes. This allows for smoother
- // resizing performance during interactive resizes and animations.
- void SetFastResize(bool fast_resize);
-
- // Called when the WebContents is focused.
- // TODO(beng): This view should become a WebContentsViewObserver when a
- // WebContents is attached, and not rely on the delegate to
- // forward this notification.
- void OnWebContentsFocused(content::WebContents* web_contents);
-
- // When used to host UI, we need to explicitly allow accelerators to be
- // processed. Default is false.
- void set_allow_accelerators(bool allow_accelerators) {
- allow_accelerators_ = allow_accelerators;
- }
-
- // Sets the preferred size. If empty, View's implementation of
- // GetPreferredSize() is used.
- void SetPreferredSize(const gfx::Size& preferred_size);
-
- // Overridden from View:
- const char* GetClassName() const override;
- ui::TextInputClient* GetTextInputClient() override;
-
- protected:
- // Swaps the owned WebContents |wc_owner_| with |new_web_contents|. Returns
- // the previously owned WebContents.
- scoped_ptr<content::WebContents> SwapWebContents(
- scoped_ptr<content::WebContents> new_web_contents);
-
- // Overridden from View:
- void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
- void ViewHierarchyChanged(
- const ViewHierarchyChangedDetails& details) override;
- bool SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) override;
- void OnFocus() override;
- void AboutToRequestFocusFromTabTraversal(bool reverse) override;
- void GetAccessibleState(ui::AXViewState* state) override;
- gfx::NativeViewAccessible GetNativeViewAccessible() override;
- gfx::Size GetPreferredSize() const override;
-
- // Overridden from content::WebContentsDelegate:
- void WebContentsFocused(content::WebContents* web_contents) override;
- bool EmbedsFullscreenWidget() const override;
-
- // Overridden from content::WebContentsObserver:
- void RenderViewDeleted(content::RenderViewHost* render_view_host) override;
- void RenderProcessGone(base::TerminationStatus status) override;
- void RenderViewHostChanged(content::RenderViewHost* old_host,
- content::RenderViewHost* new_host) override;
- void DidShowFullscreenWidget(int routing_id) override;
- void DidDestroyFullscreenWidget(int routing_id) override;
- void DidToggleFullscreenModeForTab(bool entered_fullscreen) override;
- void DidAttachInterstitialPage() override;
- void DidDetachInterstitialPage() override;
- // Workaround for MSVC++ linker bug/feature that requires
- // instantiation of the inline IPC::Listener methods in all translation units.
- void OnChannelConnected(int32 peer_id) override {}
- void OnChannelError() override {}
- void OnBadMessageReceived(const IPC::Message& message) override {}
-
- private:
- void AttachWebContents();
- void DetachWebContents();
- void ReattachForFullscreenChange(bool enter_fullscreen);
- void NotifyMaybeTextInputClientChanged();
-
- // Create a regular or test web contents (based on whether we're running
- // in a unit test or not).
- content::WebContents* CreateWebContents(
- content::BrowserContext* browser_context);
-
- NativeViewHost* const holder_;
- // Non-NULL if |web_contents()| was created and is owned by this WebView.
- scoped_ptr<content::WebContents> wc_owner_;
- // When true, WebView auto-embeds fullscreen widgets as a child view.
- bool embed_fullscreen_widget_mode_enabled_;
- // Set to true while WebView is embedding a fullscreen widget view as a child
- // view instead of the normal WebContentsView render view. Note: This will be
- // false in the case of non-Flash fullscreen.
- bool is_embedding_fullscreen_widget_;
- content::BrowserContext* browser_context_;
- bool allow_accelerators_;
- gfx::Size preferred_size_;
-
- DISALLOW_COPY_AND_ASSIGN(WebView);
-};
-
-} // namespace views
-
-#endif // UI_VIEWS_CONTROLS_WEBVIEW_WEBVIEW_H_
« no previous file with comments | « ui/views/controls/webview/web_dialog_view.cc ('k') | ui/views/controls/webview/webview.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698