diff options
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/JavaScriptCore/ChangeLog | 13 | ||||
| -rw-r--r-- | Source/JavaScriptCore/assembler/MacroAssemblerARM.h | 7 | ||||
| -rw-r--r-- | Source/Platform/ChangeLog | 11 | ||||
| -rw-r--r-- | Source/Platform/chromium/public/WebLocalizedString.h | 1 | ||||
| -rw-r--r-- | Source/WebCore/ChangeLog | 12 | ||||
| -rw-r--r-- | Source/WebCore/inspector/front-end/RemoteObject.js | 11 | ||||
| -rw-r--r-- | Source/WebKit/chromium/ChangeLog | 11 | ||||
| -rw-r--r-- | Source/WebKit/qt/Api/qwebsettings.cpp | 2 | ||||
| -rw-r--r-- | Source/WebKit/qt/ChangeLog | 10 | ||||
| -rw-r--r-- | Source/WebKit2/ChangeLog | 31 | ||||
| -rw-r--r-- | Source/WebKit2/UIProcess/API/efl/ewk_view.cpp | 53 | ||||
| -rw-r--r-- | Source/WebKit2/UIProcess/API/efl/ewk_view.h | 26 | ||||
| -rw-r--r-- | Source/WebKit2/UIProcess/API/efl/ewk_view_private.h | 5 | ||||
| -rw-r--r-- | Source/WebKit2/UIProcess/API/efl/ewk_view_ui_client.cpp | 19 | ||||
| -rw-r--r-- | Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp | 91 |
15 files changed, 295 insertions, 8 deletions
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog index 243e2a887..ca7100e21 100644 --- a/Source/JavaScriptCore/ChangeLog +++ b/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,16 @@ +2012-09-20 Gabor Rapcsanyi <rgabor@webkit.org> + + [Qt] r129045 broke the ARM build + https://bugs.webkit.org/show_bug.cgi?id=97195 + + Reviewed by Zoltan Herczeg. + + Implementing missing store8 function. + + * assembler/MacroAssemblerARM.h: + (JSC::MacroAssemblerARM::store8): + (MacroAssemblerARM): + 2012-09-19 Geoffrey Garen <ggaren@apple.com> OSR exit sometimes neglects to create the arguments object diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h index c4d6c92a5..298de9793 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -445,6 +445,13 @@ public: m_assembler.baseIndexTransfer32(ARMAssembler::StoreUint8, src, address.base, address.index, static_cast<int>(address.scale), address.offset); } + void store8(TrustedImm32 imm, void* address) + { + move(TrustedImm32(reinterpret_cast<ARMWord>(address)), ARMRegisters::S0); + m_assembler.moveImm(imm.m_value, ARMRegisters::S1); + m_assembler.dtrUp(ARMAssembler::StoreUint8, ARMRegisters::S1, ARMRegisters::S0, 0); + } + void store16(RegisterID src, BaseIndex address) { m_assembler.baseIndexTransfer16(ARMAssembler::StoreUint16, src, address.base, address.index, static_cast<int>(address.scale), address.offset); diff --git a/Source/Platform/ChangeLog b/Source/Platform/ChangeLog index 1a4e101e0..8067e06c6 100644 --- a/Source/Platform/ChangeLog +++ b/Source/Platform/ChangeLog @@ -1,3 +1,14 @@ +2012-09-20 Keishi Hattori <keishi@webkit.org> + + [Chromium ] Add new localized string, OtherDateLabel, to be used in input type=date datalist UI + https://bugs.webkit.org/show_bug.cgi?id=97200 + + Reviewed by Kent Tamura. + + Adding new localized string to be used in the SuggestionPicker for input type=date. + + * chromium/public/WebLocalizedString.h: + 2012-09-18 Sailesh Agrawal <sail@chromium.org> Chromium: Scrollbar with tickmarks doesn't respond to clicks diff --git a/Source/Platform/chromium/public/WebLocalizedString.h b/Source/Platform/chromium/public/WebLocalizedString.h index 10373f4c6..824d244ef 100644 --- a/Source/Platform/chromium/public/WebLocalizedString.h +++ b/Source/Platform/chromium/public/WebLocalizedString.h @@ -71,6 +71,7 @@ struct WebLocalizedString { MissingPluginText, MultipleFileUploadText, OtherColorLabel, + OtherDateLabel, ResetButtonDefaultLabel, SearchableIndexIntroduction, SearchMenuClearRecentSearchesText, diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 1d3aa8f4b..5ad2101fa 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2012-09-20 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: setPropertyValue does not work for non-finite numbers + https://bugs.webkit.org/show_bug.cgi?id=97016 + + Reviewed by Vsevolod Vlasov. + + Fix: setting a property to NaN, Infinity or -Infinity numbers did not work. + + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.prototype.setPropertyValue): + 2012-09-20 Otto Derek Cheung <otcheung@rim.com> Web Inspector: Cookie info in Network Resources Cookies tab are incorrect diff --git a/Source/WebCore/inspector/front-end/RemoteObject.js b/Source/WebCore/inspector/front-end/RemoteObject.js index f538738e1..324f4edb5 100644 --- a/Source/WebCore/inspector/front-end/RemoteObject.js +++ b/Source/WebCore/inspector/front-end/RemoteObject.js @@ -241,13 +241,14 @@ WebInspector.RemoteObject.prototype = { return; } - function setPropertyValue(propertyName, propertyValue) - { - this[propertyName] = propertyValue; - } + var setPropertyValueFunction = "function(a, b) { this[a] = b; }"; + + // Special case for NaN, Infinity and -Infinity + if (result.type === "number" && typeof result.value !== "number") + setPropertyValueFunction = "function(a) { this[a] = " + result.description + "; }"; delete result.description; // Optimize on traffic. - RuntimeAgent.callFunctionOn(this._objectId, setPropertyValue.toString(), [{ value:name }, result], true, undefined, propertySetCallback.bind(this)); + RuntimeAgent.callFunctionOn(this._objectId, setPropertyValueFunction, [{ value:name }, result], true, undefined, propertySetCallback.bind(this)); if (result._objectId) RuntimeAgent.releaseObject(result._objectId); } diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index 08b5cd5cf..7d7233c7d 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,14 @@ +2012-09-20 Mike West <mkwst@google.com> + + [chromium] Adding the 'google_apis' directory to .gitignore. + https://bugs.webkit.org/show_bug.cgi?id=97187 + + Reviewed by Jochen Eisinger. + + 'chromium/google_apis' should be ignored, as it's not in the git repo. + + * .gitignore: + 2012-09-19 Adam Barth <abarth@webkit.org> Remove webkitPostMessage diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp index 0f504f817..b77b1c4ee 100644 --- a/Source/WebKit/qt/Api/qwebsettings.cpp +++ b/Source/WebKit/qt/Api/qwebsettings.cpp @@ -525,7 +525,7 @@ QWebSettings::QWebSettings() d->attributes.insert(QWebSettings::LocalContentCanAccessFileUrls, true); d->attributes.insert(QWebSettings::AcceleratedCompositingEnabled, true); d->attributes.insert(QWebSettings::WebGLEnabled, false); - d->attributes.insert(QWebSettings::CSSRegionsEnabled, false); + d->attributes.insert(QWebSettings::CSSRegionsEnabled, true); d->attributes.insert(QWebSettings::CSSGridLayoutEnabled, false); d->attributes.insert(QWebSettings::HyperlinkAuditingEnabled, false); d->attributes.insert(QWebSettings::TiledBackingStoreEnabled, false); diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog index 2721d582d..5aa62f179 100644 --- a/Source/WebKit/qt/ChangeLog +++ b/Source/WebKit/qt/ChangeLog @@ -1,3 +1,13 @@ +2012-09-20 Csaba Osztrogonác <ossy@webkit.org> + + [Qt] Enable CSS regions by default + https://bugs.webkit.org/show_bug.cgi?id=97196 + + Reviewed by Dirk Schulze. + + * Api/qwebsettings.cpp: + (QWebSettings::QWebSettings): + 2012-09-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> [Qt] Use UndoStep::editingAction() to set the text of undo/redo actions diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index cbb88ad72..310e5fe38 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,34 @@ +2012-09-20 KwangYong Choi <ky0.choi@samsung.com> + + [EFL][WK2] Implemented color picker API + https://bugs.webkit.org/show_bug.cgi?id=91832 + + Reviewed by Kenneth Rohde Christiansen. + + Add support for color picker API for EFL port in WebKit2. + + The external application can implement input picker by overriding + smart class function. + + * UIProcess/API/efl/ewk_view.cpp: + (_Ewk_View_Private_Data): + (_Ewk_View_Private_Data::_Ewk_View_Private_Data): + (ewk_view_color_picker_request): + (ewk_view_color_picker_dismiss): + (ewk_view_color_picker_color_set): + * UIProcess/API/efl/ewk_view.h: + * UIProcess/API/efl/ewk_view_private.h: + * UIProcess/API/efl/ewk_view_ui_client.cpp: + (showColorPicker): + (hideColorPicker): + (ewk_view_ui_client_attach): + * UIProcess/API/efl/tests/test_ewk2_view.cpp: + (onColorPickerDone): + (setColorPickerColor): + (showColorPicker): + (hideColorPicker): + (TEST_F): + 2012-09-20 Balazs Kelemen <kbalazs@webkit.org> [CoordinatedGraphics] Don't reset m_shouldSyncFrame in flushPendingLayerChanges diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp index 98c9c66be..bbbfc18c1 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp @@ -26,6 +26,7 @@ #include "NativeWebWheelEvent.h" #include "PageClientImpl.h" #include "WKAPICast.h" +#include "WKColorPickerResultListener.h" #include "WKEinaSharedString.h" #include "WKFindOptions.h" #include "WKRetainPtr.h" @@ -98,6 +99,7 @@ struct _Ewk_View_Private_Data { Ewk_Back_Forward_List* backForwardList; OwnPtr<Ewk_Settings> settings; bool areMouseEventsEnabled; + WKColorPickerResultListenerRef colorPickerResultListener; WebPopupMenuProxyEfl* popupMenuProxy; Eina_List* popupMenuItems; @@ -116,6 +118,7 @@ struct _Ewk_View_Private_Data { : cursorObject(0) , backForwardList(0) , areMouseEventsEnabled(false) + , colorPickerResultListener(0) , popupMenuProxy(0) , popupMenuItems(0) #ifdef HAVE_ECORE_X @@ -1697,3 +1700,53 @@ WKEinaSharedString ewk_view_run_javascript_prompt(Evas_Object* ewkView, const WK return WKEinaSharedString::adopt(smartData->api->run_javascript_prompt(smartData, message, defaultValue)); } + +#if ENABLE(INPUT_TYPE_COLOR) +/** + * @internal + * Reqeusts to show external color picker. + */ +void ewk_view_color_picker_request(Evas_Object* ewkView, int r, int g, int b, int a, WKColorPickerResultListenerRef listener) +{ + EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData); + EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv); + EINA_SAFETY_ON_NULL_RETURN(smartData->api->input_picker_color_request); + + priv->colorPickerResultListener = listener; + + smartData->api->input_picker_color_request(smartData, r, g, b, a); +} + +/** + * @internal + * Reqeusts to hide external color picker. + */ +void ewk_view_color_picker_dismiss(Evas_Object* ewkView) +{ + EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData); + EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv); + EINA_SAFETY_ON_NULL_RETURN(smartData->api->input_picker_color_dismiss); + + priv->colorPickerResultListener = 0; + + smartData->api->input_picker_color_dismiss(smartData); +} +#endif + +Eina_Bool ewk_view_color_picker_color_set(Evas_Object* ewkView, int r, int g, int b, int a) +{ +#if ENABLE(INPUT_TYPE_COLOR) + EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false); + EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false); + EINA_SAFETY_ON_NULL_RETURN_VAL(priv->colorPickerResultListener, false); + + WebCore::Color color = WebCore::Color(r, g, b, a); + const WKStringRef colorString = WKStringCreateWithUTF8CString(color.serialized().utf8().data()); + WKColorPickerResultListenerSetColor(priv->colorPickerResultListener, colorString); + priv->colorPickerResultListener = 0; + + return true; +#else + return false; +#endif +} diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.h b/Source/WebKit2/UIProcess/API/efl/ewk_view.h index c449514aa..13b8daf0b 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.h @@ -121,13 +121,18 @@ struct _Ewk_View_Smart_Class { void (*run_javascript_alert)(Ewk_View_Smart_Data *sd, const char *message); Eina_Bool (*run_javascript_confirm)(Ewk_View_Smart_Data *sd, const char *message); const char *(*run_javascript_prompt)(Ewk_View_Smart_Data *sd, const char *message, const char *default_value); /**< return string should be stringshared. */ + + // color picker: + // - Shows and hides color picker. + Eina_Bool (*input_picker_color_request)(Ewk_View_Smart_Data *sd, int r, int g, int b, int a); + Eina_Bool (*input_picker_color_dismiss)(Ewk_View_Smart_Data *sd); }; /** * The version you have to put into the version field * in the @a Ewk_View_Smart_Class structure. */ -#define EWK_VIEW_SMART_CLASS_VERSION 4UL +#define EWK_VIEW_SMART_CLASS_VERSION 5UL /** * Initializer for whole Ewk_View_Smart_Class structure. @@ -139,7 +144,7 @@ struct _Ewk_View_Smart_Class { * @see EWK_VIEW_SMART_CLASS_INIT_VERSION * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION */ -#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} /** * Initializer to zero a whole Ewk_View_Smart_Class structure. @@ -661,6 +666,23 @@ EAPI Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object *o, Eina_Bool enabl */ EAPI Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object *o); +/* + * Sets the user chosen color. To be used when implementing a color picker. + * + * The function should only be called when a color has been requested by the document. + * If called when this is not the case or when the input picker has been dismissed, this + * function will fail and return EINA_FALSE. + * + * @param o view object contains color picker + * @param r red channel value to be set + * @param g green channel value to be set + * @param b blue channel value to be set + * @param a alpha channel value to be set + * + * @return @c EINA_TRUE on success @c EINA_FALSE otherwise + */ +EAPI Eina_Bool ewk_view_color_picker_color_set(Evas_Object *o, int r, int g, int b, int a); + #ifdef __cplusplus } #endif diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h index 5d6881dcc..4cba22d36 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h @@ -109,4 +109,9 @@ void ewk_view_run_javascript_alert(Evas_Object* ewkView, const WKEinaSharedStrin bool ewk_view_run_javascript_confirm(Evas_Object* ewkView, const WKEinaSharedString& message); WKEinaSharedString ewk_view_run_javascript_prompt(Evas_Object* ewkView, const WKEinaSharedString& message, const WKEinaSharedString& defaultValue); +#if ENABLE(INPUT_TYPE_COLOR) +void ewk_view_color_picker_request(Evas_Object* ewkView, int r, int g, int b, int a, WKColorPickerResultListenerRef listener); +void ewk_view_color_picker_dismiss(Evas_Object* ewkView); +#endif + #endif // ewk_view_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view_ui_client.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view_ui_client.cpp index 8ede50dd9..6bbf8956c 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view_ui_client.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view_ui_client.cpp @@ -60,6 +60,19 @@ static WKStringRef runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringR return value ? WKStringCreateWithUTF8CString(value) : 0; } +#if ENABLE(INPUT_TYPE_COLOR) +static void showColorPicker(WKPageRef, WKStringRef initialColor, WKColorPickerResultListenerRef listener, const void* clientInfo) +{ + WebCore::Color color = WebCore::Color(WebKit::toWTFString(initialColor)); + ewk_view_color_picker_request(toEwkView(clientInfo), color.red(), color.green(), color.blue(), color.alpha(), listener); +} + +static void hideColorPicker(WKPageRef, const void* clientInfo) +{ + ewk_view_color_picker_dismiss(toEwkView(clientInfo)); +} +#endif + void ewk_view_ui_client_attach(WKPageRef pageRef, Evas_Object* ewkView) { WKPageUIClient uiClient; @@ -71,5 +84,11 @@ void ewk_view_ui_client_attach(WKPageRef pageRef, Evas_Object* ewkView) uiClient.runJavaScriptAlert = runJavaScriptAlert; uiClient.runJavaScriptConfirm = runJavaScriptConfirm; uiClient.runJavaScriptPrompt = runJavaScriptPrompt; + +#if ENABLE(INPUT_TYPE_COLOR) + uiClient.showColorPicker = showColorPicker; + uiClient.hideColorPicker = hideColorPicker; +#endif + WKPageSetPageUIClient(pageRef, &uiClient); } diff --git a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp index b608c7cb7..25f62fcf8 100644 --- a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp +++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp @@ -624,3 +624,94 @@ TEST_F(EWK2UnitTestBase, ewk_view_run_javascript_prompt) EXPECT_STREQ(ewk_view_title_get(webView()), "null"); EXPECT_EQ(promptCallbackData.called, false); } + +#if ENABLE(INPUT_TYPE_COLOR) +static const int initialRed = 0x12; +static const int initialGreen = 0x34; +static const int initialBlue = 0x56; +static const int initialAlpha = 0xff; +static const int changedRed = 0x98; +static const int changedGreen = 0x76; +static const int changedBlue = 0x54; +static const int changedAlpha = 0xff; + +static bool isColorPickerShown = false; + +static void onColorPickerDone(void* userData, Evas_Object*, void*) +{ + bool* handled = static_cast<bool*>(userData); + + *handled = true; +} + +static unsigned char setColorPickerColor(void* data) +{ + Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data); + + // 3. Change color to changed color. + EXPECT_TRUE(ewk_view_color_picker_color_set(smartData->self, changedRed, changedGreen, changedBlue, changedAlpha)); + + evas_object_smart_callback_call(smartData->self, "input,type,color,request", 0); + + return 0; +} + +static Eina_Bool showColorPicker(Ewk_View_Smart_Data* smartData, int r, int g, int b, int a) +{ + static bool isFirstRun = true; + + isColorPickerShown = true; + + if (isFirstRun) { + // 1. Check initial value from html file. + EXPECT_EQ(r, initialRed); + EXPECT_EQ(g, initialGreen); + EXPECT_EQ(b, initialBlue); + EXPECT_EQ(a, initialAlpha); + + isFirstRun = false; + } else { + // 4. Input values should be same as changed color. + EXPECT_EQ(r, changedRed); + EXPECT_EQ(g, changedGreen); + EXPECT_EQ(b, changedBlue); + EXPECT_EQ(a, changedAlpha); + } + + // 2. Return after making a color picker. + ecore_timer_add(0.0, setColorPickerColor, smartData); + return true; +} + +static Eina_Bool hideColorPicker(Ewk_View_Smart_Data*) +{ + // Test color picker is shown. + EXPECT_TRUE(isColorPickerShown); + isColorPickerShown = false; +} + +TEST_F(EWK2UnitTestBase, ewk_view_color_picker_color_set) +{ + Ewk_View_Smart_Class* api = ewkViewClass(); + api->input_picker_color_request = showColorPicker; + api->input_picker_color_dismiss = hideColorPicker; + + loadUrlSync("data:text/html,<input type='color' value='#123456'>"); + + // Click input element. + mouseClick(30, 20); + + bool handled = false; + evas_object_smart_callback_add(webView(), "input,type,color,request", onColorPickerDone, &handled); + while (!handled) + ecore_main_loop_iterate(); + + // Click input element again. + mouseClick(30, 20); + + handled = false; + while (!handled) + ecore_main_loop_iterate(); + evas_object_smart_callback_del(webView(), "input,type,color,request", onColorPickerDone); +} +#endif // ENABLE(INPUT_TYPE_COLOR) |
