Bug 71748 - Add CredentialStorage.cpp to WebCore/CMakeLists.txt
Summary: Add CredentialStorage.cpp to WebCore/CMakeLists.txt
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Daniel Bates
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-07 16:31 PST by Daniel Bates
Modified: 2011-11-08 10:12 PST (History)
6 users (show)

See Also:


Attachments
Patch (4.11 KB, patch)
2011-11-07 16:48 PST, Daniel Bates
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Bates 2011-11-07 16:31:15 PST
We should add CredentialStorage.cpp to the list of source files in WebCore/CMakeLists.txt. Notice, CredentialStorage.cpp provides a base implementation. A port-specific file is needed to implement CredentialStorage::getFromPersistentStorage().
Comment 1 Daniel Bates 2011-11-07 16:48:43 PST
Created attachment 113958 [details]
Patch

This patch adds a stub implementation of CredentialStorage::getFromPersistentStorage() for the WinCE port. It also adds the source file CredentialStorageCurl.cpp to the list of WebCore source files when building the EFL port with the Curl backend.

Notice that EFL uses the implementation of CredentialStorage::getFromPersistentStorage() from either CredentialStorageSoup.cpp or CredentialStorageCurl.cpp depending on which networking backend is used when building it.
Comment 2 Gyuyoung Kim 2011-11-07 20:08:31 PST
Comment on attachment 113958 [details]
Patch

LGTM.
Comment 3 Daniel Bates 2011-11-07 22:40:31 PST
Comment on attachment 113958 [details]
Patch

Clearing flags on attachment: 113958

Committed r99523: <http://trac.webkit.org/changeset/99523>
Comment 4 Daniel Bates 2011-11-07 22:40:38 PST
All reviewed patches have been landed.  Closing bug.
Comment 5 Raphael Kubo da Costa (:rakuco) 2011-11-08 07:01:07 PST
This commit has broken the EFL build when the soup backend is used:

Linking CXX shared library libwebcore_efl.so
CMakeFiles/webcore_efl.dir/platform/network/soup/CredentialStorageSoup.cpp.o: In function `WebCore::CredentialStorage:
:get(WebCore::ProtectionSpace const&)':
/home/rakuco/dev/webkit/WebKit/Source/WebCore/platform/network/soup/CredentialStorageSoup.cpp:39: multiple definition 
of `WebCore::CredentialStorage::get(WebCore::ProtectionSpace const&)'
CMakeFiles/webcore_efl.dir/platform/network/CredentialStorage.cpp.o:/home/rakuco/dev/webkit/WebKit/Source/WebCore/plat
form/network/CredentialStorage.cpp:104: first defined here
Comment 6 Daniel Bates 2011-11-08 09:30:52 PST
(In reply to comment #5)
> This commit has broken the EFL build when the soup backend is used:
> 
> Linking CXX shared library libwebcore_efl.so
> CMakeFiles/webcore_efl.dir/platform/network/soup/CredentialStorageSoup.cpp.o: In function `WebCore::CredentialStorage:
> :get(WebCore::ProtectionSpace const&)':
> /home/rakuco/dev/webkit/WebKit/Source/WebCore/platform/network/soup/CredentialStorageSoup.cpp:39: multiple definition 
> of `WebCore::CredentialStorage::get(WebCore::ProtectionSpace const&)'
> CMakeFiles/webcore_efl.dir/platform/network/CredentialStorage.cpp.o:/home/rakuco/dev/webkit/WebKit/Source/WebCore/plat
> form/network/CredentialStorage.cpp:104: first defined here

As the error message indicates, both CredentialStorage.cpp and CredentialStorageSoup.cpp define CredentialStorage::get().

I don't understand why CredentialStorageSoup.cpp defines get() given that it does't override all the other CredentialStorage methods that use CredentialStorage::protectionSpaceToCredentialMap(). I noticed that CredentialStorageQt.cpp also defines a get() as well. I think we should remove the get() method from CredentialStorageSoup.cpp.
Comment 7 Daniel Bates 2011-11-08 10:12:34 PST
Filed <https://bugs.webkit.org/show_bug.cgi?id=71825> and <https://bugs.webkit.org/show_bug.cgi?id=71829> to remove CredentialStorage::get() from CredentialStorageSoup.cpp and CredentialStorageQt.cpp, respectively.