summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete/autocomplete_edit.h
Commit message (Collapse)AuthorAgeFilesLines
* Separate the AutocompleteEditView from the cross-platform code.deanm@chromium.org2009-03-021-499/+2
| | | | | | | | | | | | Separate the platform specific AutocompleteEditView from the cross-platform model and controller. This leaves the model/controller in autocomplete_edit.{h,cc}, and moves the view into autocomplete_edit_view.h and autocomplete_edit_view_win.{h,cc}. There is now an abstract interface (AutocompleteEditView) which the model uses to talk to the view. Other views (for example, the LocationBarView) will still talk directly to the AutocompleteEditViewWin, which is the full Chrome view. This change also pulled in the Windows specific edit_drop_target code into autocomplete_edit_view_win.cc. Review URL: http://codereview.chromium.org/27327 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10712 0039d316-1c4b-4281-b951-d872f2087c98
* Create the PopupView from the EditView, not the PopupModel.deanm@chromium.org2009-03-021-1/+2
| | | | | | | | | | | | | | It is hard to instantiate platform-specifc classes (like the AutocompletePopupView) from cross-platform classes (like the model). This does what makes more sense, create platform specific instances from platform specific code. The AutocompleteEditView now creates the AutocompletePopupView. The AutocompletePopupView now creates the AutocompletePopupModel. This also requires exposing AutocompletePopupViewWin, so that in the future the AutcompletePopupViewWin will be able to be created with an AutocompleteEditViewWin pointer. This sort of reverts some of my previous changes, as is pulls the interface out of autocomplete_popup_view_win.cc and into autocomplete_popup_view_win.h. This is sad but neccessary. This removes the AutocompletePopupView::CreatePopupView factory, and replaces it by directly instantiating the platform-specific view instance. Review URL: http://codereview.chromium.org/28313 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10707 0039d316-1c4b-4281-b951-d872f2087c98
* Misc formatting / cleanup in the autocomplete code.deanm@chromium.org2009-02-271-2/+1
| | | | | | | | | | | | | | - Reformat / reword some comments. - Update include guards to the new style. - Remove trailing blank lines from end of files. - Clean up some includes. - Pull the CompareQuality functor into the implementation. - Pull kQueryDelayMs into the implementation. Review URL: http://codereview.chromium.org/27206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10603 0039d316-1c4b-4281-b951-d872f2087c98
* Try a new approach to fixing IAT unpatch crashes when the DLL is gone.deanm@chromium.org2009-02-261-4/+0
| | | | | | | | | | | | Have the IAT patcher take some "ownership" of the DLL, by taking a library name and then calling LoadLibrary() / FreeLibrary() to manage the reference count. This means as long is there isn't some other reference count balancing bug happening in the process, the DLL will never be unloaded while we are patched. This effectively reverts r9929, the VirtualQuery additional checks are removed. BUG=7701 Review URL: http://codereview.chromium.org/21453 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10467 0039d316-1c4b-4281-b951-d872f2087c98
* Reformat some omnibox enum comments. This helps readability a bit by using ↵deanm@chromium.org2009-02-201-8/+10
| | | | | | | | more horizontal space. Review URL: http://codereview.chromium.org/21511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10089 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the command updater to not be dependent on views::Button (needed for ↵ben@chromium.org2009-01-201-3/+3
| | | | | | | | | porting). TEST=make sure back/forward buttons still enable/disable correctly depending on the length of the back/forward navigation list. Review URL: http://codereview.chromium.org/18343 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8332 0039d316-1c4b-4281-b951-d872f2087c98
* Better build bustage fix: Commit the rest of the original patch. Rolls back ↵pkasting@chromium.org2008-12-111-1/+0
| | | | | | the previous blind fix I tried. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6760 0039d316-1c4b-4281-b951-d872f2087c98
* Blind attempt at build fix. I don't know why this should be necessary.pkasting@chromium.org2008-12-111-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6759 0039d316-1c4b-4281-b951-d872f2087c98
* Make the autocomplete system and various other connected bits of code use ↵pkasting@chromium.org2008-12-101-10/+10
| | | | | | | | GURL instead of wstring where appropriate. Original patch by phajdan.jr@gmail.com, r=me,sky. See http://codereview.chromium.org/13205 . BUG=715234 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6758 0039d316-1c4b-4281-b951-d872f2087c98
* <esc> in the AutocompleteEdit should select all the text when reverting to ↵pkasting@chromium.org2008-12-011-1/+4
| | | | | | | | the permanent text. Only pass it through as an accelerator if we don't end up changing anything. Patch by Mohamed Mansour, r=me. See http://codereview.chromium.org/10800 . BUG=4203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6168 0039d316-1c4b-4281-b951-d872f2087c98
* It's possible for GetOleInterface() to return NULL. Degrade gracefully in ↵pkasting@chromium.org2008-11-171-1/+2
| | | | | | | | | this case. BUG=3906 Review URL: http://codereview.chromium.org/11213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5576 0039d316-1c4b-4281-b951-d872f2087c98
* Omnibox metrics logging patch splitout, part 3: Pass match.type to the edit ↵pkasting@chromium.org2008-11-121-8/+4
| | | | | | | | | and let it make the determination about showing the search hint, instead of making the determination in the popup. In the ultimate patch, the types on which we'll show the hint will expand, so this saved duplicating some logic at points in the popup; in retrospect it makes more sense anyway, since there's no reason for the popup to know anything about the search hint. That's more the edit's job anyway. Review URL: http://codereview.chromium.org/10839 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5276 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-5/+5
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
* Move |result_| and |latest_result_| to the autocomplete controller.pkasting@chromium.org2008-10-091-2/+2
| | | | | | | This purposefully does not change the communication interface between the edit and the popup; that's coming in a subsequent pass. As a result, right now the popup isn't really much simpler. That should eventually change. Review URL: http://codereview.chromium.org/6596 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3113 0039d316-1c4b-4281-b951-d872f2087c98
* Stop exposing manually_selected_match_ outside the AutocompletePopupModel. ↵pkasting@chromium.org2008-09-191-36/+33
| | | | | | | | | | | | | | | | | | | The main goal of this is to be a first step towards divorcing the popup and the edit from each other. To do this, I changed the behavior of manual selections. They now do not persist once the user types more characters, hits esc, etc. Our old behavior, which Brett and I designed long ago, turns out to have been a mistake; users who arrowed to an item and then typed more weren't expecting "stickiness" on their previous choice, and it led to user mistakes. This also required changing how we do the "keyword UI" persistence in the case where the user switches into keyword UI, but then deletes all his text. Previously, we used manually_selected_match_ with a provider affinity to the keyword provider in order to accomplish this. Now we stick another flag on the AutocompleteInput, which, when set, biases the keyword provider to return the best results. The user-visible effect of this is that when in keyword UI mode with no query string, the selected entry in the popup will be the first, rather than third, entry. This is a small win. While here I fixed the bug where editing a string and transforming it into a keyword search would avoid switching into keyword UI (as expected), but also delete the keyword off the visible string (oops). I also made us lock the popup once the user changes the manually_selected_match_, in order to give a little more stability to it. I'm sorry this makes so many behavioral changes at once. All this code is tangled together and untangling it is hard :( The keyword-related variables in the AutocompleteEditModel seem a mess. They are probably worse now than before this change; I think I need a followup change at some point to make them all more sane. It seems like we have three variables and complex conditionals where two, and simpler ones, would do. BUG=997976,1201974,1204173 Review URL: http://codereview.chromium.org/3172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2426 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at splitting the AutocompleteEdit into Model and View. This was ↵pkasting@chromium.org2008-09-101-366/+503
| | | | | | | | | noticeably harder than with the Popup and I'm not at all sure I've made the right decisions :(. The View code is about 3x larger than the model. BUG=1343512 Review URL: http://codereview.chromium.org/1872 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2004 0039d316-1c4b-4281-b951-d872f2087c98
* Split the AutocompletePopup into model and view classes, step 1.pkasting@google.com2008-08-281-6/+5
| | | | | | | | | | | | The just adds "Model" and "View" to the end of the current classname, leaves everything in the same files, and doesn't really change or remove any functionality, creation order, ownership semantics, etc. In other words, it's basically just moving some code around to get things split into two classes, and the harder work comes later. Also removes/trims some overly long comments, fixes a couple comment errors I noticed, and trims one or two bits of logic to be shorter. What really needs review the most is the high-level decisions about how to split data and functionality between the two classes. BUG=1343512 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1492 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
* Large patch set (159 files total) to cleanup the includes.maruel@google.com2008-08-151-13/+16
| | | | | | | | | | - 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
* Add chrome to the repository.initial.commit2008-07-261-0/+813
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98