| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple 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 | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1579 } | 1579 } |
| 1580 | 1580 |
| 1581 void DOMWindow::printErrorMessage(const String& message) | 1581 void DOMWindow::printErrorMessage(const String& message) |
| 1582 { | 1582 { |
| 1583 if (message.isEmpty()) | 1583 if (message.isEmpty()) |
| 1584 return; | 1584 return; |
| 1585 | 1585 |
| 1586 pageConsole()->addMessage(JSMessageSource, ErrorMessageLevel, message); | 1586 pageConsole()->addMessage(JSMessageSource, ErrorMessageLevel, message); |
| 1587 } | 1587 } |
| 1588 | 1588 |
| 1589 // FIXME: Once we're throwing exceptions for cross-origin access violations, we
will always sanitize the target |
| 1590 // frame details, so we can safely combine 'crossDomainAccessErrorMessage' with
this method after considering |
| 1591 // exactly which details may be exposed to JavaScript. |
| 1592 // |
| 1593 // http://crbug.com/17325 |
| 1594 String DOMWindow::sanitizedCrossDomainAccessErrorMessage(DOMWindow* activeWindow
) |
| 1595 { |
| 1596 const KURL& activeWindowURL = activeWindow->document()->url(); |
| 1597 if (activeWindowURL.isNull()) |
| 1598 return String(); |
| 1599 |
| 1600 ASSERT(!activeWindow->document()->securityOrigin()->canAccess(document()->se
curityOrigin())); |
| 1601 |
| 1602 SecurityOrigin* activeOrigin = activeWindow->document()->securityOrigin(); |
| 1603 String message = "Blocked a frame with origin \"" + activeOrigin->toString()
+ "\" from accessing a cross-origin frame."; |
| 1604 |
| 1605 // FIXME: Evaluate which details from 'crossDomainAccessErrorMessage' may sa
fely be reported to JavaScript. |
| 1606 |
| 1607 return message; |
| 1608 } |
| 1609 |
| 1589 String DOMWindow::crossDomainAccessErrorMessage(DOMWindow* activeWindow) | 1610 String DOMWindow::crossDomainAccessErrorMessage(DOMWindow* activeWindow) |
| 1590 { | 1611 { |
| 1591 const KURL& activeWindowURL = activeWindow->document()->url(); | 1612 const KURL& activeWindowURL = activeWindow->document()->url(); |
| 1592 if (activeWindowURL.isNull()) | 1613 if (activeWindowURL.isNull()) |
| 1593 return String(); | 1614 return String(); |
| 1594 | 1615 |
| 1595 ASSERT(!activeWindow->document()->securityOrigin()->canAccess(document()->se
curityOrigin())); | 1616 ASSERT(!activeWindow->document()->securityOrigin()->canAccess(document()->se
curityOrigin())); |
| 1596 | 1617 |
| 1597 // FIXME: This message, and other console messages, have extra newlines. Sho
uld remove them. | 1618 // FIXME: This message, and other console messages, have extra newlines. Sho
uld remove them. |
| 1598 SecurityOrigin* activeOrigin = activeWindow->document()->securityOrigin(); | 1619 SecurityOrigin* activeOrigin = activeWindow->document()->securityOrigin(); |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1750 return static_cast<DOMWindowLifecycleNotifier*>(LifecycleContext::lifecycleN
otifier()); | 1771 return static_cast<DOMWindowLifecycleNotifier*>(LifecycleContext::lifecycleN
otifier()); |
| 1751 } | 1772 } |
| 1752 | 1773 |
| 1753 PassOwnPtr<LifecycleNotifier> DOMWindow::createLifecycleNotifier() | 1774 PassOwnPtr<LifecycleNotifier> DOMWindow::createLifecycleNotifier() |
| 1754 { | 1775 { |
| 1755 return DOMWindowLifecycleNotifier::create(this); | 1776 return DOMWindowLifecycleNotifier::create(this); |
| 1756 } | 1777 } |
| 1757 | 1778 |
| 1758 | 1779 |
| 1759 } // namespace WebCore | 1780 } // namespace WebCore |
| OLD | NEW |