Here is the solution:
<Popup x:Name="Popup" Width="800">
<Border BorderThickness="1">
<WebBrowser
x:Name="WebBrowser"
LoadCompleted="WebBrowser_OnLoadCompleted"
... />
</Border>
</Popup>
Handler:
private void WebBrowser_OnLoadCompleted(object sender, NavigationEventArgs e) {
this.Popup.Height = (int) (this.WebBrowser.Document as dynamic).body.scrollHeight + 20;
}