| 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/lib/main/aw_main_delegate.h" | 5 #include "android_webview/lib/main/aw_main_delegate.h" |
| 6 | 6 |
| 7 #include "android_webview/browser/aw_content_browser_client.h" | 7 #include "android_webview/browser/aw_content_browser_client.h" |
| 8 #include "android_webview/common/aw_switches.h" | 8 #include "android_webview/common/aw_switches.h" |
| 9 #include "android_webview/lib/aw_browser_dependency_factory_impl.h" | 9 #include "android_webview/lib/aw_browser_dependency_factory_impl.h" |
| 10 #include "android_webview/native/aw_geolocation_permission_context.h" | 10 #include "android_webview/native/aw_geolocation_permission_context.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 logging::CloseLogFile(); | 69 logging::CloseLogFile(); |
| 70 } | 70 } |
| 71 | 71 |
| 72 content::ContentBrowserClient* | 72 content::ContentBrowserClient* |
| 73 AwMainDelegate::CreateContentBrowserClient() { | 73 AwMainDelegate::CreateContentBrowserClient() { |
| 74 content_browser_client_.reset(new AwContentBrowserClient(this)); | 74 content_browser_client_.reset(new AwContentBrowserClient(this)); |
| 75 return content_browser_client_.get(); | 75 return content_browser_client_.get(); |
| 76 } | 76 } |
| 77 | 77 |
| 78 namespace { | 78 namespace { |
| 79 bool UIAndRendererCompositorThreadsMerged() { | 79 bool UIAndRendererCompositorThreadsNotMerged() { |
| 80 return CommandLine::ForCurrentProcess()->HasSwitch( | 80 return CommandLine::ForCurrentProcess()->HasSwitch( |
| 81 switches::kMergeUIAndRendererCompositorThreads); | 81 switches::kNoMergeUIAndRendererCompositorThreads); |
| 82 } | 82 } |
| 83 | 83 |
| 84 MessageLoop* GetRendererCompositorThreadOverrideLoop() { | 84 MessageLoop* GetRendererCompositorThreadOverrideLoop() { |
| 85 if (!UIAndRendererCompositorThreadsMerged()) | 85 if (UIAndRendererCompositorThreadsNotMerged()) |
| 86 return NULL; | 86 return NULL; |
| 87 | 87 |
| 88 MessageLoop* rv = content::BrowserThread::UnsafeGetMessageLoopForThread( | 88 MessageLoop* rv = content::BrowserThread::UnsafeGetMessageLoopForThread( |
| 89 content::BrowserThread::UI); | 89 content::BrowserThread::UI); |
| 90 DCHECK(rv); | 90 DCHECK(rv); |
| 91 return rv; | 91 return rv; |
| 92 } | 92 } |
| 93 } | 93 } |
| 94 | 94 |
| 95 content::ContentRendererClient* | 95 content::ContentRendererClient* |
| 96 AwMainDelegate::CreateContentRendererClient() { | 96 AwMainDelegate::CreateContentRendererClient() { |
| 97 // Compositor input handling will be performed by the renderer host | 97 // Compositor input handling will be performed by the renderer host |
| 98 // when UI and compositor threads are merged, so we disable client compositor | 98 // when UI and compositor threads are merged, so we disable client compositor |
| 99 // input handling in this case. | 99 // input handling in this case. |
| 100 const bool enable_client_compositor_input_handling = | 100 const bool enable_client_compositor_input_handling = |
| 101 !UIAndRendererCompositorThreadsMerged(); | 101 UIAndRendererCompositorThreadsNotMerged(); |
| 102 content_renderer_client_.reset( | 102 content_renderer_client_.reset( |
| 103 new AwContentRendererClient(&GetRendererCompositorThreadOverrideLoop, | 103 new AwContentRendererClient(&GetRendererCompositorThreadOverrideLoop, |
| 104 enable_client_compositor_input_handling)); | 104 enable_client_compositor_input_handling)); |
| 105 return content_renderer_client_.get(); | 105 return content_renderer_client_.get(); |
| 106 } | 106 } |
| 107 | 107 |
| 108 AwQuotaManagerBridge* AwMainDelegate::CreateAwQuotaManagerBridge( | 108 AwQuotaManagerBridge* AwMainDelegate::CreateAwQuotaManagerBridge( |
| 109 AwBrowserContext* browser_context) { | 109 AwBrowserContext* browser_context) { |
| 110 return new AwQuotaManagerBridgeImpl(browser_context); | 110 return new AwQuotaManagerBridgeImpl(browser_context); |
| 111 } | 111 } |
| 112 | 112 |
| 113 content::GeolocationPermissionContext* | 113 content::GeolocationPermissionContext* |
| 114 AwMainDelegate::CreateGeolocationPermission( | 114 AwMainDelegate::CreateGeolocationPermission( |
| 115 AwBrowserContext* browser_context) { | 115 AwBrowserContext* browser_context) { |
| 116 return AwGeolocationPermissionContext::Create(browser_context); | 116 return AwGeolocationPermissionContext::Create(browser_context); |
| 117 } | 117 } |
| 118 | 118 |
| 119 content::WebContentsViewDelegate* AwMainDelegate::CreateViewDelegate( | 119 content::WebContentsViewDelegate* AwMainDelegate::CreateViewDelegate( |
| 120 content::WebContents* web_contents) { | 120 content::WebContents* web_contents) { |
| 121 return AwWebContentsViewDelegate::Create(web_contents); | 121 return AwWebContentsViewDelegate::Create(web_contents); |
| 122 } | 122 } |
| 123 | 123 |
| 124 } // namespace android_webview | 124 } // namespace android_webview |
| OLD | NEW |