Changeset 39377 in webkit
- Timestamp:
- Dec 18, 2008 10:19:06 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r39374 r39377 1 2008-12-18 Cameron Zwarich <zwarich@apple.com> 2 3 Reviewed by Geoff Garen. 4 5 Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link 6 <https://bugs.webkit.org/show_bug.cgi?id=21855> 7 <rdar://problem/6278244> 8 9 Move DynamicGlobalObjectScope to JSGlobalObject.h so that it can be used 10 from WebCore. 11 12 * interpreter/Interpreter.cpp: 13 * runtime/JSGlobalObject.h: 14 (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): 15 (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): 16 1 17 2008-12-17 Geoffrey Garen <ggaren@apple.com> 2 18 -
trunk/JavaScriptCore/interpreter/Interpreter.cpp
r39374 r39377 865 865 } 866 866 867 class DynamicGlobalObjectScope : Noncopyable {868 public:869 DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject)870 : m_dynamicGlobalObjectSlot(callFrame->globalData().dynamicGlobalObject)871 , m_savedDynamicGlobalObject(m_dynamicGlobalObjectSlot)872 {873 m_dynamicGlobalObjectSlot = dynamicGlobalObject;874 }875 876 ~DynamicGlobalObjectScope()877 {878 m_dynamicGlobalObjectSlot = m_savedDynamicGlobalObject;879 }880 881 private:882 JSGlobalObject*& m_dynamicGlobalObjectSlot;883 JSGlobalObject* m_savedDynamicGlobalObject;884 };885 886 867 JSValue* Interpreter::execute(ProgramNode* programNode, CallFrame* callFrame, ScopeChainNode* scopeChain, JSObject* thisObj, JSValue** exception) 887 868 { -
trunk/JavaScriptCore/runtime/JSGlobalObject.h
r39320 r39377 356 356 return globalData().dynamicGlobalObject; 357 357 } 358 358 359 class DynamicGlobalObjectScope : Noncopyable { 360 public: 361 DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject) 362 : m_dynamicGlobalObjectSlot(callFrame->globalData().dynamicGlobalObject) 363 , m_savedDynamicGlobalObject(m_dynamicGlobalObjectSlot) 364 { 365 m_dynamicGlobalObjectSlot = dynamicGlobalObject; 366 } 367 368 ~DynamicGlobalObjectScope() 369 { 370 m_dynamicGlobalObjectSlot = m_savedDynamicGlobalObject; 371 } 372 373 private: 374 JSGlobalObject*& m_dynamicGlobalObjectSlot; 375 JSGlobalObject* m_savedDynamicGlobalObject; 376 }; 377 359 378 } // namespace JSC 360 379 -
trunk/LayoutTests/ChangeLog
r39375 r39377 1 2008-12-18 Cameron Zwarich <zwarich@apple.com> 2 3 Reviewed by Geoff Garen. 4 5 Add tests for bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link 6 <https://bugs.webkit.org/show_bug.cgi?id=21855> 7 <rdar://problem/6278244> 8 9 Since DumpRenderTree support was added in order to support these tests, 10 they are skipped on non-Mac platforms. 11 12 * fast/events/popup-blocking-click-in-iframe-expected.txt: Added. 13 * fast/events/popup-blocking-click-in-iframe.html: Added. 14 * fast/events/resources/popup-blocking-click-in-iframe-otherFrame.html: Added. 15 * platform/gtk/Skipped: 16 * platform/qt/Skipped: 17 * platform/win/Skipped: 18 1 19 2008-12-18 Pamela Greene <pam@chromium.org> 2 20 -
trunk/LayoutTests/platform/gtk/Skipped
r38784 r39377 2132 2132 webarchive 2133 2133 2134 # Needs scheduleAsynchronousClick method for EventSender 2135 fast/events/popup-blocking-click-in-iframe.html 2136 2134 2137 # Tests in plugins/ directory 2135 2138 # Tests that need ObjC plugin -
trunk/LayoutTests/platform/qt/Skipped
r39359 r39377 7 7 editing/selection/5354455-2.html 8 8 editing/selection/caret-and-focus-ring.html 9 fast/events/popup-blocking-click-in-iframe.html 9 10 10 11 # -------- crashes -
trunk/LayoutTests/platform/win/Skipped
r39191 r39377 360 360 http/tests/navigation/post-goback-repost-policy.html 361 361 362 # Needs scheduleAsynchronousClick method for EventSender 363 fast/events/popup-blocking-click-in-iframe.html 364 362 365 ################################################################################ 363 366 ######################### All of above may be related ########################## -
trunk/WebCore/ChangeLog
r39373 r39377 1 2008-12-18 Cameron Zwarich <zwarich@apple.com> 2 3 Reviewed by Geoff Garen. 4 5 Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link 6 <https://bugs.webkit.org/show_bug.cgi?id=21855> 7 <rdar://problem/6278244> 8 9 If JavaScript is not currently executing, the handleEvent member function 10 of JSAbstractEventListener should set the dynamic global object to the 11 global object of the context in which the event occurred. 12 13 If this is not set, then JavaScriptCore will simply take the global object 14 of the context where the event handler function was created, which may be 15 a different frame. This will cause the popup blocker to incorrectly block 16 windows opened from onclick events inside of an iframe whose handler was 17 created in the outer frame, as it will check the outer frame and see that 18 it is not processing any events. 19 20 * bindings/js/JSEventListener.cpp: 21 (WebCore::JSAbstractEventListener::handleEvent): 22 1 23 2008-12-17 Simon Fraser <simon.fraser@apple.com> 2 24 -
trunk/WebCore/bindings/js/JSEventListener.cpp
r38595 r39377 96 96 globalObject->setCurrentEvent(event); 97 97 98 // If this event handler is the first JavaScript to execute, then the 99 // dynamic global object should be set to the global object of the 100 // window in which the event occurred. 101 JSGlobalData* globalData = globalObject->globalData(); 102 DynamicGlobalObjectScope globalObjectScope(exec, globalData->dynamicGlobalObject ? globalData->dynamicGlobalObject : globalObject); 103 98 104 JSValue* retval; 99 105 if (handleEventFunction) { -
trunk/WebKitTools/ChangeLog
r39317 r39377 1 2008-12-18 Cameron Zwarich <zwarich@apple.com> 2 3 Reviewed by Geoff Garen. 4 5 Add tests for bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link 6 <https://bugs.webkit.org/show_bug.cgi?id=21855> 7 <rdar://problem/6278244> 8 9 Add support for scheduling asynchronous clicks to DumpRenderTree, but 10 only on the Mac. 11 12 * DumpRenderTree/mac/EventSendingController.h: 13 * DumpRenderTree/mac/EventSendingController.mm: 14 (+[EventSendingController isSelectorExcludedFromWebScript:]): Expose 15 scheduleAsynchronousClick to JavaScript. 16 (-[EventSendingController scheduleAsynchronousClick]): Add. 17 1 18 2008-12-15 Darin Adler <darin@apple.com> 2 19 -
trunk/WebKitTools/DumpRenderTree/mac/EventSendingController.h
r34871 r39377 44 44 + (void)clearSavedEvents; 45 45 46 - (void)scheduleAsynchronousClick; 47 46 48 - (void)enableDOMUIEventLogging:(WebScriptObject *)node; 47 49 -
trunk/WebKitTools/DumpRenderTree/mac/EventSendingController.mm
r34874 r39377 122 122 || aSelector == @selector(mouseUp:) 123 123 || aSelector == @selector(contextClick) 124 || aSelector == @selector(scheduleAsynchronousClick) 124 125 || aSelector == @selector(mouseMoveToX:Y:) 125 126 || aSelector == @selector(leapForward:) … … 404 405 } 405 406 407 - (void)scheduleAsynchronousClick 408 { 409 [self performSelector:@selector(mouseDown:) withObject:nil afterDelay:0]; 410 [self performSelector:@selector(mouseUp:) withObject:nil afterDelay:0]; 411 } 412 406 413 + (void)saveEvent:(NSInvocation *)event 407 414 {
Note: See TracChangeset
for help on using the changeset viewer.