Add 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= Review URL: http://codereview.chromium.org/9836100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132259 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please register or sign in to comment