// If the worker not loaded yet, route_id == MSG_ROUTING_NONE
WebSharedWorkerProxy(ChildThread* child_thread,
unsigned long long document_id,
- bool exists,
int route_id,
int render_frame_route_id);
virtual ~WebSharedWorkerProxy();
- // Implementations of WebSharedWorker APIs
- virtual bool isStarted();
+ // Implementations of WebSharedWorkerConnector APIs
virtual void connect(blink::WebMessagePortChannel* channel,
ConnectListener* listener);
- virtual void startWorkerContext(
- const blink::WebURL& script_url,
- const blink::WebString& name,
- const blink::WebString& user_agent,
- const blink::WebString& source_code,
- const blink::WebString& content_security_policy,
- blink::WebContentSecurityPolicyType policy_type,
- long long script_resource_appcache_id);
-
private:
// IPC::Listener implementation.
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
- // Returns true if the worker is running (can send messages to it).
- bool IsStarted();
-
// Disconnects the worker (stops listening for incoming messages).
void Disconnect();
// Sends any messages currently in the queue.
void SendQueuedMessages();
- void CreateWorkerContext(const GURL& script_url,
- bool is_shared,
- const base::string16& name,
- const base::string16& user_agent,
- const base::string16& source_code,
- const base::string16& content_security_policy,
- blink::WebContentSecurityPolicyType policy_type,
- int pending_route_id,
- int64 script_resource_appcache_id);
void OnWorkerCreated();
-
+ void OnWorkerScriptLoadFailed();
+ void OnWorkerConnected();
// Routing id associated with this worker - used to receive messages from the
// worker, and also to route messages to the worker (WorkerService contains
// the worker).
int pending_route_id_;
ConnectListener* connect_listener_;
+ bool created_;
DISALLOW_COPY_AND_ASSIGN(WebSharedWorkerProxy);
};