Reviewed by Ken.
-revised generated error message content
* kjs/error_object.cpp:
(ErrorProtoFuncImp::call):
* kjs/internal.cpp:
(Parser::parse):
* kjs/object.cpp:
(KJS::Error::create):
WebCore:
Reviewed by Ken.
-wired up JavaScript error message handling to
the WebCoreBridge
* khtml/ecma/kjs_events.cpp:
(JSEventListener::handleEvent):
* khtml/ecma/kjs_proxy.cpp:
(KJSProxyImpl::evaluate):
* khtml/ecma/kjs_window.cpp:
(Window::isSafeScript):
(ScheduledAction::execute):
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::addMessageToConsole):
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
WebKit:
Reviewed by Ken.
-wired up JavaScript error message handling through
the WebCoreBridge
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge addMessageToConsole:]):
* WebKit.pbproj/project.pbxproj:
* WebView.subproj/WebUIDelegatePrivate.h:
WebBrowser:
Reviewed by Ken.
-added the JavaScript Console feature
* BrowserWebController.m:
(-[BrowserWebView setWindowFocusDisabled:]):
(-[BrowserWebView webView:addMessageToConsole:]):
* Debug/DebugUtilities.m:
(-[DebugUtilities createDebugMenu]):
(-[BrowserDocument showJavaScriptConsole:]):
* WebBrowser.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2004-05-27 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ * kjs/error_object.cpp:
+ (ErrorProtoFuncImp::call):
+ * kjs/internal.cpp:
+ (Parser::parse):
+ * kjs/object.cpp:
+ (KJS::Error::create):
+
=== Safari-142 ===
2004-05-27 Richard Williamson <rjw@apple.com>
// toString()
UString s;
- Value v = thisObj.get(exec, "line");
- if (v.type() != UndefinedType) {
- s += v.toString(exec) += ": ";
- }
-
-
- v = thisObj.get(exec, namePropertyName);
+ Value v = thisObj.get(exec, namePropertyName);
if (v.type() != UndefinedType) {
s += v.toString(exec);
}
if (errLine)
*errLine = eline;
if (errMsg)
- *errMsg = "Parse error at line " + UString::from(eline);
+ *errMsg = "Parse error";
if (prog) {
// must ref and deref to clean up properly
prog->ref();
int lineno, int sourceId)
{
Object cons;
-
switch (errtype) {
case EvalError:
cons = exec->lexicalInterpreter()->builtinEvalError();
+2004-05-27 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ * khtml/ecma/kjs_events.cpp:
+ (JSEventListener::handleEvent):
+ * khtml/ecma/kjs_proxy.cpp:
+ (KJSProxyImpl::evaluate):
+ * khtml/ecma/kjs_window.cpp:
+ (Window::isSafeScript):
+ (ScheduledAction::execute):
+ * kwq/KWQKHTMLPart.h:
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::addMessageToConsole):
+ * kwq/WebCoreBridge.h:
+ * kwq/WebCoreBridge.mm:
+
2004-05-27 Trey Matteson <trey@apple.com>
Two dragging tweaks: ondragleave events are sent before ondragenter events when
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
+#include "khtml_part.h"
#include "kjs_window.h"
#include "kjs_events.h"
#include "kjs_events.lut.h"
interpreter->setCurrentEvent( 0 );
#if APPLE_CHANGES
if ( exec->hadException() ) {
+ KJS::Interpreter::lock();
+ char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
+ int lineNumber = exec->exception().toObject(exec).get(exec, "line").toInt32(exec);
+ KJS::Interpreter::unlock();
if (Interpreter::shouldPrintExceptions()) {
- char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
printf("(event handler):%s\n", message);
}
+ KWQ(part)->addMessageToConsole(message, lineNumber );
exec->clearException();
}
#else
UString code( str );
Completion comp = m_script->evaluate(code, thisNode, filename);
- bool success = ( comp.complType() == Normal ) || ( comp.complType() == ReturnValue );
-
+ bool success = ( comp.complType() == Normal ) || ( comp.complType() == ReturnValue );
#ifdef KJS_DEBUGGER
// KJSDebugWin::instance()->setCode(QString::null);
#endif
{
KJS::Interpreter::lock();
UString msg = comp.value().toString(m_script->globalExec());
+ int lineNumber = comp.value().toObject(m_script->globalExec()).get(m_script->globalExec(), "line").toInt32(m_script->globalExec());
KJS::Interpreter::unlock();
+#if APPLE_CHANGES
+ KWQ(m_part)->addMessageToConsole(msg.qstring(), lineNumber);
+#else
kdWarning(6070) << "Script threw exception: " << msg.qstring() << endl;
+#endif
}
return QVariant();
}
if (Interpreter::shouldPrintExceptions()) {
printf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
thisDocument->URL().latin1(), actDocument->URL().latin1());
+ QString message;
+ message.sprintf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
+ thisDocument->URL().latin1(), actDocument->URL().latin1());
+ KWQ(m_part)->addMessageToConsole(message, 1);
}
#endif
Interpreter::unlock();
if ( exec->hadException() ) {
#if APPLE_CHANGES
+ Interpreter::lock();
+ char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
+ int lineNumber = exec->exception().toObject(exec).get(exec, "line").toInt32(exec);
+ Interpreter::unlock();
if (Interpreter::shouldPrintExceptions()) {
- Interpreter::lock();
- char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
- Interpreter::unlock();
printf("(timer):%s\n", message);
}
+ KWQ(window->m_part)->addMessageToConsole(message, lineNumber);
#endif
exec->clearException();
}
void runJavaScriptAlert(const QString &message);
bool runJavaScriptConfirm(const QString &message);
bool runJavaScriptPrompt(const QString &message, const QString &defaultValue, QString &result);
-
+ void KWQKHTMLPart::addMessageToConsole(const QString &message, const unsigned int lineNumber);
using KHTMLPart::xmlDocImpl;
khtml::RenderObject *renderer();
void forceLayout();
return false;
}
+void KWQKHTMLPart::addMessageToConsole(const QString &message, const unsigned int lineNumber)
+{
+ NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
+ message.getNSString(), @"message",[NSNumber numberWithInt: lineNumber], @"lineNumber", NULL];
+ [_bridge addMessageToConsole:dictionary];
+}
+
void KWQKHTMLPart::createEmptyDocument()
{
// Although it's not completely clear from the name of this function,
- (void)runJavaScriptAlertPanelWithMessage:(NSString *)message;
- (BOOL)runJavaScriptConfirmPanelWithMessage:(NSString *)message;
- (BOOL)runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText returningText:(NSString **)result;
+- (void)addMessageToConsole:(NSDictionary *)message;
- (id <WebCoreResourceHandle>)startLoadingResource:(id <WebCoreResourceLoader>)loader withURL:(NSURL *)URL customHeaders:(NSDictionary *)customHeaders;
- (id <WebCoreResourceHandle>)startLoadingResource:(id <WebCoreResourceLoader>)loader withURL:(NSURL *)URL customHeaders:(NSDictionary *)customHeaders postData:(NSData *)data;
_part->provisionalLoadStarted();
}
-
- (void)openURL:(NSURL *)URL reload:(BOOL)reload contentType:(NSString *)contentType refresh:(NSString *)refresh lastModified:(NSDate *)lastModified pageCache:(NSDictionary *)pageCache
{
if (pageCache) {
+2004-05-27 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge addMessageToConsole:]):
+ * WebKit.pbproj/project.pbxproj:
+ * WebView.subproj/WebUIDelegatePrivate.h:
+
=== Safari-142 ===
2004-05-27 Trey Matteson <trey@apple.com>
return *result != nil;
}
+- (void)addMessageToConsole:(NSDictionary *)message
+{
+ WebView *wv = [_frame webView];
+ id wd = [wv UIDelegate];
+ if ([wd respondsToSelector: @selector(webView:addMessageToConsole:)])
+ [wd webView:wv addMessageToConsole:message];
+}
+
- (NSView <WebCoreFileButton> *)fileButtonWithDelegate:(id <WebCoreFileButtonDelegate>)delegate
{
return [[WebFileButton alloc] initWithBridge:self delegate:delegate];
F5E0E10902BC45F8018635CA,
F5B36B410281DF55018635CB,
F5B36B420281DF55018635CB,
- F5B36B450281DF9C018635CB,
F5B36B460281DF9C018635CB,
+ F5B36B450281DF9C018635CB,
F5F7174C02885C5B018635CA,
F5F7174D02885C5B018635CA,
);
- (float)webViewFooterHeight:(WebView *)sender;
- (void)webView:(WebView *)sender drawHeaderInRect:(NSRect)rect;
- (void)webView:(WebView *)sender drawFooterInRect:(NSRect)rect;
-
+- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message;
- (BOOL)webView:(WebView *)webView shouldBeginDragForElement:(NSDictionary *)element pasteboard:(NSPasteboard *)pasteboard mouseDownEvent:(NSEvent *)mouseDownEvent mouseDraggedEvent:(NSEvent *)mouseDraggedEvent;
- (BOOL)webView:(WebView *)webView shouldDetermineDragOperationForDraggingInfo:(id <NSDraggingInfo>)draggingInfo dragOperation:(NSDragOperation *)dragOperation;
- (BOOL)webView:(WebView *)webView shouldProcessDragWithDraggingInfo:(id <NSDraggingInfo>)draggingInfo;