| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SKY_ENGINE_CORE_APP_MODULE_H_ |
| #define SKY_ENGINE_CORE_APP_MODULE_H_ |
| |
| #include "sky/engine/core/app/AbstractModule.h" |
| |
| namespace blink { |
| class Application; |
| |
| class Module : public AbstractModule { |
| public: |
| static PassRefPtr<Module> create(ExecutionContext* context, |
| Application* application, |
| PassRefPtr<Document> document, |
| const String& url) { |
| return adoptRef(new Module(context, application, document, url)); |
| } |
| |
| virtual ~Module(); |
| |
| Application* application() const { return application_.get(); } |
| |
| private: |
| Module(ExecutionContext* context, |
| Application* application, |
| PassRefPtr<Document> document, |
| const String& url); |
| const AtomicString& interfaceName() const override; |
| |
| Application* GetApplication() override; |
| |
| RefPtr<Application> application_; |
| }; |
| |
| } // namespace blink |
| |
| #endif // SKY_ENGINE_CORE_APP_MODULE_H_ |