diff options
-rw-r--r-- | LICENSE | 39 | ||||
-rw-r--r-- | MODULE_LICENSE_BSD | 0 | ||||
l---------[-rw-r--r--] | NOTICE | 28 | ||||
-rw-r--r-- | src/proxy_resolver_v8.cc | 21 |
4 files changed, 51 insertions, 37 deletions
@@ -1,3 +1,42 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Akhil Arora <akhil.arora@sun.com> + * Tomi Leppikangas <Tomi.Leppikangas@oulu.fi> + * Darin Fisher <darin@meer.net> + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + // Copyright (c) 2010 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/MODULE_LICENSE_BSD b/MODULE_LICENSE_BSD deleted file mode 100644 index e69de29..0000000 --- a/MODULE_LICENSE_BSD +++ /dev/null @@ -1,27 +1 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +LICENSE
\ No newline at end of file diff --git a/src/proxy_resolver_v8.cc b/src/proxy_resolver_v8.cc index d7491ed..289102e 100644 --- a/src/proxy_resolver_v8.cc +++ b/src/proxy_resolver_v8.cc @@ -389,7 +389,7 @@ class ProxyResolverV8::Context { UTF16StringToV8String(isolate_, url), UTF16StringToV8String(isolate_, host) }; - v8::TryCatch try_catch; + v8::TryCatch try_catch(isolate_); v8::Local<v8::Value> ret = v8::Function::Cast(*function)->Call( context->Global(), 2, argv); @@ -425,7 +425,7 @@ class ProxyResolverV8::Context { v8_this_.Reset(isolate_, v8::External::New(isolate_, this)); v8::Local<v8::External> v8_this = v8::Local<v8::External>::New(isolate_, v8_this_); - v8::Local<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New(); + v8::Local<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New(isolate_); // Attach the javascript bindings. v8::Local<v8::FunctionTemplate> alert_template = @@ -523,16 +523,18 @@ class ProxyResolverV8::Context { // Compiles and runs |script| in the current V8 context. // Returns OK on success, otherwise an error code. int RunScript(v8::Handle<v8::String> script, const char* script_name) { - v8::TryCatch try_catch; + v8::Local<v8::Context> context = + v8::Local<v8::Context>::New(isolate_, v8_context_); + v8::TryCatch try_catch(isolate_); // Compile the script. v8::ScriptOrigin origin = v8::ScriptOrigin(ASCIILiteralToV8String(isolate_, script_name)); - v8::Local<v8::Script> code = v8::Script::Compile(script, &origin); + v8::MaybeLocal<v8::Script> code = v8::Script::Compile(context, script, &origin); // Execute. if (!code.IsEmpty()) - code->Run(); + code.ToLocalChecked()->Run(context); // Check for errors. if (try_catch.HasCaught()) { @@ -758,12 +760,11 @@ int ProxyResolverV8::SetPacScript(const std::u16string& script_data) { if (script_data.length() == 0) return ERR_PAC_SCRIPT_FAILED; - // Use the built-in locale-aware definitions instead of the ones provided by - // ICU. This makes things like String.prototype.toUpperCase() not be - // undefined. + // To help debugging v8 initialization issues, add "--log_all --print_all_exceptions" + // to the options // Disable JIT - static const char kNoIcuCaseMapping[] = "--no-icu_case_mapping --no-opt"; - v8::V8::SetFlagsFromString(kNoIcuCaseMapping, strlen(kNoIcuCaseMapping)); + static const char kNoOpt[] = "--no-opt"; + v8::V8::SetFlagsFromString(kNoOpt, strlen(kNoOpt)); // Try parsing the PAC script. ArrayBufferAllocator allocator; |