Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: include/AdblockPlus/JsValue.h

Issue 29361562: Issue 3594 - remove circular references JsEngine-JsValue-JsEngine (Closed)
Left Patch Set: Created Nov. 3, 2016, 11:26 a.m.
Right Patch Set: temporary workaround for race condition Created Dec. 1, 2016, 10:26 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 /** 127 /**
128 * Invokes the value as a function (see `IsFunction()`) with single 128 * Invokes the value as a function (see `IsFunction()`) with single
129 * parameter. 129 * parameter.
130 * @param arg A single required parameter. 130 * @param arg A single required parameter.
131 * @return Value returned by the function. 131 * @return Value returned by the function.
132 */ 132 */
133 JsValuePtr Call(const JsValue& arg) const; 133 JsValuePtr Call(const JsValue& arg) const;
134 134
135 v8::Local<v8::Value> UnwrapValue(JsEngine& jsEngine) const; 135 v8::Local<v8::Value> UnwrapValue(JsEngine& jsEngine) const;
136 protected: 136 protected:
137 std::weak_ptr<JsEngine> m_jsEngine; 137 std::weak_ptr<JsEngine> jsEngine;
Oleksandr 2016/11/25 10:38:04 Nit: I don't really see a value in renaming the va
sergei 2016/11/25 12:04:46 I thought we finally started to use #pragma once a
138 private: 138 private:
139 JsValue(const std::weak_ptr<JsEngine>& jsEngine, v8::Handle<v8::Value> value ); 139 JsValue(const std::weak_ptr<JsEngine>& jsEngine, v8::Handle<v8::Value> value );
140 void SetProperty(const std::string& name, v8::Handle<v8::Value> val); 140 void SetProperty(const std::string& name, v8::Handle<v8::Value> val);
141 std::unique_ptr<v8::Persistent<v8::Value>> m_value; 141 std::unique_ptr<v8::Persistent<v8::Value>> value;
142 }; 142 };
143 } 143 }
144 144
145 #endif 145 #endif
LEFTRIGHT

Powered by Google App Engine
This is Rietveld