+static GtkTextBuffer *
+ev_view_accessible_get_text_buffer (EvViewAccessible *accessible, EvView *view)
+{
+ EvPageCache *page_cache;
+ const gchar *retval = NULL;
+ EvViewAccessiblePriv* priv = EV_VIEW_ACCESSIBLE_GET_PRIVATE (accessible);
+
+ page_cache = view->page_cache;
+ if (!page_cache) {
+ return NULL;
+ }
+
+ if (view->current_page == priv->current_page && priv->buffer) {
+ return priv->buffer;
+ }
+
+ priv->current_page = view->current_page;
+
+ if (!priv->buffer) {
+ priv->buffer = gtk_text_buffer_new (NULL);
+ }
+
+ retval = ev_page_cache_get_text (page_cache, view->current_page);
+ gtk_text_buffer_set_text (priv->buffer, retval, -1);
+
+ return priv->buffer;
+}
+