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

Delta Between Two Patch Sets: src/JsEngine.cpp

Issue 29523555: Issue 5552 - use strict mode for all JS in libadblocklus (Closed) Base URL: https://github.com/adblockplus/libadblockplus.git
Left Patch Set: move setting of strict mode to do it once Created Aug. 22, 2017, 7:58 a.m.
Right Patch Set: move setting of V8 flags at the very beginning Created Aug. 22, 2017, 10:51 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
« no previous file with change/comment | « lib/compat.js ('k') | test/FileSystemJsObject.cpp » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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-2017 eyeo GmbH 3 * Copyright (C) 2006-2017 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 30 matching lines...) Expand all
41 41
42 void CheckTryCatch(const v8::TryCatch& tryCatch) 42 void CheckTryCatch(const v8::TryCatch& tryCatch)
43 { 43 {
44 if (tryCatch.HasCaught()) 44 if (tryCatch.HasCaught())
45 throw AdblockPlus::JsError(tryCatch.Exception(), tryCatch.Message()); 45 throw AdblockPlus::JsError(tryCatch.Exception(), tryCatch.Message());
46 } 46 }
47 47
48 class V8Initializer 48 class V8Initializer
49 { 49 {
50 V8Initializer() 50 V8Initializer()
51 : platform(v8::platform::CreateDefaultPlatform()) 51 : platform{nullptr}
52 { 52 {
53 std::string cmd = "--use_strict";
54 v8::V8::SetFlagsFromString(cmd.c_str(), cmd.length());
55 platform = v8::platform::CreateDefaultPlatform();
53 v8::V8::InitializePlatform(platform); 56 v8::V8::InitializePlatform(platform);
54 v8::V8::Initialize(); 57 v8::V8::Initialize();
anton 2017/08/22 08:22:33 in v8_initiliazer.cc in chromium `v8::V8::Initiali
sergei 2017/08/22 10:52:18 Good catch! Actually this particular flag is used
55 std::string cmd = "--use_strict";
56 v8::V8::SetFlagsFromString(cmd.c_str(), cmd.length());
57 } 58 }
58 59
59 ~V8Initializer() 60 ~V8Initializer()
60 { 61 {
61 v8::V8::Dispose(); 62 v8::V8::Dispose();
62 v8::V8::ShutdownPlatform(); 63 v8::V8::ShutdownPlatform();
63 delete platform; 64 delete platform;
64 } 65 }
65 v8::Platform* platform; 66 v8::Platform* platform;
66 public: 67 public:
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 list.push_back(JsValue(shared_from_this(), arguments[i])); 300 list.push_back(JsValue(shared_from_this(), arguments[i]));
300 return list; 301 return list;
301 } 302 }
302 303
303 void AdblockPlus::JsEngine::SetGlobalProperty(const std::string& name, 304 void AdblockPlus::JsEngine::SetGlobalProperty(const std::string& name,
304 const AdblockPlus::JsValue& value) 305 const AdblockPlus::JsValue& value)
305 { 306 {
306 auto global = GetGlobalObject(); 307 auto global = GetGlobalObject();
307 global.SetProperty(name, value); 308 global.SetProperty(name, value);
308 } 309 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld