The Chicago Cubs have agreed to a three-year, $30 million contract with free-agent outfielder Milton Bradley, sources told ESPN on Monday. The deal is pending a physical. Bradley led the American League in on-base percentage last season while batting .321 with 22 homers for the Texas Rangers.