Index: components/dom_distiller/ios/distiller_page_ios.mm |
diff --git a/components/dom_distiller/ios/distiller_page_ios.mm b/components/dom_distiller/ios/distiller_page_ios.mm |
index a59548ae016bd82f1a14ebf921b252233d3ddbd1..3ceca0aa952595275efb7fc5405ffecacbb18821 100644 |
--- a/components/dom_distiller/ios/distiller_page_ios.mm |
+++ b/components/dom_distiller/ios/distiller_page_ios.mm |
@@ -14,9 +14,11 @@ |
#include "base/memory/ptr_util.h" |
#include "base/strings/sys_string_conversions.h" |
#include "base/values.h" |
+#include "components/dom_distiller/ios/distiller_favicon_ios.h" |
#include "ios/public/provider/web/web_controller_provider.h" |
#include "ios/public/provider/web/web_controller_provider_factory.h" |
#include "ios/web/public/browser_state.h" |
+#include "ios/web/public/favicon_url.h" |
namespace { |
@@ -125,9 +127,9 @@ void DistillerWebStateObserver::PageLoaded( |
#pragma mark - |
-DistillerPageIOS::DistillerPageIOS(web::BrowserState* browser_state) |
- : browser_state_(browser_state), weak_ptr_factory_(this) { |
-} |
+DistillerPageIOS::DistillerPageIOS(web::BrowserState* browser_state, |
+ DistillerFaviconIOS* distiller_favicon) |
+ : distiller_favicon_(distiller_favicon), weak_ptr_factory_(this) {} |
DistillerPageIOS::~DistillerPageIOS() { |
} |
@@ -143,16 +145,18 @@ void DistillerPageIOS::DistillPageImpl(const GURL& url, |
url_ = url; |
script_ = script; |
- // Lazily create provider. |
- if (!provider_) { |
- if (ios::GetWebControllerProviderFactory()) { |
- provider_ = |
- ios::GetWebControllerProviderFactory()->CreateWebControllerProvider( |
- browser_state_); |
- web_state_observer_.reset( |
- new DistillerWebStateObserver(provider_->GetWebState(), this)); |
- } |
- } |
+ provider_ = distiller_favicon_->CreateProvider(url); |
+ |
+ // Lazily create provider. |
+ // if (!provider_) { |
+ // if (ios::GetWebControllerProviderFactory()) { |
+ // provider_ = |
+ // ios::GetWebControllerProviderFactory()->CreateWebControllerProvider( |
+ // browser_state_); |
+ // web_state_observer_.reset( |
+ // new DistillerWebStateObserver(provider_->GetWebState(), this)); |
+ // } |
+ // } |
// Load page using provider. |
if (provider_) |
@@ -175,8 +179,18 @@ void DistillerPageIOS::OnLoadURLDone( |
base::WeakPtr<DistillerPageIOS> weak_this = weak_ptr_factory_.GetWeakPtr(); |
provider_->InjectScript(script_, ^(id result, NSError* error) { |
DistillerPageIOS* distiller_page = weak_this.get(); |
- if (distiller_page) |
+ |
+ if (distiller_page) { |
distiller_page->HandleJavaScriptResult(result); |
+ |
+ // Get the favicons. |
+ // provider_->InjectScript(favicon_script_, ^(id result, NSError* |
+ // error) { |
+ // DistillerPageIOS* distiller_page_favicon = weak_this.get(); |
+ // if (distiller_page_favicon) |
+ // distiller_page_favicon->HandleFaviconResult(result); |
+ // }); |
+ } |
}); |
} |