instrumentation: add next-share/
[cs-p2p-next.git] / instrumentation / next-share / BaseLib / Transport / port-to-other-browsers.txt
1 \r
2                   ==== Adding Custom URL Protocols to IE/Safari/Chrome ===\r
3 \r
4 \r
5 Win32 Documentation:\r
6 ====================\r
7 \r
8 Custom URL protocols can be added to Windows by using Asynchronous Pluggable Protocols (APP):\r
9         \r
10     http://msdn.microsoft.com/en-us/library/aa767916%28VS.85%29.aspx\r
11     http://support.microsoft.com/?id=kb;en-us;303740\r
12     http://support.microsoft.com/kb/280522\r
13     http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/5edc4348-0752-490d-aa43-cd89d495858b\r
14     \r
15 There is also Pluggable Protocol support specific to .Net, but I don't think that is usable.\r
16 \r
17     http://msdn.microsoft.com/en-us/library/1f6c88af%28vs.71%29.aspx\r
18     http://support.microsoft.com/kb/812409    \r
19 \r
20 Lots of people are using APP, some examples:\r
21 \r
22     http://www.codeproject.com/kb/aspnet/AspxProtocol.aspx  (C# example)\r
23     http://www.codeproject.com/KB/IP/DataProtocol.aspx      (C++ example)\r
24     http://gears.googlecode.com/svn/trunk/third_party/passthru_app/\r
25     http://www.blackfishsoftware.com/blog/don/passthroughapp_bho_toolbar_intercepting_requests_responses\r
26     \r
27 \r
28 \r
29 \r
30 Experience with Win32 Sample:\r
31 =============================\r
32 \r
33 I played around with the code for this example:\r
34 \r
35      http://www.codeproject.com/kb/aspnet/AspxProtocol.aspx\r
36 \r
37 which adds a echo: protocol and an aspx: protocol to Windows. I made the following notes:\r
38 \r
39 - Win7\r
40 \r
41   * Open in VS 2008, Select Release and Build.\r
42   * Run install.cmd from bin\Release\r
43 \r
44   >>> echo: works for IE8 and IE9 \r
45 \r
46 - Virgin XP\r
47 \r
48   * Install with .Net 3.5 SP1 and SDK for SP1\r
49 \r
50   * IE8 recognizes echo\r
51   * Chrome doesn't do anything on click\r
52   * Safari says: "Safari can't open "echo:Linked1Clicked" because Microsoft Windows doesn't recognize\r
53     Internet addresses starting with "echo:".\r
54 \r
55   * Doing regasm /codebase doesn't help.\r
56 \r
57 So although APPs should extend Windows and any Windows app should be able to use them, Safari and Chrome\r
58 do not.\r
59 \r
60 \r
61 Safari:\r
62 =======\r
63 \r
64 I found the following Web page on custom URL protocol handlers for Mac:\r
65 \r
66    http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSURLProtocol_Class/Reference/Reference.html\r
67    http://developer.apple.com/mac/library/samplecode/SpecialPictureProtocol/Introduction/Intro.html#//apple_ref/doc/uid/DTS10003816\r
68 \r
69 apparently also releated:\r
70    \r
71    http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i\r
72 \r
73 IE9 Preview 4:\r
74 ==============\r
75 \r
76 As mentioned above it works with APPs. Regarding container formats it appears to support just MP4 at\r
77 the moment (test with H.264 and AAC content). MPEG-TS doesn't work. \r
78 \r
79 So live P2P wouldn't work on IE9p4.\r