| Balance Sheet Details- Accrued Price Protection Liability (Details) - USD ($) $ in Thousands | 12 Months Ended | |
|---|---|---|
| Dec. 31, 2018 | Dec. 31, 2017 | |
| Accrued Price Protection Rebate Activity [Roll Forward] | ||
| Begining Balance | $ 21,571 | $ 15,176 | 
| Charged as a reduction of revenue | 34,288 | 46,520 | 
| Reversal of unclaimed rebates | (2,413) | (101) | 
| Payments | (36,992) | (40,024) | 
| Ending Balance | $ 16,454 | $ 21,571 | 
| X | ||||||||||
| 
- Definition Accrued price protection liability. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Accrued price protection rebate activity No definition available. 
 | 
| X | ||||||||||
| 
- Definition Price protection rebate charges as a reduction of revenue No definition available. 
 | 
| X | ||||||||||
| 
- Definition Price Protection payments No definition available. 
 | 
| X | ||||||||||
| 
- Definition Reversal Of Unclaimed Rebates No definition available. 
 |