Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: src/isolate.cc

Issue 1140053002: Migrate error messages, part 11. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/factory.cc ('k') | src/json-parser.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdlib.h> 5 #include <stdlib.h>
6 6
7 #include <fstream> // NOLINT(readability/streams) 7 #include <fstream> // NOLINT(readability/streams)
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/v8.h" 10 #include "src/v8.h"
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 if (!constructor->shared()->IsApiFunction()) return NULL; 737 if (!constructor->shared()->IsApiFunction()) return NULL;
738 738
739 Object* data_obj = 739 Object* data_obj =
740 constructor->shared()->get_api_func_data()->access_check_info(); 740 constructor->shared()->get_api_func_data()->access_check_info();
741 if (data_obj == isolate->heap()->undefined_value()) return NULL; 741 if (data_obj == isolate->heap()->undefined_value()) return NULL;
742 742
743 return AccessCheckInfo::cast(data_obj); 743 return AccessCheckInfo::cast(data_obj);
744 } 744 }
745 745
746 746
747 static void ThrowAccessCheckError(Isolate* isolate) {
748 Handle<String> message =
749 isolate->factory()->InternalizeUtf8String("no access");
750 isolate->ScheduleThrow(*isolate->factory()->NewTypeError(message));
751 }
752
753
754 void Isolate::ReportFailedAccessCheck(Handle<JSObject> receiver) { 747 void Isolate::ReportFailedAccessCheck(Handle<JSObject> receiver) {
755 if (!thread_local_top()->failed_access_check_callback_) { 748 if (!thread_local_top()->failed_access_check_callback_) {
756 return ThrowAccessCheckError(this); 749 return ScheduleThrow(*factory()->NewTypeError(MessageTemplate::kNoAccess));
757 } 750 }
758 751
759 DCHECK(receiver->IsAccessCheckNeeded()); 752 DCHECK(receiver->IsAccessCheckNeeded());
760 DCHECK(context()); 753 DCHECK(context());
761 754
762 // Get the data object from access check info. 755 // Get the data object from access check info.
763 HandleScope scope(this); 756 HandleScope scope(this);
764 Handle<Object> data; 757 Handle<Object> data;
765 { DisallowHeapAllocation no_gc; 758 { DisallowHeapAllocation no_gc;
766 AccessCheckInfo* access_check_info = GetAccessCheckInfo(this, receiver); 759 AccessCheckInfo* access_check_info = GetAccessCheckInfo(this, receiver);
767 if (!access_check_info) { 760 if (!access_check_info) {
768 AllowHeapAllocation doesnt_matter_anymore; 761 AllowHeapAllocation doesnt_matter_anymore;
769 return ThrowAccessCheckError(this); 762 return ScheduleThrow(
763 *factory()->NewTypeError(MessageTemplate::kNoAccess));
770 } 764 }
771 data = handle(access_check_info->data(), this); 765 data = handle(access_check_info->data(), this);
772 } 766 }
773 767
774 // Leaving JavaScript. 768 // Leaving JavaScript.
775 VMState<EXTERNAL> state(this); 769 VMState<EXTERNAL> state(this);
776 thread_local_top()->failed_access_check_callback_( 770 thread_local_top()->failed_access_check_callback_(
777 v8::Utils::ToLocal(receiver), v8::ACCESS_HAS, v8::Utils::ToLocal(data)); 771 v8::Utils::ToLocal(receiver), v8::ACCESS_HAS, v8::Utils::ToLocal(data));
778 } 772 }
779 773
(...skipping 1998 matching lines...) Expand 10 before | Expand all | Expand 10 after
2778 if (prev_ && prev_->Intercept(flag)) return true; 2772 if (prev_ && prev_->Intercept(flag)) return true;
2779 // Then check whether this scope intercepts. 2773 // Then check whether this scope intercepts.
2780 if ((flag & intercept_mask_)) { 2774 if ((flag & intercept_mask_)) {
2781 intercepted_flags_ |= flag; 2775 intercepted_flags_ |= flag;
2782 return true; 2776 return true;
2783 } 2777 }
2784 return false; 2778 return false;
2785 } 2779 }
2786 2780
2787 } } // namespace v8::internal 2781 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/json-parser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698