summaryrefslogtreecommitdiffstats
path: root/extensions/shell/browser
Commit message (Collapse)AuthorAgeFilesLines
* Extensions: Using common ValueStoreFactory for all value stores.cmumford2016-03-242-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Add RetainedRef uses where needed.vmpstr2016-03-211-5/+5
| | | | | | | | | | | | | | | 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}
* Persist the user's active audio device choice across chromeos session and ↵jennyz2016-03-021-2/+4
| | | | | | | | | | | | | | | | 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}
* Make extensions::DictionaryBuilder and extensions::ListValue unmovable.dcheng2016-02-272-12/+16
| | | | | | | | | | | | | | | | | | | 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}
* Add some missing std::move()s following a previous refactoringskyostil2016-02-261-2/+2
| | | | | | | | | | | | 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}
* Remove some usages of BrowserThread::UnsafeGetMessageLoopForThreadskyostil2016-02-253-8/+8
| | | | | | | | | | No functional changes. BUG=546953 Review URL: https://codereview.chromium.org/1730533002 Cr-Commit-Position: refs/heads/master@{#377549}
* Add Bluez initialize call to startup.drustsmith2016-02-232-1/+10
| | | | | | | | | | | | 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}
* Delete base/prefs and update callers to use components.brettw2016-02-033-9/+9
| | | | | | | | | | | | | | | | | | | | | | | 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}
* Revert of Delete base/prefs and update callers to use components. (patchset ↵msw2016-02-033-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #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}
* Delete base/prefs and update callers to use components.brettw2016-02-033-9/+9
| | | | | | | | | | | | | | | | | | | | | 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}
* Remove now-unnecessary wrappers around gfx::Screen::GetScreen()scottmg2016-01-272-5/+0
| | | | | | | | | | | | | | - 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}
* Remove ui/gfx/screen_type_delegate.hscottmg2016-01-272-4/+3
| | | | | | | | | | | | | | 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}
* Make major tests target build without unused data members on Linux.mlamouri2016-01-161-1/+1
| | | | | | | | | | | | | 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}
* Cleanup: Remove double semicolons.thestig2016-01-041-1/+1
| | | | | | | | 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}
* Switch to standard integer types in extensions/.avi2015-12-2329-5/+41
| | | | | | | | | BUG=138542 TBR=benwells@chromium.org Review URL: https://codereview.chromium.org/1543053002 Cr-Commit-Position: refs/heads/master@{#366716}
* Use rvalue reference instead of extensions::DictionaryBuilder::pass()limasdf2015-12-192-14/+13
| | | | | | | | | | | 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}
* Convert Pass()→std::move() in //extensionsdcheng2015-12-185-23/+26
| | | | | | | | BUG=557422 Review URL: https://codereview.chromium.org/1537893002 Cr-Commit-Position: refs/heads/master@{#366120}
* Use rvalue reference instead of extensions::ListBuilder::Pass()limasdf2015-12-091-12/+13
| | | | | | | | | | | | 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}
* Kill NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATEDlimasdf2015-11-201-1/+1
| | | | | | | | | | | | | | 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}
* Separate RenderViewHost from RenderWidgetHost, part 4: delegateavi2015-10-271-1/+1
| | | | | | | | | | | | | 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}
* Add extensions code to use common updater in components/update_client/asargent2015-10-153-18/+8
| | | | | | | | | | | | | | | | | | | 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}
* Don't use base::MessageLoop::{Quit,QuitClosure} in extensions/, ipc/ki.stfu2015-10-121-2/+2
| | | | | | | | | | | | | 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}
* Removing pneubeck@ from OWNERS.pneubeck2015-10-071-1/+1
| | | | | | | | Also adding some other overdue owners. Review URL: https://codereview.chromium.org/1384443003 Cr-Commit-Position: refs/heads/master@{#352825}
* Add public session launch flagkelvinp2015-10-012-0/+5
| | | | | | | | | | | 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}
* base: Template methods on Timer classes instead of the classes themselves.danakj2015-09-241-1/+1
| | | | | | | | | | | | | | | | | | | 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}
* Shift URLRequestContextStorage over to taking scoped_ptrs.rdsmith2015-09-162-3/+5
| | | | | | | | | | 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}
* Don't Allow Service Workers for Unloaded Extensionsrdevlin.cronin2015-09-102-0/+8
| | | | | | | | | | | | | | | | | | | 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}
* Move Singleton and related structs to namespace baseolli.raula2015-09-103-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Remove "API proposal for chrome.app.window to intercept all keys."sriramsr2015-09-092-5/+0
| | | | | | | | | | | | | | | 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}
* Use DCHECK_CURRENTLY_ON in extensions/thestig2015-09-081-1/+1
| | | | | | Review URL: https://codereview.chromium.org/1328173002 Cr-Commit-Position: refs/heads/master@{#347767}
* Manage HidService lifetime in DeviceClient implementations.reillyg2015-08-282-2/+6
| | | | | | | | | | | | | 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}
* Manage UsbService lifetime in DeviceClient implementations.reillyg2015-08-282-2/+9
| | | | | | | | | | | | | | 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}
* Using scoped_ptr for URLRequestJobFactoryImpl::SetProtocolHandlersvaldez2015-08-241-1/+2
| | | | | | | | | | 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}
* Remove menu from ash / Windows shelf / taskbar to install ephemeral app.benwells2015-08-142-5/+0
| | | | | | | | BUG=517735 Review URL: https://codereview.chromium.org/1290303002 Cr-Commit-Position: refs/heads/master@{#343476}
* Move ownership of AppSorting from ExtensionPrefs to ExtensionSystemtreib2015-08-064-15/+8
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1254363004 Cr-Commit-Position: refs/heads/master@{#342093}
* Defer extension process creation until IO data initializedrockot2015-07-292-13/+27
| | | | | | | | | | | | | | | | | | | | | | | 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}
* Fix the UI issue for showing output muted in ash tray after the device wakes ↵jennyz2015-07-282-3/+3
| | | | | | | | | | | 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}
* Cleanup: give ChromeAppSorting a BrowserContexttreib2015-07-272-2/+4
| | | | | | | | | | 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}
* Generate all extension schema namespaces as "api" and instead vary the ↵kalman2015-07-235-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Final batch adding real histogram values for extension events.kalman2015-07-222-6/+6
| | | | | | | | | BUG=503402 R=rdevlin.cronin@chromium.org, asvitkine@chromium.org Review URL: https://codereview.chromium.org/1236493004 Cr-Commit-Position: refs/heads/master@{#339905}
* Make quota logic obey durable storage permissiondgrogan2015-07-212-0/+7
| | | | | | | | | | | | | | | | 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}
* Move MatchPattern to its own header and the base namespace.brettw2015-07-061-2/+3
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/1226673003 Cr-Commit-Position: refs/heads/master@{#337488}
* Refactor AO2TS to make it easier to componentizegogerald2015-07-026-48/+125
| | | | | | | | | | 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}
* Set up the infrastructure for Extension event metrics.kalman2015-06-241-1/+1
| | | | | | | | | | | | | | | | | 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}
* Take 2: Moved logic for mapping child process FDs for ICU and V8 into ↵agrieve2015-06-192-62/+1
| | | | | | | | | | | | | | | | | | 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}
* Revert of Moved logic for mapping child process FDs for ICU and V8 into ↵mek2015-06-162-1/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Moved logic for mapping child process FDs for ICU and V8 into ↵agrieve2015-06-162-62/+1
| | | | | | | | | | | | | | | | | 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}
* [Extensions] Clean up the handling of ExtensionHostMsg_Requestrdevlin.cronin2015-06-105-0/+19
| | | | | | | | | | | | | | | | | | | | | | 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}
* Refactoring the ownership of ui::InputMethod.shuchen2015-06-102-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Allow startup with missing V8 snapshot file.erikcorry2015-06-082-8/+19
| | | | | | | | | | | | | | | | | | 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}