NS_IMETHODIMP TaskbarWindowPreview::SetProgressState(nsTaskbarProgressState aState, uint64_t aCurrentValue, uint64_t aMaxValue) { NS_ENSURE_ARG_RANGE(aState, nsTaskbarProgressState(0), nsTaskbarProgressState(ArrayLength(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; }
nsresult TaskbarWindowPreview::UpdateTaskbarProperties() { if (mHaveButtons) { if (FAILED(mTaskbar->ThumbBarAddButtons(mWnd, nsITaskbarWindowPreview::NUM_TOOLBAR_BUTTONS, mThumbButtons))) return NS_ERROR_FAILURE; } nsresult rv = UpdateTaskbarProgress(); NS_ENSURE_SUCCESS(rv, rv); return TaskbarPreview::UpdateTaskbarProperties(); }