cefsharp / CefSharp

.NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework
http://cefsharp.github.io/
Other
9.83k stars 2.92k forks source link

CEF3: Fix the WinForms example to be a tabbed browser #279

Closed perlun closed 9 years ago

perlun commented 10 years ago

...much like the WPF example is nowadays.

perlun commented 10 years ago

@jojothousand, here's a few comments to your question. The best info of how the multiprocess CEF3 works is probably in the CefSharp source (unfortunately) + the guide at this page.

Basically, you should be able to create a number of new browser instances using CEF and you should get separate sub-processes for each tab automagically. Take a look at the WPF WebView class for some details; it supports (as of #212) this quite well by now.

jornh commented 10 years ago

Hi @jothousand a warm welcome!

Oh, I can relate to your pains. I only recently got serious about git and GitHub. I'm coming from a long time SVN background. So maybe this git noob explaining it to another one starting here https://groups.google.com/d/msg/cefsharp/JODHT802wUo/Mx30LM6CEgIJ is of value to you? A few lessons learned so far git checkout is more like SVN switch (between branches) - but because every git repo either if it's local or remote contains a copy of all the branches it's a local operation. Also I really learned the hard way that you don't want to do much work in your master branch (if any at all) - keep it as your clean copy of the upstream master so you can track that. Instead work on feature branches. I know both I and @JanEggers here got bitten by that while working on #212

Ah, I'd better stop this rant now...

perlun commented 10 years ago

Yes, working on this in a feature branch might be a good idea. @jothousand, in git vocabulary, a branch is merely a "pointer" to a specific changeset, if you like. It's very lightweight.

Really looking forward to your patches in this direction! Long live Windows Forms! :smiley:

perlun commented 10 years ago

Yes, except that the branch is just master.

amaitland commented 10 years ago

@jothousand If you look at the changes committed as part of PR #349, Address, CanGoBack, CanGoForward should all be populated correctly.

amaitland commented 10 years ago

@jothousand I've updated the WinForms example (and the control) to get basic functionality working. Was just checking in to see if you'd made any independent progress. Are there any core features of CefSharp3 your feel are missing in the WinForms implementation? Trying to get feedback from people who actually use the control in real world scenarios.

amaitland commented 10 years ago

@jothousand Looks like the CEF Api exposes OnPluginCrashed with a pluginPath parameter. Does that meet your requirements? It would be exposed via implementing IRequestHandler.

Implementation would look something like https://github.com/amaitland/CefSharp/commit/b87340e65f334dafc132ac8214e50b1222496b86

amaitland commented 10 years ago

I'm just waiting for #318 to be merged first as it touches on the same files, then I'll generate the appropriate PR. It looked like only pluginPath was exposed, when I have some time, I'll have another look to see if the name is accessible from somewhere.

If you've got some time and are happy to contribute, the more the merrier!

perlun commented 10 years ago

318 is now merged, so feel free to take a look at this if you like.

jornh commented 9 years ago

With #510 merged this one is resolved, closing!

amaitland commented 9 years ago

Woohoo!