XML 135 R108.htm IDEA: XBRL DOCUMENT
v3.8.0.1

Capital Stock - Summary of Normal Course Issuer Bids (Detail) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2017 | Dec. 31, 2016
Schedule Of Share Repurchase Programs [Line Items] |  |
Shares purchased | 26,257,043 | 22,335,018
Cash amount | $ 1,271 | $ 904
2015 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 40,000,000 |
Shares purchased |  | 20,313,194
Cash amount |  | $ 818
2016 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 38,000,000 |
Shares purchased | 23,245,377 | 2,021,824
Cash amount | $ 1,109 | $ 86
2017 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 35,800,000 |
Shares purchased | 3,011,666 |
Cash amount | $ 162 |

X
- Definition Cash Amount For Common Stock Repurchased Under Ncib + References No definition available. + Details
Name: | mga_CashAmountForCommonStockRepurchasedUnderNcib
Namespace Prefix: | mga_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Common stock repurchased during period shares. + References No definition available. + Details
Name: | mga_CommonStockRepurchasedDuringPeriodShares
Namespace Prefix: | mga_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum Number of Common Stock Shares To Be Repurchased + References No definition available. + Details
Name: | mga_MaximumNumberOfCommonStockSharesToBeRepurchased
Namespace Prefix: | mga_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Schedule Of Share Repurchase Programs [Line Items] + References No definition available. + Details
Name: | mga_ScheduleOfShareRepurchaseProgramsLineItems
Namespace Prefix: | mga_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_PlanNameAxis=mga_TwoThousandFifteenBidMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=mga_TwoThousandSixteenBidMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=mga_TwoThousandSeventeenBidMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |