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

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp

Issue 2102453003: [DevTools] Move collectionEntries to internalProperties in protocol (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010-2011 Google Inc. All rights reserved. 2 * Copyright (c) 2010-2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 19 matching lines...) Expand all
30 30
31 #include "platform/v8_inspector/V8DebuggerImpl.h" 31 #include "platform/v8_inspector/V8DebuggerImpl.h"
32 32
33 #include "platform/inspector_protocol/Values.h" 33 #include "platform/inspector_protocol/Values.h"
34 #include "platform/v8_inspector/Atomics.h" 34 #include "platform/v8_inspector/Atomics.h"
35 #include "platform/v8_inspector/DebuggerScript.h" 35 #include "platform/v8_inspector/DebuggerScript.h"
36 #include "platform/v8_inspector/InspectedContext.h" 36 #include "platform/v8_inspector/InspectedContext.h"
37 #include "platform/v8_inspector/ScriptBreakpoint.h" 37 #include "platform/v8_inspector/ScriptBreakpoint.h"
38 #include "platform/v8_inspector/V8Compat.h" 38 #include "platform/v8_inspector/V8Compat.h"
39 #include "platform/v8_inspector/V8DebuggerAgentImpl.h" 39 #include "platform/v8_inspector/V8DebuggerAgentImpl.h"
40 #include "platform/v8_inspector/V8InjectedScriptHost.h"
40 #include "platform/v8_inspector/V8InspectorSessionImpl.h" 41 #include "platform/v8_inspector/V8InspectorSessionImpl.h"
41 #include "platform/v8_inspector/V8RuntimeAgentImpl.h" 42 #include "platform/v8_inspector/V8RuntimeAgentImpl.h"
42 #include "platform/v8_inspector/V8StackTraceImpl.h" 43 #include "platform/v8_inspector/V8StackTraceImpl.h"
43 #include "platform/v8_inspector/V8StringUtil.h" 44 #include "platform/v8_inspector/V8StringUtil.h"
44 #include "platform/v8_inspector/public/V8DebuggerClient.h" 45 #include "platform/v8_inspector/public/V8DebuggerClient.h"
45 #include <v8-profiler.h> 46 #include <v8-profiler.h>
46 47
47 namespace blink { 48 namespace blink {
48 49
49 namespace { 50 namespace {
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 v8::MaybeLocal<v8::Value> V8DebuggerImpl::functionScopes(v8::Local<v8::Function> function) 663 v8::MaybeLocal<v8::Value> V8DebuggerImpl::functionScopes(v8::Local<v8::Function> function)
663 { 664 {
664 if (!enabled()) { 665 if (!enabled()) {
665 NOTREACHED(); 666 NOTREACHED();
666 return v8::Local<v8::Value>::New(m_isolate, v8::Undefined(m_isolate)); 667 return v8::Local<v8::Value>::New(m_isolate, v8::Undefined(m_isolate));
667 } 668 }
668 v8::Local<v8::Value> argv[] = { function }; 669 v8::Local<v8::Value> argv[] = { function };
669 return callDebuggerMethod("getFunctionScopes", 1, argv); 670 return callDebuggerMethod("getFunctionScopes", 1, argv);
670 } 671 }
671 672
673 v8::MaybeLocal<v8::Array> V8DebuggerImpl::internalProperties(v8::Local<v8::Conte xt> context, v8::Local<v8::Value> value)
674 {
675 v8::Local<v8::Array> properties;
676 if (!v8::Debug::GetInternalProperties(m_isolate, value).ToLocal(&properties) )
677 return v8::MaybeLocal<v8::Array>();
678 if (!enabled())
679 return properties;
680 if (value->IsMap() || value->IsWeakMap() || value->IsSet() || value->IsWeakS et() || value->IsSetIterator() || value->IsMapIterator()) {
681 v8::Local<v8::Value> entries = collectionEntries(context, v8::Local<v8:: Object>::Cast(value));
682 if (entries->IsArray()) {
683 properties->Set(properties->Length(), v8InternalizedString("[[Entrie s]]"));
684 properties->Set(properties->Length(), entries);
685 }
686 }
687 return properties;
688 }
689
672 v8::Local<v8::Value> V8DebuggerImpl::generatorObjectDetails(v8::Local<v8::Object >& object) 690 v8::Local<v8::Value> V8DebuggerImpl::generatorObjectDetails(v8::Local<v8::Object >& object)
673 { 691 {
674 if (!enabled()) { 692 if (!enabled()) {
675 NOTREACHED(); 693 NOTREACHED();
676 return v8::Local<v8::Value>::New(m_isolate, v8::Undefined(m_isolate)); 694 return v8::Local<v8::Value>::New(m_isolate, v8::Undefined(m_isolate));
677 } 695 }
678 v8::Local<v8::Value> argv[] = { object }; 696 v8::Local<v8::Value> argv[] = { object };
679 return callDebuggerMethod("getGeneratorObjectDetails", 1, argv).ToLocalCheck ed(); 697 return callDebuggerMethod("getGeneratorObjectDetails", 1, argv).ToLocalCheck ed();
680 } 698 }
681 699
682 v8::Local<v8::Value> V8DebuggerImpl::collectionEntries(v8::Local<v8::Object>& ob ject) 700 v8::Local<v8::Value> V8DebuggerImpl::collectionEntries(v8::Local<v8::Context> co ntext, v8::Local<v8::Object> object)
683 { 701 {
684 if (!enabled()) { 702 if (!enabled()) {
685 NOTREACHED(); 703 NOTREACHED();
686 return v8::Local<v8::Value>::New(m_isolate, v8::Undefined(m_isolate)); 704 return v8::Undefined(m_isolate);
687 } 705 }
688 v8::Local<v8::Value> argv[] = { object }; 706 v8::Local<v8::Value> argv[] = { object };
689 return callDebuggerMethod("getCollectionEntries", 1, argv).ToLocalChecked(); 707 v8::Local<v8::Value> entriesValue = callDebuggerMethod("getCollectionEntries ", 1, argv).ToLocalChecked();
708 if (!entriesValue->IsArray())
709 return v8::Undefined(m_isolate);
710 v8::Local<v8::Array> entries = entriesValue.As<v8::Array>();
711 for (size_t i = 0; i < entries->Length(); ++i) {
712 v8::Local<v8::Value> entry;
713 if (!entries->Get(context, i).ToLocal(&entry) || !entry->IsObject())
714 continue;
715 if (!entry.As<v8::Object>()->SetPrivate(context, V8InjectedScriptHost::i nternalEntryPrivate(m_isolate), v8::True(m_isolate)).FromMaybe(false))
716 continue;
717 }
718 if (!entries->SetPrototype(context, v8::Null(m_isolate)).FromMaybe(false))
719 return v8::Undefined(m_isolate);
720 return entries;
690 } 721 }
691 722
692 bool V8DebuggerImpl::isPaused() 723 bool V8DebuggerImpl::isPaused()
693 { 724 {
694 return !m_pausedContext.IsEmpty(); 725 return !m_pausedContext.IsEmpty();
695 } 726 }
696 727
697 v8::MaybeLocal<v8::Value> V8DebuggerImpl::runCompiledScript(v8::Local<v8::Contex t> context, v8::Local<v8::Script> script) 728 v8::MaybeLocal<v8::Value> V8DebuggerImpl::runCompiledScript(v8::Local<v8::Contex t> context, v8::Local<v8::Script> script)
698 { 729 {
699 // TODO(dgozman): get rid of this check. 730 // TODO(dgozman): get rid of this check.
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 1013
983 V8InspectorSessionImpl* V8DebuggerImpl::sessionForContextGroup(int contextGroupI d) 1014 V8InspectorSessionImpl* V8DebuggerImpl::sessionForContextGroup(int contextGroupI d)
984 { 1015 {
985 if (!contextGroupId) 1016 if (!contextGroupId)
986 return nullptr; 1017 return nullptr;
987 SessionMap::iterator iter = m_sessions.find(contextGroupId); 1018 SessionMap::iterator iter = m_sessions.find(contextGroupId);
988 return iter == m_sessions.end() ? nullptr : iter->second; 1019 return iter == m_sessions.end() ? nullptr : iter->second;
989 } 1020 }
990 1021
991 } // namespace blink 1022 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698