summaryrefslogtreecommitdiffstats
path: root/device/hid
Commit message (Collapse)AuthorAgeFilesLines
* Add API tests for the chrome.hid API.reillyg2014-10-302-1/+10
| | | | | | | | | | | | These test validate that the implementation of the chrome.hid API is using the API provided by //device/hid correctly. It does not talk to real devices or validate platform-specific functionality. BUG= Review URL: https://codereview.chromium.org/690473002 Cr-Commit-Position: refs/heads/master@{#302117}
* Switching profiler instrumentations from ScopedProfile to ScopedTracker. ↵vadimt2014-10-291-5/+4
| | | | | | | | | | | | This will disable the instrumentations in all channels except Canary, and developer build. Instrumentations are only enabled in Browser process. This will prevent Stable from sending increased amounts of UMA logs. Also, this will let us observe "true" (untouched by instrumentations) jankiness numbers every week in Dev channel. BUG=401560 Review URL: https://codereview.chromium.org/686963002 Cr-Commit-Position: refs/heads/master@{#301950}
* Standardize usage of virtual/override/final specifiers.dcheng2014-10-298-32/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Google C++ style guide states: Explicitly annotate overrides of virtual functions or virtual destructors with an override or (less frequently) final specifier. Older (pre-C++11) code will use the virtual keyword as an inferior alternative annotation. For clarity, use exactly one of override, final, or virtual when declaring an override. To better conform to these guidelines, the following constructs have been rewritten: - if a base class has a virtual destructor, then: virtual ~Foo(); -> ~Foo() override; - virtual void Foo() override; -> void Foo() override; - virtual void Foo() override final; -> void Foo() final; This patch was automatically generated. The clang plugin can generate fixit hints, which are suggested edits when it is 100% sure it knows how to fix a problem. The hints from the clang plugin were applied to the source tree using the tool in https://codereview.chromium.org/598073004. BUG=417463 R=gdk@chromium.org Review URL: https://codereview.chromium.org/684503002 Cr-Commit-Position: refs/heads/master@{#301893}
* Cleanup: Merge device/udev_linux/udev.{cc,h} into ↵thestig2014-10-242-3/+3
| | | | | | | | | | | | | device/udev_linux/scoped_udev.h. - Update header files elsewhere. - Use ScopedUdev*Ptr classes in more places. BUG=415212 Review URL: https://codereview.chromium.org/666653002 Cr-Commit-Position: refs/heads/master@{#300999}
* Standardize usage of virtual/override/final in device/dcheng2014-10-223-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Google C++ style guide states: Explicitly annotate overrides of virtual functions or virtual destructors with an override or (less frequently) final specifier. Older (pre-C++11) code will use the virtual keyword as an inferior alternative annotation. For clarity, use exactly one of override, final, or virtual when declaring an override. To better conform to these guidelines, the following constructs have been rewritten: - if a base class has a virtual destructor, then: virtual ~Foo(); -> ~Foo() override; - virtual void Foo() override; -> void Foo() override; - virtual void Foo() override final; -> void Foo() final; This patch was automatically generated. The clang plugin can generate fixit hints, which are suggested edits when it is 100% sure it knows how to fix a problem. The hints from the clang plugin were applied to the source tree using the tool in https://codereview.chromium.org/598073004. BUG=417463 TBR=keybuk@chromium.org Review URL: https://codereview.chromium.org/663203007 Cr-Commit-Position: refs/heads/master@{#300790}
* [gcc 4.x] Fix the build failure due to -Werror=char-subscriptsvivek.vg2014-10-201-2/+2
| | | | | | | | | | | | | | | Make the 'char' to 'unsigned char' to fix the following build failure. device/hid/hid_connection_unittest.cc: In member function ‘virtual void device::HidConnectionTest_ReadWrite_Test::TestBody()’: device/hid/hid_connection_unittest.cc:166:23: error: array subscript has type ‘char’ [-Werror=char-subscripts] buffer->data()[j] = i + j - 1; ^ device/hid/hid_connection_unittest.cc:179:285: error: array subscript has type ‘char’ [-Werror=char-subscripts] ASSERT_EQ(i + j - 1, read_callback.buffer()->data()[j]) Review URL: https://codereview.chromium.org/664983002 Cr-Commit-Position: refs/heads/master@{#300238}
* Fix type truncation warnings in HID code.pkasting2014-10-188-37/+44
| | | | | | | | | | | | | | | | GetShortData() and IOHIDElementGetUsage() both return uint32s, so raise the size of various containing types to uint32. I tried to look in the USB HID spec to see if any of the affected fields here were limited to e.g. <2^16, meaning that it'd be safe to just cast down to the existing uint16s instead, but I couldn't find any limits. BUG=81439 TEST=none Review URL: https://codereview.chromium.org/656583003 Cr-Commit-Position: refs/heads/master@{#300201}
* Convert the few remaining ARRAYSIZE_UNSAFE -> arraysize.viettrungluu2014-10-171-5/+5
| | | | | | | | | | | | | | | | | | | There are still ARRAYSIZE_UNSAFEs in ppapi/tests/test_audio.cc, but it defines it itself, and it might be compiled by some older NaCl toolchain that doesn't support C++11. third_party/npapi/npspy/common/format.cpp also has its own ARRAYSIZE_UNSAFE, but I'm hoping to delete npspy completely.) I'll remove ARRAYSIZE_UNSAFE from base/macro.h separately, since it's quite likely we have deps that use our base (and those deps may use it). R=ben@chromium.org TBR=armansito@chromium.org BUG=423134 Review URL: https://codereview.chromium.org/663673002 Cr-Commit-Position: refs/heads/master@{#300034}
* Open HID connections asynchronously.reillyg2014-10-168-99/+165
| | | | | | | | | | | | | By making HidService::Connect return its result asynchronously platform specific details such as whether device nodes must be opened on a different thread (due to blocking) or requesting access from the Chrome OS permission broker can be abstracted away. BUG=422540 Review URL: https://codereview.chromium.org/660573007 Cr-Commit-Position: refs/heads/master@{#299950}
* Read HID report descriptor from sysfs and request permission on connect.reillyg2014-10-113-82/+96
| | | | | | | | | | | | | | | | | The HID report descriptor can be read from sysfs instead of executing an ioctl on the device node. This means that on Chrome OS it isn't necessary to ask the permission broker for access to the device on enumeration. It can be delayed until the device is opened, as it is for USB devices. This also resolves a long-standing issue with HID devices not being enumerated on Chrome OS the first time an enumeration is requested because of the extra asynchronous step required only on that platform. BUG=411899 Review URL: https://codereview.chromium.org/641203003 Cr-Commit-Position: refs/heads/master@{#299228}
* Use IOService enumeration instead of IOHIDManager in HidServiceMac.reillyg2014-10-0912-262/+282
| | | | | | | | | | | | | | | | | | | | | | Using the IOServiceAddMatchingNotification API to monitor devices connected to the system is preferable to IOHIDManager because it is lighter weight. IOHIDManager forces its own lifetime expectations on the IOHIDDevice objects that it creates and opens all devices it sees for I/O whether or not there is a Chrome app that is using them. As a necessary step to simplify this transition the device/hid API now lives on the browser UI thread when running on OS X. This change will soon be made for Linux and Windows as well. This change should also reduce the risk of race conditions as observed in bug 418207 which is why it is being made independently of the other platforms. BUG=418207,413978 R=rockot@chromium.org,rpaquay@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/637863003 Cr-Commit-Position: refs/heads/master@{#298793}
* Add HidConnection::Close and register OS X callbacks on the UI thread.reillyg2014-10-0712-95/+161
| | | | | | | | | | | | | | | | | | | | | The platform implementation of a HID connection may need to cancel I/O operations when the connection is closed. If this is done during the object destructor then any pointers held by those pending operations are immediately invalid. A separate Close method allows the cleanup to happen while the object is still available to handle asynchronous cancellation events. The OS X implementation will take advantage of this immediately to register and unregister its input report callback from the UI thread to avoid a race between event delivery and object cleanup. I've added comments explaining why not all operations on the IOHIDDevice object could be moved to the UI thread. BUG=418207 Review URL: https://codereview.chromium.org/615633008 Cr-Commit-Position: refs/heads/master@{#298384}
* replace OVERRIDE and FINAL with override and final in device/mostynb2014-10-0614-33/+33
| | | | | | | | BUG=417463 Review URL: https://codereview.chromium.org/628873002 Cr-Commit-Position: refs/heads/master@{#298289}
* hid: Don't interpret the report ID from incoming feature reports.reillyg2014-10-043-6/+13
| | | | | | | | | | | | | | | | | | | | | The USB HID GET_REPORT(Feature) request includes the report ID that the host is requesting in the SETUP packet. When the report ID is not zero the device will send this back to the host as the first byte of the report. Unlike input and output reports we want to preserve this part of the report because the device may in fact by sending a value other than the report ID as the first byte of the response. To achieve this, on Windows this patch stops stripping the report ID from the buffer received from the OS. On OS X this was already the behavior. On Linux this was the behavior if the report ID was non-zero, otherwise it would artificially prepend a zero to the buffer which must be removed. BUG=420112 Review URL: https://codereview.chromium.org/623963003 Cr-Commit-Position: refs/heads/master@{#298135}
* An internal tool shows that the task created by ObjectWatcher::DoneWaiting ↵sergeyu2014-10-011-0/+6
| | | | | | | | | | | | | | | | | is janky on Windows. (See the bug; also feel free to contact the author regarding the tool). The task's entrypoint is ObjectWatcher::Signal, and it invokes ObjectWatcher::Delegate::OnObjectSignaled, which is overridden in several places. This CL instruments all implementations of OnObjectSignaled, so that they create a diagnostic task. Next, we'll see which task(s) is(are) the cause of the jank, once the internal tool receives UMA data from these tasks, which will help identifying and fixing the issue. This change was reviewed in https://codereview.chromium.org/612523003/ . BUG=418183 TBR=vadimt@chromium.org Review URL: https://codereview.chromium.org/619763004 Cr-Commit-Position: refs/heads/master@{#297724}
* Remove implicit HANDLE conversions from device.rvargas2014-09-291-3/+3
| | | | | | | | | BUG=416722 R=gdk@chromium.org Review URL: https://codereview.chromium.org/604613002 Cr-Commit-Position: refs/heads/master@{#297290}
* Move string descriptor getters from UsbDeviceHandle to UsbDevice.reillyg2014-09-251-1/+1
| | | | | | | | | | | | | | | | | | The common string descriptors: iManufacturer, iProduct and iSerialNumber should be accessible without opening the device. On Linux these can be read out of sysfs without having access to the usbfs device node. This is critical on Chrome OS because otherwise the permission broker needs to be asked for permission to access the device. On other platforms we fall back to opening the device temporarily. This will stop being the case on OS X when libusb is no longer used and on Windows this will be part of the initial enumeration process. BUG= TBR=dgozman@chromium.org Review URL: https://codereview.chromium.org/601073002 Cr-Commit-Position: refs/heads/master@{#296802}
* Remove implicit conversions from scoped_refptr to T* in device/dcheng2014-09-191-1/+1
| | | | | | | | | | | This patch was generated by running the rewrite_scoped_refptr clang tool on a Mac build. BUG=110610 Review URL: https://codereview.chromium.org/584083002 Cr-Commit-Position: refs/heads/master@{#295732}
* Do not open or close IOHIDManager's IOHIDDeviceRefs.reillyg2014-09-132-9/+23
| | | | | | | | | | | | | | The IOHIDManager object manages the IOHIDDevice instances that it creates. Calling IOHIDDeviceOpen on such an instance is a no-op and calling IOHIDDeviceClose prevents the IOHIDManager from tracking the lifetime of the device. The solution is to never open nor close these devices. BUG=413976 Review URL: https://codereview.chromium.org/568873003 Cr-Commit-Position: refs/heads/master@{#294735}
* Make the device::HidService destructor protected.reillyg2014-09-063-11/+11
| | | | | | | | | | | | This prevents anything other than device::HidService::Destroyer from calling the destructor. For example, scoped_ptr, as was the case in HidConnectionTest. BUG= Review URL: https://codereview.chromium.org/542153004 Cr-Commit-Position: refs/heads/master@{#293623}
* Fix HidService lifetime issuesrockot2014-09-056-18/+49
| | | | | | | | | | | This reverts HidService to being a singleton instance for now. BUG=401234 TBR=rpaquay Review URL: https://codereview.chromium.org/523743005 Cr-Commit-Position: refs/heads/master@{#293464}
* Add more generic filters to the chrome.hid.getDevices API.reillyg2014-08-295-0/+252
| | | | | | | | | | | | | | Instead of specifying each of the USB vendor and product ID pairs an app has permission to open this API extension allows filtering of devices by vendor and product IDs as well as HID usage pages and usages. The 'vendorId' and 'productId' properties of GetDevicesOptions are still supported for backwards compatibility. BUG= Review URL: https://codereview.chromium.org/514923002 Cr-Commit-Position: refs/heads/master@{#292577}
* Remove implicit conversions from scoped_refptr to T* in device/dcheng2014-08-281-1/+1
| | | | | | | | | | | This patch was generated by running the rewrite_scoped_refptr clang tool on a Linux build. BUG=110610 Review URL: https://codereview.chromium.org/507053002 Cr-Commit-Position: refs/heads/master@{#292298}
* Revert of Adding Select Action Bar Unit test case for input (patchset #3 of ↵Albert J. Wong2014-08-284-50/+10
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/506423003/) Reason for revert: Failed compile on Android builders. Original issue's description: > [Android] Add unit tests for SelectActionBar appearance > > The SelectActionBar currently lacks test coverage. Add several test > cases covering the appearance of the bar when interacting with an input > field. > > Committed: https://chromium.googlesource.com/chromium/src/+/0bc56569817a24acea46748c599d77b59157d84d BR=jdduke@chromium.org,aurimas@chromium.org,ajith.v@samsung.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/514493004 Cr-Commit-Position: refs/heads/master@{#292276}
* Fix HidService lifetime issues.rockot2014-08-274-10/+50
| | | | | | | | | | | | | | | | | | | This reverts HidService to a singleton instance, adding two gross and presently hard-to-avoid properties: 1. Its instance getter takes a UI message loop proxy 2. Its lifetime is bound by the message loop of its origin thread The purpose of this is to preserve the necessary threading discipline required by both the chrome.hid API implementation and the permission_broker DBus client while ensuring that the HidService is created and destroyed on the same thread. BUG=401234 Review URL: https://codereview.chromium.org/464753002 Cr-Commit-Position: refs/heads/master@{#292273}
* Don't pass buffers to HidConnection::Read because it knows the size.reillyg2014-08-269-405/+403
| | | | | | | | | | | | | | | | | | The HidConnection knows the appropriate read buffer size and the platform-specific implementation may already have a buffer that it is waiting to return to the next caller. Passing a buffer in is therefore unnecessary, one can be provided in the callback. By standardizing on a buffer format which always includes the report ID as the first byte (even when it is zero) most of the buffer copying can be removed except in the case of OS X's persistent read buffer and getting feature reports on Windows. BUG= Review URL: https://codereview.chromium.org/499713002 Cr-Commit-Position: refs/heads/master@{#291954}
* Store HID report sizes as uint16_t.reillyg2014-08-244-22/+22
| | | | | | | | | | | | | | | | HID report sizes are unsigned values. In addition they should (because of the limited size of USB control transfers) never be larger than 64k. In reality that would be an absolutely enormous report and unlikely to ever been seen in the wild. By limiting the storage size for report lengths to a uint16_t we therefore also limit our exposure to being convinced to allocate unreasonably large buffers by a malicious device. The Windows HID parser already limits report sizes to a USHORT value. BUG= Review URL: https://codereview.chromium.org/492963007 Cr-Commit-Position: refs/heads/master@{#291624}
* Find HID report IDs in output and feature reports on Windows.reillyg@chromium.org2014-08-222-43/+89
| | | | | | | | | | | | | | A device may only have HID output or feature reports. In this case we missed report IDs associated with this reports. This patch uses Window's HID descriptor parser to scan though all report types looking for HID collection information. BUG= Review URL: https://codereview.chromium.org/502573002 Cr-Commit-Position: refs/heads/master@{#291553} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291553 0039d316-1c4b-4281-b951-d872f2087c98
* Fix HID input report sizes on Windows for devices without report IDs.reillyg@chromium.org2014-08-186-15/+22
| | | | | | | | | | | | | | | | | | | | | Unlike Linux and OS X, Windows always writes a report ID into the buffer passed to ReadFile. If the device does not use report IDs the first byte of the buffer will always be zero. Because of this, and contrary to the MSDN documentation, the maximum report size reported in the HIDP_CAPS structure always includes a byte for the report ID. This patch fixes the interpretation of the values in HIDP_CAPS and the size of the buffer passed to ReadFile. To prevent uninitialized bytes from being passed back to an app when a shorter report is read the true number of bytes read is provided to the completion callback on all platforms. BUG=404253 Review URL: https://codereview.chromium.org/474273004 Cr-Commit-Position: refs/heads/master@{#290337} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290337 0039d316-1c4b-4281-b951-d872f2087c98
* extensions: Add GN version of extensions_shell_and_test_pak and unittests ↵tfarina@chromium.org2014-08-071-0/+53
| | | | | | | | | | | | | target. BUG=None TEST=gn gen out/Debug_gn && ninja -C out/Debug_gn extensions:unittsts R=brettw@chromium.org,kalman@chromium.org TBR=keybuk@chromium.org # for device Review URL: https://codereview.chromium.org/434243003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287957 0039d316-1c4b-4281-b951-d872f2087c98
* [usb_gadget p13] Replace LUFA with UsbTestGadget in HidConnection tests.reillyg@chromium.org2014-08-041-73/+78
| | | | | | | | | | | | | The culmination of all this USB gadget nonsense... the HidConnection tests can now use the USB gadget framework I have built to validate device I/O works. This replaces the code based on a specially programmed Arduino running the LUFA library. BUG=396682 Review URL: https://codereview.chromium.org/423473008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287364 0039d316-1c4b-4281-b951-d872f2087c98
* HID: fix missing has_report_id for Windowsjracle@logitech.com2014-07-301-0/+1
| | | | | | | | | R=reillyg@chromium.org,rockot@chromium.org BUG=None Review URL: https://codereview.chromium.org/429923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286551 0039d316-1c4b-4281-b951-d872f2087c98
* hid: Remove size from receive APIs and return report ID separately.reillyg@chromium.org2014-07-2812-52/+82
| | | | | | | | | | | | | | | | | | | The size parameter is unnecessary when calling chrome.hid.receive and chrome.hid.receiveFeatureReport because, since the caller does not know which report ID will be returned, it should always be set to the maximum input or feature report size provided by the device. The size of the report ID is now not included in the maximum report sizes for the device since it no longer effects buffer size. In addition increase consistency by always providing the report ID to the chrome.hid.receive callback instead of including it as the first byte of the data buffer only if it is non-zero. BUG= Review URL: https://codereview.chromium.org/413913003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285989 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak in HidServiceTest.Create from r285774tapted@chromium.org2014-07-281-1/+3
| | | | | | | | | | | | | | | | | | | | | To fix tree-closer in Linux ASan LSan Tests (1) since http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/4338 errors like Direct leak of 72 byte(s) in 1 object(s) allocated from: #0 0x44145b in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:55 #1 0x5e8afd in device::HidService::Create(scoped_refptr\u003Cbase::MessageLoopProxy>) device/hid/hid_service.cc:26 #2 0x509324 in device::HidServiceTest_Create_Test::TestBody() device/hid/hid_service_unittest.cc:15 BUG=367145 NOTRY=true NOTREECHECKS=true TBR=rockot@chromium.org Review URL: https://codereview.chromium.org/424623002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285848 0039d316-1c4b-4281-b951-d872f2087c98
* Support permission_broker for chrome.hid devices.rockot@chromium.org2014-07-269-72/+99
| | | | | | | | | | | | | | | | | | This enables the Chrome to query permission_broker for access to hidraw device paths when running on Chrome OS. HidService has been refactored so that it is owned by the extensions API embedder, rather than being a singleton. Because hid has just moved to //extensions as well, this also establishes a new ShellExtensionsAPIClient to create a HidService for app_shell. BUG=367145 TEST=manual test on ChromeOS dev build TBR=derat@chromium.org for mechanical app_shell changes Review URL: https://codereview.chromium.org/419713002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285774 0039d316-1c4b-4281-b951-d872f2087c98
* hid: Linux expects the report ID in the output report buffer.reillyg@chromium.org2014-07-231-5/+8
| | | | | | | | | | | | | The Linux hidraw interface expects the buffer written to the device to always have the report ID as the first byte. Remove the conditional that only added this data when the report ID was non-zero. BUG= R=rockot@chromium.org Review URL: https://codereview.chromium.org/411463005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285041 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HID devices not found during enumeration on Windows.reillyg@chromium.org2014-07-193-59/+82
| | | | | | | | | | | | | | Windows doesn't give us fine grained notifications for device add and remove so we must do a complete enumeration every time. This patch figures out which devices are no longer present in the enumeration and calls HidService::RemoveDevice. BUG=395272 R=rockot@chromium.org Review URL: https://codereview.chromium.org/399313008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284321 0039d316-1c4b-4281-b951-d872f2087c98
* Monitor udev for hidraw devices instead of hid devices.reillyg@chromium.org2014-07-172-59/+12
| | | | | | | | | | | | | Watching for new hid devices is racy because the hidraw device rules are still running. Fix the race by explicitly waiting for the hidraw device add event. The properties needed from the hid device can be gotten by fetching the parent of the hidraw device from the sysfs tree. BUG=394200 Review URL: https://codereview.chromium.org/396993010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283810 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 281282 "Revert 281133 "chrome.hid: enrich model with repo..."csharp@chromium.org2014-07-0324-1030/+1205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests still failed, undoing revert. > Revert 281133 "chrome.hid: enrich model with report IDs" > > Speculative revert to try and fix Win browser tests. > > > chrome.hid: enrich model with report IDs > > > > - add report IDs and max report size > > - don't expose sensitive usages > > > > BUG=364423 > > R=rockot@chromium.org > > TESTS=run device_unittests (HidReportDescriptorTest) > > > > Review URL: https://codereview.chromium.org/317783010 > > TBR=jracle@logitech.com > > Review URL: https://codereview.chromium.org/369923002 TBR=csharp@chromium.org Review URL: https://codereview.chromium.org/364213005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281300 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 281133 "chrome.hid: enrich model with report IDs"csharp@chromium.org2014-07-0324-1205/+1030
| | | | | | | | | | | | | | | | | | | | | Speculative revert to try and fix Win browser tests. > chrome.hid: enrich model with report IDs > > - add report IDs and max report size > - don't expose sensitive usages > > BUG=364423 > R=rockot@chromium.org > TESTS=run device_unittests (HidReportDescriptorTest) > > Review URL: https://codereview.chromium.org/317783010 TBR=jracle@logitech.com Review URL: https://codereview.chromium.org/369923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281282 0039d316-1c4b-4281-b951-d872f2087c98
* chrome.hid: enrich model with report IDsjracle@logitech.com2014-07-0324-1030/+1205
| | | | | | | | | | | | | - add report IDs and max report size - don't expose sensitive usages BUG=364423 R=rockot@chromium.org TESTS=run device_unittests (HidReportDescriptorTest) Review URL: https://codereview.chromium.org/317783010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281133 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/platform_file.*rvargas@chromium.org2014-06-241-3/+3
| | | | | | | | | | | | Fix remaining users of platform_file.h BUG=322664 R=brettw@chromium.org TBR=thestig@chromium.org, satorux@chromium.org, jochen@chromium.org, rockot@chromium.org, viettrungluu@chromium.org Review URL: https://codereview.chromium.org/326383005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279330 0039d316-1c4b-4281-b951-d872f2087c98
* Log errors in Linux HID from read, write and ioctl calls.reillyg@chromium.org2014-06-212-7/+13
| | | | | | | | | | | Log human readable descriptions of the errors generated by system calls executed on Linux against HID devices. BUG= Review URL: https://codereview.chromium.org/348733002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278899 0039d316-1c4b-4281-b951-d872f2087c98
* Descriptive log for HID device open failure on Linux.reillyg@chromium.org2014-06-202-10/+12
| | | | | | | | | | | Log a human readable message describing the reason why Chromium failed to open a HID device node on Linux instead of the base::File error code. BUG= Review URL: https://codereview.chromium.org/339503007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278684 0039d316-1c4b-4281-b951-d872f2087c98
* Disable compiling Udev HID implementations when use_udev==0dnicoara@chromium.org2014-06-053-10/+19
| | | | | | | | | | | Disabled compiling of classes and unittests that require Udev. BUG=none TESTS=Ran device_unittests with use_udev=0 and use_udev=1 Review URL: https://codereview.chromium.org/316953002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275161 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Unify udev scopers.thestig@chromium.org2014-06-035-58/+7
| | | | | | Review URL: https://codereview.chromium.org/302093009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274658 0039d316-1c4b-4281-b951-d872f2087c98
* chrome.hid (Win): fail to retrieve device info when used concurrentlyjracle@logitech.com2014-05-221-4/+18
| | | | | | | | | BUG=376211 TBR=rockot@chromium.org Review URL: https://codereview.chromium.org/293113002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272258 0039d316-1c4b-4281-b951-d872f2087c98
* Removed LOG_GETLASTERROR and LOG_ERRNO macros.vitalybuka@chromium.org2014-05-211-1/+1
| | | | | | | | | | | Most code uses PLOG with the same effect. TBR=bradchen NOTRY=true Review URL: https://codereview.chromium.org/281223002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271949 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Windows HID buffer errors.rockot@chromium.org2014-05-052-28/+21
| | | | | | | | | | | | Several incorrect assumptions about actual and expected buffer sizes are corrected in the Windows HidConnection implementation. BUG=369344 TBR=rpaquay Review URL: https://codereview.chromium.org/261053005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268215 0039d316-1c4b-4281-b951-d872f2087c98
* chrome.hid: Kill Windows jank on enumeration.rockot@chromium.org2014-05-021-14/+0
| | | | | | | | | | | | | | | This stops querying serial/product name information from HID devices on enumeration. Apparently doing so can block the entire system UI for long periods of time. Terrible. BUG=369200 R=rpaquay Review URL: https://codereview.chromium.org/260863006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267772 0039d316-1c4b-4281-b951-d872f2087c98