summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-06 20:36:33 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-06 20:36:33 +0000
commitbe645db8f6309a1e9a2670e3a23c7b2d7b403519 (patch)
tree2f8b2408bdba3c970074ec5bb2f027e7b78776e3 /chrome/renderer
parentda90ffdff909ac442444c6d7b8ec9a2a15d8f01a (diff)
downloadchromium_src-be645db8f6309a1e9a2670e3a23c7b2d7b403519.zip
chromium_src-be645db8f6309a1e9a2670e3a23c7b2d7b403519.tar.gz
chromium_src-be645db8f6309a1e9a2670e3a23c7b2d7b403519.tar.bz2
Reference and create a RenderView when needed.
This initiates the landslide of linker hell in Chromium.app, bringing in webkit, v8, and the kitchen sink. Review URL: http://codereview.chromium.org/21123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9335 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/render_thread.cc13
-rw-r--r--chrome/renderer/render_view.cc20
-rw-r--r--chrome/renderer/render_view.h3
3 files changed, 29 insertions, 7 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index d2d293b..3260a29 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -218,7 +218,7 @@ void RenderThread::OnSetNextPageID(int32 next_page_id) {
// This should only be called at process initialization time, so we shouldn't
// have to worry about thread-safety.
// TODO(port)
-#if defined(OS_WIN)
+#if !defined(OS_LINUX)
RenderView::SetNextPageID(next_page_id);
#endif
}
@@ -227,7 +227,10 @@ void RenderThread::OnCreateNewView(gfx::NativeViewId parent_hwnd,
ModalDialogEvent modal_dialog_event,
const WebPreferences& webkit_prefs,
int32 view_id) {
-#if defined(OS_WIN)
+ // TODO(port): this routine is a noop only for Linux.
+ // When bringing in render_view, also bring in webkit's glue and jsbindings.
+#if !defined(OS_LINUX)
+
base::WaitableEvent* waitable_event = new base::WaitableEvent(
#if defined(OS_WIN)
modal_dialog_event.event);
@@ -235,12 +238,16 @@ void RenderThread::OnCreateNewView(gfx::NativeViewId parent_hwnd,
true, false);
#endif
+#if defined(OS_MACOSX)
+ // TODO(jrg): causes a crash.
+ if (0)
+#endif
// TODO(darin): once we have a RenderThread per RenderView, this will need to
// change to assert that we are not creating more than one view.
RenderView::Create(
this, parent_hwnd, waitable_event, MSG_ROUTING_NONE, webkit_prefs,
new SharedRenderViewCounter(0), view_id);
-#endif
+#endif // !OS_LINUX
}
void RenderThread::OnSetCacheCapacities(size_t min_dead_capacity,
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index ca54f01..892915b 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -329,7 +329,7 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
// parents any plugins instantiated in this RenderView instance.
// Plugins can be instantiated only when we receive the parent window
// handle as they are child windows.
- if (waiting_for_create_window_ack_ &&
+ if (waiting_for_create_window_ack_ &&
resource_dispatcher_->IsResourceMessage(message)) {
queued_resource_messages_.push(new IPC::Message(message));
return;
@@ -1140,7 +1140,7 @@ void RenderView::UpdateURL(WebFrame* frame) {
#if defined(OS_WIN)
if (glue_accessibility_.get()) {
- // Clear accessibility info cache.
+ // Clear accessibility info cache.
glue_accessibility_->ClearIAccessibleMap(-1, true);
}
#else
@@ -1340,7 +1340,7 @@ void RenderView::DidFailProvisionalLoadWithError(WebView* webview,
}
}
- // Fallback to a local error page.
+ // Fallback to a local error page.
LoadNavigationErrorPage(frame, &failed_request, error, std::string(),
replace);
}
@@ -1923,7 +1923,13 @@ WebPluginDelegate* RenderView::CreatePluginDelegate(
}
webkit_glue::WebMediaPlayerDelegate* RenderView::CreateMediaPlayerDelegate() {
+#if defined(OS_WIN)
return new WebMediaPlayerDelegateImpl(this);
+#else
+ // TODO(port)
+ NOTIMPLEMENTED();
+ return NULL;
+#endif
}
void RenderView::OnMissingPluginStatus(WebPluginDelegate* delegate,
@@ -2023,7 +2029,7 @@ void RenderView::ShowContextMenu(WebView* webview,
params.frame_url = frame_url;
params.selection_text = selection_text;
params.misspelled_word = misspelled_word;
- params.spellcheck_enabled =
+ params.spellcheck_enabled =
webview->GetFocusedFrame()->SpellCheckEnabled();
params.edit_flags = edit_flags;
params.security_info = security_info;
@@ -2856,7 +2862,13 @@ std::string RenderView::GetAltHTMLForTemplate(
NOTREACHED() << "unable to load template. ID: " << template_resource_id;
return "";
}
+#if defined(OS_WIN)
// "t" is the id of the templates root node.
return jstemplate_builder::GetTemplateHtml(
template_html, &error_strings, "t");
+#else
+ // TODO(port)
+ NOTIMPLEMENTED();
+ return std::string();
+#endif // OS_WIN
}
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 83047b9..56b90f6 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -706,9 +706,12 @@ class RenderView : public RenderWidget,
// shouldn't count against their own |shared_popup_counter_|.
bool decrement_shared_popup_at_destruction_;
+ // TODO(port): revisit once qwe have accessibility
+#if defined(OS_WIN)
// Handles accessibility requests into the renderer side, as well as
// maintains the cache and other features of the accessibility tree.
scoped_ptr<GlueAccessibility> glue_accessibility_;
+#endif
// Resource message queue. Used to queue up resource IPCs if we need
// to wait for an ACK from the browser before proceeding.