Index: webkit.patch |
diff --git a/webkit.patch b/webkit.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2ba45e596ba500da867476d5292d24cde0cc2767 |
--- /dev/null |
+++ b/webkit.patch |
@@ -0,0 +1,343 @@ |
+Index: WebKit/chromium/features.gypi |
+=================================================================== |
+--- WebKit/chromium/features.gypi (revision 109824) |
++++ WebKit/chromium/features.gypi (working copy) |
+@@ -64,6 +64,7 @@ |
+ 'ENABLE_JAVASCRIPT_DEBUGGER=1', |
+ 'ENABLE_JAVASCRIPT_I18N_API=1', |
+ 'ENABLE_LINK_PREFETCH=1', |
++ 'ENABLE_MEDIA_GALLERY=1', |
+ 'ENABLE_MEDIA_SOURCE=1', |
+ 'ENABLE_MEDIA_STATISTICS=1', |
+ 'ENABLE_MEDIA_STREAM=1', |
+Index: WebKit/chromium/src/WebFrameImpl.cpp |
+=================================================================== |
+--- WebKit/chromium/src/WebFrameImpl.cpp (revision 109824) |
++++ WebKit/chromium/src/WebFrameImpl.cpp (working copy) |
+@@ -174,9 +174,11 @@ |
+ #include "DirectoryEntry.h" |
+ #include "DOMFileSystem.h" |
+ #include "FileEntry.h" |
++#include "MediaGallery.h" |
+ #include "V8DirectoryEntry.h" |
+ #include "V8DOMFileSystem.h" |
+ #include "V8FileEntry.h" |
++#include "V8MediaGallery.h" |
+ #include "platform/WebFileSystem.h" |
+ #endif |
+ |
+@@ -921,6 +923,12 @@ |
+ return toV8(DirectoryEntry::create(fileSystem, filePath)); |
+ return toV8(FileEntry::create(fileSystem, filePath)); |
+ } |
++ |
++v8::Handle<v8::Value> WebFrameImpl::createMediaGallery(int id, const WebString& name, int flags) |
++{ |
++ return toV8(MediaGallery::create(id, name, static_cast<MediaGallery::Flags>(flags))); |
++} |
++ |
+ #endif |
+ |
+ void WebFrameImpl::reload(bool ignoreCache) |
+Index: WebKit/chromium/src/WebFrameImpl.h |
+=================================================================== |
+--- WebKit/chromium/src/WebFrameImpl.h (revision 109824) |
++++ WebKit/chromium/src/WebFrameImpl.h (working copy) |
+@@ -119,6 +119,7 @@ |
+ const WebString& fileSystemPath, |
+ const WebString& filePath, |
+ bool isDirectory); |
++ virtual v8::Handle<v8::Value> createMediaGallery(int id, const WebString& name, int flags); |
+ #endif |
+ virtual void reload(bool ignoreCache); |
+ virtual void loadRequest(const WebURLRequest&); |
+Index: WebKit/chromium/public/WebFrame.h |
+=================================================================== |
+--- WebKit/chromium/public/WebFrame.h (revision 109824) |
++++ WebKit/chromium/public/WebFrame.h (working copy) |
+@@ -288,6 +288,7 @@ |
+ const WebString& fileSystemRootURL, |
+ const WebString& filePath, |
+ bool isDirectory) = 0; |
++ virtual v8::Handle<v8::Value> createMediaGallery(int id, const WebString& name, int flags) = 0; |
+ #endif |
+ |
+ |
+Index: WebCore/WebCore.gyp/WebCore.gyp |
+=================================================================== |
+--- WebCore/WebCore.gyp/WebCore.gyp (revision 109824) |
++++ WebCore/WebCore.gyp/WebCore.gyp (working copy) |
+@@ -55,6 +55,7 @@ |
+ '../Modules/geolocation', |
+ '../Modules/intents', |
+ '../Modules/indexeddb', |
++ '../Modules/mediagallery', |
+ '../Modules/mediastream', |
+ '../Modules/websockets', |
+ '../accessibility', |
+Index: WebCore/WebCore.gypi |
+=================================================================== |
+--- WebCore/WebCore.gypi (revision 109824) |
++++ WebCore/WebCore.gypi (working copy) |
+@@ -750,6 +750,7 @@ |
+ 'Modules/intents/Intent.idl', |
+ 'Modules/intents/IntentResultCallback.idl', |
+ 'Modules/intents/NavigatorIntents.idl', |
++ 'Modules/mediagallery/MediaGallery.idl', |
+ 'Modules/mediastream/DOMWindowMediaStream.idl', |
+ 'Modules/mediastream/LocalMediaStream.idl', |
+ 'Modules/mediastream/MediaStream.idl', |
+@@ -1374,6 +1375,8 @@ |
+ 'Modules/intents/IntentResultCallback.h', |
+ 'Modules/intents/NavigatorIntents.cpp', |
+ 'Modules/intents/NavigatorIntents.h', |
++ 'Modules/mediagallery/MediaGallery.h', |
++ 'Modules/mediagallery/MediaGallery.cpp', |
+ 'Modules/mediastream/LocalMediaStream.cpp', |
+ 'Modules/mediastream/LocalMediaStream.h', |
+ 'Modules/mediastream/MediaStream.cpp', |
+Index: WebCore/Modules/mediagallery/MediaGallery.cpp |
+=================================================================== |
+--- WebCore/Modules/mediagallery/MediaGallery.cpp (revision 0) |
++++ WebCore/Modules/mediagallery/MediaGallery.cpp (revision 0) |
+@@ -0,0 +1,77 @@ |
++/* |
++ * Copyright (C) 2012 Google Inc. All rights reserved. |
++ * |
++ * Redistribution and use in source and binary forms, with or without |
++ * modification, are permitted provided that the following conditions |
++ * are met: |
++ * |
++ * 1. Redistributions of source code must retain the above copyright |
++ * notice, this list of conditions and the following disclaimer. |
++ * 2. Redistributions in binary form must reproduce the above copyright |
++ * notice, this list of conditions and the following disclaimer in the |
++ * documentation and/or other materials provided with the distribution. |
++ * 3. Neither the name of Google, Inc. ("Google") nor the names of |
++ * its contributors may be used to endorse or promote products derived |
++ * from this software without specific prior written permission. |
++ * |
++ * THIS SOFTWARE IS PROVIDED BY GOOGLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
++ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
++ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
++ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
++ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
++ */ |
++ |
++#include "config.h" |
++#include "MediaGallery.h" |
++ |
++#include "Blob.h" |
++#include "V8Blob.h" |
++ |
++#if ENABLE(MEDIA_GALLERY) |
++ |
++namespace WebCore { |
++ |
++PassRefPtr<MediaGallery> MediaGallery::create(int id, const String& name, Flags flags) |
++{ |
++ return adoptRef(new MediaGallery(id, name, flags)); |
++} |
++ |
++MediaGallery::MediaGallery(int id, const String& name, Flags flags) |
++ : m_id(id) |
++ , m_name(name) |
++ , m_flags(flags) |
++{ |
++} |
++ |
++const String& MediaGallery::name() const |
++{ |
++ return m_name; |
++} |
++ |
++bool MediaGallery::isVolatile() const |
++{ |
++ return m_flags & VOLATILE; |
++} |
++ |
++bool MediaGallery::supportsMultipleMediaEntrySortCriteria() const |
++{ |
++ return m_flags & MULTI_SORT; |
++} |
++ |
++bool MediaGallery::supportsGallerySearch() const |
++{ |
++ return m_flags & GALLERY_SEARCH; |
++} |
++ |
++Blob* MediaGallery::icon() const { |
++ return NULL; |
++} |
++ |
++} // namespace WebCore |
++ |
++#endif // ENABLE(MEDIA_GALLERY) |
+ |
+Property changes on: WebCore/Modules/mediagallery/MediaGallery.cpp |
+___________________________________________________________________ |
+Added: svn:eol-style |
+ + LF |
+ |
+Index: WebCore/Modules/mediagallery/MediaGallery.h |
+=================================================================== |
+--- WebCore/Modules/mediagallery/MediaGallery.h (revision 0) |
++++ WebCore/Modules/mediagallery/MediaGallery.h (revision 0) |
+@@ -0,0 +1,77 @@ |
++/* |
++ * Copyright (C) 2012 Google Inc. All rights reserved. |
++ * |
++ * Redistribution and use in source and binary forms, with or without |
++ * modification, are permitted provided that the following conditions |
++ * are met: |
++ * |
++ * 1. Redistributions of source code must retain the above copyright |
++ * notice, this list of conditions and the following disclaimer. |
++ * 2. Redistributions in binary form must reproduce the above copyright |
++ * notice, this list of conditions and the following disclaimer in the |
++ * documentation and/or other materials provided with the distribution. |
++ * 3. Neither the name of Google, Inc. ("Google") nor the names of |
++ * its contributors may be used to endorse or promote products derived |
++ * from this software without specific prior written permission. |
++ * |
++ * THIS SOFTWARE IS PROVIDED BY GOOGLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
++ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
++ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
++ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
++ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
++ */ |
++ |
++#ifndef MediaGallery_h |
++#define MediaGallery_h |
++ |
++#if ENABLE(MEDIA_GALLERY) |
++ |
++#include <wtf/PassRefPtr.h> |
++#include <wtf/RefCounted.h> |
++#include <wtf/text/WTFString.h> |
++ |
++namespace WebCore { |
++ |
++class Blob; |
++ |
++class MediaGallery : public RefCounted<MediaGallery> { |
++public: |
++ enum Flags { |
++ VOLATILE = 1, |
++ MULTI_SORT = 2, |
++ GALLERY_SEARCH = 4 |
++ }; |
++ |
++ static const unsigned short SORT_COLLECTION_NATURAL = 0; |
++ static const unsigned short SORT_COLLECTION_NAME = 1; |
++ static const unsigned short SORT_COLLECTION_DATE = 2; |
++ static const unsigned short SORT_COLLECTION_REVERSE_NAME = 3; |
++ static const unsigned short SORT_COLLECTION_REVERSE_DATE = 4; |
++ |
++ static PassRefPtr<MediaGallery> create(int id, const String& name, Flags flags); |
++ |
++ const String& name() const; |
++ bool isVolatile() const; |
++ bool supportsMultipleMediaEntrySortCriteria() const; |
++ bool supportsGallerySearch() const; |
++ |
++ Blob* icon() const; |
++ |
++private: |
++ MediaGallery(int id, const String& name, Flags flags); |
++ |
++ int m_id; |
++ String m_name; |
++ unsigned int m_flags; |
++}; |
++ |
++} // namespace WebCore |
++ |
++#endif |
++ |
++#endif // MediaGallery_h |
+ |
+Property changes on: WebCore/Modules/mediagallery/MediaGallery.h |
+___________________________________________________________________ |
+Added: svn:eol-style |
+ + LF |
+ |
+Index: WebCore/Modules/mediagallery/MediaGallery.idl |
+=================================================================== |
+--- WebCore/Modules/mediagallery/MediaGallery.idl (revision 0) |
++++ WebCore/Modules/mediagallery/MediaGallery.idl (revision 0) |
+@@ -0,0 +1,58 @@ |
++/* |
++ * Copyright (C) 2012 Google Inc. All rights reserved. |
++ * |
++ * Redistribution and use in source and binary forms, with or without |
++ * modification, are permitted provided that the following conditions |
++ * are met: |
++ * |
++ * 1. Redistributions of source code must retain the above copyright |
++ * notice, this list of conditions and the following disclaimer. |
++ * 2. Redistributions in binary form must reproduce the above copyright |
++ * notice, this list of conditions and the following disclaimer in the |
++ * documentation and/or other materials provided with the distribution. |
++ * |
++ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
++ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
++ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
++ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
++ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
++ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
++ */ |
++ |
++module mediaGalleries { |
++ interface [ |
++ Conditional=MEDIA_GALLERY, |
++ OmitConstructor |
++ ] MediaGallery { |
++ const unsigned short SORT_COLLECTION_NATURAL = 0; |
++ const unsigned short SORT_COLLECTION_NAME = 1; |
++ const unsigned short SORT_COLLECTION_DATE = 2; |
++ const unsigned short SORT_COLLECTION_REVERSE_NAME = 3; |
++ const unsigned short SORT_COLLECTION_REVERSE_DATE = 4; |
++ |
++ readonly attribute DOMString name; |
++ readonly attribute boolean isVolatile; |
++ readonly attribute boolean supportsMultipleMediaEntrySortCriteria; |
++ readonly attribute boolean supportsGallerySearch; |
++ |
++// Blob icon(); |
++ |
++/* TODO(vandebo) Implement this stuff. |
++ SortCriteria getSupportedMediaEntrySortOrders(); |
++ object getSupportedMediaEntrySearchAndSortCriteria(); |
++ |
++ MediaCollectionIterator getMediaCollections(in [Optional] unsigned short sortOrder); |
++ void getMediaCollectionByKey(in DOMString key, |
++ in MediaCollectionCallback callback); |
++ void createMediaCollection(in DOMString name, |
++ in MediaCollectionCallback callback); |
++ |
++ MediaEntryIterator getMediaEntries(in [Optional] SearchCriteriea filters, |
++ in [Optional] SortCriteria orderBy); |
++*/ |
++ }; |
++} |
+ |
+Property changes on: WebCore/Modules/mediagallery/MediaGallery.idl |
+___________________________________________________________________ |
+Added: svn:eol-style |
+ + LF |
+ |