summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tabs
Commit message (Collapse)AuthorAgeFilesLines
* Searching by keyword now generates a visit against the site with asky@chromium.org2009-04-271-0/+1
| | | | | | | | | | | | | | | | transition type of TAB_TO_SEARCH. This visit increments the typed count and ensures if you use TAB_TO_SEARCH you still get autocompleted to the site. I'll add some tests for this, but want to make sure we're ok with it before I do that. BUG=3633 TEST=will be covered by unit tests. Review URL: http://codereview.chromium.org/93087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14609 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land my change to clean up TabContents/WebContents ownership. Thisbrettw@chromium.org2009-04-203-33/+29
| | | | | | | | | | | | | | | | | | | | | | | | is the same except in tab_strip_model_unittest I fixed a leak by making a WebContents on the stack, I added a factory to the SiteInstance unittest to prevent another leak, and I re-added a NULL set to the external_tab_container. Fix the ownership model of TabContents and NavigationController. Previously the NavigationController owned the TabContents, and there were extra steps required at creation and destruction to clean everything up properly. NavigationController is now a member of TabContents, and there is no setup or tear down necessary other than the constructor and destructor. I could remove the tab contents creation in the NavigationController, as well as all the weird destruction code in WebContents which got moved to the destructor. I made the controller getter return a reference since the ownership is clear and there is no possibility of NULL. This required changing a lot of tiles, but many of them were simplified since they no longer have to NULL check. Previous review URL: http://codereview.chromium.org/69043 Review URL: http://codereview.chromium.org/67294 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14053 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 14005.brettw@chromium.org2009-04-183-27/+31
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14006 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ownership model of TabContents and NavigationController. Previously thebrettw@chromium.org2009-04-183-31/+27
| | | | | | | | | | | | | | | | | NavigationController owned the TabContents, and there were extra steps required at creation and destruction to clean everything up properly. NavigationController is now a member of TabContents, and there is no setup or tear down necessary other than the constructor and destructor. I could remove the tab contents creation in the NavigationController, as well as all the weird destruction code in WebContents which got moved to the destructor. I made the controller getter return a reference since the ownership is clear and there is no possibility of NULL. This required changing a lot of tiles, but many of them were simplified since they no longer have to NULL check. Review URL: http://codereview.chromium.org/69043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14005 0039d316-1c4b-4281-b951-d872f2087c98
* Due to some crashes in teardown, change NotificationObserversmbelshe@google.com2009-04-172-5/+5
| | | | | | | | | | for TAB_CONTENTS_DESTROYED to use the NotificationRegistrar to ensure proper cleanup. Review URL: http://codereview.chromium.org/79051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13970 0039d316-1c4b-4281-b951-d872f2087c98
* ad an argument to MoveTabContentsAt() that switches whether the moved tab is ↵rafaelw@chromium.org2009-04-163-5/+30
| | | | | | | | set as the selected tab, or if the selected tab is left selected (but possibly moved). Review URL: http://codereview.chromium.org/63153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13823 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContnetsType from everywhere.brettw@chromium.org2009-04-153-68/+13
| | | | | | | | I also removed the notion of the "active" tab contents since there is only one per tab now, and all the messages to replace them. Review URL: http://codereview.chromium.org/67173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13808 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContentsType from the NavigationController external interface and inbrettw@chromium.org2009-04-151-2/+2
| | | | | | | some related areas. I removed all uses of this in the previous patch. Review URL: http://codereview.chromium.org/73057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13730 0039d316-1c4b-4281-b951-d872f2087c98
* Added undo tab closing item to Tab menu.idanan@chromium.org2009-04-143-0/+17
| | | | | | Review URL: http://codereview.chromium.org/62151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13662 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land popup routing fix for browser.ben@chromium.org2009-04-073-33/+7
| | | | | | | | | | Just the bugfix + test now. Test is disabled pending a working framework. http://crbug.com/8472 Review URL: http://codereview.chromium.org/59007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13282 0039d316-1c4b-4281-b951-d872f2087c98
* Clarify the documentation for loading_only on TabRenderer::UpdateData.brettw@chromium.org2009-04-071-0/+13
| | | | | | Review URL: http://codereview.chromium.org/63029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13256 0039d316-1c4b-4281-b951-d872f2087c98
* Make the RenderViewHostFactory a global. This prevents us from having to passbrettw@chromium.org2009-04-071-1/+1
| | | | | | | | | a factory pointer around all the time. Removing TestTabContents will require making the Browser object keep track of the Factory pointer as well, so I think the global is the best approach and cleans some things up. Review URL: http://codereview.chromium.org/62044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13255 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more reliance on tab contents types.brettw@chromium.org2009-04-051-116/+32
| | | | | | Review URL: http://codereview.chromium.org/62041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13135 0039d316-1c4b-4281-b951-d872f2087c98
* Make the throbber throb sooner after you navigate. This fixes the new tab page,brettw@chromium.org2009-04-043-8/+11
| | | | | | | | | | | | | | which would not start throbbing until the load committed. I think this was always broken, but switching the tab contents types covered it up. Now I have a flag that goes along with the tab updating that indicates if it's a load update or a full update. This is necessary to avoid updating the title to the page's URL until it does actually commit. BUG=9310 Review URL: http://codereview.chromium.org/60066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13131 0039d316-1c4b-4281-b951-d872f2087c98
* Allow live tabs to be dragged out of a window. Change TabStripModel such thatpinkerton@chromium.org2009-03-263-17/+31
| | | | | | | the caller must now explicitly show the newly created browser rather than it happening automatically. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12550 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup in chrome/browserphajdan.jr@chromium.org2009-03-252-12/+12
| | | | | | | | | | - make more things const - remove unreferenced declaration of GetGoButton - fix indentation in one place Review URL: http://codereview.chromium.org/53053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12475 0039d316-1c4b-4281-b951-d872f2087c98
* Merge DOMUIContents into WebContents.brettw@chromium.org2009-03-171-2/+4
| | | | | | | I did a lot of cleanup of the DOM UI system as part of this. Review URL: http://codereview.chromium.org/42227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11925 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TabContents from scaffolding. Yay!pinkerton@chromium.org2009-03-112-12/+1
| | | | | | Review URL: http://codereview.chromium.org/43039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11435 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-104-5/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE.maruel@google.com2009-03-052-3/+4
| | | | | | | Split the lines >80 cols. (Part 1) Review URL: http://codereview.chromium.org/39206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11032 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the TAB_CONTENTS_NEW_TAB_UI tab contents type. This was not actually usedbrettw@chromium.org2009-03-052-2/+5
| | | | | | | now, so everytime this appears was dead code. Review URL: http://codereview.chromium.org/39200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11024 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the tab strip controller to use a list of controllers rather than relying onpinkerton@chromium.org2009-02-271-1/+3
| | | | | | | a map of TabContents to controllers since the TabContents can change with no way to update the map. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10605 0039d316-1c4b-4281-b951-d872f2087c98
* Coalesce more hardcoded schemes to using predefined constants.brettw@chromium.org2009-02-261-1/+2
| | | | | | Review URL: http://codereview.chromium.org/31008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10437 0039d316-1c4b-4281-b951-d872f2087c98
* Enable history and downloads by default, port NewTabUI from DOMUIHost to DOMUI.glen@chromium.org2009-02-251-2/+2
| | | | | | | NewTabUI is only included on OS(WIN) because DOMUI doesn't appear to have been ported. Review URL: http://codereview.chromium.org/28104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10344 0039d316-1c4b-4281-b951-d872f2087c98
* Move opener/group relationship forgetting on navigation into TabStripModel ↵ben@chromium.org2009-02-104-19/+166
| | | | | | | | from browser, and write unit tests for it. Review URL: http://codereview.chromium.org/20233 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9518 0039d316-1c4b-4281-b951-d872f2087c98
* Add in NavigationController to linux and mac. pinkerton@chromium.org2009-02-051-2/+2
| | | | | | Review URL: http://codereview.chromium.org/21064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9226 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-012-4/+7
| | | | | | | | | | | 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-2/+3
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* remove scaffolding mock of TabStripModel and replace it with the real deal. ↵pinkerton@google.com2009-01-272-5/+14
| | | | | | | | Remove some more ifdefs in Browser to implement delegate overrides. Review URL: http://codereview.chromium.org/19019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8740 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the TabStripModelDelegate can never be NULL.ben@chromium.org2009-01-243-64/+68
| | | | | | | TBR=brettw Review URL: http://codereview.chromium.org/18578 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8612 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2009-01-243-73/+26
| | | | | | | | | - remove views dependencies from browser by moving profile related dialog actions into BrowserWindow. - simplify the include dependencies in TabStripModel (making it easier to bring up on mac) by implementing more of its high level functionality in the delegate. Review URL: http://codereview.chromium.org/18736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8606 0039d316-1c4b-4281-b951-d872f2087c98
* Move files out of browser and into either renderer_host or tab_contents.brettw@chromium.org2009-01-221-1/+1
| | | | | | | This also fixes a crash in the web contents unit test in a commented-out test and re-enable it. Review URL: http://codereview.chromium.org/18504 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8470 0039d316-1c4b-4281-b951-d872f2087c98
* Move metrics files into a subdirben@chromium.org2009-01-161-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8156 0039d316-1c4b-4281-b951-d872f2087c98
* Move search code to a subdirben@chromium.org2009-01-161-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8148 0039d316-1c4b-4281-b951-d872f2087c98
* Fie.ben@chromium.org2009-01-151-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8111 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Issue 3258: Tabs created when tabstrip is compressed pending resizeben@chromium.org2009-01-151-1/+1
| | | | | | | | | | | | | | | | relayout should not force resize relayout. This is proposed solution one from the comment#5 which is to create new tabs without resizing existing tabs unless there is no room for the new tab. BUG=3258 Change from Itai Danan (idanan@google.com) Code review: http://codereview.chromium.org/14050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8109 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of TabContents related files into a tab_contents subdirben@chromium.org2009-01-154-9/+9
| | | | | | Review URL: http://codereview.chromium.org/18250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8058 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the tab restore service persist closed tabs/windows to disk andsky@google.com2008-12-061-1/+1
| | | | | | | | | | | | | | | | | reload them when asked. Sorry for largish looking change. It's made big by refactoring common code between TabRestoreService and SessionService into a common superclass. At the same time I removed some dead code and shuffled the session related classes into a single directory for easier perusal. BUG=384 TEST=close the browser, start the browser and make sure the new tab page shows closed windows/tabs from the previous session. Review URL: http://codereview.chromium.org/13152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6490 0039d316-1c4b-4281-b951-d872f2087c98
* Adds various docking positions when dragging around a tab. I've addedsky@google.com2008-11-203-6/+14
| | | | | | | | | | | | | | | | | | | | | | | the ability to dock to the following locations: Maximize the window on drop. Resize the window to fill up the left, bottom, or right half of the monitor. Tile the newly created window with an existing chrome window such that the two are on top of each other and fill the height of the monitor, or tiled such that they fill the width of the monitor. The graphics suxor. Glen says he'll come up with something better once its landed. BUG=none TEST=4628 Review URL: http://codereview.chromium.org/11325 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5797 0039d316-1c4b-4281-b951-d872f2087c98
* Land this change again now I've fixed the crash.ben@chromium.org2008-11-191-1/+1
| | | | 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-1/+1
| | | | | | 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-1/+1
| | | | | | | | | | | | | - 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
* Rewire the throbber so that the timer for updating lives on BrowserView, not ↵ben@chromium.org2008-11-143-22/+0
| | | | | | | | | TabStrip, so that app window/popup throbber updating doesn't need to be plumbed through the tabstrip and the browser object! http://crbug.com/3297 Review URL: http://codereview.chromium.org/10761 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5513 0039d316-1c4b-4281-b951-d872f2087c98
* fix bustageben@chromium.org2008-11-141-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5497 0039d316-1c4b-4281-b951-d872f2087c98
* Rid most of the Browser object of HWND dependencies.ben@chromium.org2008-11-142-8/+5
| | | | | | Review URL: http://codereview.chromium.org/10929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5492 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustage:ben@chromium.org2008-11-141-1/+1
| | | | | | | | | - Apparently blank tabs must have NewTabUIURL as their URL. - flag wasn't initialized. Review URL: http://codereview.chromium.org/10721 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5427 0039d316-1c4b-4281-b951-d872f2087c98
* Re-do the way browser windows are shown:ben@chromium.org2008-11-143-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the path from WinMain to the Browser object passing the show_command. For the Browser object, this is a problem since this value isn't portable. For the code in general it involves a lot of ugly wiring. It's completely unnecessary since the value is obtainable via GetStartupInfo. - Remove show_command plumbing from all over the place (session restore, web app launcher, etc) Change the way browser windows are constructed: - The browser constructor now takes just a type and a profile, and simply initializes the object. - Some configuration that used to be part of the constructor that was only used in one or two use cases (initial bounds, maximized state, web app name) are split into separate setters. - Window creation is split out into a separate step to be called post configuration. - Assorted static helper functions added to Browser to make construction of common types easy. - Remove Browser::Show in favor of BrowserWindow::Show - Adjust all callers to use the new helpers. Change the way ChromeViews restores window placement: - Split restored size determination from restored maximized determination. They are needed by the code at different times. Size restoration happens when the window is constructed and Window::SetInitialBounds is called. Maximized state restoration happens when the window is shown for the first time and SW_SHOWMAXIMIZED or SW_SHOWNORMAL is needed. Thus, replace WindowDelegate::RestoreWindowPosition with WindowDelegate::RestoreWindowBounds and WindowDelegate::RestoreMaximizedState. - Window::SetInitialBounds calls WindowDelegate::RestoreWindowBounds - Window::Show calls WindowDelegate::RestoreMaximizedState - Adjusts all WindowDelegate implementations that override RestoreWindowPosition to implement these new methods instead. - Move "playback/record" mode window size setting from browser_init to Browser::RestoreWindowBounds. - Provide a virtual function on Window called GetShowState that determines the default show state to be used when Window::Show is called. For most windows and dialogs this is SW_SHOWNORMAL. AeroGlassFrame/OpaqueFrame (the browser window frames) override this since they're the app's main windows to return the value provided by GetStartupInfo which gives the value from the app shortcut. http://crbug.com/3557 Review URL: http://codereview.chromium.org/10896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5417 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup in Browser:ben@chromium.org2008-11-111-1/+1
| | | | | | | | | | - 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
* Cleanup and rearrange methods on BrowserWindow interface.beng@google.com2008-11-112-5/+0
| | | | | | Review URL: http://codereview.chromium.org/10291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5180 0039d316-1c4b-4281-b951-d872f2087c98
* Makes form resubmission dialog work again. This was a regressionsky@google.com2008-10-301-1/+1
| | | | | | | | | | | introduced during NavigationController refactoring. BUG=2616 TEST=see bug Review URL: http://codereview.chromium.org/8865 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4212 0039d316-1c4b-4281-b951-d872f2087c98