###############################################################################
# Copyright (c) 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

#option file for tracing options for Google Chrome debugger port
org.eclipse.wst.jsdt.debug.chrome/debug=true

#option to trace packets being sent / received
org.eclipse.wst.jsdt.debug.chrome/packets=false

#option to trace the event queue
org.eclipse.wst.jsdt.debug.chrome/eventqueue=false

#option to trace the jsdi impl* elements
org.eclipse.wst.jsdt.debug.chrome/jsdi=false

#option to trace the JSON parser
org.eclipse.wst.jsdt.debug.chrome/json=false