the Chromium logo

The Chromium Projects

Cellular Activation (and Chrome/CrOS network management API)

ActivateCellular (network_menu.cc)

-> ash::Shell::GetInstance()->delegate()->OpenMobileSetup(cellular->service_path())

-> MobileSetupDialog::Show(service_path) [if kEnableMobileSetupDialog]

-> MobileSetupDialogDelegate::GetInstance()->ShowDialog(service_path)

-> MobileSetupDialogDelegate::GetDialogContentURL [presumably]

// returns chrome::kChromeUIMobileSetupURL + service_path_

-> browser->OpenURL(chrome::kChromeUIMobileSetupURL) [otherwise; resolves to chrome://mobilesetup]

MobileActivator::SetTransactionStatus (mobile_activator.cc)

-> StartOTASP

-> EvaluateCellularNetwork

MobileActivator::OnNetworkManagerChanged (mobile_activator.cc)

-> EvaluateCellularNetwork

MobileActivator::OnNetworkChanged (mobile_activator.cc)

-> EvaluateCellularNetwork

MobileActivator::StartActivation

-> EvaluateCelluarNetwork

Who calls OnNetworkManagerChanged?

-> NetworkLibraryImplBase::SignalNetworkManagerObservers

MobileActivator::ChangeState (mobile_activator.cc)

-> FOR_EACH_OBSERVER(Observer, observers_, OnActivationStateChanged(network, state_, error_description));

-> MobileSetupHandler::OnActivationStateChanged (mobile_seutp_ui.cc) [presumably]

-> web_ui()->CallJavascriptFunction(kJsDeviceStatusChangedCallback, device_dict)

-> mobile.MobileSetup.deviceStateChanged (mobile_setup.js)

-> updateDeviceStatus_

-> changeState_

-> stopSpinner_ [if PLAN_ACTIVATION_DONE]


MobileSetupDialogDelegate::OnActivationStateChanged (mobile_setup_dialog.cc)

// does nothing

chromeos.connectionManager.setTransactionStatus (connection_manager.js)

-> reportTransactionStatus_

-> postMessage(msg, 'chrome://mobilesetup')

// seems to be billing related. see onMessageReceived_ in mobile_setup.js

NetworkLoginObserver

// The network login observer reshows a login dialog if there was an error.

NetworkMessageObserver

// The network message observer displays a system notification for network

// messages.

NetworkLibrary interface declarations

NetworkLibraryImplCros::NetworkManagerStatusChangedHandler

NetworkLibraryImplCros::NetworkManagerUpdate

-> NetworkManagerStatusChanged

-> NotifyNetworkManagerChanged [ONLY for PROPERTY_INDEX_OFFLINE_MODE]

CrosMonitorNetworkManagerProperties

-> new NetworkManagerPropertiesWatcher

-> DBusThreadManager::Get()->GetFlimflamManagerClient()->SetPropertyChangedHandler

NetworkLibraryImplCros::UpdateNetworkStatus

-> NotifyNetworkManagerChanged

NetworkLibraryImplCros::UpdateTechnologies

-> NotifyNetworkManagerChanged

NetworkLibraryImplCros::ParseNetwork

-> NotifyNetworkManagerChanged

NetworkLibraryImplCros::ParseNetworkDevice

-> NotifyNetworkManagerChanged

AshSystemTrayDelegate: updates status icons


Network::SetState (network_library.cc)

// processes state change events from connection manager