Skip to content

Commit

Permalink
removed unneeded eval script related methods
Browse files Browse the repository at this point in the history
  • Loading branch information
arsher committed Jun 27, 2015
1 parent 762d949 commit 93a61c1
Show file tree
Hide file tree
Showing 6 changed files with 0 additions and 136 deletions.
46 changes: 0 additions & 46 deletions CefSharp.BrowserSubprocess.Core/CefBrowserWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,52 +31,6 @@ namespace CefSharp
}
}

JavascriptResponse^ CefBrowserWrapper::EvaluateScriptInContext(CefRefPtr<CefV8Context> context, CefString script)
{
CefRefPtr<CefV8Value> result;
CefRefPtr<CefV8Exception> exception;
JavascriptResponse^ response = gcnew JavascriptResponse();

response->Success = context->Eval(script, result, exception);
if (response->Success)
{
if (result->IsFunction())
{
response->Result = _callbackRegistry->Register(context, result);
}
else
{
response->Result = TypeUtils::ConvertFromCef(result);
}
}
else if (exception.get())
{
response->Message = StringUtils::ToClr(exception->GetMessage());
}

return response;
}

JavascriptResponse^ CefBrowserWrapper::DoEvaluateScript(System::Int64 frameId, String^ script)
{
auto frame = _cefBrowser->GetFrame(frameId);
CefRefPtr<CefV8Context> context = frame->GetV8Context();

if (context.get() && context->Enter())
{
try
{
return EvaluateScriptInContext(context, StringUtils::ToNative(script));
}
finally
{
context->Exit();
}
}

return nullptr;
}

JavascriptResponse^ CefBrowserWrapper::DoCallback(System::Int64 callbackId, array<Object^>^ parameters)
{
return _callbackRegistry->Execute(callbackId, parameters);
Expand Down
4 changes: 0 additions & 4 deletions CefSharp.BrowserSubprocess.Core/CefBrowserWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,6 @@ namespace CefSharp
// The WCF proxy to the parent process.
property IBrowserProcess^ BrowserProcess;

JavascriptResponse^ EvaluateScriptInContext(CefRefPtr<CefV8Context> context, CefString script);

virtual JavascriptResponse^ DoEvaluateScript(System::Int64 frameId, String^ script);

JavascriptResponse^ DoCallback(System::Int64 callbackId, array<Object^>^ parameters);

void DestroyJavascriptCallback(Int64 id);
Expand Down
66 changes: 0 additions & 66 deletions CefSharp.BrowserSubprocess/CefRenderProcess.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,72 +113,6 @@ public override void OnBrowserDestroyed(CefBrowserWrapper browser)
browser.JavascriptRootObject = null;
}

public Task<JavascriptResponse> EvaluateScriptAsync(int browserId, long frameId, string script, TimeSpan? timeout)
{
var factory = RenderThreadTaskFactory;
var browser = browsers.FirstOrDefault(x => x.BrowserId == browserId);
if (browser == null)
{
return TaskExtensions.FromResult(new JavascriptResponse
{
Success = false,
Message = string.Format("Browser with Id {0} not found in Render Sub Process.", browserId)
});
}

var task = factory.StartNew(() =>
{
try
{
var response = browser.DoEvaluateScript(frameId, script);

return response;
}
catch (Exception ex)
{
return new JavascriptResponse
{
Success = false,
Message = ex.ToString()
};
}
}, TaskCreationOptions.AttachedToParent);

return timeout.HasValue ? task.WithTimeout(timeout.Value) : task;
}

public IAsyncResult BeginEvaluateScriptAsync(int browserId, long frameId, string script, TimeSpan? timeout, AsyncCallback callback, object state)
{
var tcs = new TaskCompletionSource<JavascriptResponse>(state);
var task = EvaluateScriptAsync(browserId, frameId, script, timeout);
task.ContinueWith(t =>
{
if (t.IsFaulted)
{
tcs.TrySetException(t.Exception.InnerExceptions);
}
else if (t.IsCanceled)
{
tcs.TrySetCanceled();
}
else
{
tcs.TrySetResult(t.Result);
}

if (callback != null)
{
callback(tcs.Task);
}
});
return tcs.Task;
}

public JavascriptResponse EndEvaluateScriptAsync(IAsyncResult result)
{
return ((Task<JavascriptResponse>)result).Result;
}

public IAsyncResult BeginJavascriptCallbackAsync(int browserId, long callbackId, object[] parameters, TimeSpan? timeout, AsyncCallback callback, object state)
{
var tcs = new TaskCompletionSource<JavascriptResponse>(state);
Expand Down
14 changes: 0 additions & 14 deletions CefSharp/Internals/BrowserProcessServiceHost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,6 @@ public void SetOperationContext(OperationContext operationContext)
operationContextTaskCompletionSource.SetResult(operationContext);
}

public Task<JavascriptResponse> EvaluateScriptAsync(int browserId, long frameId, string script, TimeSpan? timeout)
{
var operationContextTask = operationContextTaskCompletionSource.Task;
// Use TaskScheduler.Default to ensure that the work occurs
// on a background thread.
return operationContextTask.ContinueWith(t =>
{
var context = t.Result;
var renderProcess = context.GetCallbackChannel<IRenderProcess>();
var asyncResult = renderProcess.BeginEvaluateScriptAsync(browserId, frameId, script, timeout, null, null);
return Task.Factory.FromAsync<JavascriptResponse>(asyncResult, renderProcess.EndEvaluateScriptAsync);
}, TaskScheduler.Default).Unwrap();
}

protected override void OnClose(TimeSpan timeout)
{
var task = operationContextTaskCompletionSource.Task;
Expand Down
5 changes: 0 additions & 5 deletions CefSharp/Internals/IRenderProcess.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@ namespace CefSharp.Internals
[ServiceContract]
public interface IRenderProcess
{
[OperationContract(AsyncPattern=true)]
IAsyncResult BeginEvaluateScriptAsync(int browserId, long frameId, string script, TimeSpan? timeout, AsyncCallback callback, object state);

JavascriptResponse EndEvaluateScriptAsync(IAsyncResult result);

[OperationContract(AsyncPattern = true)]
IAsyncResult BeginJavascriptCallbackAsync(int browserId, long callbackId, object[] parameters, TimeSpan? timeout, AsyncCallback callback, object state);

Expand Down
1 change: 0 additions & 1 deletion CefSharp/Internals/JavascriptCallbackEndpointBehavior.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ internal sealed class JavascriptCallbackEndpointBehavior : IEndpointBehavior
private static readonly List<string> Methods = new List<string>
{
ReflectionUtils.GetMethodName<IBrowserProcess>(p => p.CallMethod(0, null, null)),
ReflectionUtils.GetMethodName<IRenderProcess>(p => p.BeginEvaluateScriptAsync(0, 0, null, null, null, null)).Substring(5),
ReflectionUtils.GetMethodName<IRenderProcess>(p => p.BeginJavascriptCallbackAsync(0, 0, null, null, null, null)).Substring(5),
};

Expand Down

0 comments on commit 93a61c1

Please sign in to comment.