Bug 199834 Enable access to IContent object in IReportItemPresentation layer
In IReportItemPresentation layer, the extended item may want to access properties from current IContent object, for example, bookmark, content style. So we need expose the content object in this layer.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/presentation/LocalizedContentVisitor.java
/**
	 * handle an extended item.
	 * 
	 * @param content
	 *            the object.
	 */
	protected IContent processExtendedContent( IForeignContent content )
	{
		assert IForeignContent.EXTERNAL_TYPE.equals( content.getRawType( ) );
		assert content.getGenerateBy( ) instanceof ExtendedItemDesign;
		IContent generatedContent = content;
		
		ExtendedItemDesign design = (ExtendedItemDesign) content
				.getGenerateBy( );
		ExtendedItemHandle handle = (ExtendedItemHandle) design.getHandle( );
		String tagName = handle.getExtensionName( );
		
		if ( "Chart".equals( tagName ) )
		{
			IHTMLImageHandler imageHandler = context.getImageHandler( );
			if ( imageHandler != null )
			{
				String imageId = getImageCacheID( content );
				CachedImage cachedImage = imageHandler.getCachedImage( imageId,
						IImage.CUSTOM_IMAGE, context.getReportContext( ) );
				if ( cachedImage != null )
				{
					return processCachedImage(content, cachedImage);
				}
			}