13141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch/* 23141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * Copyright (C) 2010 The Android Open Source Project 33141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * 43141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * Licensed under the Apache License, Version 2.0 (the "License"); 53141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * you may not use this file except in compliance with the License. 63141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * You may obtain a copy of the License at 73141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * 83141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * http://www.apache.org/licenses/LICENSE-2.0 93141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * 103141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * Unless required by applicable law or agreed to in writing, software 113141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * distributed under the License is distributed on an "AS IS" BASIS, 123141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * See the License for the specific language governing permissions and 143141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * limitations under the License. 153141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch */ 163141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 173141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdochpackage android.webkit; 183141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 193141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch/** 203141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * Public class representing a JavaScript console message from WebCore. This could be a issued 213141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * by a call to one of the <code>console</code> logging functions (e.g. 223141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * <code>console.log('...')</code>) or a JavaScript error on the page. To receive notifications 233141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * of these messages, override the 243141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch * {@link WebChromeClient#onConsoleMessage(ConsoleMessage)} function. 253141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch */ 263141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdochpublic class ConsoleMessage { 273141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 283141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch // This must be kept in sync with the WebCore enum in WebCore/page/Console.h 293141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public enum MessageLevel { 303141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch TIP, 313141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch LOG, 323141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch WARNING, 333141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch ERROR, 343141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch DEBUG 353141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch }; 363141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 373141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch private MessageLevel mLevel; 383141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch private String mMessage; 393141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch private String mSourceId; 403141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch private int mLineNumber; 413141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 423141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public ConsoleMessage(String message, String sourceId, int lineNumber, MessageLevel msgLevel) { 433141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch mMessage = message; 443141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch mSourceId = sourceId; 453141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch mLineNumber = lineNumber; 463141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch mLevel = msgLevel; 473141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch } 483141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 493141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public MessageLevel messageLevel() { 503141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch return mLevel; 513141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch } 523141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 533141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public String message() { 543141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch return mMessage; 553141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch } 563141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 573141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public String sourceId() { 583141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch return mSourceId; 593141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch } 603141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch 613141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch public int lineNumber() { 623141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch return mLineNumber; 633141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch } 643141e0a62abe57e93e5d716895a2a57cc052bb50Ben Murdoch}; 65