2009-11-05 Jeffrey Stedfast <fejj@novell.com>
commit5bd1e252984460ef31c516a353b489d5459b9ea6
authorfejj <fejj@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 6 Nov 2009 21:43:34 +0000 (6 21:43 +0000)
committerfejj <fejj@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 6 Nov 2009 21:43:34 +0000 (6 21:43 +0000)
tree1174510e7512f51a1e9c4c73736a99fc5cc98935
parent0ce86f0e02ad4f7570ef06b98258a43033f1ed92
2009-11-05  Jeffrey Stedfast  <fejj@novell.com>

* brush.cpp (ImageBrush::OnPropertyChanged): Check that the Source
uri is valid and the download policy will allow it.

* media.cpp (Image::OnPropertyChanged): Check that the Source uri
is valid and the download policy will allow it.

* mediaelement.cpp (OnPropertyChanged): Check that the Source uri
is valid and the download policy will allow it.

* glyphs.cpp (DownloadFont): Now takes a MoonError argument so
that (late) download policy errors (caused by a failed
Downloader::Open) can propogate up through callers like
OnPropertyChanged() or SetParent().
(SetParent): Moved here from from SetSurface() so that we can
throw an exception when ading the glyphs to the tree if the
FontUri is invalid.
(OnPropertyChanged): Set the MoonError if the uri is invalid.

* bitmapimage.cpp (ValidateDownloadPolicy): New method to check if
the uri can be downloaded.
(OnPropertyChanged): Check if the Source uri is invalid. If so,
set an error.

* downloader.cpp (ValidateDownloadPolicy): New static method to
check that the policy would allow downloading the content at the
uri. Split out from Open().

* uri.h (IsInvalidPath): New method to check the validity of the
path component of a URI.
(IsUncPath): New method that returns true if the path begins with \\

r:spouliot

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/moon@145615 e3ebcda4-bce8-0310-ba0a-eca2169e7518
13 files changed:
src/ChangeLog
src/bitmapimage.cpp
src/bitmapimage.h
src/brush.cpp
src/downloader.cpp
src/downloader.h
src/glyphs.cpp
src/glyphs.h
src/media.cpp
src/mediaelement.cpp
src/textbox.cpp
src/uri.cpp
src/uri.h