summaryrefslogtreecommitdiffstats
path: root/chrome/browser/navigation_controller_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Move scoped_vector.h and stl_util-inl.h to base/ben@chromium.org2009-05-051-1/+1
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/107001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15272 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all occurrances of WebContents with TabContents.brettw@chromium.org2009-05-041-1/+1
| | | | | | Review URL: http://codereview.chromium.org/99177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15194 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land my change to clean up TabContents/WebContents ownership. Thisbrettw@chromium.org2009-04-201-366/+363
| | | | | | | | | | | | | | | | | | | | | | | | 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-181-363/+366
| | | | 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-181-366/+363
| | | | | | | | | | | | | | | | | 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
* Remove TabContnetsType from everywhere.brettw@chromium.org2009-04-151-8/+7
| | | | | | | | 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-141/+140
| | | | | | | 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
* Remove the TestTabContents. This makes BrowserWithTestWindow use thebrettw@chromium.org2009-04-141-2/+0
| | | | | | | | | | | | | | | TestRenderViewHost instead. There are some changes to browser_commands_unittest to support this. Now that we're using proper TabContentes, I had to stub out a FocusManager call since there isn't a proper view hierarchy created. Remove TabContents collection and switching from the NavigationController. I tried to keep the same interface to the NavigationController since I tried that in a previous patch and the change blew up. Remove the TabContents factory. Callers now create a WebContents directly. Review URL: http://codereview.chromium.org/67113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13707 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more unneeded scaffolding.thestig@chromium.org2009-04-081-8/+2
| | | | | | Review URL: http://codereview.chromium.org/63129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13376 0039d316-1c4b-4281-b951-d872f2087c98
* Comment out a test that I accidentally uncommented in my previous CL.brettw@chromium.org2009-04-071-3/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13257 0039d316-1c4b-4281-b951-d872f2087c98
* Make the RenderViewHostFactory a global. This prevents us from having to passbrettw@chromium.org2009-04-071-4/+4
| | | | | | | | | 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
* Reverting 13136.brettw@chromium.org2009-04-051-1/+5
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13137 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable the NavigationControllerHistory test.brettw@chromium.org2009-04-051-5/+1
| | | | | | Review URL: http://codereview.chromium.org/62040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13136 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some uses of custom tab contents types from some tests.brettw@chromium.org2009-04-041-799/+584
| | | | | | | | | | | | | | | This required redoing the tests that used it to use the new RenderViewHost test harness. This is mostly straightforward, but required more work for the NavigationController tests. I removed a few random places that were testing for the tab types. I also made different versions of a few functions that don't take tab contents types next to the existing ones that do, so my touched code won't have to be changed again when I remove the tab contents types. Review URL: http://codereview.chromium.org/62039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13132 0039d316-1c4b-4281-b951-d872f2087c98
* Move HTML dialogs out of their own tab contents type. Moved functions to newbrettw@chromium.org2009-04-031-1/+0
| | | | | | | | | | | | | file html_dialog_ui.* Move WebContents view creation into the constructor, which makes a bunch of extra calls to CreateView unnecessary. Remove unused CallJavascriptFunction() functions in DOMUI. Review URL: http://codereview.chromium.org/56065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13065 0039d316-1c4b-4281-b951-d872f2087c98
* Port navigation controller unittest to posix.estade@chromium.org2009-03-101-29/+36
| | | | | | | | It now compiles, but doesn't link. Review URL: http://codereview.chromium.org/43028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11368 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-5/+5
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Finish taking out render_messages.h includes from headers.jam@chromium.org2009-02-051-0/+1
| | | | | | Review URL: http://codereview.chromium.org/20072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9209 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-011-60/+110
| | | | | | | | | | | 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-3/+6
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of TabContents related files into a tab_contents subdirben@chromium.org2009-01-151-5/+5
| | | | | | Review URL: http://codereview.chromium.org/18250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8058 0039d316-1c4b-4281-b951-d872f2087c98
* Remove compatibility #defines in string_util.hphajdan.jr@chromium.org2008-12-301-3/+6
| | | | | | Review URL: http://codereview.chromium.org/17014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7499 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/14809jcampan@chromium.org2008-12-191-23/+14
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7281 0039d316-1c4b-4281-b951-d872f2087c98
* Don't handle in-page navigations if it's for a subframe. Previously we wouldbrettw@google.com2008-12-181-0/+31
| | | | | | | | | | compare the URL with the main frame to see if it was in page. In very rare cases, these can actually be the same, which will confuse us. http://crbug.com/5585 Review URL: http://codereview.chromium.org/14824 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7220 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 7149.jcampan@chromium.org2008-12-171-13/+21
| | | | | | Review URL: http://codereview.chromium.org/15004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7153 0039d316-1c4b-4281-b951-d872f2087c98
* Revamp of the interstitial pages.jcampan@chromium.org2008-12-171-21/+13
| | | | | | | | | | | | | | The interstitial is now a RVH that is displayed on top of the WebContents with no interaction with the WebContents' RenderViewHostManager. This simplifies the states that the RenderViewHostManager has. The interstitial is responsible for hiding and deleting itself when told to proceed/not proceed or when a navigation occurs or the tab is closed. The interstitial now uses a data URL (instead of loading some alternate HTML), which allowed me to remove some interstitial flags from NavigationController::LoadCommittedDetails and ProvisionalLoadDetails. Also changed tab_utils::GetTabContentsByID to return a WebContents since only WebContents have a RVH associated with them. TEST=Run all ui tests and unit tests. Review URL: http://codereview.chromium.org/13764 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7149 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the tab restore service persist closed tabs/windows to disk andsky@google.com2008-12-061-5/+6
| | | | | | | | | | | | | | | | | 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
* Re-land this change: http://codereview.chromium.org/10967/showben@chromium.org2008-11-191-2/+2
| | | | | | | | | Now with two improvements: - no longer create WebContentsViews as WS_VISIBLE, to prevent them from showing up in the taskbar - make sure overridden CreateView in NativeUIContents and StatusView have the correct signature. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5723 0039d316-1c4b-4281-b951-d872f2087c98
* Land this change again now I've fixed the crash.ben@chromium.org2008-11-191-2/+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/+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/+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
* Rollback! Now with 25% more HWND.ben@chromium.org2008-11-171-2/+2
| | | | | | :-/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5573 0039d316-1c4b-4281-b951-d872f2087c98
* fixing bustageben@chromium.org2008-11-171-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5555 0039d316-1c4b-4281-b951-d872f2087c98
* Makes form resubmission dialog work again. This was a regressionsky@google.com2008-10-301-2/+2
| | | | | | | | | | | 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
* Add referrer to session restore.ericroman@google.com2008-10-281-4/+4
| | | | | | | | http://code.google.com/p/chromium/issues/detail?id=3774 Review URL: http://codereview.chromium.org/8649 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4086 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-271-37/+43
| | | | | | | | | | | | | http://code.google.com/p/chromium/issues/detail?id=3224 Caveats: * Did not update TabNavigation yet. Hence session restore will continue to load the tabs with empty referrer. * Did not plumb referrer into incognito url open. (Not sure what the right thing to do is here with respect to privacy vs compatibility.) * Did not plumb referrer throughout the automation controller. No functional impact here, but it makes the code inconsistent with the non-automation version. Review URL: http://codereview.chromium.org/8186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4036 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+2
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the anti-carpet bombing dialog. More specifically a newsky@google.com2008-10-171-171/+102
| | | | | | | | | | | | | | | | | EventHandler now exists between the buffered event handler and download event handler. This new event handler asks the DownloadRequestManager whether the download is allowed. This may prompt the user and then the download continues or is canceled. The DownloadRequestManager receives the request on the IO thread, forwards to the UI thread, makes the decision, then notifies back on the IO thread. BUG=3422 TEST=make sure you don't see any problems downloading content. Review URL: http://codereview.chromium.org/7479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3543 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at refactoring the interstitial page.jcampan@chromium.org2008-10-131-2/+182
| | | | | | | | | | | | | | | | | The SSL and malware blocking pages were doing similar things in 2 different classes. There is now a base class called InterstitialPage that contains the common logic. As part of that refactoring, the safe browsing was changed so that the SafeBrowsingBlockingPage is only used from the UI thread. This CL also adds transient entries to the navigation controller: that type of entry gets deleted as soon as a navigation occurs. It is used by interstitial that need to create such a temporary entry while they show. BUG=3013 TEST=Run the unit tests and ui tests. Review URL: http://codereview.chromium.org/6311 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3324 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when a frame was inserted into a popup and navigated. I added abrettw@google.com2008-09-241-0/+23
| | | | | | | | | | | | test for this case. I also checked the other navigation cases to see if we were relying on state from the renderer (which might be malicious) and the controller being in sync, and I didn't see any others in this area. I clarified some comments so it should be more clearly correct. BUG=1279570 Review URL: http://codereview.chromium.org/4250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2549 0039d316-1c4b-4281-b951-d872f2087c98
* Wires up session restore so that it correctly deals with thesky@google.com2008-09-171-1/+48
| | | | | | | | | | | | navigation controller removing entries from the front of its list. BUG=1324021 TEST=covered by unit tests, but make sure you don't see problems with session restore. Review URL: http://codereview.chromium.org/2906 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2310 0039d316-1c4b-4281-b951-d872f2087c98
* Try again to fix the memory problems in NavigationController. The previous onebrettw@google.com2008-09-151-5/+9
| | | | | | | | | issued a DCHECK when I manlually deleted the NavigationController because the tabs were still there. Calling destroy fixes this, although I have to manually NULL out some test pointers to prevent double-frees. Review URL: http://codereview.chromium.org/3070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2247 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my last fix for a memory leak in the navigation controller tests. Thisbrettw@google.com2008-09-151-2/+2
| | | | | | | causes an assertion in debug mode. I think this needs to be done another way. Review URL: http://codereview.chromium.org/2873 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2239 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a leak in the unit tests.brettw@google.com2008-09-151-2/+2
| | | | | | Review URL: http://codereview.chromium.org/3067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2237 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the unneeded pending entry from the unit tests.brettw@google.com2008-09-151-17/+0
| | | | | | Review URL: http://codereview.chromium.org/2859 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2220 0039d316-1c4b-4281-b951-d872f2087c98
* This is almost a complete rewrite of DidNavigate and the associated ↵brettw@google.com2008-09-141-226/+438
| | | | | | | | | | NavigationController logic. The approach is that the NavigationController should be responsible for the logic and memory management of navigation. Previously, half the logic and memory management lived in WebContents which made it very hard to figure out what was going on. I split out the various navigation types into separate functions, which then copy and update any existing NavigationEntry as necessary. Previously, WebContents would make a new one which would be manually populated with random fields (I think some were forgotten, too), and then the NavigationController may or may not commit it. Review URL: http://codereview.chromium.org/479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2201 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-121-2/+1
| | | | | | | | | This makes view source for some pages (for example Google Reader) not work properly. I speculate that telling WebKit to change the encoding (which causes a reload) right after starting the real load makes it confused. Review URL: http://codereview.chromium.org/3022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2143 0039d316-1c4b-4281-b951-d872f2087c98
* Changes session service to not persist NavigationEntries that havesky@google.com2008-09-111-3/+0
| | | | | | | | | | | POST data. This is a security problem as POST data can contain passwords in plain text. BUG=1361980 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2063 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SSL state in the URL bar being incorrect. Going to an EV site like ↵brettw@google.com2008-09-071-1/+3
| | | | | | | | | | | | | https://www.verisign.com/ would not should the EV name in the URL bar unless you did something like switch tabs away and back because in my cleanup I removed the notification that this was depending on. This patch adds a new NOTIFY_SSL_STATE_CHANGED notification which is broadcast by the various SSL components when they update the flags. The browser now listens for this notification and will update the URL bar. BUG=1359547 TEST=see repro steps in bug Review URL: http://codereview.chromium.org/436 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1831 0039d316-1c4b-4281-b951-d872f2087c98
* Forgotten unit test chanes.brettw@google.com2008-08-281-6/+11
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1507 0039d316-1c4b-4281-b951-d872f2087c98