19. A computer-readable storage medium containing computer executable instructions which, when executed by a computer, perform a method for providing context-based word prediction, comprising: parsing documents associated with different applications to obtain parsed words including parsing a first document and obtaining one or more words contained in the first document that may be used for text input in a second document; creating context-based data sources for the parsed words including creating a context-based data source for each different application, each context-based data source comprising an instance of an application defined candidate provider and an application defined data store, the creating including creating an associated context-based data source for storing the one or more words obtained from the first document; receiving an indication of the opening of the second document, the second document being related to the first document; associating the associated context-based data source with one or more existing data sources, each of the one or more existing data sources containing one or more words that may be used for text input in the second document; receiving a text input in the second document; retrieving one or more words associated with the text input received in the second document from the associated context-based data source and from one or more of the existing data sources; and displaying the one or more words retrieved from the associated context-based data source and from the one or more existing data sources in a word candidate list displayed in the second document in a display order based on contextual relevance to the text input, and allowing selection of one of the one or more words displayed in the second document for automatically completing the text input received in the second document.
19. A computer-readable storage medium containing computer executable instructions which, when executed by a computer, perform a method for providing context-based word prediction, comprising: parsing documents associated with different applications to obtain parsed words including parsing a first document and obtaining one or more words contained in the first document that may be used for text input in a second document; creating context-based data sources for the parsed words including creating a context-based data source for each different application, each context-based data source comprising an instance of an application defined candidate provider and an application defined data store, the creating including creating an associated context-based data source for storing the one or more words obtained from the first document; receiving an indication of the opening of the second document, the second document being related to the first document; associating the associated context-based data source with one or more existing data sources, each of the one or more existing data sources containing one or more words that may be used for text input in the second document; receiving a text input in the second document; retrieving one or more words associated with the text input received in the second document from the associated context-based data source and from one or more of the existing data sources; and displaying the one or more words retrieved from the associated context-based data source and from the one or more existing data sources in a word candidate list displayed in the second document in a display order based on contextual relevance to the text input, and allowing selection of one of the one or more words displayed in the second document for automatically completing the text input received in the second document. 20. The computer readable storage medium of claim 19 , wherein retrieving one or more words associated with the text input received in the second document from the associated context-based data source and from one or more of the existing data sources includes passing a request for the one or more words associated with the text input received in the second document from an input method used for receiving the text input in the second document, includes passing the request from a non-typing input method; and further comprising causing the non-typing input method to use a word selected from the one or more words displayed in the second document to improve performance of the non-typing input method by confirming that the text input received in the second document via the non-typing input method matches the selected word.