| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 } | 381 } |
| 382 } | 382 } |
| 383 | 383 |
| 384 bool ChromeClientImpl::canRunBeforeUnloadConfirmPanel() | 384 bool ChromeClientImpl::canRunBeforeUnloadConfirmPanel() |
| 385 { | 385 { |
| 386 return !!m_webView->client(); | 386 return !!m_webView->client(); |
| 387 } | 387 } |
| 388 | 388 |
| 389 bool ChromeClientImpl::runBeforeUnloadConfirmPanel(const String& message, LocalF
rame* frame) | 389 bool ChromeClientImpl::runBeforeUnloadConfirmPanel(const String& message, LocalF
rame* frame) |
| 390 { | 390 { |
| 391 if (m_webView->client()) { | 391 WebFrameImpl* webframe = WebFrameImpl::fromFrame(frame); |
| 392 return m_webView->client()->runModalBeforeUnloadDialog( | 392 |
| 393 WebFrameImpl::fromFrame(frame), message); | 393 bool isReload = false; |
| 394 } | 394 WebDataSource* ds = webframe->provisionalDataSource(); |
| 395 if (ds) |
| 396 isReload = (ds->navigationType() == blink::WebNavigationTypeReload); |
| 397 |
| 398 if (webframe->client()) |
| 399 return webframe->client()->runModalBeforeUnloadDialog(isReload, message)
; |
| 395 return false; | 400 return false; |
| 396 } | 401 } |
| 397 | 402 |
| 398 void ChromeClientImpl::closeWindowSoon() | 403 void ChromeClientImpl::closeWindowSoon() |
| 399 { | 404 { |
| 400 // Make sure this Page can no longer be found by JS. | 405 // Make sure this Page can no longer be found by JS. |
| 401 Page::ordinaryPages().remove(m_webView->page()); | 406 Page::ordinaryPages().remove(m_webView->page()); |
| 402 | 407 |
| 403 // Make sure that all loading is stopped. Ensures that JS stops executing! | 408 // Make sure that all loading is stopped. Ensures that JS stops executing! |
| 404 m_webView->mainFrame()->stopLoading(); | 409 m_webView->mainFrame()->stopLoading(); |
| 405 | 410 |
| 406 if (m_webView->client()) | 411 if (m_webView->client()) |
| 407 m_webView->client()->closeWidgetSoon(); | 412 m_webView->client()->closeWidgetSoon(); |
| 408 } | 413 } |
| 409 | 414 |
| 410 // Although a LocalFrame is passed in, we don't actually use it, since we | 415 // Although a LocalFrame is passed in, we don't actually use it, since we |
| 411 // already know our own m_webView. | 416 // already know our own m_webView. |
| 412 void ChromeClientImpl::runJavaScriptAlert(LocalFrame* frame, const String& messa
ge) | 417 void ChromeClientImpl::runJavaScriptAlert(LocalFrame* frame, const String& messa
ge) |
| 413 { | 418 { |
| 414 if (m_webView->client()) { | 419 WebFrameImpl* webframe = WebFrameImpl::fromFrame(frame); |
| 420 if (webframe->client()) { |
| 415 if (WebUserGestureIndicator::isProcessingUserGesture()) | 421 if (WebUserGestureIndicator::isProcessingUserGesture()) |
| 416 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); | 422 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); |
| 417 m_webView->client()->runModalAlertDialog( | 423 webframe->client()->runModalAlertDialog(message); |
| 418 WebFrameImpl::fromFrame(frame), message); | |
| 419 } | 424 } |
| 420 } | 425 } |
| 421 | 426 |
| 422 // See comments for runJavaScriptAlert(). | 427 // See comments for runJavaScriptAlert(). |
| 423 bool ChromeClientImpl::runJavaScriptConfirm(LocalFrame* frame, const String& mes
sage) | 428 bool ChromeClientImpl::runJavaScriptConfirm(LocalFrame* frame, const String& mes
sage) |
| 424 { | 429 { |
| 425 if (m_webView->client()) { | 430 WebFrameImpl* webframe = WebFrameImpl::fromFrame(frame); |
| 431 if (webframe->client()) { |
| 426 if (WebUserGestureIndicator::isProcessingUserGesture()) | 432 if (WebUserGestureIndicator::isProcessingUserGesture()) |
| 427 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); | 433 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); |
| 428 return m_webView->client()->runModalConfirmDialog( | 434 return webframe->client()->runModalConfirmDialog(message); |
| 429 WebFrameImpl::fromFrame(frame), message); | |
| 430 } | 435 } |
| 431 return false; | 436 return false; |
| 432 } | 437 } |
| 433 | 438 |
| 434 // See comments for runJavaScriptAlert(). | 439 // See comments for runJavaScriptAlert(). |
| 435 bool ChromeClientImpl::runJavaScriptPrompt(LocalFrame* frame, | 440 bool ChromeClientImpl::runJavaScriptPrompt(LocalFrame* frame, |
| 436 const String& message, | 441 const String& message, |
| 437 const String& defaultValue, | 442 const String& defaultValue, |
| 438 String& result) | 443 String& result) |
| 439 { | 444 { |
| 440 if (m_webView->client()) { | 445 WebFrameImpl* webframe = WebFrameImpl::fromFrame(frame); |
| 446 if (webframe->client()) { |
| 441 if (WebUserGestureIndicator::isProcessingUserGesture()) | 447 if (WebUserGestureIndicator::isProcessingUserGesture()) |
| 442 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); | 448 WebUserGestureIndicator::currentUserGestureToken().setJavascriptProm
pt(); |
| 443 WebString actualValue; | 449 WebString actualValue; |
| 444 bool ok = m_webView->client()->runModalPromptDialog( | 450 bool ok = webframe->client()->runModalPromptDialog( |
| 445 WebFrameImpl::fromFrame(frame), | |
| 446 message, | 451 message, |
| 447 defaultValue, | 452 defaultValue, |
| 448 &actualValue); | 453 &actualValue); |
| 449 if (ok) | 454 if (ok) |
| 450 result = actualValue; | 455 result = actualValue; |
| 451 return ok; | 456 return ok; |
| 452 } | 457 } |
| 453 return false; | 458 return false; |
| 454 } | 459 } |
| 455 | 460 |
| (...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 963 { | 968 { |
| 964 return static_cast<NavigatorContentUtilsClient::CustomHandlersState>(m_webVi
ew->client()->isProtocolHandlerRegistered(scheme, baseURL, url)); | 969 return static_cast<NavigatorContentUtilsClient::CustomHandlersState>(m_webVi
ew->client()->isProtocolHandlerRegistered(scheme, baseURL, url)); |
| 965 } | 970 } |
| 966 | 971 |
| 967 void NavigatorContentUtilsClientImpl::unregisterProtocolHandler(const String& sc
heme, const WebCore::KURL& baseURL, const WebCore::KURL& url) | 972 void NavigatorContentUtilsClientImpl::unregisterProtocolHandler(const String& sc
heme, const WebCore::KURL& baseURL, const WebCore::KURL& url) |
| 968 { | 973 { |
| 969 m_webView->client()->unregisterProtocolHandler(scheme, baseURL, url); | 974 m_webView->client()->unregisterProtocolHandler(scheme, baseURL, url); |
| 970 } | 975 } |
| 971 | 976 |
| 972 } // namespace blink | 977 } // namespace blink |
| OLD | NEW |