San Francisco’s former mayor Willie Brown endorses Tom Steyer for Gov.
#videoDetailsToggle{color:var( –color-dove-gray,rgba(0,0,0,.6));cursor:pointer;display:inline-block;font-family:var(–sans-serif,sans-serif);font-size:var(–type-7);font-weight:var( –font-weight-bold,900);line-height:var(–spacer-twentyfour,24px);margin-bottom:-8px}#vdt_hide{margin-bottom:10px}.vdt-flex[hidden]{display:none}.vdt-svg{fill:var( –color-dove-gray,rgba(0,0,0,.6));height:var(–spacer-twentyfour,24px);width:var(–spacer-twentyfour,24px)}
(function() {
let vdContainer, vdShow, vdHide,
flagCaption = false,
vdToggle = document.getElementById(‘videoDetailsToggle’),
section = ga_data.route.sectionName || ga_data.route.ssts.split(‘/’)[0],
subsection = ga_data.route.ssts.split(‘/’)[1];
vdToggle.addEventListener(‘click’, ()=> {
// query dom only after user click
if (!vdContainer) {
vdContainer = document.getElementById(‘videoDetailsContainer’);
vdShow = document.getElementById(‘vdt_show’),
vdHide = document.getElementById(‘vdt_hide’);
}
vdContainer.hidden = !(vdContainer.hidden);
// show/hide elements
if (vdContainer.hidden) {
vdShow.hidden = false;
vdHide.hidden = true;
} else {
if (!flagCaption) {
flagCaption = true;
fireCaptionAnalytics()
}
vdShow.hidden = true;
vdHide.hidden = false;
}
});
function fireCaptionAnalytics () {
let analytics = document.getElementById(“pageAnalytics”);
try {
if (analytics) {
analytics.fireEvent(`${ga_data.route.basePageType}|${section}|${subsection}|streamline|expandCaption`);
} else {
if (window.newrelic) window.newrelic.noticeError(‘page analytics tag not found’);
}
} catch (e) {
if (window.newrelic) window.newrelic.noticeError(e);
}
}
}());
Willie Brown, San Francisco’s former mayor, announced his support and endorsement of Tom Steyer, the billionaire and climate advocate, for California’s next governor.
Steyer, one of the leading Democratic candidates in this year’s gubernatorial race, shared the endorsement on May 5, as the race enters its final month before election day and early voting begins statewide.
“In my more than six decades in public life, I have had the opportunity to meet with many individuals seeking public office, taking time to understand their ideas, their judgment, their depth, and their ability to lead. After doing exactly that in this contest, I am proud to endorse Tom Steyer for Governor of California,” Brown said about Steyer in his announcement.
Brown expresses his appreciation for Steyer’s “deep understanding of complex issues” and his willingness to learn about the issues facing Californians.
“California needs a governor who is fully informed, independent in thought, and focused on what serves the public best, and I believe Tom Steyer embodies those qualities and offers real benefit to the state’s future,” Brown said.
Steyer expressed his appreciation of Brown’s endorsement, noting that he would work with the former San Francisco leader to “move the state forward.”
“California’s progress has always been shaped by leaders who understood how to turn bold ideas into action and deliver for working people,” Steyer said.
Brown’s support follows the recent news that California’s Service Employees International Union chapter announced its endorsement of Steyer and Xavier Becerra in the race for California’s next governor.
“California needs a bold leader who will stand with workers to protect California from Donald Trump’s assault on our people and our values and the guts to stand up to the most powerful and wealthy corporations in the world,” SEIU California said about Steyer.
“As Governor, Tom Steyer is committed to closing the corporate tax loopholes and ending the special carve-outs that leave working people paying more in taxes than many profitable corporations.”
Who is Willie L. Brown Jr.?
Among California politicians, Brown is seen as one of the most accomplished and historic civic leaders in the state.
Throughout his over 40-year political career, Brown served in California’s State Assembly for 30 years, representing multiple districts across the San Francisco Bay Area.
He started his career in 1965, representing the state’s 18th district as one of the assembly’s four African American representatives.
In the 1970s, Brown, in San Francisco’s gay community, authored and successfully passed the Consenting Adult Sex Bill, which legalized homosexuality in California, and was informally called the “bill of rights for homosexuals” by news outlets at the time of its passage.
From 1981 to 1995, Brown served as the first African-American Speaker of the California State Assembly and continued to represent and support San Francisco.
After ending his 40-year career in the California State Assembly in 1995, Brown decided to run for the San Francisco mayoral seat. Ultimately, winning the position and becoming San Francisco’s first African American mayor.
During his tenure, Brown witnessed and led the city through the “dot.com” era as technology companies found rapid economic growth. This economic boom helped Brown expand the city’s budget and support real estate development throughout San Francisco and the Bay Area.
His tenure ended in 2004, as he was succeeded by future California Governor Gavin Newsom.
Noe Padilla is a Northern California Reporter for USA Today. Contact him at npadilla@usatodayco.com, follow him on X @1NoePadilla or on Bluesky @noepadilla.bsky.social. Sign up for the TODAY Californian newsletter or follow us on Facebook at TODAY Californian.
html a.nsb-link,html .primary-content a.nsb-link{box-shadow:0 0;cursor:pointer;height:var(–spacer-twentyfour,24px);margin-right:var(–spacer-twentyfour,24px);text-shadow:none;width:var(–spacer-twentyfour,24px)}a.nsb-link span{max-width:0;overflow:hidden;position:absolute;visibility:hidden}.nsb-svg{height:var(–spacer-twentyfour,24px);width:var(–spacer-twentyfour,24px)}.nsb-twitter-button{fill:var(–social-twitter,#4099ff)}.nsb-email-button{fill:var(–color-dove-gray,#787878)}.nsb-facebook-button{fill:var(–social-facebook,#3b5998)}.nsb-sms-button{fill:var(–color-ui-green,#008c33)}.nsb-svg.gallery{fill:var(–color-ui-white,#fff)}
(function () {
let route = window.ga_data.route,
headline = route.headline || document.title,
url = route.url,
sponsoredText = (route.sponsoredSeries || route.sponsoredStory) ? ‘Story From ‘ + route.sponsoredName + ‘: ‘ : ”;
nsbFacebookURL(url, headline);
nsbTwitterURL(url, headline, sponsoredText);
nsbEmailURL(url, headline, sponsoredText);
nsbSMSURL(url, headline, sponsoredText);
function nsbFacebookURL(url, headline) {
let ele = document.querySelectorAll(‘.nsb-facebook’);
if (!ele) return;
nsbSetLink(ele, `https://www.facebook.com/dialog/feed?app_id=${window.ga_data.site.facebook.appid}&redirect_uri=${window.location.href}&link=${url}&name=${encodeURIComponent(headline)}`);
}
function nsbTwitterURL(url, headline, sponsoredText) {
let ele = document.querySelectorAll(‘.nsb-twitter’);
if (!ele) return;
let text = encodeURIComponent(`${sponsoredText}${headline}`);
nsbSetLink(ele, `https://twitter.com/intent/tweet?text=${text} ${url} via @${window.ga_data.site.twitter.primary_account}`);
}
function nsbEmailURL(url, headline, sponsoredText) {
let description = document.querySelector(‘meta[name=”description”]’) ? encodeURIComponent(document.querySelector(‘meta[name=”description”]’).getAttribute(‘content’)) : null,
siteName = window.ga_data.site.publicationName,
text = encodeURIComponent(`${sponsoredText}${headline}`);
if (!description && text) ele.remove();
else nsbSetLink(document.querySelectorAll(‘.nsb-email’), `mailto:?subject=${siteName} ${text}&body=From ${siteName}%0D%0A${text}%0D%0A${description}%0D%0A%0D%0A${url}%0D%0A%0D%0A%0D%0A%0D%0A`);
}
function nsbSMSURL(url, headline, sponsoredText) {
let ele = document.querySelectorAll(‘.nsb-text’);
if (!ele) return;
let text = encodeURIComponent(`${sponsoredText}${headline}`) + ‘%0A%0A’;
nsbSetLink(ele, `sms:?&body=${text}${encodeURIComponent(url)}`);
}
function nsbSetLink (ele, url) {
let links = ele;
links.forEach(link => {
link.setAttribute(‘href’, url);
});
}
})();
function fireNavShareAnalytics (type) {
try {
let analytics = document.getElementById(“pageAnalytics”),
section = ga_data.route.sectionName || ga_data.route.ssts.split(‘/’)[0];
if (analytics) {
analytics.fireEvent(`${ga_data.route.basePageType}:${section}:nav-share-buttons:${type}`);
} else {
if (window.newrelic) window.newrelic.noticeError(‘page analytics tag not found’);
}
} catch (e) {
if (window.newrelic) window.newrelic.noticeError(e);
}
}