diff options
author | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-28 21:46:11 +0000 |
---|---|---|
committer | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-28 21:46:11 +0000 |
commit | ecf59c793327fd2dcba719a4160a37147b8be668 (patch) | |
tree | 390565b6d99337eebde69eadbd7024e41202e600 /chrome/test/automation | |
parent | 19106891c09d31ccc686edaa5919f26d737f7c7e (diff) | |
download | chromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.zip chromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.tar.gz chromium_src-ecf59c793327fd2dcba719a4160a37147b8be668.tar.bz2 |
Minimal Chrome Frame with Aura.
It builds and runs, but not a whole lot else. This change includes:
* ChromeFrameAutomationProvider is now OS_WIN only. In practice, this
has been the case for some time. Now it's formalized by giving the
implementation files the _win suffix.
* Automation messages and datatypes used exclusively by Chrome Frame now
use HWND directly rather than a toolkit-specific gfx typedef of one
since the requirement is that an actual HWND be sent over the
channel. A change in toolkit (e.g., switching to Aura) must not change
this. As a consequence of this change, some automation types and
messages are now only defined for OS_WIN builds.
* ExternalTabContainerWin is no longer derived from a NativeWidget type
(this was previously the case so that the ETCW could be notified of NW
lifecycle events). Now, in contrast, ETCW registers itself as an
observer of its Widget. Two additional lifecycle methods have been
added to WidgetObserver: OnWidgetCreated and OnWidgetDestroyed.
* ExternalTabContianerWin initializes its Widget with an instance of
DesktopNativeWidgetAura when use_aura.
* A special note about HWND IPC marshaling: this change adds a type
mapping from HWND to a generic HANDLE in ipc_message_utils.h, which
allows for the removal of a hack in content_message_generator.h to
marshal HWNDs.
This change reverts all of:
* r178752 -- Remove CF from all.gyp targets if use_aura is defined.
* r164590 -- Remove setup -> Chrome Frame dependency. Make it possible
to build an installer for Aura.
and portions of:
* r99993 -- Get chrome to link with USE_AURA
* r99787 -- Preliminary work to allow Chrome to build with USE_AURA.
BUG=171018
TEST=chrome_frame_tests provides good coverage in non-Aura builds.
Review URL: https://chromiumcodereview.appspot.com/12220101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/automation')
-rw-r--r-- | chrome/test/automation/automation_proxy.cc | 25 | ||||
-rw-r--r-- | chrome/test/automation/automation_proxy.h | 8 | ||||
-rw-r--r-- | chrome/test/automation/tab_proxy.cc | 2 |
3 files changed, 1 insertions, 34 deletions
diff --git a/chrome/test/automation/automation_proxy.cc b/chrome/test/automation/automation_proxy.cc index 8371d74..8a0ed36 100644 --- a/chrome/test/automation/automation_proxy.cc +++ b/chrome/test/automation/automation_proxy.cc @@ -376,31 +376,6 @@ bool AutomationProxy::OpenNewBrowserWindow(Browser::Type type, bool show) { show)); } -scoped_refptr<TabProxy> AutomationProxy::CreateExternalTab( - const ExternalTabSettings& settings, - gfx::NativeWindow* external_tab_container, - gfx::NativeWindow* tab) { - int handle = 0; - int session_id = 0; - bool succeeded = - Send(new AutomationMsg_CreateExternalTab(settings, - external_tab_container, - tab, - &handle, - &session_id)); - if (!succeeded) { - return NULL; - } - -#if defined(OS_WIN) && !defined(USE_AURA) - DCHECK(IsWindow(*external_tab_container)); -#else // defined(OS_WIN) - DCHECK(*external_tab_container); -#endif // defined(OS_WIN) - DCHECK(tracker_->GetResource(handle) == NULL); - return new TabProxy(this, tracker_.get(), handle); -} - template <class T> scoped_refptr<T> AutomationProxy::ProxyObjectFromHandle( int handle) { if (!handle) diff --git a/chrome/test/automation/automation_proxy.h b/chrome/test/automation/automation_proxy.h index 7f426cc..788a3dc 100644 --- a/chrome/test/automation/automation_proxy.h +++ b/chrome/test/automation/automation_proxy.h @@ -181,14 +181,6 @@ class AutomationProxy : public IPC::Listener, public AutomationMessageSender { // the tracker. virtual void InvalidateHandle(const IPC::Message& message); - // Creates a tab that can hosted in an external process. The function - // returns a TabProxy representing the tab as well as a window handle - // that can be reparented in another process. - scoped_refptr<TabProxy> CreateExternalTab( - const ExternalTabSettings& settings, - gfx::NativeWindow* external_tab_container, - gfx::NativeWindow* tab); - base::TimeDelta action_timeout() const { return action_timeout_; } diff --git a/chrome/test/automation/tab_proxy.cc b/chrome/test/automation/tab_proxy.cc index a883070..2dcb0dd 100644 --- a/chrome/test/automation/tab_proxy.cc +++ b/chrome/test/automation/tab_proxy.cc @@ -385,7 +385,7 @@ bool TabProxy::CaptureEntirePageAsPNG(const base::FilePath& path) { path, &error); } -#if defined(OS_WIN) && !defined(USE_AURA) +#if defined(OS_WIN) void TabProxy::Reposition(HWND window, HWND window_insert_after, int left, int top, int width, int height, int flags, HWND parent_window) { |