protected override bool OnProcessMessageReceived(CefBrowser browser, CefProcessId sourceProcess, CefProcessMessage message)
        {
            string[] items = message.Name.Split(new char[] {'|'} );
            if (items.Length == 0) return false;

            switch (items[0])
            {
                case "GetElementValue":
                {
                    string elementID = items[1];
                    long[] frameIDs = browser.GetFrameIdentifiers();
                    foreach (long frameID in frameIDs)
                    {
                        CefFrame frame = browser.GetFrame(frameID);
                        if (frame == null) continue;
                        frame.VisitDom(new CwbDOMVisitor(browser, CwbBusinStyle.bsGetElementValue, elementID));
                    }
                    browser.GetMainFrame().VisitDom(new CwbDOMVisitor(browser, CwbBusinStyle.bsGetElementValue, elementID));
                    return true;
                }
                case "SetElementValue":
                {
                    string elementID = items[1];
                    string elementValue = items[2];
                    long[] frameIDs = browser.GetFrameIdentifiers();
                    foreach (long frameID in frameIDs)
                    {
                        CefFrame frame = browser.GetFrame(frameID);
                        if (frame == null) continue;
                        frame.VisitDom(new CwbDOMVisitor(browser, CwbBusinStyle.bsGetElementValue, elementID, elementValue));
                    }
                    browser.GetMainFrame().VisitDom(new CwbDOMVisitor(browser, CwbBusinStyle.bsSetElementValue, elementID, elementValue));
                    return true;
                }
                case "EvaluateScript":
                {
                    CefV8Value value = CefV8Value.CreateString("t");
                    CefV8Exception exp;
                    browser.GetMainFrame().V8Context.TryEval(items[1], out value, out exp);
                    Global.JsEvaResult = null;
                    if (value.IsString)
                    {
                        Global.JsEvaResult = value.GetStringValue();
                    }
                    if (value.IsInt)
                    {
                        Global.JsEvaResult = value.GetIntValue();
                    }
                    if (value.IsDouble)
                    {
                        Global.JsEvaResult = value.GetDoubleValue();
                    }
                    if (value.IsBool)
                    {
                        Global.JsEvaResult = value.GetBoolValue();
                    }
                    if (value.IsDate)
                    {
                        Global.JsEvaResult = value.GetDateValue();
                    }
                    Global.flag = true;
                    return true;
                }
                case "AppendListener":
                {
                    CwbBusinStyle cbStyle = CwbBusinStyle.bsAddElementEvent;
                    if (items.Length > 2)
                        cbStyle = CwbBusinStyle.bsAttachElementEvent;
                    string elementID = items[1];
                    long[] frameIDs = browser.GetFrameIdentifiers();
                    foreach (long frameID in frameIDs)
                    {
                        CefFrame frame = browser.GetFrame(frameID);
                        if (frame == null) continue;
                        frame.VisitDom(new CwbDOMVisitor(browser, cbStyle, webBrowser.getEventListener(elementID)));
                    }
                    browser.GetMainFrame().VisitDom(new CwbDOMVisitor(browser, cbStyle, webBrowser.getEventListener(elementID)));
                    return true;
                }
                case "GetDocument":
                {
                    browser.GetMainFrame().VisitDom(new CwbDOMVisitor(browser, CwbBusinStyle.bsVisitDocument, ""));
                    return true;
                }
            }
            return false;
        }