public void SetData_ToTestValue_ToStringReturnsTestValue()
        {
            var objectUnderTest = new nsACString();
            objectUnderTest.SetData("hello world");

            Assert.AreEqual("hello world", objectUnderTest.ToString());
        }
        public void SetData_ToNull_ToStringReturnsNull()
        {
            var objectUnderTest = new nsACString();
            objectUnderTest.SetData(null);

            Assert.AreEqual(null, objectUnderTest.ToString());
        }
        public void SetData_ToEmptyString_ToStringReturnsEmptyString()
        {
            var objectUnderTest = new nsACString();
            objectUnderTest.SetData(String.Empty);

            Assert.AreEqual(String.Empty, objectUnderTest.ToString());
        }
        public void GetRawData_OfTestValue_ReturnsExpectedByteString()
        {
            var objectUnderTest = new nsACString();
            objectUnderTest.SetData("hello world");

            byte[] bytes = objectUnderTest.GetRawData();
            Assert.AreEqual(new byte[] { 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100}, bytes);
        }
示例#5
0
		public byte[] Finish()
		{
			byte[] ret;
			using (var str = new nsACString())
			{
				_cryptoHash.Instance.Finish(false, str);
				ret = str.GetRawData();
			}
			return ret;
		}
		/// <param name="flags">see nsICertOverrideServiceConsts</param>
		public static void RememberValidityOverride(Uri url, ComPtr<nsIX509Cert> cert, int flags)
		{
			if (url == null)
				throw new ArgumentNullException("url");

			using (var aHostName = new nsACString(url.Host))
			{
				using (var svc = GetService())
				{
					svc.Instance.RememberValidityOverride(aHostName, url.Port, cert.Instance, (uint)flags, true);
				}
			}
		}
示例#7
0
		public void ExplicitSetUploadStream(
			InputStream stream,
			string contentType, int len, string method, bool streamHasHeaders )
		{
			using ( nsACString nct = new nsACString( contentType ), nmethod = new nsACString( method ) )
			{
				_uploadChannel2.ExplicitSetUploadStream(
					stream._inputStream,
					nct,
					len,
					nmethod,
					streamHasHeaders
					);
			}
		}
 public void ExplicitSetUploadStream(
     InputStream stream,
     string contentType, int len, string method, bool streamHasHeaders)
 {
     using (nsACString nct = new nsACString(contentType), nmethod = new nsACString(method))
     {
         _uploadChannel2.ExplicitSetUploadStream(
             stream._inputStream,
             nct,
             len,
             nmethod,
             streamHasHeaders
             );
     }
 }
		public static bool HasMatchingOverride(Uri url, ComPtr<nsIX509Cert> cert)
		{
			if (url == null)
				throw new ArgumentNullException("url");

			using (var aHostName = new nsACString(url.Host))
			{
				uint flags = 0;
				bool isTemp = false;
				using (var overrideSvc = GetService())
				{
					return overrideSvc.Instance.HasMatchingOverride(aHostName, url.Port, cert.Instance, ref flags, ref isTemp);
				}
			}
		}
示例#10
0
        protected void InternalLoadContent(string content, string url, string contentType)
        {
            if (!IsHandleCreated)
            {
                WpfExtensions.DoEvents();
            }
            using (var sContentType = new nsACString(contentType))
                using (var sUtf8 = new nsACString("UTF8")) {
                    ByteArrayInputStream inputStream = null;
                    try {
                        inputStream = ByteArrayInputStream.Create(System.Text.Encoding.UTF8.GetBytes(content != null ? content : string.Empty));

                        var    docShell = Xpcom.QueryInterface <nsIDocShell> (this.WebBrowser);
                        nsIURI uri      = null;
                        if (!string.IsNullOrEmpty(url))
                        {
                            uri = IOService.CreateNsIUri(url);
                        }
                        nsIDocShellLoadInfo l = null;
                        if (true)
                        {
                            l = Xpcom.QueryInterface <nsIDocShellLoadInfo> (this.WebBrowser);

                            docShell.CreateLoadInfo(ref l);

                            l.SetLoadTypeAttribute(new IntPtr(16));
                        }

                        docShell.LoadStream(inputStream, uri, sContentType, sUtf8, l);
                        Marshal.ReleaseComObject(docShell);
                        if (l != null)
                        {
                            Marshal.ReleaseComObject(l);
                        }
                    } finally {
                        if (inputStream != null)
                        {
                            inputStream.Close();
                        }
                    }
                }
        }
