summaryrefslogtreecommitdiffstats
path: root/chrome/test/automation/tab_proxy.cc
Commit message (Collapse)AuthorAgeFilesLines
* Removes entirely dead code paths related to ConstrainedWindows.erg@chromium.org2009-06-161-28/+0
| | | | | | | | | | - Removes parts of the interface that probably made sense at some time, but now only have a DLOG(INFO) as their implementation. Also remove their callers. - Remove all usage of the ConstrainedWindowProxy interface in the automation system. It was *never* used. - Rename constrianed_window_impl_interactive_uitests.cc to blocked_popup_container_interactive_uitest.cc. The test case hasn't tested code in constrained_window_impl.cc since the rewrite of the blocked popup system back last autumn. Review URL: http://codereview.chromium.org/125160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18498 0039d316-1c4b-4281-b951-d872f2087c98
* Allow external hosts to handle the context menu and thus be able to ↵ananta@chromium.org2009-06-121-0/+5
| | | | | | | | | | | | | | | | | | | | customize it. Changes include 1. A HandleContextMenu function which can be implemented by a TabContentsDelegate. Currently only ExternalTabContainer implements this. 2. Removed InitMenu calls from the RenderViewContextMenu subclass constructors, We need the subclasses to be able to override individual AddMenuItem calls. The newly added RenderViewContextMenuExternalWin class derives from RenderViewContextMenuWin whose constructor calls InitMenu. This happens at a time when the vtable is not yet setup. To fix this we added an Init function to the RenderViewContextMenu base class which then calls a virtual function DoInit, which derived classes can override to perform specific initializations. 3. Added automation messages to send over context menu events to external hosts and back amit, please review everything. estade please review changes to tab_contents_view_gtk.cc and render_view_context_menu_gtk.cc. pinkerton please review changes to tab_contents_view_mac.mm and render_view_context_menu_mac.mm Review URL: http://codereview.chromium.org/119429 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18250 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding the first of probably several patches trying to clean up the ↵erg@google.com2009-06-041-0/+27
| | | | | | | | | | | | | | | | | | BlockedPopupContainer into something that can be cross-platform. - BlokedPopupContainers are no longer ConstrainedWindows. - There is now a cross platform base class that contains most of the model/controller logic. The view now inherits from it. This is an improvement. This version has minor windows compile fixes that changed from under me. Original Review URL: http://codereview.chromium.org/119006 TBR=beng TEST=Popup notification still works. Review URL: http://codereview.chromium.org/119107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17647 0039d316-1c4b-4281-b951-d872f2087c98
* Move download shelf from per-tab to per-window. Also disable auto-hiding ofthakis@chromium.org2009-06-041-14/+1
| | | | | | | | | | | | | | the shelf. BUG=9025 TEST=Download file in one tab, open new tab, and check that download shelf is still open. Also try the shelf's close button and the "show all downloads" link. When saving a file, the download animation should not show up. Review URL: http://codereview.chromium.org/115740 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17595 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "This is the first of probably several patches trying to clean up the ↵erg@google.com2009-06-031-27/+0
| | | | | | | | | | | BlockedPopupContainer into something that can be cross-platform." This reverts commit 0247f4d628f8f56c0a42ab44efd1d29058167a11 (r17483). Review URL: http://codereview.chromium.org/118166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17485 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first of probably several patches trying to clean up the ↵erg@google.com2009-06-031-0/+27
| | | | | | | | | | | BlockedPopupContainer into something that can be cross-platform. - BlokedPopupContainers are no longer ConstrainedWindows. - There is now a cross platform base class that contains most of the model/controller logic. The view now inherits from it. This is an improvement. Review URL: http://codereview.chromium.org/119006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17483 0039d316-1c4b-4281-b951-d872f2087c98
* Make automation proxy objects to ref_counted. That allows to process async ↵stoyan@chromium.org2009-05-281-5/+34
| | | | | | | | | | | notifications directly in channel background thread. Add support for listener-less ChannelProxy. BUG=none TEST=none Review URL: http://codereview.chromium.org/113722 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17093 0039d316-1c4b-4281-b951-d872f2087c98
* Remove AutomationRequest (deprecated by using SyncChannel). Some minor cleanup.stoyan@chromium.org2009-05-111-3/+2
| | | | | | Review URL: http://codereview.chromium.org/115210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15813 0039d316-1c4b-4281-b951-d872f2087c98
* When restoring a closed tab using either ctrl-shift-T or the context menu, putpam@chromium.org2009-04-201-0/+12
| | | | | | | | | | | | | | | | | | | it back into the window it came from, at the tabstrip index it occupied before, and activate (select) both the window and the tab. Restoring a tab from the New Tab Page replaces the NTP, as before. If the window the tab was in no longer exists, put the tab at the end of the current window's tabstrip. This behavior may change in a later patch. BUG=5278 TEST=Open two windows, with >1 tabs each. Close a tab, not the one at the end, in one of the windows. Switch to the other window and choose "Undo Closed Tab" from the tabstrip context menu, or type ctrl-shift-T. The tab should be restored where it was, and activated (selected and brought to the front). Review URL: http://codereview.chromium.org/69015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14062 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the SetParentWindow function from tab_proxy and added a ↵ananta@chromium.org2009-04-131-14/+4
| | | | | | | | | | parent_window argument to the Reposition function in tab_proxy Review URL: http://codereview.chromium.org/73019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13623 0039d316-1c4b-4281-b951-d872f2087c98
* Updated the AutomationMsg_TabReposition IPC to be able to set the parent of ↵ananta@chromium.org2009-04-071-0/+14
| | | | | | | | | | a window. Bug=1751431 Review URL: http://codereview.chromium.org/62042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13253 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebScriptSource and WebFindInPageRequest from the WebKit API.darin@chromium.org2009-03-311-8/+7
| | | | | | | | | | | | | | | | | | This change introduces some helper functions in glue_util.cc for efficient conversion between WebString and WebCore::String when inside the implementation of webkit/glue. This is a temporary change since eventually all code in glue that uses WebCore will be moved into the WebKit API implementation. Instead of making the Chrome automation use WebFindInPageRequest, I decided to introduce AutomationMsg_Find_Params as a copy of the old FindInPageRequest structure. That preserves the IPC protocol and avoids making the automation library depend on WebKit. R=dglazkov Review URL: http://codereview.chromium.org/57060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12881 0039d316-1c4b-4281-b951-d872f2087c98
* Convert FindInPage wstrings to string16.tc@google.com2009-03-191-1/+1
| | | | | | | Review URL: http://codereview.chromium.org/42408 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12158 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for repositioning/resizing a tab window. This is needed as the ↵ananta@chromium.org2009-03-131-0/+17
| | | | | | | | | | SetWindowPos call can fail on Vista if the caller is running under low IL. Review URL: http://codereview.chromium.org/42150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11604 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE.maruel@google.com2009-03-101-1/+2
| | | | | | | Fix files with lines > 80 cols. Part 2. Review URL: http://codereview.chromium.org/40226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11326 0039d316-1c4b-4281-b951-d872f2087c98
* Changing ForwardMessageToExternalHost to postMessage and passing a propertommi@chromium.org2009-03-091-2/+4
| | | | | | | | | | | | | | | MessageEvent object to the onmessage handler. Also adding support for origin and target parameters. The origin parameter is implicit but target can be specified when calling postMessage. If no target is specified we default to "*". At the moment I'm only allowing target == "*" messages to pass through since I haven't implemented support for matching more complicated patterns :) Review URL: http://codereview.chromium.org/40128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11275 0039d316-1c4b-4281-b951-d872f2087c98
* Make page_cycler_tests build on Linux (doesn't run successfully yet).phajdan.jr@chromium.org2009-03-091-3/+7
| | | | | | Review URL: http://codereview.chromium.org/40182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11239 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 11199 because it breaks the page cyclersnsylvain@chromium.org2009-03-071-7/+3
| | | | | | | | | | on windows. My theory is that the GURL in RunPageCycler is not correct. (Missing a "/" maybe.) Review URL: http://codereview.chromium.org/40268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11200 0039d316-1c4b-4281-b951-d872f2087c98
* Make page_cycler_tests build on Linux (doesn't run successfully yet).phajdan.jr@chromium.org2009-03-071-3/+7
| | | | | | Review URL: http://codereview.chromium.org/40182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11199 0039d316-1c4b-4281-b951-d872f2087c98
* Register an onmessage handler with the external host binding instead of ↵ananta@chromium.org2009-03-031-2/+0
| | | | | | | | | | | explicitly passing in a target Javascript function to execute. The onmessage handler is a one argument Javascript function for now. Review URL: http://codereview.chromium.org/28291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10760 0039d316-1c4b-4281-b951-d872f2087c98
* Make basic bits of chrome/test/automation build on Linux.phajdan.jr@chromium.org2009-02-251-1/+1
| | | | | | Review URL: http://codereview.chromium.org/27060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10331 0039d316-1c4b-4281-b951-d872f2087c98
* The find bar should be owned and managed from the BrowserView, not the ↵finnur@google.com2009-02-241-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | WebContentsView, since it's part of the "chrome". Design Doc: http://dev.chromium.org/developers/design-documents/find-bar Things done: - Pulled all of the find bar stuff out of WebContentsView* since it's no longer needed. - Moved OnFindReply delegate method from RenderViewHostDelegate::View to RenderViewHostDelegate, since it's no longer implemented on the view. - Moved find control methods to WebContents. - Added recent find result state to WebContents. - Updated the UI tests to accommodate the changes in the state that is broadcast when results are discovered. - Updated the find bar layout to obtain its bounding box from the BrowserView, which knows about toolbars, bookmark bars etc. - Updated the find bar itself to handle the fact that it can be displayed for multiple different tabs. - Moved the find bar manipulation methods for testing from TabProxy to BrowserProxy, since the find bar is now a feature of the window, not the tab. - view.h: Don't lay out child views again if they have a layout manager, it already updated them. TEST=Find box should work as before. BUG=3245 Review URL: http://codereview.chromium.org/27025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10231 0039d316-1c4b-4281-b951-d872f2087c98
* The Chrome Automation framework is based on a homegrown request response IPC ↵ananta@chromium.org2009-02-111-323/+107
| | | | | | | | | | model and thus ends up duplicating a lot of functionality already available in the SyncChannel. This CL gets the automation framework to use the SyncChannel. The request response IPCs have been changed to sync IPCs. Review URL: http://codereview.chromium.org/20189 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9585 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplying tab support (change 9388). I synced and re-applied my change and ↵tommi@chromium.org2009-02-101-0/+8
| | | | | | | | | | | | | | found the automation tests not hanging. I also took a look at the logs from the hanging buildbots and the reverted change didn't touch on any of the code that appeared to be hanging. I also put breakpoints on the modified functions while running ui_tests.exe and nothing hit, so it looks like a fluke. I did get a hang though when running an old build of ui_tests.exe with a new version of chrome.dll. Is there any chance that there could have been a stale version on the build bots? Review URL: http://codereview.chromium.org/20214 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9478 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9388 to see if this fixes ui tests.kuchhal@chromium.org2009-02-091-8/+0
| | | | | | | TBR=tommi Review URL: http://codereview.chromium.org/20179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9392 0039d316-1c4b-4281-b951-d872f2087c98
* Adding support for tab notifications and initializing the focus of an ↵tommi@chromium.org2009-02-091-0/+8
| | | | | | | | automated tab. Review URL: http://codereview.chromium.org/20125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9388 0039d316-1c4b-4281-b951-d872f2087c98
* Handle review comments form previous change. Also, use enum types and not ↵jam@chromium.org2009-02-061-32/+31
| | | | | | | | int in IPC messages to make things clearer. Review URL: http://codereview.chromium.org/20140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9351 0039d316-1c4b-4281-b951-d872f2087c98
* Commit my changes that simplify automation message unpacking.jam@chromium.org2009-02-061-490/+243
| | | | | | | TBR=amit Review URL: http://codereview.chromium.org/24002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9299 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my change to get the tree green. Not sure why the tests became ↵jam@chromium.org2009-02-041-240/+490
| | | | | | | | | | flaky. I'll try to check them in again but in smaller chunks tomorrow. TBR=mpcomplete Review URL: http://codereview.chromium.org/21039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9132 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ui test failurejam@chromium.org2009-02-041-2/+1
| | | | | | TBR=mpcomplete git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9125 0039d316-1c4b-4281-b951-d872f2087c98
* Make it easier/less work/less error-prone to create new IPC channel types ↵jam@chromium.org2009-02-041-489/+240
| | | | | | | | (i.e. renderer/plugin).Instead of having each message file include the internal one several times with different ifdefs, move that logic to ipc_message_macros.h. Also make the message class starting IDs come from an enum to ensure we don't use a value twice. I simplified the logging code a bit so we don't need X_messages.cc files.Clean up places that we were doing manual packing/unpacking. Most of this was in the automation code. I added a few new template functions to make it convenient to read the parameters from a message, and updated the code to use them.I also removed unnecessary includes of render/plugin_messages.h from headers to speed up compiling.I moved the traits of IPC structs beside the struct definition to make it more apparent what's going on, so we avoid people modifying the struct and forgetting to update the traits.Amit: please look at chrome/test/automation/tab_proxy.ccMarc-Antoine: chrome/browser/printing/*Matt: the rest Review URL: http://codereview.chromium.org/20015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9123 0039d316-1c4b-4281-b951-d872f2087c98
* Change the signature of JSONReader::Read() and relatedaa@chromium.org2008-12-291-2/+2
| | | | | | | | | methods to be more friendly to use with scoped_ptr. Change all the callsites. Review URL: http://codereview.chromium.org/16270 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7486 0039d316-1c4b-4281-b951-d872f2087c98
* We need to add UI test for "Encoding" menu to avoid regression.jnd@google.com2008-12-191-1/+40
| | | | | | | | | | | | | | | | | | | For this purpose, I have created several methods in automation API. They can be used for the above UI tests. 1 get the current used encoding name of the page in the specified tab. 2 get value of the encoding auto detection option. 3 enables and disable the encoding auto detection. 4 use the specified encoding to override the encoding of the page in the specified tab. BUG=5515 The corresponding UI test is coming soon Review URL: http://codereview.chromium.org/14162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7286 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for running the ui_tests under Purify on thepaulg@google.com2008-12-181-3/+3
| | | | | | | | | | | | | | | | | | buildbots. With these changes, I've been able to get 106 of about 185 ui_tests running under Purify on my machine (I haven't gotten to the remaining tests yet) with minimal changes. The changes here are timeout related, allowing us to specify longer timeouts in chrome_tests.py rather than hard coding them in the tests themselves. We'll likely have to experiment on the buildbots with different timeout values, depending on how fast the bots are. Review URL: http://codereview.chromium.org/14184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7226 0039d316-1c4b-4281-b951-d872f2087c98
* Add error messages to JSONReader and friends. This required a bit of ↵aa@chromium.org2008-12-051-1/+1
| | | | | | | | refactoring to do cleanly. This CL doesn't actually use this capability anywhere except for unit tests. I will add that in a future CL. Review URL: http://codereview.chromium.org/13169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6459 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue 5079: Incorrect "Active match ordinal" count during Find-in-pagefinnur@google.com2008-12-041-4/+9
| | | | | | | | | | | | | | | I introduced a regression in my reimplemenation of Find-in-page. The active match ordinal in Find-in-page (also known as "the 7" in "7 of 9") would be just a little off on pages with frames. Problem A: When you search for something in gmail, for example, the ordinal could start off slightly negative or be 0. I wasn't checking the last_match_count_ of a frame for negative numbers before adding it to the total (it starts off as -1 and remains that way if the frame is not deemed to be worthy of being scoped, i.e. if it is hidden). Problem B: On pages with multiple matches spread across multiple frames the ordinal would not be subtracted correctly after pressing F3 and Shift-F3 to go back to the frame you were on. We shouldn't be increasing/decreasing the active_match_index for a given frame when FindNext/FindPrevious causes us to jump between frames. We should instead reset it. I added two tests to catch this in the future. They test ordinal values as you use Find in page (including combinations of frames/no-frames & FindNext/FindPrevious). Oh, and I also removed some traces that were supposed to expose why a test was flaky, but it turns out to have been something unrelated to the test. Review URL: http://codereview.chromium.org/13130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6369 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds new UI tests for the SSL UI.jcampan@chromium.org2008-09-241-0/+76
| | | | | | | | | | | | | | | | | | | | Some more info: SSL UI Tests: Added new tests for redirects and frames. Also improved the mixed-content test to exercise the "block mixed-contents" preference and the show info-bar. Automation: For the new UI tests, added methods to tab_proxy and browser_proxy. The ones of most interest are GetLastNavigatinTime and WaitForNavigation that ensures we wait for a navigation to occur or have occured when taking actions that asynchronously trigger navigations. Resource loading: Added a flag to the response we get when loading a resource that indicates whether that resource was filtered (blocked or altered) by the security peer. We use this flag to notify back the browser when we report a load has been committed. This is so the SSL manager knows a frame has been filtered (in which case we have no cert info but should not consider that as unsafe). BUG=2004 Review URL: http://codereview.chromium.org/3165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2553 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a test to catch regressions where the Find box moves when you open ↵finnur@google.com2008-08-281-0/+42
| | | | | | | | | | | and close a tab. Test is disabled until we fix the bug. Also made the error message for when tests fails because crash_service isn't running a bit explicit (unrelated to the rest of this change). BUG=1343052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1488 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a UI test to catch the crash described in issue 1341577.This test is ↵finnur@google.com2008-08-271-3/+10
| | | | | | disabled, and will be turned on once we fix the issue.I added to TabProxy the ability to do FindNext, which was necessary to reproduce the crash, and changed the automation IPC to take a FindInPageRequest struct, which makes it identical to the IPC we pass to render_view.BUG=1341577 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1425 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Code review changes. Incorporated all the suggestions from previous review. joshia@google.com2008-08-211-4/+6
| | | | | | | | | | | | | One item not changed yet is to rename 'receiver' in ForwardMessageToExternalHost. The idea is to invoke receiver("message") at the other end. So for example if the args to ForwardMessageToExternalHost("hello", "world") then we will invoke a script hello("world") on the other side. 'receiver' doesn't really describe the first argument here so if there is a better suggestion, I would be happy to change it :) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1176 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for PostMessage from the automation framework toiyengar@google.com2008-08-151-0/+11
| | | | | | | the renderer. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@964 0039d316-1c4b-4281-b951-d872f2087c98
* Two changes to help track down why session restore test is failing:sky@google.com2008-08-131-3/+4
| | | | | | | | | | | | | 1. Adds a timeout in waiting for a tab to be restored. 2. Adds a bunch of printfs that will hopefully let me figure out where the test is failing. BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@797 0039d316-1c4b-4281-b951-d872f2087c98
* Adding an interactive UI test to catch when switching between two tabs (both ↵finnur@google.com2008-08-061-0/+9
| | | | | | | | | | | | with FindInPage open) is trashing the Esc handler and causing a crash. I originally tried an automated_ui test, but was unable to get it to work since Focus changes are involved. BUG=1303709 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@466 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+920
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98