Index: ios/web/web_state/ui/crw_ui_web_view_web_controller.mm |
diff --git a/ios/web/web_state/ui/crw_ui_web_view_web_controller.mm b/ios/web/web_state/ui/crw_ui_web_view_web_controller.mm |
index 5efb858d0e6f8282bb24ef10662775e5e9ee5150..a232ad3d0d0e3c3d9372fadb8692916c8b960c79 100644 |
--- a/ios/web/web_state/ui/crw_ui_web_view_web_controller.mm |
+++ b/ios/web/web_state/ui/crw_ui_web_view_web_controller.mm |
@@ -550,13 +550,23 @@ const size_t kMaxMessageQueueSize = 262144; |
if (!_uiWebView) { |
return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
} |
- NSString* documentType = |
- [_uiWebView stringByEvaluatingJavaScriptFromString: |
- @"'' + document"]; |
- if ([documentType isEqualToString:@"[object HTMLDocument]"]) |
- return web::WEB_VIEW_DOCUMENT_TYPE_HTML; |
- else if ([documentType isEqualToString:@"[object Document]"]) |
- return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
+ |
+ if (base::ios::IsRunningOnIOS9OrLater()) { |
Eugene But (OOO till 7-30)
2015/11/18 16:30:57
Please explain in the comments why iOS9 implementa
stkhapugin
2015/11/19 16:16:35
Done.
|
+ NSString* documentType = [_uiWebView |
+ stringByEvaluatingJavaScriptFromString:@"document.contentType"]; |
+ if ([documentType isEqualToString:@"text/html"]) |
Eugene But (OOO till 7-30)
2015/11/18 16:30:57
I think you also want to check for "application/xh
stkhapugin
2015/11/19 16:16:35
Done.
|
+ return web::WEB_VIEW_DOCUMENT_TYPE_HTML; |
+ else if ([documentType isEqualToString:@"application/pdf"]) |
+ return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
+ } else { |
+ NSString* documentType = |
+ [_uiWebView stringByEvaluatingJavaScriptFromString:@"'' + document"]; |
+ if ([documentType isEqualToString:@"[object HTMLDocument]"]) |
+ return web::WEB_VIEW_DOCUMENT_TYPE_HTML; |
+ else if ([documentType isEqualToString:@"[object Document]"]) |
+ return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
+ } |
+ |
return web::WEB_VIEW_DOCUMENT_TYPE_UNKNOWN; |
} |