示例#11
0
        protected void AddToolbarAndBrowserToTab(TabPage tabPage, GeckoWebBrowser browser)
        {
            TextBox urlbox = new TextBox();
            urlbox.Top = 0;
            urlbox.Width = 200;

            Button nav = new Button();
            nav.Text = "Go";
            nav.Left = urlbox.Width;

            Button newTab = new Button();
            newTab.Text = "NewTab";
            newTab.Left = nav.Left + nav.Width;

            Button stop = new Button
                          {
                          	Text = "Stop",
                          	Left = newTab.Left + newTab.Width
                          };

            Button closeTab = new Button();
            closeTab.Text = "GC.Collect";
            closeTab.Left = stop.Left + stop.Width;

            Button closeWithDisposeTab = new Button();
            closeWithDisposeTab.Text = "Close";
            closeWithDisposeTab.Left = closeTab.Left + closeTab.Width;

            Button open = new Button();
            open.Text = "FileOpen";
            open.Left = closeWithDisposeTab.Left + closeWithDisposeTab.Width;

            Button scrollDown = new Button { Text = "Down", Left = closeWithDisposeTab.Left + 250 };
            Button scrollUp = new Button { Text = "Up", Left = closeWithDisposeTab.Left + 330 };

            scrollDown.Click += (s, e) => { browser.Window.ScrollByPages(1); };
            scrollUp.Click += (s, e) => { browser.Window.ScrollByPages(-1); };

            nav.Click += delegate {
                // use javascript to warn if url box is empty.
                if (string.IsNullOrEmpty(urlbox.Text.Trim()))
                    browser.Navigate("javascript:alert('hey try typing a url!');");

                try{
                browser.Navigate(urlbox.Text);
                }catch { }
                tabPage.Text = urlbox.Text;
            };

            newTab.Click += delegate { AddTab(); };

            stop.Click += delegate { browser.Stop(); };

            closeTab.Click += delegate {
                GC.Collect();
                GC.WaitForPendingFinalizers();
            };

            closeWithDisposeTab.Click += delegate
            {
                m_tabControl.Controls.Remove(tabPage);
                tabPage.Dispose();
            };

            open.Click += (s, a) =>
            {
                nsIFilePicker filePicker = Xpcom.CreateInstance<nsIFilePicker>("@mozilla.org/filepicker;1");
                filePicker.Init(browser.Window.DomWindow, new nsAString("hello"), nsIFilePickerConsts.modeOpen);
                filePicker.AppendFilter(new nsAString("png"), new nsAString("*.png"));
                filePicker.AppendFilter(new nsAString("html"), new nsAString("*.html"));
                if (nsIFilePickerConsts.returnOK == filePicker.Show())
                {
                    using(nsACString str = new nsACString())
                    {
                        filePicker.GetFileAttribute().GetNativePathAttribute(str);
                        browser.Navigate(str.ToString());
                    }
                }

            };

            tabPage.Controls.Add(urlbox);
            tabPage.Controls.Add(nav);
            tabPage.Controls.Add(newTab);
            tabPage.Controls.Add(stop);
            tabPage.Controls.Add(closeTab);
            tabPage.Controls.Add(closeWithDisposeTab);
            tabPage.Controls.Add(open);
            tabPage.Controls.Add(browser);
            tabPage.Controls.Add(scrollDown);
            tabPage.Controls.Add(scrollUp);
        }
示例#12
0
		private void InternalLoadContent(string content, string url, string contentType)
		{
			using (var sContentType = new nsACString(contentType))
			using (var sUtf8 = new nsACString("UTF8"))
			{
				ByteArrayInputStream inputStream = null;
				try
				{
					inputStream = ByteArrayInputStream.Create(System.Text.Encoding.UTF8.GetBytes(content != null ? content : string.Empty));

					nsIDocShell docShell = Xpcom.QueryInterface<nsIDocShell>(this.WebBrowser);
					docShell.LoadStream(inputStream, IOService.CreateNsIUri(url), sContentType, sUtf8, null);					
					Marshal.ReleaseComObject(docShell);
				}
				finally
				{
					if (inputStream != null)
						inputStream.Close();
				}
			}
		} 
示例#13
0
        public void ConstructorWithString_ToTestValue_ToStringReturnsTestValue()
        {
            var objectUnderTest = new nsACString("Hello world");

            Assert.AreEqual("Hello world", objectUnderTest.ToString());
        }
示例#14
0
		public static void ClearValidityOverride(Uri url)
		{
			if (url == null)
				throw new ArgumentNullException("url");

			using (var aHostName = new nsACString(url.Host))
			{
				using (var svc = GetService())
				{
					svc.Instance.ClearValidityOverride(aHostName, url.Port);
				}
			}
		}
 public void ConstructorWithString_ToTestValue_ToStringReturnsTestValue()
 {
     var objectUnderTest = new nsACString("Hello world");
     Assert.AreEqual("Hello world", objectUnderTest.ToString());
 }