Bug 146352 support cancel execution for "view report ..." tool bar and menu actions.
Current "view report as HTML" and "view report as PDF" in the menu tool bar uses RunAndRender task to stream back the report output. As a result, total page count is not available when the report is being streamed back. Please change these two requests to use Run task and then render task to generate HTML or PDF, so that the total page count is calculate. preview tab could continue to use RunAndRender task, since it is for preview.
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/service/ReportEngineService.java
* distinct data set and bingding columns in it. If the element is null,
	 * binding name is empty or the binding column holder is not found, then
	 * return <code>Collections.EMPTY_LIST</code>. Caller can specify the max
	 * row number and start row number by implement the interface IRequestInfo.
	 * 
	 * @param bindingName
	 * @param elementHandle
	 * @param requestInfo
	 * @return list of available column value
	 * @throws BirtException
	 */
	public List getColumnValueSet( String bindingName,
			DesignElementHandle elementHandle, IRequestInfo requestInfo )
			throws BirtException
	{
		if ( bindingName == null || elementHandle == null
				|| !( elementHandle instanceof ReportItemHandle ) )
			return Collections.EMPTY_LIST;
		
		ReportItemHandle reportItem = getBindingHolder( elementHandle );
		if ( reportItem == null )
			return Collections.EMPTY_LIST;
		List selectValueList = new ArrayList( );
		DataRequestSession session = DataRequestSession
				.newSession( new DataSessionContext(
						DataSessionContext.MODE_DIRECT_PRESENTATION, reportItem
								.getModuleHandle( ) ) );
		selectValueList.addAll( session.getColumnValueSet( reportItem
				.getDataSet( ), reportItem.paramBindingsIterator( ), reportItem
				.columnBindingsIterator( ), bindingName, requestInfo ) );