DescriptionAdd full text regex searching to chrome://sync
The search tab of chrome://sync would previously perform a string search
of a select set of fields. This change modifies the search behaviour to
instead perform a regex match against a serialized version of the node.
Part of this change is to move the searching function out of C++ and
into JavaScript. When a search is performed, all nodes are loaded from
the database, marshalled, and sent over the fence to the JavaScript side
of things. This comes with a significant performance cost, but it's not
much worse than a search matching all nodes would have been under the
old system.
While there was no such thing as an invalid search string under the
old system, it is possible to enter an invalid regex. This change adds
some logic to alert the user if their search query is not a valid regex
(ie. if it ends with a backslash).
In order to make it easier to formulate queries, the way we display
results has been changed. The right pane will now display the
serialization of the raw node (which exactly reflects the text that was
searched) rather than the "details" used in the old system. This new
format is a subset of the old, and corresponds to the dictionary value
found under "entry" in the old display.
Finally, this change removes support for some JavaScript calls that are
no longer used.
This change fixes JavaScript style-checker issues in the files that it
touches.
BUG=104574, 122021
TEST=
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=132259
Patch Set 1 #
Total comments: 15
Patch Set 2 : Clean up rough edges #
Total comments: 8
Patch Set 3 : Review fixes + unit test #
Total comments: 12
Patch Set 4 : Fixes from JS review #
Total comments: 2
Patch Set 5 : Unit test review fixes #Patch Set 6 : Rebase #Patch Set 7 : Fix style checker warnings #Patch Set 8 : Fix typo #
Messages
Total messages: 19 (0 generated)
|