| Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java | 
| index d6f74bcde7396435f410b9c4333ca0b24ad235da..254a3c01086eced6705b77be521e2dcd7a7b0e6d 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java | 
| @@ -138,6 +138,21 @@ public class WebappLauncherActivity extends Activity { | 
| ? ActivityAssigner.WEBAPK_NAMESPACE : ActivityAssigner.WEBAPP_NAMESPACE; | 
| int activityIndex = ActivityAssigner.instance(namespace).assign(info.id()); | 
| activityName += String.valueOf(activityIndex); | 
| + | 
| +            // Finishes the old activity if it has been assigned to a different WebappActivity. See | 
| +            // crbug.com/702998. | 
| +            for (WeakReference<Activity> activityRef : ApplicationStatus.getRunningActivities()) { | 
| +                Activity activity = activityRef.get(); | 
| +                if (!(activity instanceof WebappActivity) | 
| +                        || !activity.getClass().getName().equals(activityName)) { | 
| +                    continue; | 
| +                } | 
| +                WebappActivity webappActivity = (WebappActivity) activity; | 
| +                if (!TextUtils.equals(webappActivity.mWebappInfo.id(), info.id())) { | 
| +                    activity.finish(); | 
| +                } | 
| +                break; | 
| +            } | 
| } | 
|  | 
| // Create an intent to launch the Webapp in an unmapped WebappActivity. | 
|  |