XML 86 R114.htm IDEA: XBRL DOCUMENT
v3.20.1

Capital Stock - Summary of Normal Course Issuer Bids (Detail) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2019 | Dec. 31, 2018
Schedule Of Share Repurchase Programs [Line Items] |  |
Shares purchased | 25,768,563 | 32,644,284
Cash amount | $ 1,289 | $ 1,831
2017 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 35,800,000 |
Shares purchased |  | 26,630,243
Cash amount |  | $ 1,544
2018 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 33,200,000 |
Shares purchased | 23,401,457 | 6,014,041
Cash amount | $ 1,159 | $ 287
2019 Bid [Member] |  |
Schedule Of Share Repurchase Programs [Line Items] |  |
Maximum number of shares | 30,283,500 |
Shares purchased | 2,367,106 |
Cash amount | $ 130 |

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_TwoThousandSeventeenBidMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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