| Index: third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js
|
| index a6da9eb7ee813e98eefcccc42fcc39687ba2a142..61757727e9de09d930a791a71f7517190cdd1af7 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/RuntimeModel.js
|
| @@ -52,6 +52,29 @@ SDK.RuntimeModel = class extends SDK.SDKModel {
|
| }
|
|
|
| /**
|
| + * @param {string} code
|
| + * @return {string}
|
| + */
|
| + static wrapObjectLiteralExpressionIfNeeded(code) {
|
| + // Only parenthesize what appears to be an object literal.
|
| + if (!(/^\s*\{/.test(code) && /\}\s*$/.test(code)))
|
| + return code;
|
| +
|
| + try {
|
| + // Check if the code can be interpreted as an expression.
|
| + Function('return ' + code + ';');
|
| +
|
| + // No syntax error! Does it work parenthesized?
|
| + var wrappedCode = '(' + code + ')';
|
| + Function(wrappedCode);
|
| +
|
| + return wrappedCode;
|
| + } catch (e) {
|
| + return code;
|
| + }
|
| + }
|
| +
|
| + /**
|
| * @return {!SDK.DebuggerModel}
|
| */
|
| debuggerModel() {
|
|
|