OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "mojo/services/html_viewer/html_document_view.h" | 5 #include "mojo/services/html_viewer/html_document_view.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 | 33 |
34 void ConfigureSettings(blink::WebSettings* settings) { | 34 void ConfigureSettings(blink::WebSettings* settings) { |
35 settings->setAcceleratedCompositingEnabled(false); | 35 settings->setAcceleratedCompositingEnabled(false); |
36 settings->setCookieEnabled(true); | 36 settings->setCookieEnabled(true); |
37 settings->setDefaultFixedFontSize(13); | 37 settings->setDefaultFixedFontSize(13); |
38 settings->setDefaultFontSize(16); | 38 settings->setDefaultFontSize(16); |
39 settings->setLoadsImagesAutomatically(true); | 39 settings->setLoadsImagesAutomatically(true); |
40 settings->setJavaScriptEnabled(true); | 40 settings->setJavaScriptEnabled(true); |
41 } | 41 } |
42 | 42 |
43 navigation::Target WebNavigationPolicyToNavigationTarget( | 43 Target WebNavigationPolicyToNavigationTarget( |
44 blink::WebNavigationPolicy policy) { | 44 blink::WebNavigationPolicy policy) { |
45 switch (policy) { | 45 switch (policy) { |
46 case blink::WebNavigationPolicyCurrentTab: | 46 case blink::WebNavigationPolicyCurrentTab: |
47 return navigation::TARGET_SOURCE_NODE; | 47 return TARGET_SOURCE_NODE; |
48 case blink::WebNavigationPolicyNewBackgroundTab: | 48 case blink::WebNavigationPolicyNewBackgroundTab: |
49 case blink::WebNavigationPolicyNewForegroundTab: | 49 case blink::WebNavigationPolicyNewForegroundTab: |
50 case blink::WebNavigationPolicyNewWindow: | 50 case blink::WebNavigationPolicyNewWindow: |
51 case blink::WebNavigationPolicyNewPopup: | 51 case blink::WebNavigationPolicyNewPopup: |
52 return navigation::TARGET_NEW_NODE; | 52 return TARGET_NEW_NODE; |
53 default: | 53 default: |
54 return navigation::TARGET_DEFAULT; | 54 return TARGET_DEFAULT; |
55 } | 55 } |
56 } | 56 } |
57 | 57 |
58 bool CanNavigateLocally(blink::WebFrame* frame, | 58 bool CanNavigateLocally(blink::WebFrame* frame, |
59 const blink::WebURLRequest& request) { | 59 const blink::WebURLRequest& request) { |
60 // For now, we just load child frames locally. | 60 // For now, we just load child frames locally. |
61 // TODO(aa): In the future, this should use embedding to connect to a | 61 // TODO(aa): In the future, this should use embedding to connect to a |
62 // different instance of Blink if the frame is cross-origin. | 62 // different instance of Blink if the frame is cross-origin. |
63 if (frame->parent()) | 63 if (frame->parent()) |
64 return true; | 64 return true; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 return blink::Platform::current()->cookieJar(); | 153 return blink::Platform::current()->cookieJar(); |
154 } | 154 } |
155 | 155 |
156 blink::WebNavigationPolicy HTMLDocumentView::decidePolicyForNavigation( | 156 blink::WebNavigationPolicy HTMLDocumentView::decidePolicyForNavigation( |
157 blink::WebLocalFrame* frame, blink::WebDataSource::ExtraData* data, | 157 blink::WebLocalFrame* frame, blink::WebDataSource::ExtraData* data, |
158 const blink::WebURLRequest& request, blink::WebNavigationType nav_type, | 158 const blink::WebURLRequest& request, blink::WebNavigationType nav_type, |
159 blink::WebNavigationPolicy default_policy, bool is_redirect) { | 159 blink::WebNavigationPolicy default_policy, bool is_redirect) { |
160 if (CanNavigateLocally(frame, request)) | 160 if (CanNavigateLocally(frame, request)) |
161 return default_policy; | 161 return default_policy; |
162 | 162 |
163 navigation::NavigationDetailsPtr nav_details( | 163 NavigationDetailsPtr nav_details(NavigationDetails::New()); |
164 navigation::NavigationDetails::New()); | |
165 nav_details->url = request.url().string().utf8(); | 164 nav_details->url = request.url().string().utf8(); |
166 navigator_host_->RequestNavigate( | 165 navigator_host_->RequestNavigate( |
167 view_->node()->id(), | 166 view_->node()->id(), |
168 WebNavigationPolicyToNavigationTarget(default_policy), | 167 WebNavigationPolicyToNavigationTarget(default_policy), |
169 nav_details.Pass()); | 168 nav_details.Pass()); |
170 | 169 |
171 return blink::WebNavigationPolicyIgnore; | 170 return blink::WebNavigationPolicyIgnore; |
172 } | 171 } |
173 | 172 |
174 void HTMLDocumentView::didAddMessageToConsole( | 173 void HTMLDocumentView::didAddMessageToConsole( |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 | 217 |
219 skia::RefPtr<SkCanvas> canvas = skia::AdoptRef(SkCanvas::NewRaster( | 218 skia::RefPtr<SkCanvas> canvas = skia::AdoptRef(SkCanvas::NewRaster( |
220 SkImageInfo::MakeN32(width, height, kOpaque_SkAlphaType))); | 219 SkImageInfo::MakeN32(width, height, kOpaque_SkAlphaType))); |
221 | 220 |
222 web_view_->paint(canvas.get(), gfx::Rect(0, 0, width, height)); | 221 web_view_->paint(canvas.get(), gfx::Rect(0, 0, width, height)); |
223 | 222 |
224 view_->SetContents(canvas->getDevice()->accessBitmap(false)); | 223 view_->SetContents(canvas->getDevice()->accessBitmap(false)); |
225 } | 224 } |
226 | 225 |
227 } // namespace mojo | 226 } // namespace mojo |
OLD | NEW |