Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(295)

Unified Diff: chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc

Issue 2161163004: Split fetcher logic out of ManifestUpgradeDetector (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge branch 'master' into webapk_updater_images0 Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc
diff --git a/chrome/browser/android/webapk/manifest_upgrade_detector.cc b/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc
similarity index 70%
rename from chrome/browser/android/webapk/manifest_upgrade_detector.cc
rename to chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc
index 58a3a86a2b678df53f17726b5d43d4bf9dc535bb..952ab5cfadacdce6a36cc456d44be1a1966db450 100644
--- a/chrome/browser/android/webapk/manifest_upgrade_detector.cc
+++ b/chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/android/webapk/manifest_upgrade_detector.h"
+#include "chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.h"
#include <jni.h>
@@ -11,7 +11,7 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/manifest.h"
-#include "jni/ManifestUpgradeDetector_jni.h"
+#include "jni/ManifestUpgradeDetectorFetcher_jni.h"
#include "url/gurl.h"
namespace {
@@ -26,75 +26,71 @@ bool IsInScope(const GURL& url, const GURL& scope) {
jlong Initialize(JNIEnv* env,
const JavaParamRef<jobject>& obj,
- const JavaParamRef<jobject>& java_web_contents,
const JavaParamRef<jstring>& java_scope_url,
const JavaParamRef<jstring>& java_web_manifest_url) {
- content::WebContents* web_contents =
- content::WebContents::FromJavaWebContents(java_web_contents);
GURL scope(base::android::ConvertJavaStringToUTF8(env, java_scope_url));
GURL web_manifest_url(base::android::ConvertJavaStringToUTF8(
env, java_web_manifest_url));
- ManifestUpgradeDetector* manifest_upgrade_detector =
- new ManifestUpgradeDetector(env, obj, web_contents, scope,
- web_manifest_url);
- return reinterpret_cast<intptr_t>(manifest_upgrade_detector);
+ ManifestUpgradeDetectorFetcher* fetcher =
+ new ManifestUpgradeDetectorFetcher(env, obj, scope, web_manifest_url);
+ return reinterpret_cast<intptr_t>(fetcher);
}
-ManifestUpgradeDetector::ManifestUpgradeDetector(
+ManifestUpgradeDetectorFetcher::ManifestUpgradeDetectorFetcher(
JNIEnv* env,
jobject obj,
- content::WebContents* web_contents,
const GURL& scope,
const GURL& web_manifest_url)
- : content::WebContentsObserver(web_contents),
- started_(false),
+ : content::WebContentsObserver(nullptr),
scope_(scope),
web_manifest_url_(web_manifest_url),
weak_ptr_factory_(this) {
java_ref_.Reset(env, obj);
}
-ManifestUpgradeDetector::~ManifestUpgradeDetector() {
+ManifestUpgradeDetectorFetcher::~ManifestUpgradeDetectorFetcher() {
}
// static
-bool ManifestUpgradeDetector::Register(JNIEnv* env) {
+bool ManifestUpgradeDetectorFetcher::Register(JNIEnv* env) {
return RegisterNativesImpl(env);
}
-void ManifestUpgradeDetector::ReplaceWebContents(
+void ManifestUpgradeDetectorFetcher::ReplaceWebContents(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
- const JavaParamRef<jobject>& jweb_contents) {
+ const JavaParamRef<jobject>& java_web_contents) {
content::WebContents* web_contents =
- content::WebContents::FromJavaWebContents(jweb_contents);
+ content::WebContents::FromJavaWebContents(java_web_contents);
content::WebContentsObserver::Observe(web_contents);
}
-void ManifestUpgradeDetector::Destroy(JNIEnv* env,
- const JavaParamRef<jobject>& obj) {
+void ManifestUpgradeDetectorFetcher::Destroy(JNIEnv* env,
+ const JavaParamRef<jobject>& obj) {
delete this;
}
-void ManifestUpgradeDetector::Start(JNIEnv* env,
- const JavaParamRef<jobject>& obj) {
- started_ = true;
+void ManifestUpgradeDetectorFetcher::Start(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ const JavaParamRef<jobject>& java_web_contents) {
+ ReplaceWebContents(env, obj, java_web_contents);
}
-void ManifestUpgradeDetector::DidFinishLoad(
+void ManifestUpgradeDetectorFetcher::DidFinishLoad(
content::RenderFrameHost* render_frame_host,
const GURL& validated_url) {
if (render_frame_host->GetParent())
return;
- if (!started_ || !IsInScope(validated_url, scope_))
+ if (!IsInScope(validated_url, scope_))
return;
web_contents()->GetManifest(
- base::Bind(&ManifestUpgradeDetector::OnDidGetManifest,
+ base::Bind(&ManifestUpgradeDetectorFetcher::OnDidGetManifest,
weak_ptr_factory_.GetWeakPtr()));
}
-void ManifestUpgradeDetector::OnDidGetManifest(
+void ManifestUpgradeDetectorFetcher::OnDidGetManifest(
const GURL& manifest_url,
const content::Manifest& manifest) {
// If the manifest is empty, it means the current WebContents doesn't
@@ -108,8 +104,6 @@ void ManifestUpgradeDetector::OnDidGetManifest(
if (manifest.IsEmpty() || web_manifest_url_ != manifest_url)
return;
- started_ = false;
-
ShortcutInfo info(GURL::EmptyGURL());
info.UpdateFromManifest(manifest);
info.manifest_url = manifest_url;
@@ -117,7 +111,7 @@ void ManifestUpgradeDetector::OnDidGetManifest(
OnDataAvailable(info);
}
-void ManifestUpgradeDetector::OnDataAvailable(const ShortcutInfo& info) {
+void ManifestUpgradeDetectorFetcher::OnDataAvailable(const ShortcutInfo& info) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jstring> java_url =
@@ -129,7 +123,7 @@ void ManifestUpgradeDetector::OnDataAvailable(const ShortcutInfo& info) {
ScopedJavaLocalRef<jstring> java_short_name =
base::android::ConvertUTF16ToJavaString(env, info.short_name);
- Java_ManifestUpgradeDetector_onDataAvailable(
+ Java_ManifestUpgradeDetectorFetcher_onDataAvailable(
env, java_ref_.obj(),
java_url.obj(),
java_scope.obj(),
« no previous file with comments | « chrome/browser/android/webapk/manifest_upgrade_detector_fetcher.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698