The San Francisco Giants signed outfielder Randy Winn to a three-year contract extension through the 2009 season on Tuesday. Per club policy, terms of the deal were not disclosed. Winn, a 31-year-old switch hitter, hit .359 with 14 homers, 26 RBI in 58 games with the Giants after being traded from the Seattle Mariners on July 30, 2005. His .356 batting average and .380 on-base percentage from the leadoff spot in 2005 led all big league players with at least 200 plate appearances atop the lineup.