summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/spellchecker
Commit message (Collapse)AuthorAgeFilesLines
* Uses the new spellchecker dictionaries on Chromium.hbono@chromium.org2010-03-151-5/+11
| | | | | | | | | | This change enables Chromium users to use the new spellchecker dictionaries added by r39400, r40614, and r41000. This change also adds a unit test for Hungarian and rebaselines the unit test for Romanian. As written in Issue 33024, the correct Romanian characters are U+0219 and U+021B even though our old Romanian dictionary uses U+015F and U+0163. So, this change rebaselined to use the correct Romanian characters. BUG=8397,15558,33024 TEST=unit_test.exe --gtest_filter=SpellCheckTest.SpellCheckText Review URL: http://codereview.chromium.org/661460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41562 0039d316-1c4b-4281-b951-d872f2087c98
* chrome 6: string_util.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-082-1/+3
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/671025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40964 0039d316-1c4b-4281-b951-d872f2087c98
* chrome 1: string_util.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-081-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/672001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40937 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a regression test for Issue 36523.hbono@chromium.org2010-03-011-0/+2
| | | | | | | | | | This is a test case for my hunspell fix <http://codereview.chromium.org/650210/show>. This test fails without the change. BUG=36523 TEST=unit_test.exe --gtest_filter=SpellCheckTest.SpellCheckSuggestions_EN_US Review URL: http://codereview.chromium.org/652107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40257 0039d316-1c4b-4281-b951-d872f2087c98
* Re-implement SpellcheckWordIterator with ICU.hbono@chromium.org2010-02-163-291/+495
| | | | | | | | | | | | | | | This change re-implements the SpellcheckWordIterator class to use ICU custom rules so we can use the ICU dictionary to handle Thai and Korean. Also, this class has added a couple of new features to improve the spell-checking quality: * Decompose Hangul syllables into Korean Jamos. This helps us support Korean spell-checking. * Filter out some characters not needed by our spell-checker (e.g. Hebrew niqquds and Arabic vowel signs). This prevents us from marking a word that includes these characters as misspelled. BUG=8487 TEST=unit_test.exe --gtest_filter=SpellcheckWordIteratorTest* Review URL: http://codereview.chromium.org/577020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39082 0039d316-1c4b-4281-b951-d872f2087c98
* Win: Fix an invalid handle initialization in the spellchecker.estade@chromium.org2009-12-181-7/+19
| | | | | | | | | | | Also, convert a potential crash to a NOTREACHED. BUG=30433 TEST=see bug Review URL: http://codereview.chromium.org/505022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34902 0039d316-1c4b-4281-b951-d872f2087c98
* Move Mac to using renderer spellchecker.estade@chromium.org2009-11-193-15/+680
| | | | | | | | BUG=25677 Review URL: http://codereview.chromium.org/395007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32561 0039d316-1c4b-4281-b951-d872f2087c98
* reland 31875. Revert was:estade@chromium.org2009-11-162-13/+11
| | | | | | | | | | | | | | ------ Revert 31875 to see whether it fixes reliability bot. BUG=25677 TEST=None ------ TBR=huanr Review URL: http://codereview.chromium.org/397017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32112 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 31875 to see whether it fixes reliability bot.huanr@chromium.org2009-11-162-11/+13
| | | | | | | | | BUG=25677 TEST=None Review URL: http://codereview.chromium.org/397014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32074 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes almost all of the rest of lint errors in the chrome/ directory (minus ↵erg@google.com2009-11-131-3/+3
| | | | | | | | the really hard ones which will need actual review instead of rubber-stamping.) Review URL: http://codereview.chromium.org/386026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31932 0039d316-1c4b-4281-b951-d872f2087c98
* Use renderer spellchecker for windows.estade@chromium.org2009-11-132-13/+11
| | | | | | | BUG=25677 Review URL: http://codereview.chromium.org/372075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31875 0039d316-1c4b-4281-b951-d872f2087c98
* Move the spellchecker to the renderer.estade@chromium.org2009-11-064-0/+848
The motivation is that this removes the sync IPC on every call to the spellchecker. Also, currently we spellcheck in the IO thread, which frequently needs to go to disk (in particular, the entire spellcheck dictionary starts paged out), so this will block just the single renderer when that happens, rather than the whole IO thread. This breaks the SpellChecker class into two new classes. 1) On the browser side, we have SpellCheckHost. This class handles browser-wide tasks, such as keeping the custom words list in sync with the on-disk custom words dictionary, downloading missing dictionaries, etc. On Posix, it also opens the bdic file since the renderer isn't allowed to open files. SpellCheckHost is created and destroyed on the UI thread. It is initialized on the file thread. 2) On the renderer side, SpellChecker2. This class will one day be renamed SpellChecker. It handles actual checking of the words, memory maps the dictionary file, loads hunspell, etc. There is one SpellChecker2 per RenderThread (hence one per render process). My intention is for this patch to move Linux to this new approach, and follow up with ports for Windows (which will involve passing a dictionary file name rather than a file descriptor through to the renderer) and Mac (which will involve adding sync ViewHost IPC callsfor when the platform spellchecker is enabled). Note that anyone using the platform spellchecker rather than Hunspell will get no benefit out of this refactor. There should be no loss of functionality for Linux (or any other platform) in this patch. The following should all still work: - dictionary is loaded lazily - hunspell is initialized lazily, per renderer - language changes work. - Dynamic downloading of new dictionaries - auto spell correct works (as well as toggling it). - disabling spellcheck works. - custom words work (including adding in one renderer and immediately having it take effect in other renderers, for certain values of "immediate") TODO: - move spellchecker unit tests to test SpellCheck2 - add sync IPC for platform spellchecker; port to Mac - add dictionary location fallback; port to Windows - remove SpellChecker classes from browser/ BUG=25677 Review URL: http://codereview.chromium.org/357003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31199 0039d316-1c4b-4281-b951-d872f2087c98