91³Ô¹ÏÍø

Watch CBS News

Xavier Becerra surges in poll after Eric Swalwell drops out of California governor's race

A new poll shows a major shift in the California governor's race after former Rep. Eric Swalwell, who was once a frontrunner, dropped out of the election following several allegations of sexual misconduct.

"This definitely throws this race into even more volatility, creates a huge vacuum," Pomona College politics professor Sara Sadhwani said. 

According to the new numbers, Xavier Becerra, the former state attorney general and Health and Human Services Secretary under President Biden, is surging in popularity. 

In Emerson College's Inside California Politics poll, Becerra is now polling at 10%, a seven-point jump since March.

Republican Steve Hilton remains in the lead with 17%, followed by Riverside County Sheriff Chad Bianco at 14%.

Among Democrats, billionaire Tom Steyer leads the pack with 14%, followed by Becerra and former Rep. Katie Porter at 10% each. San Jose Mayor Matt Mahan sits at 5%.

The poll showed that 23% of voters remain undecided.

"Xavier Becerra should be the happiest of them all because he's the biggest move in this survey," said Zev Yaroslavsky, director at UCLA's Luskin School of Public Affairs.

Emerson College conducted the poll right after Swalwell dropped out of the race and President Trump endorsed Hilton.

"I believe over time, because Trump has endorsed Hilton for the governorship, that Hilton will continue to edge up and Bianco by definition will have to go down," Yaroslavsky said. 

Last weekend, the California GOP held its convention, and, similar to the Democrats, the party did not make an endorsement. However, Bianco received the most votes from the GOP delegates.

"We're extremely happy with how it came out," Bianco said. "There was a lot of effort put in by my opponent. Hundreds of thousands of dollars to try and win this election.

With the large number of undecided voters, Yaroslavky believes that the race is still in the air. 

"It's still early," Yaroslavsky said. "It's a little less than seven weeks before the election. The ballots go out at the beginning of next month. People, at least 30%, still haven't made up their mind."

In the state's primary system, only the top two vote-getters in the June primary will advance to the November general election.   

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });