summaryrefslogtreecommitdiffstats
path: root/extensions/shell
Commit message (Collapse)AuthorAgeFilesLines
...
* 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}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | This is a redo of https://codereview.chromium.org/1245873002 c6649f2e014a24a909 with fix for Official build. Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1320793004 Cr-Commit-Position: refs/heads/master@{#347912}
* 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}
* Revert of Fix sbox_validation_tests & Make isolate_driver.py include the ↵stgao2015-09-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executable itself (patchset #3 id:90001 of https://codereview.chromium.org/1245873002/ ) Reason for revert: This CL seems to break compile http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux%20x64/builds/3900/. If the revert doesn't fix it, I will re-land this CL. Original issue's description: > Fix sbox_validation_tests & Make isolate_driver.py include the executable itself > > Further reduce the boilerplate in .isolate files and is necessary to add debug > symbols, to be done in a follow up. > > Slightly accelerate ninja file parsing by blacklisting more extensions. > > sbox_validation_tests wasn't run on Windows since > https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL > uncovered this copy-paste error. > > TBR=jam@chromium.org > BUG=98637 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/c6649f2e014a24a9093140a06fcadcaf2a06513c > Cr-Commit-Position: refs/heads/master@{#347027} TBR=jam@chromium.org,maruel@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=98637 Review URL: https://codereview.chromium.org/1329783003 Cr-Commit-Position: refs/heads/master@{#347071}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-021-1/+0
| | | | | | | | | | | | | | | | | | | Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1245873002 Cr-Commit-Position: refs/heads/master@{#347027}
* Revert of Add missing runtime dependencies to *_run targets. (patchset #1 ↵maruel2015-09-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/1255653003/ ) Reason for revert: Broke iOS Device builder again. It fetched by accident osmesa again. Will have to investigate which target does this. Ref: http://build.chromium.org/p/chromium.mac/builders/iOS_Device/builds/19013 Original issue's description: > Add missing runtime dependencies to *_run targets. > > A follow up CL removes dynamic libraries that would be fetched automatically via > implicit dependencies. The target hierarchy needs to be there in the first > place for this to work. > > This is a redo of d7b8df80cd5ce2a882bbf35482dc21cee34934f9 but with a fix for > iOS and update to BUILD.gn files. > > TBR=jam@chromium.org,dpranke@chromium.org > BUG=98637 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/ac2496af24009df795fe0dc33d419e8a4971a8ec > Cr-Commit-Position: refs/heads/master@{#346705} TBR=jam@chromium.org,dpranke@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=98637 Review URL: https://codereview.chromium.org/1314313003 Cr-Commit-Position: refs/heads/master@{#346713}
* Add missing runtime dependencies to *_run targets.maruel2015-09-011-0/+2
| | | | | | | | | | | | | | | | | A follow up CL removes dynamic libraries that would be fetched automatically via implicit dependencies. The target hierarchy needs to be there in the first place for this to work. This is a redo of d7b8df80cd5ce2a882bbf35482dc21cee34934f9 but with a fix for iOS and update to BUILD.gn files. TBR=jam@chromium.org,dpranke@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1255653003 Cr-Commit-Position: refs/heads/master@{#346705}
* Annotate GN executables and shared_libraries with sanitizer deps.brettw2015-08-311-0/+1
| | | | | | | | | | | | | | | | | These are needed to link in asan/lsan/etc. mode. GYP injects these automatically but GN doesn't have automatic dependency injection. All tests and components (which cover the vast majority of such targets in actual use) are templates which add these dependencies already, so most of the time it never comes up. Only a few of these changes are actually necessary to link all tests run on the asan bot (which is also what engineers will typically build, since almost nobody will build all in asan mode). But to reduce confusion from linker errors in asan mode, I annotated all executables and shared libraries I could find with the sanitizer dependency. I moved a config out of a target in yasm, and sorted a fews deps on other targets. TBR=xhwang@chromium.org (widevine) TBR=achuith@chromium.org (tools/perf, tools/telemetry) Review URL: https://codereview.chromium.org/1318343003 Cr-Commit-Position: refs/heads/master@{#346490}
* 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}
* Rename CoalescedPermissionMessage to PermissionMessagetreib2015-08-271-2/+2
| | | | | | | | | | | | | It's now the only kind of permission message :) TBRing a bunch of trivial renames in c/b/ui. TBR=sky@chromium.org BUG=398257 Review URL: https://codereview.chromium.org/1309143003 Cr-Commit-Position: refs/heads/master@{#345913}
* 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}
* Fixing dependencies of the reverted commit of the chrome.i18n.detectLanguage ↵amalika2015-08-242-0/+8
| | | | | | | | | | | | | | | | | | | API. Implementation on the renderer side Please, see Original CL: https://codereview.chromium.org/1208993011/ Reverted: https://codereview.chromium.org/1244343002/ Temp CL we used to figure out deps: https://codereview.chromium.org/1268813004/ Initial patch for detectLanguage API implementation BUG=517628 Review URL: https://codereview.chromium.org/1273903002 Cr-Commit-Position: refs/heads/master@{#345134}
* Setup for moving getUserMedia to secure origins onlyjww2015-08-211-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes two notable changes: * Removes the browser tests that verify that the getUserMedia permission is not "sticky" on insecure origins. * Moves the addition of the chrome-extension: and chrome-extension-resource: schemes to extensions::Dispatcher. The former is necessary because once getUserMedia is removed from insecure origins, the browser test will (correctly) fail. Thus this is part of a two sided patch. The later is necessary because extension browser tests that use getUserMedia will start failing once the change is made, because the tests use ShellContentRendererClient, which doesn't currently treat chrome-extension: schemes as secure, so getUserMedia will be disallowed by the renderer. By marking the scheme as secure in extensions::Dispatcher instead of in ChromeContentRendererClient::RenderThreadStarted, the schemes will be marked as secure in ShellContentRendererClient as well, so getUserMedia will be allowed in the browser tests. BUG=520765 Review URL: https://codereview.chromium.org/1301653005 Cr-Commit-Position: refs/heads/master@{#344635}
* Extensions: Remove PermissionMessage (permission_message.h/cc)treib2015-08-202-11/+0
| | | | | | | | | | | | and all the (unused) code that referenced it. [This is part 5 of operation "remove the old permission message system".] BUG=398257 Review URL: https://codereview.chromium.org/1213623006 Cr-Commit-Position: refs/heads/master@{#344495}
* Allow url::SchemeHostPort to hold non-file scheme without porttyoshino2015-08-192-4/+13
| | | | | | | | | | | | | | | | | WebSockets use url::Origin to pass origin info between renderer and browser. Currently, it cannot hold an origin with non-file scheme and no port. Chrome extensions have been using such origins, so we need to keep the channel to convey origin info work for such origins. BUG=516971 R=sleevi,brettw Committed: https://crrev.com/1ac9ec7bccd1b5178b18338b10149f36292f5fb6 Cr-Commit-Position: refs/heads/master@{#343895} Review URL: https://codereview.chromium.org/1272113002 Cr-Commit-Position: refs/heads/master@{#344181}
* Revert of Allow url::SchemeHostPort to hold non-file scheme without port ↵msramek2015-08-182-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #16 id:320001 of https://codereview.chromium.org/1272113002/ ) Reason for revert: Broken build. http://build.chromium.org/p/chromium.mac/builders/iOS_Device_%28ninja%29/builds/17899/steps/compile/logs/stdio Original issue's description: > Allow url::SchemeHostPort to hold non-file scheme without port > > WebSockets use url::Origin to pass origin info between renderer and > browser. Currently, it cannot hold an origin with non-file scheme and > no port. Chrome extensions have been using such origins, so we need > to keep the channel to convey origin info work for such origins. > > BUG=516971 > R=sleevi,brettw > > Committed: https://crrev.com/1ac9ec7bccd1b5178b18338b10149f36292f5fb6 > Cr-Commit-Position: refs/heads/master@{#343895} TBR=rsleevi@chromium.org,mkwst@chromium.org,brettw@chromium.org,tyoshino@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=516971 Review URL: https://codereview.chromium.org/1301563003 Cr-Commit-Position: refs/heads/master@{#343898}
* Allow url::SchemeHostPort to hold non-file scheme without porttyoshino2015-08-182-4/+13
| | | | | | | | | | | | | | WebSockets use url::Origin to pass origin info between renderer and browser. Currently, it cannot hold an origin with non-file scheme and no port. Chrome extensions have been using such origins, so we need to keep the channel to convey origin info work for such origins. BUG=516971 R=sleevi,brettw Review URL: https://codereview.chromium.org/1272113002 Cr-Commit-Position: refs/heads/master@{#343895}
* 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}
* Extensions: Remove the intermediate PermissionMessageStrings interfacetreib2015-08-041-1/+1
| | | | | | | | | | | | | | | Switch all callers over to the new system (CoalescedPermissionMessages). Also rename GetCoalescedPermissionMessages to GetPermissionMessages - it's the only way to get permission messages now. [This is part 2 of operation "remove the old permission message system".] TBRing trivial changes in ephemeral_app_launcher.cc and extension_install_dialog_view_browsertest.cc. TBR=benwells@chromium.org BUG=398257 Review URL: https://codereview.chromium.org/1218373003 Cr-Commit-Position: refs/heads/master@{#341734}
* Extensions: Remove the old permission message interfacetreib2015-08-031-18/+0
| | | | | | | | | | | | Remove all the *Legacy* methods, the old coalescing/suppression rules, and the code/field trial to switch between old and new system. [This is part 1 of operation "remove the old permission message system".] BUG=398257 Review URL: https://codereview.chromium.org/1179713006 Cr-Commit-Position: refs/heads/master@{#341503}
* 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}
* Add more isolates to the GN build:dpranke2015-07-241-0/+22
| | | | | | | | | | | | | | | | | | | | This patches adds the right data and data_deps annotations, and the buildbot mappings needed for: - app_list_unittests - app_shell_unittests (partially, there are issues still) - aura_unittests - cast_unittests - ui_touch_selection_unittests - wm_unittests R=brettw@chromium.org BUG=504079 CQ_EXTRA_TRYBOTS=tryserver.chromium.mac:mac_chromium_gn_rel Review URL: https://codereview.chromium.org/1246843003 Cr-Commit-Position: refs/heads/master@{#340341}
* Generate all extension schema namespaces as "api" and instead vary the ↵kalman2015-07-238-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Revert of Add missing dependencies. (patchset #7 id:120001 of ↵courage2015-07-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1242323004/) Reason for revert: It looks to me like this broke the iOS_Device builder starting at https://build.chromium.org/p/chromium.mac/builders/iOS_Device/builds/14003, despite the green trybots. === BUILD TARGET osmesa OF PROJECT mesa WITH CONFIGURATION Release === Check dependencies CodeSign error: code signing is required for product type 'Dynamic Library' in SDK 'iOS 8.3' ** BUILD FAILED ** The following build commands failed: Check dependencies (1 failure) Original issue's description: > Add missing runtime dependencies to *_run targets. > > A follow up CL removes dynamic libraries that would be fetched automatically via > implicit dependencies. The target hierarchy needs to be there in the first > place for this to work. > > R=jam@chromium.org > BUG=98637 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/d7b8df80cd5ce2a882bbf35482dc21cee34934f9 > Cr-Commit-Position: refs/heads/master@{#339994} TBR=jam@chromium.org,danakj@chromium.org,marcheu@chromium.org,maruel@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=98637 Review URL: https://codereview.chromium.org/1247533003 Cr-Commit-Position: refs/heads/master@{#340015}
* Add missing runtime dependencies to *_run targets.maruel2015-07-231-0/+2
| | | | | | | | | | | | | | A follow up CL removes dynamic libraries that would be fetched automatically via implicit dependencies. The target hierarchy needs to be there in the first place for this to work. R=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1242323004 Cr-Commit-Position: refs/heads/master@{#339994}
* 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}
* Remove legacy StartsWithASCII function.brettw2015-07-161-1/+2
| | | | | | | | | | | This replaces it with base::StartsWith and the appropriate case flag. Since the existing version only ever did case-insensitive tests in ASCII, there should be no behavior change. BUG=506255 TBR=jam Review URL: https://codereview.chromium.org/1242023005 Cr-Commit-Position: refs/heads/master@{#339175}
* Move MatchPattern to its own header and the base namespace.brettw2015-07-062-3/+5
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/1226673003 Cr-Commit-Position: refs/heads/master@{#337488}
* Refactor AO2TS to make it easier to componentizegogerald2015-07-027-48/+127
| | | | | | | | | | 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}
* Convert app_shell_unittests to run on Swarmingreillyg2015-07-012-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | 0 configs already ran on Swarming 13 used to run locally and were converted: - chromium.chromiumos.json: Linux ChromiumOS Ozone Tests (1) - chromium.chromiumos.json: Linux ChromiumOS Tests (1) - chromium.chromiumos.json: Linux ChromiumOS Tests (dbg)(1) - chromium.linux.json: Linux Tests - chromium.linux.json: Linux Tests (dbg)(1) - chromium.linux.json: Linux Tests (dbg)(1)(32) - chromium.webkit.json: Linux ChromiumOS Tests (1) - chromium.webkit.json: Linux ChromiumOS Tests (dbg)(1) - chromium.win.json: Vista Tests (1) - chromium.win.json: Win 7 Tests x64 (1) - chromium.win.json: Win7 Tests (1) - chromium.win.json: Win7 Tests (dbg)(1) - chromium.win.json: XP Tests (1) Ran: ./manage.py --convert app_shell_unittests BUG=98637 Review URL: https://codereview.chromium.org/1218023007 Cr-Commit-Position: refs/heads/master@{#336943}
* 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}
* Split out content/child's SiteIsolationPolicy into two new classes.nick2015-06-162-3/+2
| | | | | | | | | | | | | New classes are CrossSiteDocumentClassifier and SiteIsolationStatsGatherer. The latter employs the former. In a follow-on change I'll split these into two files, and move CrossSiteDocumentClassifier into content/common. SiteIsolationStatsGatherer will stay where it is. BUG=481066, 268640 Review URL: https://codereview.chromium.org/1181493002 Cr-Commit-Position: refs/heads/master@{#334755}
* 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}
* Move StartsWith[ASCII] to base namespace.brettw2015-06-121-1/+2
| | | | | | | | | NOPRESUBMIT=true (no presubmit due to removing base:: from a ScopedAllowIO) Review URL: https://codereview.chromium.org/1172183002 Cr-Commit-Position: refs/heads/master@{#334108}
* [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}
* Extract EventRouter from ExtensionSystem.juncai2015-06-042-11/+0
| | | | | | | | | | | This patch removes event_router accessor from ExtensionSystem. EventRouter is now a browser context keyed service. BUG=496281 Review URL: https://codereview.chromium.org/1148983004 Cr-Commit-Position: refs/heads/master@{#332745}
* [Extensions OOPI] Make programmatic script injection use frame logicrdevlin.cronin2015-06-021-1/+1
| | | | | | | | | | | | | | Instead of sending an inject message to a single RenderView, have the browser send inject messages to each of the relevant render frames, and eliminate the usage of RenderView. For now, permissioning is still done on the renderer side, and content scripts are unchanged. BUG=455776 Review URL: https://codereview.chromium.org/1156583002 Cr-Commit-Position: refs/heads/master@{#332471}
* Move guest view container message routing out of content/.lazyboy2015-06-022-9/+8
| | | | | | | | | | | | | GuestViews used to receive messages through BrowserPlugin, this CL makes GuestView message routing possible without BrowserPlugin. This is a prerequisite for making <webview> pluginless. BUG=330264 Test=None, internal change only. Review URL: https://codereview.chromium.org/1161483004 Cr-Commit-Position: refs/heads/master@{#332430}