15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "scoped_refptr.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct Foo {
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  int dummy;
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)};
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void ExpectsRawPtr(Foo* foo) {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  Foo* temp = foo;
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void CallExpectsRawPtrWithScopedRefptr() {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  scoped_refptr<Foo> ok(new Foo);
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ExpectsRawPtr(ok);
185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void CallExpectsRawPtrWithRawPtr() {
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ExpectsRawPtr(new Foo);
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)