Diff
Modified: trunk/ChangeLog (117623 => 117624)
--- trunk/ChangeLog 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/ChangeLog 2012-05-18 21:01:10 UTC (rev 117624)
@@ -1,3 +1,14 @@
+2012-05-18 Christophe Dumez <[email protected]>
+
+ [EFL] Web Intents code is not compiling
+ https://bugs.webkit.org/show_bug.cgi?id=85364
+
+ Reviewed by Adam Barth.
+
+ Remove broken CMake directive for WEB_INTENTS.
+
+ * Source/cmake/OptionsEfl.cmake:
+
2012-05-18 Adrian Bunk <[email protected]>
[GTK] Remove the obsolete AM_PROG_CC_STDC
Modified: trunk/LayoutTests/ChangeLog (117623 => 117624)
--- trunk/LayoutTests/ChangeLog 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/LayoutTests/ChangeLog 2012-05-18 21:01:10 UTC (rev 117624)
@@ -1,3 +1,17 @@
+2012-05-18 Christophe Dumez <[email protected]>
+
+ [EFL] Web Intents code is not compiling
+ https://bugs.webkit.org/show_bug.cgi?id=85364
+
+ Reviewed by Adam Barth.
+
+ Move webintents test cases to test expectations until the needed
+ features are implemented and Web Intents are enabled by default
+ for EFL port.
+
+ * platform/efl/Skipped:
+ * platform/efl/test_expectations.txt:
+
2012-05-18 Joe Thomas <[email protected]>
background-size specified by a single value in background shorthand fails to parse.
Modified: trunk/LayoutTests/platform/efl/Skipped (117623 => 117624)
--- trunk/LayoutTests/platform/efl/Skipped 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/LayoutTests/platform/efl/Skipped 2012-05-18 21:01:10 UTC (rev 117624)
@@ -1069,9 +1069,6 @@
# Microdata DOM API is not yet enabled.
fast/dom/MicroData
-# Web Intents is not yet enabled.
-webintents/
-
# Pointer Lock is not implemented.
pointer-lock/
Modified: trunk/LayoutTests/platform/efl/test_expectations.txt (117623 => 117624)
--- trunk/LayoutTests/platform/efl/test_expectations.txt 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/LayoutTests/platform/efl/test_expectations.txt 2012-05-18 21:01:10 UTC (rev 117624)
@@ -517,6 +517,18 @@
BUGWK84167 : fast/inline-block/001.html = IMAGE+TEXT
BUGWK84167 : tables/mozilla/bugs/bug2479-2.html = IMAGE+TEXT
+// Incomplete Web Intents support (disabled by default)
+BUGWK86866 SKIP : webintents/intent-tag.html = TEXT
+BUGWK86873 SKIP : webintents/web-intents-api.html = TEXT
+BUGWK86865 SKIP : webintents/web-intents-delivery.html = TEXT
+BUGWK86864 SKIP : webintents/web-intents-delivery-reuse.html = TEXT
+BUGWK86867 SKIP : webintents/web-intents-failure.html = TEXT
+BUGWK86864 SKIP : webintents/web-intents-invoke.html = TEXT
+BUGWK86864 SKIP : webintents/web-intents-invoke-port.html = TEXT
+BUGWK86864 SKIP : webintents/web-intents-obj-constructor.html = TEXT
+BUGWK86864 SKIP : webintents/web-intents-reload.html = TEXT
+BUGWK86867 SKIP : webintents/web-intents-reply.html = TEXT
+
// Needs rebaseline after bug 86441
BUGWK86441 : fast/borders/border-antialiasing.html = IMAGE
BUGWK86441 : fast/multicol/shadow-breaking.html = IMAGE
Modified: trunk/Source/WebCore/CMakeLists.txt (117623 => 117624)
--- trunk/Source/WebCore/CMakeLists.txt 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebCore/CMakeLists.txt 2012-05-18 21:01:10 UTC (rev 117624)
@@ -2515,6 +2515,7 @@
Modules/intents/NavigatorIntents.idl
)
LIST(APPEND WebCore_SOURCES
+ Modules/intents/DOMWindowIntents.cpp
Modules/intents/Intent.cpp
Modules/intents/IntentRequest.cpp
Modules/intents/NavigatorIntents.cpp
Modified: trunk/Source/WebCore/ChangeLog (117623 => 117624)
--- trunk/Source/WebCore/ChangeLog 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebCore/ChangeLog 2012-05-18 21:01:10 UTC (rev 117624)
@@ -1,3 +1,19 @@
+2012-05-18 Christophe Dumez <[email protected]>
+
+ [EFL] Web Intents code is not compiling
+ https://bugs.webkit.org/show_bug.cgi?id=85364
+
+ Reviewed by Adam Barth.
+
+ Add missing implementation for
+ JSIntentConstructor::constructJSIntent() in JS bindings.
+
+ * CMakeLists.txt:
+ * UseJSC.cmake:
+ * bindings/js/JSIntentConstructor.cpp: Added.
+ (WebCore):
+ (WebCore::JSIntentConstructor::constructJSIntent):
+
2012-05-18 Joe Thomas <[email protected]>
background-size specified by a single value in background shorthand fails to parse.
Modified: trunk/Source/WebCore/UseJSC.cmake (117623 => 117624)
--- trunk/Source/WebCore/UseJSC.cmake 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebCore/UseJSC.cmake 2012-05-18 21:01:10 UTC (rev 117624)
@@ -287,6 +287,12 @@
)
ENDIF ()
+IF (ENABLE_WEB_INTENTS)
+ LIST (APPEND WebCore_SOURCES
+ bindings/js/JSIntentConstructor.cpp
+ )
+ENDIF ()
+
LIST(APPEND SCRIPTS_BINDINGS
${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
)
Added: trunk/Source/WebCore/bindings/js/JSIntentConstructor.cpp (0 => 117624)
--- trunk/Source/WebCore/bindings/js/JSIntentConstructor.cpp (rev 0)
+++ trunk/Source/WebCore/bindings/js/JSIntentConstructor.cpp 2012-05-18 21:01:10 UTC (rev 117624)
@@ -0,0 +1,92 @@
+/*
+ Copyright (C) 2012 Intel Corporation
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "Intent.h"
+
+#include "Dictionary.h"
+#include "ExceptionCode.h"
+#include "JSDOMBinding.h"
+#include "JSIntent.h"
+#include "JSMessagePortCustom.h"
+#include "JSValue.h"
+#include <runtime/Error.h>
+#include <wtf/ArrayBuffer.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+EncodedJSValue JSC_HOST_CALL JSIntentConstructor::constructJSIntent(ExecState* exec)
+{
+ JSIntentConstructor* castedThis = jsCast<JSIntentConstructor*>(exec->callee());
+
+ if (exec->argumentCount() < 1)
+ return throwVMError(exec, createNotEnoughArgumentsError(exec));
+
+ if (exec->argumentCount() == 1) {
+ // Use the dictionary constructor. This block will return if the
+ // argument isn't a valid Dictionary.
+ JSValue optionsValue = exec->argument(0);
+ if (!optionsValue.isObject()) {
+ setDOMException(exec, SYNTAX_ERR);
+ return JSValue::encode(jsUndefined());
+ }
+ Dictionary options(exec, optionsValue);
+ if (exec->hadException())
+ return JSValue::encode(jsUndefined());
+
+ ExceptionCode ec = 0;
+ RefPtr<Intent> impl = Intent::create(exec, options, ec);
+ if (ec) {
+ setDOMException(exec, ec);
+ return JSValue::encode(jsUndefined());
+ }
+ return JSValue::encode(asObject(toJS(exec, castedThis->globalObject(), impl.get())));
+ }
+
+ const String& action(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ if (exec->hadException())
+ return JSValue::encode(jsUndefined());
+
+ const String& type(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ if (exec->hadException())
+ return JSValue::encode(jsUndefined());
+
+ MessagePortArray messagePortArrayTransferList;
+ ArrayBufferArray arrayBufferArrayTransferList;
+ if (exec->argumentCount() > 3) {
+ fillMessagePortArray(exec, exec->argument(3), messagePortArrayTransferList, arrayBufferArrayTransferList);
+ if (exec->hadException())
+ return JSValue::encode(jsUndefined());
+ }
+ RefPtr<SerializedScriptValue> data = "" exec->argument(2), &messagePortArrayTransferList, &arrayBufferArrayTransferList);
+ if (exec->hadException())
+ return JSValue::encode(jsUndefined());
+
+ ExceptionCode ec = 0;
+ RefPtr<Intent> impl = Intent::create(action, type, data, messagePortArrayTransferList, ec);
+ if (ec) {
+ setDOMException(exec, ec);
+ return JSValue::encode(jsUndefined());
+ }
+ return JSValue::encode(asObject(toJS(exec, castedThis->globalObject(), impl.get())));
+}
+
+} // namespace WebCore
Modified: trunk/Source/WebKit/efl/ChangeLog (117623 => 117624)
--- trunk/Source/WebKit/efl/ChangeLog 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebKit/efl/ChangeLog 2012-05-18 21:01:10 UTC (rev 117624)
@@ -1,5 +1,17 @@
2012-05-18 Christophe Dumez <[email protected]>
+ [EFL] Web Intents code is not compiling
+ https://bugs.webkit.org/show_bug.cgi?id=85364
+
+ Reviewed by Adam Barth.
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp: Add missing header include.
+ * ewk/ewk_intent_private.h: Ditto.
+ * ewk/ewk_intent_request.cpp:
+ (ewk_intent_request_new): Do not PassRefPtr after it becomes 0.
+
+2012-05-18 Christophe Dumez <[email protected]>
+
[EFL] Default values for ewk_view video tracks settings should be documented
https://bugs.webkit.org/show_bug.cgi?id=85169
Modified: trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp (117623 => 117624)
--- trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp 2012-05-18 21:01:10 UTC (rev 117624)
@@ -55,7 +55,7 @@
#include "Settings.h"
#include "WebKitVersion.h"
#include "ewk_frame_private.h"
-#include "ewk_intent_request.h"
+#include "ewk_intent_private.h"
#include "ewk_private.h"
#include "ewk_settings_private.h"
#include "ewk_view_private.h"
Modified: trunk/Source/WebKit/efl/ewk/ewk_intent_private.h (117623 => 117624)
--- trunk/Source/WebKit/efl/ewk/ewk_intent_private.h 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebKit/efl/ewk/ewk_intent_private.h 2012-05-18 21:01:10 UTC (rev 117624)
@@ -21,6 +21,10 @@
#define ewk_intent_private_h
#if ENABLE(WEB_INTENTS)
+
+#include "ewk_intent.h"
+#include "ewk_intent_request.h"
+
// forward declarations
namespace WebCore {
class Intent;
Modified: trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp (117623 => 117624)
--- trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp 2012-05-18 21:01:10 UTC (rev 117624)
@@ -115,7 +115,7 @@
Ewk_Intent_Request* request = new Ewk_Intent_Request;
request->__ref = 1;
request->core = core;
- request->intent = ewk_intent_new(core->intent());
+ request->intent = ewk_intent_new(request->core->intent());
return request;
}
Modified: trunk/Source/cmake/OptionsEfl.cmake (117623 => 117624)
--- trunk/Source/cmake/OptionsEfl.cmake 2012-05-18 20:57:09 UTC (rev 117623)
+++ trunk/Source/cmake/OptionsEfl.cmake 2012-05-18 21:01:10 UTC (rev 117624)
@@ -81,7 +81,6 @@
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS, ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
WEBKIT_OPTION_END()