Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1859)

Side by Side Diff: Source/modules/gamepad/NavigatorGamepad.cpp

Issue 171333003: Pass implementation object to supplemental classes by reference (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, Google Inc. All rights reserved. 2 * Copyright (C) 2011, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met: 5 * modification, are permitted provided that the following conditions are met:
6 * 6 *
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 NavigatorGamepad::~NavigatorGamepad() 64 NavigatorGamepad::~NavigatorGamepad()
65 { 65 {
66 } 66 }
67 67
68 const char* NavigatorGamepad::supplementName() 68 const char* NavigatorGamepad::supplementName()
69 { 69 {
70 return "NavigatorGamepad"; 70 return "NavigatorGamepad";
71 } 71 }
72 72
73 NavigatorGamepad* NavigatorGamepad::from(Navigator* navigator) 73 NavigatorGamepad& NavigatorGamepad::from(Navigator& navigator)
74 { 74 {
75 NavigatorGamepad* supplement = static_cast<NavigatorGamepad*>(Supplement<Nav igator>::from(navigator, supplementName())); 75 NavigatorGamepad* supplement = static_cast<NavigatorGamepad*>(Supplement<Nav igator>::from(navigator, supplementName()));
76 if (!supplement) { 76 if (!supplement) {
77 supplement = new NavigatorGamepad(); 77 supplement = new NavigatorGamepad();
78 provideTo(navigator, supplementName(), adoptPtr(supplement)); 78 provideTo(navigator, supplementName(), adoptPtr(supplement));
79 } 79 }
80 return supplement; 80 return *supplement;
81 } 81 }
82 82
83 GamepadList* NavigatorGamepad::webkitGetGamepads(Navigator* navigator) 83 GamepadList* NavigatorGamepad::webkitGetGamepads(Navigator& navigator)
84 { 84 {
85 return NavigatorGamepad::from(navigator)->gamepads(); 85 return NavigatorGamepad::from(navigator).gamepads();
86 } 86 }
87 87
88 GamepadList* NavigatorGamepad::gamepads() 88 GamepadList* NavigatorGamepad::gamepads()
89 { 89 {
90 if (!m_gamepads) 90 if (!m_gamepads)
91 m_gamepads = GamepadList::create(); 91 m_gamepads = GamepadList::create();
92 sampleGamepads(m_gamepads.get()); 92 sampleGamepads(m_gamepads.get());
93 return m_gamepads.get(); 93 return m_gamepads.get();
94 } 94 }
95 95
96 } // namespace WebCore 96 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698