summaryrefslogtreecommitdiffstats
path: root/extensions/extensions.gypi
Commit message (Collapse)AuthorAgeFilesLines
* Extensions: Using common ValueStoreFactory for all value stores.cmumford2016-03-241-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* [chrome.displaySource] Implement media packetizer.eero.hakkinen2016-03-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | The WiFi Display media packetizer extends a WiFi Display transport stream packetizer and packetizes Transport Stream (TS) packets further to media datagram (RTP) packets which can be passed to a remote sink over an UDP connection. This is part of a WiFi Display packetizer patch series: * https://codereview.chromium.org/1796123002/ WiFi Display elementary stream packetizer * https://codereview.chromium.org/1800493003/ WiFi Display elementary stream descriptors * https://codereview.chromium.org/1797953002/ WiFi Display transport stream packetizer * https://codereview.chromium.org/1796073003/ <-- this CL WiFi Display media packetizer BUG=242107 Review URL: https://codereview.chromium.org/1796073003 Cr-Commit-Position: refs/heads/master@{#382829}
* [chrome.displaySource] Implement transport stream packetizer.eero.hakkinen2016-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The WiFi Display transport stream packetizer packetizes unit buffers first to Packetized Elementary Stream (PES) packets (using a WiFi Display elementary stream packetizer) and then to Transport Stream (TS) packets. It will be used as a base class for a WiFi Display media packetizer. This is part of a WiFi Display packetizer patch series: * https://codereview.chromium.org/1796123002/ WiFi Display elementary stream packetizer * https://codereview.chromium.org/1800493003/ WiFi Display elementary stream descriptors * https://codereview.chromium.org/1797953002/ <-- this CL WiFi Display transport stream packetizer * https://codereview.chromium.org/1796073003/ WiFi Display media packetizer BUG=242107 Review URL: https://codereview.chromium.org/1797953002 Cr-Commit-Position: refs/heads/master@{#382706}
* Add code to implement extension uninstall pingsasargent2016-03-211-0/+2
| | | | | | | | | | We'll only send these for extensions hosted in the webstore BUG=501641 Review URL: https://codereview.chromium.org/1817653002 Cr-Commit-Position: refs/heads/master@{#382440}
* [chrome.displaySource] Implement some elementary stream descriptors.eero.hakkinen2016-03-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | WiFi Display elementary stream descriptors are used for passing descriptive information about elementary streams to a WiFi Display transport stream packetizer which then packetizes that information so that it can be passed to a remote sink. This is part of a WiFi Display packetizer patch series: * https://codereview.chromium.org/1796123002/ WiFi Display elementary stream packetizer * https://codereview.chromium.org/1800493003/ <-- this CL WiFi Display elementary stream descriptors * https://codereview.chromium.org/1797953002/ WiFi Display transport stream packetizer * https://codereview.chromium.org/1796073003/ WiFi Display media packetizer BUG=242107 Review URL: https://codereview.chromium.org/1800493003 Cr-Commit-Position: refs/heads/master@{#382245}
* [chrome.displaySource] Implement elementary stream packetizer.eero.hakkinen2016-03-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | The WiFi Display elementary stream packetizer packetizes unit buffers to Packetized Elementary Stream (PES) packets. It will be used internally by a WiFi Display transport stream packetizer. This is part of a WiFi Display packetizer patch series: * https://codereview.chromium.org/1796123002/ <-- this CL WiFi Display elementary stream packetizer * https://codereview.chromium.org/1800493003/ WiFi Display elementary stream descriptors * https://codereview.chromium.org/1797953002/ WiFi Display transport stream packetizer * https://codereview.chromium.org/1796073003/ WiFi Display media packetizer BUG=242107 Review URL: https://codereview.chromium.org/1796123002 Cr-Commit-Position: refs/heads/master@{#381945}
* Extensions: Extract lazy leveldb operations into LazyLevelDb.cmumford2016-03-151-0/+2
| | | | | | | | | | | | | | Extracted (the bulk of) the leveldb operations from LeveldbValueStore into a new base class: LazyLevelDb. The purpose of this change is to support an upcoming shared database class that also needs to read/write from/to a leveldb, but partitioned for different key spaces. This is part 2 from crrev.com/1658833003 BUG=453946 Review URL: https://codereview.chromium.org/1788893002 Cr-Commit-Position: refs/heads/master@{#381239}
* Migrate ProcessesEventRouter to the new task managerafakhry2016-03-111-2/+0
| | | | | | | | | | | | | | This CL migrates the dependency of the ProcessesAPIs to the new task manager implementation. The API of the process info has been fixed, since processes don't have titles, instead we added a list of tasks running in that process, with their titles and optional tab IDs. BUG=525201,591581 TEST=browser_tests --gtest_filter=ProcessesApiTest.* Review URL: https://codereview.chromium.org/1584473004 Cr-Commit-Position: refs/heads/master@{#380696}
* [chrome.displaySource] Use WDS for Wi-Fi Display implementationmikhail.pozdnyakov2016-02-291-1/+3
| | | | | | | | | | | | | | | The WDS library implements a Wi-Fi Display dialect of RTSP that includes the parser, actual negotiation logic for sink and source, and the related data structures. This patch contains initial implementation of WDS library embedder interfaces. BUG=242107 Review URL: https://codereview.chromium.org/1698473004 Cr-Commit-Position: refs/heads/master@{#378182}
* [Extensions] Wire up the ActiveScriptController for WebRequestsrdevlin.cronin2016-02-021-0/+1
| | | | | | | | | | | | Add pieces in ActiveScriptController to handle web requests being blocked by click-to-script (--scripts-require-action). Right now, these are only stubs - the next patch will actually call them. BUG=460306 Review URL: https://codereview.chromium.org/1646133002 Cr-Commit-Position: refs/heads/master@{#373064}
* Implement webview.captureVisibleRegion()wjmaclean2016-02-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL implements webview.captureVisibleRegion(), an extension/apps API to allow WebView users to capture screenshots of the contents displayed in a WebView. The surfaces contents capture has been plumbed via RenderWidgetHostViewChildFrame so this implementation should not require changes when WebView switches to using OOPIF. As part of the implementation, there are two notable refactors: 1) CaptureWebContentsFunction has been refactored into WebContentsCaptureClient to remove the extensions::AsyncExtensionFunction dependence so that this code can be used by both tabs.captureVisibleTab and webview.captureVisibleRegion, and 2) common code from DelegatedFrameHost has ben moved to content/browser/compositor/surface_utils.* in order to avoid duplication as both DelegatedFrameHost and RenderWidgetHostViewChildFrame now use the code. Finally, this CL adds a surface-drawn callback to RenderWidgetHostViewChildFrame, to allow deferring a screen capture request until a frame has actually been drawn. This callback can be used to simplify some existing tests. BUG=326755 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review URL: https://codereview.chromium.org/1635513003 Cr-Commit-Position: refs/heads/master@{#372799}
* Remove the code added to make extensions compile on Aura Android.mfomitchev2016-01-281-1/+0
| | | | | | | | BUG=NONE Review URL: https://codereview.chromium.org/1551423003 Cr-Commit-Position: refs/heads/master@{#372106}
* Observe adding external extensions via windows registry.lazyboy2016-01-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Install the extension right away (no chrome restart). For registry changes, we only look at 32-bit registry values for extensions, see https://developer.chrome.com/extensions/external_extensions#registry A lot of the changes in this CL is to make ExternalProvider-s be able to discover new external extensions at times other than chrome start up. The added method is OnExternalProviderUpdateComplete(), which provides a list of a. Extensions that were added via update_url, b. Extensions that were added via crx, c. Extensions that were removed. BUG=581756 Test=While chrome is running, add a registry entry for an extension under HKLM or HKCU as described in https://developer.chrome.com/extensions/external_extensions#registry Now observe that external install would appear for that extension in chrome shortly. If you had some extension installed this way, removing the registry entry would cause the extension to be uninstalled too! Review URL: https://codereview.chromium.org/1495403002 Cr-Commit-Position: refs/heads/master@{#371911}
* Revert of Implement webview.captureVisibleRegion() (patchset #9 id:160001 of ↵tsergeant2016-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1582053002/ ) Reason for revert: The test WebViewAPITest.TestCaptureVisibleRegion is failing on several windows bots: https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/45040 https://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/42690 https://build.chromium.org/p/chromium.win/builders/Vista%20Tests%20%281%29/builds/64394 Original issue's description: > Implement webview.captureVisibleRegion() > > This CL implements webview.captureVisibleRegion(), an extension/apps > API to allow WebView users to capture screenshots of the contents > displayed in a WebView. The surfaces contents capture has been plumbed > via RenderWidgetHostViewChildFrame so this implementation should not > require changes when WebView switches to using OOPIF. > > As part of the implementation, there are two notable refactors: > > 1) CaptureWebContentsFunction has been refactored into > WebContentsCaptureClient to remove the extensions::AsyncExtensionFunction > dependence so that this code can be used by both tabs.captureVisibleTab > and webview.captureVisibleRegion, and > > 2) common code from DelegatedFrameHost has ben moved to > content/browser/compositor/surface_utils.* in order to avoid duplication > as both DelegatedFrameHost and RenderWidgetHostViewChildFrame now > use the code. > > BUG=326755 > > Committed: https://crrev.com/5b8cdcc82fc9da7bab15fd3dbf65df843dc73589 > Cr-Commit-Position: refs/heads/master@{#370565} TBR=rockot@chromium.org,creis@chromium.org,kenrb@chromium.org,nick@chromium.org,fsamuel@chromium.org,wjmaclean@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=326755 Review URL: https://codereview.chromium.org/1614703003 Cr-Commit-Position: refs/heads/master@{#370641}
* Implement webview.captureVisibleRegion()wjmaclean2016-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This CL implements webview.captureVisibleRegion(), an extension/apps API to allow WebView users to capture screenshots of the contents displayed in a WebView. The surfaces contents capture has been plumbed via RenderWidgetHostViewChildFrame so this implementation should not require changes when WebView switches to using OOPIF. As part of the implementation, there are two notable refactors: 1) CaptureWebContentsFunction has been refactored into WebContentsCaptureClient to remove the extensions::AsyncExtensionFunction dependence so that this code can be used by both tabs.captureVisibleTab and webview.captureVisibleRegion, and 2) common code from DelegatedFrameHost has ben moved to content/browser/compositor/surface_utils.* in order to avoid duplication as both DelegatedFrameHost and RenderWidgetHostViewChildFrame now use the code. BUG=326755 Review URL: https://codereview.chromium.org/1582053002 Cr-Commit-Position: refs/heads/master@{#370565}
* Add WiFi Display session class skeleton and mojo servicemikhail.pozdnyakov2016-01-141-0/+11
| | | | | | | | | | | | | | | | | | | This patch introduces a WiFi Display session class skeleton and mojo service which provides network access for the render-hosted session. The introduced code is compiled only if a newly added 'enable_wifi_display' build option is set. Besides, some minor changes were applied to the DisplaySourceConnectionDelegate interface in order to better define its methods behavior. BUG=242107 Review URL: https://codereview.chromium.org/1540563002 Cr-Commit-Position: refs/heads/master@{#369415}
* WebRequest API cleanuprob2016-01-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup changes: - Moved the event dictionary generation logic to a new class (WebRequestEventDetails), to deduplicate logic and make it easier to manipulate the event details. - Remove some unused aliases, forward-declarations and includes. - Fixed a few typos. - Moved ExtraInfoSpec to web_request_api_helpers. - Remove ExtractRequestInfoDetails. - Solved TODOs from https://codereview.chromium.org/1413853005/ - Avoid unnecessary copying of event details (request body and headers, response headers). Previously these dictionaries were always copied and removed later, which is wasteful. Visible changes: - When a request has no response headers, the status code defaults to -1 (from URLRequestJob) instead of a dummy value of 200. This affects the webRequest.onResponseStarted and webRequest.onCompleted events for file: and ftp: requests. The new behavior is consistent with the webRequest.onBeforeRedirect event (which also reports -1 for unknown statuses). - requestBody is only included if set in extraInfoSpec (bug 542719). BUG=432875,542719 TEST=./browser_tests --gtest_filter=ExtensionWebRequestApiTest.* ./unit_tests --gtest_filter=ExtensionWebRequestTest.* Review URL: https://codereview.chromium.org/1577673002 Cr-Commit-Position: refs/heads/master@{#368979}
* Use FrameTreeNode ID as frameId in extension APIsrob2016-01-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use FrameTreeNode IDs instead of RenderFrame routing IDs as "frame id" in the extension APIs (webNavigation, webRequest, extension messaging) because FTN IDs are globally unique, and RFH IDs are not. This extends the public content API with: - RenderFrameHost::FromFrameTreeNodeId - RenderFrameHost::GetFrameTreeNodeId - WebContents::FindFrameByFrameTreeNodeId The extension APIs are modified as follows: - webRequest: * Frame IDs may be unavailable after frame removal (crbug.com/572930). * Blocking webRequest handlers may be slower than before due to an extra IO->UI->IO hop to determine the frameId (but this happens only once per frame load). - webNavigation: * processId is no longer required in chrome.webNavigation.getFrame, but marked as optional (deprecated) to make sure that the API is backwards-compatible. * frameId is constant across navigations. - Extension messaging (chrome.runtime.connect and friends): * Small change for extension developers in the following scenario: 1. Open port to tab. 2. Accept the port by listening to onConnect *in a child frame*. 3. Unload the document in the frame. Old behavior: onDisconnect was not triggered in the background until the tab was reloaded or closed. New behavior: onDisconnect is called. * Extension messaging works correctly in out-of-process frames. * Move port lifetime management from renderer to browser. * Tie port lifetime to frames instead of processes. * Only notify frames in renderers if they have accepted the port. * Remove obsolete work-around for crbug.com/520303. * Unify open/close/postMessage logic in ChromeExtensionMessageFilter (crbug.com/394383#c7) - The extension frameId logic is no longer scattered over several files, but resides in a single class (ExtensionApiFrameIdMap). - IDs are now guaranteed to be -1 or higher (before this, -2 was occasionally seen). Depends on https://codereview.chromium.org/1413853005/ BUG=432875 TEST=browser_tests --gtest_filter=\ ExtensionWebRequestApiTest.*:\ WebNavigationApiTest.*:\ ExtensionApiTest.Messaging*:\ ExternallyConnectableMessagingTest.*:\ ExternallyConnectableMessagingWithTlsChannelIdTest.* Review URL: https://codereview.chromium.org/1413543005 Cr-Commit-Position: refs/heads/master@{#367914}
* chrome.displaySource custom bindingsmikhail.pozdnyakov2015-12-091-0/+4
| | | | | | | | | | | | | | | | | | | | This patch introduces custom bindings for 'chrome.displaySource' API. These are bindings for 'startSession', 'terminateSession' methods and for the 'onSessionStarted', 'onSessionTerminated', 'onSessionErrorOccured' events. The bindings should belong to render process (i.e. be custom) as: 1) they accept dom objects arguments (MediaStreamTrack) 2) for security reasons: to keep all protocols handling within sandbox The abstract 'DisplaySourceSession' class is added to be implemented by the 'chrome.displaySource' API backends. BUG=242107 Review URL: https://codereview.chromium.org/1471243002 Cr-Commit-Position: refs/heads/master@{#364045}
* ValueStore::Error is now an inline member (not a ptr) of ResultTypes.cmumford2015-12-011-2/+0
| | | | | | | | | | Simplifies the code if ValueStore::Error is not referenced by a pointer, but instead is a member of ReadResultType and WriteResultType. Review URL: https://codereview.chromium.org/1462483004 Cr-Commit-Position: refs/heads/master@{#362317}
* Introduce chrome.displaySource APImikhail.pozdnyakov2015-11-181-0/+10
| | | | | | | | | | | | | | | This patch introduces the 'chrome.displaySource' API including the idl file and the permission string and feature. The patch also provides bindings code and the implementation delegate interface for the 'getAvailableSinks', 'requestAuthentication' methods and for the 'onSinksUpdated' event. The API tests are included. The API proposal doc: https://docs.google.com/document/d/1svs0p_b6KAIiBrKjaORsA2D8Pd84u8ksnTCfubYVVWA BUG=242107 Review URL: https://codereview.chromium.org/1410093008 Cr-Commit-Position: refs/heads/master@{#360299}
* [Reland] [ExtensionView] Add extension id whitelisting for ExtensionView.apacible2015-11-131-0/+2
| | | | | | | | | | | | | | | | Per discussion with Chrome Eng Review, all extension ids that can be loaded by ExtensionView will be explicitly whitelisted in extension_view_whitelist.cc/h. This change whitelists the extension id used in browser tests, as well extension ids related to Media Router. This also removes some old logging and simplifies the test skeleton extensions. This is a reland of https://codereview.chromium.org/1419143009. BUG=552207, 552208 Review URL: https://codereview.chromium.org/1438733003 Cr-Commit-Position: refs/heads/master@{#359605}
* Revert of [ExtensionView] Add extension id whitelisting for ExtensionView. ↵tommi2015-11-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:100001 of https://codereview.chromium.org/1419143009/ ) Reason for revert: Reverting due to global variable (sizes regression). Original issue's description: > [ExtensionView] Add extension id whitelisting for ExtensionView. > > Per discussion with Chrome Eng Review, all extension ids that can be loaded by ExtensionView will be explicitly whitelisted in extension_view_whitelist.cc/h. > > This change whitelists the extension id used in browser tests, as well extension ids related to Media Router. > > This also removes some old logging and simplifies the test skeleton extensions. > > BUG=552207, 552208 > > Committed: https://crrev.com/47fa637f50f0bbf984b14b8dacbf8ed66e552091 > Cr-Commit-Position: refs/heads/master@{#359053} TBR=brettw@chromium.org,apacible@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=552207, 552208 Review URL: https://codereview.chromium.org/1434913002 Cr-Commit-Position: refs/heads/master@{#359077}
* [ExtensionView] Add extension id whitelisting for ExtensionView.apacible2015-11-111-0/+2
| | | | | | | | | | | | | | Per discussion with Chrome Eng Review, all extension ids that can be loaded by ExtensionView will be explicitly whitelisted in extension_view_whitelist.cc/h. This change whitelists the extension id used in browser tests, as well extension ids related to Media Router. This also removes some old logging and simplifies the test skeleton extensions. BUG=552207, 552208 Review URL: https://codereview.chromium.org/1419143009 Cr-Commit-Position: refs/heads/master@{#359053}
* Aura on Android: Stub implementation of UsbPrinterManifestHandler.moshayedi2015-11-031-0/+1
| | | | | | | | BUG=507792 Review URL: https://codereview.chromium.org/1409033007 Cr-Commit-Position: refs/heads/master@{#357597}
* Add extensions code to use common updater in components/update_client/asargent2015-10-151-0/+6
| | | | | | | | | | | | | | | | | | | 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}
* Remove stash_client.js dependency on unload_event.jsdcheng2015-10-031-1/+0
| | | | | | | | | | | | | | | unload_event is problematic because it runs JS at inopportune times, in the main world. This allows arbitrary web content to run JS at a time when certain invariants in Blink may not hold true. Unfortunately, the mojo version of the serial API depends on stash_client's current implementation. Fortunately, it's not actually used in release yet. BUG=537660 Review URL: https://codereview.chromium.org/1381563007 Cr-Commit-Position: refs/heads/master@{#352231}
* Fold away the NSS cast_cert_validator.cc path.davidben2015-10-021-6/+0
| | | | | | | | | | | All platforms with extensions may assume OpenSSL. This removes the three-argument form of VerificationResult as it's no longer used. BUG=519504 Review URL: https://codereview.chromium.org/1365733004 Cr-Commit-Position: refs/heads/master@{#352054}
* Finish the implementation of chrome.runtime.getBackgroundClient() for ↵kalman2015-09-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | extension service workers. Until now it assumed that the extension's background page was open. Now it uses WakeEventPage IPC call to wake the event page if it's asleep. This required making WakeEventPage thread safe, to be able to be called on a service worker thread, then when the response comes from the browser, call back on that same thread. It was also incorrectly called chrome.getBackgroundClient() rather than chrome.runtime.getBackgroundClient(). I also did a rewrite of the extension service worker tests to be better reusable, and easier to add more tests. It was hard to test a closed event page in the current framework. Then I added more tests. BUG=501569, 532720 R=rdevlin.cronin@chromium.org Review URL: https://codereview.chromium.org/1344243003 Cr-Commit-Position: refs/heads/master@{#349700}
* Use v8::Contexts rather than GURLs as keys to extension service workers.kalman2015-09-141-0/+2
| | | | | | | | | | | | | | | | The current code uses GURLs mostly for legacy reasons - v8::Contexts weren't exposed from the Blink layer, only GURLs. However GURLs aren't enough to uniquely identify service workers, because there may be multiple registered at once. Fixing this lead to some other correctness fixes and cleanup. BUG=501569 R=rdevlin.cronin@chromium.org, jochen@chromium.org Review URL: https://codereview.chromium.org/1337453003 Cr-Commit-Position: refs/heads/master@{#348671}
* Don't Allow Service Workers for Unloaded Extensionsrdevlin.cronin2015-09-101-0/+2
| | | | | | | | | | | | | | | | | | | 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}
* bluetooth-advertising: Move bluetooth low energy api to chrome/ortuno2015-09-051-12/+0
| | | | | | | | | | | | | 'registerAdvertisment' which is part of bluetoothLowEnergy will now only work on auto-launched apps in kiosk mode. Since implementing that change adds a dependency on chromeos::KioskAppManager we move the API to chrome/ BUG=528066 Review URL: https://codereview.chromium.org/1315193018 Cr-Commit-Position: refs/heads/master@{#347558}
* Task manager's apps and extensions should show the correct faviconafakhry2015-08-281-0/+2
| | | | | | | | | | | | | | We need to get the correct favicon of the app or extension so that it's easier to identify in the table. Before and after screenshots are available on the BUG thread. BUG=525293 TEST=browser_tests --gtest_filter=ExtensionTagsTest.* Review URL: https://codereview.chromium.org/1302423005 Cr-Commit-Position: refs/heads/master@{#346155}
* 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}
* Implement the wake-event-page internal extension API.kalman2015-08-211-0/+4
| | | | | | | | | | | | | | | | | This is implemented purely using IPC because it will be used from worker contexts, which don't have access to extension bindings. The next step will be to add worker thread support so the renderer side is structured to easily accommodate for that, once the public content API is chaned to allow it. It will be used in the public chrome.runtime.getBackgroundClient() exposed to service workers. BUG=501569 R=rdevlin.cronin@chromium.org, palmer@chromium.org Review URL: https://codereview.chromium.org/1294993004 Cr-Commit-Position: refs/heads/master@{#344834}
* Extensions: Remove PermissionMessage (permission_message.h/cc)treib2015-08-201-2/+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}
* Create thread-safe RendererExtensionRegistry from ExtensionSetannekao2015-08-191-0/+2
| | | | | | | | | | The worker thread needs to be able to access the set of current extensions in order to associate a v8::context with an extension. BUG=501569 Review URL: https://codereview.chromium.org/1293673002 Cr-Commit-Position: refs/heads/master@{#344244}
* This patch removes all files, directories, flags, and code related to ↵paulmeyer2015-08-181-5/+0
| | | | | | | | SurfaceWorker, which is now dead. Review URL: https://codereview.chromium.org/1290013003 Cr-Commit-Position: refs/heads/master@{#343909}
* Add extension event histogram values for messaging, webRequest, and webview.kalman2015-08-111-0/+2
| | | | | | | | | | | | | These didn't make it into my last 5 patches because they needed to be hand written. Now, everything is plumbed through to the UMA_HISTOGRAM_ENUMERATION calls - which I will add in a follow-up - so this should be the last of it. BUG=503402 R=rdevlin.cronin@chromium.org, asvitkine@chromium.org Review URL: https://codereview.chromium.org/1272373003 Cr-Commit-Position: refs/heads/master@{#342749}
* If an extension feature isn't found, write the feature name to the stack ↵kalman2015-08-051-0/+1
| | | | | | | | | | | | | | before crashing. This will help debug crashes like the one in the bug, by looking at the minidump which contains a snapshot of the stack. BUG=461915 R=rockot@chromium.org Review URL: https://codereview.chromium.org/1240423003 Cr-Commit-Position: refs/heads/master@{#342006}
* Remove app_runtime_custom_bindings natives.sammc2015-08-041-2/+0
| | | | | | Review URL: https://codereview.chromium.org/1267913002 Cr-Commit-Position: refs/heads/master@{#341670}
* Bypass the v8 GC second pass callback set up by GCCallback for extension ↵kalman2015-07-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | messaging. This fixes a bug where an extension script context was being invalidated in between calls for the first and second pass v8::PersistentBase::SetWeak callbacks, which would invalidate a base::WeakPtr and crash. This bug can be trivially bypassed by removing the second pass entirely and relying on the post back to the current message loop. This also adds 2 tests, one where the script context is invalidated before GC, the other where GC happens before the script context is invalidated. This patch is a combination of jochen's https://crrev.com/1247093005 and kalman's https://crrev.com/1242273007, see those patches for more comments. BUG=512080 R=rdevlin.cronin@chromium.org,jochen@chromium.org,adamk@chromium.org Review URL: https://codereview.chromium.org/1250093008 Cr-Commit-Position: refs/heads/master@{#340224}
* [Extensions OOPI] Update app window bindings for OOPIrdevlin.cronin2015-07-091-11/+11
| | | | | | | | | | | | | | Update the app window custom bindings to use render frame logic instead of render view logic. This involves changes to the custom bindings themselves, as well as app window creation logic. And, for fun, a few small cleanups while I was in the area. BUG=455776 TBR=dbeam@chromium.org (webui) Review URL: https://codereview.chromium.org/1211003006 Cr-Commit-Position: refs/heads/master@{#338076}
* Move AppIsolationInfo from chrome to extensions.tfarina2015-06-291-0/+2
| | | | | | | | | | | | | | | | This is necessary because HasIsolatedStorage() depends on it, so in order to get HasIsolatedStorage() in extensions as well we need to have AIF in there too. This will help for the tmdiep's TODO in extensions/browser/extension_util.h. BUG=None R=rdevlin.cronin@chromium.org tbr=thestig@chromium.org Review URL: https://codereview.chromium.org/1212373004 Cr-Commit-Position: refs/heads/master@{#336658}
* extensions: Use V8 Maybe APIs in ModuleSystembashi2015-06-191-0/+1
| | | | | | | | | | Replacing DEPRECATE_SOON APIs. BUG=479065 Review URL: https://codereview.chromium.org/1185443004 Cr-Commit-Position: refs/heads/master@{#335181}
* Make a ResourceThrottle for extensions on top of ↵xunjieli2015-06-161-0/+7
| | | | | | | | | | | | | | | | | | | | net::URLRequestThrottlerManager. net::URLRequestThrottlerManager is used for throttling extensions originated requests. We would like to move it out of net/ and place it in a more appropriate directory. Since content::ResourceThrottle is the standard way to throttle requests, this CL makes URLRequestThrottlerManager into a extensions ResourceThrottle and place it in extensions/browser/. Followup CLs will clean up URLRequestThrottlerManager usage from net/. BUG=484241 Committed: https://crrev.com/6a47d0e298a4c3050d95505f5ee18b122fdc213b Cr-Commit-Position: refs/heads/master@{#334457} Review URL: https://codereview.chromium.org/1171983003 Cr-Commit-Position: refs/heads/master@{#334624}
* Revert "Make a ResourceThrottle for extensions on top of ↵oshima2015-06-161-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net::URLRequestThrottlerManager." Reason for revert: Conditional jump on uninitialied value was reported on memory bot. See crbug.com/500769 for log. > Make a ResourceThrottle for extensions on top of net::URLRequestThrottlerManager. > > net::URLRequestThrottlerManager is used for throttling extensions originated > requests. We would like to move it out of net/ and place it in a more appropriate > directory. Since content::ResourceThrottle is the standard way to throttle > requests, this CL makes URLRequestThrottlerManager into a extensions > ResourceThrottle and place it in extensions/browser/. Followup CLs will clean up > URLRequestThrottlerManager usage from net/. > > BUG=484241 > > Review URL: https://codereview.chromium.org/1171983003 > > Cr-Commit-Position: refs/heads/master@{#334457} BUG=484241, 500769 TBR=xunjieli@chromium.org Initialize num_flush_callbacks_ BUG=500764 TBR=bubbe@chromium.org Review URL: https://codereview.chromium.org/1191543004 Cr-Commit-Position: refs/heads/master@{#334544}
* Make a ResourceThrottle for extensions on top of ↵xunjieli2015-06-151-0/+7
| | | | | | | | | | | | | | | | | net::URLRequestThrottlerManager. net::URLRequestThrottlerManager is used for throttling extensions originated requests. We would like to move it out of net/ and place it in a more appropriate directory. Since content::ResourceThrottle is the standard way to throttle requests, this CL makes URLRequestThrottlerManager into a extensions ResourceThrottle and place it in extensions/browser/. Followup CLs will clean up URLRequestThrottlerManager usage from net/. BUG=484241 Review URL: https://codereview.chromium.org/1171983003 Cr-Commit-Position: refs/heads/master@{#334457}
* Create a mechanism define declarative rules via the extension manifest.danduong2015-06-121-0/+4
| | | | | | | | BUG=490339 Review URL: https://codereview.chromium.org/1158693006 Cr-Commit-Position: refs/heads/master@{#334190}
* [Extensions] Clean up the handling of ExtensionHostMsg_Requestrdevlin.cronin2015-06-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | 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}