diff --git a/runtime/factories/android/android.go b/runtime/factories/android/android.go
index 0bf819c..35732ea 100644
--- a/runtime/factories/android/android.go
+++ b/runtime/factories/android/android.go
@@ -30,9 +30,9 @@
 	"v.io/x/ref/runtime/internal"
 	"v.io/x/ref/runtime/internal/lib/appcycle"
 	"v.io/x/ref/runtime/internal/lib/roaming"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
 	inamespace "v.io/x/ref/runtime/internal/naming/namespace"
 	"v.io/x/ref/runtime/internal/rt"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/tcp"
 	_ "v.io/x/ref/runtime/protocols/ws"
 	_ "v.io/x/ref/runtime/protocols/wsh"
@@ -50,7 +50,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WSH{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WSH{})
 	commonFlags = flags.CreateAndRegister(flag.CommandLine, flags.Runtime, flags.Listen)
 }
 
diff --git a/runtime/factories/chrome/chrome.go b/runtime/factories/chrome/chrome.go
index ed49651..aca02e7 100644
--- a/runtime/factories/chrome/chrome.go
+++ b/runtime/factories/chrome/chrome.go
@@ -16,8 +16,8 @@
 
 	"v.io/x/ref/lib/flags"
 	"v.io/x/ref/runtime/internal"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
 	grt "v.io/x/ref/runtime/internal/rt"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/ws"
 	_ "v.io/x/ref/runtime/protocols/wsh_nacl"
 )
@@ -26,7 +26,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WS{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WS{})
 	commonFlags = flags.CreateAndRegister(flag.CommandLine, flags.Runtime)
 }
 
diff --git a/runtime/factories/fake/fake.go b/runtime/factories/fake/fake.go
index 89ec1d7..ef4b914 100644
--- a/runtime/factories/fake/fake.go
+++ b/runtime/factories/fake/fake.go
@@ -16,7 +16,7 @@
 	"v.io/v23/flow"
 
 	"v.io/x/ref/runtime/internal"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/local"
 	_ "v.io/x/ref/runtime/protocols/tcp"
 	_ "v.io/x/ref/runtime/protocols/ws"
@@ -34,7 +34,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WSH{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WSH{})
 }
 
 func Init(ctx *context.T) (v23.Runtime, *context.T, v23.Shutdown, error) {
diff --git a/runtime/factories/gce/gce.go b/runtime/factories/gce/gce.go
index b230fc6..a78018f 100644
--- a/runtime/factories/gce/gce.go
+++ b/runtime/factories/gce/gce.go
@@ -23,8 +23,8 @@
 	"v.io/x/ref/runtime/internal"
 	"v.io/x/ref/runtime/internal/gce"
 	"v.io/x/ref/runtime/internal/lib/appcycle"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
 	grt "v.io/x/ref/runtime/internal/rt"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/tcp"
 	_ "v.io/x/ref/runtime/protocols/ws"
 	_ "v.io/x/ref/runtime/protocols/wsh"
@@ -34,7 +34,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WSH{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WSH{})
 	commonFlags = flags.CreateAndRegister(flag.CommandLine, flags.Runtime, flags.Listen)
 }
 
diff --git a/runtime/factories/generic/generic.go b/runtime/factories/generic/generic.go
index ac3a0d6..d9f1951 100644
--- a/runtime/factories/generic/generic.go
+++ b/runtime/factories/generic/generic.go
@@ -18,8 +18,8 @@
 	"v.io/x/ref/lib/flags"
 	"v.io/x/ref/runtime/internal"
 	"v.io/x/ref/runtime/internal/lib/appcycle"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
 	grt "v.io/x/ref/runtime/internal/rt"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/tcp"
 	_ "v.io/x/ref/runtime/protocols/ws"
 	_ "v.io/x/ref/runtime/protocols/wsh"
@@ -29,7 +29,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WSH{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WSH{})
 	flags.SetDefaultHostPort(":0")
 	commonFlags = flags.CreateAndRegister(flag.CommandLine, flags.Runtime, flags.Listen)
 }
diff --git a/runtime/factories/roaming/roaming.go b/runtime/factories/roaming/roaming.go
index e8e6ea3..32b596d 100644
--- a/runtime/factories/roaming/roaming.go
+++ b/runtime/factories/roaming/roaming.go
@@ -29,8 +29,8 @@
 	"v.io/x/ref/runtime/internal"
 	"v.io/x/ref/runtime/internal/lib/appcycle"
 	"v.io/x/ref/runtime/internal/lib/roaming"
-	"v.io/x/ref/runtime/internal/lib/xwebsocket"
 	"v.io/x/ref/runtime/internal/rt"
+	"v.io/x/ref/runtime/protocols/lib/websocket"
 	_ "v.io/x/ref/runtime/protocols/tcp"
 	_ "v.io/x/ref/runtime/protocols/ws"
 	_ "v.io/x/ref/runtime/protocols/wsh"
@@ -41,7 +41,7 @@
 
 func init() {
 	v23.RegisterRuntimeFactory(Init)
-	flow.RegisterUnknownProtocol("wsh", xwebsocket.WSH{})
+	flow.RegisterUnknownProtocol("wsh", websocket.WSH{})
 	commonFlags = flags.CreateAndRegister(flag.CommandLine, flags.Runtime, flags.Listen)
 }
 
