summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_list.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reattempt at r465143. The UI tests rely too heavily on the current behavior ↵andybons@chromium.org2009-12-151-2/+6
| | | | | | | | | | | | | of closing the last window indicating exiting the entire app, so that is left alone for now with a TODO added. From the old description: Mac: Fixes bug where extension background hosts were being cleared when the last window was closed. It assumed that this meant the app was closing. Not the case with Mac apps. Added a mac-only notification APP_TERMINATED and use that to perform cleanup upon shutdown. TEST=More description in the bug, but basically just make sure that background views stick around even after you've closed the last window. BUG=28666 Review URL: http://codereview.chromium.org/502012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34580 0039d316-1c4b-4281-b951-d872f2087c98
* Rolling back r34316 due to tab_switching_test failing. TBR=scherkusandybons@chromium.org2009-12-111-6/+1
| | | | | | | TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34374 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Fixes bug where extension background hosts were being cleared when the ↵andybons@chromium.org2009-12-111-1/+6
| | | | | | | | | | last window was closed. It assumed that this meant the app was closing. Not the case with Mac apps. Added a mac-only notification APP_TERMINATED and use that to perform cleanup upon shutdown. TEST=More description in the bug, but basically just make sure that background views stick around even after you've closed the last window. BUG=28666 Review URL: http://codereview.chromium.org/465143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34316 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up usage of some iterators. Original patch by Thiago Fariana (see ↵pkasting@chromium.org2009-11-051-37/+39
| | | | | | | | | http://codereview.chromium.org/343078 ), r=me. BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31142 0039d316-1c4b-4281-b951-d872f2087c98
* Cleans up our autorelease pool handling by making sure that an autorelease ↵dmaclach@chromium.org2009-11-051-2/+2
| | | | | | | | | | | | | pool isn't created while the app is handling an event sent via -[NSApp sendEvent]. Branches browser/chrome_application_mac into browser/chrome_browser_application and base/chrome_application. Renderers will run as chrome_applications, and browsers will run as chrome_browser_applications. BUG=26418, 25462, 25463, 25465 TEST=1) See bug 25857. 2) Start up. Open 3+ windows. 3)Quit. See bugs for other repro cases. Review URL: http://codereview.chromium.org/345051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31135 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the way the FindBrowserWithProfile/Type methods work.ben@chromium.org2009-10-311-38/+52
| | | | | | | | | | | | | | | | | We now always walk the last active list backwards rather than consulting the last active then walking the registered browser list forwards. I now also maintain a fallback to walk the entire registered list of browsers forward if the active scan fails. This is likely only in a testing environment where a Browser may never have been activated. This ensures that when the last active browser is a popup or app frame the last active TYPE_NORMAL browser is located when opening a new tab. http://crbug.com/17498 TEST=Open an app frame. Open a browser window (Ctrl+N) and load a page. Minimize it. Open another browser window and minimize it. Activate the app frame. Press Ctrl+T. The second browser window should be restored and have a new tab added to it rather than the first. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=30531 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=30659 Review URL: http://codereview.chromium.org/330013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30662 0039d316-1c4b-4281-b951-d872f2087c98
* roll back 30659 since it still breaks browser_testsben@chromium.org2009-10-311-25/+29
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30661 0039d316-1c4b-4281-b951-d872f2087c98
* Update: I removed TYPE_ANY to see if I could fool the builders into letting ↵ben@chromium.org2009-10-311-29/+25
| | | | | | | | | | | | | | | | | | | this pass without crashing in browser_tests. It makes the code uglier, but I want to debug and figure out what's going on. Rework the way the FindBrowserWithProfile/Type methods work. We now always walk the last active list backwards rather than consulting the last active then walking the registered browser list forwards. This ensures that when the last active browser is a popup or app frame the last active TYPE_NORMAL browser is located when opening a new tab. http://crbug.com/17498 TEST=Open an app frame. Open a browser window (Ctrl+N) and load a page. Minimize it. Open another browser window and minimize it. Activate the app frame. Press Ctrl+T. The second browser window should be restored and have a new tab added to it rather than the first. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=30531 Review URL: http://codereview.chromium.org/330013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30659 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r30541 since it's still breaking browser_testsben@chromium.org2009-10-301-23/+29
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30539 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the way the FindBrowserWithProfile/Type methods work.ben@chromium.org2009-10-291-29/+23
| | | | | | | | | | | | | We now always walk the last active list backwards rather than consulting the last active then walking the registered browser list forwards. This ensures that when the last active browser is a popup or app frame the last active TYPE_NORMAL browser is located when opening a new tab. http://crbug.com/17498 TEST=Open an app frame. Open a browser window (Ctrl+N) and load a page. Minimize it. Open another browser window and minimize it. Activate the app frame. Press Ctrl+T. The second browser window should be restored and have a new tab added to it rather than the first. Review URL: http://codereview.chromium.org/330013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30531 0039d316-1c4b-4281-b951-d872f2087c98
* roll back r30430 because it causes bustage even though I don't know why.ben@chromium.org2009-10-291-26/+29
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30435 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the way the FindBrowserWithProfile/Type methods work.ben@chromium.org2009-10-291-29/+26
| | | | | | | | | | | | | We now always walk the last active list backwards rather than consulting the last active then walking the registered browser list forwards. This ensures that when the last active browser is a popup or app frame the last active TYPE_NORMAL browser is located when opening a new tab. http://crbug.com/17498 TEST=Open an app frame. Open a browser window (Ctrl+N) and load a page. Minimize it. Open another browser window and minimize it. Activate the app frame. Press Ctrl+T. The second browser window should be restored and have a new tab added to it rather than the first. Review URL: http://codereview.chromium.org/330013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30430 0039d316-1c4b-4281-b951-d872f2087c98
* Header dependency cleanup in chrome/phajdan.jr@chromium.org2009-10-121-0/+1
| | | | | | | | | | | | - reduce header dependencies - remove things that shouldn't be #included in a header, like string_util.h and theme_resources.h! TEST=none BUG=none Review URL: http://codereview.chromium.org/245011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28705 0039d316-1c4b-4281-b951-d872f2087c98
* SIGTERM should cause the application to exit on the Mac.mark@chromium.org2009-10-121-0/+17
| | | | | | | | BUG=23551 TEST=Send SIGTERM to the browser process. It should exit cleanly. Review URL: http://codereview.chromium.org/269048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28695 0039d316-1c4b-4281-b951-d872f2087c98
* Convert users of RenderProcessHost iterator to all use same style. The key ↵pkasting@chromium.org2009-10-021-5/+3
| | | | | | | | | | | | | | motivator for this is that at least one old place actually did the wrong thing in its loop and failed to call functions on anything but the first host. This also makes many places slightly shorter. Remove an unneeded #include in web_cache_manager.h by converting it to a forward declaration. Update copyrights on touched files. BUG=none TEST=none Review URL: http://codereview.chromium.org/242104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27890 0039d316-1c4b-4281-b951-d872f2087c98
* Add histograms for tab count, RenderProcessHost count, and the number ofbrettw@chromium.org2009-09-211-9/+72
| | | | | | | | | | glyph "pages" in memory per load (to check memory consumption). BUG=none TEST=none Review URL: http://codereview.chromium.org/195104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26688 0039d316-1c4b-4281-b951-d872f2087c98
* Handling a case where the browser_iterator_ would be NULL. The DCHECK was ↵tommi@chromium.org2009-09-111-3/+3
| | | | | | | | | | | fine but the code itself was missing the check. TEST=Run automation tests. BUG=none Review URL: http://codereview.chromium.org/194093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26049 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all traces of NotificationService from views.ben@chromium.org2009-05-071-6/+2
| | | | | | | | | | | | | | | | | | Specifically, notifies the FocusManager and ViewStorage directly when the view hierarchy is adjusted rather than using notifications. This change is based on the assumption that there is one focus manager per toplevel window. I think I remember you saying this before Jay. Removes the "window open/close" notifications since they aren't used at the Views level... the close notification is already sent manually by the BrowserView for automation so that continues to work. Moves the HWNDNotificationSource to common, since it's used by BrowserView. Rejiggers the BrowserList/Window to call a function implemented in the ViewsFE that handles closing non-app windows when the last browser window is closed. http://crbug.com/11387 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=15468 Review URL: http://codereview.chromium.org/113016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15489 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 15468.ben@chromium.org2009-05-061-2/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15470 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all traces of NotificationService from views.ben@chromium.org2009-05-061-6/+2
| | | | | | | | | | | | | | | | Specifically, notifies the FocusManager and ViewStorage directly when the view hierarchy is adjusted rather than using notifications. This change is based on the assumption that there is one focus manager per toplevel window. I think I remember you saying this before Jay. Removes the "window open/close" notifications since they aren't used at the Views level... the close notification is already sent manually by the BrowserView for automation so that continues to work. Moves the HWNDNotificationSource to common, since it's used by BrowserView. Rejiggers the BrowserList/Window to call a function implemented in the ViewsFE that handles closing non-app windows when the last browser window is closed. http://crbug.com/11387 Review URL: http://codereview.chromium.org/113016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15468 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all occurrances of WebContents with TabContents.brettw@chromium.org2009-05-041-7/+7
| | | | | | Review URL: http://codereview.chromium.org/99177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15194 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor ExtensionView to support a UI-less extension instance.mpcomplete@google.com2009-04-291-0/+17
| | | | | | | | | | | - Introduce ExtensionHost, which is the guy that talks to the RenderViewHost. - ExtensionView holds an ExtensionHost, and also renders its contents in an HWND. - Added code to load a page optionally specified in the manifest as a background process whenever it exists. Review URL: http://codereview.chromium.org/92043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14902 0039d316-1c4b-4281-b951-d872f2087c98
* Implement tabs.createWindow extension api call. Required: (a) new ↵rafaelw@chromium.org2009-04-281-0/+12
| | | | | | | | | | | RVHDelegate & TabContentsDelegate method(s) CreateExtensionFunctionDispatcher() so that the dispatcher could be created with (an optional) browser attached to it, while avoiding having render_host depend on browser.h BUG=11092: R=aa,mpComplete,darin,pkasting Review URL: http://codereview.chromium.org/79070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14710 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/+10
| | | | | | | | | | | | | | | | | | | 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
* Bookmark menu work. Notes:jrg@chromium.org2009-03-251-0/+3
| | | | | | | | | | | | | - "add bookmark" menu item enable state (e.g. disabled if no windows) - bookmark menus built dynamically (like before) - bookmark menus rebuild when a bookmark is added/removed - bookmark menus take the current browser to where you want to go - works with multiple windows (main window goes to bookmark location) - works with no windows (bookmarks open a new window) Review URL: http://codereview.chromium.org/49005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12501 0039d316-1c4b-4281-b951-d872f2087c98
* Move chrome/apps/result_codes.h to chrome/common/result_codes.hthestig@chromium.org2009-03-031-2/+1
| | | | | | Review URL: http://codereview.chromium.org/28279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10761 0039d316-1c4b-4281-b951-d872f2087c98
* Fix window close and application quit on Mac to call the proper Browser ↵pinkerton@chromium.org2009-02-181-0/+1
| | | | | | | | machinery in the proper order. Add comments to BrowserWindow::Close to stress its assumptions. DCHECK that nobody adds a NULL browser to the browser list. Review URL: http://codereview.chromium.org/20460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9973 0039d316-1c4b-4281-b951-d872f2087c98
* More bustage fixes.brettw@chromium.org2009-02-011-1/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9028 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-011-9/+12
| | | | | | | | | | | really painful to add more types, since lots of headers include the notification service to derive from the notification observer. This splits that out, so much less of the project should end up including notification_types.h ---Paths modified but not in any changelist: Review URL: http://codereview.chromium.org/19744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
* Porting profiles to the Mac.avi@chromium.org2009-01-281-1/+1
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* Get browser window showing using a Browser object and accompanying ↵pinkerton@google.com2009-01-211-0/+10
| | | | | | | | scaffolding. Adds browser window controller and shim from NSWindow to BrowserWindow. Review URL: http://codereview.chromium.org/18368 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8364 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "revert r8217 until memory tests are fixed." This re-applies r8217.tc@google.com2009-01-201-34/+5
| | | | | | | | | | | This reverts commit r8245. TBR=ben Review URL: http://codereview.chromium.org/18410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8292 0039d316-1c4b-4281-b951-d872f2087c98
* revert r8217 until memory tests are fixed.ben@chromium.org2009-01-171-5/+34
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8245 0039d316-1c4b-4281-b951-d872f2087c98
* Pull app modal dialog handling out of the BrowserList to remove the ↵ben@chromium.org2009-01-161-20/+0
| | | | | | | | | | ChromeViews dependency. (Required for porting). TEST=Open two browser windows. In one, enter "javascript:alert('Foo');" into the address bar and hit enter. Click on the other window. The modal dialog should be focused and the window it was opened over should flash in the taskbar, Review URL: http://codereview.chromium.org/18179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8234 0039d316-1c4b-4281-b951-d872f2087c98
* window.cc should not include browser_list.h ... dependent (non-browser) ↵ben@chromium.org2009-01-161-34/+5
| | | | | | | | | | windows are closed when they receive a notification rather than by being called directly from BrowserList. Also browser_list.cc should not include window.h, required for porting. TEST=Open browser. Open options dialog box. Close browser. Options dialog should close too. Review URL: http://codereview.chromium.org/18328 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8217 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of TabContents related files into a tab_contents subdirben@chromium.org2009-01-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8058 0039d316-1c4b-4281-b951-d872f2087c98
* Adding the capacity to interact with modal dialogs to the automation framework.jcampan@chromium.org2008-12-051-6/+11
| | | | | | | | | This change will be used by Ojan to implement some unload handler tests. TEST=Run the ui tests. Review URL: http://codereview.chromium.org/13113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6402 0039d316-1c4b-4281-b951-d872f2087c98
* Land this change again now I've fixed the crash.ben@chromium.org2008-11-191-2/+34
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5669 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 5596 because it broke the buildnsylvain@chromium.org2008-11-181-34/+2
| | | | | | Review URL: http://codereview.chromium.org/11439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5598 0039d316-1c4b-4281-b951-d872f2087c98
* Last couple of bits of new-frame related cleanup:ben@chromium.org2008-11-181-2/+34
| | | | | | | | | | | | | - Remove frame_util.cc, moving functions to BrowserList (endsession) and BrowserView (GetBrowserWindowForHWND) - Tidy up interface for TabIconView model. The model now sources only the information it needs (loading state and favicon). - Replace BrowserType class with an enum on Browser. http://crbug.com/2320 http://crbug.com/3363 Review URL: http://codereview.chromium.org/10786 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5596 0039d316-1c4b-4281-b951-d872f2087c98
* Rid most of the Browser object of HWND dependencies.ben@chromium.org2008-11-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/10929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5492 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup in Browser:ben@chromium.org2008-11-111-3/+3
| | | | | | | | | | - remove "RunSimpleFrameMenu" method that isn't used anymore. - rename Browser::GetType() to Browser::type() Review URL: http://codereview.chromium.org/10605 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5209 0039d316-1c4b-4281-b951-d872f2087c98
* Changes session restore to account for apps and popups. If you havesky@google.com2008-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | session restore enabled any time you transition from no tabbed browsers to a tabbed browser (in the same profile) we restore your last session, where the last session was any previously open tabbed browsers. For example, if you start Chrome from an installed app shortcut then create a new tabbed browser (by any means) we'll restore your last session. This gives the illustion that apps are running in their own process. I would love to have test coverage of this, but I'm loathe to write anymore flakey UI tests. Need to revisit post 1.0. BUG=1883 TEST=thoroughly test session restore, especially with application shortcuts and popups. Review URL: http://codereview.chromium.org/8856 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4202 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-2/+2
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 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
* Rename ChromeFrame->BrowserWindowbeng@google.com2008-07-301-3/+3
| | | | | | | | | Move static utility functions to FrameUtil class. B=1294302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+306
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98