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) { |