public void Resume(bool success, string message = "")
 {
     var r = MarshalFromNative<CefJsdialogCallback>();
     var action = (CefJsdialogHandlerCapiDelegates.ContCallback6)
                  Marshal.GetDelegateForFunctionPointer(r.Cont,
                                                        typeof (CefJsdialogHandlerCapiDelegates.ContCallback6));
     var input = new StringUtf16(message);
     action(Handle, Convert.ToInt32(success), input.Handle);
     input.Free();
 }
Example #2
0
 public static Browser CreateBrowser(BrowserCreationArgs a)
 {
     var uri = new StringUtf16(a.StartUri.AbsoluteUri);
     Reference.Increment(a.ClientHandler.Handle);
     var handle = CefBrowserCapi.CefBrowserHostCreateBrowserSync(
         a.WindowInfo.Handle,
         a.ClientHandler.Handle,
         uri.Handle,
         a.Settings.Handle);
     uri.Free();
     return Browser.FromHandle(handle);
 }
        public void Register(ISchemeHandlerFactoryDescriptor descriptor)
        {
            if (descriptor == null) {
                throw new ArgumentNullException("descriptor");
            }

            var s = new StringUtf16(descriptor.SchemeName);
            var d = new StringUtf16(descriptor.DomainName);

            CefSchemeCapi.CefRegisterSchemeHandlerFactory(s.Handle, d.Handle,
                                                          descriptor.Factory.Handle);

            d.Free();
            s.Free();
        }
Example #4
0
        public void Register(ISchemeDescriptor descriptor)
        {
            var r = MarshalFromNative<CefSchemeRegistrar>();
            var function = (CefSchemeCapiDelegates.AddCustomSchemeCallback)
                           Marshal.GetDelegateForFunctionPointer(r.AddCustomScheme,
                                                                 typeof (CefSchemeCapiDelegates.AddCustomSchemeCallback));

            var name = new StringUtf16(descriptor.Scheme);

            var isStandard = descriptor.SchemeProperties.HasFlag(SchemeProperties.Standard) ? 1 : 0;
            var isLocal = descriptor.SchemeProperties.HasFlag(SchemeProperties.Local) ? 1 : 0;
            var isDisplayIsolated = descriptor.SchemeProperties.HasFlag(SchemeProperties.DisplayIsolated) ? 1 : 0;

            var result = function(Handle, name.Handle, isStandard, isLocal, isDisplayIsolated);
            var success = Convert.ToBoolean(result);
            if (!success) {
                Debug.WriteLine("Error registering custom scheme '{0}'. See debug.log for details.", descriptor.Scheme);
            }
        }
Example #5
0
        public static void Register(string scheme, string domain, SchemeHandlerFactory factory)
        {
            if (scheme == null) {
                throw new ArgumentNullException("scheme");
            }
            if (domain == null) {
                throw new ArgumentNullException("domain");
            }
            if (factory == null) {
                throw new ArgumentNullException("factory");
            }

            var s = new StringUtf16(scheme);
            var d = new StringUtf16(domain);

            CefSchemeCapi.CefRegisterSchemeHandlerFactory(s.NativeHandle, d.NativeHandle, factory.NativeHandle);

            d.Free();
            s.Free();
        }
Example #6
0
            public Data(byte[] recievedBytes)
            {
                using (var br = new BinaryReader(new MemoryStream(recievedBytes)))
                {
                    this.Head   = br.ReadBytes(2);
                    this.Length = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0);
                    this.Params = new List <Param>();
                    for (; ;)
                    {
                        if (!(br.BaseStream.Length - br.BaseStream.Position > 4))
                        {
                            break;
                        }
                        var type = (ParamType)(BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0));
                        if (type == ParamType.PacketEnd)
                        {
                            break;
                        }
                        switch (type)
                        {
                        case ParamType.StringAnsi:
                        {
                            var param = new StringAnsi
                            {
                                Unknown = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0),
                                length  = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0),
                                Type    = ParamType.StringAnsi
                            };
                            param.Value = Encoding.ASCII.GetString(br.ReadBytes(param.length));
                            this.Params.Add(param);
                            break;
                        }

                        case ParamType.StringUtf16:
                        {
                            var param = new StringUtf16
                            {
                                Unknown = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0),
                                length  = BitConverter.ToUInt16(br.ReadBytes(2).Reverse().ToArray(), 0),
                                Type    = ParamType.StringUtf16
                            };
                            param.Value = Encoding.BigEndianUnicode.GetString(br.ReadBytes(param.length * 2));
                            this.Params.Add(param);
                            break;
                        }

                        case ParamType.Byte:
                        {
                            var param = new Byte_
                            {
                                Value = br.ReadSByte(),
                                Type  = ParamType.Byte
                            };
                            this.Params.Add(param);
                            break;
                        }

                        case ParamType.Uint32:
                        {
                            var param = new Uint_32
                            {
                                Value = BitConverter.ToUInt32(br.ReadBytes(4).Reverse().ToArray(), 0),
                                Type  = ParamType.Uint32
                            };
                            this.Params.Add(param);
                            break;
                        }

                        case ParamType.Int32:
                        {
                            var param = new Int_32
                            {
                                Value = BitConverter.ToInt32(br.ReadBytes(4).Reverse().ToArray(), 0),
                                Type  = ParamType.Int32
                            };
                            this.Params.Add(param);
                            break;
                        }

                        case ParamType.Int64:
                        {
                            var param = new Int_64
                            {
                                Value = BitConverter.ToInt64(br.ReadBytes(4).Reverse().ToArray(), 0),
                                Type  = ParamType.Int64
                            };
                            this.Params.Add(param);
                            break;
                        }

                        default:
                            break;
                        }
                    }
                }
            }