summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_contents.cc
Commit message (Collapse)AuthorAgeFilesLines
* Port some more of chrome/ to Linux.deanm@google.com2008-10-021-0/+1
| | | | | | | | Original review: http://codereview.chromium.org/4247 Patch from Pawel Hajdan Jr. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2793 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line switch for fastback work.darin@google.com2008-09-291-0/+2
| | | | | | | | | | | patch by abarth@chromium.org R=darin BUG=2879 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2690 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize the declarations to have some grouping and logical ordering in ↵brettw@google.com2008-09-261-971/+942
| | | | | | | | | tab contents and web contents. Reorder the derived classes overrides to match, and reorder the definitions of the functions to match the order in the header file. This doesn't actually change any code. I removed a few functions that were declared but never implemented (!) as well as some that were marked vitual but were never overridden. I renamed some things to make them more consistent. Review URL: http://codereview.chromium.org/5005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2634 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of stuff out of WebContents. I removed a bunch of render view ↵brettw@google.com2008-09-251-158/+5
| | | | | | | | | host pass-throughs and just made the callers call the render view host directly. I don't think we're trying to isolate the layers to this degree, and WebContents is so big these just added noise. I removed the RenderViewHost->WebContents->SavePackage pass-through by using a delegate that the SavePackage implements (like we already do for find in page). I also noticed some file upload stuff wasn't used at all and removed it. Review URL: http://codereview.chromium.org/4088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2612 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command-line switch to change the user agent.BUG=757345pkasting@chromium.org2008-09-241-4/+0
| | | | | | Review URL: http://codereview.chromium.org/4059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2571 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds new UI tests for the SSL UI.jcampan@chromium.org2008-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | 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
* Fix bottom right resize corner flicker during size.joshia@google.com2008-09-231-0/+5
| | | | | | | | | | | | | Handle WM_NCPAINT and handle it (do nothing) instead of passing it down to DefWindowProc. B=2577 TEST=resizing window using botom right corner and watch for any odd GUI effects. Review URL: http://codereview.chromium.org/3192 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2501 0039d316-1c4b-4281-b951-d872f2087c98
* Changes the bookmark model to allow more than one bookmark tosky@google.com2008-09-191-1/+1
| | | | | | | | | | | | | | | | reference the same url. Clicking the star button edits the most recently added bookmark for the URL. Dragging a button/star always does a move, otherwise drops on the bookmark bar create a new bookmark. Also changed the add page context menu for the bookmark bar to remember where you invoked it from. BUG=1173228 1678 Review URL: http://codereview.chromium.org/3203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2413 0039d316-1c4b-4281-b951-d872f2087c98
* NULL check the return value during navigation to prevent a crash.brettw@google.com2008-09-181-0/+2
| | | | | | | BUG=1384003 Review URL: http://codereview.chromium.org/2966 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2366 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for "Add to dictionary" in the context menu.sidchat@google.com2008-09-171-2/+10
| | | | | | Review URL: http://codereview.chromium.org/2446 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2322 0039d316-1c4b-4281-b951-d872f2087c98
* Touchpad support for laptopsjoshia@google.com2008-09-161-21/+60
| | | | | | | | | | | | | | | | | | | | | | | This fix is a workaround to receive mouse wheel and scroll messages from synaptics touchpad driver used in majority of laptops. Removed fake scroll bars in RenderWidgetHostHwnd so that it can now receive mouse wheel messages from synaptics drivers for Dell, Toshiba laptops. Added fake scroll bars to WebContents so that it can receive scroll messages. WebContents then reflects scroll messages to the view to give it a chance to handle them. BUG=4 TEST=Touchpad scrolling and zooming (control + scroll) on various laptops. Review URL: http://codereview.chromium.org/2878 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2266 0039d316-1c4b-4281-b951-d872f2087c98
* This is almost a complete rewrite of DidNavigate and the associated ↵brettw@google.com2008-09-141-191/+49
| | | | | | | | | | 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
* Move the download code to new directories:paulg@google.com2008-09-131-1/+1
| | | | | | | | | browser/download/ browser/views/ Review URL: http://codereview.chromium.org/2826 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2166 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-121-13/+4
| | | | | | | | | 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
* Prevent constrained popup windows from trying to become realerg@google.com2008-09-121-2/+8
| | | | | | | | | windows by using alert(). B=1372216 Review URL: http://codereview.chromium.org/1970 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2116 0039d316-1c4b-4281-b951-d872f2087c98
* Renames BoomarkBarModel to BookmarkModel.sky@google.com2008-09-111-4/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1912 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2057 0039d316-1c4b-4281-b951-d872f2087c98
* Moves bookmark related classes into bookmarks directory. There are nosky@google.com2008-09-091-1/+1
| | | | | | | | | | | | code changes here (other than converting to COPY_AND_BLAH_BLAH and updating include guards). BUG=none TEST=none Review URL: http://codereview.chromium.org/1868 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1944 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-3/+1
| | | | | | | | | | | | | 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
* Clean up brettw's checkin of r1032.wtc@google.com2008-09-041-1/+1
| | | | | | | | | | | Fix a DCHECK on ssl().content_status() in web_contents.cc. Remove the unused ResetInternal method of NavigationController. R=brettw Review URL: http://codereview.chromium.org/221 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1720 0039d316-1c4b-4281-b951-d872f2087c98
* Make a step on refactoring navigation. The eventual plan is to have the ↵brettw@google.com2008-08-281-165/+125
| | | | | | | | | | | | | NavigationController create and commit the new NavigationEntries (currently WebContents does a bunch of the details of this which is hard to understand and not easily testable). This tries to consolidate the logic that I want to move to the NavigationController without actually moving it there yet. I removed all of the "PreCommit" functions in WebContents, since when the NavigationController does all of the committing, there won't be a phase where the NavigationEntry exists but isn't committed. Most of the logic could be moved to the PostCommit functions without any problem, which is an indication that the current design was busted anyway. I had to precompute some data and pass it to the *PostCommit function to work around some of the components that required old data. I had to change InfoBars around since it relied on having both the committed and uncommitted entries, but I think the new design is much better anyway. BUG=1343593,1343146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1506 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a test to catch regressions where the Find box moves when you open ↵finnur@google.com2008-08-281-1/+21
| | | | | | | | | | | 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
* Cleanup navigation_entry.h. I made the accessors consistent and in Google ↵brettw@google.com2008-08-271-58/+62
| | | | | | style, and organized and commented all the entries. Hopefully it will be much easier to find things and deal with this class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1449 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the profiling system. This wasn't being used and complicated some ↵brettw@google.com2008-08-251-82/+1
| | | | | | parts of the code (I'm trying to clean up WebContents). We can ressurect this if we have a better plan for doing profiling that needs to live in the browser. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1341 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-1/+1
| | | | | | | | | | | | | 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
* As Brett pointed it out, We normally use 8-bit for encoding names since ↵jnd@google.com2008-08-211-4/+4
| | | | | | they're always ASCII. Plus, wstrings will also be 32-bit characters on Linux and Mac, which is expensive. So I make this CL by using std::string instead of std::wstring every time you have an encoding name. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1144 0039d316-1c4b-4281-b951-d872f2087c98
* Factor the SSL state out of the main NavigationEntry into a helper class. Thisbrettw@google.com2008-08-191-7/+5
| | | | | | | | | | | makes it easier to find stuff and also copy ssl state (just assign). I made one "real" change in web_contents where I copy the entire SSL state now to the new entry rather than just a few fields like the old one. I couldn't figure out why this was necessary: running it shows that this leaves the other two fields in the uninitialized state which seems wrong. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1032 0039d316-1c4b-4281-b951-d872f2087c98
* The CL is consist of CLs(1624,1580) for bug:1281734 which are reviewed and ↵jnd@google.com2008-08-181-0/+9
| | | | | | | | | LG by brett. I just merge them to single one for passing compilation. The CL is to fix bug http://b/issue?id=1281734. FireFox uses encoding used by the original webpage to decode the source of the webpage, Chrome does not. We need to add a new parameter which carries the override encoding when opening a view-source URL for viewing its source. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@997 0039d316-1c4b-4281-b951-d872f2087c98
* Code to facilitate sending message to external host.joshia@google.com2008-08-151-0/+6
| | | | | | | | | | Note that at this time the parameters to the message are still tentative. The call goes as a sync call from renderer to the browser. From then onwards it happens async and no return value is available yet. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@957 0039d316-1c4b-4281-b951-d872f2087c98
* Large patch set (159 files total) to cleanup the includes.maruel@google.com2008-08-151-0/+1
| | | | | | | | | | - Slightly reduce the size of the generated .lib files ~3%. - Reduce the number of implicit and explicit atl and windows includes. hooray! - Help incremental build by reducing the number of unnecessary included files. - Split some template class in two, one base class for the common code and the specialization that inherits from the base class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@937 0039d316-1c4b-4281-b951-d872f2087c98
* Make the FindInPageController implement its own delegate interface forbrettw@google.com2008-08-141-27/+8
| | | | | | | | | | | | | RenderViewHost so that we can get rid of the pass-throughs in WebContents. I removed some redundant checks in WebContents when calling view() for render_view_host() since that internally checks the null-ness of render_view_host(). BUG=1323267 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@881 0039d316-1c4b-4281-b951-d872f2087c98
* First, this removes the dependency of NavigationController on thebrettw@google.com2008-08-131-4/+3
| | | | | | | | | | | | | | | | | | | | | | SessionService. There were already some notifications that could be used to tell what's going on, and I filled out the rest. I moved some notifications from various places to the NavigationController. In ssl_blocking_page, I removed a notification because it also calls DidNavigateToEntry which does the notification (we got duplicate calls before). In browser.cc I removed the tab parented notification since this is already called by NavigationController::SetWindowID. I removed some obsolete notifications and associated structures, especially in history (like HOST_DELETED that was never issued). I renamed the window_map_ in the MetricsService becuase it was actually a map of controllers and Windows. This also reorders the navigation_types header file to try to bring some order to it. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@807 0039d316-1c4b-4281-b951-d872f2087c98
* Add a bit of plumbing to make it so Browser doesn't need to know about ↵ojan@google.com2008-08-121-0/+8
| | | | | | | | RenderViewHost. Don't know how what I had before built. Tested more thoroughly this time. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@732 0039d316-1c4b-4281-b951-d872f2087c98
* Revert this CL. Breaks compile.ojan@google.com2008-08-121-8/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@724 0039d316-1c4b-4281-b951-d872f2087c98
* Add a bit of plumbing just so Browser doesn't need to know about RenderViewHost.ojan@google.com2008-08-121-0/+8
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@720 0039d316-1c4b-4281-b951-d872f2087c98
* Move RenderViewHost management out of WebContents into a newbrettw@google.com2008-08-121-979/+138
| | | | | | | | | | | | | | RenderViewHostManager object. The goal for this patch is to change no logic or APIs, just move the code. So there are some not very clean callback functions and no new unit tests for this file (although is is still covered by the same WebContents unit tests). This should make the actual cleanup in a later pass much easier to follow. I changed the ordering of only a few operations (like WebContents shutdown), and checked that this shouldn't matter. I had to change the "source" for several notifications since they are no longer sent from the WebContents. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@716 0039d316-1c4b-4281-b951-d872f2087c98
* r65 was reverted in r71 because of a crash spike in the reliability tests.mal@google.com2008-08-021-2/+3
| | | | | | | | | | | | | | | It hasn't relanded, yet, so I thought I'd put it back before it slips through the cracks. Original Description (r65, creis): Makes the process model heuristic for generated searches only apply in --process-per-site, since it isn't relevant otherwise. (This matters now that process-per-site-instance is the default.) BUG=1256259 TEST=Visit a non-Google page, then run a search from the location bar. The tab should switch renderer processes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@295 0039d316-1c4b-4281-b951-d872f2087c98
* A bunch of cleanups to beforeunload/unload handling.ojan@google.com2008-08-021-7/+8
| | | | | | | | 1. Remove all the is_closing_browser plumbing. WebContents/TabContents/RenderViewHost/etc really shouldn't (and don't!) need to know anything about whether we're closing the browser or not. 2. Refactor the handling of beforeunload/unload state in browser.cc. I think this makes it considerably easier to reason about the correctness of it. 3. Added a couple TODOs for future cleanups that would have made this change a bit too large. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273 0039d316-1c4b-4281-b951-d872f2087c98
* Move BrowserToolbarView to the frames (XPFrame/VistaFrame).beng@google.com2008-07-311-0/+1
| | | | | | | | | | This causes some temporary duplication of code in xp/vista frames but it will be temporary. My goal is to move all the top level browser level views into the frames. From there, I will move them from the frames into their new home - BrowserView (chrome/browser/views/frames/browser_view.cc), and each frame will host a BrowserView. This will reduce duplication of code. To make this change I had to add a bunch of methods to the BrowserWindow (nee ChromeFrame) interface to provide access to some of the toolbar's contents. Excuse the ugly API, we will be improving this incrementally. B=1031854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205 0039d316-1c4b-4281-b951-d872f2087c98
* Move more net classes into the net namespace. Also remove the net_util ↵darin@google.com2008-07-311-2/+3
| | | | | | | | namespace in favor of the net namespace. This is a purely mechanical change. There should be no logic changes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more classes from net/base into the net:: namespace.darin@google.com2008-07-301-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116 0039d316-1c4b-4281-b951-d872f2087c98
* Make HWNDViewContainer set up its contents view separately from its Init method.beng@google.com2008-07-301-1/+1
| | | | | | | | | This is needed as a first step in further adjustments I'm going to be making to Window, ClientView, etc. B=1280060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105 0039d316-1c4b-4281-b951-d872f2087c98
* Fix not closing the browser with hung, crashed and interstitial tabs. Adds a ↵ojan@google.com2008-07-291-2/+5
| | | | | | | | 1 second hang monitor for the beforeunload/unload events to fire. BUG=1296059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting revision 70, 66 and 65 to fix crashes.nsylvain@google.com2008-07-291-3/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the process model heuristic for generated searches only apply in ↵creis@google.com2008-07-291-2/+3
| | | | | | | | | --process-per-site, since it isn't relevant otherwise. (This matters now that process-per-site-instance is the default.) BUG=1256259 TEST=Visit a non-Google page, then run a search from the location bar. The tab should switch renderer processes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+3547
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98