CEF တောင်းဆိုမှု context တွင် proxy သတ်မှတ်ခြင်း
ပံ့ပိုးထားသော preference API မှတစ်ဆင့် CEF browser context ကို ပုံသေ proxy ပေးပြီး startup policy က ဤပြောင်းလဲမှုကို ခွင့်ပြုသည် မပြုသည် စစ်ဆေးပါ။
ရည်ရွယ်ထားသော CefRequestContext စတင်ပြီးနောက် browsing အလုပ်မစတင်မီ browser process ၏ UI thread တွင် ၎င်း၏ proxy preference ကို သတ်မှတ်ပါ:
auto rule = CefDictionaryValue::Create();
rule->SetString("mode", "fixed_servers");
rule->SetString("server", "http://proxy.example:8080");
auto value = CefValue::Create();
value->SetDictionary(rule);
CefString error;
bool configured = context->SetPreference("proxy", value, error);configured ကို စစ်ဆေးပြီး မအောင်မြင်ပါက error ကို သိမ်းထားပါ။ CanSetPreference က အသုံးပြုသူက preference ကို ပြောင်းနိုင်သည် မပြောင်းနိုင်သည် ကို ပြသည်; startup တွင် command-line ရွေးချယ်မှုက ၎င်းကို ဤ interface နှင့် ဆန့်ကျင်စွာ လော့ခ်ချနိုင်သည်။
browser ဖန်တီးသောအခါ တူညီသော context ကို ပေးပါ။ ပြင်ဆင်ထားသော်လည်း အသုံးမပြုသော context သည် global context ပေါ်ရှိ browser ကို မသက်ရောက်ပါ။
သီးခြားဖြစ်မှုကိုလည်း စစ်ဆေးပါ။ context များသည် မျှဝေထားသော cache လမ်းကြောင်းများ သို့မဟုတ် ရှင်းလင်းသော ဆက်နွယ်မှုများမှတစ်ဆင့် အောက်ခံ သိုလှောင်မှု သို့မဟုတ် ကွန်ရက်အခြေအနေကို မျှဝေနိုင်သည်။ IsSharingWith သည် ထိုမျှဝေမှုကို စစ်ဆေးရန် ပံ့ပိုးထားသော နည်းလမ်းဖြစ်သည်။ သီးခြား proxy session များအတွက် သီးခြားရွေးချယ်ထားသော context များနှင့် သိုလှောင်မှုမူဝါဒ လိုအပ်သည်။
preference သည် နောက်ဆက်တွဲအလုပ်အပေါ် သက်ရောက်သည်; ရှိပြီးသား tunnel ကို ရွှေ့၍မရပါ။ navigation URL ကို ဦးတည်ရာနှင့် preference ၏ server ကို ကြားခံအဖြစ် ထားပါ။ proxy authentication မပြင်ဆင်ဘဲ ခွင့်ပြုထားသော အများသူငှာ browsing အတွက် HTTP proxy စာရင်း က ဖြစ်နိုင်ခြေရှိသော HTTP server တန်ဖိုးများကို ပေးနိုင်သည်။ startup switch များက လမ်းကြောင်းကို တမင်ပိုင်ဆိုင်ပါက နောက်ပိုင်း preference ရေးခြင်းက ၎င်းကို ကျော်လွှားမည်ဟု မမျှော်လင့်ဘဲ ထိုမူဝါဒကို ထိန်းသိမ်းပါ။ ပံ့ပိုးထားသော request-context API သည် ဖယ်ရှားထားသော CefProxyHandler ကို ပြန်လည်တည်ဆောက်ခြင်းကိုလည်း ရှောင်ကြဉ်သည်။