diff options
author | xiyuan <xiyuan@chromium.org> | 2015-03-26 12:24:06 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-26 19:24:37 +0000 |
commit | 3d5f51b28af6131b5dec279f60a029af26fed037 (patch) | |
tree | 95d0ab1b6a64f62faf4279e45ceba842f7e853bd /components/webui_generator | |
parent | 2e2647b9a70d35ced01dbf3a35ea2647bebbf025 (diff) | |
download | chromium_src-3d5f51b28af6131b5dec279f60a029af26fed037.zip chromium_src-3d5f51b28af6131b5dec279f60a029af26fed037.tar.gz chromium_src-3d5f51b28af6131b5dec279f60a029af26fed037.tar.bz2 |
Use variadic template for screen handler's AddCallback.
BUG=none
Review URL: https://codereview.chromium.org/1038003002
Cr-Commit-Position: refs/heads/master@{#322444}
Diffstat (limited to 'components/webui_generator')
-rw-r--r-- | components/webui_generator/web_ui_view.h | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/components/webui_generator/web_ui_view.h b/components/webui_generator/web_ui_view.h index 9fd26cf..bfb8c9f 100644 --- a/components/webui_generator/web_ui_view.h +++ b/components/webui_generator/web_ui_view.h @@ -58,20 +58,12 @@ class WUG_EXPORT WebUIView : public View { content::WebUI* web_ui() { return web_ui_; } - template <typename T> - void AddCallback(const std::string& name, void (T::*method)()) { - base::Callback<void()> callback = + template <typename T, typename... Args> + void AddCallback(const std::string& name, void (T::*method)(Args...)) { + base::Callback<void(Args...)> callback = base::Bind(method, base::Unretained(static_cast<T*>(this))); web_ui_->RegisterMessageCallback( - name, base::Bind(&::login::CallbackWrapper0, callback)); - } - - template <typename T, typename A1> - void AddCallback(const std::string& name, void (T::*method)(A1 arg1)) { - base::Callback<void(A1)> callback = - base::Bind(method, base::Unretained(static_cast<T*>(this))); - web_ui_->RegisterMessageCallback( - name, base::Bind(&::login::CallbackWrapper1<A1>, callback)); + name, base::Bind(&::login::CallbackWrapper<Args...>, callback)); } // Overridden from View: |