New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 611094 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Traveling - Back 2/6
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Feature

Blocking:
issue 597756
issue 599621



Sign in to add a comment

Integrate BlimpClientSession into Clank

Project Member Reported by dtrainor@chromium.org, May 11 2016

Issue description

- Tie the BlimpClientSession into Clank and attach it to the BrowserContext.
- Hook this up with the Chrome for Android Activity startup but make it global (we don't create a new one across multiple Activities).
 
Blocking: -599621 597756
Blocking: 599621
Labels: Blimp-M53-Proj-Scope
[Bulk edit]

Setting tracking label Blimp-M53-Proj-Scope.  This label is for scope tracking purposes only and should not be added / removed from any bugs, even if we add additional bugs to M-53 scope, or remove this bug from M-53 scope.
Project Member

Comment 4 by sheriffbot@chromium.org, Jul 10 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9aa0cdee23229ca95a3bea79abcc584a395d016e

commit 9aa0cdee23229ca95a3bea79abcc584a395d016e
Author: nyquist <nyquist@chromium.org>
Date: Fri Jul 15 21:20:20 2016

Add BlimpClientContext and factory with real and dummy implementation

The BlimpClientContext is the core class which wires up all of the blimp
functionality. When it's created, it will get all its dependencies from
the embedder. It is currently in charge of creating BlimpContents, but
will also own things like the BlimpClientSession. It is part of the
public //blimp/client/public API. It is a KeyedService and is typically
tied to a Profile.

The BlimpClientContextFactory lives in //chrome to be able to access
Profile during construction, since //blimp/client currently does not
depend on //content where BrowserContext lives, and there are upcoming
dependencies that will be implemented by classes in //chrome.

The BlimpClientContext has two implementations in
//blimp/client/core, an actual one and a dummy implementation. The
dummy implementation is to be used when we do not want the blimp
code to be used, and the core implementation is the real blimp
implementation. Which one of these are in use is controlled by the
GN argument enable_blimp which defaults to false.

The BlimpClientContext has a public static create-method that is not
implemented in //blimp/client/public, but instead it is implemented by
//blimp/client/core by both the actual and the dummy implementation,
so the right method will be chosen at link-time. This means that a
target can only link with either the actual or dummy implementation.
Everything in //blimp/client/core is only visible to //blimp/client/*
and embedders should only ever depend on //blimp/client/public, which
will bring in the correct implementation. This works the same for both
C++ and Java, so when using the BlimpClientContextFactory (either in
Java or C++), the right implementation (actual or dummy) will always
be chosen correctly based on the link-time selection of the
Create-method.

The BlimpClientContext has a delegate that it can call out to whenever
it needs specific functionality from the embedder. As an example, this
CL adds a helper for attaching a Profile to every created
BlimpContents to make have similar functionality as what is built into
WebContents so one can get a Profile and thereby services by only
having access to a BlimpContents.

BUG= 611094 
TBR=erg@chromium.org

Review-Url: https://codereview.chromium.org/2132163002
Cr-Commit-Position: refs/heads/master@{#405860}

[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/BUILD.gn
[rename] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/app/android/blimp_app_jni_registrar.cc
[rename] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/app/android/blimp_app_jni_registrar.h
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/app/android/blimp_library_loader.cc
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/BUILD.gn
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/blimp_client_context_impl_android.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/blimp_client_context_impl_android.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/blimp_jni_registrar.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/dummy_blimp_client_context_android.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/dummy_blimp_client_context_android.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/dummy_blimp_jni_registrar.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/android/java/src/org/chromium/blimp/core/DummyBlimpClientContext.java
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/blimp_client_context_impl.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/blimp_client_context_impl.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/blimp_client_context_impl_unittest.cc
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/blimp_contents_impl.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/dummy_blimp_client_context.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/core/dummy_blimp_client_context.h
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/BUILD.gn
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/DEPS
[copy] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/android/blimp_jni_registrar.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/android/java/src/org/chromium/blimp_public/BlimpClientContext.java
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/blimp_client_context.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/blimp_client_context_delegate.h
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/public/blimp_contents.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/test/BUILD.gn
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/test/test_blimp_client_context_delegate.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/blimp/client/test/test_blimp_client_context_delegate.h
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/build/args/blimp_client.gn
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/android/BUILD.gn
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/android/java/DEPS
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/android/java/src/org/chromium/chrome/browser/blimp/BlimpClientContextFactory.java
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/android/java/src/org/chromium/chrome/browser/blimp/ChromeBlimpClientContextDelegate.java
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/android/java_sources.gni
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/BUILD.gn
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/DEPS
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_client_context_factory.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_client_context_factory.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_client_context_factory_android.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_client_context_factory_android.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_contents_profile_attachment.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/blimp_contents_profile_attachment.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/chrome_blimp_client_context_delegate.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/chrome_blimp_client_context_delegate.h
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/chrome_blimp_client_context_delegate_android.cc
[add] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/blimp/chrome_blimp_client_context_delegate_android.h
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/browser/android/chrome_jni_registrar.cc
[modify] https://crrev.com/9aa0cdee23229ca95a3bea79abcc584a395d016e/chrome/chrome_browser.gypi

Labels: Blimp-M54-Proj-Scope
[Bulk edit]

Setting tracking label Blimp-M54-Proj-Scope.  This label is for scope tracking purposes only and should not be added / removed from any bugs, even if we add additional bugs to M-54 scope, or remove this bug from M-54 scope.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce

commit 7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce
Author: nyquist <nyquist@chromium.org>
Date: Tue Jul 26 23:08:49 2016

Rename GN arg for enabling blimp.

Since the enable_blimp flag was only ever supposed to be used for
the blimp client, this makes that abundandtly clear by renaming
the GN arg itself.

BUG= 611094 ,624025, 608765 

Review-Url: https://codereview.chromium.org/2179843005
Cr-Commit-Position: refs/heads/master@{#407956}

[modify] https://crrev.com/7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce/blimp/client/core/BUILD.gn
[modify] https://crrev.com/7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce/blimp/client/public/BUILD.gn
[modify] https://crrev.com/7b77fb9f0d01e24b04f8c48f05c7007f4f5c1dce/build/args/blimp_client.gn

According to the initial requests this is finished.  nyquist@ reopen if necessary.
Status: Fixed (was: Assigned)
Labels: Archive-Blimp

Sign in to add a comment