nsresult TaskbarTabPreview::UpdateNext() { NS_ASSERTION(CanMakeTaskbarCalls() && mVisible, "UpdateNext called on invisible tab preview"); HWND hNext = nullptr; if (mNext) { bool visible; nsresult rv = mNext->GetVisible(&visible); NS_ENSURE_SUCCESS(rv, rv); // Can only move next to enabled previews if (!visible) return NS_ERROR_FAILURE; hNext = (HWND)mNext->GetHWND(); // hNext must be registered with the taskbar if the call is to succeed mNext->EnsureRegistration(); } if (FAILED(mTaskbar->SetTabOrder(mProxyWindow, hNext))) return NS_ERROR_FAILURE; return NS_OK; }
NS_IMETHODIMP TaskbarWindowPreview::SetProgressState(nsTaskbarProgressState aState, PRUint64 aCurrentValue, PRUint64 aMaxValue) { NS_ENSURE_ARG_RANGE(aState, 0, NS_ARRAY_LENGTH(sNativeStates) - 1); TBPFLAG nativeState = sNativeStates[aState]; if (nativeState == TBPF_NOPROGRESS || nativeState == TBPF_INDETERMINATE) { NS_ENSURE_TRUE(aCurrentValue == 0, NS_ERROR_INVALID_ARG); NS_ENSURE_TRUE(aMaxValue == 0, NS_ERROR_INVALID_ARG); } if (aCurrentValue > aMaxValue) return NS_ERROR_ILLEGAL_VALUE; mState = nativeState; mCurrentValue = aCurrentValue; mMaxValue = aMaxValue; // Only update if we can return CanMakeTaskbarCalls() ? UpdateTaskbarProgress() : NS_OK; }
NS_IMETHODIMP TaskbarPreview::SetTooltip(const nsAString &aTooltip) { mTooltip = aTooltip; return CanMakeTaskbarCalls() ? UpdateTooltip() : NS_OK; }