summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_contents.h
Commit message (Collapse)AuthorAgeFilesLines
* Added functions to WebDatabase and WebDataService for recording frequent ↵petersont@google.com2008-11-051-0/+8
| | | | | | | | entries in text input elements in forms. Also added the class AutofillManager which gets instantiated once per WebContents and provides an API from which the database can be easily accessed to provide a list of possible desired values to be entered in a text field given what the user has already typed there. Review URL: http://codereview.chromium.org/8845 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4809 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-271-1/+1
| | | | | | | | | | | | | 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-3/+3
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Make the character encoding override work again. There are two other bugs ↵jungshik@google.com2008-10-221-1/+20
| | | | | | | | | | with character encoding override, but it seems that it's better to fix them separately. BUG=3315 Review URL: http://codereview.chromium.org/7647 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3759 0039d316-1c4b-4281-b951-d872f2087c98
* Factor find in page out of WebContents and into the view, since it is almostbrettw@google.com2008-10-211-29/+5
| | | | | | | | | | | | | | | all view specific. Rename find in page controller to be "FindBarWin", and find in page view to be "findBarView" (since this is not Windows specific, but "Views" specific). I did lots of simplification and moving around of the find in page API. I coalesced several of the show functions into one master function on the view. I removed some other sizing and window updating code from WebContents and moved it to the view. Review URL: http://codereview.chromium.org/7667 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3654 0039d316-1c4b-4281-b951-d872f2087c98
* Move more platform-specific stuff from WebContents to the view.brettw@google.com2008-10-181-14/+14
| | | | | | | | | | | I refactored the way title setting is done since there were two parts that duplicated the logic and did so slightly differently. I removed some old code in RendererGone whose premise is no longer valid and had the effect of creating a bug with no benefit. I moved the sad tab view from WebContents to the view. Amusingly, the view was the only one using this, but it would go poke inside of the WebContents to get it. Review URL: http://codereview.chromium.org/7650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3601 0039d316-1c4b-4281-b951-d872f2087c98
* Remove throttling code from the Browser process and implement throttling in ↵erg@google.com2008-10-171-0/+1
| | | | | | | | | | | | | the Renderer. The previous way of doing throttling was just calling CloseContents() on a window to reject it. But since the Browser is notified about a window opening asynchronously, by the time the CloseContents() sends a message back to the Renderer, a bunch more windows have been opened, leading to memory exhaustion. Instead, make all RenderViews created from a parent RenderView share a counter and start refusing to create RenderViews if too many RV have been created. Every RenderView (except for the first one) is assumed to be an unrequested popup, until notified by the Browser process by either a ViewMsg_DisassociateFromPopupCount message (this RenderView is a new top level page) or a ViewMsg_DisassociatePopup message (this RenderView is a requested popup and therefore shouldn't count against the count.) BUG=3382, 2632 Review URL: http://codereview.chromium.org/7388 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3568 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the anti-carpet bombing dialog. More specifically a newsky@google.com2008-10-171-0/+1
| | | | | | | | | | | | | | | | | 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
* Separate out most view creation from WebContents. This adds a new ↵brettw@google.com2008-10-171-15/+1
| | | | | | | | sub-delegate to RenderViewHostDelegate which is implemented by WebContentsView. I did a lot of plumbing and moving around as a result. Review URL: http://codereview.chromium.org/6608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3527 0039d316-1c4b-4281-b951-d872f2087c98
* Rename RenderWidgetHostHWND to RenderWidgetHostViewWin for consistency with ↵brettw@google.com2008-10-141-1/+0
| | | | | | | | | other view-related classes. No logic change. Review URL: http://codereview.chromium.org/7310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3379 0039d316-1c4b-4281-b951-d872f2087c98
* Move more view stuff out of WebContents. This moves context menus and infobrettw@google.com2008-10-141-23/+15
| | | | | | | | | | bars. I removed the associated functions on TabContents, and have callers call directly through to the view when the care about mucking with the info bar (which is busted, IMO). Review URL: http://codereview.chromium.org/7245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3346 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at refactoring the interstitial page.jcampan@chromium.org2008-10-131-15/+10
| | | | | | | | | | | | | | | | | 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
* Start splitting out view-related stuff from WebContents into a new class ↵brettw@google.com2008-10-101-60/+22
| | | | | | | | WebContentsViewWin, accessed through an abstract interface WebContentsView. This is incomplete but is a good start. There are still a bunch of pass-throughs required for the TabContents overrides. These won't be able to be cleaned up until we kill TabContents. Review URL: http://codereview.chromium.org/7205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3243 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize the declarations to have some grouping and logical ordering in ↵brettw@google.com2008-09-261-202/+175
| | | | | | | | | 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-103/+9
| | | | | | | | | 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
* Fix bottom right resize corner flicker during size.joshia@google.com2008-09-231-0/+1
| | | | | | | | | | | | | 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
* Add support for "Add to dictionary" in the context menu.sidchat@google.com2008-09-171-0/+1
| | | | | | 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-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 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-22/+5
| | | | | | | | | | 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 Save Page code to the browser/download/ directory.paulg@google.com2008-09-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/3040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2174 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the change that fixed the encoding when viewing source in subframes.brettw@google.com2008-09-121-9/+2
| | | | | | | | | 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
* Replace all instances of <hash_map> with a "base/hash_tabe.h",erg@google.com2008-09-081-5/+3
| | | | | | | | | | | which does the right thing based on whatever platform we're compiling for, along with changing the hardcoded "stdext::", which is a MSVC++ism to use base::hash_{map,set}. B=1869 Review URL: http://codereview.chromium.org/1629 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1862 0039d316-1c4b-4281-b951-d872f2087c98
* Make a step on refactoring navigation. The eventual plan is to have the ↵brettw@google.com2008-08-281-23/+5
| | | | | | | | | | | | | 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-2/+4
| | | | | | | | | | | 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
* Remove the profiling system. This wasn't being used and complicated some ↵brettw@google.com2008-08-251-29/+2
| | | | | | 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
* 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
* The CL is consist of CLs(1624,1580) for bug:1281734 which are reviewed and ↵jnd@google.com2008-08-181-0/+7
| | | | | | | | | 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/+2
| | | | | | | | | | 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-8/+5
| | | | | | | | | | - 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-6/+1
| | | | | | | | | | | | | 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
* Add a bit of plumbing to make it so Browser doesn't need to know about ↵ojan@google.com2008-08-121-0/+11
| | | | | | | | 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-11/+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/+11
| | | | 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-157/+82
| | | | | | | | | | | | | | 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
* Add chrome to the repository.initial.commit2008-07-261-0/+898
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98