| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. |    2  * Copyright (C) 2006, 2007, 2008, 2009 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   98  |   98  | 
|   99     if (!frame->script()->canExecuteScripts(AboutToExecuteScript)) |   99     if (!frame->script()->canExecuteScripts(AboutToExecuteScript)) | 
|  100         return v8::Local<v8::Value>(); |  100         return v8::Local<v8::Value>(); | 
|  101  |  101  | 
|  102     v8::Handle<v8::Value> parameters[1] = { jsEvent }; |  102     v8::Handle<v8::Value> parameters[1] = { jsEvent }; | 
|  103     return frame->script()->callFunction(handlerFunction, receiver, WTF_ARRAY_LE
     NGTH(parameters), parameters); |  103     return frame->script()->callFunction(handlerFunction, receiver, WTF_ARRAY_LE
     NGTH(parameters), parameters); | 
|  104 } |  104 } | 
|  105  |  105  | 
|  106 static void V8LazyEventListenerToString(const v8::FunctionCallbackInfo<v8::Value
     >& args) |  106 static void V8LazyEventListenerToString(const v8::FunctionCallbackInfo<v8::Value
     >& args) | 
|  107 { |  107 { | 
|  108     v8SetReturnValue(args, args.Holder()->GetHiddenValue(V8HiddenPropertyName::t
     oStringString())); |  108     v8SetReturnValue(args, args.Holder()->GetHiddenValue(V8HiddenPropertyName::t
     oStringString(args.GetIsolate()))); | 
|  109 } |  109 } | 
|  110  |  110  | 
|  111 void V8LazyEventListener::prepareListenerObject(ScriptExecutionContext* context) |  111 void V8LazyEventListener::prepareListenerObject(ScriptExecutionContext* context) | 
|  112 { |  112 { | 
|  113     if (context->isDocument() && !toDocument(context)->allowInlineEventHandlers(
     m_node, this, m_sourceURL, m_position.m_line)) { |  113     if (context->isDocument() && !toDocument(context)->allowInlineEventHandlers(
     m_node, this, m_sourceURL, m_position.m_line)) { | 
|  114         clearListenerObject(); |  114         clearListenerObject(); | 
|  115         return; |  115         return; | 
|  116     } |  116     } | 
|  117  |  117  | 
|  118     if (hasExistingListenerObject()) |  118     if (hasExistingListenerObject()) | 
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  204     // returned. |  204     // returned. | 
|  205     v8::Handle<v8::FunctionTemplate> toStringTemplate = |  205     v8::Handle<v8::FunctionTemplate> toStringTemplate = | 
|  206         V8PerIsolateData::current()->lazyEventListenerToStringTemplate(); |  206         V8PerIsolateData::current()->lazyEventListenerToStringTemplate(); | 
|  207     if (toStringTemplate.IsEmpty()) |  207     if (toStringTemplate.IsEmpty()) | 
|  208         toStringTemplate = v8::FunctionTemplate::New(V8LazyEventListenerToString
     ); |  208         toStringTemplate = v8::FunctionTemplate::New(V8LazyEventListenerToString
     ); | 
|  209     v8::Local<v8::Function> toStringFunction; |  209     v8::Local<v8::Function> toStringFunction; | 
|  210     if (!toStringTemplate.IsEmpty()) |  210     if (!toStringTemplate.IsEmpty()) | 
|  211         toStringFunction = toStringTemplate->GetFunction(); |  211         toStringFunction = toStringTemplate->GetFunction(); | 
|  212     if (!toStringFunction.IsEmpty()) { |  212     if (!toStringFunction.IsEmpty()) { | 
|  213         String toStringString = "function " + m_functionName + "(" + m_eventPara
     meterName + ") {\n  " + m_code + "\n}"; |  213         String toStringString = "function " + m_functionName + "(" + m_eventPara
     meterName + ") {\n  " + m_code + "\n}"; | 
|  214         wrappedFunction->SetHiddenValue(V8HiddenPropertyName::toStringString(), 
     v8String(toStringString, isolate)); |  214         wrappedFunction->SetHiddenValue(V8HiddenPropertyName::toStringString(iso
     late), v8String(toStringString, isolate)); | 
|  215         wrappedFunction->Set(v8::String::NewSymbol("toString"), toStringFunction
     ); |  215         wrappedFunction->Set(v8::String::NewSymbol("toString"), toStringFunction
     ); | 
|  216     } |  216     } | 
|  217  |  217  | 
|  218     wrappedFunction->SetName(v8String(m_functionName, isolate)); |  218     wrappedFunction->SetName(v8String(m_functionName, isolate)); | 
|  219  |  219  | 
|  220     // FIXME: Remove the following comment-outs. |  220     // FIXME: Remove the following comment-outs. | 
|  221     // See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details. |  221     // See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details. | 
|  222     // |  222     // | 
|  223     // For the time being, we comment out the following code since the |  223     // For the time being, we comment out the following code since the | 
|  224     // second parsing can happen. |  224     // second parsing can happen. | 
|  225     // // Since we only parse once, there's no need to keep data used for parsin
     g around anymore. |  225     // // Since we only parse once, there's no need to keep data used for parsin
     g around anymore. | 
|  226     // m_functionName = String(); |  226     // m_functionName = String(); | 
|  227     // m_code = String(); |  227     // m_code = String(); | 
|  228     // m_eventParameterName = String(); |  228     // m_eventParameterName = String(); | 
|  229     // m_sourceURL = String(); |  229     // m_sourceURL = String(); | 
|  230  |  230  | 
|  231     setListenerObject(wrappedFunction); |  231     setListenerObject(wrappedFunction); | 
|  232 } |  232 } | 
|  233  |  233  | 
|  234 } // namespace WebCore |  234 } // namespace WebCore | 
| OLD | NEW |