| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/browser/aw_content_browser_client.h" | 5 #include "android_webview/browser/aw_content_browser_client.h" |
| 6 | 6 |
| 7 #include "android_webview/browser/aw_browser_context.h" | 7 #include "android_webview/browser/aw_browser_context.h" |
| 8 #include "android_webview/browser/aw_browser_main_parts.h" | 8 #include "android_webview/browser/aw_browser_main_parts.h" |
| 9 #include "android_webview/browser/aw_contents_client_bridge_base.h" | 9 #include "android_webview/browser/aw_contents_client_bridge_base.h" |
| 10 #include "android_webview/browser/aw_contents_io_thread_client.h" | 10 #include "android_webview/browser/aw_contents_io_thread_client.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 #include "net/ssl/ssl_info.h" | 32 #include "net/ssl/ssl_info.h" |
| 33 #include "ui/base/l10n/l10n_util_android.h" | 33 #include "ui/base/l10n/l10n_util_android.h" |
| 34 #include "ui/base/resource/resource_bundle.h" | 34 #include "ui/base/resource/resource_bundle.h" |
| 35 #include "webkit/common/webpreferences.h" | 35 #include "webkit/common/webpreferences.h" |
| 36 | 36 |
| 37 using content::BrowserThread; | 37 using content::BrowserThread; |
| 38 | 38 |
| 39 namespace android_webview { | 39 namespace android_webview { |
| 40 namespace { | 40 namespace { |
| 41 | 41 |
| 42 const uint32 kFilteredMessageClasses[] = { |
| 43 AndroidWebViewMsgStart |
| 44 }; |
| 45 |
| 42 // TODO(sgurun) move this to its own file. | 46 // TODO(sgurun) move this to its own file. |
| 43 // This class filters out incoming aw_contents related IPC messages for the | 47 // This class filters out incoming aw_contents related IPC messages for the |
| 44 // renderer process on the IPC thread. | 48 // renderer process on the IPC thread. |
| 45 class AwContentsMessageFilter : public content::BrowserMessageFilter { | 49 class AwContentsMessageFilter : public content::BrowserMessageFilter { |
| 46 public: | 50 public: |
| 47 explicit AwContentsMessageFilter(int process_id); | 51 explicit AwContentsMessageFilter(int process_id); |
| 48 | 52 |
| 49 // BrowserMessageFilter methods. | 53 // BrowserMessageFilter methods. |
| 50 virtual void OverrideThreadForMessage( | 54 virtual void OverrideThreadForMessage( |
| 51 const IPC::Message& message, | 55 const IPC::Message& message, |
| 52 BrowserThread::ID* thread) OVERRIDE; | 56 BrowserThread::ID* thread) OVERRIDE; |
| 53 virtual bool OnMessageReceived( | 57 virtual bool OnMessageReceived( |
| 54 const IPC::Message& message, | 58 const IPC::Message& message, |
| 55 bool* message_was_ok) OVERRIDE; | 59 bool* message_was_ok) OVERRIDE; |
| 56 | 60 |
| 57 void OnShouldOverrideUrlLoading(int routing_id, | 61 void OnShouldOverrideUrlLoading(int routing_id, |
| 58 const base::string16& url, | 62 const base::string16& url, |
| 59 bool* ignore_navigation); | 63 bool* ignore_navigation); |
| 60 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id); | 64 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id); |
| 61 | 65 |
| 62 private: | 66 private: |
| 63 virtual ~AwContentsMessageFilter(); | 67 virtual ~AwContentsMessageFilter(); |
| 64 | 68 |
| 65 int process_id_; | 69 int process_id_; |
| 66 | 70 |
| 67 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter); | 71 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter); |
| 68 }; | 72 }; |
| 69 | 73 |
| 70 AwContentsMessageFilter::AwContentsMessageFilter(int process_id) | 74 AwContentsMessageFilter::AwContentsMessageFilter(int process_id) |
| 71 : process_id_(process_id) { | 75 : BrowserMessageFilter( |
| 76 kFilteredMessageClasses, arraysize(kFilteredMessageClasses)), |
| 77 process_id_(process_id) { |
| 72 } | 78 } |
| 73 | 79 |
| 74 AwContentsMessageFilter::~AwContentsMessageFilter() { | 80 AwContentsMessageFilter::~AwContentsMessageFilter() { |
| 75 } | 81 } |
| 76 | 82 |
| 77 void AwContentsMessageFilter::OverrideThreadForMessage( | 83 void AwContentsMessageFilter::OverrideThreadForMessage( |
| 78 const IPC::Message& message, BrowserThread::ID* thread) { | 84 const IPC::Message& message, BrowserThread::ID* thread) { |
| 79 if (message.type() == AwViewHostMsg_ShouldOverrideUrlLoading::ID) { | 85 if (message.type() == AwViewHostMsg_ShouldOverrideUrlLoading::ID) { |
| 80 *thread = BrowserThread::UI; | 86 *thread = BrowserThread::UI; |
| 81 } | 87 } |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 WebPreferences* web_prefs) { | 497 WebPreferences* web_prefs) { |
| 492 if (!preferences_populater_.get()) { | 498 if (!preferences_populater_.get()) { |
| 493 preferences_populater_ = make_scoped_ptr(native_factory_-> | 499 preferences_populater_ = make_scoped_ptr(native_factory_-> |
| 494 CreateWebPreferencesPopulater()); | 500 CreateWebPreferencesPopulater()); |
| 495 } | 501 } |
| 496 preferences_populater_->PopulateFor( | 502 preferences_populater_->PopulateFor( |
| 497 content::WebContents::FromRenderViewHost(rvh), web_prefs); | 503 content::WebContents::FromRenderViewHost(rvh), web_prefs); |
| 498 } | 504 } |
| 499 | 505 |
| 500 } // namespace android_webview | 506 } // namespace android_webview |
| OLD | NEW |