| 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 19 matching lines...) Expand all  Loading... | 
|  30  |  30  | 
|  31 #include "RuntimeEnabledFeatures.h" |  31 #include "RuntimeEnabledFeatures.h" | 
|  32 #include "bindings/v8/ExceptionMessages.h" |  32 #include "bindings/v8/ExceptionMessages.h" | 
|  33 #include "bindings/v8/ExceptionState.h" |  33 #include "bindings/v8/ExceptionState.h" | 
|  34 #include "core/dom/Document.h" |  34 #include "core/dom/Document.h" | 
|  35 #include "core/dom/ExceptionCode.h" |  35 #include "core/dom/ExceptionCode.h" | 
|  36 #include "core/frame/DOMWindow.h" |  36 #include "core/frame/DOMWindow.h" | 
|  37 #include "modules/webdatabase/Database.h" |  37 #include "modules/webdatabase/Database.h" | 
|  38 #include "modules/webdatabase/DatabaseCallback.h" |  38 #include "modules/webdatabase/DatabaseCallback.h" | 
|  39 #include "modules/webdatabase/DatabaseManager.h" |  39 #include "modules/webdatabase/DatabaseManager.h" | 
|  40 #include "weborigin/SecurityOrigin.h" |  40 #include "platform/weborigin/SecurityOrigin.h" | 
|  41  |  41  | 
|  42 namespace WebCore { |  42 namespace WebCore { | 
|  43  |  43  | 
|  44 PassRefPtr<Database> DOMWindowWebDatabase::openDatabase(DOMWindow* window, const
     String& name, const String& version, const String& displayName, unsigned long e
    stimatedSize, PassRefPtr<DatabaseCallback> creationCallback, ExceptionState& es) |  44 PassRefPtr<Database> DOMWindowWebDatabase::openDatabase(DOMWindow* window, const
     String& name, const String& version, const String& displayName, unsigned long e
    stimatedSize, PassRefPtr<DatabaseCallback> creationCallback, ExceptionState& es) | 
|  45 { |  45 { | 
|  46     if (!window->isCurrentlyDisplayedInFrame()) |  46     if (!window->isCurrentlyDisplayedInFrame()) | 
|  47         return 0; |  47         return 0; | 
|  48  |  48  | 
|  49     RefPtr<Database> database = 0; |  49     RefPtr<Database> database = 0; | 
|  50     DatabaseManager& dbManager = DatabaseManager::manager(); |  50     DatabaseManager& dbManager = DatabaseManager::manager(); | 
|  51     DatabaseError error = DatabaseError::None; |  51     DatabaseError error = DatabaseError::None; | 
|  52     if (RuntimeEnabledFeatures::databaseEnabled() && window->document()->securit
    yOrigin()->canAccessDatabase()) { |  52     if (RuntimeEnabledFeatures::databaseEnabled() && window->document()->securit
    yOrigin()->canAccessDatabase()) { | 
|  53         String errorMessage; |  53         String errorMessage; | 
|  54         database = dbManager.openDatabase(window->document(), name, version, dis
    playName, estimatedSize, creationCallback, error, errorMessage); |  54         database = dbManager.openDatabase(window->document(), name, version, dis
    playName, estimatedSize, creationCallback, error, errorMessage); | 
|  55         ASSERT(database || error != DatabaseError::None); |  55         ASSERT(database || error != DatabaseError::None); | 
|  56         if (error != DatabaseError::None) |  56         if (error != DatabaseError::None) | 
|  57             DatabaseManager::throwExceptionForDatabaseError("openDatabase", "Win
    dow", error, errorMessage, es); |  57             DatabaseManager::throwExceptionForDatabaseError("openDatabase", "Win
    dow", error, errorMessage, es); | 
|  58     } else { |  58     } else { | 
|  59         es.throwSecurityError(ExceptionMessages::failedToExecute("openDatabase",
     "Window", "Access to the WebDatabase API is denied in this context.")); |  59         es.throwSecurityError(ExceptionMessages::failedToExecute("openDatabase",
     "Window", "Access to the WebDatabase API is denied in this context.")); | 
|  60     } |  60     } | 
|  61  |  61  | 
|  62     return database; |  62     return database; | 
|  63 } |  63 } | 
|  64  |  64  | 
|  65 } // namespace WebCore |  65 } // namespace WebCore | 
| OLD | NEW |