| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Introduce new ValueStoreFactory interface used for the creation of
ValueStore's in all namespaces (local, sync, and managed), and for all
types (extension and application).
2. Delete SettingsStorageFactory/LeveldbSettingsStorageFactory,
and switched to ValueStoreFactory.
3. Created a new TestValueStoreFactory (for testing). This combines
settings_sync_unittest.cc:TestingValueStoreFactory and
ScopedSettingsStorageFactory.
4. ValueStoreFrontend::Backend always lazilily initializes using the
ValueStoreFactory. This makes unnecessary StateStore's deferred
initialization mechanism - which will be removed in an upcoming CL.
5. A new ValueStoreFactoryImpl to mint new ValueStore's for Chrome.
This currently delegates to a new LegacyValueStoreFactory which
creates new LeveldbValueStore. An upcoming CL will add a second
delegated factory (currently called ProfileValueStoreFactory) to
support a unified (per-profile) extensions database.
6. Removed memcheck suppression for SettingsStorageFactory as this
class is now deleted (crbug.com/163922).
BUG=453946,163922
Review URL: https://codereview.chromium.org/1803193002
Cr-Commit-Position: refs/heads/master@{#383137}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds RetainedRef uses where they are required. These
changes will be required when we remove automatic unwrapping of
scoped_refptrs in Bind.
Please see the bug for more context.
R=tzik@chromium.org, thakis@chromium.org, danakj@chromium.org
BUG=589048
Review URL: https://codereview.chromium.org/1815363002
Cr-Commit-Position: refs/heads/master@{#382371}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reboots.
This cl added a new attribute to device's active state settings to describe if the device is made active by user's selection or by automatic priority selection. The device made active by user has a higher priority than the device made active by priority.
With the stable device id, the active device selection rule is different than before, which only select the active device by its priority. Please see the details in the following document.
https://docs.google.com/a/google.com/document/d/1zmSeM956Njh_9ZdLqyld-NTOpJyXVIfzv8DvQ1Xcksw/edit?usp=sharing
BUG=308143
TBR=stevenjb,rkc,derat
Review URL: https://codereview.chromium.org/1746843002
Cr-Commit-Position: refs/heads/master@{#378812}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no reason for these classes to be movable. std::move() is just
being used as a synonym for Build().
In addition:
- Build() is fewer characters than std::move().
- clang-format works better when builder syntax is consistently used,
which makes it easier for readers to visually match up deeply nested
builders.
- It's surprising to see std::move() used with what looks like a
temporary.
BUG=none
Review URL: https://codereview.chromium.org/1739183003
Cr-Commit-Position: refs/heads/master@{#378107}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds some std::move() calls as a follow-up to
https://codereview.chromium.org/1730533002/. No functional changes.
BUG=546953
TBR=rsleevi@chromium.org
Review URL: https://codereview.chromium.org/1736273002
Cr-Commit-Position: refs/heads/master@{#377898}
|
|
|
|
|
|
|
|
|
|
| |
No functional changes.
BUG=546953
Review URL: https://codereview.chromium.org/1730533002
Cr-Commit-Position: refs/heads/master@{#377549}
|
|
|
|
|
|
|
|
|
|
|
|
| |
Solution copied from similar fix in content shell:
https://crrev.com/1487183002 (fix for issue 552488)
in file: /content/shell/browser/shell_browser_main_parts.cc
BUG=585586
Review URL: https://codereview.chromium.org/1692723002
Cr-Commit-Position: refs/heads/master@{#376863}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deletes the forwarding headers in base/prefs.
Updates the remaining users of base/prefs includes to use components/prefs.
Sort headers in updated files.
Move PrefServiceFactory out of the base namespace. Update users.
Update all preprocessor stuff in components/prefs to change BASE_PREFS_ to
COMPONENTS_PREFS_.
Add components/prefs to DEPS file of directories where checkdeps fails after
the update.
BUG=583034
Reland of http://crrev.com/1662523004#ps40001 with fix.
TBR=estade@chromium.org
Review URL: https://codereview.chromium.org/1668463002
Cr-Commit-Position: refs/heads/master@{#373197}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#3 id:40001 of https://codereview.chromium.org/1662523004/ )
Reason for revert:
Broke Win Builder compile:
https://build.chromium.org/p/chromium.win/builders/Win%20Builder/builds/19463/steps/compile/logs/stdio
Original issue's description:
> Delete base/prefs and update callers to use components.
>
> Deletes the forwarding headers in base/prefs.
>
> Updates the remaining users of base/prefs includes to use components/prefs.
> Sort headers in updated files.
>
> Move PrefServiceFactory out of the base namespace. Update users.
>
> Update all preprocessor stuff in components/prefs to change BASE_PREFS_ to
> COMPONENTS_PREFS_.
>
> Add components/prefs to DEPS file of directories where checkdeps fails after
> the update.
>
> BUG=583034
>
> Committed: https://crrev.com/1f5feb7e317e3c257090858e950273b64a2e31ef
> Cr-Commit-Position: refs/heads/master@{#373105}
TBR=estade@chromium.org,brettw@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=583034
Review URL: https://codereview.chromium.org/1662843002
Cr-Commit-Position: refs/heads/master@{#373115}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deletes the forwarding headers in base/prefs.
Updates the remaining users of base/prefs includes to use components/prefs.
Sort headers in updated files.
Move PrefServiceFactory out of the base namespace. Update users.
Update all preprocessor stuff in components/prefs to change BASE_PREFS_ to
COMPONENTS_PREFS_.
Add components/prefs to DEPS file of directories where checkdeps fails after
the update.
BUG=583034
Review URL: https://codereview.chromium.org/1662523004
Cr-Commit-Position: refs/heads/master@{#373105}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- ash::Shell::GetScreen()
- DisplayInfoProvider::GetActiveScreen()
Followup to https://codereview.chromium.org/1608733002/.
R=oshima@chromium.org, sky@chromium.org
BUG=558054
Review URL: https://codereview.chromium.org/1608053002
Cr-Commit-Position: refs/heads/master@{#371733}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes gfx::SCREEN_TYPE_NATIVE/SCREEN_TYPE_ALTERNATE, and there is
now only one Screen instance. It's still a runtime-installed thing for
test purposes.
TBR=various owners for trivial changes
R=oshima@chromium.org, sky@chromium.org
BUG=558054
Review URL: https://codereview.chromium.org/1608733002
Cr-Commit-Position: refs/heads/master@{#371676}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test targets have been picked from a linux builder.
This allows these targets to build with the following CL applied:
https://codereview.chromium.org/1222403002
BUG=447445
Review URL: https://codereview.chromium.org/1578653002
Cr-Commit-Position: refs/heads/master@{#369953}
|
|
|
|
|
|
|
|
| |
Found with: git grep -l ';;$' | egrep '\.(cc|h)$' | grep -v third_party
Review URL: https://codereview.chromium.org/1558633002
Cr-Commit-Position: refs/heads/master@{#367361}
|
|
|
|
|
|
|
|
|
| |
BUG=138542
TBR=benwells@chromium.org
Review URL: https://codereview.chromium.org/1543053002
Cr-Commit-Position: refs/heads/master@{#366716}
|
|
|
|
|
|
|
|
|
|
|
| |
C++ 11 enables rvalue reference with std::move() so that removing DictionaryBuilder::Pass().
BUG=563649
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/1532193003
Cr-Commit-Position: refs/heads/master@{#366280}
|
|
|
|
|
|
|
|
| |
BUG=557422
Review URL: https://codereview.chromium.org/1537893002
Cr-Commit-Position: refs/heads/master@{#366120}
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ 11 enables rvalue reference with std::move() so that removing legacy ListBuilder::Pass() stuff.
TEST=unit_tests
BUG=563649
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/1497753002
Cr-Commit-Position: refs/heads/master@{#363970}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing code where using it.
- WaitForExtensionInstall() from c/b/e/extension_browsertest.h
which having unclear behavior. (we're not able to expect when starting observing)
- from extension_service.h where notify ..._INSTALLED_DEPRECATED
TEST=browser_tests
BUG=411568
Review URL: https://codereview.chromium.org/1403373020
Cr-Commit-Position: refs/heads/master@{#360840}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes a delegate interface between the RenderViewHost and the RenderWidgetHost, which will eventually be used for their communication.
This also allows the removal of the horrible terrible no-good RenderWidgetHost::IsRenderView().
BUG=542477
TEST=all green
Review URL: https://codereview.chromium.org/1411203010
Cr-Commit-Position: refs/heads/master@{#356286}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is another piece of work towards implementing differential
extensions update and share autoupdate code with the chrome components
system. It adds code to the extensions/browser directory that makes use
of the common autoupdate code via the update_client::UpdateClient class
to send update checks to the server, download a full .crx or
differential update, and hand back an unpacked directory with the
contents of the new extension version.
This CL does not yet add any code in chrome/ that actually uses these
new capabilities; that will be in a forthcoming CL.
BUG=490418
Review URL: https://codereview.chromium.org/1362043005
Cr-Commit-Position: refs/heads/master@{#354370}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch renames base::MessageLoop::{Quit,QuitClosure} to
base::MessageLoop::{QuitWhenIdle,QuitWhenIdleClosure}.
BUG=131220
TEST=
R=finnur@chromium.org,agl@chromium.org
Review URL: https://codereview.chromium.org/1389163008
Cr-Commit-Position: refs/heads/master@{#353545}
|
|
|
|
|
|
|
|
| |
Also adding some other overdue owners.
Review URL: https://codereview.chromium.org/1384443003
Cr-Commit-Position: refs/heads/master@{#352825}
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds a flag to the launchData in chrome.runtime.app.onLaunched
to indicate whether the app is being launched in a public session.
BUG=508608
Review URL: https://codereview.chromium.org/1375353002
Cr-Commit-Position: refs/heads/master@{#351696}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The base class for OneShotTimer and DelayedTimer is templated but
only the Start method needs to be (which has a TODO to make it go away
entirely too).
The DelayedTimer class is also templated but only its constructor
needs to be, and the type can be inferred at the callsite, so less
typing all around.
R=thakis@chromium.org
TBR=sky,brettw
BUG=148832
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1355063004
Cr-Commit-Position: refs/heads/master@{#350496}
|
|
|
|
|
|
|
|
|
|
| |
Also includes converting several sources of scoped_ptrs for URLRequestContextStorage, including the ProxyService static generators and the ShellURLRequestContextGetter protected methods to be used by subclasses.
BUG=521705
Review URL: https://codereview.chromium.org/1290243007
Cr-Commit-Position: refs/heads/master@{#349194}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extensions are interesting, in that they can be unloaded and reloaded,
and their state should be the same after this (especially since it can
happen on every browser start/stop). Any service workers that an
extension has should not be running during the time that the extension
is not loaded, but on reload, these workers should be put in place again,
and should maintain their cache.
For this, check if the extension is loaded in AllowServiceWorkers(), and
stop any running service workers when the extension is unloaded.
BUG=519326
TBR=kinuko@chromium.org (small changes to misc content/ files)
Review URL: https://codereview.chromium.org/1313213002
Cr-Commit-Position: refs/heads/master@{#348208}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Public APIs from base should live inside base:: so moved Singleton class
and structs to base{} and fixed consumers.
also fixed:
** Presubmit ERRORS **
Found Singleton<T> in the following header files.
Please move them to an appropriate source file so that the template
gets instantiated in a single compilation unit.
chrome/browser/plugins/plugin_finder.h \
chromecast/media/base/media_message_loop.h \
content/browser/media/android/media_drm_credential_manager.h
Presubmit warnings:
src/chrome/browser/extensions/warning_badge_service_factory.h:5:
#ifndef header guard has wrong style, please use:
CHROME_BROWSER_EXTENSIONS_WARNING_BADGE_SERVICE_FACTORY_H_
[build/header_guard] [5]
src/chrome/browser/extensions/warning_badge_service_factory.h:39:
#endif line should be "#endif //
CHROME_BROWSER_EXTENSIONS_WARNING_BADGE_SERVICE_FACTORY_H_"
[build/header_guard] [5]
TBR=jam@chromium.org
Review URL: https://codereview.chromium.org/1308823002
Cr-Commit-Position: refs/heads/master@{#348136}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit c811bb98b489b67a5f85ed79d7acd288533a080d.
The commit is reverted as it was decided to not add the API to platform.
Disabling presubmit to bypass enum edit check that fails as the enum value is renamed to kDelete_.
NOPRESUBMIT=true
BUG=166928
Review URL: https://codereview.chromium.org/1316013004
Cr-Commit-Position: refs/heads/master@{#347960}
|
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1328173002
Cr-Commit-Position: refs/heads/master@{#347767}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make it easier to reason about when the HidService is destroyed this
patch makes its lifetime managed by the DeviceClient implementation that
created it. This means that in Chrome the HidService is (indirectly)
owned by BrowserProcessImpl.
BUG=None
Review URL: https://codereview.chromium.org/1312993008
Cr-Commit-Position: refs/heads/master@{#346272}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make it easier to reason about when the UsbService is destroyed this
patch makes its lifetime managed by the DeviceClient implementation that
created it. This means that in Chrome the UsbService is (indirectly)
owned by BrowserProcessImpl.
BUG=None
TBR=dgozman@chromium.org
Review URL: https://codereview.chromium.org/1314273002
Cr-Commit-Position: refs/heads/master@{#346264}
|
|
|
|
|
|
|
|
|
|
| |
Adding scoped_ptr to call in order to take ownership of handler.
BUG=517161
Review URL: https://codereview.chromium.org/1295523006
Cr-Commit-Position: refs/heads/master@{#345185}
|
|
|
|
|
|
|
|
| |
BUG=517735
Review URL: https://codereview.chromium.org/1290303002
Cr-Commit-Position: refs/heads/master@{#343476}
|
|
|
|
|
|
|
|
| |
BUG=None
Review URL: https://codereview.chromium.org/1254363004
Cr-Commit-Position: refs/heads/master@{#342093}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a new extension is loaded, profile data on the IO
thread (namely the extension's entry in InfoMap) is updated
asynchronously. This data is needed to fulfill
chrome-extension URL requests coming from the extension
process.
It's possible for the extension process to start up and
request a resource (e.g. its background page) before this
async update actually executes on the IO thread, causing
the resource request to fail.
This CL prevents the extension process from starting until
the necessary IO data has been successfully updated.
BUG=514459
R=asargent@chromium.org
Review URL: https://codereview.chromium.org/1257193003
Cr-Commit-Position: refs/heads/master@{#340917}
|
|
|
|
|
|
|
|
|
|
|
| |
up with hdmi output removed.
BUG=512601
TBR=mnissler,derat, rkc
Review URL: https://codereview.chromium.org/1262723002
Cr-Commit-Position: refs/heads/master@{#340794}
|
|
|
|
|
|
|
|
|
|
| |
This allows us to remove the yucky AppSorting::SetExtensionSyncService method, as well as ExtensionSyncService::SyncOrderingChange.
BUG=None
Review URL: https://codereview.chromium.org/1251323003
Cr-Commit-Position: refs/heads/master@{#340440}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generated bundle names.
At the moment the 3 modules that use extension API schemas, those in
extensions/common/api, chrome/common/extensions/api, and extensions/shell/api,
are generated with different C++ namespaces: "core_api", "api", and
"shell::api" respectively.
This is a pointless distinction to make since as far as JS is concerned they
must all go on the window.chrome object, therefore namespace conflicts are
impossible. It just ends up adding code noise.
The only problem it solves is that all bundle compiles are generated to the
same name, "GeneratedSchemas" and "GeneratedFunctionRegistry". This patch
solves that a different way, by adding a JSON schema compiler option to give
those generated classes a prefix such that they are "GeneratedSchemas",
"ChromeGeneratedSchemas", and "ShellGeneratedSchemas" respectively.
This lets us to a global substitution from "core_api" to just "api".
R=rockot@chromium.org, dpranke@chromium.org
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/1226353004
Cr-Commit-Position: refs/heads/master@{#340119}
|
|
|
|
|
|
|
|
|
| |
BUG=503402
R=rdevlin.cronin@chromium.org, asvitkine@chromium.org
Review URL: https://codereview.chromium.org/1236493004
Cr-Commit-Position: refs/heads/master@{#339905}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the quota database is asked for the least recently used origin for
eviction it should not return any origins that have been granted the
durable storage permission.
Note that there is no easy way for a user to set this permission yet.
That is coming in https://codereview.chromium.org/1164073005/ and
https://codereview.chromium.org/1154573005/
BUG=482814
Review URL: https://codereview.chromium.org/1229933007
Cr-Commit-Position: refs/heads/master@{#339783}
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/1226673003
Cr-Commit-Position: refs/heads/master@{#337488}
|
|
|
|
|
|
|
|
|
|
| |
This cl is dedicated to refactor token service to make it easier to componentize. It introduces a new class OAuth2TokenServiceDelegate for each platform to implement it. OAuth2TokenService and its subclasses will call into platform specific delegate and the user can get that delegate through public interface GetDelegate() of OAuth2TokenService.
BUG=490882
Review URL: https://codereview.chromium.org/1143323005
Cr-Commit-Position: refs/heads/master@{#337248}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds extension_event_histogram_value.h with a value for every
Extension event (scraped using the Docserver), changes the Event struct
constructor to require one, then makes every caller pass in UNKNOWN.
These are steps 1 and 2 in the bug.
Next I will be submitting bite-sized changes to use the real histogram values.
BUG=503402
R=rdevlin.cronin@chromium.org, isherman@chromium.org
TBR=achuith@chromium.org, rkc@chromium.org, dewittj@chromium.org, tommi@chromium.org, msw@chromium.org
Review URL: https://codereview.chromium.org/1201063002
Cr-Commit-Position: refs/heads/master@{#336003}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child_process_launcher.cc
Used to be defined in each app's ContentBrowserClient, but since
content/ is the one that receives the FDs, it makes sense that it should
be the one to send them.
This also removes ChildProcessLauncher::AppendMappedFileCommandLineSwitches
as it is no longer needed.
Changes MemoryMappedFile::Region to be a POD so that it doesn't create require static initializers.
BUG=394502
Review URL: https://codereview.chromium.org/1185973003
Cr-Commit-Position: refs/heads/master@{#335207}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child_process_launcher.cc (patchset #20 id:380001 of https://codereview.chromium.org/1182443003/)
Reason for revert:
Adds new static initializers in http://build.chromium.org/p/chromium/buildstatus?builder=Linux%20x64&number=4979
# icu_util.cc cc::VertexShaderQuadAA::VertexShaderQuadAA()
# icu_util.cc base::MemoryMappedFile::MemoryMappedFile()
# icu_util.cc base::i18n::(anonymous namespace)::g_icudtl_region
# icu_util.cc base::i18n::(anonymous namespace)::g_icudtl_mapped_file
# icu_util.cc operator new(unsigned long)
Original issue's description:
> Moved logic for mapping child process FDs for ICU and V8 into child_process_launcher.cc
>
> Used to be defined in each app's ContentBrowserClient, but since
> content/ is the one that receives the FDs, it makes sense that it should
> be the one to send them.
>
> This also removes ChildProcessLauncher::AppendMappedFileCommandLineSwitches
> as it is no longer needed.
>
> BUG=394502
>
> Committed: https://crrev.com/228414fc8870f88f11ada7512e88ea6999890f56
> Cr-Commit-Position: refs/heads/master@{#334702}
TBR=jochen@chromium.org,jam@chromium.org,jungshik@google.com,michaelbai@chromium.org,rmcilroy@chromium.org,thestig@chromium.org,agrieve@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=394502
Review URL: https://codereview.chromium.org/1187213002
Cr-Commit-Position: refs/heads/master@{#334719}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child_process_launcher.cc
Used to be defined in each app's ContentBrowserClient, but since
content/ is the one that receives the FDs, it makes sense that it should
be the one to send them.
This also removes ChildProcessLauncher::AppendMappedFileCommandLineSwitches
as it is no longer needed.
BUG=394502
Review URL: https://codereview.chromium.org/1182443003
Cr-Commit-Position: refs/heads/master@{#334702}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExtensionHostMsg_Request is sent when an extension calls an API function. Before
this patch, this IPC would be sent to one of 11 different call sites, all of
which then routed it to the ExtensionFunctionDispatcher - and all of which
have to implement ExtensionFunctionDispatcher::Delegate.
Instead, have ExtensionWebContentsObserver handle the IPC, since it is created
(or should be) for all extension web contents. This also lets us eliminate many
(though not all) of the ExtensionFunctionDispatcher::Delegate implementations
(I will try to clean more up in a later patch).
The size of this patch is due to a number of yaks that needed shaving along the
way - in particular, around GuestView.
BUG=498017
BUG=405246
Review URL: https://codereview.chromium.org/1169223002
Cr-Commit-Position: refs/heads/master@{#333843}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is IMF refactoring according to the design:
- For @google.com:
https://docs.google.com/document/d/14PQN4fbbSTlJmIk6qk7RzsuNr7O22DUTfNQ6slxKWV0
- For @chromium.org:
https://docs.google.com/document/d/1sDES_kuEVUjb_FwCvKsg0Ef48edq5lAx589r0qUtG4g
This cl includes some fundamental changes:
1) ui::InputMethod is created & owned by aura::WindowTreeHost.
Therefore, the InputMethod instance can be accessed through
root_window->GetHost()->GetInputMethod, and no need to save
kRootWindowInputMethodKey instance to the root window
anymore.
2) Removed InputMethodEventFilter, therefore no need the flag
IsTranslated()/SetTranslated() on ui::KeyEvent.
3) Makes aura::WindowTreeHost as a ui::EventSource, because all
kinds of WindowTreeHost are also ui::EventSource. Therefore,
WindowTreeHost can override DeliverEventToProcessor method
to intercept key events for input method processing.
Note:
1) The key events processing by input method happens after event
rewriters and before the EventHandler's, which remains no
change to original on desktop environment. For Ash, the IME key
event handling is moved ahead of some other handles:
- MagnifierKeyScroller (CrOS only): handles Arrow keys when
magnification is enabled.
- SpokenFeedbackToggler (CrOS only): handles F6 key when
SpokenFeedbackToggler is enabled.
- OverlayEventFilter: handles ESC/OEM_2/HELP/F14 keys to
cancel the overlay UI.
2) For Ash, remains the singleton ui::InputMethod instance,
owned by DisplayController. Because if let each
AshWindowTreeHost own separated ui::InputMethod instances,
it will break things:
a) There is a test: ExtendedDesktopTest.KeyEventsOnLockScreen,
which tests the text field in root window X can be inserted
with text while dispatching key events to root window Y. I
think this test makes no sense and will confirm with oshima@.
b) For now for Ozone, DrmWindowHost::CanDispatchEvent()
always returns true, so that only primary window tree host
can receive the key events, which makes the "primary"
InputMethod can receive the key events.
c) For Virtual Keyboard on CrOS, it listens to the notification
through InputMethodObserver::OnShowImeIfNeeded(), which is
bound to the specific InputMethod instance. However, the
Virtual Keyboard should work cross multiple root windows &
InputMethod instances.
BUG=474828
TEST=Verified on local builds, including linux, cros, win7 & win8.1. And all tests passed.
Review URL: https://codereview.chromium.org/1155013005
Cr-Commit-Position: refs/heads/master@{#333698}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to stop shipping the snapshot file, and instead we want
to generate it on the client. This will reduce the download size.
But since snapshot generation will be asynchronous in a utility
process, it might not be present on the first few runs of the
browser. This means we have to be able to start up without the
snapshot file (just with the natives source file). This CL
fixes Blink to cope with a missing snapshot file (V8 could
already cope).
R=rmcilroy@chromium.org, sky@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1164483003
Cr-Commit-Position: refs/heads/master@{#333258}
|