1c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// found in the LICENSE file. 4c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 5c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#ifndef WebTraceLocation_h 6c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#define WebTraceLocation_h 7c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 8c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 9c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// This class is used to keep track of where posted tasks originate. See base/location.h in Chromium. 11c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)class WebTraceLocation { 12c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)public: 13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) // The strings passed in are not copied and must live for the duration of the program. 14c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) WebTraceLocation(const char* functionName, const char* fileName) 15c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) : m_functionName(functionName) 16c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) , m_fileName(fileName) 17c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) { } 18c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 19c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) const char* functionName() const { return m_functionName; } 20c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) const char* fileName() const { return m_fileName; } 21c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 22c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)private: 23c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) const char* m_functionName; 24c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) const char* m_fileName; 25c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)}; 26c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 27c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} 28c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#endif // WebTraceLocation_h 30