Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Unified Diff: content/renderer/render_view.cc

Issue 6750018: Cleanup: Stop creating RenderViewObservers from chrome/ in RenderViewer. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix build on win/mac Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view.cc
===================================================================
--- content/renderer/render_view.cc (revision 79652)
+++ content/renderer/render_view.cc (working copy)
@@ -41,31 +41,21 @@
#include "chrome/common/url_constants.h"
#include "chrome/common/web_apps.h"
#include "chrome/renderer/about_handler.h"
-#include "chrome/renderer/autofill/autofill_agent.h"
#include "chrome/renderer/autofill/form_manager.h"
-#include "chrome/renderer/autofill/password_autofill_manager.h"
#include "chrome/renderer/automation/dom_automation_controller.h"
-#include "chrome/renderer/devtools_agent.h"
#include "chrome/renderer/devtools_client.h"
#include "chrome/renderer/extension_groups.h"
#include "chrome/renderer/extensions/bindings_utils.h"
#include "chrome/renderer/extensions/event_bindings.h"
-#include "chrome/renderer/extensions/extension_helper.h"
#include "chrome/renderer/extensions/extension_process_bindings.h"
#include "chrome/renderer/extensions/extension_resource_request_policy.h"
#include "chrome/renderer/extensions/renderer_extension_bindings.h"
#include "chrome/renderer/external_host_bindings.h"
#include "chrome/renderer/localized_error.h"
-#include "chrome/renderer/page_click_tracker.h"
#include "chrome/renderer/page_load_histograms.h"
-#include "chrome/renderer/print_web_view_helper.h"
#include "chrome/renderer/render_process.h"
#include "chrome/renderer/render_thread.h"
-#include "chrome/renderer/safe_browsing/malware_dom_details.h"
-#include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h"
-#include "chrome/renderer/searchbox.h"
#include "chrome/renderer/spellchecker/spellcheck.h"
-#include "chrome/renderer/spellchecker/spellcheck_provider.h"
#include "chrome/renderer/translate_helper.h"
#include "chrome/renderer/user_script_idle_scheduler.h"
#include "chrome/renderer/user_script_slave.h"
@@ -277,9 +267,7 @@
using WebKit::WebWorker;
using WebKit::WebWorkerClient;
using appcache::WebApplicationCacheHostImpl;
-using autofill::AutofillAgent;
using autofill::FormManager;
-using autofill::PasswordAutofillManager;
using base::Time;
using base::TimeDelta;
using webkit_glue::AltErrorPageResourceFetcher;
@@ -515,14 +503,10 @@
};
RenderView::RenderView(RenderThreadBase* render_thread,
- gfx::NativeViewId parent_hwnd,
- int32 opener_id,
- const RendererPreferences& renderer_prefs,
const WebPreferences& webkit_prefs,
SharedRenderViewCounter* counter,
int32 routing_id,
- int64 session_storage_namespace_id,
- const string16& frame_name)
+ int64 session_storage_namespace_id)
: RenderWidget(render_thread, WebKit::WebPopupTypeNone),
webkit_preferences_(webkit_prefs),
send_content_state_immediately_(false),
@@ -556,9 +540,6 @@
geolocation_dispatcher_(NULL),
speech_input_dispatcher_(NULL),
device_orientation_dispatcher_(NULL),
- print_helper_(NULL),
- searchbox_(NULL),
- spellcheck_provider_(NULL),
accessibility_ack_pending_(false),
p2p_socket_dispatcher_(NULL),
pending_app_icon_requests_(0),
@@ -567,8 +548,6 @@
ClearBlockedContentSettings();
routing_id_ = routing_id;
- if (opener_id != MSG_ROUTING_NONE)
- opener_id_ = opener_id;
if (counter) {
shared_popup_counter_ = counter;
@@ -580,14 +559,15 @@
}
notification_provider_ = new NotificationProvider(this);
+}
- devtools_agent_ = new DevToolsAgent(this);
- PasswordAutofillManager* password_autofill_manager =
- new PasswordAutofillManager(this);
- AutofillAgent* autofill_agent = new AutofillAgent(this,
- password_autofill_manager);
-
- webwidget_ = WebView::create(this, devtools_agent_, autofill_agent);
+void RenderView::Init(gfx::NativeViewId parent_hwnd,
+ int32 opener_id,
+ const RendererPreferences& renderer_prefs,
+ const string16& frame_name,
+ WebKit::WebAutoFillClient* autofill_agent,
+ WebKit::WebDevToolsAgentClient* devtools_agent) {
+ webwidget_ = WebView::create(this, devtools_agent, autofill_agent);
g_view_map.Get().insert(std::make_pair(webview(), this));
webkit_preferences_.Apply(webview());
webview()->initializeMainFrame(this);
@@ -609,6 +589,8 @@
if (opener_id == MSG_ROUTING_NONE) {
did_show_ = true;
CompleteInit(parent_hwnd);
+ } else {
+ opener_id_ = opener_id;
}
host_window_ = parent_hwnd;
@@ -622,34 +604,10 @@
audio_message_filter_ = new AudioMessageFilter(routing_id_);
render_thread_->AddFilter(audio_message_filter_);
- PageClickTracker* page_click_tracker = new PageClickTracker(this);
- // Note that the order of insertion of the listeners is important.
- // The password_autocomplete_manager takes the first shot at processing the
- // notification and can stop the propagation.
- page_click_tracker->AddListener(password_autofill_manager);
- page_click_tracker->AddListener(autofill_agent);
- new TranslateHelper(this);
- print_helper_ = new PrintWebViewHelper(this);
- searchbox_ = new SearchBox(this);
-
- RenderThread* current_thread = RenderThread::current();
- SpellCheck* spellcheck = current_thread ? current_thread->spellchecker() : 0;
- spellcheck_provider_ = new SpellCheckProvider(this, spellcheck);
-
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableP2PApi)) {
p2p_socket_dispatcher_ = new P2PSocketDispatcher(this);
}
-
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableClientSidePhishingDetection)) {
- new safe_browsing::PhishingClassifierDelegate(this, NULL);
- }
-
- // Observer for Malware DOM details messages.
- new safe_browsing::MalwareDOMDetails(this);
-
- new ExtensionHelper(this);
}
RenderView::~RenderView() {
@@ -711,27 +669,18 @@
}
/*static*/
-RenderView* RenderView::Create(
- RenderThreadBase* render_thread,
- gfx::NativeViewId parent_hwnd,
- int32 opener_id,
- const RendererPreferences& renderer_prefs,
- const WebPreferences& webkit_prefs,
- SharedRenderViewCounter* counter,
- int32 routing_id,
- int64 session_storage_namespace_id,
- const string16& frame_name) {
+RenderView* RenderView::Create(RenderThreadBase* render_thread,
+ const WebPreferences& webkit_prefs,
+ SharedRenderViewCounter* counter,
+ int32 routing_id,
+ int64 session_storage_namespace_id) {
DCHECK(routing_id != MSG_ROUTING_NONE);
return new RenderView(
render_thread,
- parent_hwnd,
- opener_id,
- renderer_prefs,
webkit_prefs,
counter,
routing_id,
- session_storage_namespace_id,
- frame_name); // adds reference
+ session_storage_namespace_id); // adds reference
}
// static
@@ -2000,14 +1949,16 @@
return NULL;
RenderView* view = RenderView::Create(render_thread_,
- 0,
- routing_id_,
- renderer_preferences_,
webkit_preferences_,
shared_popup_counter_,
routing_id,
- cloned_session_storage_namespace_id,
- frame_name);
+ cloned_session_storage_namespace_id);
+ view->Init(0,
+ routing_id_,
+ renderer_preferences_,
+ frame_name,
+ NULL,
+ NULL);
view->opened_by_user_gesture_ = params.user_gesture;
// Record whether the creator frame is trying to suppress the opener field.
@@ -2076,8 +2027,8 @@
UTF16ToWideHack(source_name)));
}
-void RenderView::printPage(WebFrame* frame) {
- print_helper_->ScriptInitiatedPrint(frame);
+void RenderView::printPage(WebKit::WebFrame* frame) {
+ FOR_EACH_OBSERVER(RenderViewObserver, observers_, printPage(frame));
}
WebKit::WebNotificationPresenter* RenderView::notificationPresenter() {
@@ -2257,7 +2208,9 @@
void RenderView::requestCheckingOfText(
const WebString& text,
WebKit::WebTextCheckingCompletion* completion) {
- spellcheck_provider_->RequestTextChecking(text, document_tag_, completion);
+ FOR_EACH_OBSERVER(RenderViewObserver,
+ observers_,
+ RequestTextChecking(text, document_tag_, completion));
jam 2011/03/29 18:31:59 http://codereview.chromium.org/6764001/ removes th
Lei Zhang 2011/03/30 22:05:43 Right, but we still have the spellcheck_provider_
}
WebString RenderView::autoCorrectWord(const WebKit::WebString& word) {

Powered by Google App Engine
This is Rietveld 408576698