nsresult BluetoothServiceBluedroid::StartInternal(BluetoothReplyRunnable* aRunnable) { MOZ_ASSERT(NS_IsMainThread()); // aRunnable will be a nullptr while startup if(aRunnable) { sChangeAdapterStateRunnableArray.AppendElement(aRunnable); } nsresult ret = StartGonkBluetooth(); if (NS_FAILED(ret)) { BluetoothService::AcknowledgeToggleBt(false); // Reject Promise if(aRunnable) { DispatchReplyError(aRunnable, NS_LITERAL_STRING("StartBluetoothError")); sChangeAdapterStateRunnableArray.RemoveElement(aRunnable); } BT_LOGR("Error"); } return ret; }
nsresult BluetoothServiceBluedroid::StopInternal(BluetoothReplyRunnable* aRunnable) { MOZ_ASSERT(NS_IsMainThread()); BluetoothProfileManagerBase* profile; profile = BluetoothHfpManager::Get(); NS_ENSURE_TRUE(profile, NS_ERROR_FAILURE); if (profile->IsConnected()) { profile->Disconnect(nullptr); } else { profile->Reset(); } profile = BluetoothOppManager::Get(); NS_ENSURE_TRUE(profile, NS_ERROR_FAILURE); if (profile->IsConnected()) { profile->Disconnect(nullptr); } profile = BluetoothA2dpManager::Get(); NS_ENSURE_TRUE(profile, NS_ERROR_FAILURE); if (profile->IsConnected()) { profile->Disconnect(nullptr); } else { profile->Reset(); } profile = BluetoothHidManager::Get(); NS_ENSURE_TRUE(profile, NS_ERROR_FAILURE); if (profile->IsConnected()) { profile->Disconnect(nullptr); } else { profile->Reset(); } // aRunnable will be a nullptr during starup and shutdown if(aRunnable) { sChangeAdapterStateRunnableArray.AppendElement(aRunnable); } nsresult ret = StopGonkBluetooth(); if (NS_FAILED(ret)) { BluetoothService::AcknowledgeToggleBt(true); // Reject Promise if(aRunnable) { DispatchReplyError(aRunnable, NS_LITERAL_STRING("StopBluetoothError")); sChangeAdapterStateRunnableArray.RemoveElement(aRunnable); } BT_LOGR("Error"); } return ret; }
NS_IMETHODIMP nsWindow::Destroy(void) { sTopWindows.RemoveElement(this); if (this == gWindowToRedraw) gWindowToRedraw = nullptr; if (this == gFocusedWindow) gFocusedWindow = nullptr; return NS_OK; }
NS_IMETHODIMP nsWindow::Destroy(void) { mOnDestroyCalled = true; sTopWindows.RemoveElement(this); if (this == gFocusedWindow) gFocusedWindow = nullptr; nsBaseWidget::OnDestroy(); return NS_OK; }
void nsWindow::BringToTop() { if (!sTopWindows.IsEmpty()) { nsGUIEvent event(true, NS_DEACTIVATE, sTopWindows[0]); (*mEventCallback)(&event); } sTopWindows.RemoveElement(this); sTopWindows.InsertElementAt(0, this); nsGUIEvent event(true, NS_ACTIVATE, this); (*mEventCallback)(&event); }
void nsWindow::BringToTop() { if (!sTopWindows.IsEmpty()) { if (nsIWidgetListener* listener = sTopWindows[0]->GetWidgetListener()) listener->WindowDeactivated(); } sTopWindows.RemoveElement(this); sTopWindows.InsertElementAt(0, this); if (mWidgetListener) mWidgetListener->WindowActivated(); Invalidate(sVirtualBounds); }
void nsFontCache::FontMetricsDeleted(const nsFontMetrics* aFontMetrics) { mFontMetrics.RemoveElement(aFontMetrics); }
void OnError(BluetoothStatus aStatus) override { sUnbondingRunnableArray.RemoveElement(mRunnable); DispatchReplyError(mRunnable, aStatus); }
void OnError(BluetoothStatus aStatus) override { MOZ_ASSERT(NS_IsMainThread()); sSetPropertyRunnableArray.RemoveElement(mRunnable); DispatchReplyError(mRunnable, aStatus); }
uint32_t GridLines::AppendRemovedAutoFits(const ComputedGridTrackInfo* aTrackInfo, const ComputedGridLineInfo* aLineInfo, nscoord aLastTrackEdge, uint32_t& aRepeatIndex, uint32_t aNumRepeatTracks, nsTArray<nsString>& aLineNames) { // Check to see if lineNames contains ALL of the before line names. bool alreadyHasBeforeLineNames = true; for (const auto& beforeName : aLineInfo->mNamesBefore) { if (!aLineNames.Contains(beforeName)) { alreadyHasBeforeLineNames = false; break; } } bool extractedExplicitLineNames = false; nsTArray<nsString> explicitLineNames; uint32_t linesAdded = 0; while (aRepeatIndex < aNumRepeatTracks && aTrackInfo->mRemovedRepeatTracks[aRepeatIndex]) { // If this is not the very first call to this function, and if we // haven't already added a line this call, pull all the explicit // names to pass along to the next line that will be added after // this function completes. if (aRepeatIndex > 0 && linesAdded == 0) { // Find the names that didn't match the before or after names, // and extract them. for (const auto& name : aLineNames) { if (!aLineInfo->mNamesBefore.Contains(name) && !aLineInfo->mNamesAfter.Contains(name)) { explicitLineNames.AppendElement(name); } } for (const auto& extractedName : explicitLineNames) { aLineNames.RemoveElement(extractedName); } extractedExplicitLineNames = true; } // If this is the second or later time through, or didn't already // have before names, add them. if (linesAdded > 0 || !alreadyHasBeforeLineNames) { aLineNames.AppendElements(aLineInfo->mNamesBefore); } RefPtr<GridLine> line = new GridLine(this); mLines.AppendElement(line); line->SetLineValues( aLineNames, nsPresContext::AppUnitsToDoubleCSSPixels(aLastTrackEdge), nsPresContext::AppUnitsToDoubleCSSPixels(0), aTrackInfo->mRepeatFirstTrack + aRepeatIndex + 1, GridDeclaration::Explicit ); // No matter what, the next line should have the after names associated // with it. If we go through the loop again, the before names will also // be added. aLineNames = aLineInfo->mNamesAfter; aRepeatIndex++; linesAdded++; } aRepeatIndex++; if (extractedExplicitLineNames) { // Pass on the explicit names we saved to the next explicit line. aLineNames.AppendElements(explicitLineNames); } if (alreadyHasBeforeLineNames && linesAdded > 0) { // If we started with before names, pass them on to the next explicit // line. aLineNames.AppendElements(aLineInfo->mNamesBefore); } return linesAdded; }
nsresult nsFontCache::FontMetricsDeleted(const nsIFontMetrics* aFontMetrics) { mFontMetrics.RemoveElement(aFontMetrics); return NS_OK; }