| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2011 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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 // origins that should only allow access to themselves. In this | 464 // origins that should only allow access to themselves. In this |
| 465 // case, we use the global object as the security token to avoid | 465 // case, we use the global object as the security token to avoid |
| 466 // calling canAccess when a script accesses its own objects. | 466 // calling canAccess when a script accesses its own objects. |
| 467 v8::HandleScope handleScope(m_isolate); | 467 v8::HandleScope handleScope(m_isolate); |
| 468 v8::Local<v8::Context> context = m_scriptState->context(); | 468 v8::Local<v8::Context> context = m_scriptState->context(); |
| 469 if (token.isEmpty() || token == "null") { | 469 if (token.isEmpty() || token == "null") { |
| 470 context->UseDefaultSecurityToken(); | 470 context->UseDefaultSecurityToken(); |
| 471 return; | 471 return; |
| 472 } | 472 } |
| 473 | 473 |
| 474 if (m_world->isPrivateScriptIsolatedWorld()) { | 474 if (m_world->isIsolatedWorld()) { |
| 475 token = "private-script://" + token; | |
| 476 } else if (m_world->isIsolatedWorld()) { | |
| 477 SecurityOrigin* frameSecurityOrigin = | 475 SecurityOrigin* frameSecurityOrigin = |
| 478 m_frame->securityContext()->getSecurityOrigin(); | 476 m_frame->securityContext()->getSecurityOrigin(); |
| 479 String frameSecurityToken = frameSecurityOrigin->toString(); | 477 String frameSecurityToken = frameSecurityOrigin->toString(); |
| 480 // We need to check the return value of domainWasSetInDOM() on the | 478 // We need to check the return value of domainWasSetInDOM() on the |
| 481 // frame's SecurityOrigin because, if that's the case, only | 479 // frame's SecurityOrigin because, if that's the case, only |
| 482 // SecurityOrigin::m_domain would have been modified. | 480 // SecurityOrigin::m_domain would have been modified. |
| 483 // m_domain is not used by SecurityOrigin::toString(), so we would end | 481 // m_domain is not used by SecurityOrigin::toString(), so we would end |
| 484 // up generating the same token that was already set. | 482 // up generating the same token that was already set. |
| 485 if (frameSecurityOrigin->domainWasSetInDOM() || | 483 if (frameSecurityOrigin->domainWasSetInDOM() || |
| 486 frameSecurityToken.isEmpty() || frameSecurityToken == "null") { | 484 frameSecurityToken.isEmpty() || frameSecurityToken == "null") { |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 .ToChecked(); | 586 .ToChecked(); |
| 589 } | 587 } |
| 590 | 588 |
| 591 void WindowProxy::updateSecurityOrigin(SecurityOrigin* origin) { | 589 void WindowProxy::updateSecurityOrigin(SecurityOrigin* origin) { |
| 592 if (!isContextInitialized()) | 590 if (!isContextInitialized()) |
| 593 return; | 591 return; |
| 594 setSecurityToken(origin); | 592 setSecurityToken(origin); |
| 595 } | 593 } |
| 596 | 594 |
| 597 } // namespace blink | 595 } // namespace blink |
| OLD | NEW |