Diff
Modified: trunk/Source/WebCore/ChangeLog (103214 => 103215)
--- trunk/Source/WebCore/ChangeLog 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebCore/ChangeLog 2011-12-19 05:22:52 UTC (rev 103215)
@@ -1,3 +1,14 @@
+2011-12-18 Keishi Hattori <kei...@webkit.org>
+
+ Implement <input type=color> UI WebKit chromium part
+ https://bugs.webkit.org/show_bug.cgi?id=65897
+
+ Reviewed by Darin Fisher.
+
+ * GNUmakefile.list.am: Removed ColorChooser.cpp and added ColorChooserClient.h
+ * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
+ * WebCore.xcodeproj/project.pbxproj: Removed ColorChooser.cpp and added ColorChooserClient.h
+
2011-12-18 David Barton <dbar...@mathscribe.com>
<msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
Modified: trunk/Source/WebCore/GNUmakefile.list.am (103214 => 103215)
--- trunk/Source/WebCore/GNUmakefile.list.am 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2011-12-19 05:22:52 UTC (rev 103215)
@@ -2475,8 +2475,8 @@
Source/WebCore/platform/Clock.h \
Source/WebCore/platform/ClockGeneric.cpp \
Source/WebCore/platform/ClockGeneric.h \
- Source/WebCore/platform/ColorChooser.cpp \
Source/WebCore/platform/ColorChooser.h \
+ Source/WebCore/platform/ColorChooserClient.h \
Source/WebCore/platform/ContentType.cpp \
Source/WebCore/platform/ContentType.h \
Source/WebCore/platform/ContextMenu.h \
Modified: trunk/Source/WebCore/WebCore.gypi (103214 => 103215)
--- trunk/Source/WebCore/WebCore.gypi 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebCore/WebCore.gypi 2011-12-19 05:22:52 UTC (rev 103215)
@@ -667,6 +667,8 @@
'page/mac/WebCoreFrameView.h',
'platform/AsyncFileStream.h',
'platform/Clock.h',
+ 'platform/ColorChooser.h',
+ 'platform/ColorChooserClient.h',
'platform/ContextMenu.h',
'platform/ContextMenuItem.h',
'platform/Cookie.h',
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (103214 => 103215)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2011-12-19 05:22:52 UTC (rev 103215)
@@ -5437,8 +5437,8 @@
C0F2A44113869AAB0066C534 /* preprocessor.pm in Headers */ = {isa = PBXBuildFile; fileRef = C0F2A43F13869A280066C534 /* preprocessor.pm */; settings = {ATTRIBUTES = (Private, ); }; };
C105DA620F3AA68F001DD44F /* TextEncodingDetectorICU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */; };
C105DA640F3AA6B8001DD44F /* TextEncodingDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */; };
- C330A22213EC196B0000B45B /* ColorChooser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C330A22013EC196B0000B45B /* ColorChooser.cpp */; };
C330A22313EC196B0000B45B /* ColorChooser.h in Headers */ = {isa = PBXBuildFile; fileRef = C330A22113EC196B0000B45B /* ColorChooser.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ C37CDEBD149EF2030042090D /* ColorChooserClient.h in Headers */ = {isa = PBXBuildFile; fileRef = C37CDEBC149EF2030042090D /* ColorChooserClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
C50B561612119D23008B46E0 /* GroupSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C50B561412119D23008B46E0 /* GroupSettings.cpp */; };
C50B561712119D23008B46E0 /* GroupSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C50B561512119D23008B46E0 /* GroupSettings.h */; settings = {ATTRIBUTES = (Private, ); }; };
C50D0E820FF4272900AC2644 /* StorageNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C50D0E800FF4272900AC2644 /* StorageNamespace.cpp */; };
@@ -12811,8 +12811,8 @@
C0F2A43F13869A280066C534 /* preprocessor.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = preprocessor.pm; path = scripts/preprocessor.pm; sourceTree = "<group>"; };
C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextEncodingDetectorICU.cpp; sourceTree = "<group>"; };
C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextEncodingDetector.h; sourceTree = "<group>"; };
- C330A22013EC196B0000B45B /* ColorChooser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorChooser.cpp; sourceTree = "<group>"; };
C330A22113EC196B0000B45B /* ColorChooser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorChooser.h; sourceTree = "<group>"; };
+ C37CDEBC149EF2030042090D /* ColorChooserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorChooserClient.h; sourceTree = "<group>"; };
C50B561412119D23008B46E0 /* GroupSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupSettings.cpp; sourceTree = "<group>"; };
C50B561512119D23008B46E0 /* GroupSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupSettings.h; sourceTree = "<group>"; };
C50D0E800FF4272900AC2644 /* StorageNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageNamespace.cpp; sourceTree = "<group>"; };
@@ -20233,8 +20233,8 @@
89D08D9D12228451001241DF /* AsyncFileSystem.h */,
89D08D9E12228451001241DF /* AsyncFileSystemCallbacks.h */,
51E1ECB10C91C55600DC255B /* AutodrainedPool.h */,
- C330A22013EC196B0000B45B /* ColorChooser.cpp */,
C330A22113EC196B0000B45B /* ColorChooser.h */,
+ C37CDEBC149EF2030042090D /* ColorChooserClient.h */,
BCC8CFCA0986CD2400140BF2 /* ColorData.gperf */,
41D015C90F4B5C71004A662F /* ContentType.cpp */,
41D015C80F4B5C71004A662F /* ContentType.h */,
@@ -24940,6 +24940,7 @@
49ECEB6C1499790D00CDD3A4 /* FELightingNEON.h in Headers */,
1A2F9D7A14968C740065AC63 /* ScrollingCoordinator.h in Headers */,
1AA7160B149BC4DB0016EC19 /* TileCache.h in Headers */,
+ C37CDEBD149EF2030042090D /* ColorChooserClient.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -25433,7 +25434,6 @@
93C441EF0F813A1A00C1A634 /* CollectionCache.cpp in Sources */,
B27535660B053814002CE64F /* Color.cpp in Sources */,
0FCF33240F2B9715004B6795 /* ColorCG.cpp in Sources */,
- C330A22213EC196B0000B45B /* ColorChooser.cpp in Sources */,
1ABA76C911D20E47004C201C /* ColorData.cpp in Sources */,
B22279620D00BF220071B782 /* ColorDistance.cpp in Sources */,
F55B3DB31251F12D003EF269 /* ColorInputType.cpp in Sources */,
Deleted: trunk/Source/WebCore/platform/ColorChooser.cpp (103214 => 103215)
--- trunk/Source/WebCore/platform/ColorChooser.cpp 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebCore/platform/ColorChooser.cpp 2011-12-19 05:22:52 UTC (rev 103215)
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2011 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 Apple Computer, Inc. ("Apple") 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 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.
- *
- */
-
-#include "config.h"
-#include "ColorChooser.h"
-
-#include <wtf/PassOwnPtr.h>
-
-#if ENABLE(INPUT_COLOR)
-
-namespace WebCore {
-
-ColorChooserClient::~ColorChooserClient()
-{
- discardChooser();
-}
-
-ColorChooser* ColorChooserClient::newColorChooser()
-{
- discardChooser();
-
- m_chooser = ColorChooser::create(this);
- return m_chooser.get();
-}
-
-void ColorChooserClient::discardChooser()
-{
- if (m_chooser)
- m_chooser->disconnectClient();
- m_chooser.clear();
-}
-
-inline ColorChooser::ColorChooser(ColorChooserClient* client)
- : m_client(client)
-{
-}
-
-PassRefPtr<ColorChooser> ColorChooser::create(ColorChooserClient* client)
-{
- return adoptRef(new ColorChooser(client));
-}
-
-ColorChooser::~ColorChooser()
-{
-}
-
-void ColorChooser::didChooseColor(const Color& color)
-{
- if (m_client)
- m_client->didChooseColor(color);
-}
-
-void ColorChooser::didCleanup()
-{
- if (m_client)
- m_client->didCleanup();
-}
-
-}
-
-#endif // ENABLE(INPUT_COLOR)
Modified: trunk/Source/WebKit/chromium/ChangeLog (103214 => 103215)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-12-19 05:22:52 UTC (rev 103215)
@@ -1,3 +1,38 @@
+2011-12-18 Keishi Hattori <kei...@webkit.org>
+
+ Implement <input type=color> UI WebKit chromium part
+ https://bugs.webkit.org/show_bug.cgi?id=65897
+
+ Reviewed by Darin Fisher.
+
+ * WebKit.gyp: Added new files.
+ * features.gypi: Added ENABLE_INPUT_COLOR.
+ * public/WebColorChooser.h: Added. Interface for ColorChooserProxy to call.
+ (WebKit::WebColorChooser::~WebColorChooser):
+ (WebKit::WebColorChooser::setSelectedColor):
+ (WebKit::WebColorChooser::endChooser):
+ * public/WebColorChooserClient.h: Added.
+ (WebKit::WebColorChooserClient::~WebColorChooserClient):
+ (WebKit::WebColorChooserClient::didChooseColor): Only called when user changes the color.
+ (WebKit::WebColorChooserClient::didEndChooser): Called when WebColorChooser::endChooser is called.
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::createColorChooser): Creates a new color chooser. If there is an old color chooser, this will end it.
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::createColorChooser): Calls WebViewClient::createColorChooser.
+ * src/ChromeClientImpl.h:
+ * src/ColorChooserProxy.cpp: Proxies calls to WebCore::ColorChooser to WebKit::WebColorChooser.
+ (WebKit::ColorChooserProxy::ColorChooserProxy):
+ (WebKit::ColorChooserProxy::~ColorChooserProxy):
+ (WebKit::ColorChooserProxy::setSelectedColor):
+ (WebKit::ColorChooserProxy::endChooser):
+ * src/ColorChooserProxy.h:
+ * src/WebColorChooserClientImpl.cpp: Proxies calls to WebKit::WebColorChooserClient to WebCore::ColorChooserClient.
+ (WebKit::WebColorChooserClientImpl::WebColorChooserClientImpl):
+ (WebKit::WebColorChooserClientImpl::~WebColorChooserClientImpl):
+ (WebKit::WebColorChooserClientImpl::didChooseColor):
+ (WebKit::WebColorChooserClientImpl::didEndChooser):
+ * src/WebColorChooserClientImpl.h: Added.
+
2011-12-18 James Kozianski <k...@chromium.org>
[chromium] Add worldId parameter to allowScriptExtension()
Modified: trunk/Source/WebKit/chromium/WebKit.gyp (103214 => 103215)
--- trunk/Source/WebKit/chromium/WebKit.gyp 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/WebKit.gyp 2011-12-19 05:22:52 UTC (rev 103215)
@@ -106,6 +106,8 @@
'public/WebBindings.h',
'public/WebBlob.h',
'public/WebCache.h',
+ 'public/WebColorChooser.h',
+ 'public/WebColorChooserClient.h',
'public/WebCommonWorkerClient.h',
'public/WebCompositionUnderline.h',
'public/WebCompositor.h',
@@ -370,6 +372,8 @@
'src/CCThreadImpl.h',
'src/ChromeClientImpl.cpp',
'src/ChromeClientImpl.h',
+ 'src/ColorChooserProxy.cpp',
+ 'src/ColorChooserProxy.h',
'src/ChromiumCurrentTime.cpp',
'src/ChromiumOSRandomSource.cpp',
'src/ChromiumThreading.cpp',
@@ -481,6 +485,8 @@
'src/WebBlobData.cpp',
'src/WebCache.cpp',
'src/WebColor.cpp',
+ 'src/WebColorChooserClientImpl.cpp',
+ 'src/WebColorChooserClientImpl.h',
'src/WebCommon.cpp',
'src/WebCompositorImpl.cpp',
'src/WebCompositorImpl.h',
Modified: trunk/Source/WebKit/chromium/features.gypi (103214 => 103215)
--- trunk/Source/WebKit/chromium/features.gypi 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/features.gypi 2011-12-19 05:22:52 UTC (rev 103215)
@@ -53,6 +53,7 @@
'ENABLE_GESTURE_RECOGNIZER=1',
'ENABLE_ICONDATABASE=0',
'ENABLE_INDEXED_DATABASE=1',
+ 'ENABLE_INPUT_COLOR=0',
'ENABLE_INPUT_SPEECH=1',
'ENABLE_INPUT_TYPE_COLOR=0',
'ENABLE_INPUT_TYPE_DATE=0',
Copied: trunk/Source/WebKit/chromium/public/WebColorChooser.h (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/public/WebColorChooser.h (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebColorChooser.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#ifndef WebColorChooser_h
+#define WebColorChooser_h
+
+#include "platform/WebColor.h"
+#include "platform/WebCommon.h"
+
+namespace WebKit {
+
+// This represents a color chooser.
+class WebColorChooser {
+public:
+ virtual ~WebColorChooser() { }
+
+ // Set selected color in the color chooser.
+ virtual void setSelectedColor(const WebColor color) { }
+
+ // Calling this ends the color chooser and the client won't be recieving
+ // didChooseColor callbacks anymore.
+ virtual void endChooser() { }
+};
+
+}
+
+#endif // WebColorChooser_h
Copied: trunk/Source/WebKit/chromium/public/WebColorChooserClient.h (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/public/WebColorChooserClient.h (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebColorChooserClient.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#ifndef WebColorChooserClient_h
+#define WebColorChooserClient_h
+
+#include "platform/WebColor.h"
+#include "platform/WebCommon.h"
+
+namespace WebKit {
+
+// Receives calls from WebColorChooser and passes it to the WebCore side.
+class WebColorChooserClient {
+public:
+ virtual ~WebColorChooserClient() { }
+
+ // Called when user selects a color in the color chooser.
+ virtual void didChooseColor(const WebColor&) { }
+
+ // Called when color chooser has ended.
+ virtual void didEndChooser() { }
+};
+
+}
+
+#endif // WebColorChooserClient_h
Modified: trunk/Source/WebKit/chromium/public/WebViewClient.h (103214 => 103215)
--- trunk/Source/WebKit/chromium/public/WebViewClient.h 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/public/WebViewClient.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -41,11 +41,14 @@
#include "WebTextAffinity.h"
#include "WebTextDirection.h"
#include "WebWidgetClient.h"
+#include "platform/WebColor.h"
#include "platform/WebString.h"
namespace WebKit {
class WebAccessibilityObject;
+class WebColorChooser;
+class WebColorChooserClient;
class WebDeviceOrientationClient;
class WebDragData;
class WebElement;
@@ -177,9 +180,15 @@
// indicating that the default action should be suppressed.
virtual bool handleCurrentKeyboardEvent() { return false; }
-
// Dialogs -------------------------------------------------------------
+ // This method opens the color chooser and returns a new WebColorChooser
+ // instance. If there is a WebColorChooser already from the last time this
+ // was called, it ends the color chooser by calling endChooser, and replaces
+ // it with the new one.
+ virtual WebColorChooser* createColorChooser(WebColorChooserClient*,
+ const WebColor&) { return 0; }
+
// This method returns immediately after showing the dialog. When the
// dialog is closed, it should call the WebFileChooserCompletion to
// pass the results of the dialog. Returns false if
Modified: trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp (103214 => 103215)
--- trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp 2011-12-19 05:22:52 UTC (rev 103215)
@@ -34,6 +34,11 @@
#include "AXObjectCache.h"
#include "AccessibilityObject.h"
+#if ENABLE(INPUT_COLOR)
+#include "ColorChooser.h"
+#include "ColorChooserClient.h"
+#include "ColorChooserProxy.h"
+#endif
#include "Console.h"
#include "Cursor.h"
#include "DatabaseTracker.h"
@@ -68,6 +73,10 @@
#include "V8Proxy.h"
#endif
#include "WebAccessibilityObject.h"
+#if ENABLE(INPUT_COLOR)
+#include "WebColorChooser.h"
+#include "WebColorChooserClientImpl.h"
+#endif
#include "WebConsoleMessage.h"
#include "WebCursorInfo.h"
#include "WebFileChooserCompletionImpl.h"
@@ -675,6 +684,21 @@
ASSERT_NOT_REACHED();
}
+#if ENABLE(INPUT_COLOR)
+PassOwnPtr<ColorChooser> ChromeClientImpl::createColorChooser(ColorChooserClient* chooserClient, const Color& initialColor)
+{
+ WebViewClient* client = m_webView->client();
+ if (!client)
+ return nullptr;
+ WebColorChooserClientImpl* chooserClientProxy = new WebColorChooserClientImpl(chooserClient);
+ WebColor webColor = static_cast<WebColor>(initialColor.rgb());
+ WebColorChooser* chooser = client->createColorChooser(chooserClientProxy, webColor);
+ if (!chooser)
+ return nullptr;
+ return adoptPtr(new ColorChooserProxy(adoptPtr(chooser)));
+}
+#endif
+
void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileChooser)
{
WebViewClient* client = m_webView->client();
Modified: trunk/Source/WebKit/chromium/src/ChromeClientImpl.h (103214 => 103215)
--- trunk/Source/WebKit/chromium/src/ChromeClientImpl.h 2011-12-19 05:06:06 UTC (rev 103214)
+++ trunk/Source/WebKit/chromium/src/ChromeClientImpl.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -38,6 +38,10 @@
namespace WebCore {
class AccessibilityObject;
+#if ENABLE(INPUT_COLOR)
+class ColorChooser;
+class ColorChooserClient;
+#endif
class Element;
class FileChooser;
class PopupContainer;
@@ -134,6 +138,9 @@
virtual bool paintCustomOverhangArea(WebCore::GraphicsContext*, const WebCore::IntRect&, const WebCore::IntRect&, const WebCore::IntRect&);
virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*);
+#if ENABLE(INPUT_COLOR)
+ virtual PassOwnPtr<WebCore::ColorChooser> createColorChooser(WebCore::ColorChooserClient*, const WebCore::Color&) OVERRIDE;
+#endif
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
#if ENABLE(DIRECTORY_UPLOAD)
Copied: trunk/Source/WebKit/chromium/src/ColorChooserProxy.cpp (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/src/ColorChooserProxy.cpp (rev 0)
+++ trunk/Source/WebKit/chromium/src/ColorChooserProxy.cpp 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#include "config.h"
+#include "ColorChooserProxy.h"
+
+#include "Color.h"
+#include "WebColorChooser.h"
+#include "platform/WebColor.h"
+
+#if ENABLE(INPUT_COLOR)
+
+namespace WebKit {
+
+ColorChooserProxy::ColorChooserProxy(PassOwnPtr<WebColorChooser> chooser) : m_chooser(chooser)
+{
+}
+
+ColorChooserProxy::~ColorChooserProxy()
+{
+}
+
+void ColorChooserProxy::setSelectedColor(const WebCore::Color& color)
+{
+ if (!m_chooser)
+ return;
+ WebColor webColor = static_cast<WebColor>(color.rgb());
+ m_chooser->setSelectedColor(webColor);
+}
+
+void ColorChooserProxy::endChooser()
+{
+ if (!m_chooser)
+ return;
+ m_chooser->endChooser();
+}
+
+}
+
+#endif // ENABLE(INPUT_COLOR)
Copied: trunk/Source/WebKit/chromium/src/ColorChooserProxy.h (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/src/ColorChooserProxy.h (rev 0)
+++ trunk/Source/WebKit/chromium/src/ColorChooserProxy.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#ifndef ColorChooserProxy_h
+#define ColorChooserProxy_h
+
+#include "ColorChooser.h"
+#include "WebColorChooser.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+
+#if ENABLE(INPUT_COLOR)
+
+namespace WebKit {
+
+class ColorChooserProxy : public WebCore::ColorChooser {
+public:
+ ColorChooserProxy(PassOwnPtr<WebColorChooser>);
+ virtual ~ColorChooserProxy();
+
+ virtual void setSelectedColor(const WebCore::Color&);
+ virtual void endChooser();
+
+private:
+ OwnPtr<WebColorChooser> m_chooser;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(INPUT_COLOR)
+
+#endif // ColorChooserProxy_h
Copied: trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.cpp (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.cpp (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.cpp 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#include "config.h"
+#include "WebColorChooserClientImpl.h"
+
+#include "Color.h"
+#include "ColorChooserClient.h"
+
+#if ENABLE(INPUT_COLOR)
+
+namespace WebKit {
+
+WebColorChooserClientImpl::WebColorChooserClientImpl(WebCore::ColorChooserClient* client) : m_client(client)
+{
+}
+
+WebColorChooserClientImpl::~WebColorChooserClientImpl()
+{
+}
+
+void WebColorChooserClientImpl::didChooseColor(const WebColor& color)
+{
+ if (!m_client)
+ return;
+ m_client->didChooseColor(WebCore::Color(static_cast<WebCore::RGBA32>(color)));
+}
+
+void WebColorChooserClientImpl::didEndChooser()
+{
+ if (!m_client)
+ return;
+ m_client->didEndChooser();
+}
+
+}
+
+#endif // ENABLE(INPUT_COLOR)
Copied: trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.h (from rev 103214, trunk/Source/WebCore/platform/ColorChooser.cpp) (0 => 103215)
--- trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.h (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebColorChooserClientImpl.h 2011-12-19 05:22:52 UTC (rev 103215)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+#ifndef WebColorChooserClientImpl_h
+#define WebColorChooserClientImpl_h
+
+#include "WebColorChooserClient.h"
+
+#if ENABLE(INPUT_COLOR)
+
+namespace WebCore {
+class ColorChooserClient;
+}
+
+namespace WebKit {
+
+class WebColorChooserClientImpl : public WebColorChooserClient {
+public:
+ WebColorChooserClientImpl(WebCore::ColorChooserClient*);
+ virtual ~WebColorChooserClientImpl();
+
+ virtual void didChooseColor(const WebColor&) OVERRIDE;
+ virtual void didEndChooser() OVERRIDE;
+
+private:
+ WebCore::ColorChooserClient* m_client;
+};
+
+}
+
+#endif // ENABLE(INPUT_COLOR)
+
+#endif // WebColorChooserClientImpl_h