| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 public: | 52 public: |
| 53 explicit AwContentsMessageFilter(int process_id); | 53 explicit AwContentsMessageFilter(int process_id); |
| 54 | 54 |
| 55 // BrowserMessageFilter methods. | 55 // BrowserMessageFilter methods. |
| 56 void OverrideThreadForMessage(const IPC::Message& message, | 56 void OverrideThreadForMessage(const IPC::Message& message, |
| 57 BrowserThread::ID* thread) override; | 57 BrowserThread::ID* thread) override; |
| 58 bool OnMessageReceived(const IPC::Message& message) override; | 58 bool OnMessageReceived(const IPC::Message& message) override; |
| 59 | 59 |
| 60 void OnShouldOverrideUrlLoading(int routing_id, | 60 void OnShouldOverrideUrlLoading(int routing_id, |
| 61 const base::string16& url, | 61 const base::string16& url, |
| 62 bool has_user_gesture, |
| 63 bool is_redirect, |
| 62 bool* ignore_navigation); | 64 bool* ignore_navigation); |
| 63 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id); | 65 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id); |
| 64 | 66 |
| 65 private: | 67 private: |
| 66 ~AwContentsMessageFilter() override; | 68 ~AwContentsMessageFilter() override; |
| 67 | 69 |
| 68 int process_id_; | 70 int process_id_; |
| 69 | 71 |
| 70 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter); | 72 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter); |
| 71 }; | 73 }; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 92 OnShouldOverrideUrlLoading) | 94 OnShouldOverrideUrlLoading) |
| 93 IPC_MESSAGE_HANDLER(AwViewHostMsg_SubFrameCreated, OnSubFrameCreated) | 95 IPC_MESSAGE_HANDLER(AwViewHostMsg_SubFrameCreated, OnSubFrameCreated) |
| 94 IPC_MESSAGE_UNHANDLED(handled = false) | 96 IPC_MESSAGE_UNHANDLED(handled = false) |
| 95 IPC_END_MESSAGE_MAP() | 97 IPC_END_MESSAGE_MAP() |
| 96 return handled; | 98 return handled; |
| 97 } | 99 } |
| 98 | 100 |
| 99 void AwContentsMessageFilter::OnShouldOverrideUrlLoading( | 101 void AwContentsMessageFilter::OnShouldOverrideUrlLoading( |
| 100 int render_frame_id, | 102 int render_frame_id, |
| 101 const base::string16& url, | 103 const base::string16& url, |
| 104 bool has_user_gesture, |
| 105 bool is_redirect, |
| 102 bool* ignore_navigation) { | 106 bool* ignore_navigation) { |
| 103 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 107 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 104 *ignore_navigation = false; | 108 *ignore_navigation = false; |
| 105 AwContentsClientBridgeBase* client = | 109 AwContentsClientBridgeBase* client = |
| 106 AwContentsClientBridgeBase::FromID(process_id_, render_frame_id); | 110 AwContentsClientBridgeBase::FromID(process_id_, render_frame_id); |
| 107 if (client) { | 111 if (client) { |
| 108 *ignore_navigation = client->ShouldOverrideUrlLoading(url); | 112 *ignore_navigation = |
| 113 client->ShouldOverrideUrlLoading(url, has_user_gesture, is_redirect); |
| 109 } else { | 114 } else { |
| 110 LOG(WARNING) << "Failed to find the associated render view host for url: " | 115 LOG(WARNING) << "Failed to find the associated render view host for url: " |
| 111 << url; | 116 << url; |
| 112 } | 117 } |
| 113 } | 118 } |
| 114 | 119 |
| 115 void AwContentsMessageFilter::OnSubFrameCreated(int parent_render_frame_id, | 120 void AwContentsMessageFilter::OnSubFrameCreated(int parent_render_frame_id, |
| 116 int child_render_frame_id) { | 121 int child_render_frame_id) { |
| 117 AwContentsIoThreadClient::SubFrameCreated( | 122 AwContentsIoThreadClient::SubFrameCreated( |
| 118 process_id_, parent_render_frame_id, child_render_frame_id); | 123 process_id_, parent_render_frame_id, child_render_frame_id); |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 | 472 |
| 468 #if defined(VIDEO_HOLE) | 473 #if defined(VIDEO_HOLE) |
| 469 content::ExternalVideoSurfaceContainer* | 474 content::ExternalVideoSurfaceContainer* |
| 470 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( | 475 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( |
| 471 content::WebContents* web_contents) { | 476 content::WebContents* web_contents) { |
| 472 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); | 477 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); |
| 473 } | 478 } |
| 474 #endif | 479 #endif |
| 475 | 480 |
| 476 } // namespace android_webview | 481 } // namespace android_webview |
| OLD | NEW |