OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
3 * Copyright (C) 2011 Google, Inc. All Rights Reserved. | 3 * Copyright (C) 2011 Google, Inc. All Rights Reserved. |
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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 // live until after the ScriptExecutionContext destructs. This is true even if | 68 // live until after the ScriptExecutionContext destructs. This is true even if |
69 // we don't succeed in opening any Databases for that context. When we do | 69 // we don't succeed in opening any Databases for that context. When we do |
70 // succeed in opening Databases for this ScriptExecutionContext, the Database | 70 // succeed in opening Databases for this ScriptExecutionContext, the Database |
71 // will re-use the same DatabaseContext. | 71 // will re-use the same DatabaseContext. |
72 // | 72 // |
73 // At Shutdown: | 73 // At Shutdown: |
74 // =========== | 74 // =========== |
75 // During shutdown, the DatabaseContext needs to: | 75 // During shutdown, the DatabaseContext needs to: |
76 // 1. "outlive" the ScriptExecutionContext. | 76 // 1. "outlive" the ScriptExecutionContext. |
77 // - This is needed because the DatabaseContext needs to remove itself from t
he | 77 // - This is needed because the DatabaseContext needs to remove itself from t
he |
78 // ScriptExecutionContext's ActiveDOMObject list and ContextDestructionObse
rver | 78 // ScriptExecutionContext's ActiveDOMObject list and ContextLifecycleObserv
er |
79 // list. This removal needs to be executed on the script's thread. Hence, w
e | 79 // list. This removal needs to be executed on the script's thread. Hence, w
e |
80 // rely on the ScriptExecutionContext's shutdown process to call | 80 // rely on the ScriptExecutionContext's shutdown process to call |
81 // stop() and contextDestroyed() to give us a chance to clean these up from | 81 // stop() and contextDestroyed() to give us a chance to clean these up from |
82 // the script thread. | 82 // the script thread. |
83 // | 83 // |
84 // 2. "outlive" the Databases. | 84 // 2. "outlive" the Databases. |
85 // - This is because they may make use of the DatabaseContext to execute a cl
ose | 85 // - This is because they may make use of the DatabaseContext to execute a cl
ose |
86 // task and shutdown in an orderly manner. When the Databases are destructe
d, | 86 // task and shutdown in an orderly manner. When the Databases are destructe
d, |
87 // they will deref the DatabaseContext from the DatabaseThread. | 87 // they will deref the DatabaseContext from the DatabaseThread. |
88 // | 88 // |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 if (m_scriptExecutionContext->isDocument()) { | 197 if (m_scriptExecutionContext->isDocument()) { |
198 Document* document = toDocument(m_scriptExecutionContext); | 198 Document* document = toDocument(m_scriptExecutionContext); |
199 return document->page(); | 199 return document->page(); |
200 } | 200 } |
201 ASSERT(m_scriptExecutionContext->isWorkerContext()); | 201 ASSERT(m_scriptExecutionContext->isWorkerContext()); |
202 // allowDatabaseAccess is not yet implemented for workers. | 202 // allowDatabaseAccess is not yet implemented for workers. |
203 return true; | 203 return true; |
204 } | 204 } |
205 | 205 |
206 } // namespace WebCore | 206 } // namespace WebCore |
OLD | NEW |