| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
To fix the Omnibox automation flakiness, I first want to be sure
how the system behaves in its natural environment. The test is very basic
for now.
TEST=browser_tests
BUG=19876
Review URL: http://codereview.chromium.org/193069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26924 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=sky
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/177055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25053 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
none of which will help my crasher :(
* Force the query to stop if the user deletes a match. This makes more sense from a UI perspective and allows some code to be simpler.
* Prevent us from potentially doing a "minimal changes" match in a different profile (hard to trigger, likely no practical effects)
* Remove unneeded Reset() call on a repeating timer (which will auto-reset itself)
* Rename one of the notifications and move its listener to the edit, since that's who really cares about it anyway.
* Make the controller's Stop(true) notify the popup via the normal observer pipeline rather than coding something special into the popup's StopAutocomplete().
* Rename |paste_and_go_controller| |synchronous_controller| and use it instead of using the main popup controller to do the synchronous query when calling URLsForDefaultMatch(). This makes things both simpler and safer.
BUG=none
TEST=Using the omnibox still works fine
Review URL: http://codereview.chromium.org/178049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25044 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
pushed to listeners. r24290 made it possible for the controller to be "done" (in that all providers had finished) but have not yet sent the final results to listeners. This makes done() only return true when the controller has actually pushed the final results.
I'm not sure precisely what effects this discrepancy could have had but I suspect they were bad, given that callers assume done() means "results are stable".
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173631
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24914 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r24792.
TBR=estade
Review URL: http://codereview.chromium.org/179028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of these are classes with virtual methods lacking virtual destructors
or NULL used in non-pointer context.
BUG=none
TEST=app_unittests && base_unittests
--gtest_filter=-ConditionVariableTest.LargeFastTaskTest
patch by Jacob Mandelson <jlmjlm [at] gmail>
http://codereview.chromium.org/171028/show
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24792 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23878 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=brettw
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173148
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23876 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/173142
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23872 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This also updates a bunch of comments, mostly to keep terminology like "results" and "matches" consistent, occasionally to fix grammar or other issues.
BUG=18369
TEST=none
Review URL: http://codereview.chromium.org/173031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23859 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This eliminates the delay timer in the popup view, and also eliminates the coalesce timer in the controller. Instead, we simply coalesce until we're done, we have at least as many results as we're already showing, or the "maximum delay timeout" (300 ms) fires, indicating we've gone too long without updating.
Additionally, in order to be more responsive when typing rapidly, the controller updates observers immediately with the available results from a previous query if one is still running when a new query is started. While in theory this seems like it might produce flicker, in practice _not_ having it also results in flicker (just less-predictable flicker) since the 300 ms timeout starts kicking in at random times relative to when new keys are pressed.
I also fixed a few small problems with leaving 1-pixel high white rows at the bottom of the popup during rapid typing (which weren't visible before this change since the popup would never shrink during rapid typing).
After eliminating the timeout in the popup view, I was able to refactor the code to be shorter since a few members and helper functions could all be inlined. Then I added some long comments and made things not much shorter after all :/. I also changed two other (self-contained) unrelated spots in the popup to be shorter.
Please patch this in locally and try how it feels. Things to test with this change vs. the old code vs. the old, old (original omnibox) code:
* Type one letter at a time with long pauses in between; see how flickery the popup is
* Type one letter (e.g. "a") and then type rapidly for a while; see how responsive the popup is
* Type words like "amazon", "compusa" and "comcast" at various different speeds and observe the flicker vs. responsiveness tradeoff
* Type or paste some long series of letters (that default to searching), then rapidly press and release the ctrl key
My hope is that this hits a good balance (it's very difficult to be both flicker-free and responsive, I view the previous two sets of code as being off first one side of the scale and then the other). Possible tweaks include the animation tweening mechanism and timing (I experimented with various different speeds and linear tweening, nothing felt significantly better to me but my machine sucks w.r.t. animation quality) and tweaking the controller "max timeout" value and notification behavior upon starting a new query (I tried notifying only if two keys had been typed since the last notification, it didn't feel better).
BUG=none
TEST=see above
Review URL: http://codereview.chromium.org/149659
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21322 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Sadly, the only way I could find to fix this was a latest_result() accessor, because when the user hits enter, we really do need to use the very latest results. This just highlights how more of this stuff should move to the AutocompleteController.
BUG=13428
TEST=Type "food.c" and wait for the popup to stabilize. Then _very_ quickly type "om" and hit enter. You should navigate to food.com instead of searching for "food.c".
Review URL: http://codereview.chromium.org/118398
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17891 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
were no longer available.I introduced this regression when moving |result_| to the AutocompleteController; the specific problem was the "result_.CopyFrom(latest_result_);" line I added when handling the synchronous messages being available. This was done so the popup could get at the new results to update the edit with them.Instead, go back to the old method (of not updating the results until the first coalesced update came in), and pass the appropriate result set as a Details<> in the notification, so the popup can get at it without having to know how the controller works under-the-hood.BUG=11742
Review URL: http://codereview.chromium.org/119116
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17562 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Make use of this in HistoryContentsProvider so results from it get their schemes trimmed appropriately.
BUG=10558
Review URL: http://codereview.chromium.org/115885
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17145 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
regression. Now we don't rely on the presence of a "what you typed" match in the result set; instead the AutocompleteResult determines the alternate nav URL directly.
To do this I refactored some of the code from the history URL provider over to AutocompleteInput.
BUG=10808
Review URL: http://codereview.chromium.org/92140
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14463 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
* Make const
* Move to be with other function (not variables) in header
* Move in C++ file to match order in header
Review URL: http://codereview.chromium.org/67274
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14042 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Shinichiro Hamaji (see http://codereview.chromium.org/62094/show ), r=me.
BUG=2349
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13671 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We talked about primary and secondary, but after doing it all I felt
keyword and default better portrayed what is going on.
After trying this out I think we need to tune relevancy. But that
can be done later
BUG=3636
TEST=make sure omnibox isn't broken.
Review URL: http://codereview.chromium.org/66073
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13668 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/27148
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10363 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
(client side).
This is the last patch. It can't go in until Evan and I test it.
Review URL: http://codereview.chromium.org/10666
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
the previous blind fix I tried.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6760 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#ifdef out windows-specific portion of chrome/common/l10n_util.h,
which allows me to port some other files.
I also extracted parts of chrome/views/tree_view.h to tree_model.h,
so that ATL/WTL-specific parts stay in tree_view.h, but tree_model.h
is platform-independent and can be included in files using it as base class.
Review URL: http://codereview.chromium.org/8618
Patch from Paweł Hajdan jr.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5483 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
AutocompleteMatch types, and pass a type to the AutocompleteMatch constructor. The added detail in the new types is not used for anything functional; its sole purpose is for metric logging. Someday we could probably update other bits of the code to make use of this, though (e.g. the paste-and-search vs. paste-and-go determinant code).
These are separable changes, but doing either one without the other would have required an annoying number of fragile temporary changes.
Review URL: http://codereview.chromium.org/10855
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5329 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
One of these is unused for the moment.
Review URL: http://codereview.chromium.org/10657
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
NULL constructor. It's too easy to forget to set various members with this.
The changes from .resize() to .erase() are necessary because the compiler doesn't know resize() won't be enlarging the vector and thus needing to access the NULL constructor. The changes to the HistoryContents shortcut code were similarly necessary to avoid a NULL construction, but in the end I think made the resulting code a bit clearer.
Review URL: http://codereview.chromium.org/10837
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5271 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- starts with http:// or https:// and includes username (e.g.
http://me@test.com/)
- starts with http:// or https:// and includes query (e.g. http://test.com/?q=x)
- starts with https:// and includes path component (e.g. https://test.com/path)
so as not to leak user data to the suggest server.
Patch by takayoshi.kochi@gmail.com
BUG=1647
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1978 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1440 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
state. I broke this in order to land my last mongo
patch. HistoryContentsProvider is still lacking in one area.
BUG=1256202
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1181 0039d316-1c4b-4281-b951-d872f2087c98
|
|
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98
|