| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Harri Porten (porten@kde.org) | 2 * Copyright (C) 2000 Harri Porten (porten@kde.org) |
| 3 * Copyright (C) 2006 Jon Shier (jshier@iastate.edu) | 3 * Copyright (C) 2006 Jon Shier (jshier@iastate.edu) |
| 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights resev
ed. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights resev
ed. |
| 5 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 if (dialogArgs) | 243 if (dialogArgs) |
| 244 newWindow->putDirect(Identifier(exec, "dialogArguments"), dialogArgs); | 244 newWindow->putDirect(Identifier(exec, "dialogArguments"), dialogArgs); |
| 245 | 245 |
| 246 if (!protocolIs(url, "javascript") || newWindow->allowsAccessFrom(exec)) { | 246 if (!protocolIs(url, "javascript") || newWindow->allowsAccessFrom(exec)) { |
| 247 KURL completedURL = url.isEmpty() ? KURL("") : activeFrame->document()->
completeURL(url); | 247 KURL completedURL = url.isEmpty() ? KURL("") : activeFrame->document()->
completeURL(url); |
| 248 bool userGesture = activeFrame->script()->processingUserGesture(); | 248 bool userGesture = activeFrame->script()->processingUserGesture(); |
| 249 | 249 |
| 250 if (created) | 250 if (created) |
| 251 newFrame->loader()->changeLocation(completedURL, activeFrame->loader
()->outgoingReferrer(), false, userGesture); | 251 newFrame->loader()->changeLocation(completedURL, activeFrame->loader
()->outgoingReferrer(), false, userGesture); |
| 252 else if (!url.isEmpty()) | 252 else if (!url.isEmpty()) |
| 253 newFrame->loader()->scheduleLocationChange(completedURL.string(), ac
tiveFrame->loader()->outgoingReferrer(), false, false, userGesture); | 253 newFrame->loader()->scheduleLocationChange(completedURL.string(), ac
tiveFrame->loader()->outgoingReferrer(), !activeFrame->script()->anyPageIsProces
singUserGesture(), false, userGesture); |
| 254 } | 254 } |
| 255 | 255 |
| 256 return newFrame; | 256 return newFrame; |
| 257 } | 257 } |
| 258 | 258 |
| 259 static bool canShowModalDialog(const Frame* frame) | 259 static bool canShowModalDialog(const Frame* frame) |
| 260 { | 260 { |
| 261 if (!frame) | 261 if (!frame) |
| 262 return false; | 262 return false; |
| 263 | 263 |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 if (!activeFrame->loader()->shouldAllowNavigation(frame)) | 783 if (!activeFrame->loader()->shouldAllowNavigation(frame)) |
| 784 return jsUndefined(); | 784 return jsUndefined(); |
| 785 | 785 |
| 786 String completedURL; | 786 String completedURL; |
| 787 if (!urlString.isEmpty()) | 787 if (!urlString.isEmpty()) |
| 788 completedURL = activeFrame->document()->completeURL(urlString).strin
g(); | 788 completedURL = activeFrame->document()->completeURL(urlString).strin
g(); |
| 789 | 789 |
| 790 const JSDOMWindow* targetedWindow = toJSDOMWindow(frame); | 790 const JSDOMWindow* targetedWindow = toJSDOMWindow(frame); |
| 791 if (!completedURL.isEmpty() && (!protocolIs(completedURL, "javascript")
|| (targetedWindow && targetedWindow->allowsAccessFrom(exec)))) { | 791 if (!completedURL.isEmpty() && (!protocolIs(completedURL, "javascript")
|| (targetedWindow && targetedWindow->allowsAccessFrom(exec)))) { |
| 792 bool userGesture = activeFrame->script()->processingUserGesture(); | 792 bool userGesture = activeFrame->script()->processingUserGesture(); |
| 793 frame->loader()->scheduleLocationChange(completedURL, activeFrame->l
oader()->outgoingReferrer(), false, false, userGesture); | 793 frame->loader()->scheduleLocationChange(completedURL, activeFrame->l
oader()->outgoingReferrer(), !activeFrame->script()->anyPageIsProcessingUserGest
ure(), false, userGesture); |
| 794 } | 794 } |
| 795 return toJS(exec, frame->domWindow()); | 795 return toJS(exec, frame->domWindow()); |
| 796 } | 796 } |
| 797 | 797 |
| 798 // In the case of a named frame or a new window, we'll use the createWindow(
) helper | 798 // In the case of a named frame or a new window, we'll use the createWindow(
) helper |
| 799 WindowFeatures windowFeatures(valueToStringWithUndefinedOrNullCheck(exec, ar
gs.at(exec, 2))); | 799 WindowFeatures windowFeatures(valueToStringWithUndefinedOrNullCheck(exec, ar
gs.at(exec, 2))); |
| 800 FloatRect windowRect(windowFeatures.xSet ? windowFeatures.x : 0, windowFeatu
res.ySet ? windowFeatures.y : 0, | 800 FloatRect windowRect(windowFeatures.xSet ? windowFeatures.x : 0, windowFeatu
res.ySet ? windowFeatures.y : 0, |
| 801 windowFeatures.widthSet ? windowFeatures.width : 0, win
dowFeatures.heightSet ? windowFeatures.height : 0); | 801 windowFeatures.widthSet ? windowFeatures.width : 0, win
dowFeatures.heightSet ? windowFeatures.height : 0); |
| 802 DOMWindow::adjustWindowRect(screenAvailableRect(page ? page->mainFrame()->vi
ew() : 0), windowRect, windowRect); | 802 DOMWindow::adjustWindowRect(screenAvailableRect(page ? page->mainFrame()->vi
ew() : 0), windowRect, windowRect); |
| 803 | 803 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 if (classInfo == &JSDOMWindow::s_info) | 894 if (classInfo == &JSDOMWindow::s_info) |
| 895 return static_cast<JSDOMWindow*>(asObject(value)); | 895 return static_cast<JSDOMWindow*>(asObject(value)); |
| 896 if (classInfo == &JSDOMWindowShell::s_info) | 896 if (classInfo == &JSDOMWindowShell::s_info) |
| 897 return static_cast<JSDOMWindowShell*>(asObject(value))->window(); | 897 return static_cast<JSDOMWindowShell*>(asObject(value))->window(); |
| 898 return 0; | 898 return 0; |
| 899 } | 899 } |
| 900 | 900 |
| 901 } // namespace WebCore | 901 } // namespace WebCore |
| 902 | 902 |
| 903 | 903 |
| OLD | NEW |