diff options
Diffstat (limited to 'Source/WebKit2/UIProcess')
182 files changed, 2414 insertions, 1419 deletions
diff --git a/Source/WebKit2/UIProcess/API/C/WKContext.cpp b/Source/WebKit2/UIProcess/API/C/WKContext.cpp index 26e4ab6a4..117bbeda3 100644 --- a/Source/WebKit2/UIProcess/API/C/WKContext.cpp +++ b/Source/WebKit2/UIProcess/API/C/WKContext.cpp @@ -32,6 +32,7 @@ #include "WebURLRequest.h" #include <wtf/PassRefPtr.h> #include <wtf/RefPtr.h> +#include <wtf/UnusedParam.h> #include <wtf/text/WTFString.h> using namespace WebKit; @@ -142,7 +143,12 @@ void WKContextSetShouldUseFontSmoothing(WKContextRef contextRef, bool useFontSmo void WKContextSetAdditionalPluginsDirectory(WKContextRef contextRef, WKStringRef pluginsDirectory) { +#if ENABLE(NETSCAPE_PLUGIN_API) toImpl(contextRef)->setAdditionalPluginsDirectory(toImpl(pluginsDirectory)->string()); +#else + UNUSED_PARAM(contextRef); + UNUSED_PARAM(pluginsDirectory); +#endif } void WKContextRegisterURLSchemeAsEmptyDocument(WKContextRef contextRef, WKStringRef urlScheme) @@ -224,7 +230,11 @@ WKNotificationManagerRef WKContextGetNotificationManager(WKContextRef contextRef WKPluginSiteDataManagerRef WKContextGetPluginSiteDataManager(WKContextRef contextRef) { +#if ENABLE(NETSCAPE_PLUGIN_API) return toAPI(toImpl(contextRef)->pluginSiteDataManager()); +#else + return 0; +#endif } WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef contextRef) diff --git a/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp index 179610b0c..39539f449 100644 --- a/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp +++ b/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Apple Inc. All rights reserved. + * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,7 @@ #include "config.h" #include "WKPluginSiteDataManager.h" +#include "APIObject.h" #include "WKAPICast.h" #include "WebPluginSiteDataManager.h" @@ -38,12 +39,22 @@ using namespace std; WKTypeID WKPluginSiteDataManagerGetTypeID() { +#if ENABLE(NETSCAPE_PLUGIN_API) return toAPI(WebPluginSiteDataManager::APIType); +#else + return APIObject::TypeNull; +#endif } void WKPluginSiteDataManagerGetSitesWithData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerGetSitesWithDataFunction callback) { +#if ENABLE(NETSCAPE_PLUGIN_API) toImpl(managerRef)->getSitesWithData(ArrayCallback::create(context, callback)); +#else + UNUSED_PARAM(managerRef); + UNUSED_PARAM(context); + UNUSED_PARAM(callback); +#endif } #if ENABLE(NETSCAPE_PLUGIN_API) diff --git a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp b/Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp index b1a034496..99160c4a3 100644 --- a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp +++ b/Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp @@ -24,7 +24,7 @@ */ #include "config.h" -#include "EflViewportHandler.h" +#include "PageViewportControllerClientEfl.h" #if USE(COORDINATED_GRAPHICS) @@ -37,28 +37,28 @@ using namespace WebCore; namespace WebKit { -EflViewportHandler::EflViewportHandler(Evas_Object* viewWidget) +PageViewportControllerClientEfl::PageViewportControllerClientEfl(Evas_Object* viewWidget) : m_viewWidget(viewWidget) , m_scaleFactor(1) { ASSERT(m_viewWidget); } -EflViewportHandler::~EflViewportHandler() +PageViewportControllerClientEfl::~PageViewportControllerClientEfl() { } -DrawingAreaProxy* EflViewportHandler::drawingArea() const +DrawingAreaProxy* PageViewportControllerClientEfl::drawingArea() const { return ewk_view_page_get(m_viewWidget)->drawingArea(); } -void EflViewportHandler::setRendererActive(bool active) +void PageViewportControllerClientEfl::setRendererActive(bool active) { drawingArea()->layerTreeCoordinatorProxy()->layerTreeRenderer()->setActive(active); } -void EflViewportHandler::display(const IntRect& rect, const IntPoint& viewPosition) +void PageViewportControllerClientEfl::display(const IntRect& rect, const IntPoint& viewPosition) { WebCore::TransformationMatrix matrix; matrix.setMatrix(m_scaleFactor, 0, 0, m_scaleFactor, -m_visibleContentRect.x() + viewPosition.x(), -m_visibleContentRect.y() + viewPosition.y()); @@ -71,14 +71,14 @@ void EflViewportHandler::display(const IntRect& rect, const IntPoint& viewPositi renderer->paintToCurrentGLContext(matrix, 1, clipRect); } -void EflViewportHandler::updateViewportSize(const IntSize& viewportSize) +void PageViewportControllerClientEfl::updateViewportSize(const IntSize& viewportSize) { m_viewportSize = viewportSize; ewk_view_page_get(m_viewWidget)->setViewportSize(viewportSize); setVisibleContentsRect(m_visibleContentRect.location(), m_scaleFactor, FloatPoint()); } -void EflViewportHandler::setVisibleContentsRect(const IntPoint& newScrollPosition, float newScale, const FloatPoint& trajectory) +void PageViewportControllerClientEfl::setVisibleContentsRect(const IntPoint& newScrollPosition, float newScale, const FloatPoint& trajectory) { m_scaleFactor = newScale; m_visibleContentRect = IntRect(newScrollPosition, m_viewportSize); @@ -100,13 +100,37 @@ void EflViewportHandler::setVisibleContentsRect(const IntPoint& newScrollPositio drawingArea()->setVisibleContentsRect(enclosingIntRect(mapRectToWebContent), m_scaleFactor, trajectory); } -void EflViewportHandler::didChangeContentsSize(const WebCore::IntSize& size) +void PageViewportControllerClientEfl::didChangeContentsSize(const WebCore::IntSize& size) { m_contentsSize = size; setVisibleContentsRect(m_visibleContentRect.location(), m_scaleFactor, FloatPoint()); drawingArea()->layerTreeCoordinatorProxy()->setContentsSize(WebCore::FloatSize(size.width(), size.height())); } +void PageViewportControllerClientEfl::setViewportPosition(const WebCore::FloatPoint& /*contentsPoint*/) +{ +} + +void PageViewportControllerClientEfl::setContentsScale(float, bool /*treatAsInitialValue*/) +{ +} + +void PageViewportControllerClientEfl::didResumeContent() +{ +} + +void PageViewportControllerClientEfl::didChangeVisibleContents() +{ +} + +void PageViewportControllerClientEfl::didChangeViewportAttributes() +{ +} + +void PageViewportControllerClientEfl::setController(PageViewportController* pageViewportController) +{ +} + } // namespace WebKit #endif // USE(COORDINATED_GRAPHICS) diff --git a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h b/Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h index 1dd231e49..943452651 100644 --- a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h +++ b/Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h @@ -23,23 +23,24 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef EflViewportHandler_h -#define EflViewportHandler_h +#ifndef PageViewportControllerClientEfl_h +#define PageViewportControllerClientEfl_h #if USE(COORDINATED_GRAPHICS) #include "PageClientImpl.h" +#include "PageViewportControllerClient.h" #include <wtf/PassOwnPtr.h> namespace WebKit { -class EflViewportHandler { +class PageViewportControllerClientEfl : public PageViewportControllerClient { public: - static PassOwnPtr<EflViewportHandler> create(Evas_Object* viewWidget) + static PassOwnPtr<PageViewportControllerClientEfl> create(Evas_Object* viewWidget) { - return adoptPtr(new EflViewportHandler(viewWidget)); + return adoptPtr(new PageViewportControllerClientEfl(viewWidget)); } - ~EflViewportHandler(); + ~PageViewportControllerClientEfl(); DrawingAreaProxy* drawingArea() const; WebCore::IntSize viewSize() { return m_viewportSize; } @@ -47,10 +48,20 @@ public: void display(const WebCore::IntRect& rect, const WebCore::IntPoint& viewPosition); void updateViewportSize(const WebCore::IntSize& viewportSize); void setVisibleContentsRect(const WebCore::IntPoint&, float, const WebCore::FloatPoint&); - void didChangeContentsSize(const WebCore::IntSize& size); void setRendererActive(bool); + + virtual void setViewportPosition(const WebCore::FloatPoint& contentsPoint); + virtual void setContentsScale(float, bool treatAsInitialValue); + + virtual void didResumeContent(); + virtual void didChangeContentsSize(const WebCore::IntSize&); + virtual void didChangeVisibleContents(); + virtual void didChangeViewportAttributes(); + + virtual void setController(PageViewportController*); + private: - explicit EflViewportHandler(Evas_Object*); + explicit PageViewportControllerClientEfl(Evas_Object*); Evas_Object* m_viewWidget; WebCore::IntRect m_visibleContentRect; @@ -63,4 +74,4 @@ private: #endif -#endif // EflViewportHandler_h +#endif // PageViewportControllerClientEfl_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp index 63408d02b..12dbb8f4b 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp @@ -34,33 +34,70 @@ using namespace WebKit; -#define EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList_, ...) \ - if (!(list)) { \ - EINA_LOG_CRIT("list is NULL."); \ - return __VA_ARGS__; \ - } \ - if (!(list)->wkList) { \ - EINA_LOG_CRIT("list->wkList is NULL."); \ - return __VA_ARGS__; \ - } \ - WKBackForwardListRef wkList_ = (list)->wkList.get() +Ewk_Back_Forward_List::Ewk_Back_Forward_List(WKBackForwardListRef listRef) + : m_wkList(listRef) +{ } +Ewk_Back_Forward_List_Item* Ewk_Back_Forward_List::nextItem() const +{ + return getFromCacheOrCreate(WKBackForwardListGetForwardItem(m_wkList.get())); +} -static inline Ewk_Back_Forward_List_Item* addItemToWrapperCache(const Ewk_Back_Forward_List* list, WKBackForwardListItemRef wkItem) +Ewk_Back_Forward_List_Item* Ewk_Back_Forward_List::previousItem() const { - EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - EINA_SAFETY_ON_NULL_RETURN_VAL(wkItem, 0); + return getFromCacheOrCreate(WKBackForwardListGetBackItem(m_wkList.get())); +} + +Ewk_Back_Forward_List_Item* Ewk_Back_Forward_List::currentItem() const +{ + return getFromCacheOrCreate(WKBackForwardListGetCurrentItem(m_wkList.get())); +} + +Ewk_Back_Forward_List_Item* Ewk_Back_Forward_List::itemAt(int index) const +{ + return getFromCacheOrCreate(WKBackForwardListGetItemAtIndex(m_wkList.get(), index)); +} + +unsigned Ewk_Back_Forward_List::size() const +{ + const unsigned currentItem = WKBackForwardListGetCurrentItem(m_wkList.get()) ? 1 : 0; + + return WKBackForwardListGetBackListCount(m_wkList.get()) + WKBackForwardListGetForwardListCount(m_wkList.get()) + currentItem; +} + +WKRetainPtr<WKArrayRef> Ewk_Back_Forward_List::backList(int limit) const +{ + if (limit == -1) + limit = WKBackForwardListGetBackListCount(m_wkList.get()); + ASSERT(limit >= 0); + + return adoptWK(WKBackForwardListCopyBackListWithLimit(m_wkList.get(), limit)); +} + +WKRetainPtr<WKArrayRef> Ewk_Back_Forward_List::forwardList(int limit) const +{ + if (limit == -1) + limit = WKBackForwardListGetForwardListCount(m_wkList.get()); + ASSERT(limit >= 0); + + return adoptWK(WKBackForwardListCopyForwardListWithLimit(m_wkList.get(), limit)); +} - RefPtr<Ewk_Back_Forward_List_Item> item = list->wrapperCache.get(wkItem); +Ewk_Back_Forward_List_Item* Ewk_Back_Forward_List::getFromCacheOrCreate(WKBackForwardListItemRef wkItem) const +{ + if (!wkItem) + return 0; + + RefPtr<Ewk_Back_Forward_List_Item> item = m_wrapperCache.get(wkItem); if (!item) { item = Ewk_Back_Forward_List_Item::create(wkItem); - list->wrapperCache.set(wkItem, item); + m_wrapperCache.set(wkItem, item); } return item.get(); } -static inline Eina_List* createEinaList(const Ewk_Back_Forward_List* list, WKArrayRef wkList) +Eina_List* Ewk_Back_Forward_List::createEinaList(WKArrayRef wkList) const { if (!wkList) return 0; @@ -70,86 +107,80 @@ static inline Eina_List* createEinaList(const Ewk_Back_Forward_List* list, WKArr const size_t count = WKArrayGetSize(wkList); for (size_t i = 0; i < count; ++i) { WKBackForwardListItemRef wkItem = static_cast<WKBackForwardListItemRef>(WKArrayGetItemAtIndex(wkList, i)); - Ewk_Back_Forward_List_Item* item = addItemToWrapperCache(list, wkItem); + Ewk_Back_Forward_List_Item* item = getFromCacheOrCreate(wkItem); result = eina_list_append(result, ewk_back_forward_list_item_ref(item)); } return result; } +/** + * @internal + * Updates items cache. + */ +void Ewk_Back_Forward_List::update(WKBackForwardListItemRef wkAddedItem, WKArrayRef wkRemovedItems) +{ + if (wkAddedItem) // Checking also here to avoid EINA_SAFETY_ON_NULL_RETURN_VAL warnings. + getFromCacheOrCreate(wkAddedItem); // Puts new item to the cache. + + const size_t removedItemsSize = wkRemovedItems ? WKArrayGetSize(wkRemovedItems) : 0; + for (size_t i = 0; i < removedItemsSize; ++i) { + WKBackForwardListItemRef wkItem = static_cast<WKBackForwardListItemRef>(WKArrayGetItemAtIndex(wkRemovedItems, i)); + m_wrapperCache.remove(wkItem); + } +} + Ewk_Back_Forward_List_Item* ewk_back_forward_list_current_item_get(const Ewk_Back_Forward_List* list) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - return addItemToWrapperCache(list, WKBackForwardListGetCurrentItem(wkList)); + return list->currentItem(); } Ewk_Back_Forward_List_Item* ewk_back_forward_list_previous_item_get(const Ewk_Back_Forward_List* list) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - return addItemToWrapperCache(list, WKBackForwardListGetBackItem(wkList)); + return list->previousItem(); } Ewk_Back_Forward_List_Item* ewk_back_forward_list_next_item_get(const Ewk_Back_Forward_List* list) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - return addItemToWrapperCache(list, WKBackForwardListGetForwardItem(wkList)); + return list->nextItem(); } Ewk_Back_Forward_List_Item* ewk_back_forward_list_item_at_index_get(const Ewk_Back_Forward_List* list, int index) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - return addItemToWrapperCache(list, WKBackForwardListGetItemAtIndex(wkList, index)); + return list->itemAt(index); } unsigned ewk_back_forward_list_count(Ewk_Back_Forward_List* list) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); - - const unsigned currentItem = ewk_back_forward_list_current_item_get(list) ? 1 : 0; + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); - return WKBackForwardListGetBackListCount(wkList) + WKBackForwardListGetForwardListCount(wkList) + currentItem; + return list->size(); } Eina_List* ewk_back_forward_list_n_back_items_copy(const Ewk_Back_Forward_List* list, int limit) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); + EINA_SAFETY_ON_FALSE_RETURN_VAL(limit == -1 || limit > 0, 0); - if (limit == -1) - limit = WKBackForwardListGetBackListCount(wkList); - EINA_SAFETY_ON_FALSE_RETURN_VAL(limit >= 0, 0); - WKRetainPtr<WKArrayRef> backList(AdoptWK, WKBackForwardListCopyBackListWithLimit(wkList, limit)); + WKRetainPtr<WKArrayRef> backList = list->backList(limit); - return createEinaList(list, backList.get()); + return list->createEinaList(backList.get()); } Eina_List* ewk_back_forward_list_n_forward_items_copy(const Ewk_Back_Forward_List* list, int limit) { - EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0); - - if (limit == -1) - limit = WKBackForwardListGetForwardListCount(wkList); - EINA_SAFETY_ON_FALSE_RETURN_VAL(limit >= 0, 0); - WKRetainPtr<WKArrayRef> forwardList(AdoptWK, WKBackForwardListCopyForwardListWithLimit(wkList, limit)); + EINA_SAFETY_ON_NULL_RETURN_VAL(list, 0); + EINA_SAFETY_ON_FALSE_RETURN_VAL(limit == -1 || limit > 0, 0); - return createEinaList(list, forwardList.get()); -} + WKRetainPtr<WKArrayRef> forwardList = list->forwardList(limit); -/** - * @internal - * Updates items cache. - */ -void ewk_back_forward_list_changed(Ewk_Back_Forward_List* list, WKBackForwardListItemRef wkAddedItem, WKArrayRef wkRemovedItems) -{ - if (wkAddedItem) // Checking also here to avoid EINA_SAFETY_ON_NULL_RETURN_VAL warnings. - addItemToWrapperCache(list, wkAddedItem); // Puts new item to the cache. - - const size_t removedItemsSize = wkRemovedItems ? WKArrayGetSize(wkRemovedItems) : 0; - for (size_t i = 0; i < removedItemsSize; ++i) { - WKBackForwardListItemRef wkItem = static_cast<WKBackForwardListItemRef>(WKArrayGetItemAtIndex(wkRemovedItems, i)); - list->wrapperCache.remove(wkItem); - } + return list->createEinaList(forwardList.get()); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item.cpp index 8ca1e0d44..5ec236033 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item.cpp @@ -32,16 +32,30 @@ using namespace WebKit; -#define EWK_BACK_FORWARD_LIST_ITEM_WK_GET_OR_RETURN(item, wkItem_, ...) \ - if (!(item)) { \ - EINA_LOG_CRIT("item is NULL."); \ - return __VA_ARGS__; \ - } \ - if (!(item)->wkItem) { \ - EINA_LOG_CRIT("item->wkItem is NULL."); \ - return __VA_ARGS__; \ - } \ - WKBackForwardListItemRef wkItem_ = (item)->wkItem.get() +Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item(WKBackForwardListItemRef itemRef) + : m_wkItem(itemRef) +{ } + +const char* Ewk_Back_Forward_List_Item::url() const +{ + m_url = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyURL(m_wkItem.get())); + + return m_url; +} + +const char* Ewk_Back_Forward_List_Item::title() const +{ + m_title = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyTitle(m_wkItem.get())); + + return m_title; +} + +const char* Ewk_Back_Forward_List_Item::originalURL() const +{ + m_originalURL = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyOriginalURL(m_wkItem.get())); + + return m_originalURL; +} Ewk_Back_Forward_List_Item* ewk_back_forward_list_item_ref(Ewk_Back_Forward_List_Item* item) { @@ -60,27 +74,21 @@ void ewk_back_forward_list_item_unref(Ewk_Back_Forward_List_Item* item) const char* ewk_back_forward_list_item_url_get(const Ewk_Back_Forward_List_Item* item) { - EWK_BACK_FORWARD_LIST_ITEM_WK_GET_OR_RETURN(item, wkItem, 0); - - item->url = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyURL(wkItem)); + EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->url; + return item->url(); } const char* ewk_back_forward_list_item_title_get(const Ewk_Back_Forward_List_Item* item) { - EWK_BACK_FORWARD_LIST_ITEM_WK_GET_OR_RETURN(item, wkItem, 0); - - item->title = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyTitle(wkItem)); + EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->title; + return item->title(); } const char* ewk_back_forward_list_item_original_url_get(const Ewk_Back_Forward_List_Item* item) { - EWK_BACK_FORWARD_LIST_ITEM_WK_GET_OR_RETURN(item, wkItem, 0); - - item->originalURL = WKEinaSharedString(AdoptWK, WKBackForwardListItemCopyOriginalURL(wkItem)); + EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->originalURL; + return item->originalURL(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h index a300a305e..50718bc26 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h @@ -37,20 +37,22 @@ */ class Ewk_Back_Forward_List_Item : public RefCounted<Ewk_Back_Forward_List_Item> { public: - WKRetainPtr<WKBackForwardListItemRef> wkItem; - mutable WKEinaSharedString url; - mutable WKEinaSharedString title; - mutable WKEinaSharedString originalURL; - static PassRefPtr<Ewk_Back_Forward_List_Item> create(WKBackForwardListItemRef itemRef) { return adoptRef(new Ewk_Back_Forward_List_Item(itemRef)); } + const char* url() const; + const char* title() const; + const char* originalURL() const; + private: - explicit Ewk_Back_Forward_List_Item(WKBackForwardListItemRef itemRef) - : wkItem(itemRef) - { } + explicit Ewk_Back_Forward_List_Item(WKBackForwardListItemRef itemRef); + + WKRetainPtr<WKBackForwardListItemRef> m_wkItem; + mutable WKEinaSharedString m_url; + mutable WKEinaSharedString m_title; + mutable WKEinaSharedString m_originalURL; }; #endif // ewk_back_forward_list_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_private.h index fcf25f6cc..7aad46700 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_private.h @@ -36,20 +36,30 @@ typedef HashMap<WKBackForwardListItemRef, RefPtr<Ewk_Back_Forward_List_Item> > I class Ewk_Back_Forward_List { public: - WKRetainPtr<WKBackForwardListRef> wkList; - mutable ItemsMap wrapperCache; - static PassOwnPtr<Ewk_Back_Forward_List> create(WKBackForwardListRef listRef) { return adoptPtr(new Ewk_Back_Forward_List(listRef)); } + Ewk_Back_Forward_List_Item* previousItem() const; + Ewk_Back_Forward_List_Item* currentItem() const; + Ewk_Back_Forward_List_Item* nextItem() const; + Ewk_Back_Forward_List_Item* itemAt(int index) const; + + WKRetainPtr<WKArrayRef> backList(int limit = -1) const; + WKRetainPtr<WKArrayRef> forwardList(int limit = -1) const; + unsigned size() const; + + void update(WKBackForwardListItemRef wkAddedItem, WKArrayRef wkRemovedItems); + Eina_List* createEinaList(WKArrayRef wkList) const; + private: - explicit Ewk_Back_Forward_List(WKBackForwardListRef listRef) - : wkList(listRef) - { } -}; + explicit Ewk_Back_Forward_List(WKBackForwardListRef listRef); + + Ewk_Back_Forward_List_Item* getFromCacheOrCreate(WKBackForwardListItemRef wkItem) const; -void ewk_back_forward_list_changed(Ewk_Back_Forward_List*, WKBackForwardListItemRef wkAddedItem, WKArrayRef wkRemovedItems); + WKRetainPtr<WKBackForwardListRef> m_wkList; + mutable ItemsMap m_wrapperCache; +}; #endif // ewk_back_forward_list_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp index b7617dab2..9fb889213 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp @@ -40,6 +40,7 @@ #include "ewk_download_job_private.h" #include "ewk_favicon_database_private.h" #include "ewk_private.h" +#include "ewk_url_scheme_request_private.h" #include <WebCore/FileSystem.h> #include <WebCore/IconDatabase.h> #include <wtf/HashMap.h> @@ -205,7 +206,7 @@ void ewk_context_download_job_add(Ewk_Context* ewkContext, Ewk_Download_Job* ewk EINA_SAFETY_ON_NULL_RETURN(ewkContext); EINA_SAFETY_ON_NULL_RETURN(ewkDownload); - uint64_t downloadId = ewk_download_job_id_get(ewkDownload); + uint64_t downloadId = ewkDownload->id(); if (ewkContext->downloadJobs.contains(downloadId)) return; @@ -257,7 +258,7 @@ void ewk_context_url_scheme_request_received(Ewk_Context* ewkContext, Ewk_Url_Sc EINA_SAFETY_ON_NULL_RETURN(ewkContext); EINA_SAFETY_ON_NULL_RETURN(schemeRequest); - Ewk_Url_Scheme_Handler handler = ewkContext->urlSchemeHandlers.get(ewk_url_scheme_request_scheme_get(schemeRequest)); + Ewk_Url_Scheme_Handler handler = ewkContext->urlSchemeHandlers.get(schemeRequest->scheme()); if (!handler.callback) return; diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp index 088bd6a79..11647b41e 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp @@ -53,14 +53,14 @@ static WKStringRef decideDestinationWithSuggestedFilename(WKContextRef, WKDownlo Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), toImpl(wkDownload)->downloadID()); ASSERT(download); - ewk_download_job_suggested_filename_set(download, toImpl(filename)->string().utf8().data()); + download->setSuggestedFileName(toImpl(filename)->string().utf8().data()); // We send the new download signal on the Ewk_View only once we have received the response // and the suggested file name. - ewk_view_download_job_requested(ewk_download_job_view_get(download), download); + ewk_view_download_job_requested(download->view(), download); // DownloadSoup expects the destination to be a URL. - String destination = String("file://") + String::fromUTF8(ewk_download_job_destination_get(download)); + String destination = ASCIILiteral("file://") + String::fromUTF8(download->destination()); return WKStringCreateWithUTF8CString(destination.utf8().data()); } @@ -69,7 +69,7 @@ static void didReceiveResponse(WKContextRef, WKDownloadRef wkDownload, WKURLResp { Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), toImpl(wkDownload)->downloadID()); ASSERT(download); - ewk_download_job_response_set(download, Ewk_Url_Response::create(wkResponse)); + download->setResponse(Ewk_Url_Response::create(wkResponse)); } static void didCreateDestination(WKContextRef, WKDownloadRef wkDownload, WKStringRef /*path*/, const void* clientInfo) @@ -77,47 +77,47 @@ static void didCreateDestination(WKContextRef, WKDownloadRef wkDownload, WKStrin Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), toImpl(wkDownload)->downloadID()); ASSERT(download); - ewk_download_job_state_set(download, EWK_DOWNLOAD_JOB_STATE_DOWNLOADING); + download->setState(EWK_DOWNLOAD_JOB_STATE_DOWNLOADING); } static void didReceiveData(WKContextRef, WKDownloadRef wkDownload, uint64_t length, const void* clientInfo) { Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), toImpl(wkDownload)->downloadID()); ASSERT(download); - ewk_download_job_received_data(download, length); + download->incrementReceivedData(length); } -static void didFail(WKContextRef, WKDownloadRef wkDownload, WKErrorRef error, const void *clientInfo) +static void didFail(WKContextRef, WKDownloadRef wkDownload, WKErrorRef error, const void* clientInfo) { uint64_t downloadId = toImpl(wkDownload)->downloadID(); Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), downloadId); ASSERT(download); OwnPtr<Ewk_Error> ewkError = Ewk_Error::create(error); - ewk_download_job_state_set(download, EWK_DOWNLOAD_JOB_STATE_FAILED); - ewk_view_download_job_failed(ewk_download_job_view_get(download), download, ewkError.get()); + download->setState(EWK_DOWNLOAD_JOB_STATE_FAILED); + ewk_view_download_job_failed(download->view(), download, ewkError.get()); ewk_context_download_job_remove(toEwkContext(clientInfo), downloadId); } -static void didCancel(WKContextRef, WKDownloadRef wkDownload, const void *clientInfo) +static void didCancel(WKContextRef, WKDownloadRef wkDownload, const void* clientInfo) { uint64_t downloadId = toImpl(wkDownload)->downloadID(); Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), downloadId); ASSERT(download); - ewk_download_job_state_set(download, EWK_DOWNLOAD_JOB_STATE_CANCELLED); - ewk_view_download_job_cancelled(ewk_download_job_view_get(download), download); + download->setState(EWK_DOWNLOAD_JOB_STATE_CANCELLED); + ewk_view_download_job_cancelled(download->view(), download); ewk_context_download_job_remove(toEwkContext(clientInfo), downloadId); } -static void didFinish(WKContextRef, WKDownloadRef wkDownload, const void *clientInfo) +static void didFinish(WKContextRef, WKDownloadRef wkDownload, const void* clientInfo) { uint64_t downloadId = toImpl(wkDownload)->downloadID(); Ewk_Download_Job* download = ewk_context_download_job_get(toEwkContext(clientInfo), downloadId); ASSERT(download); - ewk_download_job_state_set(download, EWK_DOWNLOAD_JOB_STATE_FINISHED); - ewk_view_download_job_finished(ewk_download_job_view_get(download), download); + download->setState(EWK_DOWNLOAD_JOB_STATE_FINISHED); + ewk_view_download_job_finished(download->view(), download); ewk_context_download_job_remove(toEwkContext(clientInfo), downloadId); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager.cpp index 3cbf7fef0..d37da6f54 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager.cpp @@ -26,7 +26,6 @@ #include "config.h" #include "ewk_cookie_manager.h" -#include "SoupCookiePersistentStorageType.h" #include "WKAPICast.h" #include "WKArray.h" #include "WKString.h" @@ -40,79 +39,117 @@ using namespace WebKit; -static void cookiesDidChange(WKCookieManagerRef, const void* clientInfo); - Ewk_Cookie_Manager::Ewk_Cookie_Manager(WKCookieManagerRef cookieManagerRef) - : wkCookieManager(cookieManagerRef) + : m_wkCookieManager(cookieManagerRef) { WKCookieManagerClient wkCookieManagerClient = { kWKCookieManagerClientCurrentVersion, this, // clientInfo cookiesDidChange }; - WKCookieManagerSetClient(wkCookieManager.get(), &wkCookieManagerClient); + WKCookieManagerSetClient(m_wkCookieManager.get(), &wkCookieManagerClient); } Ewk_Cookie_Manager::~Ewk_Cookie_Manager() { + if (isWatchingForChanges()) + WKCookieManagerStopObservingCookieChanges(m_wkCookieManager.get()); +} + +void Ewk_Cookie_Manager::setPersistentStorage(const String& filename, SoupCookiePersistentStorageType storage) +{ + bool isWatchingChanges = isWatchingForChanges(); + if (isWatchingChanges) + WKCookieManagerStopObservingCookieChanges(m_wkCookieManager.get()); + + toImpl(m_wkCookieManager.get())->setCookiePersistentStorage(filename, storage); + + if (isWatchingChanges) + WKCookieManagerStartObservingCookieChanges(m_wkCookieManager.get()); +} + +void Ewk_Cookie_Manager::setHTTPAcceptPolicy(WKHTTPCookieAcceptPolicy policy) +{ + WKCookieManagerSetHTTPCookieAcceptPolicy(m_wkCookieManager.get(), policy); +} + +void Ewk_Cookie_Manager::clearHostnameCookies(const String& hostname) +{ + toImpl(m_wkCookieManager.get())->deleteCookiesForHostname(hostname); +} + +void Ewk_Cookie_Manager::clearAllCookies() +{ + WKCookieManagerDeleteAllCookies(m_wkCookieManager.get()); +} + +void Ewk_Cookie_Manager::watchChanges(const Cookie_Change_Handler& changeHandler) +{ + m_changeHandler = changeHandler; + if (changeHandler.callback) - WKCookieManagerStopObservingCookieChanges(wkCookieManager.get()); + WKCookieManagerStartObservingCookieChanges(m_wkCookieManager.get()); + else + WKCookieManagerStopObservingCookieChanges(m_wkCookieManager.get()); } -#define EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager_, ...) \ - if (!(manager)) { \ - EINA_LOG_CRIT("manager is NULL."); \ - return __VA_ARGS__; \ - } \ - if (!(manager)->wkCookieManager) { \ - EINA_LOG_CRIT("manager->wkCookieManager is NULL."); \ - return __VA_ARGS__; \ - } \ - WKCookieManagerRef wkManager_ = (manager)->wkCookieManager.get() +bool Ewk_Cookie_Manager::isWatchingForChanges() const +{ + return static_cast<bool>(m_changeHandler.callback); +} -// Ewk_Cookie_Accept_Policy enum validation -COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_ALWAYS, kWKHTTPCookieAcceptPolicyAlways); -COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_NEVER, kWKHTTPCookieAcceptPolicyNever); -COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_NO_THIRD_PARTY, kWKHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain); +void Ewk_Cookie_Manager::getHostNamesWithCookies(WKCookieManagerGetCookieHostnamesFunction callback, void* userData) const +{ + WKCookieManagerGetHostnamesWithCookies(m_wkCookieManager.get(), userData, callback); +} -// Ewk_Cookie_Persistent_Storage enum validation -COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_PERSISTENT_STORAGE_TEXT, SoupCookiePersistentStorageText); -COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_PERSISTENT_STORAGE_SQLITE, SoupCookiePersistentStorageSQLite); +void Ewk_Cookie_Manager::getHTTPAcceptPolicy(WKCookieManagerGetHTTPCookieAcceptPolicyFunction callback, void* userData) const +{ + WKCookieManagerGetHTTPCookieAcceptPolicy(m_wkCookieManager.get(), userData, callback); +} -static void cookiesDidChange(WKCookieManagerRef, const void* clientInfo) +void Ewk_Cookie_Manager::cookiesDidChange(WKCookieManagerRef, const void* clientInfo) { Ewk_Cookie_Manager* manager = static_cast<Ewk_Cookie_Manager*>(const_cast<void*>(clientInfo)); - if (!manager->changeHandler.callback) + if (!manager->isWatchingForChanges()) return; - manager->changeHandler.callback(manager->changeHandler.userData); + manager->m_changeHandler.callback(manager->m_changeHandler.userData); } +// Ewk_Cookie_Persistent_Storage enum validation. +COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_PERSISTENT_STORAGE_TEXT, SoupCookiePersistentStorageText); +COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_PERSISTENT_STORAGE_SQLITE, SoupCookiePersistentStorageSQLite); + void ewk_cookie_manager_persistent_storage_set(Ewk_Cookie_Manager* manager, const char* filename, Ewk_Cookie_Persistent_Storage storage) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); EINA_SAFETY_ON_NULL_RETURN(filename); - if (manager->changeHandler.callback) - WKCookieManagerStopObservingCookieChanges(wkManager); - - toImpl(wkManager)->setCookiePersistentStorage(String::fromUTF8(filename), storage); - - if (manager->changeHandler.callback) - WKCookieManagerStartObservingCookieChanges(wkManager); + manager->setPersistentStorage(String::fromUTF8(filename), static_cast<SoupCookiePersistentStorageType>(storage)); } +// Ewk_Cookie_Accept_Policy enum validation. +COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_ALWAYS, kWKHTTPCookieAcceptPolicyAlways); +COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_NEVER, kWKHTTPCookieAcceptPolicyNever); +COMPILE_ASSERT_MATCHING_ENUM(EWK_COOKIE_ACCEPT_POLICY_NO_THIRD_PARTY, kWKHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain); + void ewk_cookie_manager_accept_policy_set(Ewk_Cookie_Manager* manager, Ewk_Cookie_Accept_Policy policy) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); - WKCookieManagerSetHTTPCookieAcceptPolicy(wkManager, static_cast<WKHTTPCookieAcceptPolicy>(policy)); + manager->setHTTPAcceptPolicy(static_cast<WKHTTPCookieAcceptPolicy>(policy)); } struct Get_Policy_Async_Data { Ewk_Cookie_Manager_Async_Policy_Get_Cb callback; void* userData; + + Get_Policy_Async_Data(Ewk_Cookie_Manager_Async_Policy_Get_Cb callback, void* userData) + : callback(callback) + , userData(userData) + { } }; static void getAcceptPolicyCallback(WKHTTPCookieAcceptPolicy policy, WKErrorRef wkError, void* data) @@ -127,19 +164,21 @@ static void getAcceptPolicyCallback(WKHTTPCookieAcceptPolicy policy, WKErrorRef void ewk_cookie_manager_async_accept_policy_get(const Ewk_Cookie_Manager* manager, Ewk_Cookie_Manager_Async_Policy_Get_Cb callback, void* data) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); EINA_SAFETY_ON_NULL_RETURN(callback); - Get_Policy_Async_Data* callbackData = new Get_Policy_Async_Data; - callbackData->callback = callback; - callbackData->userData = data; - - WKCookieManagerGetHTTPCookieAcceptPolicy(wkManager, callbackData, getAcceptPolicyCallback); + Get_Policy_Async_Data* callbackData = new Get_Policy_Async_Data(callback, data); + manager->getHTTPAcceptPolicy(getAcceptPolicyCallback, callbackData); } struct Get_Hostnames_Async_Data { Ewk_Cookie_Manager_Async_Hostnames_Get_Cb callback; void* userData; + + Get_Hostnames_Async_Data(Ewk_Cookie_Manager_Async_Hostnames_Get_Cb callback, void* userData) + : callback(callback) + , userData(userData) + { } }; static void getHostnamesWithCookiesCallback(WKArrayRef wkHostnames, WKErrorRef wkError, void* context) @@ -168,40 +207,31 @@ static void getHostnamesWithCookiesCallback(WKArrayRef wkHostnames, WKErrorRef w void ewk_cookie_manager_async_hostnames_with_cookies_get(const Ewk_Cookie_Manager* manager, Ewk_Cookie_Manager_Async_Hostnames_Get_Cb callback, void* data) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); EINA_SAFETY_ON_NULL_RETURN(callback); - Get_Hostnames_Async_Data* callbackData = new Get_Hostnames_Async_Data; - callbackData->callback = callback; - callbackData->userData = data; - - WKCookieManagerGetHostnamesWithCookies(wkManager, callbackData, getHostnamesWithCookiesCallback); + Get_Hostnames_Async_Data* callbackData = new Get_Hostnames_Async_Data(callback, data); + manager->getHostNamesWithCookies(getHostnamesWithCookiesCallback, callbackData); } -void ewk_cookie_manager_hostname_cookies_clear(Ewk_Cookie_Manager* manager, const char* hostName) +void ewk_cookie_manager_hostname_cookies_clear(Ewk_Cookie_Manager* manager, const char* hostname) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); - EINA_SAFETY_ON_NULL_RETURN(hostName); + EINA_SAFETY_ON_NULL_RETURN(manager); + EINA_SAFETY_ON_NULL_RETURN(hostname); - WKRetainPtr<WKStringRef> wkHostName(AdoptWK, WKStringCreateWithUTF8CString(hostName)); - WKCookieManagerDeleteCookiesForHostname(wkManager, wkHostName.get()); + manager->clearHostnameCookies(String::fromUTF8(hostname)); } void ewk_cookie_manager_cookies_clear(Ewk_Cookie_Manager* manager) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); - WKCookieManagerDeleteAllCookies(wkManager); + manager->clearAllCookies(); } void ewk_cookie_manager_changes_watch(Ewk_Cookie_Manager* manager, Ewk_Cookie_Manager_Changes_Watch_Cb callback, void* data) { - EWK_COOKIE_MANAGER_WK_GET_OR_RETURN(manager, wkManager); + EINA_SAFETY_ON_NULL_RETURN(manager); - manager->changeHandler = Cookie_Change_Handler(callback, data); - - if (callback) - WKCookieManagerStartObservingCookieChanges(wkManager); - else - WKCookieManagerStopObservingCookieChanges(wkManager); + manager->watchChanges(Cookie_Change_Handler(callback, data)); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager_private.h index b7579aa99..8c32f891a 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_cookie_manager_private.h @@ -26,6 +26,7 @@ #ifndef ewk_cookie_manager_private_h #define ewk_cookie_manager_private_h +#include "SoupCookiePersistentStorageType.h" #include "WKCookieManager.h" #include "WKRetainPtr.h" #include "ewk_cookie_manager.h" @@ -49,9 +50,6 @@ struct Cookie_Change_Handler { class Ewk_Cookie_Manager { public: - WKRetainPtr<WKCookieManagerRef> wkCookieManager; - Cookie_Change_Handler changeHandler; - static PassOwnPtr<Ewk_Cookie_Manager> create(WKCookieManagerRef cookieManagerRef) { return adoptPtr(new Ewk_Cookie_Manager(cookieManagerRef)); @@ -59,8 +57,26 @@ public: ~Ewk_Cookie_Manager(); + void setPersistentStorage(const String& filename, WebKit::SoupCookiePersistentStorageType storage); + + void getHTTPAcceptPolicy(WKCookieManagerGetHTTPCookieAcceptPolicyFunction callback, void* userData) const; + void setHTTPAcceptPolicy(WKHTTPCookieAcceptPolicy policy); + + void clearHostnameCookies(const String& hostname); + void clearAllCookies(); + + void getHostNamesWithCookies(WKCookieManagerGetCookieHostnamesFunction callback, void* userData) const; + void watchChanges(const Cookie_Change_Handler& changeHandler); + private: explicit Ewk_Cookie_Manager(WKCookieManagerRef cookieManagerRef); + + bool isWatchingForChanges() const; + + static void cookiesDidChange(WKCookieManagerRef, const void* clientInfo); + + WKRetainPtr<WKCookieManagerRef> m_wkCookieManager; + Cookie_Change_Handler m_changeHandler; }; #endif // ewk_cookie_manager_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_download_job.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_download_job.cpp index 46a198dc7..7dc3a1784 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_download_job.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_download_job.cpp @@ -31,10 +31,20 @@ #include "WKRetainPtr.h" #include "WebURLRequest.h" #include "ewk_download_job_private.h" +#include "ewk_url_response_private.h" #include <Ecore.h> using namespace WebKit; +Ewk_Download_Job::Ewk_Download_Job(WebKit::DownloadProxy* download, Evas_Object* ewkView) + : m_downloadProxy(download) + , m_view(ewkView) + , m_state(EWK_DOWNLOAD_JOB_STATE_NOT_STARTED) + , m_startTime(-1) + , m_endTime(-1) + , m_downloaded(0) +{ } + Ewk_Download_Job* ewk_download_job_ref(Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); @@ -55,12 +65,9 @@ void ewk_download_job_unref(Ewk_Download_Job* download) * @internal * Queries the identifier for this download */ -uint64_t ewk_download_job_id_get(const Ewk_Download_Job* download) +uint64_t Ewk_Download_Job::id() const { - EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - EINA_SAFETY_ON_NULL_RETURN_VAL(download->downloadProxy, 0); - - return download->downloadProxy->downloadID(); + return m_downloadProxy->downloadID(); } /** @@ -68,45 +75,62 @@ uint64_t ewk_download_job_id_get(const Ewk_Download_Job* download) * Returns the view this download is attached to. * The view is needed to send notification signals. */ -Evas_Object* ewk_download_job_view_get(const Ewk_Download_Job* download) +Evas_Object* Ewk_Download_Job::view() const { - EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - - return download->view; + return m_view; } Ewk_Download_Job_State ewk_download_job_state_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, EWK_DOWNLOAD_JOB_STATE_UNKNOWN); - return download->state; + return download->state(); +} + +Ewk_Download_Job_State Ewk_Download_Job::state() const +{ + return m_state; } Ewk_Url_Request* ewk_download_job_request_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - if (!download->request) { - EINA_SAFETY_ON_NULL_RETURN_VAL(download->downloadProxy, 0); - WKRetainPtr<WKURLRequestRef> wkURLRequest(AdoptWK, toAPI(WebURLRequest::create(download->downloadProxy->request()).leakRef())); - const_cast<Ewk_Download_Job*>(download)->request = Ewk_Url_Request::create(wkURLRequest.get()); + return download->request(); +} + +Ewk_Url_Request* Ewk_Download_Job::request() const +{ + if (!m_request) { + WKRetainPtr<WKURLRequestRef> wkURLRequest(AdoptWK, toAPI(WebURLRequest::create(m_downloadProxy->request()).leakRef())); + m_request = Ewk_Url_Request::create(wkURLRequest.get()); } - return download->request.get(); + return m_request.get(); } Ewk_Url_Response* ewk_download_job_response_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - return download->response.get(); + return download->response(); +} + +Ewk_Url_Response* Ewk_Download_Job::response() const +{ + return m_response.get(); } const char* ewk_download_job_destination_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - return download->destination; + return download->destination(); +} + +const char* Ewk_Download_Job::destination() const +{ + return m_destination; } Eina_Bool ewk_download_job_destination_set(Ewk_Download_Job* download, const char* destination) @@ -114,28 +138,42 @@ Eina_Bool ewk_download_job_destination_set(Ewk_Download_Job* download, const cha EINA_SAFETY_ON_NULL_RETURN_VAL(download, false); EINA_SAFETY_ON_NULL_RETURN_VAL(destination, false); - download->destination = destination; + download->setDestination(destination); return true; } -const char *ewk_download_job_suggested_filename_get(const Ewk_Download_Job* download) +void Ewk_Download_Job::setDestination(const char* destination) +{ + m_destination = destination; +} + +const char* ewk_download_job_suggested_filename_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - return download->suggestedFilename; + return download->suggestedFileName(); +} + +const char* Ewk_Download_Job::suggestedFileName() const +{ + return m_suggestedFilename; } Eina_Bool ewk_download_job_cancel(Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, false); - EINA_SAFETY_ON_NULL_RETURN_VAL(download->downloadProxy, false); - if (download->state != EWK_DOWNLOAD_JOB_STATE_DOWNLOADING) + return download->cancel(); +} + +bool Ewk_Download_Job::cancel() +{ + if (m_state != EWK_DOWNLOAD_JOB_STATE_DOWNLOADING) return false; - download->state = EWK_DOWNLOAD_JOB_STATE_CANCELLING; - download->downloadProxy->cancel(); + m_state = EWK_DOWNLOAD_JOB_STATE_CANCELLING; + m_downloadProxy->cancel(); return true; } @@ -143,82 +181,90 @@ double ewk_download_job_estimated_progress_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); - if (!download->response) + return download->estimatedProgress(); +} + +double Ewk_Download_Job::estimatedProgress() const +{ + if (!m_response) return 0; - const unsigned long contentLength = ewk_url_response_content_length_get(download->response.get()); + const unsigned long contentLength = m_response->contentLength(); if (!contentLength) return 0; - return static_cast<double>(download->downloaded) / contentLength; + return static_cast<double>(m_downloaded) / contentLength; } double ewk_download_job_elapsed_time_get(const Ewk_Download_Job* download) { EINA_SAFETY_ON_NULL_RETURN_VAL(download, 0); + return download->elapsedTime(); +} + +double Ewk_Download_Job::elapsedTime() const +{ // Download has not started yet. - if (download->startTime < 0) + if (m_startTime < 0) return 0; // Download had ended, return the time elapsed between the // download start and the end event. - if (download->endTime >= 0) - return download->endTime - download->startTime; + if (m_endTime >= 0) + return m_endTime - m_startTime; // Download is still going. - return ecore_time_get() - download->startTime; + return ecore_time_get() - m_startTime; } /** * @internal * Sets the URL @a response for this @a download. */ -void ewk_download_job_response_set(Ewk_Download_Job* download, PassRefPtr<Ewk_Url_Response> response) +void Ewk_Download_Job::setResponse(PassRefPtr<Ewk_Url_Response> response) { - EINA_SAFETY_ON_NULL_RETURN(download); - EINA_SAFETY_ON_NULL_RETURN(response); + ASSERT(response); - download->response = response; + m_response = response; } /** * @internal * Sets the suggested file name for this @a download. */ -void ewk_download_job_suggested_filename_set(Ewk_Download_Job* download, const char* suggestedFilename) +void Ewk_Download_Job::setSuggestedFileName(const char* suggestedFilename) { - EINA_SAFETY_ON_NULL_RETURN(download); - - download->suggestedFilename = suggestedFilename; + m_suggestedFilename = suggestedFilename; } /** * @internal * Report a given amount of data was received. */ -void ewk_download_job_received_data(Ewk_Download_Job* download, uint64_t length) +void Ewk_Download_Job::incrementReceivedData(uint64_t length) { - EINA_SAFETY_ON_NULL_RETURN(download); - - download->downloaded += length; + m_downloaded += length; } /** * @internal * Sets the state of the download. */ -void ewk_download_job_state_set(Ewk_Download_Job* download, Ewk_Download_Job_State state) +void Ewk_Download_Job::setState(Ewk_Download_Job_State state) { - download->state = state; - - // Update start time if the download has started - if (state == EWK_DOWNLOAD_JOB_STATE_DOWNLOADING) - download->startTime = ecore_time_get(); - - // Update end time if the download has finished (successfully or not) - if (state == EWK_DOWNLOAD_JOB_STATE_FAILED - || state == EWK_DOWNLOAD_JOB_STATE_CANCELLED - || state == EWK_DOWNLOAD_JOB_STATE_FINISHED) - download->endTime = ecore_time_get(); + m_state = state; + + switch (state) { + case EWK_DOWNLOAD_JOB_STATE_DOWNLOADING: + m_startTime = ecore_time_get(); + break; + case EWK_DOWNLOAD_JOB_STATE_FAILED: + case EWK_DOWNLOAD_JOB_STATE_CANCELLED: + case EWK_DOWNLOAD_JOB_STATE_FINISHED: + m_endTime = ecore_time_get(); + break; + default: + break; + } } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_download_job.h b/Source/WebKit2/UIProcess/API/efl/ewk_download_job.h index 0cad5c2ed..156f29a26 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_download_job.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_download_job.h @@ -43,7 +43,7 @@ extern "C" { #endif -/** Creates a type name for Ewk_Download_Job_Job */ +/** Creates a type name for Ewk_Download_Job */ typedef struct Ewk_Download_Job Ewk_Download_Job; /// Defines the possible states of a download. diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_download_job_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_download_job_private.h index 5fac47db0..e2501d125 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_download_job_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_download_job_private.h @@ -37,46 +37,48 @@ namespace WebKit { class DownloadProxy; } -/** - * \struct Ewk_Download_Job - * @brief Contains the download data. - */ class Ewk_Download_Job : public RefCounted<Ewk_Download_Job> { public: - WebKit::DownloadProxy* downloadProxy; - Evas_Object* view; - Ewk_Download_Job_State state; - RefPtr<Ewk_Url_Request> request; - RefPtr<Ewk_Url_Response> response; - double startTime; - double endTime; - uint64_t downloaded; /**< length already downloaded */ - WKEinaSharedString destination; - WKEinaSharedString suggestedFilename; - static PassRefPtr<Ewk_Download_Job> create(WebKit::DownloadProxy* download, Evas_Object* ewkView) { return adoptRef(new Ewk_Download_Job(download, ewkView)); } -private: - Ewk_Download_Job(WebKit::DownloadProxy* download, Evas_Object* ewkView) - : downloadProxy(download) - , view(ewkView) - , state(EWK_DOWNLOAD_JOB_STATE_NOT_STARTED) - , startTime(-1) - , endTime(-1) - , downloaded(0) - { } -}; + uint64_t id() const; + Evas_Object* view() const; + + Ewk_Download_Job_State state() const; + void setState(Ewk_Download_Job_State); + + Ewk_Url_Request* request() const; + Ewk_Url_Response* response() const; + void setResponse(PassRefPtr<Ewk_Url_Response>); -typedef struct Ewk_Error Ewk_Error; + const char* destination() const; + void setDestination(const char* destination); -uint64_t ewk_download_job_id_get(const Ewk_Download_Job*); -Evas_Object* ewk_download_job_view_get(const Ewk_Download_Job*); -void ewk_download_job_state_set(Ewk_Download_Job*, Ewk_Download_Job_State); -void ewk_download_job_received_data(Ewk_Download_Job*, uint64_t length); -void ewk_download_job_response_set(Ewk_Download_Job*, PassRefPtr<Ewk_Url_Response>); -void ewk_download_job_suggested_filename_set(Ewk_Download_Job*, const char* suggestedFilename); + const char* suggestedFileName() const; + void setSuggestedFileName(const char* fileName); + + bool cancel(); + + double estimatedProgress() const; + double elapsedTime() const; + void incrementReceivedData(uint64_t length); + +private: + Ewk_Download_Job(WebKit::DownloadProxy* download, Evas_Object* ewkView); + + WebKit::DownloadProxy* m_downloadProxy; + Evas_Object* m_view; + Ewk_Download_Job_State m_state; + mutable RefPtr<Ewk_Url_Request> m_request; + RefPtr<Ewk_Url_Response> m_response; + double m_startTime; + double m_endTime; + uint64_t m_downloaded; // length already downloaded + WKEinaSharedString m_destination; + WKEinaSharedString m_suggestedFilename; +}; #endif // ewk_download_job_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_error.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_error.cpp index 5bcfd81f9..c3b92fd52 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_error.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_error.cpp @@ -37,28 +37,42 @@ using namespace WebCore; using namespace WebKit; Ewk_Error::Ewk_Error(WKErrorRef errorRef) - : wkError(errorRef) - , url(AdoptWK, WKErrorCopyFailingURL(errorRef)) - , description(AdoptWK, WKErrorCopyLocalizedDescription(errorRef)) + : m_wkError(errorRef) + , m_url(AdoptWK, WKErrorCopyFailingURL(errorRef)) + , m_description(AdoptWK, WKErrorCopyLocalizedDescription(errorRef)) { } -#define EWK_ERROR_WK_GET_OR_RETURN(error, wkError_, ...) \ - if (!(error)) { \ - EINA_LOG_CRIT("error is NULL."); \ - return __VA_ARGS__; \ - } \ - if (!(error)->wkError) { \ - EINA_LOG_CRIT("error->wkError is NULL."); \ - return __VA_ARGS__; \ - } \ - WKErrorRef wkError_ = (error)->wkError.get() +const char* Ewk_Error::url() const +{ + return m_url; +} + +const char* Ewk_Error::description() const +{ + return m_description; +} + +String Ewk_Error::domain() const +{ + WKRetainPtr<WKStringRef> wkDomain(AdoptWK, WKErrorCopyDomain(m_wkError.get())); + return toWTFString(wkDomain.get()); +} + +int Ewk_Error::errorCode() const +{ + return WKErrorGetErrorCode(m_wkError.get()); +} + +bool Ewk_Error::isCancellation() const +{ + return toImpl(m_wkError.get())->platformError().isCancellation(); +} Ewk_Error_Type ewk_error_type_get(const Ewk_Error* error) { - EWK_ERROR_WK_GET_OR_RETURN(error, wkError, EWK_ERROR_TYPE_NONE); + EINA_SAFETY_ON_NULL_RETURN_VAL(error, EWK_ERROR_TYPE_NONE); - WKRetainPtr<WKStringRef> wkDomain(AdoptWK, WKErrorCopyDomain(wkError)); - WTF::String errorDomain = toWTFString(wkDomain.get()); + String errorDomain = error->domain(); if (errorDomain == errorDomainNetwork) return EWK_ERROR_TYPE_NETWORK; @@ -77,26 +91,26 @@ const char* ewk_error_url_get(const Ewk_Error* error) { EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0); - return error->url; + return error->url(); } int ewk_error_code_get(const Ewk_Error* error) { - EWK_ERROR_WK_GET_OR_RETURN(error, wkError, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0); - return WKErrorGetErrorCode(wkError); + return error->errorCode(); } const char* ewk_error_description_get(const Ewk_Error* error) { EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0); - return error->description; + return error->description(); } Eina_Bool ewk_error_cancellation_get(const Ewk_Error* error) { - EWK_ERROR_WK_GET_OR_RETURN(error, wkError, false); + EINA_SAFETY_ON_NULL_RETURN_VAL(error, false); - return toImpl(wkError)->platformError().isCancellation(); + return error->isCancellation(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_error_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_error_private.h index a26e0fc4f..64fdcf75d 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_error_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_error_private.h @@ -30,13 +30,10 @@ #include <WKError.h> #include <WKRetainPtr.h> #include <wtf/PassOwnPtr.h> +#include <wtf/text/WTFString.h> class Ewk_Error { public: - WKRetainPtr<WKErrorRef> wkError; - WKEinaSharedString url; - WKEinaSharedString description; - static PassOwnPtr<Ewk_Error> create(WKErrorRef errorRef) { if (!errorRef) @@ -45,8 +42,18 @@ public: return adoptPtr(new Ewk_Error(errorRef)); } + const char* url() const; + const char* description() const; + String domain() const; + int errorCode() const; + bool isCancellation() const; + private: explicit Ewk_Error(WKErrorRef errorRef); + + WKRetainPtr<WKErrorRef> m_wkError; + WKEinaSharedString m_url; + WKEinaSharedString m_description; }; #endif // ewk_error_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.cpp index 9e059e2c4..17c99c442 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.cpp @@ -38,11 +38,8 @@ using namespace WebKit; -static void didChangeIconForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo); -static void iconDataReadyForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo); - Ewk_Favicon_Database::Ewk_Favicon_Database(WKIconDatabaseRef iconDatabaseRef) - : wkIconDatabase(iconDatabaseRef) + : m_wkIconDatabase(iconDatabaseRef) { WKIconDatabaseClient iconDatabaseClient; memset(&iconDatabaseClient, 0, sizeof(WKIconDatabaseClient)); @@ -50,26 +47,100 @@ Ewk_Favicon_Database::Ewk_Favicon_Database(WKIconDatabaseRef iconDatabaseRef) iconDatabaseClient.clientInfo = this; iconDatabaseClient.didChangeIconForPageURL = didChangeIconForPageURL; iconDatabaseClient.iconDataReadyForPageURL = iconDataReadyForPageURL; - WKIconDatabaseSetIconDatabaseClient(wkIconDatabase.get(), &iconDatabaseClient); + WKIconDatabaseSetIconDatabaseClient(m_wkIconDatabase.get(), &iconDatabaseClient); +} + +String Ewk_Favicon_Database::iconURLForPageURL(const String& pageURL) const +{ + String iconURL; + toImpl(m_wkIconDatabase.get())->synchronousIconURLForPageURL(pageURL, iconURL); + + return iconURL; +} + +void Ewk_Favicon_Database::watchChanges(const IconChangeCallbackData& callbackData) +{ + ASSERT(callbackData.callback); + if (m_changeListeners.contains(callbackData.callback)) + return; + + m_changeListeners.add(callbackData.callback, callbackData); +} + +void Ewk_Favicon_Database::unwatchChanges(Ewk_Favicon_Database_Icon_Change_Cb callback) +{ + ASSERT(callback); + m_changeListeners.remove(callback); +} + +struct AsyncIconRequestResponse { + String pageURL; + RefPtr<cairo_surface_t> surface; + IconRequestCallbackData callbackData; + + AsyncIconRequestResponse(const String& pageURL, PassRefPtr<cairo_surface_t> surface, const IconRequestCallbackData& callbackData) + : pageURL(pageURL) + , surface(surface) + , callbackData(callbackData) + { } +}; + +static Eina_Bool respond_icon_request_idle(void* data) +{ + AsyncIconRequestResponse* response = static_cast<AsyncIconRequestResponse*>(data); + + RefPtr<Evas_Object> icon = response->surface ? WebCore::evasObjectFromCairoImageSurface(response->callbackData.evas, response->surface.get()) : 0; + response->callbackData.callback(response->pageURL.utf8().data(), icon.get(), response->callbackData.userData); + + delete response; + + return ECORE_CALLBACK_DONE; } -static void didChangeIconForPageURL(WKIconDatabaseRef, WKURLRef pageURLRef, const void* clientInfo) +void Ewk_Favicon_Database::iconForPageURL(const String& pageURL, const IconRequestCallbackData& callbackData) +{ + WebIconDatabase* webIconDatabase = toImpl(m_wkIconDatabase.get()); + + // We ask for the icon directly. If we don't get the icon data now, + // we'll be notified later (even if the database is still importing icons). + RefPtr<cairo_surface_t> surface = getIconSurfaceSynchronously(pageURL); + + // If there's no valid icon, but there's an iconURL registered, + // or it's still not registered but the import process hasn't + // finished yet, we need to wait for iconDataReadyForPageURL to be + // called before making and informed decision. + String iconURL = iconURLForPageURL(pageURL); + if (!surface && (!iconURL.isEmpty() || !webIconDatabase->isUrlImportCompleted())) { + PendingIconRequestVector requests = m_iconRequests.get(pageURL); + requests.append(callbackData); + m_iconRequests.set(pageURL, requests); + return; + } + + // Respond when idle. + AsyncIconRequestResponse* response = new AsyncIconRequestResponse(pageURL, surface.release(), callbackData); + ecore_idler_add(respond_icon_request_idle, response); +} + +void Ewk_Favicon_Database::didChangeIconForPageURL(WKIconDatabaseRef, WKURLRef pageURLRef, const void* clientInfo) { const Ewk_Favicon_Database* ewkIconDatabase = static_cast<const Ewk_Favicon_Database*>(clientInfo); - if (ewkIconDatabase->changeListeners.isEmpty()) + if (ewkIconDatabase->m_changeListeners.isEmpty()) return; CString pageURL = toImpl(pageURLRef)->string().utf8(); - ChangeListenerMap::const_iterator it = ewkIconDatabase->changeListeners.begin(); - ChangeListenerMap::const_iterator end = ewkIconDatabase->changeListeners.end(); + ChangeListenerMap::const_iterator it = ewkIconDatabase->m_changeListeners.begin(); + ChangeListenerMap::const_iterator end = ewkIconDatabase->m_changeListeners.end(); for (; it != end; ++it) it->value.callback(pageURL.data(), it->value.userData); } -static cairo_surface_t* getIconSurfaceSynchronously(WebIconDatabase* webIconDatabase, const String& pageURL) +PassRefPtr<cairo_surface_t> Ewk_Favicon_Database::getIconSurfaceSynchronously(const String& pageURL) const { + WebIconDatabase* webIconDatabase = toImpl(m_wkIconDatabase.get()); + webIconDatabase->retainIconForPageURL(pageURL); WebCore::NativeImagePtr icon = webIconDatabase->nativeImageForPageURL(pageURL); @@ -78,21 +149,22 @@ static cairo_surface_t* getIconSurfaceSynchronously(WebIconDatabase* webIconData return 0; } - return icon->surface(); + RefPtr<cairo_surface_t> surface = icon->surface(); + + return surface.release(); } -static void iconDataReadyForPageURL(WKIconDatabaseRef, WKURLRef pageURL, const void* clientInfo) +void Ewk_Favicon_Database::iconDataReadyForPageURL(WKIconDatabaseRef, WKURLRef pageURL, const void* clientInfo) { Ewk_Favicon_Database* ewkIconDatabase = const_cast<Ewk_Favicon_Database*>(static_cast<const Ewk_Favicon_Database*>(clientInfo)); String urlString = toImpl(pageURL)->string(); - if (!ewkIconDatabase->iconRequests.contains(urlString)) + if (!ewkIconDatabase->m_iconRequests.contains(urlString)) return; - WebIconDatabase* webIconDatabase = toImpl(ewkIconDatabase->wkIconDatabase.get()); - RefPtr<cairo_surface_t> surface = getIconSurfaceSynchronously(webIconDatabase, urlString); + RefPtr<cairo_surface_t> surface = ewkIconDatabase->getIconSurfaceSynchronously(urlString); - PendingIconRequestVector requestsForURL = ewkIconDatabase->iconRequests.take(urlString); + PendingIconRequestVector requestsForURL = ewkIconDatabase->m_iconRequests.take(urlString); size_t requestCount = requestsForURL.size(); for (size_t i = 0; i < requestCount; ++i) { const IconRequestCallbackData& callbackData = requestsForURL[i]; @@ -106,36 +178,11 @@ const char* ewk_favicon_database_icon_url_get(Ewk_Favicon_Database* ewkIconDatab EINA_SAFETY_ON_NULL_RETURN_VAL(ewkIconDatabase, 0); EINA_SAFETY_ON_NULL_RETURN_VAL(pageURL, 0); - String iconURL; - toImpl(ewkIconDatabase->wkIconDatabase.get())->synchronousIconURLForPageURL(pageURL, iconURL); + String iconURL = ewkIconDatabase->iconURLForPageURL(String::fromUTF8(pageURL)); return eina_stringshare_add(iconURL.utf8().data()); } -struct AsyncIconRequestResponse { - String pageURL; - RefPtr<cairo_surface_t> surface; - IconRequestCallbackData callbackData; - - AsyncIconRequestResponse(const String& _pageURL, PassRefPtr<cairo_surface_t> _surface, const IconRequestCallbackData& _callbackData) - : pageURL(_pageURL) - , surface(_surface) - , callbackData(_callbackData) - { } -}; - -static Eina_Bool respond_icon_request_idle(void* data) -{ - AsyncIconRequestResponse* response = static_cast<AsyncIconRequestResponse*>(data); - - RefPtr<Evas_Object> icon = response->surface ? WebCore::evasObjectFromCairoImageSurface(response->callbackData.evas, response->surface.get()) : 0; - response->callbackData.callback(response->pageURL.utf8().data(), icon.get(), response->callbackData.userData); - - delete response; - - return ECORE_CALLBACK_DONE; -} - Eina_Bool ewk_favicon_database_async_icon_get(Ewk_Favicon_Database* ewkIconDatabase, const char* page_url, Evas* evas, Ewk_Favicon_Database_Async_Icon_Get_Cb callback, void* userData) { EINA_SAFETY_ON_NULL_RETURN_VAL(ewkIconDatabase, false); @@ -143,28 +190,7 @@ Eina_Bool ewk_favicon_database_async_icon_get(Ewk_Favicon_Database* ewkIconDatab EINA_SAFETY_ON_NULL_RETURN_VAL(evas, false); EINA_SAFETY_ON_NULL_RETURN_VAL(callback, false); - WebIconDatabase* webIconDatabase = toImpl(ewkIconDatabase->wkIconDatabase.get()); - - // We ask for the icon directly. If we don't get the icon data now, - // we'll be notified later (even if the database is still importing icons). - RefPtr<cairo_surface_t> surface = getIconSurfaceSynchronously(webIconDatabase, page_url); - - // If there's no valid icon, but there's an iconURL registered, - // or it's still not registered but the import process hasn't - // finished yet, we need to wait for iconDataReadyForPageURL to be - // called before making and informed decision. - String iconURLForPageURL; - webIconDatabase->synchronousIconURLForPageURL(page_url, iconURLForPageURL); - if (!surface && (!iconURLForPageURL.isEmpty() || !webIconDatabase->isUrlImportCompleted())) { - PendingIconRequestVector requests = ewkIconDatabase->iconRequests.get(page_url); - requests.append(IconRequestCallbackData(callback, userData, evas)); - ewkIconDatabase->iconRequests.set(page_url, requests); - return true; - } - - // Respond when idle. - AsyncIconRequestResponse* response = new AsyncIconRequestResponse(page_url, surface.release(), IconRequestCallbackData(callback, userData, evas)); - ecore_idler_add(respond_icon_request_idle, response); + ewkIconDatabase->iconForPageURL(String::fromUTF8(page_url), IconRequestCallbackData(callback, userData, evas)); return true; } @@ -174,10 +200,7 @@ void ewk_favicon_database_icon_change_callback_add(Ewk_Favicon_Database* ewkIcon EINA_SAFETY_ON_NULL_RETURN(ewkIconDatabase); EINA_SAFETY_ON_NULL_RETURN(callback); - if (ewkIconDatabase->changeListeners.contains(callback)) - return; - - ewkIconDatabase->changeListeners.add(callback, IconChangeCallbackData(callback, userData)); + ewkIconDatabase->watchChanges(IconChangeCallbackData(callback, userData)); } void ewk_favicon_database_icon_change_callback_del(Ewk_Favicon_Database* ewkIconDatabase, Ewk_Favicon_Database_Icon_Change_Cb callback) @@ -185,5 +208,5 @@ void ewk_favicon_database_icon_change_callback_del(Ewk_Favicon_Database* ewkIcon EINA_SAFETY_ON_NULL_RETURN(ewkIconDatabase); EINA_SAFETY_ON_NULL_RETURN(callback); - ewkIconDatabase->changeListeners.remove(callback); + ewkIconDatabase->unwatchChanges(callback); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.h b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.h index 8ceaf5b23..89cc31f84 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.h @@ -63,11 +63,9 @@ typedef void (*Ewk_Favicon_Database_Async_Icon_Get_Cb)(const char *page_url, Eva * @param database database object to query * @param page_url URL of the page to get the favicon URL for * - * @return the favicon URL pointer, that may be @c NULL. This pointer is - * guaranteed to be eina_stringshare, so whenever possible - * save yourself some cpu cycles and use - * eina_stringshare_ref() instead of eina_stringshare_add() or - * strdup() + * @return a newly allocated string guaranteed to be eina_stringshare + * or @c NULL in case of error or if the key does not exist. + * You need to call eina_stringshare_del() after use. */ EAPI const char *ewk_favicon_database_icon_url_get(Ewk_Favicon_Database *database, const char *page_url); diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database_private.h index 9d90902c5..b8ba4f666 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_favicon_database_private.h @@ -71,17 +71,28 @@ typedef HashMap<String /* pageURL */, PendingIconRequestVector> PendingIconReque class Ewk_Favicon_Database { public: - WKRetainPtr<WKIconDatabaseRef> wkIconDatabase; - ChangeListenerMap changeListeners; - PendingIconRequestMap iconRequests; - static PassOwnPtr<Ewk_Favicon_Database> create(WKIconDatabaseRef iconDatabaseRef) { return adoptPtr(new Ewk_Favicon_Database(iconDatabaseRef)); } + String iconURLForPageURL(const String& pageURL) const; + void iconForPageURL(const String& pageURL, const IconRequestCallbackData& callbackData); + + void watchChanges(const IconChangeCallbackData& callbackData); + void unwatchChanges(Ewk_Favicon_Database_Icon_Change_Cb callback); + private: explicit Ewk_Favicon_Database(WKIconDatabaseRef iconDatabaseRef); + + PassRefPtr<cairo_surface_t> getIconSurfaceSynchronously(const String& pageURL) const; + + static void didChangeIconForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo); + static void iconDataReadyForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo); + + WKRetainPtr<WKIconDatabaseRef> m_wkIconDatabase; + ChangeListenerMap m_changeListeners; + PendingIconRequestMap m_iconRequests; }; #endif // ewk_favicon_database_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request.cpp index ee140f94e..76de21a4f 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request.cpp @@ -35,6 +35,39 @@ using namespace WebKit; +Ewk_Form_Submission_Request::Ewk_Form_Submission_Request(WKDictionaryRef values, WKFormSubmissionListenerRef listener) + : m_wkValues(values) + , m_wkListener(listener) + , m_handledRequest(false) +{ } + +Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request() +{ + // Make sure the request is always handled before destroying. + if (!m_handledRequest) + WKFormSubmissionListenerContinue(m_wkListener.get()); +} + +String Ewk_Form_Submission_Request::fieldValue(const String& fieldName) const +{ + ASSERT(fieldName); + WKRetainPtr<WKStringRef> wkFieldName = toCopiedAPI(fieldName); + WKStringRef wkValue = static_cast<WKStringRef>(WKDictionaryGetItemForKey(m_wkValues.get(), wkFieldName.get())); + + return wkValue ? toImpl(wkValue)->string() : String(); +} + +WKRetainPtr<WKArrayRef> Ewk_Form_Submission_Request::fieldNames() const +{ + return adoptWK(WKDictionaryCopyKeys(m_wkValues.get())); +} + +void Ewk_Form_Submission_Request::submit() +{ + WKFormSubmissionListenerContinue(m_wkListener.get()); + m_handledRequest = true; +} + Ewk_Form_Submission_Request* ewk_form_submission_request_ref(Ewk_Form_Submission_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); @@ -56,7 +89,7 @@ Eina_List* ewk_form_submission_request_field_names_get(Ewk_Form_Submission_Reque Eina_List* names = 0; - WKRetainPtr<WKArrayRef> wkKeys(AdoptWK, WKDictionaryCopyKeys(request->wkValues.get())); + WKRetainPtr<WKArrayRef> wkKeys = request->fieldNames(); const size_t numKeys = WKArrayGetSize(wkKeys.get()); for (size_t i = 0; i < numKeys; ++i) { WKStringRef wkKey = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkKeys.get(), i)); @@ -71,18 +104,16 @@ const char* ewk_form_submission_request_field_value_get(Ewk_Form_Submission_Requ EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); EINA_SAFETY_ON_NULL_RETURN_VAL(name, 0); - WKRetainPtr<WKStringRef> wkKey(AdoptWK, WKStringCreateWithUTF8CString(name)); - WKStringRef wkValue = static_cast<WKStringRef>(WKDictionaryGetItemForKey(request->wkValues.get(), wkKey.get())); + String value = request->fieldValue(String::fromUTF8(name)); - return wkValue ? eina_stringshare_add(toImpl(wkValue)->string().utf8().data()) : 0; + return value.isNull() ? 0 : eina_stringshare_add(value.utf8().data()); } Eina_Bool ewk_form_submission_request_submit(Ewk_Form_Submission_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, false); - WKFormSubmissionListenerContinue(request->wkListener.get()); - request->handledRequest = true; + request->submit(); return true; } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request_private.h index 993b53357..3774e61bb 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_form_submission_request_private.h @@ -31,31 +31,28 @@ #include "WKRetainPtr.h" #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> +#include <wtf/text/WTFString.h> class Ewk_Form_Submission_Request : public RefCounted<Ewk_Form_Submission_Request> { public: - WKRetainPtr<WKDictionaryRef> wkValues; - WKRetainPtr<WKFormSubmissionListenerRef> wkListener; - bool handledRequest; - - ~Ewk_Form_Submission_Request() - { - // Make sure the request is always handled before destroying. - if (!handledRequest) - WKFormSubmissionListenerContinue(wkListener.get()); - } + ~Ewk_Form_Submission_Request(); static PassRefPtr<Ewk_Form_Submission_Request> create(WKDictionaryRef values, WKFormSubmissionListenerRef listener) { return adoptRef(new Ewk_Form_Submission_Request(values, listener)); } + WKRetainPtr<WKArrayRef> fieldNames() const; + String fieldValue(const String& fieldName) const; + + void submit(); + private: - Ewk_Form_Submission_Request(WKDictionaryRef values, WKFormSubmissionListenerRef listener) - : wkValues(values) - , wkListener(listener) - , handledRequest(false) - { } + Ewk_Form_Submission_Request(WKDictionaryRef values, WKFormSubmissionListenerRef listener); + + WKRetainPtr<WKDictionaryRef> m_wkValues; + WKRetainPtr<WKFormSubmissionListenerRef> m_wkListener; + bool m_handledRequest; }; #endif // ewk_form_submission_request_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_intent.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_intent.cpp index 7e5b919a1..a4fd6ef5e 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_intent.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_intent.cpp @@ -36,16 +36,52 @@ using namespace WebKit; -#define EWK_INTENT_WK_GET_OR_RETURN(intent, wkIntent_, ...) \ - if (!(intent)) { \ - EINA_LOG_CRIT("intent is NULL."); \ - return __VA_ARGS__; \ - } \ - if (!(intent)->wkIntent) { \ - EINA_LOG_CRIT("intent->wkIntent is NULL."); \ - return __VA_ARGS__; \ - } \ - WKIntentDataRef wkIntent_ = (intent)->wkIntent.get() +#if ENABLE(WEB_INTENTS) +Ewk_Intent::Ewk_Intent(WKIntentDataRef intentRef) + : m_wkIntent(intentRef) + , m_action(AdoptWK, WKIntentDataCopyAction(intentRef)) + , m_type(AdoptWK, WKIntentDataCopyType(intentRef)) + , m_service(AdoptWK, WKIntentDataCopyService(intentRef)) +{ } + +WebIntentData* Ewk_Intent::webIntentData() const +{ + return toImpl(m_wkIntent.get()); +} + +const char* Ewk_Intent::action() const +{ + return m_action; +} + +const char* Ewk_Intent::type() const +{ + return m_type; +} + +const char* Ewk_Intent::service() const +{ + return m_service; +} + +WKRetainPtr<WKArrayRef> Ewk_Intent::suggestions() const +{ + return adoptWK(WKIntentDataCopySuggestions(m_wkIntent.get())); +} + +String Ewk_Intent::extra(const char* key) const +{ + WKRetainPtr<WKStringRef> keyRef = adoptWK(WKStringCreateWithUTF8CString(key)); + WKRetainPtr<WKStringRef> wkValue(AdoptWK, WKIntentDataCopyExtraValue(m_wkIntent.get(), keyRef.get())); + return toImpl(wkValue.get())->string(); +} + +WKRetainPtr<WKArrayRef> Ewk_Intent::extraKeys() const +{ + WKRetainPtr<WKDictionaryRef> wkExtras(AdoptWK, WKIntentDataCopyExtras(m_wkIntent.get())); + return adoptWK(WKDictionaryCopyKeys(wkExtras.get())); +} +#endif Ewk_Intent* ewk_intent_ref(Ewk_Intent* intent) { @@ -71,30 +107,36 @@ const char* ewk_intent_action_get(const Ewk_Intent* intent) { EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); - return intent->action; +#if ENABLE(WEB_INTENTS) + return intent->action(); +#endif } const char* ewk_intent_type_get(const Ewk_Intent* intent) { EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); - return intent->type; +#if ENABLE(WEB_INTENTS) + return intent->type(); +#endif } const char* ewk_intent_service_get(const Ewk_Intent* intent) { EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); - return intent->service; +#if ENABLE(WEB_INTENTS) + return intent->service(); +#endif } Eina_List* ewk_intent_suggestions_get(const Ewk_Intent* intent) { -#if ENABLE(WEB_INTENTS) - EWK_INTENT_WK_GET_OR_RETURN(intent, wkIntent, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); +#if ENABLE(WEB_INTENTS) Eina_List* listOfSuggestions = 0; - WKRetainPtr<WKArrayRef> wkSuggestions(AdoptWK, WKIntentDataCopySuggestions(wkIntent)); + WKRetainPtr<WKArrayRef> wkSuggestions = intent->suggestions(); const size_t numSuggestions = WKArrayGetSize(wkSuggestions.get()); for (size_t i = 0; i < numSuggestions; ++i) { WKURLRef wkSuggestion = static_cast<WKURLRef>(WKArrayGetItemAtIndex(wkSuggestions.get(), i)); @@ -102,6 +144,7 @@ Eina_List* ewk_intent_suggestions_get(const Ewk_Intent* intent) } return listOfSuggestions; + #else return 0; #endif @@ -109,12 +152,11 @@ Eina_List* ewk_intent_suggestions_get(const Ewk_Intent* intent) const char* ewk_intent_extra_get(const Ewk_Intent* intent, const char* key) { + EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); + #if ENABLE(WEB_INTENTS) - EWK_INTENT_WK_GET_OR_RETURN(intent, wkIntent, 0); + String value = intent->extra(key); - WKRetainPtr<WKStringRef> keyRef = adoptWK(WKStringCreateWithUTF8CString(key)); - WKRetainPtr<WKStringRef> wkValue(AdoptWK, WKIntentDataCopyExtraValue(wkIntent, keyRef.get())); - String value = toImpl(wkValue.get())->string(); if (value.isEmpty()) return 0; @@ -126,12 +168,11 @@ const char* ewk_intent_extra_get(const Ewk_Intent* intent, const char* key) Eina_List* ewk_intent_extra_names_get(const Ewk_Intent* intent) { -#if ENABLE(WEB_INTENTS) - EWK_INTENT_WK_GET_OR_RETURN(intent, wkIntent, 0); + EINA_SAFETY_ON_NULL_RETURN_VAL(intent, 0); +#if ENABLE(WEB_INTENTS) Eina_List* listOfKeys = 0; - WKRetainPtr<WKDictionaryRef> wkExtras(AdoptWK, WKIntentDataCopyExtras(wkIntent)); - WKRetainPtr<WKArrayRef> wkKeys(AdoptWK, WKDictionaryCopyKeys(wkExtras.get())); + WKRetainPtr<WKArrayRef> wkKeys = intent->extraKeys(); const size_t numKeys = WKArrayGetSize(wkKeys.get()); for (size_t i = 0; i < numKeys; ++i) { WKStringRef wkKey = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkKeys.get(), i)); diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_intent_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_intent_private.h index 166a8a4f0..03af1e495 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_intent_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_intent_private.h @@ -34,6 +34,11 @@ #include <WebKit2/WKBase.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> +#include <wtf/text/WTFString.h> + +namespace WebKit { +class WebIntentData; +} /** * \struct Ewk_Intent @@ -41,23 +46,26 @@ */ class Ewk_Intent : public RefCounted<Ewk_Intent> { public: - WKRetainPtr<WKIntentDataRef> wkIntent; - WKEinaSharedString action; - WKEinaSharedString type; - WKEinaSharedString service; - static PassRefPtr<Ewk_Intent> create(WKIntentDataRef intentRef) { return adoptRef(new Ewk_Intent(intentRef)); } + WebKit::WebIntentData* webIntentData() const; + const char* action() const; + const char* type() const; + const char* service() const; + WKRetainPtr<WKArrayRef> suggestions() const; + String extra(const char* key) const; + WKRetainPtr<WKArrayRef> extraKeys() const; + private: - explicit Ewk_Intent(WKIntentDataRef intentRef) - : wkIntent(intentRef) - , action(AdoptWK, WKIntentDataCopyAction(intentRef)) - , type(AdoptWK, WKIntentDataCopyType(intentRef)) - , service(AdoptWK, WKIntentDataCopyService(intentRef)) - { } + explicit Ewk_Intent(WKIntentDataRef intentRef); + + WKRetainPtr<WKIntentDataRef> m_wkIntent; + WKEinaSharedString m_action; + WKEinaSharedString m_type; + WKEinaSharedString m_service; }; #endif // ENABLE(WEB_INTENTS) diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_intent_service.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_intent_service.cpp index 9702834e9..00682222b 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_intent_service.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_intent_service.cpp @@ -35,6 +35,41 @@ using namespace WebKit; +#if ENABLE(WEB_INTENTS_TAG) +Ewk_Intent_Service::Ewk_Intent_Service(WKIntentServiceInfoRef serviceRef) + : m_action(AdoptWK, WKIntentServiceInfoCopyAction(serviceRef)) + , m_type(AdoptWK, WKIntentServiceInfoCopyType(serviceRef)) + , m_href(AdoptWK, WKIntentServiceInfoCopyHref(serviceRef)) + , m_title(AdoptWK, WKIntentServiceInfoCopyTitle(serviceRef)) + , m_disposition(AdoptWK, WKIntentServiceInfoCopyDisposition(serviceRef)) +{ } + +const char* Ewk_Intent_Service::action() const +{ + return m_action; +} + +const char* Ewk_Intent_Service::type() const +{ + return m_type; +} + +const char* Ewk_Intent_Service::href() const +{ + return m_href; +} + +const char* Ewk_Intent_Service::title() const +{ + return m_title; +} + +const char* Ewk_Intent_Service::disposition() const +{ + return m_disposition; +} +#endif + Ewk_Intent_Service* ewk_intent_service_ref(Ewk_Intent_Service* service) { #if ENABLE(WEB_INTENTS_TAG) @@ -58,33 +93,43 @@ const char* ewk_intent_service_action_get(const Ewk_Intent_Service* service) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, 0); - return service->action; +#if ENABLE(WEB_INTENTS_TAG) + return service->action(); +#endif } const char* ewk_intent_service_type_get(const Ewk_Intent_Service* service) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, 0); - return service->type; +#if ENABLE(WEB_INTENTS_TAG) + return service->type(); +#endif } const char* ewk_intent_service_href_get(const Ewk_Intent_Service* service) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, 0); - return service->href; +#if ENABLE(WEB_INTENTS_TAG) + return service->href(); +#endif } const char* ewk_intent_service_title_get(const Ewk_Intent_Service* service) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, 0); - return service->title; +#if ENABLE(WEB_INTENTS_TAG) + return service->title(); +#endif } const char* ewk_intent_service_disposition_get(const Ewk_Intent_Service* service) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, 0); - return service->disposition; +#if ENABLE(WEB_INTENTS_TAG) + return service->disposition(); +#endif } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_intent_service_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_intent_service_private.h index 119d6703a..f2efdffdb 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_intent_service_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_intent_service_private.h @@ -40,25 +40,25 @@ */ class Ewk_Intent_Service : public RefCounted<Ewk_Intent_Service> { public: - WKEinaSharedString action; - WKEinaSharedString type; - WKEinaSharedString href; - WKEinaSharedString title; - WKEinaSharedString disposition; - static PassRefPtr<Ewk_Intent_Service> create(WKIntentServiceInfoRef serviceRef) { return adoptRef(new Ewk_Intent_Service(serviceRef)); } + const char* action() const; + const char* type() const; + const char* href() const; + const char* title() const; + const char* disposition() const; + private: - explicit Ewk_Intent_Service(WKIntentServiceInfoRef serviceRef) - : action(AdoptWK, WKIntentServiceInfoCopyAction(serviceRef)) - , type(AdoptWK, WKIntentServiceInfoCopyType(serviceRef)) - , href(AdoptWK, WKIntentServiceInfoCopyHref(serviceRef)) - , title(AdoptWK, WKIntentServiceInfoCopyTitle(serviceRef)) - , disposition(AdoptWK, WKIntentServiceInfoCopyDisposition(serviceRef)) - { } + explicit Ewk_Intent_Service(WKIntentServiceInfoRef serviceRef); + + WKEinaSharedString m_action; + WKEinaSharedString m_type; + WKEinaSharedString m_href; + WKEinaSharedString m_title; + WKEinaSharedString m_disposition; }; #endif // ENABLE(WEB_INTENTS_TAG) diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data.cpp index a58459eb4..3d1f05f8f 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data.cpp @@ -30,6 +30,27 @@ using namespace WebKit; +Ewk_Navigation_Data::Ewk_Navigation_Data(WKNavigationDataRef dataRef) + : m_request(Ewk_Url_Request::create(adoptWK(WKNavigationDataCopyOriginalRequest(dataRef)).get())) + , m_title(AdoptWK, WKNavigationDataCopyTitle(dataRef)) + , m_url(AdoptWK, WKNavigationDataCopyURL(dataRef)) +{ } + +Ewk_Url_Request* Ewk_Navigation_Data::originalRequest() const +{ + return m_request.get(); +} + +const char* Ewk_Navigation_Data::title() const +{ + return m_title; +} + +const char* Ewk_Navigation_Data::url() const +{ + return m_url; +} + Ewk_Navigation_Data* ewk_navigation_data_ref(Ewk_Navigation_Data* data) { EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0); @@ -50,19 +71,19 @@ const char* ewk_navigation_data_title_get(const Ewk_Navigation_Data* data) { EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0); - return data->title; + return data->title(); } Ewk_Url_Request* ewk_navigation_data_original_request_get(const Ewk_Navigation_Data* data) { EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0); - return data->request.get(); + return data->originalRequest(); } const char* ewk_navigation_data_url_get(const Ewk_Navigation_Data* data) { EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0); - return data->url; + return data->url(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data_private.h index e06016da4..0d0ecb043 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_data_private.h @@ -41,21 +41,22 @@ */ class Ewk_Navigation_Data : public RefCounted<Ewk_Navigation_Data> { public: - RefPtr<Ewk_Url_Request> request; - WKEinaSharedString title; - WKEinaSharedString url; - static PassRefPtr<Ewk_Navigation_Data> create(WKNavigationDataRef dataRef) { return adoptRef(new Ewk_Navigation_Data(dataRef)); } + Ewk_Url_Request* originalRequest() const; + + const char* title() const; + const char* url() const; + private: - explicit Ewk_Navigation_Data(WKNavigationDataRef dataRef) - : request(Ewk_Url_Request::create(adoptWK(WKNavigationDataCopyOriginalRequest(dataRef)).get())) - , title(AdoptWK, WKNavigationDataCopyTitle(dataRef)) - , url(AdoptWK, WKNavigationDataCopyURL(dataRef)) - { } + explicit Ewk_Navigation_Data(WKNavigationDataRef dataRef); + + RefPtr<Ewk_Url_Request> m_request; + WKEinaSharedString m_title; + WKEinaSharedString m_url; }; #endif // ewk_navigation_data_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision.cpp index d35c07e5f..5c4f24c5b 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision.cpp @@ -32,6 +32,66 @@ using namespace WebKit; +Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision(WKFramePolicyListenerRef listener, Ewk_Navigation_Type navigationType, Event_Mouse_Button mouseButton, Event_Modifier_Keys modifiers, PassRefPtr<Ewk_Url_Request> request, const char* frameName) + : m_listener(listener) + , m_actedUponByClient(false) + , m_navigationType(navigationType) + , m_mouseButton(mouseButton) + , m_modifiers(modifiers) + , m_request(request) + , m_frameName(frameName) +{ } + +Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision() +{ + // This is the default choice for all policy decisions in WebPageProxy.cpp. + if (!m_actedUponByClient) + WKFramePolicyListenerUse(m_listener.get()); +} + +Ewk_Navigation_Type Ewk_Navigation_Policy_Decision::navigationType() const +{ + return m_navigationType; +} + +Event_Mouse_Button Ewk_Navigation_Policy_Decision::mouseButton() const +{ + return m_mouseButton; +} + +Event_Modifier_Keys Ewk_Navigation_Policy_Decision::modifiers() const +{ + return m_modifiers; +} + +const char* Ewk_Navigation_Policy_Decision::frameName() const +{ + return m_frameName; +} + +Ewk_Url_Request* Ewk_Navigation_Policy_Decision::request() const +{ + return m_request.get(); +} + +void Ewk_Navigation_Policy_Decision::accept() +{ + WKFramePolicyListenerUse(m_listener.get()); + m_actedUponByClient = true; +} + +void Ewk_Navigation_Policy_Decision::reject() +{ + WKFramePolicyListenerIgnore(m_listener.get()); + m_actedUponByClient = true; +} + +void Ewk_Navigation_Policy_Decision::download() +{ + WKFramePolicyListenerDownload(m_listener.get()); + m_actedUponByClient = true; +} + Ewk_Navigation_Policy_Decision* ewk_navigation_policy_decision_ref(Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, 0); @@ -52,59 +112,56 @@ Ewk_Navigation_Type ewk_navigation_policy_navigation_type_get(const Ewk_Navigati { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, EWK_NAVIGATION_TYPE_OTHER); - return decision->navigationType; + return decision->navigationType(); } Event_Mouse_Button ewk_navigation_policy_mouse_button_get(const Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, EVENT_MOUSE_BUTTON_NONE); - return decision->mouseButton; + return decision->mouseButton(); } Event_Modifier_Keys ewk_navigation_policy_modifiers_get(const Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, static_cast<Event_Modifier_Keys>(0)); - return decision->modifiers; + return decision->modifiers(); } const char* ewk_navigation_policy_frame_name_get(const Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, 0); - return decision->frameName; + return decision->frameName(); } Ewk_Url_Request* ewk_navigation_policy_request_get(const Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN_VAL(decision, 0); - return decision->request.get(); + return decision->request(); } void ewk_navigation_policy_decision_accept(Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN(decision); - WKFramePolicyListenerUse(decision->listener.get()); - decision->actedUponByClient = true; + decision->accept(); } void ewk_navigation_policy_decision_reject(Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN(decision); - WKFramePolicyListenerIgnore(decision->listener.get()); - decision->actedUponByClient = true; + decision->reject(); } void ewk_navigation_policy_decision_download(Ewk_Navigation_Policy_Decision* decision) { EINA_SAFETY_ON_NULL_RETURN(decision); - WKFramePolicyListenerDownload(decision->listener.get()); - decision->actedUponByClient = true; + decision->download(); } // Ewk_Navigation_Type enum validation diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision_private.h index e7e454979..95a18b7c2 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_navigation_policy_decision_private.h @@ -42,20 +42,7 @@ */ class Ewk_Navigation_Policy_Decision : public RefCounted<Ewk_Navigation_Policy_Decision> { public: - WKRetainPtr<WKFramePolicyListenerRef> listener; - bool actedUponByClient; - Ewk_Navigation_Type navigationType; - Event_Mouse_Button mouseButton; - Event_Modifier_Keys modifiers; - RefPtr<Ewk_Url_Request> request; - WKEinaSharedString frameName; - - ~Ewk_Navigation_Policy_Decision() - { - // This is the default choice for all policy decisions in WebPageProxy.cpp. - if (!actedUponByClient) - WKFramePolicyListenerUse(listener.get()); - } + ~Ewk_Navigation_Policy_Decision(); static PassRefPtr<Ewk_Navigation_Policy_Decision> create(WKFrameNavigationType navigationType, WKEventMouseButton mouseButton, WKEventModifiers modifiers, WKURLRequestRef requestRef, const char* frameName, WKFramePolicyListenerRef listener) { @@ -63,16 +50,26 @@ public: return adoptRef(new Ewk_Navigation_Policy_Decision(listener, static_cast<Ewk_Navigation_Type>(navigationType), static_cast<Event_Mouse_Button>(mouseButton), static_cast<Event_Modifier_Keys>(modifiers), request.release(), frameName)); } + void accept(); + void reject(); + void download(); + + Ewk_Navigation_Type navigationType() const; + Event_Mouse_Button mouseButton() const; + Event_Modifier_Keys modifiers() const; + const char* frameName() const; + Ewk_Url_Request* request() const; + private: - Ewk_Navigation_Policy_Decision(WKFramePolicyListenerRef listener, Ewk_Navigation_Type navigationType, Event_Mouse_Button mouseButton, Event_Modifier_Keys modifiers, PassRefPtr<Ewk_Url_Request> request, const char* frameName) - : listener(listener) - , actedUponByClient(false) - , navigationType(navigationType) - , mouseButton(mouseButton) - , modifiers(modifiers) - , request(request) - , frameName(frameName) - { } + Ewk_Navigation_Policy_Decision(WKFramePolicyListenerRef listener, Ewk_Navigation_Type navigationType, Event_Mouse_Button mouseButton, Event_Modifier_Keys modifiers, PassRefPtr<Ewk_Url_Request> request, const char* frameName); + + WKRetainPtr<WKFramePolicyListenerRef> m_listener; + bool m_actedUponByClient; + Ewk_Navigation_Type m_navigationType; + Event_Mouse_Button m_mouseButton; + Event_Modifier_Keys m_modifiers; + RefPtr<Ewk_Url_Request> m_request; + WKEinaSharedString m_frameName; }; #endif // ewk_navigation_policy_decision_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp index 4b229be83..549da1839 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp @@ -33,17 +33,62 @@ using namespace WebKit; Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item(const WebKit::WebPopupItem& item) - : type(static_cast<Ewk_Popup_Menu_Item_Type>(item.m_type)) - , textDirection(static_cast<Ewk_Text_Direction>(item.m_textDirection)) - , hasTextDirectionOverride(item.m_hasTextDirectionOverride) - , isEnabled(item.m_isEnabled) - , isLabel(item.m_isLabel) - , isSelected(item.m_isSelected) - , text(item.m_text.utf8().data()) - , toolTip(item.m_toolTip.utf8().data()) - , accessibilityText(item.m_accessibilityText.utf8().data()) + : m_type(static_cast<Ewk_Popup_Menu_Item_Type>(item.m_type)) + , m_textDirection(static_cast<Ewk_Text_Direction>(item.m_textDirection)) + , m_hasTextDirectionOverride(item.m_hasTextDirectionOverride) + , m_isEnabled(item.m_isEnabled) + , m_isLabel(item.m_isLabel) + , m_isSelected(item.m_isSelected) + , m_text(item.m_text.utf8().data()) + , m_tooltipText(item.m_toolTip.utf8().data()) + , m_accessibilityText(item.m_accessibilityText.utf8().data()) { } +Ewk_Popup_Menu_Item_Type Ewk_Popup_Menu_Item::type() const +{ + return m_type; +} + +Ewk_Text_Direction Ewk_Popup_Menu_Item::textDirection() const +{ + return m_textDirection; +} + +const char* Ewk_Popup_Menu_Item::text() const +{ + return m_text; +} + +const char* Ewk_Popup_Menu_Item::tooltipText() const +{ + return m_tooltipText; +} + +const char* Ewk_Popup_Menu_Item::accessibilityText() const +{ + return m_accessibilityText; +} + +bool Ewk_Popup_Menu_Item::hasTextDirectionOverride() const +{ + return m_hasTextDirectionOverride; +} + +bool Ewk_Popup_Menu_Item::isEnabled() const +{ + return m_isEnabled; +} + +bool Ewk_Popup_Menu_Item::isLabel() const +{ + return m_isLabel; +} + +bool Ewk_Popup_Menu_Item::isSelected() const +{ + return m_isSelected; +} + COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_SEPARATOR, WebPopupItem::Separator); COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_ITEM, WebPopupItem::Item); @@ -51,61 +96,61 @@ Ewk_Popup_Menu_Item_Type ewk_popup_menu_item_type_get(const Ewk_Popup_Menu_Item* { EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_POPUP_MENU_UNKNOWN); - return item->type; + return item->type(); } const char* ewk_popup_menu_item_text_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->text; + return item->text(); } Ewk_Text_Direction ewk_popup_menu_item_text_direction_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_TEXT_DIRECTION_LEFT_TO_RIGHT); - return item->textDirection; + return item->textDirection(); } Eina_Bool ewk_popup_menu_item_text_direction_override_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, false); - return item->hasTextDirectionOverride; + return item->hasTextDirectionOverride(); } const char* ewk_popup_menu_item_tooltip_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->toolTip; + return item->tooltipText(); } const char* ewk_popup_menu_item_accessibility_text_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0); - return item->accessibilityText; + return item->accessibilityText(); } Eina_Bool ewk_popup_menu_item_enabled_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, false); - return item->isEnabled; + return item->isEnabled(); } Eina_Bool ewk_popup_menu_item_is_label_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, false); - return item->isLabel; + return item->isLabel(); } Eina_Bool ewk_popup_menu_item_selected_get(const Ewk_Popup_Menu_Item* item) { EINA_SAFETY_ON_NULL_RETURN_VAL(item, false); - return item->isSelected; + return item->isSelected(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h index ad215dcaf..660579670 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h @@ -37,25 +37,37 @@ */ class Ewk_Popup_Menu_Item { public: - Ewk_Popup_Menu_Item_Type type; - Ewk_Text_Direction textDirection; - - bool hasTextDirectionOverride; - bool isEnabled; - bool isLabel; - bool isSelected; - - WKEinaSharedString text; - WKEinaSharedString toolTip; - WKEinaSharedString accessibilityText; - static PassOwnPtr<Ewk_Popup_Menu_Item> create(const WebKit::WebPopupItem& item) { return adoptPtr(new Ewk_Popup_Menu_Item(item)); } + Ewk_Popup_Menu_Item_Type type() const; + Ewk_Text_Direction textDirection() const; + + bool hasTextDirectionOverride() const; + bool isEnabled() const; + bool isLabel() const; + bool isSelected() const; + + const char* text() const; + const char* tooltipText() const; + const char* accessibilityText() const; + private: explicit Ewk_Popup_Menu_Item(const WebKit::WebPopupItem& item); + + Ewk_Popup_Menu_Item_Type m_type; + Ewk_Text_Direction m_textDirection; + + bool m_hasTextDirectionOverride; + bool m_isEnabled; + bool m_isLabel; + bool m_isSelected; + + WKEinaSharedString m_text; + WKEinaSharedString m_tooltipText; + WKEinaSharedString m_accessibilityText; }; #endif // ewk_popup_menu_item_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_resource.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_resource.cpp index 714a48978..bbc5a10e7 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_resource.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_resource.cpp @@ -29,6 +29,21 @@ #include "ewk_resource_private.h" #include <wtf/text/CString.h> +Ewk_Resource::Ewk_Resource(WKURLRef url, bool isMainResource) + : m_url(url) + , m_isMainResource(isMainResource) +{ } + +const char* Ewk_Resource::url() const +{ + return m_url; +} + +bool Ewk_Resource::isMainResource() const +{ + return m_isMainResource; +} + Ewk_Resource* ewk_resource_ref(Ewk_Resource* resource) { EINA_SAFETY_ON_NULL_RETURN_VAL(resource, 0); @@ -49,12 +64,12 @@ const char* ewk_resource_url_get(const Ewk_Resource* resource) { EINA_SAFETY_ON_NULL_RETURN_VAL(resource, 0); - return resource->url; + return resource->url(); } Eina_Bool ewk_resource_main_resource_get(const Ewk_Resource* resource) { EINA_SAFETY_ON_NULL_RETURN_VAL(resource, false); - return resource->isMainResource; + return resource->isMainResource(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_resource_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_resource_private.h index 99cc9333b..0f1fe4343 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_resource_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_resource_private.h @@ -35,19 +35,19 @@ class Ewk_Resource : public RefCounted<Ewk_Resource> { public: - WKEinaSharedString url; - bool isMainResource; - static PassRefPtr<Ewk_Resource> create(WKURLRef url, bool isMainResource) { return adoptRef(new Ewk_Resource(url, isMainResource)); } + const char* url() const; + bool isMainResource() const; + private: - Ewk_Resource(WKURLRef url, bool isMainResource) - : url(url) - , isMainResource(isMainResource) - { } + Ewk_Resource(WKURLRef url, bool isMainResource); + + WKEinaSharedString m_url; + bool m_isMainResource; }; #endif // ewk_resource_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_request.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_url_request.cpp index ab569ccc0..55a6801ab 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_request.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_request.cpp @@ -30,6 +30,27 @@ using namespace WebKit; +Ewk_Url_Request::Ewk_Url_Request(WKURLRequestRef requestRef) + : m_url(AdoptWK, WKURLRequestCopyURL(requestRef)) + , m_firstParty(AdoptWK, WKURLRequestCopyFirstPartyForCookies(requestRef)) + , m_httpMethod(AdoptWK, WKURLRequestCopyHTTPMethod(requestRef)) +{ } + +const char* Ewk_Url_Request::url() const +{ + return m_url; +} + +const char* Ewk_Url_Request::firstParty() const +{ + return m_firstParty; +} + +const char* Ewk_Url_Request::httpMethod() const +{ + return m_httpMethod; +} + Ewk_Url_Request* ewk_url_request_ref(Ewk_Url_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); @@ -49,19 +70,19 @@ const char* ewk_url_request_url_get(const Ewk_Url_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->url; + return request->url(); } const char* ewk_request_cookies_first_party_get(const Ewk_Url_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->firstParty; + return request->firstParty(); } const char* ewk_url_request_http_method_get(const Ewk_Url_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->httpMethod; + return request->httpMethod(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_request_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_url_request_private.h index 6fafb8876..31a1bea4e 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_request_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_request_private.h @@ -38,21 +38,21 @@ */ class Ewk_Url_Request : public RefCounted<Ewk_Url_Request> { public: - WKEinaSharedString url; - WKEinaSharedString firstParty; - WKEinaSharedString httpMethod; - static PassRefPtr<Ewk_Url_Request> create(WKURLRequestRef requestRef) { return adoptRef(new Ewk_Url_Request(requestRef)); } + const char* url() const; + const char* firstParty() const; + const char* httpMethod() const; + private: - explicit Ewk_Url_Request(WKURLRequestRef requestRef) - : url(AdoptWK, WKURLRequestCopyURL(requestRef)) - , firstParty(AdoptWK, WKURLRequestCopyFirstPartyForCookies(requestRef)) - , httpMethod(AdoptWK, WKURLRequestCopyHTTPMethod(requestRef)) - { } + explicit Ewk_Url_Request(WKURLRequestRef requestRef); + + WKEinaSharedString m_url; + WKEinaSharedString m_firstParty; + WKEinaSharedString m_httpMethod; }; #endif // ewk_url_request_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_response.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_url_response.cpp index 17223044f..04e176b84 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_response.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_response.cpp @@ -31,6 +31,32 @@ using namespace WebKit; +Ewk_Url_Response::Ewk_Url_Response(const WebCore::ResourceResponse& coreResponse) + : m_coreResponse(coreResponse) + , m_url(AdoptWK, WKURLResponseCopyURL(WebKit::toAPI(coreResponse))) + , m_mimeType(AdoptWK, WKURLResponseCopyMIMEType(WebKit::toAPI(coreResponse))) +{ } + +int Ewk_Url_Response::httpStatusCode() const +{ + return m_coreResponse.httpStatusCode(); +} + +const char* Ewk_Url_Response::url() const +{ + return m_url; +} + +const char* Ewk_Url_Response::mimeType() const +{ + return m_mimeType; +} + +unsigned long Ewk_Url_Response::contentLength() const +{ + return m_coreResponse.expectedContentLength(); +} + Ewk_Url_Response* ewk_url_response_ref(Ewk_Url_Response* response) { EINA_SAFETY_ON_NULL_RETURN_VAL(response, 0); @@ -50,26 +76,26 @@ const char* ewk_url_response_url_get(const Ewk_Url_Response* response) { EINA_SAFETY_ON_NULL_RETURN_VAL(response, 0); - return response->url; + return response->url(); } int ewk_url_response_status_code_get(const Ewk_Url_Response* response) { EINA_SAFETY_ON_NULL_RETURN_VAL(response, 0); - return response->coreResponse.httpStatusCode(); + return response->httpStatusCode(); } const char* ewk_url_response_mime_type_get(const Ewk_Url_Response* response) { EINA_SAFETY_ON_NULL_RETURN_VAL(response, 0); - return response->mimeType; + return response->mimeType(); } unsigned long ewk_url_response_content_length_get(const Ewk_Url_Response* response) { EINA_SAFETY_ON_NULL_RETURN_VAL(response, 0); - return response->coreResponse.expectedContentLength(); + return response->contentLength(); } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_response_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_url_response_private.h index 357c1c64e..2d918a8fb 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_response_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_response_private.h @@ -38,10 +38,6 @@ */ class Ewk_Url_Response : public RefCounted<Ewk_Url_Response> { public: - WebCore::ResourceResponse coreResponse; - WKEinaSharedString url; - WKEinaSharedString mimeType; - static PassRefPtr<Ewk_Url_Response> create(WKURLResponseRef wkResponse) { if (!wkResponse) @@ -50,12 +46,17 @@ public: return adoptRef(new Ewk_Url_Response(WebKit::toImpl(wkResponse)->resourceResponse())); } + int httpStatusCode() const; + const char* url() const; + const char* mimeType() const; + unsigned long contentLength() const; + private: - explicit Ewk_Url_Response(const WebCore::ResourceResponse& _coreResponse) - : coreResponse(_coreResponse) - , url(AdoptWK, WKURLResponseCopyURL(WebKit::toAPI(coreResponse))) - , mimeType(AdoptWK, WKURLResponseCopyMIMEType(WebKit::toAPI(coreResponse))) - { } + explicit Ewk_Url_Response(const WebCore::ResourceResponse& coreResponse); + + WebCore::ResourceResponse m_coreResponse; + WKEinaSharedString m_url; + WKEinaSharedString m_mimeType; }; #endif // ewk_url_response_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp index fac36289e..04d9118d6 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp @@ -26,12 +26,52 @@ #include "config.h" #include "ewk_url_scheme_request.h" +#include "GOwnPtrSoup.h" #include "WKData.h" #include "WKString.h" #include "ewk_url_scheme_request_private.h" using namespace WebKit; +Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, WKURLRef url, uint64_t requestID) + : m_wkRequestManager(manager) + , m_url(url) + , m_requestID(requestID) +{ + GOwnPtr<SoupURI> soupURI(soup_uri_new(m_url)); + m_scheme = soupURI->scheme; + m_path = soupURI->path; +} + +uint64_t Ewk_Url_Scheme_Request::id() const +{ + return m_requestID; +} + +const char* Ewk_Url_Scheme_Request::url() const +{ + return m_url; +} + +const char* Ewk_Url_Scheme_Request::scheme() const +{ + return m_scheme; +} + +const char* Ewk_Url_Scheme_Request::path() const +{ + return m_path; +} + +void Ewk_Url_Scheme_Request::finish(const void* contentData, uint64_t contentLength, const char* mimeType) +{ + WKRetainPtr<WKDataRef> wkData(AdoptWK, WKDataCreate(contentLength ? reinterpret_cast<const unsigned char*>(contentData) : 0, contentLength)); + WKRetainPtr<WKStringRef> wkMimeType = mimeType ? adoptWK(WKStringCreateWithUTF8CString(mimeType)) : 0; + + // In case of empty reply an empty WKDataRef is sent to the WebProcess. + WKSoupRequestManagerDidHandleURIRequest(m_wkRequestManager.get(), wkData.get(), contentLength, wkMimeType.get(), m_requestID); +} + Ewk_Url_Scheme_Request* ewk_url_scheme_request_ref(Ewk_Url_Scheme_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); @@ -51,32 +91,28 @@ const char* ewk_url_scheme_request_scheme_get(const Ewk_Url_Scheme_Request* requ { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->scheme; + return request->scheme(); } const char* ewk_url_scheme_request_url_get(const Ewk_Url_Scheme_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->url; + return request->url(); } const char* ewk_url_scheme_request_path_get(const Ewk_Url_Scheme_Request* request) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0); - return request->path; + return request->path(); } -Eina_Bool ewk_url_scheme_request_finish(const Ewk_Url_Scheme_Request* request, const void* contentData, unsigned int contentLength, const char* mimeType) +Eina_Bool ewk_url_scheme_request_finish(Ewk_Url_Scheme_Request* request, const void* contentData, uint64_t contentLength, const char* mimeType) { EINA_SAFETY_ON_NULL_RETURN_VAL(request, false); - WKRetainPtr<WKDataRef> wkData(AdoptWK, WKDataCreate(contentLength ? reinterpret_cast<const unsigned char*>(contentData) : 0, contentLength)); - WKRetainPtr<WKStringRef> wkMimeType = mimeType ? adoptWK(WKStringCreateWithUTF8CString(mimeType)) : 0; - - // In case of empty reply an empty WKDataRef is sent to the WebProcess. - WKSoupRequestManagerDidHandleURIRequest(request->wkRequestManager.get(), wkData.get(), contentLength, wkMimeType.get(), request->requestID); + request->finish(contentData, contentLength, mimeType); return true; } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h index f36ea4fcd..ce01afc31 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h @@ -105,7 +105,7 @@ EAPI const char *ewk_url_scheme_request_path_get(const Ewk_Url_Scheme_Request *r * @param content_length the length of the @a content_data. * @param mime_type the content type of the stream or %c NULL if not known */ -EAPI Eina_Bool ewk_url_scheme_request_finish(const Ewk_Url_Scheme_Request *request, const void *content_data, unsigned int content_length, const char *mime_type); +EAPI Eina_Bool ewk_url_scheme_request_finish(Ewk_Url_Scheme_Request *request, const void *content_data, uint64_t content_length, const char *mime_type); #ifdef __cplusplus } diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h index 6bcba947e..30fd6f514 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h @@ -26,7 +26,6 @@ #ifndef ewk_url_scheme_request_private_h #define ewk_url_scheme_request_private_h -#include "GOwnPtrSoup.h" #include "WKAPICast.h" #include "WKBase.h" #include "WKEinaSharedString.h" @@ -38,12 +37,6 @@ * @brief Contains the URL scheme request data. */ struct Ewk_Url_Scheme_Request : public RefCounted<Ewk_Url_Scheme_Request> { - WKRetainPtr<WKSoupRequestManagerRef> wkRequestManager; - WKEinaSharedString url; - uint64_t requestID; - WKEinaSharedString scheme; - WKEinaSharedString path; - static PassRefPtr<Ewk_Url_Scheme_Request> create(WKSoupRequestManagerRef manager, WKURLRef url, uint64_t requestID) { if (!manager || !url) @@ -52,16 +45,21 @@ struct Ewk_Url_Scheme_Request : public RefCounted<Ewk_Url_Scheme_Request> { return adoptRef(new Ewk_Url_Scheme_Request(manager, url, requestID)); } + uint64_t id() const; + const char* url() const; + const char* scheme() const; + const char* path() const; + + void finish(const void* contentData, uint64_t contentLength, const char* mimeType); + private: - Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, WKURLRef urlRef, uint64_t requestID) - : wkRequestManager(manager) - , url(urlRef) - , requestID(requestID) - { - GOwnPtr<SoupURI> soupURI(soup_uri_new(url)); - scheme = soupURI->scheme; - path = soupURI->path; - } + Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, WKURLRef urlRef, uint64_t requestID); + + WKRetainPtr<WKSoupRequestManagerRef> m_wkRequestManager; + WKEinaSharedString m_url; + uint64_t m_requestID; + WKEinaSharedString m_scheme; + WKEinaSharedString m_path; }; #endif // ewk_url_scheme_request_private_h diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp index ee4507c9f..d8608aa48 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp @@ -41,6 +41,7 @@ #include "ewk_back_forward_list_private.h" #include "ewk_context.h" #include "ewk_context_private.h" +#include "ewk_favicon_database_private.h" #include "ewk_intent_private.h" #include "ewk_popup_menu_item.h" #include "ewk_popup_menu_item_private.h" @@ -75,7 +76,7 @@ #endif #if USE(COORDINATED_GRAPHICS) -#include "EflViewportHandler.h" +#include "PageViewportControllerClientEfl.h" #endif using namespace WebKit; @@ -115,7 +116,7 @@ static inline void removeFromPageViewMap(const Evas_Object* ewkView) struct Ewk_View_Private_Data { OwnPtr<PageClientImpl> pageClient; #if USE(COORDINATED_GRAPHICS) - OwnPtr<EflViewportHandler> viewportHandler; + OwnPtr<PageViewportControllerClientEfl> pageViewportControllerClient; #endif RefPtr<WebPageProxy> pageProxy; @@ -171,7 +172,7 @@ struct Ewk_View_Private_Data { { /* Unregister icon change callback */ Ewk_Favicon_Database* iconDatabase = ewk_context_favicon_database_get(context); - ewk_favicon_database_icon_change_callback_del(iconDatabase, _ewk_view_on_favicon_changed); + iconDatabase->unwatchChanges(_ewk_view_on_favicon_changed); void* item; EINA_LIST_FREE(popupMenuItems, item) @@ -623,7 +624,7 @@ bool ewk_view_accelerated_compositing_mode_enter(const Evas_Object* ewkView) return false; } - priv->viewportHandler->setRendererActive(true); + priv->pageViewportControllerClient->setRendererActive(true); return true; } @@ -667,7 +668,7 @@ static void _ewk_view_smart_calculate(Evas_Object* ewkView) if (smartData->changed.size) { #if USE(COORDINATED_GRAPHICS) - priv->viewportHandler->updateViewportSize(IntSize(width, height)); + priv->pageViewportControllerClient->updateViewportSize(IntSize(width, height)); #endif #if USE(ACCELERATED_COMPOSITING) needsNewSurface = priv->evasGlSurface; @@ -824,7 +825,7 @@ static void _ewk_view_initialize(Evas_Object* ewkView, Ewk_Context* context, WKP priv->context = ewk_context_ref(context); #if USE(COORDINATED_GRAPHICS) - priv->viewportHandler = EflViewportHandler::create(ewkView); + priv->pageViewportControllerClient = PageViewportControllerClientEfl::create(ewkView); #endif WKPageRef wkPage = toAPI(priv->pageProxy.get()); @@ -841,7 +842,7 @@ static void _ewk_view_initialize(Evas_Object* ewkView, Ewk_Context* context, WKP /* Listen for favicon changes */ Ewk_Favicon_Database* iconDatabase = ewk_context_favicon_database_get(priv->context); - ewk_favicon_database_icon_change_callback_add(iconDatabase, _ewk_view_on_favicon_changed, ewkView); + iconDatabase->watchChanges(IconChangeCallbackData(_ewk_view_on_favicon_changed, ewkView)); } static Evas_Object* _ewk_view_add_with_smart(Evas* canvas, Evas_Smart* smart) @@ -1295,7 +1296,7 @@ void ewk_view_display(Evas_Object* ewkView, const IntRect& rect) EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv); evas_gl_make_current(priv->evasGl, priv->evasGlSurface, priv->evasGlContext); - priv->viewportHandler->display(rect, IntPoint(smartData->view.x, smartData->view.y)); + priv->pageViewportControllerClient->display(rect, IntPoint(smartData->view.x, smartData->view.y)); #endif evas_object_image_data_update_add(smartData->image, rect.x(), rect.y(), rect.width(), rect.height()); @@ -1429,7 +1430,7 @@ Eina_Bool ewk_view_intent_deliver(Evas_Object* ewkView, Ewk_Intent* intent) EINA_SAFETY_ON_NULL_RETURN_VAL(intent, false); WebPageProxy* page = priv->pageProxy.get(); - page->deliverIntentToFrame(page->mainFrame(), toImpl(intent->wkIntent.get())); + page->deliverIntentToFrame(page->mainFrame(), intent->webIntentData()); return true; #else @@ -1733,7 +1734,7 @@ void ewk_view_contents_size_changed(const Evas_Object* ewkView, const IntSize& s EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData); EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv); - priv->viewportHandler->didChangeContentsSize(size); + priv->pageViewportControllerClient->didChangeContentsSize(size); #else UNUSED_PARAM(ewkView); UNUSED_PARAM(size); diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.h b/Source/WebKit2/UIProcess/API/efl/ewk_view.h index 34a0817ba..59809fab6 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view.h +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.h @@ -526,7 +526,7 @@ EAPI Eina_Bool ewk_view_html_string_load(Evas_Object *o, const char *html, const * * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise */ -Eina_Bool ewk_view_scale_set(Evas_Object *o, double scaleFactor, int x, int y); +EAPI Eina_Bool ewk_view_scale_set(Evas_Object *o, double scaleFactor, int x, int y); /** * Queries the current scale factor of the page. diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp index 8c7a064a4..0d6d5a347 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp @@ -126,7 +126,10 @@ static void didChangeBackForwardList(WKPageRef, WKBackForwardListItemRef addedIt Evas_Object* ewkView = static_cast<Evas_Object*>(const_cast<void*>(clientInfo)); ASSERT(ewkView); - ewk_back_forward_list_changed(ewk_view_back_forward_list_get(ewkView), addedItem, removedItems); + Ewk_Back_Forward_List* list = ewk_view_back_forward_list_get(ewkView); + ASSERT(list); + list->update(addedItem, removedItems); + ewk_view_back_forward_list_changed(ewkView); } diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp index e02f011ca..63d315050 100644 --- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp +++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp @@ -45,8 +45,6 @@ EWK2UnitTestBase::EWK2UnitTestBase() void EWK2UnitTestBase::SetUp() { - ewk_init(); - unsigned int width = environment->defaultWidth(); unsigned int height = environment->defaultHeight(); @@ -68,7 +66,6 @@ void EWK2UnitTestBase::TearDown() { evas_object_del(m_webView); ecore_evas_free(m_ecoreEvas); - ewk_shutdown(); } bool EWK2UnitTestBase::loadUrlSync(const char* url, double timeoutSeconds) diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp index 778d261e8..4f60756e1 100644 --- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp +++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp @@ -28,10 +28,16 @@ EWK2UnitTestEnvironment* environment = 0; int main(int argc, char** argv) { + ewk_init(); + ::testing::InitGoogleTest(&argc, argv); environment = new EWK2UnitTestEnvironment(); testing::AddGlobalTestEnvironment(environment); - return RUN_ALL_TESTS(); + int result = RUN_ALL_TESTS(); + + ewk_shutdown(); + + return result; } 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 0ab0c912e..d4bb70fbf 100644 --- a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp +++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp @@ -938,3 +938,24 @@ TEST_F(EWK2UnitTestBase, ewk_view_inspector) ASSERT_FALSE(ewk_view_inspector_close(webView())); #endif } + +TEST_F(EWK2UnitTestBase, ewk_view_scale) +{ + ASSERT_TRUE(loadUrlSync(environment->defaultTestPageUrl())); + + // Default scale value is 1.0. + ASSERT_FLOAT_EQ(1, ewk_view_scale_get(webView())); + + ASSERT_TRUE(ewk_view_scale_set(webView(), 1.2, 0, 0)); + // Reload page to check the page scale value. + ASSERT_TRUE(loadUrlSync(environment->defaultTestPageUrl())); + ASSERT_FLOAT_EQ(1.2, ewk_view_scale_get(webView())); + + ASSERT_TRUE(ewk_view_scale_set(webView(), 1.5, 0, 0)); + ASSERT_TRUE(loadUrlSync(environment->defaultTestPageUrl())); + ASSERT_FLOAT_EQ(1.5, ewk_view_scale_get(webView())); + + ASSERT_TRUE(ewk_view_scale_set(webView(), 1, 0, 0)); + ASSERT_TRUE(loadUrlSync(environment->defaultTestPageUrl())); + ASSERT_FLOAT_EQ(1, ewk_view_scale_get(webView())); +} diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp index d600d7816..602d37999 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp @@ -46,6 +46,8 @@ * item or items. */ +using namespace WebKit; + enum { CHANGED, diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h index e3ec77a3d..540f66594 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h @@ -29,11 +29,9 @@ #include "WebBackForwardList.h" #include "WebKitBackForwardList.h" -using namespace WebKit; - -WebKitBackForwardList* webkitBackForwardListCreate(WebBackForwardList*); -WebKitBackForwardListItem* webkitBackForwardListItemGetOrCreate(WebBackForwardListItem*); -WebBackForwardListItem* webkitBackForwardListItemGetItem(WebKitBackForwardListItem*); -void webkitBackForwardListChanged(WebKitBackForwardList*, WebBackForwardListItem* webAddedItem, ImmutableArray* webRemovedItems); +WebKitBackForwardList* webkitBackForwardListCreate(WebKit::WebBackForwardList*); +WebKitBackForwardListItem* webkitBackForwardListItemGetOrCreate(WebKit::WebBackForwardListItem*); +WebKit::WebBackForwardListItem* webkitBackForwardListItemGetItem(WebKitBackForwardListItem*); +void webkitBackForwardListChanged(WebKitBackForwardList*, WebKit::WebBackForwardListItem* webAddedItem, WebKit::ImmutableArray* webRemovedItems); #endif // WebKitBackForwardListPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp index 510c25dbc..e65728aac 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp @@ -25,6 +25,7 @@ #include "WebKitContextMenuItemPrivate.h" #include "WebKitContextMenuPrivate.h" +using namespace WebKit; using namespace WebCore; struct _WebKitContextMenuPrivate { diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp index 0887f7749..a73f07575 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp @@ -34,6 +34,7 @@ #include <wtf/gobject/GOwnPtr.h> #include <wtf/gobject/GRefPtr.h> +using namespace WebKit; using namespace WebCore; struct _WebKitContextMenuItemPrivate { diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItemPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItemPrivate.h index 022fcec88..18f8c1a87 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItemPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItemPrivate.h @@ -23,9 +23,7 @@ #include "WebKitContextMenuItem.h" #include "WebKitPrivate.h" -using namespace WebKit; - -WebKitContextMenuItem* webkitContextMenuItemCreate(WebContextMenuItem*); +WebKitContextMenuItem* webkitContextMenuItemCreate(WebKit::WebContextMenuItem*); GtkMenuItem* webkitContextMenuItemRelease(WebKitContextMenuItem*); void webkitContextMenuItemSetSubMenuFromGtkMenu(WebKitContextMenuItem*, GtkMenu*); diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuPrivate.h index 3a39dff00..5556e9f72 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuPrivate.h @@ -23,9 +23,7 @@ #include "WebKitContextMenu.h" #include "WebKitPrivate.h" -using namespace WebKit; - -WebKitContextMenu* webkitContextMenuCreate(ImmutableArray* items); +WebKitContextMenu* webkitContextMenuCreate(WebKit::ImmutableArray* items); void webkitContextMenuPopulate(WebKitContextMenu*, Vector<WebCore::ContextMenuItem>&); void webkitContextMenuSetParentItem(WebKitContextMenu*, WebKitContextMenuItem*); WebKitContextMenuItem* webkitContextMenuGetParentItem(WebKitContextMenu*); diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp index 037b69171..66db1cc5b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp @@ -27,6 +27,8 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; + enum { CHANGED, diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h index 528d1fa29..6be84afae 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h @@ -23,8 +23,6 @@ #include "WebKitCookieManager.h" #include "WebKitPrivate.h" -using namespace WebKit; - -WebKitCookieManager* webkitCookieManagerCreate(WebCookieManagerProxy*); +WebKitCookieManager* webkitCookieManagerCreate(WebKit::WebCookieManagerProxy*); #endif // WebKitCookieManagerPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp index 620ac96db..cc3b51f52 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp @@ -31,6 +31,7 @@ #include <wtf/gobject/GOwnPtr.h> #include <wtf/gobject/GRefPtr.h> +using namespace WebKit; using namespace WebCore; enum { diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitDownloadPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitDownloadPrivate.h index ce429d28e..215f565d5 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitDownloadPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitDownloadPrivate.h @@ -25,9 +25,7 @@ #include <WebCore/ResourceError.h> #include <wtf/text/CString.h> -using namespace WebKit; - -WebKitDownload* webkitDownloadCreate(DownloadProxy*); +WebKitDownload* webkitDownloadCreate(WebKit::DownloadProxy*); bool webkitDownloadIsCancelled(WebKitDownload*); void webkitDownloadSetResponse(WebKitDownload*, WebKitURIResponse*); void webkitDownloadNotifyProgress(WebKitDownload*, guint64 bytesReceived); diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h index 6c50949fb..e920954e2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h @@ -24,9 +24,7 @@ #include "WebKitFaviconDatabase.h" #include <wtf/text/CString.h> -using namespace WebKit; - -WebKitFaviconDatabase* webkitFaviconDatabaseCreate(WebIconDatabase*); +WebKitFaviconDatabase* webkitFaviconDatabaseCreate(WebKit::WebIconDatabase*); cairo_surface_t* webkitFaviconDatabaseGetFavicon(WebKitFaviconDatabase*, const CString&); #endif // WebKitFaviconDatabasePrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp index 96b87a3ba..26ab99b44 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp @@ -20,16 +20,18 @@ #include "config.h" #include "WebKitFileChooserRequest.h" +#include "ImmutableArray.h" #include "WebKitFileChooserRequestPrivate.h" #include "WebOpenPanelParameters.h" +#include "WebOpenPanelResultListenerProxy.h" #include <WebCore/FileSystem.h> #include <glib/gi18n-lib.h> #include <wtf/gobject/GOwnPtr.h> #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> -using namespace WebCore; using namespace WebKit; +using namespace WebCore; /** * SECTION: WebKitFileChooserRequest @@ -57,8 +59,8 @@ using namespace WebKit; G_DEFINE_TYPE(WebKitFileChooserRequest, webkit_file_chooser_request, G_TYPE_OBJECT) struct _WebKitFileChooserRequestPrivate { - WKRetainPtr<WKOpenPanelParametersRef> wkParameters; - WKRetainPtr<WKOpenPanelResultListenerRef> wkListener; + RefPtr<WebOpenPanelParameters> parameters; + RefPtr<WebOpenPanelResultListenerProxy> listener; GRefPtr<GtkFileFilter> filter; GRefPtr<GPtrArray> mimeTypes; GRefPtr<GPtrArray> selectedFiles; @@ -179,11 +181,11 @@ static void webkit_file_chooser_request_class_init(WebKitFileChooserRequestClass WEBKIT_PARAM_READABLE)); } -WebKitFileChooserRequest* webkitFileChooserRequestCreate(WKOpenPanelParametersRef wkParameters, WKOpenPanelResultListenerRef wkListener) +WebKitFileChooserRequest* webkitFileChooserRequestCreate(WebOpenPanelParameters* parameters, WebOpenPanelResultListenerProxy* listener) { WebKitFileChooserRequest* request = WEBKIT_FILE_CHOOSER_REQUEST(g_object_new(WEBKIT_TYPE_FILE_CHOOSER_REQUEST, NULL)); - request->priv->wkParameters = wkParameters; - request->priv->wkListener = wkListener; + request->priv->parameters = parameters; + request->priv->listener = listener; return request; } @@ -210,15 +212,15 @@ const gchar* const* webkit_file_chooser_request_get_mime_types(WebKitFileChooser if (request->priv->mimeTypes) return reinterpret_cast<gchar**>(request->priv->mimeTypes->pdata); - WKRetainPtr<WKArrayRef> wkMimeTypes(AdoptWK, WKOpenPanelParametersCopyAcceptedMIMETypes(request->priv->wkParameters.get())); - size_t numOfMimeTypes = WKArrayGetSize(wkMimeTypes.get()); + RefPtr<ImmutableArray> mimeTypes = request->priv->parameters->acceptMIMETypes(); + size_t numOfMimeTypes = mimeTypes->size(); if (!numOfMimeTypes) return 0; request->priv->mimeTypes = adoptGRef(g_ptr_array_new_with_free_func(g_free)); for (size_t i = 0; i < numOfMimeTypes; ++i) { - WKStringRef wkMimeType = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkMimeTypes.get(), i)); - String mimeTypeString = toImpl(wkMimeType)->string(); + WebString* webMimeType = static_cast<WebString*>(mimeTypes->at(i)); + String mimeTypeString = webMimeType->string(); if (mimeTypeString.isEmpty()) continue; g_ptr_array_add(request->priv->mimeTypes.get(), g_strdup(mimeTypeString.utf8().data())); @@ -251,8 +253,8 @@ GtkFileFilter* webkit_file_chooser_request_get_mime_types_filter(WebKitFileChoos if (request->priv->filter) return request->priv->filter.get(); - WKRetainPtr<WKArrayRef> wkMimeTypes(AdoptWK, WKOpenPanelParametersCopyAcceptedMIMETypes(request->priv->wkParameters.get())); - size_t numOfMimeTypes = WKArrayGetSize(wkMimeTypes.get()); + RefPtr<ImmutableArray> mimeTypes = request->priv->parameters->acceptMIMETypes(); + size_t numOfMimeTypes = mimeTypes->size(); if (!numOfMimeTypes) return 0; @@ -261,8 +263,8 @@ GtkFileFilter* webkit_file_chooser_request_get_mime_types_filter(WebKitFileChoos // sure we keep the ownership during the lifetime of the request. request->priv->filter = gtk_file_filter_new(); for (size_t i = 0; i < numOfMimeTypes; ++i) { - WKStringRef wkMimeType = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkMimeTypes.get(), i)); - String mimeTypeString = toImpl(wkMimeType)->string(); + WebString* webMimeType = static_cast<WebString*>(mimeTypes->at(i)); + String mimeTypeString = webMimeType->string(); if (mimeTypeString.isEmpty()) continue; gtk_file_filter_add_mime_type(request->priv->filter.get(), mimeTypeString.utf8().data()); @@ -285,7 +287,7 @@ GtkFileFilter* webkit_file_chooser_request_get_mime_types_filter(WebKitFileChoos gboolean webkit_file_chooser_request_get_select_multiple(WebKitFileChooserRequest* request) { g_return_val_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request), FALSE); - return WKOpenPanelParametersGetAllowsMultipleFiles(request->priv->wkParameters.get()); + return request->priv->parameters->allowMultipleFiles(); } /** @@ -303,7 +305,7 @@ void webkit_file_chooser_request_select_files(WebKitFileChooserRequest* request, g_return_if_fail(files); GRefPtr<GPtrArray> selectedFiles = adoptGRef(g_ptr_array_new_with_free_func(g_free)); - WKRetainPtr<WKMutableArrayRef> wkChosenFiles(AdoptWK, WKMutableArrayCreate()); + Vector<RefPtr<APIObject> > choosenFiles; for (int i = 0; files[i]; i++) { GRefPtr<GFile> filename = adoptGRef(g_file_new_for_path(files[i])); @@ -311,8 +313,7 @@ void webkit_file_chooser_request_select_files(WebKitFileChooserRequest* request, // string, with the 'file://' prefix) to WebCore otherwise the // FileChooser won't actually choose it. GOwnPtr<char> uri(g_file_get_uri(filename.get())); - WKRetainPtr<WKURLRef> wkURL(AdoptWK, WKURLCreateWithUTF8CString(uri.get())); - WKArrayAppendItem(wkChosenFiles.get(), wkURL.get()); + choosenFiles.append(WebURL::create(String::fromUTF8(uri.get()))); // Do not use the URI here because this won't reach WebCore. g_ptr_array_add(selectedFiles.get(), g_strdup(files[i])); @@ -320,7 +321,7 @@ void webkit_file_chooser_request_select_files(WebKitFileChooserRequest* request, g_ptr_array_add(selectedFiles.get(), 0); // Select the files in WebCore and update local private attributes. - WKOpenPanelResultListenerChooseFiles(request->priv->wkListener.get(), wkChosenFiles.get()); + request->priv->listener->chooseFiles(ImmutableArray::adopt(choosenFiles).get()); request->priv->selectedFiles = selectedFiles; request->priv->handledRequest = true; } @@ -351,7 +352,7 @@ const gchar* const* webkit_file_chooser_request_get_selected_files(WebKitFileCho if (request->priv->selectedFiles) return reinterpret_cast<gchar**>(request->priv->selectedFiles->pdata); - const Vector<String> selectedFileNames = toImpl(request->priv->wkParameters.get())->selectedFileNames(); + const Vector<String> selectedFileNames = request->priv->parameters->selectedFileNames(); size_t numOfFiles = selectedFileNames.size(); if (!numOfFiles) return 0; @@ -380,6 +381,6 @@ const gchar* const* webkit_file_chooser_request_get_selected_files(WebKitFileCho void webkit_file_chooser_request_cancel(WebKitFileChooserRequest* request) { g_return_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request)); - WKOpenPanelResultListenerCancel(request->priv->wkListener.get()); + request->priv->listener->cancel(); request->priv->handledRequest = true; } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h index af7224a96..45d133e5b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h @@ -23,6 +23,6 @@ #include "WebKitFileChooserRequest.h" #include "WebKitPrivate.h" -WebKitFileChooserRequest* webkitFileChooserRequestCreate(WKOpenPanelParametersRef, WKOpenPanelResultListenerRef); +WebKitFileChooserRequest* webkitFileChooserRequestCreate(WebKit::WebOpenPanelParameters*, WebKit::WebOpenPanelResultListenerProxy*); #endif // WebKitFileChooserRequestPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp index 3e76b2393..be3f571d6 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp @@ -27,6 +27,7 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; using namespace WebCore; enum { diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFormClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFormClient.cpp index fd5be3daf..75978cf13 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFormClient.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFormClient.cpp @@ -30,7 +30,7 @@ using namespace WebKit; static void willSubmitForm(WKPageRef page, WKFrameRef frame, WKFrameRef sourceFrame, WKDictionaryRef values, WKTypeRef userData, WKFormSubmissionListenerRef listener, const void* clientInfo) { - GRefPtr<WebKitFormSubmissionRequest> request = adoptGRef(webkitFormSubmissionRequestCreate(values, listener)); + GRefPtr<WebKitFormSubmissionRequest> request = adoptGRef(webkitFormSubmissionRequestCreate(toImpl(values), toImpl(listener))); webkitWebViewSubmitFormRequest(WEBKIT_WEB_VIEW(clientInfo), request.get()); } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp index 40e2d17f1..f901e7375 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp @@ -20,6 +20,8 @@ #include "config.h" #include "WebKitFormSubmissionRequest.h" +#include "ImmutableDictionary.h" +#include "WebFormSubmissionListenerProxy.h" #include "WebKitFormSubmissionRequestPrivate.h" #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> @@ -29,8 +31,8 @@ using namespace WebKit; G_DEFINE_TYPE(WebKitFormSubmissionRequest, webkit_form_submission_request, G_TYPE_OBJECT) struct _WebKitFormSubmissionRequestPrivate { - WKRetainPtr<WKDictionaryRef> wkValues; - WKRetainPtr<WKFormSubmissionListenerRef> wkListener; + RefPtr<ImmutableDictionary> webValues; + RefPtr<WebFormSubmissionListenerProxy> listener; GRefPtr<GHashTable> values; bool handledRequest; }; @@ -61,11 +63,11 @@ static void webkit_form_submission_request_class_init(WebKitFormSubmissionReques g_type_class_add_private(requestClass, sizeof(WebKitFormSubmissionRequestPrivate)); } -WebKitFormSubmissionRequest* webkitFormSubmissionRequestCreate(WKDictionaryRef wkValues, WKFormSubmissionListenerRef wkListener) +WebKitFormSubmissionRequest* webkitFormSubmissionRequestCreate(ImmutableDictionary* values, WebFormSubmissionListenerProxy* listener) { WebKitFormSubmissionRequest* request = WEBKIT_FORM_SUBMISSION_REQUEST(g_object_new(WEBKIT_TYPE_FORM_SUBMISSION_REQUEST, NULL)); - request->priv->wkValues = wkValues; - request->priv->wkListener = wkListener; + request->priv->webValues = values; + request->priv->listener = listener; return request; } @@ -86,19 +88,19 @@ GHashTable* webkit_form_submission_request_get_text_fields(WebKitFormSubmissionR if (request->priv->values) return request->priv->values.get(); - if (!WKDictionaryGetSize(request->priv->wkValues.get())) + if (!request->priv->webValues->size()) return 0; request->priv->values = adoptGRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free)); - WKRetainPtr<WKArrayRef> wkKeys(AdoptWK, WKDictionaryCopyKeys(request->priv->wkValues.get())); - for (size_t i = 0; i < WKArrayGetSize(wkKeys.get()); ++i) { - WKStringRef wkKey = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkKeys.get(), i)); - WKStringRef wkValue = static_cast<WKStringRef>(WKDictionaryGetItemForKey(request->priv->wkValues.get(), wkKey)); - g_hash_table_insert(request->priv->values.get(), g_strdup(toImpl(wkKey)->string().utf8().data()), g_strdup(toImpl(wkValue)->string().utf8().data())); + const ImmutableDictionary::MapType& map = request->priv->webValues->map(); + ImmutableDictionary::MapType::const_iterator end = map.end(); + for (ImmutableDictionary::MapType::const_iterator it = map.begin(); it != end; ++it) { + WebString* value = static_cast<WebString*>(it->value.get()); + g_hash_table_insert(request->priv->values.get(), g_strdup(it->key.utf8().data()), g_strdup(value->string().utf8().data())); } - request->priv->wkValues = 0; + request->priv->webValues = 0; return request->priv->values.get(); } @@ -113,6 +115,6 @@ void webkit_form_submission_request_submit(WebKitFormSubmissionRequest* request) { g_return_if_fail(WEBKIT_IS_FORM_SUBMISSION_REQUEST(request)); - WKFormSubmissionListenerContinue(request->priv->wkListener.get()); + request->priv->listener->continueSubmission(); request->priv->handledRequest = true; } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h index ad4a6190b..9fe4751d2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h @@ -23,6 +23,6 @@ #include "WebKitFormSubmissionRequest.h" #include "WebKitPrivate.h" -WebKitFormSubmissionRequest* webkitFormSubmissionRequestCreate(WKDictionaryRef, WKFormSubmissionListenerRef); +WebKitFormSubmissionRequest* webkitFormSubmissionRequestCreate(WebKit::ImmutableDictionary* values, WebKit::WebFormSubmissionListenerProxy*); #endif // WebKitFormSubmissionRequestPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp index 1079af778..664293770 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp @@ -24,6 +24,8 @@ #include "WebKitGeolocationPermissionRequestPrivate.h" #include "WebKitPermissionRequest.h" +using namespace WebKit; + /** * SECTION: WebKitGeolocationPermissionRequest * @Short_description: A permission request for sharing user's location diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h index 94f5cba4a..dd0e95821 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h @@ -23,8 +23,6 @@ #include "WebKitGeolocationPermissionRequest.h" #include "WebKitPrivate.h" -using namespace WebKit; - -WebKitGeolocationPermissionRequest* webkitGeolocationPermissionRequestCreate(GeolocationPermissionRequestProxy*); +WebKitGeolocationPermissionRequest* webkitGeolocationPermissionRequestCreate(WebKit::GeolocationPermissionRequestProxy*); #endif // WebKitGeolocationPermissionRequestPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.cpp index 36f0f23fd..cdeac917d 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.cpp @@ -29,6 +29,8 @@ #include "WebGeolocationManagerProxy.h" #include "WebGeolocationPosition.h" +using namespace WebKit; + #if ENABLE(GEOLOCATION) static inline WebKitGeolocationProvider* toGeolocationProvider(const void* clientInfo) diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.h b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.h index 11c7c1a2f..e6be3eac2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationProvider.h @@ -28,7 +28,7 @@ #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> -using namespace WebKit; +namespace WebKit { class WebKitGeolocationProvider : public RefCounted<WebKitGeolocationProvider>, public WebCore::GeolocationProviderGeoclueClient { public: @@ -49,6 +49,8 @@ private: WebCore::GeolocationProviderGeoclue m_provider; }; +} // namespace WebKit + #endif // ENABLE(GEOLOCATION) #endif // WebKitGeolocationProvider_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp index 8115d63dd..4c9486782 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp @@ -25,6 +25,8 @@ #include <glib/gi18n-lib.h> #include <wtf/text/CString.h> +using namespace WebKit; + /** * SECTION: WebKitHitTestResult * @Short_description: Result of a Hit Test @@ -52,8 +54,6 @@ * */ -using namespace WebKit; - enum { PROP_0, @@ -237,27 +237,27 @@ static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* hitTestR g_type_class_add_private(hitTestResultClass, sizeof(WebKitHitTestResultPrivate)); } -WebKitHitTestResult* webkitHitTestResultCreate(WKHitTestResultRef wkHitTestResult) +WebKitHitTestResult* webkitHitTestResultCreate(WebHitTestResult* hitTestResult) { unsigned context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT; - const String& linkURL = toImpl(wkHitTestResult)->absoluteLinkURL(); + const String& linkURL = hitTestResult->absoluteLinkURL(); if (!linkURL.isEmpty()) context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK; - const String& imageURL = toImpl(wkHitTestResult)->absoluteImageURL(); + const String& imageURL = hitTestResult->absoluteImageURL(); if (!imageURL.isEmpty()) context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE; - const String& mediaURL = toImpl(wkHitTestResult)->absoluteMediaURL(); + const String& mediaURL = hitTestResult->absoluteMediaURL(); if (!mediaURL.isEmpty()) context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA; - if (WKHitTestResultIsContentEditable(wkHitTestResult)) + if (hitTestResult->isContentEditable()) context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE; - const String& linkTitle = toImpl(wkHitTestResult)->linkTitle(); - const String& linkLabel = toImpl(wkHitTestResult)->linkLabel(); + const String& linkTitle = hitTestResult->linkTitle(); + const String& linkLabel = hitTestResult->linkLabel(); return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT, "context", context, @@ -274,15 +274,15 @@ static bool stringIsEqualToCString(const String& string, const CString& cString) return ((string.isEmpty() && cString.isNull()) || (string.utf8() == cString)); } -bool webkitHitTestResultCompare(WebKitHitTestResult* hitTestResult, WKHitTestResultRef wkHitTestResult) +bool webkitHitTestResultCompare(WebKitHitTestResult* hitTestResult, WebHitTestResult* webHitTestResult) { WebKitHitTestResultPrivate* priv = hitTestResult->priv; - return WKHitTestResultIsContentEditable(wkHitTestResult) == webkit_hit_test_result_context_is_editable(hitTestResult) - && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteLinkURL(), priv->linkURI) - && stringIsEqualToCString(toImpl(wkHitTestResult)->linkTitle(), priv->linkTitle) - && stringIsEqualToCString(toImpl(wkHitTestResult)->linkLabel(), priv->linkLabel) - && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteImageURL(), priv->imageURI) - && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteMediaURL(), priv->mediaURI); + return webHitTestResult->isContentEditable() == webkit_hit_test_result_context_is_editable(hitTestResult) + && stringIsEqualToCString(webHitTestResult->absoluteLinkURL(), priv->linkURI) + && stringIsEqualToCString(webHitTestResult->linkTitle(), priv->linkTitle) + && stringIsEqualToCString(webHitTestResult->linkLabel(), priv->linkLabel) + && stringIsEqualToCString(webHitTestResult->absoluteImageURL(), priv->imageURI) + && stringIsEqualToCString(webHitTestResult->absoluteMediaURL(), priv->mediaURI); } /** diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h index 6088006e7..7ba2c3871 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h @@ -23,7 +23,7 @@ #include "WebKitHitTestResult.h" #include "WebKitPrivate.h" -WebKitHitTestResult* webkitHitTestResultCreate(WKHitTestResultRef); -bool webkitHitTestResultCompare(WebKitHitTestResult*, WKHitTestResultRef); +WebKitHitTestResult* webkitHitTestResultCreate(WebKit::WebHitTestResult*); +bool webkitHitTestResultCompare(WebKitHitTestResult*, WebKit::WebHitTestResult*); #endif // WebKitHitTestResultPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResult.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResult.cpp index 2a1b8d5a3..9bbd3f4ed 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResult.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResult.cpp @@ -24,6 +24,8 @@ #include "WebSerializedScriptValue.h" #include <wtf/gobject/GRefPtr.h> +using namespace WebKit; + struct _WebKitJavascriptResult { _WebKitJavascriptResult(WebKitWebView* view, WebSerializedScriptValue* serializedScriptValue) : webView(view) diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResultPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResultPrivate.h index ac7578857..e47e94c1b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResultPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitJavascriptResultPrivate.h @@ -24,8 +24,6 @@ #include "WebKitPrivate.h" #include "WebKitWebView.h" -using namespace WebKit; - -WebKitJavascriptResult* webkitJavascriptResultCreate(WebKitWebView*, WebSerializedScriptValue*); +WebKitJavascriptResult* webkitJavascriptResultCreate(WebKitWebView*, WebKit::WebSerializedScriptValue*); #endif // WebKitJavascriptResultPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp index e40fde76e..0901d8079 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp @@ -20,9 +20,9 @@ #include "config.h" #include "WebKitNavigationPolicyDecision.h" +#include "WebEvent.h" #include "WebKitEnumTypes.h" #include "WebKitPolicyDecisionPrivate.h" -#include "WebKitPrivate.h" #include "WebKitURIRequestPrivate.h" #include "WebURLRequest.h" #include <glib/gi18n-lib.h> @@ -30,6 +30,7 @@ #include <wtf/text/CString.h> using namespace WebKit; +using namespace WebCore; /** * SECTION: WebKitNavigationPolicyDecision @@ -256,36 +257,20 @@ const char* webkit_navigation_policy_decision_get_frame_name(WebKitNavigationPol return decision->priv->frameName.data(); } -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_LINK_CLICKED, kWKFrameNavigationTypeLinkClicked); -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED, kWKFrameNavigationTypeFormSubmitted); -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_BACK_FORWARD, kWKFrameNavigationTypeBackForward); -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_RELOAD, kWKFrameNavigationTypeReload); -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_FORM_RESUBMITTED, kWKFrameNavigationTypeFormResubmitted); -COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_OTHER, kWKFrameNavigationTypeOther); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_LINK_CLICKED, NavigationTypeLinkClicked); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_FORM_SUBMITTED, NavigationTypeFormSubmitted); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_BACK_FORWARD, NavigationTypeBackForward); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_RELOAD, NavigationTypeReload); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_FORM_RESUBMITTED, NavigationTypeFormResubmitted); +COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NAVIGATION_TYPE_OTHER, NavigationTypeOther); -static unsigned wkEventMouseButtonToWebKitMouseButton(WKEventMouseButton wkButton) -{ - switch (wkButton) { - case kWKEventMouseButtonNoButton: - return 0; - case kWKEventMouseButtonLeftButton: - return 1; - case kWKEventMouseButtonMiddleButton: - return 2; - case kWKEventMouseButtonRightButton: - return 3; - } - ASSERT_NOT_REACHED(); - return 0; -} - -WebKitNavigationPolicyDecision* webkitNavigationPolicyDecisionCreate(WKFrameNavigationType navigationType, WKEventMouseButton mouseButton, WKEventModifiers modifiers, WKURLRequestRef request, const char* frameName, WKFramePolicyListenerRef listener) +WebKitNavigationPolicyDecision* webkitNavigationPolicyDecisionCreate(WebKitNavigationType navigationType, unsigned mouseButton, unsigned modifiers, WebURLRequest* request, const char* frameName, WebFramePolicyListenerProxy* listener) { WebKitNavigationPolicyDecision* decision = WEBKIT_NAVIGATION_POLICY_DECISION(g_object_new(WEBKIT_TYPE_NAVIGATION_POLICY_DECISION, NULL)); - decision->priv->navigationType = static_cast<WebKitNavigationType>(navigationType); - decision->priv->mouseButton = wkEventMouseButtonToWebKitMouseButton(mouseButton); - decision->priv->modifiers = wkEventModifiersToGdkModifiers(modifiers); - decision->priv->request = adoptGRef(webkitURIRequestCreateForResourceRequest(toImpl(request)->resourceRequest())); + decision->priv->navigationType = navigationType; + decision->priv->mouseButton = mouseButton; + decision->priv->modifiers = modifiers; + decision->priv->request = adoptGRef(webkitURIRequestCreateForResourceRequest(request->resourceRequest())); decision->priv->frameName = frameName; webkitPolicyDecisionSetListener(WEBKIT_POLICY_DECISION(decision), listener); return decision; diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h index f3c0e1f50..d90f1c6c8 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h @@ -23,6 +23,6 @@ #include "WebKitNavigationPolicyDecision.h" #include "WebKitPrivate.h" -WebKitNavigationPolicyDecision* webkitNavigationPolicyDecisionCreate(WKFrameNavigationType, WKEventMouseButton, WKEventModifiers, WKURLRequestRef, const char* frameName, WKFramePolicyListenerRef); +WebKitNavigationPolicyDecision* webkitNavigationPolicyDecisionCreate(WebKitNavigationType, unsigned mouseButton, unsigned modifiers, WebKit::WebURLRequest*, const char* frameName, WebKit::WebFramePolicyListenerProxy*); #endif // WebKitNavigationPolicyDecisionPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp index 87fe90799..72a5266cc 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.cpp @@ -21,24 +21,23 @@ #include "WebKitPolicyClient.h" #include "WebKitNavigationPolicyDecisionPrivate.h" -#include "WebKitPolicyDecision.h" -#include "WebKitPrivate.h" #include "WebKitResponsePolicyDecisionPrivate.h" #include "WebKitWebViewBasePrivate.h" #include "WebKitWebViewPrivate.h" #include <wtf/gobject/GRefPtr.h> +#include <wtf/text/CString.h> using namespace WebKit; static void decidePolicyForNavigationActionCallback(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) { GRefPtr<WebKitNavigationPolicyDecision> decision = - adoptGRef(webkitNavigationPolicyDecisionCreate(navigationType, - mouseButton, - modifiers, - request, + adoptGRef(webkitNavigationPolicyDecisionCreate(static_cast<WebKitNavigationType>(navigationType), + wkEventMouseButtonToWebKitMouseButton(mouseButton), + wkEventModifiersToGdkModifiers(modifiers), + toImpl(request), 0, /* frame name */ - listener)); + toImpl(listener))); webkitWebViewMakePolicyDecision(WEBKIT_WEB_VIEW(clientInfo), WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION, WEBKIT_POLICY_DECISION(decision.get())); @@ -47,12 +46,12 @@ static void decidePolicyForNavigationActionCallback(WKPageRef page, WKFrameRef f static void decidePolicyForNewWindowActionCallback(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKStringRef frameName, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) { GRefPtr<WebKitNavigationPolicyDecision> decision = - adoptGRef(webkitNavigationPolicyDecisionCreate(navigationType, - mouseButton, - modifiers, - request, + adoptGRef(webkitNavigationPolicyDecisionCreate(static_cast<WebKitNavigationType>(navigationType), + wkEventMouseButtonToWebKitMouseButton(mouseButton), + wkEventModifiersToGdkModifiers(modifiers), + toImpl(request), toImpl(frameName)->string().utf8().data(), - listener)); + toImpl(listener))); webkitWebViewMakePolicyDecision(WEBKIT_WEB_VIEW(clientInfo), WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION, WEBKIT_POLICY_DECISION(decision.get())); @@ -61,13 +60,13 @@ static void decidePolicyForNewWindowActionCallback(WKPageRef page, WKFrameRef fr static void decidePolicyForResponseCallback(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) { GRefPtr<WebKitResponsePolicyDecision> decision = - adoptGRef(webkitResponsePolicyDecisionCreate(request, response, listener)); + adoptGRef(webkitResponsePolicyDecisionCreate(toImpl(request), toImpl(response), toImpl(listener))); webkitWebViewMakePolicyDecision(WEBKIT_WEB_VIEW(clientInfo), WEBKIT_POLICY_DECISION_TYPE_RESPONSE, WEBKIT_POLICY_DECISION(decision.get())); } -void attachPolicyClientToPage(WebKitWebView* webView) +void attachPolicyClientToView(WebKitWebView* webView) { WKPagePolicyClient policyClient = { kWKPagePolicyClientCurrentVersion, diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.h b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.h index 90d8d62cc..23dfcbb52 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyClient.h @@ -22,6 +22,6 @@ #include "WebKitWebView.h" -void attachPolicyClientToPage(WebKitWebView*); +void attachPolicyClientToView(WebKitWebView*); #endif // WebKitPolicyClient_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp index 6b6759012..3e9ef3fbf 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp @@ -20,9 +20,10 @@ #include "config.h" #include "WebKitPolicyDecision.h" +#include "WebFramePolicyListenerProxy.h" #include "WebKitPolicyDecisionPrivate.h" -#include "WebKitPrivate.h" +using namespace WebKit; /** * SECTION: WebKitPolicyDecision @@ -43,7 +44,7 @@ G_DEFINE_ABSTRACT_TYPE(WebKitPolicyDecision, webkit_policy_decision, G_TYPE_OBJECT) struct _WebKitPolicyDecisionPrivate { - WKRetainPtr<WKFramePolicyListenerRef> listener; + RefPtr<WebFramePolicyListenerProxy> listener; bool madePolicyDecision; }; @@ -60,13 +61,13 @@ static void webkitPolicyDecisionFinalize(GObject* object) // This is the default choice for all policy decisions in WebPageProxy.cpp. if (!priv->madePolicyDecision) - WKFramePolicyListenerUse(priv->listener.get()); + priv->listener->use(); priv->~WebKitPolicyDecisionPrivate(); G_OBJECT_CLASS(webkit_policy_decision_parent_class)->finalize(object); } -void webkitPolicyDecisionSetListener(WebKitPolicyDecision* decision, WKFramePolicyListenerRef listener) +void webkitPolicyDecisionSetListener(WebKitPolicyDecision* decision, WebFramePolicyListenerProxy* listener) { decision->priv->listener = listener; } @@ -87,7 +88,7 @@ static void webkit_policy_decision_class_init(WebKitPolicyDecisionClass* decisio void webkit_policy_decision_use(WebKitPolicyDecision* decision) { g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision)); - WKFramePolicyListenerUse(decision->priv->listener.get()); + decision->priv->listener->use(); decision->priv->madePolicyDecision = true; } @@ -101,7 +102,7 @@ void webkit_policy_decision_use(WebKitPolicyDecision* decision) void webkit_policy_decision_ignore(WebKitPolicyDecision* decision) { g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision)); - WKFramePolicyListenerIgnore(decision->priv->listener.get()); + decision->priv->listener->ignore(); decision->priv->madePolicyDecision = true; } @@ -114,6 +115,6 @@ void webkit_policy_decision_ignore(WebKitPolicyDecision* decision) void webkit_policy_decision_download(WebKitPolicyDecision* decision) { g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision)); - WKFramePolicyListenerDownload(decision->priv->listener.get()); + decision->priv->listener->download(); decision->priv->madePolicyDecision = true; } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h index e02caab64..0af6081ed 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h @@ -21,8 +21,8 @@ #define WebKitPolicyDecisionPrivate_h #include "WebKitPolicyDecision.h" -#include <WebKit2/WebKit2_C.h> +#include "WebKitPrivate.h" -void webkitPolicyDecisionSetListener(WebKitPolicyDecision*, WKFramePolicyListenerRef); +void webkitPolicyDecisionSetListener(WebKitPolicyDecision*, WebKit::WebFramePolicyListenerProxy*); #endif // WebKitResponsePolicyDecisionPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.cpp index 998c3abfa..d34b9c471 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.cpp @@ -35,3 +35,19 @@ unsigned wkEventModifiersToGdkModifiers(WKEventModifiers wkModifiers) modifiers |= GDK_META_MASK; return modifiers; } + +unsigned wkEventMouseButtonToWebKitMouseButton(WKEventMouseButton wkButton) +{ + switch (wkButton) { + case kWKEventMouseButtonNoButton: + return 0; + case kWKEventMouseButtonLeftButton: + return 1; + case kWKEventMouseButtonMiddleButton: + return 2; + case kWKEventMouseButtonRightButton: + return 3; + } + ASSERT_NOT_REACHED(); + return 0; +} diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h index 9ceafecb6..5aabcbc2e 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h @@ -67,5 +67,6 @@ static void destroy##structName(structName* data) \ } unsigned wkEventModifiersToGdkModifiers(WKEventModifiers); +unsigned wkEventMouseButtonToWebKitMouseButton(WKEventMouseButton); #endif // WebKitPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp index adfcdfdd7..ab5f38c97 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp @@ -150,11 +150,11 @@ WebKitURIResponse* webkit_response_policy_decision_get_response(WebKitResponsePo return decision->priv->response.get(); } -WebKitResponsePolicyDecision* webkitResponsePolicyDecisionCreate(WKURLRequestRef request, WKURLResponseRef response, WKFramePolicyListenerRef listener) +WebKitResponsePolicyDecision* webkitResponsePolicyDecisionCreate(WebURLRequest* request, WebURLResponse* response, WebFramePolicyListenerProxy* listener) { WebKitResponsePolicyDecision* decision = WEBKIT_RESPONSE_POLICY_DECISION(g_object_new(WEBKIT_TYPE_RESPONSE_POLICY_DECISION, NULL)); - decision->priv->request = adoptGRef(webkitURIRequestCreateForResourceRequest(toImpl(request)->resourceRequest())); - decision->priv->response = adoptGRef(webkitURIResponseCreateForResourceResponse(toImpl(response)->resourceResponse())); + decision->priv->request = adoptGRef(webkitURIRequestCreateForResourceRequest(request->resourceRequest())); + decision->priv->response = adoptGRef(webkitURIResponseCreateForResourceResponse(response->resourceResponse())); webkitPolicyDecisionSetListener(WEBKIT_POLICY_DECISION(decision), listener); return decision; } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h index b508aa525..3e7e59e65 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h @@ -23,6 +23,6 @@ #include "WebKitPrivate.h" #include "WebKitResponsePolicyDecision.h" -WebKitResponsePolicyDecision* webkitResponsePolicyDecisionCreate(WKURLRequestRef, WKURLResponseRef, WKFramePolicyListenerRef); +WebKitResponsePolicyDecision* webkitResponsePolicyDecisionCreate(WebKit::WebURLRequest*, WebKit::WebURLResponse*, WebKit::WebFramePolicyListenerProxy*); #endif // WebKitResponsePolicyDecisionPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp index 17d4c881b..005aaae78 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp @@ -33,14 +33,17 @@ #include "WebKitPrivate.h" #include "WebKitSettingsPrivate.h" +#include "WebPageGroup.h" #include "WebPageProxy.h" #include "WebPreferences.h" #include <WebCore/UserAgentGtk.h> #include <glib/gi18n-lib.h> #include <wtf/text/CString.h> +using namespace WebKit; + struct _WebKitSettingsPrivate { - WKRetainPtr<WKPreferencesRef> preferences; + RefPtr<WebPreferences> preferences; CString defaultFontFamily; CString monospaceFontFamily; CString serifFontFamily; @@ -959,7 +962,7 @@ static void webkit_settings_class_init(WebKitSettingsClass* klass) readWriteConstructParamFlags)); /** - * WebKitSettings:media-playback-allows-inline + * WebKitSettings:media-playback-allows-inline: * * Whether media playback is full-screen only or inline playback is allowed. * This is %TRUE by default, so media playback can be inline. Setting it to @@ -1069,42 +1072,23 @@ static void webkit_settings_init(WebKitSettings* settings) settings->priv = priv; new (priv) WebKitSettingsPrivate(); - priv->preferences = adoptWK(WKPreferencesCreate()); - - WKRetainPtr<WKStringRef> defaultFontFamilyRef = adoptWK(WKPreferencesCopyStandardFontFamily(priv->preferences.get())); - priv->defaultFontFamily = WebKit::toImpl(defaultFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> monospaceFontFamilyRef = adoptWK(WKPreferencesCopyFixedFontFamily(priv->preferences.get())); - priv->monospaceFontFamily = WebKit::toImpl(monospaceFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> serifFontFamilyRef = adoptWK(WKPreferencesCopySerifFontFamily(priv->preferences.get())); - priv->serifFontFamily = WebKit::toImpl(serifFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> sansSerifFontFamilyRef = adoptWK(WKPreferencesCopySansSerifFontFamily(priv->preferences.get())); - priv->sansSerifFontFamily = WebKit::toImpl(sansSerifFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> cursiveFontFamilyRef = adoptWK(WKPreferencesCopyCursiveFontFamily(priv->preferences.get())); - priv->cursiveFontFamily = WebKit::toImpl(cursiveFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> fantasyFontFamilyRef = adoptWK(WKPreferencesCopyFantasyFontFamily(priv->preferences.get())); - priv->fantasyFontFamily = WebKit::toImpl(fantasyFontFamilyRef.get())->string().utf8(); - - WKRetainPtr<WKStringRef> pictographFontFamilyRef = adoptWK(WKPreferencesCopyPictographFontFamily(priv->preferences.get())); - priv->pictographFontFamily = WebKit::toImpl(pictographFontFamilyRef.get())->string().utf8(); + priv->preferences = WebPreferences::create(); + priv->defaultFontFamily = priv->preferences->standardFontFamily().utf8(); + priv->monospaceFontFamily = priv->preferences->fixedFontFamily().utf8(); + priv->serifFontFamily = priv->preferences->serifFontFamily().utf8(); + priv->sansSerifFontFamily = priv->preferences->sansSerifFontFamily().utf8(); + priv->cursiveFontFamily = priv->preferences->cursiveFontFamily().utf8(); + priv->fantasyFontFamily = priv->preferences->fantasyFontFamily().utf8(); + priv->pictographFontFamily = priv->preferences->pictographFontFamily().utf8(); + priv->defaultCharset = priv->preferences->defaultTextEncodingName().utf8(); - WKRetainPtr<WKStringRef> defaultCharsetRef = adoptWK(WKPreferencesCopyDefaultTextEncodingName(priv->preferences.get())); - priv->defaultCharset = WebKit::toImpl(defaultCharsetRef.get())->string().utf8(); } -void webkitSettingsAttachSettingsToPage(WebKitSettings* settings, WKPageRef wkPage) +void webkitSettingsAttachSettingsToPage(WebKitSettings* settings, WebPageProxy* page) { - WebKitSettingsPrivate* priv = settings->priv; - WKPageGroupSetPreferences(WKPageGetPageGroup(wkPage), priv->preferences.get()); - WebKit::toImpl(wkPage)->setCanRunModal(priv->allowModalDialogs); - - ASSERT(!priv->userAgent.isNull()); - WKRetainPtr<WKStringRef> userAgent = adoptWK(WKStringCreateWithUTF8CString(priv->userAgent.data())); - WKPageSetCustomUserAgent(wkPage, userAgent.get()); + page->pageGroup()->setPreferences(settings->priv->preferences.get()); + page->setCanRunModal(settings->priv->allowModalDialogs); + page->setCustomUserAgent(String::fromUTF8(settings->priv->userAgent.data())); } /** @@ -1153,7 +1137,7 @@ gboolean webkit_settings_get_enable_javascript(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetJavaScriptEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->javaScriptEnabled(); } /** @@ -1168,11 +1152,11 @@ void webkit_settings_set_enable_javascript(WebKitSettings* settings, gboolean en g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetJavaScriptEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->javaScriptEnabled(); if (currentValue == enabled) return; - WKPreferencesSetJavaScriptEnabled(priv->preferences.get(), enabled); + priv->preferences->setJavaScriptEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-javascript"); } @@ -1188,7 +1172,7 @@ gboolean webkit_settings_get_auto_load_images(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetLoadsImagesAutomatically(settings->priv->preferences.get()); + return settings->priv->preferences->loadsImagesAutomatically(); } /** @@ -1203,11 +1187,11 @@ void webkit_settings_set_auto_load_images(WebKitSettings* settings, gboolean ena g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetLoadsImagesAutomatically(priv->preferences.get()); + bool currentValue = priv->preferences->loadsImagesAutomatically(); if (currentValue == enabled) return; - WKPreferencesSetLoadsImagesAutomatically(priv->preferences.get(), enabled); + priv->preferences->setLoadsImagesAutomatically(enabled); g_object_notify(G_OBJECT(settings), "auto-load-images"); } @@ -1223,7 +1207,7 @@ gboolean webkit_settings_get_load_icons_ignoring_image_load_setting(WebKitSettin { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference(settings->priv->preferences.get()); + return settings->priv->preferences->loadsSiteIconsIgnoringImageLoadingPreference(); } /** @@ -1238,11 +1222,11 @@ void webkit_settings_set_load_icons_ignoring_image_load_setting(WebKitSettings* g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference(priv->preferences.get()); + bool currentValue = priv->preferences->loadsSiteIconsIgnoringImageLoadingPreference(); if (currentValue == enabled) return; - WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference(priv->preferences.get(), enabled); + priv->preferences->setLoadsSiteIconsIgnoringImageLoadingPreference(enabled); g_object_notify(G_OBJECT(settings), "load-icons-ignoring-image-load-setting"); } @@ -1258,7 +1242,7 @@ gboolean webkit_settings_get_enable_offline_web_application_cache(WebKitSettings { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetOfflineWebApplicationCacheEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->offlineWebApplicationCacheEnabled(); } /** @@ -1273,11 +1257,11 @@ void webkit_settings_set_enable_offline_web_application_cache(WebKitSettings* se g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetOfflineWebApplicationCacheEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->offlineWebApplicationCacheEnabled(); if (currentValue == enabled) return; - WKPreferencesSetOfflineWebApplicationCacheEnabled(priv->preferences.get(), enabled); + priv->preferences->setOfflineWebApplicationCacheEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-offline-web-application-cache"); } @@ -1293,7 +1277,7 @@ gboolean webkit_settings_get_enable_html5_local_storage(WebKitSettings* settings { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetLocalStorageEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->localStorageEnabled(); } /** @@ -1308,11 +1292,11 @@ void webkit_settings_set_enable_html5_local_storage(WebKitSettings* settings, gb g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetLocalStorageEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->localStorageEnabled(); if (currentValue == enabled) return; - WKPreferencesSetLocalStorageEnabled(priv->preferences.get(), enabled); + priv->preferences->setLocalStorageEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-html5-local-storage"); } @@ -1328,7 +1312,7 @@ gboolean webkit_settings_get_enable_html5_database(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetDatabasesEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->databasesEnabled(); } /** @@ -1343,11 +1327,11 @@ void webkit_settings_set_enable_html5_database(WebKitSettings* settings, gboolea g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetDatabasesEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->databasesEnabled(); if (currentValue == enabled) return; - WKPreferencesSetDatabasesEnabled(priv->preferences.get(), enabled); + priv->preferences->setDatabasesEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-html5-database"); } @@ -1363,7 +1347,7 @@ gboolean webkit_settings_get_enable_xss_auditor(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetXSSAuditorEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->xssAuditorEnabled(); } /** @@ -1378,11 +1362,11 @@ void webkit_settings_set_enable_xss_auditor(WebKitSettings* settings, gboolean e g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetXSSAuditorEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->xssAuditorEnabled(); if (currentValue == enabled) return; - WKPreferencesSetXSSAuditorEnabled(priv->preferences.get(), enabled); + priv->preferences->setXSSAuditorEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-xss-auditor"); } @@ -1399,7 +1383,7 @@ gboolean webkit_settings_get_enable_frame_flattening(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetFrameFlatteningEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->frameFlatteningEnabled(); } /** @@ -1414,11 +1398,11 @@ void webkit_settings_set_enable_frame_flattening(WebKitSettings* settings, gbool g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetFrameFlatteningEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->frameFlatteningEnabled(); if (currentValue == enabled) return; - WKPreferencesSetFrameFlatteningEnabled(priv->preferences.get(), enabled); + priv->preferences->setFrameFlatteningEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-frame-flattening"); } @@ -1434,7 +1418,7 @@ gboolean webkit_settings_get_enable_plugins(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetPluginsEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->pluginsEnabled(); } /** @@ -1449,11 +1433,11 @@ void webkit_settings_set_enable_plugins(WebKitSettings* settings, gboolean enabl g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetPluginsEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->pluginsEnabled(); if (currentValue == enabled) return; - WKPreferencesSetPluginsEnabled(priv->preferences.get(), enabled); + priv->preferences->setPluginsEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-plugins"); } @@ -1469,7 +1453,7 @@ gboolean webkit_settings_get_enable_java(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetJavaEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->javaEnabled(); } /** @@ -1484,11 +1468,11 @@ void webkit_settings_set_enable_java(WebKitSettings* settings, gboolean enabled) g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetJavaEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->javaEnabled(); if (currentValue == enabled) return; - WKPreferencesSetJavaEnabled(priv->preferences.get(), enabled); + priv->preferences->setJavaEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-java"); } @@ -1504,7 +1488,7 @@ gboolean webkit_settings_get_javascript_can_open_windows_automatically(WebKitSet { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetJavaScriptCanOpenWindowsAutomatically(settings->priv->preferences.get()); + return settings->priv->preferences->javaScriptCanOpenWindowsAutomatically(); } /** @@ -1519,11 +1503,11 @@ void webkit_settings_set_javascript_can_open_windows_automatically(WebKitSetting g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetJavaScriptCanOpenWindowsAutomatically(priv->preferences.get()); + bool currentValue = priv->preferences->javaScriptCanOpenWindowsAutomatically(); if (currentValue == enabled) return; - WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(priv->preferences.get(), enabled); + priv->preferences->setJavaScriptCanOpenWindowsAutomatically(enabled); g_object_notify(G_OBJECT(settings), "javascript-can-open-windows-automatically"); } @@ -1539,7 +1523,7 @@ gboolean webkit_settings_get_enable_hyperlink_auditing(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetHyperlinkAuditingEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->hyperlinkAuditingEnabled(); } /** @@ -1554,11 +1538,11 @@ void webkit_settings_set_enable_hyperlink_auditing(WebKitSettings* settings, gbo g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetHyperlinkAuditingEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->hyperlinkAuditingEnabled(); if (currentValue == enabled) return; - WKPreferencesSetHyperlinkAuditingEnabled(priv->preferences.get(), enabled); + priv->preferences->setHyperlinkAuditingEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-hyperlink-auditing"); } @@ -1593,10 +1577,9 @@ void webkit_settings_set_default_font_family(WebKitSettings* settings, const gch if (!g_strcmp0(priv->defaultFontFamily.data(), defaultFontFamily)) return; - WKRetainPtr<WKStringRef> standardFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(defaultFontFamily)); - WKPreferencesSetStandardFontFamily(priv->preferences.get(), standardFontFamilyRef.get()); - priv->defaultFontFamily = WebKit::toImpl(standardFontFamilyRef.get())->string().utf8(); - + String standardFontFamily = String::fromUTF8(defaultFontFamily); + priv->preferences->setStandardFontFamily(standardFontFamily); + priv->defaultFontFamily = standardFontFamily.utf8(); g_object_notify(G_OBJECT(settings), "default-font-family"); } @@ -1631,10 +1614,9 @@ void webkit_settings_set_monospace_font_family(WebKitSettings* settings, const g if (!g_strcmp0(priv->monospaceFontFamily.data(), monospaceFontFamily)) return; - WKRetainPtr<WKStringRef> fixedFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(monospaceFontFamily)); - WKPreferencesSetFixedFontFamily(priv->preferences.get(), fixedFontFamilyRef.get()); - priv->monospaceFontFamily = WebKit::toImpl(fixedFontFamilyRef.get())->string().utf8(); - + String fixedFontFamily = String::fromUTF8(monospaceFontFamily); + priv->preferences->setFixedFontFamily(fixedFontFamily); + priv->monospaceFontFamily = fixedFontFamily.utf8(); g_object_notify(G_OBJECT(settings), "monospace-font-family"); } @@ -1669,10 +1651,9 @@ void webkit_settings_set_serif_font_family(WebKitSettings* settings, const gchar if (!g_strcmp0(priv->serifFontFamily.data(), serifFontFamily)) return; - WKRetainPtr<WKStringRef> serifFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(serifFontFamily)); - WKPreferencesSetSerifFontFamily(priv->preferences.get(), serifFontFamilyRef.get()); - priv->serifFontFamily = WebKit::toImpl(serifFontFamilyRef.get())->string().utf8(); - + String serifFontFamilyString = String::fromUTF8(serifFontFamily); + priv->preferences->setSerifFontFamily(serifFontFamilyString); + priv->serifFontFamily = serifFontFamilyString.utf8(); g_object_notify(G_OBJECT(settings), "serif-font-family"); } @@ -1707,10 +1688,9 @@ void webkit_settings_set_sans_serif_font_family(WebKitSettings* settings, const if (!g_strcmp0(priv->sansSerifFontFamily.data(), sansSerifFontFamily)) return; - WKRetainPtr<WKStringRef> sansSerifFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(sansSerifFontFamily)); - WKPreferencesSetSansSerifFontFamily(priv->preferences.get(), sansSerifFontFamilyRef.get()); - priv->sansSerifFontFamily = WebKit::toImpl(sansSerifFontFamilyRef.get())->string().utf8(); - + String sansSerifFontFamilyString = String::fromUTF8(sansSerifFontFamily); + priv->preferences->setSansSerifFontFamily(sansSerifFontFamilyString); + priv->sansSerifFontFamily = sansSerifFontFamilyString.utf8(); g_object_notify(G_OBJECT(settings), "sans-serif-font-family"); } @@ -1745,10 +1725,9 @@ void webkit_settings_set_cursive_font_family(WebKitSettings* settings, const gch if (!g_strcmp0(priv->cursiveFontFamily.data(), cursiveFontFamily)) return; - WKRetainPtr<WKStringRef> cursiveFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(cursiveFontFamily)); - WKPreferencesSetCursiveFontFamily(priv->preferences.get(), cursiveFontFamilyRef.get()); - priv->cursiveFontFamily = WebKit::toImpl(cursiveFontFamilyRef.get())->string().utf8(); - + String cursiveFontFamilyString = String::fromUTF8(cursiveFontFamily); + priv->preferences->setCursiveFontFamily(cursiveFontFamilyString); + priv->cursiveFontFamily = cursiveFontFamilyString.utf8(); g_object_notify(G_OBJECT(settings), "cursive-font-family"); } @@ -1783,10 +1762,9 @@ void webkit_settings_set_fantasy_font_family(WebKitSettings* settings, const gch if (!g_strcmp0(priv->fantasyFontFamily.data(), fantasyFontFamily)) return; - WKRetainPtr<WKStringRef> fantasyFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(fantasyFontFamily)); - WKPreferencesSetFantasyFontFamily(priv->preferences.get(), fantasyFontFamilyRef.get()); - priv->fantasyFontFamily = WebKit::toImpl(fantasyFontFamilyRef.get())->string().utf8(); - + String fantasyFontFamilyString = String::fromUTF8(fantasyFontFamily); + priv->preferences->setFantasyFontFamily(fantasyFontFamilyString); + priv->fantasyFontFamily = fantasyFontFamilyString.utf8(); g_object_notify(G_OBJECT(settings), "fantasy-font-family"); } @@ -1821,10 +1799,9 @@ void webkit_settings_set_pictograph_font_family(WebKitSettings* settings, const if (!g_strcmp0(priv->pictographFontFamily.data(), pictographFontFamily)) return; - WKRetainPtr<WKStringRef> pictographFontFamilyRef = adoptWK(WKStringCreateWithUTF8CString(pictographFontFamily)); - WKPreferencesSetPictographFontFamily(priv->preferences.get(), pictographFontFamilyRef.get()); - priv->pictographFontFamily = WebKit::toImpl(pictographFontFamilyRef.get())->string().utf8(); - + String pictographFontFamilyString = String::fromUTF8(pictographFontFamily); + priv->preferences->setPictographFontFamily(pictographFontFamilyString); + priv->pictographFontFamily = pictographFontFamilyString.utf8(); g_object_notify(G_OBJECT(settings), "pictograph-font-family"); } @@ -1840,7 +1817,7 @@ guint32 webkit_settings_get_default_font_size(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), 0); - return WKPreferencesGetDefaultFontSize(settings->priv->preferences.get()); + return settings->priv->preferences->defaultFontSize(); } /** @@ -1855,12 +1832,11 @@ void webkit_settings_set_default_font_size(WebKitSettings* settings, guint32 fon g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - - uint32_t currentSize = WKPreferencesGetDefaultFontSize(priv->preferences.get()); + uint32_t currentSize = priv->preferences->defaultFontSize(); if (currentSize == fontSize) return; - WKPreferencesSetDefaultFontSize(priv->preferences.get(), fontSize); + priv->preferences->setDefaultFontSize(fontSize); g_object_notify(G_OBJECT(settings), "default-font-size"); } @@ -1876,7 +1852,7 @@ guint32 webkit_settings_get_default_monospace_font_size(WebKitSettings* settings { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), 0); - return WKPreferencesGetDefaultFixedFontSize(settings->priv->preferences.get()); + return settings->priv->preferences->defaultFixedFontSize(); } /** @@ -1891,12 +1867,11 @@ void webkit_settings_set_default_monospace_font_size(WebKitSettings* settings, g g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - - uint32_t currentSize = WKPreferencesGetDefaultFixedFontSize(priv->preferences.get()); + uint32_t currentSize = priv->preferences->defaultFixedFontSize(); if (currentSize == fontSize) return; - WKPreferencesSetDefaultFixedFontSize(priv->preferences.get(), fontSize); + priv->preferences->setDefaultFixedFontSize(fontSize); g_object_notify(G_OBJECT(settings), "default-monospace-font-size"); } @@ -1912,7 +1887,7 @@ guint32 webkit_settings_get_minimum_font_size(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), 0); - return WKPreferencesGetMinimumFontSize(settings->priv->preferences.get()); + return settings->priv->preferences->minimumFontSize(); } /** @@ -1927,12 +1902,11 @@ void webkit_settings_set_minimum_font_size(WebKitSettings* settings, guint32 fon g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - - uint32_t currentSize = WKPreferencesGetMinimumFontSize(priv->preferences.get()); + uint32_t currentSize = priv->preferences->minimumFontSize(); if (currentSize == fontSize) return; - WKPreferencesSetMinimumFontSize(priv->preferences.get(), fontSize); + priv->preferences->setMinimumFontSize(fontSize); g_object_notify(G_OBJECT(settings), "minimum-font-size"); } @@ -1967,10 +1941,9 @@ void webkit_settings_set_default_charset(WebKitSettings* settings, const gchar* if (!g_strcmp0(priv->defaultCharset.data(), defaultCharset)) return; - WKRetainPtr<WKStringRef> defaultCharsetRef = adoptWK(WKStringCreateWithUTF8CString(defaultCharset)); - WKPreferencesSetDefaultTextEncodingName(priv->preferences.get(), defaultCharsetRef.get()); - priv->defaultCharset = WebKit::toImpl(defaultCharsetRef.get())->string().utf8(); - + String defaultCharsetString = String::fromUTF8(defaultCharset); + priv->preferences->setDefaultTextEncodingName(defaultCharsetString); + priv->defaultCharset = defaultCharsetString.utf8(); g_object_notify(G_OBJECT(settings), "default-charset"); } @@ -1986,7 +1959,7 @@ gboolean webkit_settings_get_enable_private_browsing(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetPrivateBrowsingEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->privateBrowsingEnabled(); } /** @@ -2001,11 +1974,11 @@ void webkit_settings_set_enable_private_browsing(WebKitSettings* settings, gbool g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetPrivateBrowsingEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->privateBrowsingEnabled(); if (currentValue == enabled) return; - WKPreferencesSetPrivateBrowsingEnabled(priv->preferences.get(), enabled); + priv->preferences->setPrivateBrowsingEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-private-browsing"); } @@ -2021,7 +1994,7 @@ gboolean webkit_settings_get_enable_developer_extras(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetDeveloperExtrasEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->developerExtrasEnabled(); } /** @@ -2036,11 +2009,11 @@ void webkit_settings_set_enable_developer_extras(WebKitSettings* settings, gbool g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetDeveloperExtrasEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->developerExtrasEnabled(); if (currentValue == enabled) return; - WKPreferencesSetDeveloperExtrasEnabled(priv->preferences.get(), enabled); + priv->preferences->setDeveloperExtrasEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-developer-extras"); } @@ -2056,7 +2029,7 @@ gboolean webkit_settings_get_enable_resizable_text_areas(WebKitSettings* setting { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetTextAreasAreResizable(settings->priv->preferences.get()); + return settings->priv->preferences->textAreasAreResizable(); } /** @@ -2071,11 +2044,11 @@ void webkit_settings_set_enable_resizable_text_areas(WebKitSettings* settings, g g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetTextAreasAreResizable(priv->preferences.get()); + bool currentValue = priv->preferences->textAreasAreResizable(); if (currentValue == enabled) return; - WKPreferencesSetTextAreasAreResizable(priv->preferences.get(), enabled); + priv->preferences->setTextAreasAreResizable(enabled); g_object_notify(G_OBJECT(settings), "enable-resizable-text-areas"); } @@ -2091,7 +2064,7 @@ gboolean webkit_settings_get_enable_tabs_to_links(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetTabsToLinks(settings->priv->preferences.get()); + return settings->priv->preferences->tabsToLinks(); } /** @@ -2106,11 +2079,11 @@ void webkit_settings_set_enable_tabs_to_links(WebKitSettings* settings, gboolean g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetTabsToLinks(priv->preferences.get()); + bool currentValue = priv->preferences->tabsToLinks(); if (currentValue == enabled) return; - WKPreferencesSetTabsToLinks(priv->preferences.get(), enabled); + priv->preferences->setTabsToLinks(enabled); g_object_notify(G_OBJECT(settings), "enable-tabs-to-links"); } @@ -2126,7 +2099,7 @@ gboolean webkit_settings_get_enable_dns_prefetching(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetDNSPrefetchingEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->dnsPrefetchingEnabled(); } /** @@ -2141,11 +2114,11 @@ void webkit_settings_set_enable_dns_prefetching(WebKitSettings* settings, gboole g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetDNSPrefetchingEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->dnsPrefetchingEnabled(); if (currentValue == enabled) return; - WKPreferencesSetDNSPrefetchingEnabled(priv->preferences.get(), enabled); + priv->preferences->setDNSPrefetchingEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-dns-prefetching"); } @@ -2161,7 +2134,7 @@ gboolean webkit_settings_get_enable_caret_browsing(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetCaretBrowsingEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->caretBrowsingEnabled(); } /** @@ -2176,11 +2149,11 @@ void webkit_settings_set_enable_caret_browsing(WebKitSettings* settings, gboolea g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetCaretBrowsingEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->caretBrowsingEnabled(); if (currentValue == enabled) return; - WKPreferencesSetCaretBrowsingEnabled(priv->preferences.get(), enabled); + priv->preferences->setCaretBrowsingEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-caret-browsing"); } @@ -2196,7 +2169,7 @@ gboolean webkit_settings_get_enable_fullscreen(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetFullScreenEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->fullScreenEnabled(); } /** @@ -2211,11 +2184,11 @@ void webkit_settings_set_enable_fullscreen(WebKitSettings* settings, gboolean en g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetFullScreenEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->fullScreenEnabled(); if (currentValue == enabled) return; - WKPreferencesSetFullScreenEnabled(priv->preferences.get(), enabled); + priv->preferences->setFullScreenEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-fullscreen"); } @@ -2231,7 +2204,7 @@ gboolean webkit_settings_get_print_backgrounds(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetShouldPrintBackgrounds(settings->priv->preferences.get()); + return settings->priv->preferences->shouldPrintBackgrounds(); } /** @@ -2246,11 +2219,11 @@ void webkit_settings_set_print_backgrounds(WebKitSettings* settings, gboolean pr g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetShouldPrintBackgrounds(priv->preferences.get()); + bool currentValue = priv->preferences->shouldPrintBackgrounds(); if (currentValue == printBackgrounds) return; - WKPreferencesSetShouldPrintBackgrounds(priv->preferences.get(), printBackgrounds); + priv->preferences->setShouldPrintBackgrounds(printBackgrounds); g_object_notify(G_OBJECT(settings), "print-backgrounds"); } @@ -2266,7 +2239,7 @@ gboolean webkit_settings_get_enable_webaudio(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetWebAudioEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->webAudioEnabled(); } /** @@ -2281,11 +2254,11 @@ void webkit_settings_set_enable_webaudio(WebKitSettings* settings, gboolean enab g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetWebAudioEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->webAudioEnabled(); if (currentValue == enabled) return; - WKPreferencesSetWebAudioEnabled(priv->preferences.get(), enabled); + priv->preferences->setWebAudioEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-webaudio"); } @@ -2301,7 +2274,7 @@ gboolean webkit_settings_get_enable_webgl(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetWebGLEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->webGLEnabled(); } /** @@ -2316,15 +2289,29 @@ void webkit_settings_set_enable_webgl(WebKitSettings* settings, gboolean enabled g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetWebGLEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->webGLEnabled(); if (currentValue == enabled) return; - WKPreferencesSetWebGLEnabled(priv->preferences.get(), enabled); + priv->preferences->setWebGLEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-webgl"); } /** + * webkit_settings_get_allow_modal_dialogs: + * @settings: a #WebKitSettings + * + * Get the #WebKitSettings:allow-modal-dialogs property. + * + * Returns: %TRUE if it's allowed to create and run modal dialogs or %FALSE otherwise. + */ +gboolean webkit_settings_get_allow_modal_dialogs(WebKitSettings* settings) +{ + g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); + return settings->priv->allowModalDialogs; +} + +/** * webkit_settings_set_allow_modal_dialogs: * @settings: a #WebKitSettings * @allowed: Value to be set @@ -2344,17 +2331,19 @@ void webkit_settings_set_allow_modal_dialogs(WebKitSettings* settings, gboolean } /** - * webkit_settings_get_allow_modal_dialogs: + * webkit_settings_get_zoom_text_only: * @settings: a #WebKitSettings * - * Get the #WebKitSettings:allow-modal-dialogs property. + * Get the #WebKitSettings:zoom-text-only property. * - * Returns: %TRUE if it's allowed to create and run modal dialogs or %FALSE otherwise. + * Returns: %TRUE If zoom level of the view should only affect the text + * or %FALSE if all view contents should be scaled. */ -gboolean webkit_settings_get_allow_modal_dialogs(WebKitSettings* settings) +gboolean webkit_settings_get_zoom_text_only(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return settings->priv->allowModalDialogs; + + return settings->priv->zoomTextOnly; } /** @@ -2377,22 +2366,6 @@ void webkit_settings_set_zoom_text_only(WebKitSettings* settings, gboolean zoomT } /** - * webkit_settings_get_zoom_text_only: - * @settings: a #WebKitSettings - * - * Get the #WebKitSettings:zoom-text-only property. - * - * Returns: %TRUE If zoom level of the view should only affect the text - * or %FALSE if all view contents should be scaled. - */ -gboolean webkit_settings_get_zoom_text_only(WebKitSettings* settings) -{ - g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - - return settings->priv->zoomTextOnly; -} - -/** * webkit_settings_get_javascript_can_access_clipboard: * @settings: a #WebKitSettings * @@ -2404,8 +2377,8 @@ gboolean webkit_settings_get_javascript_can_access_clipboard(WebKitSettings* set { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetJavaScriptCanAccessClipboard(settings->priv->preferences.get()) - && WKPreferencesGetDOMPasteAllowed(settings->priv->preferences.get()); + return settings->priv->preferences->javaScriptCanAccessClipboard() + && settings->priv->preferences->domPasteAllowed(); } /** @@ -2420,39 +2393,16 @@ void webkit_settings_set_javascript_can_access_clipboard(WebKitSettings* setting g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetJavaScriptCanAccessClipboard(priv->preferences.get()) - && WKPreferencesGetDOMPasteAllowed(priv->preferences.get()); + bool currentValue = priv->preferences->javaScriptCanAccessClipboard() && priv->preferences->domPasteAllowed(); if (currentValue == enabled) return; - WKPreferencesSetJavaScriptCanAccessClipboard(priv->preferences.get(), enabled); - WKPreferencesSetDOMPasteAllowed(priv->preferences.get(), enabled); - + priv->preferences->setJavaScriptCanAccessClipboard(enabled); + priv->preferences->setDOMPasteAllowed(enabled); g_object_notify(G_OBJECT(settings), "javascript-can-access-clipboard"); } /** - * webkit_settings_set_media_playback_requires_user_gesture: - * @settings: a #WebKitSettings - * @enabled: Value to be set - * - * Set the #WebKitSettings:media-playback-requires-user-gesture property. - */ -void webkit_settings_set_media_playback_requires_user_gesture(WebKitSettings* settings, gboolean enabled) -{ - g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); - - WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetMediaPlaybackRequiresUserGesture(priv->preferences.get()); - if (currentValue == enabled) - return; - - WKPreferencesSetMediaPlaybackRequiresUserGesture(priv->preferences.get(), enabled); - - g_object_notify(G_OBJECT(settings), "media-playback-requires-user-gesture"); -} - -/** * webkit_settings_get_media_playback_requires_user_gesture: * @settings: a #WebKitSettings * @@ -2465,28 +2415,27 @@ gboolean webkit_settings_get_media_playback_requires_user_gesture(WebKitSettings { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetMediaPlaybackRequiresUserGesture(settings->priv->preferences.get()); + return settings->priv->preferences->mediaPlaybackRequiresUserGesture(); } /** - * webkit_settings_set_media_playback_allows_inline: + * webkit_settings_set_media_playback_requires_user_gesture: * @settings: a #WebKitSettings * @enabled: Value to be set * - * Set the #WebKitSettings:media-playback-allows-inline property. + * Set the #WebKitSettings:media-playback-requires-user-gesture property. */ -void webkit_settings_set_media_playback_allows_inline(WebKitSettings* settings, gboolean enabled) +void webkit_settings_set_media_playback_requires_user_gesture(WebKitSettings* settings, gboolean enabled) { g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetMediaPlaybackAllowsInline(priv->preferences.get()); + bool currentValue = priv->preferences->mediaPlaybackRequiresUserGesture(); if (currentValue == enabled) return; - WKPreferencesSetMediaPlaybackAllowsInline(priv->preferences.get(), enabled); - - g_object_notify(G_OBJECT(settings), "media-playback-allows-inline"); + priv->preferences->setMediaPlaybackRequiresUserGesture(enabled); + g_object_notify(G_OBJECT(settings), "media-playback-requires-user-gesture"); } /** @@ -2502,28 +2451,27 @@ gboolean webkit_settings_get_media_playback_allows_inline(WebKitSettings* settin { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), TRUE); - return WKPreferencesGetMediaPlaybackAllowsInline(settings->priv->preferences.get()); + return settings->priv->preferences->mediaPlaybackAllowsInline(); } /** - * webkit_settings_set_draw_compositing_indicators: + * webkit_settings_set_media_playback_allows_inline: * @settings: a #WebKitSettings * @enabled: Value to be set * - * Set the #WebKitSettings:draw-compositing-indicators property. + * Set the #WebKitSettings:media-playback-allows-inline property. */ -void webkit_settings_set_draw_compositing_indicators(WebKitSettings* settings, gboolean enabled) +void webkit_settings_set_media_playback_allows_inline(WebKitSettings* settings, gboolean enabled) { g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - if (WKPreferencesGetCompositingBordersVisible(priv->preferences.get()) == enabled - && WKPreferencesGetCompositingRepaintCountersVisible(priv->preferences.get()) == enabled) + bool currentValue = priv->preferences->mediaPlaybackAllowsInline(); + if (currentValue == enabled) return; - WKPreferencesSetCompositingBordersVisible(priv->preferences.get(), enabled); - WKPreferencesSetCompositingRepaintCountersVisible(priv->preferences.get(), enabled); - g_object_notify(G_OBJECT(settings), "draw-compositing-indicators"); + priv->preferences->setMediaPlaybackAllowsInline(enabled); + g_object_notify(G_OBJECT(settings), "media-playback-allows-inline"); } /** @@ -2537,8 +2485,29 @@ void webkit_settings_set_draw_compositing_indicators(WebKitSettings* settings, g gboolean webkit_settings_get_draw_compositing_indicators(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetCompositingBordersVisible(settings->priv->preferences.get()) - && WKPreferencesGetCompositingRepaintCountersVisible(settings->priv->preferences.get()); + return settings->priv->preferences->compositingBordersVisible() + && settings->priv->preferences->compositingRepaintCountersVisible(); +} + +/** + * webkit_settings_set_draw_compositing_indicators: + * @settings: a #WebKitSettings + * @enabled: Value to be set + * + * Set the #WebKitSettings:draw-compositing-indicators property. + */ +void webkit_settings_set_draw_compositing_indicators(WebKitSettings* settings, gboolean enabled) +{ + g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); + + WebKitSettingsPrivate* priv = settings->priv; + if (priv->preferences->compositingBordersVisible() == enabled + && priv->preferences->compositingRepaintCountersVisible() == enabled) + return; + + priv->preferences->setCompositingBordersVisible(enabled); + priv->preferences->setCompositingRepaintCountersVisible(enabled); + g_object_notify(G_OBJECT(settings), "draw-compositing-indicators"); } /** @@ -2553,7 +2522,7 @@ gboolean webkit_settings_get_enable_site_specific_quirks(WebKitSettings* setting { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetNeedsSiteSpecificQuirks(settings->priv->preferences.get()); + return settings->priv->preferences->needsSiteSpecificQuirks(); } /** @@ -2568,11 +2537,11 @@ void webkit_settings_set_enable_site_specific_quirks(WebKitSettings* settings, g g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetNeedsSiteSpecificQuirks(priv->preferences.get()); + bool currentValue = priv->preferences->needsSiteSpecificQuirks(); if (currentValue == enabled) return; - WKPreferencesSetNeedsSiteSpecificQuirks(priv->preferences.get(), enabled); + priv->preferences->setNeedsSiteSpecificQuirks(enabled); g_object_notify(G_OBJECT(settings), "enable-site-specific-quirks"); } @@ -2588,7 +2557,7 @@ gboolean webkit_settings_get_enable_page_cache(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WKPreferencesGetPageCacheEnabled(settings->priv->preferences.get()); + return settings->priv->preferences->usesPageCache(); } /** @@ -2603,11 +2572,11 @@ void webkit_settings_set_enable_page_cache(WebKitSettings* settings, gboolean en g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WKPreferencesGetPageCacheEnabled(priv->preferences.get()); + bool currentValue = priv->preferences->usesPageCache(); if (currentValue == enabled) return; - WKPreferencesSetPageCacheEnabled(priv->preferences.get(), enabled); + priv->preferences->setUsesPageCache(enabled); g_object_notify(G_OBJECT(settings), "enable-page-cache"); } @@ -2678,7 +2647,7 @@ gboolean webkit_settings_get_enable_smooth_scrolling(WebKitSettings* settings) { g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE); - return WebKit::toImpl(settings->priv->preferences.get())->scrollAnimatorEnabled(); + return settings->priv->preferences->scrollAnimatorEnabled(); } /** @@ -2693,10 +2662,10 @@ void webkit_settings_set_enable_smooth_scrolling(WebKitSettings* settings, gbool g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = WebKit::toImpl(priv->preferences.get())->scrollAnimatorEnabled(); + bool currentValue = priv->preferences->scrollAnimatorEnabled(); if (currentValue == enabled) return; - WebKit::toImpl(priv->preferences.get())->setScrollAnimatorEnabled(enabled); + priv->preferences->setScrollAnimatorEnabled(enabled); g_object_notify(G_OBJECT(settings), "enable-smooth-scrolling"); } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettingsPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitSettingsPrivate.h index 4e5d23217..1ec252bc2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettingsPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettingsPrivate.h @@ -27,8 +27,7 @@ #define WebKitSettingsPrivate_h #include "WebKitSettings.h" -#include <WebKit2/WebKit2_C.h> -void webkitSettingsAttachSettingsToPage(WebKitSettings*, WKPageRef); +void webkitSettingsAttachSettingsToPage(WebKitSettings*, WebKit::WebPageProxy*); #endif // WebKitSettingsPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp index 1ca453b2e..00d65ed34 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.cpp @@ -142,7 +142,7 @@ static void printFrame(WKPageRef page, WKFrameRef frame, const void*) static void runOpenPanel(WKPageRef page, WKFrameRef frame, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void *clientInfo) { - GRefPtr<WebKitFileChooserRequest> request = adoptGRef(webkitFileChooserRequestCreate(parameters, listener)); + GRefPtr<WebKitFileChooserRequest> request = adoptGRef(webkitFileChooserRequestCreate(toImpl(parameters), toImpl(listener))); webkitWebViewRunFileChooserRequest(WEBKIT_WEB_VIEW(clientInfo), request.get()); } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp index 29811fc6a..d4404147b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp @@ -27,6 +27,9 @@ #include <glib/gi18n-lib.h> #include <wtf/text/CString.h> +using namespace WebKit; +using namespace WebCore; + enum { PROP_0, @@ -37,13 +40,10 @@ enum { PROP_SUGGESTED_FILENAME }; -using namespace WebKit; -using namespace WebCore; - G_DEFINE_TYPE(WebKitURIResponse, webkit_uri_response, G_TYPE_OBJECT) struct _WebKitURIResponsePrivate { - WebCore::ResourceResponse resourceResponse; + ResourceResponse resourceResponse; CString uri; CString mimeType; CString suggestedFilename; @@ -282,9 +282,9 @@ const WebCore::ResourceResponse& webkitURIResponseGetResourceResponse(WebKitURIR return uriResponse->priv->resourceResponse; } -void webkitURIResponseSetCertificateInfo(WebKitURIResponse* response, WKCertificateInfoRef wkCertificate) +void webkitURIResponseSetCertificateInfo(WebKitURIResponse* response, WebCertificateInfo* certificate) { - const PlatformCertificateInfo& certificateInfo = toImpl(wkCertificate)->platformCertificateInfo(); + const PlatformCertificateInfo& certificateInfo = certificate->platformCertificateInfo(); response->priv->resourceResponse.setSoupMessageCertificate(certificateInfo.certificate()); response->priv->resourceResponse.setSoupMessageTLSErrors(certificateInfo.tlsErrors()); } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h index 957c9ce77..b111b71fa 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h @@ -31,6 +31,6 @@ WebKitURIResponse* webkitURIResponseCreateForResourceResponse(const WebCore::ResourceResponse&); const WebCore::ResourceResponse& webkitURIResponseGetResourceResponse(WebKitURIResponse*); -void webkitURIResponseSetCertificateInfo(WebKitURIResponse*, WKCertificateInfoRef); +void webkitURIResponseSetCertificateInfo(WebKitURIResponse*, WebKit::WebCertificateInfo*); #endif // WebKitURIResponsePrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp index 6f46dbeda..e2542e844 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp @@ -31,6 +31,8 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; + static const unsigned int gReadBufferSize = 8192; G_DEFINE_TYPE(WebKitURISchemeRequest, webkit_uri_scheme_request, G_TYPE_OBJECT) diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h index ef3dd53d6..3baebd1fe 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h @@ -24,9 +24,7 @@ #include "WebKitURISchemeRequest.h" #include "WebKitWebContext.h" -using namespace WebKit; - -WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext*, WebSoupRequestManagerProxy*, WebURL*, WebPageProxy*, uint64_t requestID); +WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext*, WebKit::WebSoupRequestManagerProxy*, WebKit::WebURL*, WebKit::WebPageProxy*, uint64_t requestID); uint64_t webkitURISchemeRequestGetID(WebKitURISchemeRequest*); void webkitURISchemeRequestCancel(WebKitURISchemeRequest*); diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp index 0c29b2440..ca60a5dc2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp @@ -44,6 +44,8 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; + enum { DOWNLOAD_STARTED, diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h index 67be48d5c..ace23df4f 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h @@ -33,13 +33,11 @@ #include "WebKitWebContext.h" #include "WebSoupRequestManagerProxy.h" -using namespace WebKit; - -WebContext* webkitWebContextGetContext(WebKitWebContext*); -WebKitDownload* webkitWebContextGetOrCreateDownload(DownloadProxy*); -void webkitWebContextRemoveDownload(DownloadProxy*); +WebKit::WebContext* webkitWebContextGetContext(WebKitWebContext*); +WebKitDownload* webkitWebContextGetOrCreateDownload(WebKit::DownloadProxy*); +void webkitWebContextRemoveDownload(WebKit::DownloadProxy*); void webkitWebContextDownloadStarted(WebKitWebContext*, WebKitDownload*); -WebSoupRequestManagerProxy* webkitWebContextGetRequestManager(WebKitWebContext*); +WebKit::WebSoupRequestManagerProxy* webkitWebContextGetRequestManager(WebKitWebContext*); void webkitWebContextReceivedURIRequest(WebKitWebContext*, WebKitURISchemeRequest*); void webkitWebContextDidFailToLoadURIRequest(WebKitWebContext*, uint64_t requestID); void webkitWebContextDidFinishURIRequest(WebKitWebContext*, uint64_t requestID); diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp index d384ac067..b788f1771 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp @@ -27,6 +27,8 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; + enum { OPEN_WINDOW, BRING_TO_FRONT, diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspectorPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspectorPrivate.h index 5424e6006..2f5e99f8e 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspectorPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspectorPrivate.h @@ -23,8 +23,6 @@ #include "WebKitPrivate.h" #include "WebKitWebInspector.h" -using namespace WebKit; - -WebKitWebInspector* webkitWebInspectorCreate(WebInspectorProxy*); +WebKitWebInspector* webkitWebInspectorCreate(WebKit::WebInspectorProxy*); #endif // WebKitWebInspectorPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp index 5ca5e989d..73736f68f 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp @@ -20,6 +20,8 @@ #include "config.h" #include "WebKitWebResource.h" +#include "WebData.h" +#include "WebFrameProxy.h" #include "WebKitMarshal.h" #include "WebKitURIRequest.h" #include "WebKitWebResourcePrivate.h" @@ -47,7 +49,7 @@ enum { struct _WebKitWebResourcePrivate { - WKRetainPtr<WKFrameRef> wkFrame; + RefPtr<WebFrameProxy> frame; CString uri; GRefPtr<WebKitURIResponse> response; bool isMainResource; @@ -205,11 +207,11 @@ static void webkitWebResourceUpdateURI(WebKitWebResource* resource, const CStrin g_object_notify(G_OBJECT(resource), "uri"); } -WebKitWebResource* webkitWebResourceCreate(WKFrameRef wkFrame, WebKitURIRequest* request, bool isMainResource) +WebKitWebResource* webkitWebResourceCreate(WebFrameProxy* frame, WebKitURIRequest* request, bool isMainResource) { - ASSERT(wkFrame); + ASSERT(frame); WebKitWebResource* resource = WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, NULL)); - resource->priv->wkFrame = wkFrame; + resource->priv->frame = frame; resource->priv->uri = webkit_uri_request_get_uri(request); resource->priv->isMainResource = isMainResource; return resource; @@ -243,9 +245,9 @@ void webkitWebResourceFailed(WebKitWebResource* resource, GError* error) g_signal_emit(resource, signals[FINISHED], 0, NULL); } -WKFrameRef webkitWebResourceGetFrame(WebKitWebResource* resource) +WebFrameProxy* webkitWebResourceGetFrame(WebKitWebResource* resource) { - return resource->priv->wkFrame.get(); + return resource->priv->frame.get(); } /** @@ -307,7 +309,7 @@ WebKitURIResponse* webkit_web_resource_get_response(WebKitWebResource* resource) } struct ResourceGetDataAsyncData { - WKDataRef wkData; + RefPtr<WebData> webData; GRefPtr<GCancellable> cancellable; }; WEBKIT_DEFINE_ASYNC_DATA_STRUCT(ResourceGetDataAsyncData) @@ -320,7 +322,7 @@ static void resourceDataCallback(WKDataRef wkData, WKErrorRef, void* context) if (g_cancellable_set_error_if_cancelled(data->cancellable.get(), &error)) g_simple_async_result_take_error(result.get(), error); else - data->wkData = wkData; + data->webData = toImpl(wkData); g_simple_async_result_complete(result.get()); } @@ -346,10 +348,10 @@ void webkit_web_resource_get_data(WebKitWebResource* resource, GCancellable* can data->cancellable = cancellable; g_simple_async_result_set_op_res_gpointer(result, data, reinterpret_cast<GDestroyNotify>(destroyResourceGetDataAsyncData)); if (resource->priv->isMainResource) - WKFrameGetMainResourceData(resource->priv->wkFrame.get(), resourceDataCallback, result); + resource->priv->frame->getMainResourceData(DataCallback::create(result, resourceDataCallback)); else { - WKRetainPtr<WKURLRef> url(AdoptWK, WKURLCreateWithUTF8CString(resource->priv->uri.data())); - WKFrameGetResourceData(resource->priv->wkFrame.get(), url.get(), resourceDataCallback, result); + String url = String::fromUTF8(resource->priv->uri.data()); + resource->priv->frame->getResourceData(WebURL::create(url).get(), DataCallback::create(result, resourceDataCallback)); } } @@ -378,6 +380,6 @@ guchar* webkit_web_resource_get_data_finish(WebKitWebResource* resource, GAsyncR ResourceGetDataAsyncData* data = static_cast<ResourceGetDataAsyncData*>(g_simple_async_result_get_op_res_gpointer(simple)); if (length) - *length = WKDataGetSize(data->wkData); - return static_cast<guchar*>(g_memdup(WKDataGetBytes(data->wkData), WKDataGetSize(data->wkData))); + *length = data->webData->size(); + return static_cast<guchar*>(g_memdup(data->webData->bytes(), data->webData->size())); } diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResourcePrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResourcePrivate.h index ed1fe02f1..82e2d8f5a 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResourcePrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResourcePrivate.h @@ -23,13 +23,13 @@ #include "WebKitPrivate.h" #include "WebKitWebResource.h" -WebKitWebResource* webkitWebResourceCreate(WKFrameRef, WebKitURIRequest*, bool isMainResource); +WebKitWebResource* webkitWebResourceCreate(WebKit::WebFrameProxy*, WebKitURIRequest*, bool isMainResource); void webkitWebResourceSentRequest(WebKitWebResource*, WebKitURIRequest*, WebKitURIResponse*); void webkitWebResourceSetResponse(WebKitWebResource*, WebKitURIResponse*); void webkitWebResourceNotifyProgress(WebKitWebResource*, guint64 bytesReceived); void webkitWebResourceFinished(WebKitWebResource*); void webkitWebResourceFailed(WebKitWebResource*, GError*); -WKFrameRef webkitWebResourceGetFrame(WebKitWebResource*); +WebKit::WebFrameProxy* webkitWebResourceGetFrame(WebKitWebResource*); #endif // WebKitWebResourcePrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp index 46c4bd464..de0f28dce 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp @@ -63,6 +63,7 @@ #include <wtf/gobject/GRefPtr.h> #include <wtf/text/CString.h> +using namespace WebKit; using namespace WebCore; enum { @@ -301,7 +302,7 @@ static void iconReadyCallback(WebKitFaviconDatabase* database, const char* uri, static void webkitWebViewSetSettings(WebKitWebView* webView, WebKitSettings* settings) { webView->priv->settings = settings; - webkitSettingsAttachSettingsToPage(webView->priv->settings.get(), toAPI(getPage(webView))); + webkitSettingsAttachSettingsToPage(webView->priv->settings.get(), getPage(webView)); g_signal_connect(settings, "notify::allow-modal-dialogs", G_CALLBACK(allowModalDialogsChanged), webView); g_signal_connect(settings, "notify::zoom-text-only", G_CALLBACK(zoomTextOnlyChanged), webView); g_signal_connect(settings, "notify::user-agent", G_CALLBACK(userAgentChanged), webView); @@ -402,7 +403,7 @@ static void webkitWebViewConstructed(GObject* object) attachLoaderClientToView(webView); attachUIClientToView(webView); - attachPolicyClientToPage(webView); + attachPolicyClientToView(webView); attachResourceLoadClientToView(webView); attachFullScreenClientToView(webView); attachContextMenuClientToView(webView); @@ -1231,7 +1232,7 @@ static void setCertificateToMainResource(WebKitWebView* webView) ASSERT(priv->mainResource.get()); webkitURIResponseSetCertificateInfo(webkit_web_resource_get_response(priv->mainResource.get()), - WKFrameGetCertificateInfo(webkitWebResourceGetFrame(priv->mainResource.get()))); + webkitWebResourceGetFrame(priv->mainResource.get())->certificateInfo()); } static void webkitWebViewEmitLoadChanged(WebKitWebView* webView, WebKitLoadEvent loadEvent) @@ -1355,7 +1356,7 @@ WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView* webView, ImmutableDictio if (!newWebView) return 0; - webkitWindowPropertiesUpdateFromWKWindowFeatures(newWebView->priv->windowProperties.get(), toAPI(windowFeatures)); + webkitWindowPropertiesUpdateFromWebWindowFeatures(newWebView->priv->windowProperties.get(), windowFeatures); RefPtr<WebPageProxy> newPage = getPage(newWebView); return newPage.release().leakRef(); @@ -1423,11 +1424,11 @@ void webkitWebViewMouseTargetChanged(WebKitWebView* webView, WebHitTestResult* h WebKitWebViewPrivate* priv = webView->priv; if (priv->mouseTargetHitTestResult && priv->mouseTargetModifiers == modifiers - && webkitHitTestResultCompare(priv->mouseTargetHitTestResult.get(), toAPI(hitTestResult))) + && webkitHitTestResultCompare(priv->mouseTargetHitTestResult.get(), hitTestResult)) return; priv->mouseTargetModifiers = modifiers; - priv->mouseTargetHitTestResult = adoptGRef(webkitHitTestResultCreate(toAPI(hitTestResult))); + priv->mouseTargetHitTestResult = adoptGRef(webkitHitTestResultCreate(hitTestResult)); g_signal_emit(webView, signals[MOUSE_TARGET_CHANGED], 0, priv->mouseTargetHitTestResult.get(), modifiers); } @@ -1467,7 +1468,7 @@ void webkitWebViewResourceLoadStarted(WebKitWebView* webView, WebFrameProxy* fra { WebKitWebViewPrivate* priv = webView->priv; bool isMainResource = frame->isMainFrame() && !priv->mainResource; - WebKitWebResource* resource = webkitWebResourceCreate(toAPI(frame), request, isMainResource); + WebKitWebResource* resource = webkitWebResourceCreate(frame, request, isMainResource); if (isMainResource) { priv->mainResource = resource; waitForMainResourceResponseIfWaitingForResource(webView); @@ -1581,7 +1582,7 @@ void webkitWebViewPopulateContextMenu(WebKitWebView* webView, ImmutableArray* pr if (webHitTestResult->isContentEditable()) webkitWebViewCreateAndAppendInputMethodsMenuItem(webView, contextMenu.get()); - GRefPtr<WebKitHitTestResult> hitTestResult = adoptGRef(webkitHitTestResultCreate(toAPI(webHitTestResult))); + GRefPtr<WebKitHitTestResult> hitTestResult = adoptGRef(webkitHitTestResultCreate(webHitTestResult)); GOwnPtr<GdkEvent> contextMenuEvent(webkitWebViewBaseTakeContextMenuEvent(webViewBase)); gboolean returnValue; diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h index 4bf2886e5..ddb3e1451 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h @@ -33,23 +33,21 @@ #include "WebKitWebViewBase.h" #include "WebPageProxy.h" -using namespace WebKit; - -WebKitWebViewBase* webkitWebViewBaseCreate(WebContext*, WebPageGroup*); +WebKitWebViewBase* webkitWebViewBaseCreate(WebKit::WebContext*, WebKit::WebPageGroup*); GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase*); -WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*); -void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebContext*, WebPageGroup*); +WebKit::WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*); +void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebContext*, WebKit::WebPageGroup*); void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*); void webkitWebViewBaseSetTooltipArea(WebKitWebViewBase*, const WebCore::IntRect&); void webkitWebViewBaseForwardNextKeyEvent(WebKitWebViewBase*); -void webkitWebViewBaseStartDrag(WebKitWebViewBase*, const WebCore::DragData&, PassRefPtr<ShareableBitmap> dragImage); +void webkitWebViewBaseStartDrag(WebKitWebViewBase*, const WebCore::DragData&, PassRefPtr<WebKit::ShareableBitmap> dragImage); void webkitWebViewBaseChildMoveResize(WebKitWebViewBase*, GtkWidget*, const WebCore::IntRect&); void webkitWebViewBaseEnterFullScreen(WebKitWebViewBase*); void webkitWebViewBaseExitFullScreen(WebKitWebViewBase*); void webkitWebViewBaseInitializeFullScreenClient(WebKitWebViewBase*, const WKFullScreenClientGtk*); void webkitWebViewBaseSetInspectorViewHeight(WebKitWebViewBase*, unsigned height); -void webkitWebViewBaseSetActiveContextMenuProxy(WebKitWebViewBase*, WebContextMenuProxyGtk*); -WebContextMenuProxyGtk* webkitWebViewBaseGetActiveContextMenuProxy(WebKitWebViewBase*); +void webkitWebViewBaseSetActiveContextMenuProxy(WebKitWebViewBase*, WebKit::WebContextMenuProxyGtk*); +WebKit::WebContextMenuProxyGtk* webkitWebViewBaseGetActiveContextMenuProxy(WebKitWebViewBase*); GdkEvent* webkitWebViewBaseTakeContextMenuEvent(WebKitWebViewBase*); #if USE(TEXTURE_MAPPER_GL) diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h index 6aa965d1c..2e1fed30e 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h @@ -30,14 +30,12 @@ #include "WebKitWebView.h" #include <wtf/text/CString.h> -using namespace WebKit; - void webkitWebViewLoadChanged(WebKitWebView*, WebKitLoadEvent); void webkitWebViewLoadFailed(WebKitWebView*, WebKitLoadEvent, const char* failingURI, GError*); void webkitWebViewSetEstimatedLoadProgress(WebKitWebView*, double estimatedLoadProgress); void webkitWebViewSetTitle(WebKitWebView*, const CString&); void webkitWebViewUpdateURI(WebKitWebView*); -WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView*, ImmutableDictionary* windowFeatures); +WebKit::WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView*, WebKit::ImmutableDictionary* windowFeatures); void webkitWebViewReadyToShowPage(WebKitWebView*); void webkitWebViewRunAsModal(WebKitWebView*); void webkitWebViewClosePage(WebKitWebView*); @@ -46,16 +44,16 @@ bool webkitWebViewRunJavaScriptConfirm(WebKitWebView*, const CString& message); CString webkitWebViewRunJavaScriptPrompt(WebKitWebView*, const CString& message, const CString& defaultText); void webkitWebViewMakePermissionRequest(WebKitWebView*, WebKitPermissionRequest*); void webkitWebViewMakePolicyDecision(WebKitWebView*, WebKitPolicyDecisionType, WebKitPolicyDecision*); -void webkitWebViewMouseTargetChanged(WebKitWebView*, WebHitTestResult*, unsigned modifiers); -void webkitWebViewPrintFrame(WebKitWebView*, WebFrameProxy*); -void webkitWebViewResourceLoadStarted(WebKitWebView*, WebFrameProxy*, uint64_t resourceIdentifier, WebKitURIRequest*); +void webkitWebViewMouseTargetChanged(WebKitWebView*, WebKit::WebHitTestResult*, unsigned modifiers); +void webkitWebViewPrintFrame(WebKitWebView*, WebKit::WebFrameProxy*); +void webkitWebViewResourceLoadStarted(WebKitWebView*, WebKit::WebFrameProxy*, uint64_t resourceIdentifier, WebKitURIRequest*); void webkitWebViewRunFileChooserRequest(WebKitWebView*, WebKitFileChooserRequest*); WebKitWebResource* webkitWebViewGetLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier); void webkitWebViewRemoveLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier); WebKitWebResource* webkitWebViewResourceLoadFinished(WebKitWebView*, uint64_t resourceIdentifier); bool webkitWebViewEnterFullScreen(WebKitWebView*); bool webkitWebViewLeaveFullScreen(WebKitWebView*); -void webkitWebViewPopulateContextMenu(WebKitWebView*, ImmutableArray* proposedMenu, WebHitTestResult*); +void webkitWebViewPopulateContextMenu(WebKitWebView*, WebKit::ImmutableArray* proposedMenu, WebKit::WebHitTestResult*); void webkitWebViewSubmitFormRequest(WebKitWebView*, WebKitFormSubmissionRequest*); #endif // WebKitWebViewPrivate_h diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp index 242b753e8..930cf8676 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp @@ -20,12 +20,17 @@ #include "config.h" #include "WebKitWindowProperties.h" +#include "ImmutableDictionary.h" #include "WebKitPrivate.h" #include "WebKitWindowPropertiesPrivate.h" +#include "WebNumber.h" #include "WebURLRequest.h" #include <WebCore/IntRect.h> #include <glib/gi18n-lib.h> +using namespace WebKit; +using namespace WebCore; + /** * SECTION: WebKitWindowProperties * @short_description: Window properties of a #WebKitWebView @@ -101,8 +106,6 @@ enum { PROP_FULLSCREEN }; -using namespace WebCore; - G_DEFINE_TYPE(WebKitWindowProperties, webkit_window_properties, G_TYPE_OBJECT) struct _WebKitWindowPropertiesPrivate { @@ -388,56 +391,54 @@ void webkitWindowPropertiesSetFullscreen(WebKitWindowProperties* windowPropertie g_object_notify(G_OBJECT(windowProperties), "fullscreen"); } -void webkitWindowPropertiesUpdateFromWKWindowFeatures(WebKitWindowProperties* windowProperties, WKDictionaryRef wkFeatures) +void webkitWindowPropertiesUpdateFromWebWindowFeatures(WebKitWindowProperties* windowProperties, ImmutableDictionary* features) { GdkRectangle geometry = windowProperties->priv->geometry; - WKDoubleRef doubleValue; - WKRetainPtr<WKStringRef> xKey(AdoptWK, WKStringCreateWithUTF8CString("x")); - if (doubleValue = static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(wkFeatures, xKey.get()))) - geometry.x = WKDoubleGetValue(doubleValue); + WebDouble* doubleValue = static_cast<WebDouble*>(features->get("x")); + if (doubleValue) + geometry.x = doubleValue->value(); - WKRetainPtr<WKStringRef> yKey(AdoptWK, WKStringCreateWithUTF8CString("y")); - if (doubleValue = static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(wkFeatures, yKey.get()))) - geometry.y = WKDoubleGetValue(doubleValue); + doubleValue = static_cast<WebDouble*>(features->get("y")); + if (doubleValue) + geometry.y = doubleValue->value(); - WKRetainPtr<WKStringRef> widthKey(AdoptWK, WKStringCreateWithUTF8CString("width")); - if (doubleValue = static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(wkFeatures, widthKey.get()))) - geometry.width = WKDoubleGetValue(doubleValue); + doubleValue = static_cast<WebDouble*>(features->get("width")); + if (doubleValue) + geometry.width = doubleValue->value(); - WKRetainPtr<WKStringRef> heightKey(AdoptWK, WKStringCreateWithUTF8CString("height")); - if (doubleValue = static_cast<WKDoubleRef>(WKDictionaryGetItemForKey(wkFeatures, heightKey.get()))) - geometry.height = WKDoubleGetValue(doubleValue); + doubleValue = static_cast<WebDouble*>(features->get("height")); + if (doubleValue) + geometry.height = doubleValue->value(); webkitWindowPropertiesSetGeometry(windowProperties, &geometry); - WKBooleanRef booleanValue; - WKRetainPtr<WKStringRef> menuBarVisibleKey(AdoptWK, WKStringCreateWithUTF8CString("menuBarVisible")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, menuBarVisibleKey.get()))) - webkitWindowPropertiesSetMenubarVisible(windowProperties, WKBooleanGetValue(booleanValue)); + WebBoolean* booleanValue = static_cast<WebBoolean*>(features->get("menuBarVisible")); + if (booleanValue) + webkitWindowPropertiesSetMenubarVisible(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> statusBarVisibleKey(AdoptWK, WKStringCreateWithUTF8CString("statusBarVisible")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, statusBarVisibleKey.get()))) - webkitWindowPropertiesSetStatusbarVisible(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("statusBarVisible")); + if (booleanValue) + webkitWindowPropertiesSetStatusbarVisible(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> toolBarVisibleKey(AdoptWK, WKStringCreateWithUTF8CString("toolBarVisible")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, toolBarVisibleKey.get()))) - webkitWindowPropertiesSetToolbarVisible(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("toolBarVisible")); + if (booleanValue) + webkitWindowPropertiesSetToolbarVisible(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> locationBarVisibleKey(AdoptWK, WKStringCreateWithUTF8CString("locationBarVisible")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, locationBarVisibleKey.get()))) - webkitWindowPropertiesSetLocationbarVisible(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("locationBarVisible")); + if (booleanValue) + webkitWindowPropertiesSetLocationbarVisible(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> scrollbarsVisibleKey(AdoptWK, WKStringCreateWithUTF8CString("scrollbarsVisible")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, scrollbarsVisibleKey.get()))) - webkitWindowPropertiesSetScrollbarsVisible(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("scrollbarsVisible")); + if (booleanValue) + webkitWindowPropertiesSetScrollbarsVisible(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> resizableKey(AdoptWK, WKStringCreateWithUTF8CString("resizable")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, resizableKey.get()))) - webkitWindowPropertiesSetResizable(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("resizable")); + if (booleanValue) + webkitWindowPropertiesSetResizable(windowProperties, booleanValue->value()); - WKRetainPtr<WKStringRef> fullscreenKey(AdoptWK, WKStringCreateWithUTF8CString("fullscreen")); - if (booleanValue = static_cast<WKBooleanRef>(WKDictionaryGetItemForKey(wkFeatures, fullscreenKey.get()))) - webkitWindowPropertiesSetFullscreen(windowProperties, WKBooleanGetValue(booleanValue)); + booleanValue = static_cast<WebBoolean*>(features->get("fullscreen")); + if (booleanValue) + webkitWindowPropertiesSetFullscreen(windowProperties, booleanValue->value()); } /** diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h index 7b178953d..8ec17b4ea 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h @@ -27,11 +27,11 @@ #ifndef WebKitWindowPropertiesPrivate_h #define WebKitWindowPropertiesPrivate_h +#include "WebKitPrivate.h" #include "WebKitWindowProperties.h" -#include <WebKit2/WKBase.h> WebKitWindowProperties* webkitWindowPropertiesCreate(); -void webkitWindowPropertiesUpdateFromWKWindowFeatures(WebKitWindowProperties*, WKDictionaryRef wkFeatures); +void webkitWindowPropertiesUpdateFromWebWindowFeatures(WebKitWindowProperties*, WebKit::ImmutableDictionary* features); void webkitWindowPropertiesSetGeometry(WebKitWindowProperties*, GdkRectangle*); void webkitWindowPropertiesSetToolbarVisible(WebKitWindowProperties*, bool toolbarsVisible); void webkitWindowPropertiesSetMenubarVisible(WebKitWindowProperties*, bool menuBarVisible); diff --git a/Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am b/Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am index 06ea1af7c..734024250 100644 --- a/Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am +++ b/Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am @@ -31,6 +31,7 @@ webkit2_tests_cppflags = \ -DWEBKIT_EXEC_PATH=\"${shell pwd}/$(top_builddir)/Programs\" \ -DWEBKIT_SRC_DIR=\"${shell pwd}/${srcdir}\" \ -DWEBKIT_DERIVED_SRC_DIR=\"${shell pwd}/${top_builddir}/DerivedSources\" \ + -DWEBKIT_TEST_PLUGIN_DIR=\"${shell pwd}/${top_builddir}/TestNetscapePlugin/.libs\" \ $(javascriptcore_cppflags) \ -I$(srcdir)/Source/JavaScriptCore \ -I$(srcdir)/Source \ @@ -57,7 +58,7 @@ webkit2_tests_ldflags = \ -no-install \ -no-fast-install -DerivedSources/WebKit2/webkit2gtk-tests-resources.gresource: Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies $(srcdir)/Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml) +DerivedSources/WebKit2/webkit2gtk-tests-resources.gresource: Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml) $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< DISTCLEANFILES += DerivedSources/WebKit2/webkit2gtk-tests-resources.gresource @@ -83,9 +84,7 @@ EXTRA_DIST += \ Programs_WebKit2APITests_TestWebKitWebContext_SOURCES = \ Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp -Programs_WebKit2APITests_TestWebKitWebContext_CPPFLAGS = \ - -DWEBKIT_TEST_PLUGIN_DIR=\"${shell pwd}/${top_builddir}/TestNetscapePlugin/.libs\" \ - $(webkit2_tests_cppflags) +Programs_WebKit2APITests_TestWebKitWebContext_CPPFLAGS = $(webkit2_tests_cppflags) Programs_WebKit2APITests_TestWebKitWebContext_LDADD = $(webkit2_tests_ldadd) Programs_WebKit2APITests_TestWebKitWebContext_LDFLAGS = $(webkit2_tests_ldflags) diff --git a/Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp b/Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp index 94aeef6e1..adc6b5b9b 100644 --- a/Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp @@ -132,6 +132,17 @@ public: return m_domains; } + bool hasDomain(const char* domain) + { + if (!m_domains) + return false; + + for (size_t i = 0; m_domains[i]; ++i) + if (g_str_equal(m_domains[i], domain)) + return true; + return false; + } + void deleteCookiesForDomain(const char* domain) { webkit_cookie_manager_delete_cookies_for_domain(m_cookieManager, domain); @@ -178,8 +189,8 @@ static void testCookieManagerAcceptPolicy(CookieManagerTest* test, gconstpointer domains = test->getDomains(); g_assert(domains); g_assert_cmpint(g_strv_length(domains), ==, 2); - g_assert_cmpstr(domains[0], ==, kFirstPartyDomain); - g_assert_cmpstr(domains[1], ==, kThirdPartyDomain); + g_assert(test->hasDomain(kFirstPartyDomain)); + g_assert(test->hasDomain(kThirdPartyDomain)); test->deleteAllCookies(); test->setAcceptPolicy(WEBKIT_COOKIE_POLICY_ACCEPT_NEVER); diff --git a/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp index f5197b936..55350e6c2 100644 --- a/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp @@ -857,6 +857,12 @@ static void testWebViewCanShowMIMEType(WebViewTest* test, gconstpointer) g_assert(!webkit_web_view_can_show_mime_type(test->m_webView, "application/pdf")); g_assert(!webkit_web_view_can_show_mime_type(test->m_webView, "application/zip")); g_assert(!webkit_web_view_can_show_mime_type(test->m_webView, "application/octet-stream")); + + // Plugins are only supported when enabled. + webkit_web_context_set_additional_plugins_directory(webkit_web_view_get_context(test->m_webView), WEBKIT_TEST_PLUGIN_DIR); + g_assert(webkit_web_view_can_show_mime_type(test->m_webView, "application/x-webkit-test-netscape")); + webkit_settings_set_enable_plugins(webkit_web_view_get_settings(test->m_webView), FALSE); + g_assert(!webkit_web_view_can_show_mime_type(test->m_webView, "application/x-webkit-test-netscape")); } class FormClientTest: public WebViewTest { diff --git a/Source/WebKit2/UIProcess/API/mac/WKView.mm b/Source/WebKit2/UIProcess/API/mac/WKView.mm index e4a6e6b4b..cd2de8d25 100644 --- a/Source/WebKit2/UIProcess/API/mac/WKView.mm +++ b/Source/WebKit2/UIProcess/API/mac/WKView.mm @@ -1921,6 +1921,8 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl - (void)viewDidMoveToWindow { + [self removeAllToolTips]; + // We want to make sure to update the active state while hidden, so if the view is about to become visible, we // update the active state first and then make it visible. If the view is about to be hidden, we hide it first and then // update the active state. diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp index 07ed832ce..9a0433b66 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp @@ -440,7 +440,8 @@ void QQuickWebViewPrivate::setNeedsDisplay() { Q_Q(QQuickWebView); if (renderToOffscreenBuffer()) { - // TODO: we can maintain a real image here and use it for pixel tests. Right now this is used only for running the rendering code-path while running tests. + // This is used only to mantain the rendering synchronisation between the UI and + // the web process when running tests even if the render loop is not active. QImage dummyImage(1, 1, QImage::Format_ARGB32); QPainter painter(&dummyImage); q->page()->d->paint(&painter); diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h index b1ef401a4..3738ea4c3 100644 --- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h +++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h @@ -23,6 +23,7 @@ #if USE(COORDINATED_GRAPHICS) #include "BackingStore.h" +#include "CoordinatedGraphicsArgumentCoders.h" #include "DrawingAreaProxy.h" #include "Region.h" #include "SurfaceUpdateInfo.h" @@ -60,7 +61,7 @@ public: #endif void deleteCompositingLayer(WebLayerID); void setRootCompositingLayer(WebLayerID); - void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void purgeGLResources(); void setContentsSize(const WebCore::FloatSize&); void setVisibleContentsRect(const WebCore::FloatRect&, float scale, const WebCore::FloatPoint& trajectoryVector); @@ -70,7 +71,7 @@ public: void removeTileForLayer(int layerID, int tileID); void createDirectlyCompositedImage(int64_t, const WebKit::ShareableBitmap::Handle&); void destroyDirectlyCompositedImage(int64_t); - void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void updateViewport(); void renderNextFrame(); void didChangeScrollPosition(const WebCore::IntPoint& position); diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp index e84f3236e..82e58f3f2 100644 --- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp +++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp @@ -360,7 +360,7 @@ void LayerTreeRenderer::createImage(int64_t imageID, PassRefPtr<ShareableBitmap> RefPtr<ShareableBitmap> bitmap = weakBitmap; RefPtr<TextureMapperTiledBackingStore> backingStore = TextureMapperTiledBackingStore::create(); m_directlyCompositedImages.set(imageID, backingStore); - backingStore->updateContents(m_textureMapper.get(), bitmap->createImage().get()); + backingStore->updateContents(m_textureMapper.get(), bitmap->createImage().get(), BitmapTexture::UpdateCannotModifyOriginalImageData); } void LayerTreeRenderer::destroyImage(int64_t imageID) diff --git a/Source/WebKit2/UIProcess/Downloads/DownloadProxy.h b/Source/WebKit2/UIProcess/Downloads/DownloadProxy.h index c1eda1fd1..7108e272d 100644 --- a/Source/WebKit2/UIProcess/Downloads/DownloadProxy.h +++ b/Source/WebKit2/UIProcess/Downloads/DownloadProxy.h @@ -61,8 +61,8 @@ public: void invalidate(); void processDidClose(); - void didReceiveDownloadProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncDownloadProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveDownloadProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncDownloadProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); #if PLATFORM(QT) void startTransfer(const String& filename); diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp index 2d26f4818..900d6a588 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp +++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp @@ -69,7 +69,7 @@ WebCore::IntRect DrawingAreaProxy::contentsRect() const return IntRect(IntPoint::zero(), m_webPageProxy->viewSize()); } -void DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) +void DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) { } #endif diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxy.h b/Source/WebKit2/UIProcess/DrawingAreaProxy.h index a3891badc..450816a34 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxy.h +++ b/Source/WebKit2/UIProcess/DrawingAreaProxy.h @@ -44,8 +44,8 @@ typedef struct _cairo cairo_t; #endif namespace CoreIPC { - class ArgumentDecoder; class Connection; + class MessageDecoder; class MessageID; } @@ -70,7 +70,7 @@ public: DrawingAreaType type() const { return m_type; } - void didReceiveDrawingAreaProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveDrawingAreaProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); virtual void deviceScaleFactorDidChange() = 0; @@ -100,7 +100,7 @@ public: virtual void createTileForLayer(int /* layerID */, int /* tileID */, const WebKit::UpdateInfo&) { } virtual void updateTileForLayer(int /* layerID */, int /* tileID */, const WebKit::UpdateInfo&) { } virtual void removeTileForLayer(int /* layerID */, int /* tileID */) { } - virtual void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); WebPageProxy* page() { return m_webPageProxy; } #endif diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp index 966ac6b3c..138f4c887 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp +++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp @@ -366,10 +366,10 @@ void DrawingAreaProxyImpl::enterAcceleratedCompositingMode(const LayerTreeContex } #if USE(COORDINATED_GRAPHICS) -void DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { if (m_layerTreeCoordinatorProxy) - m_layerTreeCoordinatorProxy->didReceiveLayerTreeCoordinatorProxyMessage(connection, messageID, arguments); + m_layerTreeCoordinatorProxy->didReceiveLayerTreeCoordinatorProxyMessage(connection, messageID, decoder); } void DrawingAreaProxyImpl::setVisibleContentsRect(const WebCore::FloatRect& visibleContentsRect, float scale, const WebCore::FloatPoint& trajectoryVector) diff --git a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h index 762e35c69..fe0510ef8 100644 --- a/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h +++ b/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h @@ -84,7 +84,7 @@ private: void updateAcceleratedCompositingMode(const LayerTreeContext&); #if USE(COORDINATED_GRAPHICS) virtual void setVisibleContentsRect(const WebCore::FloatRect& visibleContentsRect, float scale, const WebCore::FloatPoint& trajectory); - void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveLayerTreeCoordinatorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); #endif #else bool isInAcceleratedCompositingMode() const { return false; } diff --git a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp index 771a6eef7..ee4e3c38b 100644 --- a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp +++ b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -73,12 +73,16 @@ const char* ProcessLauncher::processTypeAsString(ProcessType processType) switch (processType) { case WebProcess: return "webprocess"; +#if ENABLE(PLUGIN_PROCESS) case PluginProcess: return "pluginprocess"; +#endif case NetworkProcess: return "networkprocess"; +#if ENABLE(SHARED_WORKER_PROCESS) case SharedWorkerProcess: return "sharedworkerprocess"; +#endif } ASSERT_NOT_REACHED(); @@ -92,20 +96,24 @@ bool ProcessLauncher::getProcessTypeFromString(const char* string, ProcessType& return true; } +#if ENABLE(PLUGIN_PROCESS) if (!strcmp(string, "pluginprocess")) { processType = PluginProcess; return true; } +#endif if (!strcmp(string, "networkprocess")) { processType = NetworkProcess; return true; } +#if ENABLE(SHARED_WORKER_PROCESS) if (!strcmp(string, "sharedworkerprocess")) { processType = SharedWorkerProcess; return true; } +#endif return false; } diff --git a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h index 5983a76a7..dd4f45d39 100644 --- a/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h +++ b/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -48,9 +48,13 @@ public: enum ProcessType { WebProcess, +#if ENABLE(PLUGIN_PROCESS) PluginProcess, +#endif NetworkProcess, +#if ENABLE(SHARED_WORKER_PROCESS) SharedWorkerProcess +#endif }; struct LaunchOptions { diff --git a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm index a9c20da32..af010e9d4 100644 --- a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm +++ b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm @@ -111,14 +111,21 @@ static void addDYLDEnvironmentAdditions(const ProcessLauncher::LaunchOptions& la if (isWebKitDevelopmentBuild) environmentVariables.appendValue("DYLD_FRAMEWORK_PATH", [frameworksPath fileSystemRepresentation], ':'); - NSString *processPath = [webKit2Bundle pathForAuxiliaryExecutable:(launchOptions.processType == ProcessLauncher::PluginProcess ? @"PluginProcess.app" : @"WebProcess.app")]; - NSString *processAppExecutablePath = [[NSBundle bundleWithPath:processPath] executablePath]; - NSString *processShimPathNSString = nil; - if (launchOptions.processType == ProcessLauncher::PluginProcess) +#if ENABLE(PLUGIN_PROCESS) + if (launchOptions.processType == ProcessLauncher::PluginProcess) { + NSString *processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"PluginProcess.app"]; + NSString *processAppExecutablePath = [[NSBundle bundleWithPath:processPath] executablePath]; + processShimPathNSString = [[processAppExecutablePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"PluginProcessShim.dylib"]; - else if (launchOptions.processType == ProcessLauncher::WebProcess) + } else +#endif // ENABLE(PLUGIN_PROCESS) + if (launchOptions.processType == ProcessLauncher::WebProcess) { + NSString *processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"WebProcess.app"]; + NSString *processAppExecutablePath = [[NSBundle bundleWithPath:processPath] executablePath]; + processShimPathNSString = [[processAppExecutablePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"WebProcessShim.dylib"]; + } // Make sure that the shim library file exists and insert it. if (processShimPathNSString) { @@ -372,17 +379,21 @@ static void createProcess(const ProcessLauncher::LaunchOptions& launchOptions, b case ProcessLauncher::WebProcess: processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"WebProcess.app"]; break; +#if ENABLE(PLUGIN_PROCESS) case ProcessLauncher::PluginProcess: processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"PluginProcess.app"]; break; +#endif #if ENABLE(NETWORK_PROCESS) case ProcessLauncher::NetworkProcess: processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"NetworkProcess.app"]; break; #endif +#if ENABLE(SHARED_WORKER_PROCESS) case ProcessLauncher::SharedWorkerProcess: processPath = [webKit2Bundle pathForAuxiliaryExecutable:@"SharedWorkerProcess.app"]; break; +#endif } NSString *frameworkExecutablePath = [webKit2Bundle executablePath]; diff --git a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp index 60cde5fa0..0b6ee1bd5 100644 --- a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp +++ b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp @@ -113,9 +113,11 @@ void ProcessLauncher::launchProcess() if (m_launchOptions.processType == WebProcess) { QByteArray webProcessPrefix = qgetenv("QT_WEBKIT2_WP_CMD_PREFIX"); commandLine = commandLine.arg(QLatin1String(webProcessPrefix.constData())).arg(QString(executablePathOfWebProcess())); +#if ENABLE(PLUGIN_PROCESS) } else if (m_launchOptions.processType == PluginProcess) { QByteArray pluginProcessPrefix = qgetenv("QT_WEBKIT2_PP_CMD_PREFIX"); commandLine = commandLine.arg(QLatin1String(pluginProcessPrefix.constData())).arg(QString(executablePathOfPluginProcess())); +#endif } else ASSERT_NOT_REACHED(); diff --git a/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp b/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp new file mode 100644 index 000000000..00f16f457 --- /dev/null +++ b/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2010, 2011, 2012 Apple 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 INC. 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 INC. 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 "NetworkProcessManager.h" + +#include "NetworkProcessProxy.h" + +namespace WebKit { + +NetworkProcessManager& NetworkProcessManager::shared() +{ + DEFINE_STATIC_LOCAL(NetworkProcessManager, networkProcessManager, ()); + return networkProcessManager; +} + +NetworkProcessManager::NetworkProcessManager() +{ +} + +void NetworkProcessManager::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply) +{ + ASSERT(reply); + + ensureNetworkProcess(); + ASSERT(m_networkProcess); + + m_networkProcess->getNetworkProcessConnection(reply); +} + +void NetworkProcessManager::ensureNetworkProcess() +{ + if (m_networkProcess) + return; + + m_networkProcess = NetworkProcessProxy::create(this); +} + +void NetworkProcessManager::removeNetworkProcessProxy(NetworkProcessProxy* networkProcessProxy) +{ + ASSERT(m_networkProcess); + ASSERT(networkProcessProxy == m_networkProcess.get()); + + m_networkProcess = 0; +} + + +} // namespace WebKit diff --git a/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h b/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h new file mode 100644 index 000000000..08d422b25 --- /dev/null +++ b/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2010, 2011, 2012 Apple 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 INC. 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 INC. 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 NetworkProcessManager_h +#define NetworkProcessManager_h + +#include "Connection.h" +#include "WebProcessProxyMessages.h" +#include <wtf/RefCounted.h> +#include <wtf/text/WTFString.h> + +namespace WebKit { + +class NetworkProcessConnection; +class NetworkProcessProxy; +class WebProcessProxy; + +class NetworkProcessManager { + WTF_MAKE_NONCOPYABLE(NetworkProcessManager); +public: + static NetworkProcessManager& shared(); + + void ensureNetworkProcess(); + + void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>); + + void removeNetworkProcessProxy(NetworkProcessProxy*); + +private: + NetworkProcessManager(); + + RefPtr<NetworkProcessProxy> m_networkProcess; +}; + +} // namespace WebKit + +#endif // NetworkProcessManager_h diff --git a/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp index fe528351a..d1a0135f5 100644 --- a/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp @@ -27,7 +27,10 @@ #include "NetworkProcessProxy.h" #include "NetworkProcessCreationParameters.h" +#include "NetworkProcessManager.h" #include "NetworkProcessMessages.h" +#include "WebContext.h" +#include "WebProcessMessages.h" #include <WebCore/RunLoop.h> #if ENABLE(NETWORK_PROCESS) @@ -36,12 +39,14 @@ using namespace WebCore; namespace WebKit { -PassRefPtr<NetworkProcessProxy> NetworkProcessProxy::create() +PassRefPtr<NetworkProcessProxy> NetworkProcessProxy::create(NetworkProcessManager* manager) { - return adoptRef(new NetworkProcessProxy); + return adoptRef(new NetworkProcessProxy(manager)); } -NetworkProcessProxy::NetworkProcessProxy() +NetworkProcessProxy::NetworkProcessProxy(NetworkProcessManager* manager) + : m_networkProcessManager(manager) + , m_numPendingConnectionRequests(0) { ProcessLauncher::LaunchOptions launchOptions; launchOptions.processType = ProcessLauncher::NetworkProcess; @@ -62,14 +67,49 @@ NetworkProcessProxy::~NetworkProcessProxy() } -void NetworkProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) +void NetworkProcessProxy::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply) { + m_pendingConnectionReplies.append(reply); + if (m_processLauncher->isLaunching()) { + m_numPendingConnectionRequests++; + return; + } + + m_connection->send(Messages::NetworkProcess::CreateNetworkConnectionToWebProcess(), 0, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply); +} + +void NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch() +{ + // The network process must have crashed or exited, send any pending sync replies we might have. + while (!m_pendingConnectionReplies.isEmpty()) { + RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); + +#if PLATFORM(MAC) + reply->send(CoreIPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); +#else + notImplemented(); +#endif + } + + // Tell the network process manager to forget about this network process proxy. This may cause us to be deleted. + m_networkProcessManager->removeNetworkProcessProxy(this); +} + +void NetworkProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) +{ + didReceiveNetworkProcessProxyMessage(connection, messageID, decoder); } void NetworkProcessProxy::didClose(CoreIPC::Connection*) { + // Notify all WebProcesses that the NetworkProcess crashed. + const Vector<WebContext*>& contexts = WebContext::allContexts(); + for (size_t i = 0; i < contexts.size(); ++i) + contexts[i]->sendToAllProcesses(Messages::WebProcess::NetworkProcessCrashed()); + // This may cause us to be deleted. + networkProcessCrashedOrFailedToLaunch(); } void NetworkProcessProxy::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID) @@ -82,6 +122,20 @@ void NetworkProcessProxy::syncMessageSendTimedOut(CoreIPC::Connection*) } +void NetworkProcessProxy::didCreateNetworkConnectionToWebProcess(const CoreIPC::Attachment& connectionIdentifier) +{ + ASSERT(!m_pendingConnectionReplies.isEmpty()); + + // Grab the first pending connection reply. + RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); + +#if PLATFORM(MAC) + reply->send(CoreIPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND)); +#else + notImplemented(); +#endif +} + void NetworkProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connection::Identifier connectionIdentifier) { ASSERT(!m_connection); @@ -103,6 +157,11 @@ void NetworkProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connecti // Initialize the network host process. m_connection->send(Messages::NetworkProcess::InitializeNetworkProcess(parameters), 0); + + for (unsigned i = 0; i < m_numPendingConnectionRequests; ++i) + m_connection->send(Messages::NetworkProcess::CreateNetworkConnectionToWebProcess(), 0); + + m_numPendingConnectionRequests = 0; } } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h index 57e37e653..1840a8e91 100644 --- a/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h +++ b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h @@ -35,24 +35,33 @@ namespace WebKit { +class NetworkProcessManager; struct NetworkProcessCreationParameters; class NetworkProcessProxy : public RefCounted<NetworkProcessProxy>, CoreIPC::Connection::Client, ProcessLauncher::Client { public: - static PassRefPtr<NetworkProcessProxy> create(); + static PassRefPtr<NetworkProcessProxy> create(NetworkProcessManager*); ~NetworkProcessProxy(); + void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>); + private: - NetworkProcessProxy(); + NetworkProcessProxy(NetworkProcessManager*); void platformInitializeNetworkProcess(NetworkProcessCreationParameters&); + void networkProcessCrashedOrFailedToLaunch(); + // CoreIPC::Connection::Client - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); virtual void didClose(CoreIPC::Connection*); virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID); virtual void syncMessageSendTimedOut(CoreIPC::Connection*); + // Message handlers + void didReceiveNetworkProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didCreateNetworkConnectionToWebProcess(const CoreIPC::Attachment&); + // ProcessLauncher::Client virtual void didFinishLaunching(ProcessLauncher*, CoreIPC::Connection::Identifier); @@ -62,6 +71,10 @@ private: // The process launcher for the network process. RefPtr<ProcessLauncher> m_processLauncher; + NetworkProcessManager* m_networkProcessManager; + + unsigned m_numPendingConnectionRequests; + Deque<RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> > m_pendingConnectionReplies; }; } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in new file mode 100644 index 000000000..379b10864 --- /dev/null +++ b/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in @@ -0,0 +1,29 @@ +# Copyright (C) 2012 Apple 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 INC. 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 INC. 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. + +#if ENABLE(NETWORK_PROCESS) + +messages -> NetworkProcessProxy { + DidCreateNetworkConnectionToWebProcess(CoreIPC::Attachment connectionIdentifier) +} + +#endif // ENABLE(NETWORK_PROCESS) diff --git a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp b/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp index 07e1f8497..08009b9da 100644 --- a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp @@ -47,7 +47,7 @@ PassRefPtr<WebNotificationManagerProxy> WebNotificationManagerProxy::create(WebC WebNotificationManagerProxy::WebNotificationManagerProxy(WebContext* context) : m_context(context) { - m_context->addMessageReceiver(CoreIPC::MessageClassWebNotificationManagerProxy, this); + m_context->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebNotificationManagerProxy, this); } void WebNotificationManagerProxy::invalidate() @@ -72,9 +72,9 @@ void WebNotificationManagerProxy::populateCopyOfNotificationPermissions(HashMap< } } -void WebNotificationManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebNotificationManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebNotificationManagerProxyMessage(connection, messageID, arguments); + didReceiveWebNotificationManagerProxyMessage(connection, messageID, decoder); } void WebNotificationManagerProxy::show(WebPageProxy* page, const String& title, const String& body, const String& iconURL, const String& tag, const String& lang, const String& dir, const String& originString, uint64_t notificationID) diff --git a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.h b/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.h index 620915d14..d54338769 100644 --- a/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.h +++ b/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.h @@ -68,8 +68,8 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebNotificationManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebNotificationManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); // Message handlers void cancel(uint64_t notificationID); diff --git a/Source/WebKit2/UIProcess/PageViewportController.cpp b/Source/WebKit2/UIProcess/PageViewportController.cpp index 02fd3b699..e010a6e52 100644 --- a/Source/WebKit2/UIProcess/PageViewportController.cpp +++ b/Source/WebKit2/UIProcess/PageViewportController.cpp @@ -66,8 +66,9 @@ PageViewportController::PageViewportController(WebKit::WebPageProxy* proxy, Page , m_hadUserInteraction(false) , m_effectiveScale(1) { - // Initializing Viewport Raw Attributes to avoid random negative scale factors + // Initializing Viewport Raw Attributes to avoid random negative or infinity scale factors // if there is a race condition between the first layout and setting the viewport attributes for the first time. + m_rawAttributes.devicePixelRatio = 1; m_rawAttributes.initialScale = 1; m_rawAttributes.minimumScale = 1; m_rawAttributes.maximumScale = 1; diff --git a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp index bff8fa941..804455490 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp +++ b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,8 @@ #include "config.h" #include "PluginInfoStore.h" +#if ENABLE(NETSCAPE_PLUGIN_API) + #include "PluginModuleInfo.h" #include <WebCore/KURL.h> #include <WebCore/MIMETypeRegistry.h> @@ -247,3 +249,5 @@ PluginModuleInfo PluginInfoStore::infoForPluginWithPath(const String& pluginPath } } // namespace WebKit + +#endif // ENABLE(NETSCAPE_PLUGIN_API) diff --git a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h index 1b2082dbb..287ec9262 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h +++ b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,8 @@ #ifndef PluginInfoStore_h #define PluginInfoStore_h +#if ENABLE(NETSCAPE_PLUGIN_API) + #include "PluginModuleInfo.h" #include <wtf/ThreadingPrimitives.h> @@ -94,4 +96,6 @@ private: } // namespace WebKit +#endif // ENABLE(NETSCAPE_PLUGIN_API) + #endif // PluginInfoStore_h diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp index 10f58b9bb..e51eed7df 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp @@ -156,9 +156,9 @@ void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch() m_pluginProcessManager->removePluginProcessProxy(this); } -void PluginProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void PluginProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceivePluginProcessProxyMessage(connection, messageID, arguments); + didReceivePluginProcessProxyMessage(connection, messageID, decoder); } void PluginProcessProxy::didClose(CoreIPC::Connection*) diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h index 132bb74bf..bdade27e5 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h +++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h @@ -98,15 +98,15 @@ private: void pluginProcessCrashedOrFailedToLaunch(); // CoreIPC::Connection::Client - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - virtual void didClose(CoreIPC::Connection*); - virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + virtual void didClose(CoreIPC::Connection*) OVERRIDE; + virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID) OVERRIDE; // ProcessLauncher::Client virtual void didFinishLaunching(ProcessLauncher*, CoreIPC::Connection::Identifier); // Message handlers - void didReceivePluginProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceivePluginProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void didCreateWebProcessConnection(const CoreIPC::Attachment&, bool supportsAsynchronousPluginInitialization); void didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID); void didClearSiteData(uint64_t callbackID); diff --git a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp index 246eeb447..ff96ab96c 100644 --- a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp +++ b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Apple Inc. All rights reserved. + * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,8 @@ #include "config.h" #include "WebPluginSiteDataManager.h" +#if ENABLE(NETSCAPE_PLUGIN_API) + #include "ImmutableArray.h" #include "PluginProcessManager.h" #include "WebContext.h" @@ -291,3 +293,4 @@ void WebPluginSiteDataManager::didClearSiteDataForAllPlugins(uint64_t callbackID } // namespace WebKit +#endif // ENABLE(NETSCAPE_PLUGIN_API) diff --git a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h index 9efa17513..9b025cc38 100644 --- a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h +++ b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Apple Inc. All rights reserved. + * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,8 @@ #ifndef WebPluginSiteDataManagerh #define WebPluginSiteDataManager_h +#if ENABLE(NETSCAPE_PLUGIN_API) + #include "APIObject.h" #include "Arguments.h" #include "GenericCallback.h" @@ -85,4 +87,6 @@ private: } // namespace WebKit +#endif // ENABLE(NETSCAPE_PLUGIN_API) + #endif // WebPluginSiteDataManager_h diff --git a/Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm b/Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm index 29c744ffd..5bacc2c2a 100644 --- a/Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm +++ b/Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Apple Inc. All rights reserved. + * Copyright (C) 2010, 2012 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,6 +26,8 @@ #import "config.h" #import "PluginInfoStore.h" +#if ENABLE(NETSCAPE_PLUGIN_API) + #import "NetscapePluginModule.h" #import "WebKitSystemInterface.h" #import <WebCore/WebCoreNSStringExtras.h> @@ -73,13 +75,7 @@ Vector<String> PluginInfoStore::individualPluginPaths() bool PluginInfoStore::getPluginInfo(const String& pluginPath, PluginModuleInfo& plugin) { -#if ENABLE(NETSCAPE_PLUGIN_API) return NetscapePluginModule::getPluginInfo(pluginPath, plugin); -#else - UNUSED_PARAM(pluginPath); - UNUSED_PARAM(plugin); - return false; -#endif } static size_t findPluginWithBundleIdentifier(const Vector<PluginModuleInfo>& plugins, const String& bundleIdentifier) @@ -155,3 +151,5 @@ String PluginInfoStore::getMIMETypeForExtension(const String& extension) } } // namespace WebKit + +#endif // ENABLE(NETSCAPE_PLUGIN_API) diff --git a/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp b/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp index afaed6d21..d4c9ec2c5 100644 --- a/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp +++ b/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp @@ -26,6 +26,9 @@ // Note: this file is only for UNIX. On other platforms we can reuse the native implementation. #include "config.h" + +#if ENABLE(NETSCAPE_PLUGIN_API) + #include "PluginInfoStore.h" #include "NetscapePluginModule.h" @@ -95,13 +98,7 @@ Vector<String> PluginInfoStore::individualPluginPaths() bool PluginInfoStore::getPluginInfo(const String& pluginPath, PluginModuleInfo& plugin) { -#if ENABLE(NETSCAPE_PLUGIN_API) return NetscapePluginModule::getPluginInfo(pluginPath, plugin); -#else - UNUSED_PARAM(pluginPath); - UNUSED_PARAM(plugin); - return false; -#endif } bool PluginInfoStore::shouldUsePlugin(Vector<PluginModuleInfo>& /*alreadyLoadedPlugins*/, const PluginModuleInfo& /*plugin*/) @@ -111,3 +108,5 @@ bool PluginInfoStore::shouldUsePlugin(Vector<PluginModuleInfo>& /*alreadyLoadedP } } // namespace WebKit + +#endif // ENABLE(NETSCAPE_PLUGIN_API) diff --git a/Source/WebKit2/UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp b/Source/WebKit2/UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp index c7a8922e1..64c7bc485 100644 --- a/Source/WebKit2/UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp +++ b/Source/WebKit2/UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp @@ -43,7 +43,7 @@ using namespace WebCore; namespace WebKit { -void PluginProcessProxy::platformInitializeLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions, const PluginModuleInfo& pluginInfo) +void PluginProcessProxy::platformInitializeLaunchOptions(ProcessLauncher::LaunchOptions&, const PluginModuleInfo&) { } diff --git a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp index 4e2fe1617..f91efd9ed 100644 --- a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp +++ b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp @@ -26,6 +26,8 @@ #include "config.h" #include "SharedWorkerProcessManager.h" +#if ENABLE(SHARED_WORKER_PROCESS) + #include "SharedWorkerProcessProxy.h" #include "WebContext.h" #include <wtf/StdLibExtras.h> @@ -70,3 +72,5 @@ SharedWorkerProcessProxy* SharedWorkerProcessManager::getOrCreateSharedWorkerPro } } // namespace WebKit + +#endif // ENABLE(SHARED_WORKER_PROCESS) diff --git a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.h b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.h index c0bc66210..ba06c7cbb 100644 --- a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.h +++ b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessManager.h @@ -26,6 +26,8 @@ #ifndef SharedWorkerProcessManager_h #define SharedWorkerProcessManager_h +#if ENABLE(SHARED_WORKER_PROCESS) + #include "PluginModuleInfo.h" #include "WebProcessProxyMessages.h" #include <wtf/Forward.h> @@ -61,4 +63,6 @@ private: } // namespace WebKit +#endif // ENABLE(SHARED_WORKER_PROCESS) + #endif // SharedWorkerProcessManager_h diff --git a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp index 5a7967572..3247dc131 100644 --- a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp @@ -26,6 +26,8 @@ #include "config.h" #include "SharedWorkerProcessProxy.h" +#if ENABLE(SHARED_WORKER_PROCESS) + #include "SharedWorkerProcessCreationParameters.h" #include "SharedWorkerProcessManager.h" #include "SharedWorkerProcessMessages.h" @@ -113,9 +115,9 @@ void SharedWorkerProcessProxy::sharedWorkerProcessCrashedOrFailedToLaunch() m_sharedWorkerProcessManager->removeSharedWorkerProcessProxy(this); } -void SharedWorkerProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void SharedWorkerProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveSharedWorkerProcessProxyMessage(connection, messageID, arguments); + didReceiveSharedWorkerProcessProxyMessage(connection, messageID, decoder); } void SharedWorkerProcessProxy::didClose(CoreIPC::Connection*) @@ -181,3 +183,5 @@ void SharedWorkerProcessProxy::didCreateWebProcessConnection(const CoreIPC::Atta } } // namespace WebKit + +#endif // ENABLE(SHARED_WORKER_PROCESS) diff --git a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.h b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.h index 477482f9e..f20551425 100644 --- a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.h +++ b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.h @@ -26,6 +26,8 @@ #ifndef SharedWorkerProcessProxy_h #define SharedWorkerProcessProxy_h +#if ENABLE(SHARED_WORKER_PROCESS) + #include "Connection.h" #include "ProcessLauncher.h" #include "WebProcessProxyMessages.h" @@ -60,7 +62,7 @@ private: void sharedWorkerProcessCrashedOrFailedToLaunch(); // CoreIPC::Connection::Client - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); virtual void didClose(CoreIPC::Connection*); virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID); @@ -68,7 +70,7 @@ private: virtual void didFinishLaunching(ProcessLauncher*, CoreIPC::Connection::Identifier); // Message handlers - void didReceiveSharedWorkerProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveSharedWorkerProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void didCreateWebProcessConnection(const CoreIPC::Attachment&); void platformInitializeSharedWorkerProcess(SharedWorkerProcessCreationParameters&); @@ -91,4 +93,6 @@ private: } // namespace WebKit +#endif // ENABLE(SHARED_WORKER_PROCESS) + #endif // SharedWorkerProcessProxy_h diff --git a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in index e55c8c044..ec98b6d4c 100644 --- a/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in +++ b/Source/WebKit2/UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in @@ -20,6 +20,10 @@ # 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. +#if ENABLE(SHARED_WORKER_PROCESS) + messages -> SharedWorkerProcessProxy { DidCreateWebProcessConnection(CoreIPC::Attachment connectionIdentifier) } + +#endif // ENABLE(SHARED_WORKER_PROCESS) diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp index 4fc41ba21..de668ab0e 100644 --- a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp @@ -41,7 +41,7 @@ PassRefPtr<WebApplicationCacheManagerProxy> WebApplicationCacheManagerProxy::cre WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy(WebContext* context) : m_webContext(context) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebApplicationCacheManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebApplicationCacheManagerProxy, this); } WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy() @@ -58,9 +58,9 @@ bool WebApplicationCacheManagerProxy::shouldTerminate(WebProcessProxy*) const return m_arrayCallbacks.isEmpty(); } -void WebApplicationCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebApplicationCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebApplicationCacheManagerProxyMessage(connection, messageID, arguments); + didReceiveWebApplicationCacheManagerProxyMessage(connection, messageID, decoder); } void WebApplicationCacheManagerProxy::getApplicationCacheOrigins(PassRefPtr<ArrayCallback> prpCallback) diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h index 464621856..32538b3d3 100644 --- a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.h @@ -35,7 +35,6 @@ #include <wtf/Vector.h> namespace CoreIPC { - class ArgumentDecoder; class Connection; class MessageID; } @@ -73,8 +72,8 @@ private: void didGetApplicationCacheOrigins(const Vector<SecurityOriginData>&, uint64_t callbackID); // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebApplicationCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebApplicationCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); WebContext* m_webContext; HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks; diff --git a/Source/WebKit2/UIProcess/WebBatteryManagerProxy.cpp b/Source/WebKit2/UIProcess/WebBatteryManagerProxy.cpp index b42b7b021..44b5aca0a 100644 --- a/Source/WebKit2/UIProcess/WebBatteryManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebBatteryManagerProxy.cpp @@ -42,7 +42,7 @@ WebBatteryManagerProxy::WebBatteryManagerProxy(WebContext* context) : m_isUpdating(false) , m_context(context) { - m_context->addMessageReceiver(CoreIPC::MessageClassWebBatteryManagerProxy, this); + m_context->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebBatteryManagerProxy, this); } WebBatteryManagerProxy::~WebBatteryManagerProxy() @@ -59,9 +59,9 @@ void WebBatteryManagerProxy::initializeProvider(const WKBatteryProvider* provide m_provider.initialize(provider); } -void WebBatteryManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebBatteryManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebBatteryManagerProxyMessage(connection, messageID, arguments); + didReceiveWebBatteryManagerProxyMessage(connection, messageID, decoder); } void WebBatteryManagerProxy::startUpdating() diff --git a/Source/WebKit2/UIProcess/WebBatteryManagerProxy.h b/Source/WebKit2/UIProcess/WebBatteryManagerProxy.h index 65c6614da..83e2128ac 100644 --- a/Source/WebKit2/UIProcess/WebBatteryManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebBatteryManagerProxy.h @@ -59,10 +59,10 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; // Implemented in generated WebBatteryManagerProxyMessageReceiver.cpp - void didReceiveWebBatteryManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveWebBatteryManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void startUpdating(); void stopUpdating(); diff --git a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp index 86ba91c08..ff43b3411 100644 --- a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp +++ b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp @@ -52,14 +52,14 @@ WebConnectionToWebProcess::WebConnectionToWebProcess(WebProcessProxy* process, C // WebConnection -void WebConnectionToWebProcess::encodeMessageBody(CoreIPC::ArgumentEncoder* argumentEncoder, APIObject* messageBody) +void WebConnectionToWebProcess::encodeMessageBody(CoreIPC::ArgumentEncoder& encoder, APIObject* messageBody) { - argumentEncoder->encode(WebContextUserMessageEncoder(messageBody)); + encoder.encode(WebContextUserMessageEncoder(messageBody)); } -bool WebConnectionToWebProcess::decodeMessageBody(CoreIPC::ArgumentDecoder* argumentDecoder, RefPtr<APIObject>& messageBody) +bool WebConnectionToWebProcess::decodeMessageBody(CoreIPC::ArgumentDecoder& decoder, RefPtr<APIObject>& messageBody) { - if (!argumentDecoder->decode(WebContextUserMessageDecoder(messageBody, m_process))) + if (!decoder.decode(WebContextUserMessageDecoder(messageBody, m_process))) return false; return true; @@ -67,19 +67,19 @@ bool WebConnectionToWebProcess::decodeMessageBody(CoreIPC::ArgumentDecoder* argu // CoreIPC::Connection::Client -void WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { if (messageID.is<CoreIPC::MessageClassWebConnection>()) { - didReceiveWebConnectionMessage(connection, messageID, arguments); + didReceiveWebConnectionMessage(connection, messageID, decoder); return; } - m_process->didReceiveMessage(connection, messageID, arguments); + m_process->didReceiveMessage(connection, messageID, decoder); } -void WebConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - m_process->didReceiveSyncMessage(connection, messageID, arguments, reply); + m_process->didReceiveSyncMessage(connection, messageID, decoder, replyEncoder); } void WebConnectionToWebProcess::didClose(CoreIPC::Connection* connection) diff --git a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.h b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.h index 160813247..0b1fc09f8 100644 --- a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.h +++ b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.h @@ -42,12 +42,12 @@ private: WebConnectionToWebProcess(WebProcessProxy*, CoreIPC::Connection::Identifier, WebCore::RunLoop*); // WebConnection - virtual void encodeMessageBody(CoreIPC::ArgumentEncoder*, APIObject*) OVERRIDE; - virtual bool decodeMessageBody(CoreIPC::ArgumentDecoder*, RefPtr<APIObject>&) OVERRIDE; + virtual void encodeMessageBody(CoreIPC::ArgumentEncoder&, APIObject*) OVERRIDE; + virtual bool decodeMessageBody(CoreIPC::ArgumentDecoder&, RefPtr<APIObject>&) OVERRIDE; // CoreIPC::Connection::Client - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); virtual void didClose(CoreIPC::Connection*); virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID); #if PLATFORM(WIN) diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp index 81e7bc477..76cb514b9 100644 --- a/Source/WebKit2/UIProcess/WebContext.cpp +++ b/Source/WebKit2/UIProcess/WebContext.cpp @@ -69,6 +69,10 @@ #include "WebNetworkInfoManagerProxy.h" #endif +#if ENABLE(NETWORK_PROCESS) +#include "NetworkProcessManager.h" +#endif + #if USE(SOUP) #include "WebSoupRequestManagerProxy.h" #endif @@ -129,9 +133,9 @@ WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePa , m_usesNetworkProcess(false) #endif { - addMessageReceiver(CoreIPC::MessageClassWebContext, this); - addMessageReceiver(CoreIPC::MessageClassDownloadProxy, this); - addMessageReceiver(CoreIPC::MessageClassWebContextLegacy, this); + deprecatedAddMessageReceiver(CoreIPC::MessageClassWebContext, this); + deprecatedAddMessageReceiver(CoreIPC::MessageClassDownloadProxy, this); + deprecatedAddMessageReceiver(CoreIPC::MessageClassWebContextLegacy, this); // NOTE: These sub-objects must be initialized after m_messageReceiverMap.. m_applicationCacheManagerProxy = WebApplicationCacheManagerProxy::create(this); @@ -150,7 +154,9 @@ WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePa m_networkInfoManagerProxy = WebNetworkInfoManagerProxy::create(this); #endif m_notificationManagerProxy = WebNotificationManagerProxy::create(this); +#if ENABLE(NETSCAPE_PLUGIN_API) m_pluginSiteDataManager = WebPluginSiteDataManager::create(this); +#endif // ENABLE(NETSCAPE_PLUGIN_API) m_resourceCacheManagerProxy = WebResourceCacheManagerProxy::create(this); #if USE(SOUP) m_soupRequestManagerProxy = WebSoupRequestManagerProxy::create(this); @@ -221,8 +227,10 @@ WebContext::~WebContext() m_notificationManagerProxy->invalidate(); m_notificationManagerProxy->clearContext(); +#if ENABLE(NETSCAPE_PLUGIN_API) m_pluginSiteDataManager->invalidate(); m_pluginSiteDataManager->clearContext(); +#endif m_resourceCacheManagerProxy->invalidate(); m_resourceCacheManagerProxy->clearContext(); @@ -332,7 +340,7 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess() { #if ENABLE(NETWORK_PROCESS) if (m_usesNetworkProcess) - ensureNetworkProcess(); + NetworkProcessManager::shared().ensureNetworkProcess(); #endif RefPtr<WebProcessProxy> process = WebProcessProxy::create(this); @@ -392,6 +400,10 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess() m_notificationManagerProxy->populateCopyOfNotificationPermissions(parameters.notificationPermissions); #endif +#if ENABLE(NETWORK_PROCESS) + parameters.usesNetworkProcess = m_usesNetworkProcess; +#endif + // Add any platform specific parameters platformInitializeWebProcess(parameters); @@ -431,16 +443,6 @@ void WebContext::warmInitialProcess() m_haveInitialEmptyProcess = true; } -#if ENABLE(NETWORK_PROCESS) -void WebContext::ensureNetworkProcess() -{ - if (m_networkProcess) - return; - - m_networkProcess = NetworkProcessProxy::create(); -} -#endif - void WebContext::enableProcessTermination() { m_processTerminationEnabled = true; @@ -473,8 +475,10 @@ bool WebContext::shouldTerminate(WebProcessProxy* process) return false; if (!m_mediaCacheManagerProxy->shouldTerminate(process)) return false; +#if ENABLE(NETSCAPE_PLUGIN_API) if (!m_pluginSiteDataManager->shouldTerminate(process)) return false; +#endif if (!m_resourceCacheManagerProxy->shouldTerminate(process)) return false; @@ -551,7 +555,7 @@ void WebContext::disconnectProcess(WebProcessProxy* process) // When out of process plug-ins are enabled, we don't want to invalidate the plug-in site data // manager just because the web process crashes since it's not involved. -#if !ENABLE(PLUGIN_PROCESS) +#if ENABLE(NETSCAPE_PLUGIN_API) && !ENABLE(PLUGIN_PROCESS) m_pluginSiteDataManager->invalidate(); #endif @@ -663,6 +667,7 @@ WebContext::Statistics& WebContext::statistics() return statistics; } +#if ENABLE(NETSCAPE_PLUGIN_API) void WebContext::setAdditionalPluginsDirectory(const String& directory) { Vector<String> directories; @@ -670,6 +675,7 @@ void WebContext::setAdditionalPluginsDirectory(const String& directory) m_pluginInfoStore.setAdditionalPluginsDirectories(directories); } +#endif // ENABLE(NETSCAPE_PLUGIN_API) void WebContext::setAlwaysUsesComplexTextCodePath(bool alwaysUseComplexText) { @@ -741,7 +747,7 @@ void WebContext::addVisitedLink(const String& visitedURL) if (visitedURL.isEmpty()) return; - LinkHash linkHash = visitedLinkHash(visitedURL.characters(), visitedURL.length()); + LinkHash linkHash = visitedLinkHash(visitedURL); addVisitedLinkHash(linkHash); } @@ -777,31 +783,31 @@ HashSet<String, CaseFoldingHash> WebContext::pdfAndPostScriptMIMETypes() return mimeTypes; } -void WebContext::addMessageReceiver(CoreIPC::MessageClass messageClass, CoreIPC::MessageReceiver* messageReceiver) +void WebContext::deprecatedAddMessageReceiver(CoreIPC::MessageClass messageClass, CoreIPC::MessageReceiver* messageReceiver) { - m_messageReceiverMap.addMessageReceiver(messageClass, messageReceiver); + m_messageReceiverMap.deprecatedAddMessageReceiver(messageClass, messageReceiver); } -bool WebContext::dispatchMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* argumentDecoder) +bool WebContext::dispatchMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - return m_messageReceiverMap.dispatchMessage(connection, messageID, argumentDecoder); + return m_messageReceiverMap.dispatchMessage(connection, messageID, decoder); } -bool WebContext::dispatchSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* argumentDecoder, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +bool WebContext::dispatchSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - return m_messageReceiverMap.dispatchSyncMessage(connection, messageID, argumentDecoder, reply); + return m_messageReceiverMap.dispatchSyncMessage(connection, messageID, decoder, replyEncoder); } -void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { if (messageID.is<CoreIPC::MessageClassWebContext>()) { - didReceiveWebContextMessage(connection, messageID, arguments); + didReceiveWebContextMessage(connection, messageID, decoder); return; } if (messageID.is<CoreIPC::MessageClassDownloadProxy>()) { - if (DownloadProxy* downloadProxy = m_downloads.get(arguments->destinationID()).get()) - downloadProxy->didReceiveDownloadProxyMessage(connection, messageID, arguments); + if (DownloadProxy* downloadProxy = m_downloads.get(decoder.destinationID()).get()) + downloadProxy->didReceiveDownloadProxyMessage(connection, messageID, decoder); return; } @@ -811,7 +817,7 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes String messageName; RefPtr<APIObject> messageBody; WebContextUserMessageDecoder messageDecoder(messageBody, WebProcessProxy::fromConnection(connection)); - if (!arguments->decode(CoreIPC::Out(messageName, messageDecoder))) + if (!decoder.decode(CoreIPC::Out(messageName, messageDecoder))) return; didReceiveMessageFromInjectedBundle(messageName, messageBody.get()); @@ -824,16 +830,16 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes ASSERT_NOT_REACHED(); } -void WebContext::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebContext::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { if (messageID.is<CoreIPC::MessageClassWebContext>()) { - didReceiveSyncWebContextMessage(connection, messageID, arguments, reply); + didReceiveSyncWebContextMessage(connection, messageID, decoder, replyEncoder); return; } if (messageID.is<CoreIPC::MessageClassDownloadProxy>()) { - if (DownloadProxy* downloadProxy = m_downloads.get(arguments->destinationID()).get()) - downloadProxy->didReceiveSyncDownloadProxyMessage(connection, messageID, arguments, reply); + if (DownloadProxy* downloadProxy = m_downloads.get(decoder.destinationID()).get()) + downloadProxy->didReceiveSyncDownloadProxyMessage(connection, messageID, decoder, replyEncoder); return; } @@ -844,12 +850,12 @@ void WebContext::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC: String messageName; RefPtr<APIObject> messageBody; WebContextUserMessageDecoder messageDecoder(messageBody, WebProcessProxy::fromConnection(connection)); - if (!arguments->decode(CoreIPC::Out(messageName, messageDecoder))) + if (!decoder.decode(CoreIPC::Out(messageName, messageDecoder))) return; RefPtr<APIObject> returnData; didReceiveSynchronousMessageFromInjectedBundle(messageName, messageBody.get(), returnData); - reply->encode(CoreIPC::In(WebContextUserMessageEncoder(returnData.get()))); + replyEncoder->encode(CoreIPC::In(WebContextUserMessageEncoder(returnData.get()))); return; } case WebContextLegacyMessage::PostMessage: diff --git a/Source/WebKit2/UIProcess/WebContext.h b/Source/WebKit2/UIProcess/WebContext.h index 9e8d8054a..e3f6a69db 100644 --- a/Source/WebKit2/UIProcess/WebContext.h +++ b/Source/WebKit2/UIProcess/WebContext.h @@ -46,10 +46,6 @@ #include <wtf/text/StringHash.h> #include <wtf/text/WTFString.h> -#if ENABLE(NETWORK_PROCESS) -#include "NetworkProcessProxy.h" -#endif - namespace WebKit { class DownloadProxy; @@ -90,9 +86,9 @@ public: static const Vector<WebContext*>& allContexts(); - void addMessageReceiver(CoreIPC::MessageClass, CoreIPC::MessageReceiver*); - bool dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - bool dispatchSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void deprecatedAddMessageReceiver(CoreIPC::MessageClass, CoreIPC::MessageReceiver*); + bool dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + bool dispatchSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void initializeInjectedBundleClient(const WKContextInjectedBundleClient*); void initializeConnectionClient(const WKContextConnectionClient*); @@ -130,10 +126,12 @@ public: void didReceiveSynchronousMessageFromInjectedBundle(const String&, APIObject*, RefPtr<APIObject>& returnData); void populateVisitedLinks(); - + +#if ENABLE(NETSCAPE_PLUGIN_API) void setAdditionalPluginsDirectory(const String&); PluginInfoStore& pluginInfoStore() { return m_pluginInfoStore; } +#endif String applicationCacheDirectory(); void setAlwaysUsesComplexTextCodePath(bool); @@ -151,8 +149,8 @@ public: void addVisitedLinkHash(WebCore::LinkHash); // MessageReceiver. - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&) OVERRIDE; void setCacheModel(CacheModel); CacheModel cacheModel() const { return m_cacheModel; } @@ -195,7 +193,9 @@ public: WebNetworkInfoManagerProxy* networkInfoManagerProxy() const { return m_networkInfoManagerProxy.get(); } #endif WebNotificationManagerProxy* notificationManagerProxy() const { return m_notificationManagerProxy.get(); } +#if ENABLE(NETSCAPE_PLUGIN_API) WebPluginSiteDataManager* pluginSiteDataManager() const { return m_pluginSiteDataManager.get(); } +#endif WebResourceCacheManagerProxy* resourceCacheManagerProxy() const { return m_resourceCacheManagerProxy.get(); } #if USE(SOUP) WebSoupRequestManagerProxy* soupRequestManagerProxy() const { return m_soupRequestManagerProxy.get(); } @@ -253,10 +253,6 @@ private: void platformInitializeWebProcess(WebProcessCreationParameters&); void platformInvalidateContext(); -#if ENABLE(NETWORK_PROCESS) - void ensureNetworkProcess(); -#endif - #if PLATFORM(MAC) void getPasteboardTypes(const String& pasteboardName, Vector<String>& pasteboardTypes); void getPasteboardPathnamesForType(const String& pasteboardName, const String& pasteboardType, Vector<String>& pathnames); @@ -283,8 +279,8 @@ private: void didGetWebCoreStatistics(const StatisticsData&, uint64_t callbackID); // Implemented in generated WebContextMessageReceiver.cpp - void didReceiveWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); static void languageChanged(void* context); void languageChanged(); @@ -315,10 +311,12 @@ private: WebContextInjectedBundleClient m_injectedBundleClient; WebContextConnectionClient m_connectionClient; - + WebHistoryClient m_historyClient; +#if ENABLE(NETSCAPE_PLUGIN_API) PluginInfoStore m_pluginInfoStore; +#endif VisitedLinkProvider m_visitedLinkProvider; HashSet<String> m_schemesToRegisterAsEmptyDocument; @@ -360,7 +358,9 @@ private: RefPtr<WebNetworkInfoManagerProxy> m_networkInfoManagerProxy; #endif RefPtr<WebNotificationManagerProxy> m_notificationManagerProxy; +#if ENABLE(NETSCAPE_PLUGIN_API) RefPtr<WebPluginSiteDataManager> m_pluginSiteDataManager; +#endif RefPtr<WebResourceCacheManagerProxy> m_resourceCacheManagerProxy; #if USE(SOUP) RefPtr<WebSoupRequestManagerProxy> m_soupRequestManagerProxy; @@ -387,7 +387,6 @@ private: bool m_processTerminationEnabled; #if ENABLE(NETWORK_PROCESS) - RefPtr<NetworkProcessProxy> m_networkProcess; bool m_usesNetworkProcess; #endif diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp index aa33ce62f..6f876cfcc 100644 --- a/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp @@ -41,7 +41,7 @@ PassRefPtr<WebCookieManagerProxy> WebCookieManagerProxy::create(WebContext* cont WebCookieManagerProxy::WebCookieManagerProxy(WebContext* context) : m_webContext(context) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebCookieManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebCookieManagerProxy, this); } WebCookieManagerProxy::~WebCookieManagerProxy() @@ -64,9 +64,9 @@ void WebCookieManagerProxy::initializeClient(const WKCookieManagerClient* client m_client.initialize(client); } -void WebCookieManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebCookieManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebCookieManagerProxyMessage(connection, messageID, arguments); + didReceiveWebCookieManagerProxyMessage(connection, messageID, decoder); } void WebCookieManagerProxy::getHostnamesWithCookies(PassRefPtr<ArrayCallback> prpCallback) diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.h b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h index 6981c0d06..c0168e28c 100644 --- a/Source/WebKit2/UIProcess/WebCookieManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h @@ -36,7 +36,6 @@ #include <wtf/Vector.h> namespace CoreIPC { - class ArgumentDecoder; class Connection; class MessageID; } @@ -88,8 +87,8 @@ private: void cookiesDidChange(); // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebCookieManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebCookieManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); #if PLATFORM(MAC) void persistHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy); diff --git a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp index a3fda6556..8f24028cb 100644 --- a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp @@ -94,7 +94,7 @@ PassRefPtr<WebDatabaseManagerProxy> WebDatabaseManagerProxy::create(WebContext* WebDatabaseManagerProxy::WebDatabaseManagerProxy(WebContext* webContext) : m_webContext(webContext) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebDatabaseManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebDatabaseManagerProxy, this); } WebDatabaseManagerProxy::~WebDatabaseManagerProxy() @@ -232,9 +232,9 @@ void WebDatabaseManagerProxy::didModifyDatabase(const String& originIdentifier, m_client.didModifyDatabase(this, origin.get(), databaseIdentifier); } -void WebDatabaseManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebDatabaseManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebDatabaseManagerProxyMessage(connection, messageID, arguments); + didReceiveWebDatabaseManagerProxyMessage(connection, messageID, decoder); } } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.h b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.h index b724a847d..7c695fcbb 100644 --- a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.h @@ -81,8 +81,8 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebDatabaseManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebDatabaseManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); // Message handlers. void didGetDatabasesByOrigin(const Vector<OriginAndDatabases>& originAndDatabases, uint64_t callbackID); diff --git a/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp b/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp index fe71ecaa4..e49ad86ef 100644 --- a/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp @@ -54,14 +54,14 @@ void WebFullScreenManagerProxy::setWebView(PlatformWebView* webView) m_webView = webView; } -void WebFullScreenManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebFullScreenManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebFullScreenManagerProxyMessage(connection, messageID, arguments); + didReceiveWebFullScreenManagerProxyMessage(connection, messageID, decoder); } -void WebFullScreenManagerProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebFullScreenManagerProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - didReceiveSyncWebFullScreenManagerProxyMessage(connection, messageID, arguments, reply); + didReceiveSyncWebFullScreenManagerProxyMessage(connection, messageID, decoder, replyEncoder); } void WebFullScreenManagerProxy::willEnterFullScreen() diff --git a/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h b/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h index b83af5476..04aed9a3f 100644 --- a/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h @@ -79,8 +79,8 @@ public: bool isFullScreen(); void close(); - void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply); + void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void willEnterFullScreen(); void didEnterFullScreen(); @@ -101,8 +101,8 @@ private: WebPageProxy* m_page; PlatformWebView* m_webView; - void didReceiveWebFullScreenManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebFullScreenManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply); + void didReceiveWebFullScreenManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebFullScreenManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); }; } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp b/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp index e20d1eebd..6cccd849c 100644 --- a/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp @@ -40,7 +40,7 @@ WebGeolocationManagerProxy::WebGeolocationManagerProxy(WebContext* context) : m_isUpdating(false) , m_context(context) { - m_context->addMessageReceiver(CoreIPC::MessageClassWebGeolocationManagerProxy, this); + m_context->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebGeolocationManagerProxy, this); } WebGeolocationManagerProxy::~WebGeolocationManagerProxy() @@ -73,9 +73,9 @@ void WebGeolocationManagerProxy::providerDidFailToDeterminePosition(const String m_context->sendToAllProcesses(Messages::WebGeolocationManager::DidFailToDeterminePosition(errorMessage)); } -void WebGeolocationManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebGeolocationManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebGeolocationManagerProxyMessage(connection, messageID, arguments); + didReceiveWebGeolocationManagerProxyMessage(connection, messageID, decoder); } void WebGeolocationManagerProxy::startUpdating() diff --git a/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h b/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h index 8f4102b61..81fc19e8e 100644 --- a/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h @@ -57,10 +57,10 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; // Implemented in generated WebGeolocationManagerProxyMessageReceiver.cpp - void didReceiveWebGeolocationManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveWebGeolocationManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void startUpdating(); void stopUpdating(); diff --git a/Source/WebKit2/UIProcess/WebIconDatabase.cpp b/Source/WebKit2/UIProcess/WebIconDatabase.cpp index 8b71e89e0..1092b9ac5 100644 --- a/Source/WebKit2/UIProcess/WebIconDatabase.cpp +++ b/Source/WebKit2/UIProcess/WebIconDatabase.cpp @@ -54,7 +54,7 @@ WebIconDatabase::WebIconDatabase(WebContext* context) , m_urlImportCompleted(false) , m_databaseCleanupDisabled(false) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebIconDatabase, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebIconDatabase, this); } void WebIconDatabase::invalidate() @@ -284,14 +284,14 @@ void WebIconDatabase::didFinishURLImport() m_urlImportCompleted = true; } -void WebIconDatabase::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* decoder) +void WebIconDatabase::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { didReceiveWebIconDatabaseMessage(connection, messageID, decoder); } -void WebIconDatabase::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* decoder, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebIconDatabase::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - didReceiveSyncWebIconDatabaseMessage(connection, messageID, decoder, reply); + didReceiveSyncWebIconDatabaseMessage(connection, messageID, decoder, replyEncoder); } void WebIconDatabase::notifyIconDataReadyForPageURL(const String& pageURL) diff --git a/Source/WebKit2/UIProcess/WebIconDatabase.h b/Source/WebKit2/UIProcess/WebIconDatabase.h index 8643a481d..0947ec00b 100644 --- a/Source/WebKit2/UIProcess/WebIconDatabase.h +++ b/Source/WebKit2/UIProcess/WebIconDatabase.h @@ -103,11 +103,11 @@ private: virtual void didFinishURLImport(); // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&) OVERRIDE; - void didReceiveWebIconDatabaseMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebIconDatabaseMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveWebIconDatabaseMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebIconDatabaseMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void notifyIconDataReadyForPageURL(const String&); diff --git a/Source/WebKit2/UIProcess/WebInspectorProxy.h b/Source/WebKit2/UIProcess/WebInspectorProxy.h index 6922b7d73..88575a3cc 100644 --- a/Source/WebKit2/UIProcess/WebInspectorProxy.h +++ b/Source/WebKit2/UIProcess/WebInspectorProxy.h @@ -125,8 +125,8 @@ public: #if ENABLE(INSPECTOR) // Implemented in generated WebInspectorProxyMessageReceiver.cpp - void didReceiveWebInspectorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebInspectorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveWebInspectorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebInspectorProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); #endif static bool isInspectorPage(WebPageProxy*); diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp index 454d082f5..5c3088d98 100644 --- a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp @@ -41,7 +41,7 @@ PassRefPtr<WebKeyValueStorageManagerProxy> WebKeyValueStorageManagerProxy::creat WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy(WebContext* context) : m_webContext(context) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebKeyValueStorageManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebKeyValueStorageManagerProxy, this); } WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy() @@ -58,9 +58,9 @@ bool WebKeyValueStorageManagerProxy::shouldTerminate(WebProcessProxy*) const return m_arrayCallbacks.isEmpty(); } -void WebKeyValueStorageManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebKeyValueStorageManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebKeyValueStorageManagerProxyMessage(connection, messageID, arguments); + didReceiveWebKeyValueStorageManagerProxyMessage(connection, messageID, decoder); } void WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins(PassRefPtr<ArrayCallback> prpCallback) diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h index 9c63142f6..ba392bb2e 100644 --- a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h @@ -67,8 +67,8 @@ private: void didGetKeyValueStorageOrigins(const Vector<SecurityOriginData>&, uint64_t callbackID); // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebKeyValueStorageManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebKeyValueStorageManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); WebContext* m_webContext; HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks; diff --git a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp index 81cf98f56..39cf73a89 100644 --- a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp @@ -40,7 +40,7 @@ PassRefPtr<WebMediaCacheManagerProxy> WebMediaCacheManagerProxy::create(WebConte WebMediaCacheManagerProxy::WebMediaCacheManagerProxy(WebContext* context) : m_webContext(context) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebMediaCacheManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebMediaCacheManagerProxy, this); } WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy() @@ -57,9 +57,9 @@ bool WebMediaCacheManagerProxy::shouldTerminate(WebProcessProxy*) const return m_arrayCallbacks.isEmpty(); } -void WebMediaCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebMediaCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebMediaCacheManagerProxyMessage(connection, messageID, arguments); + didReceiveWebMediaCacheManagerProxyMessage(connection, messageID, decoder); } void WebMediaCacheManagerProxy::getHostnamesWithMediaCache(PassRefPtr<ArrayCallback> prpCallback) diff --git a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h index 48e88e0fc..4531a7210 100644 --- a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h @@ -65,8 +65,8 @@ private: void didGetHostnamesWithMediaCache(const Vector<String>&, uint64_t callbackID); // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebMediaCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebMediaCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); WebContext* m_webContext; HashMap<uint64_t, RefPtr<ArrayCallback> > m_arrayCallbacks; diff --git a/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.cpp b/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.cpp index 21a399bc0..7f30a5340 100644 --- a/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.cpp @@ -43,7 +43,7 @@ WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy(WebContext* context) : m_isUpdating(false) , m_context(context) { - m_context->addMessageReceiver(CoreIPC::MessageClassWebNetworkInfoManagerProxy, this); + m_context->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebNetworkInfoManagerProxy, this); } WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy() @@ -68,14 +68,14 @@ void WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation(const Atomi m_context->sendToAllProcesses(Messages::WebNetworkInfoManager::DidChangeNetworkInformation(eventType, networkInformation->data())); } -void WebNetworkInfoManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebNetworkInfoManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebNetworkInfoManagerProxyMessage(connection, messageID, arguments); + didReceiveWebNetworkInfoManagerProxyMessage(connection, messageID, decoder); } -void WebNetworkInfoManagerProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebNetworkInfoManagerProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - didReceiveSyncWebNetworkInfoManagerProxyMessage(connection, messageID, arguments, reply); + didReceiveSyncWebNetworkInfoManagerProxyMessage(connection, messageID, decoder, replyEncoder); } void WebNetworkInfoManagerProxy::startUpdating() diff --git a/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.h b/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.h index 2c4ef7c67..456010c25 100644 --- a/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.h @@ -58,12 +58,12 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&) OVERRIDE; // Implemented in generated WebNetworkInfoManagerProxyMessageReceiver.cpp - void didReceiveWebNetworkInfoManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebNetworkInfoManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveWebNetworkInfoManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebNetworkInfoManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void startUpdating(); void stopUpdating(); diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp index 7ef4a249f..56c7cfea5 100644 --- a/Source/WebKit2/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp @@ -722,11 +722,11 @@ void WebPageProxy::shouldGoToBackForwardListItem(uint64_t itemID, bool& shouldGo shouldGoToBackForwardItem = item && m_loaderClient.shouldGoToBackForwardListItem(this, item); } -void WebPageProxy::willGoToBackForwardListItem(uint64_t itemID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::willGoToBackForwardListItem(uint64_t itemID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; if (WebBackForwardListItem* item = m_process->webBackForwardItem(itemID)) @@ -779,11 +779,12 @@ bool WebPageProxy::canShowMIMEType(const String& mimeType) const if (MIMETypeRegistry::canShowMIMEType(mimeType)) return true; +#if ENABLE(NETSCAPE_PLUGIN_API) String newMimeType = mimeType; PluginModuleInfo plugin = m_process->context()->pluginInfoStore().findPlugin(newMimeType, KURL()); - if (!plugin.path.isNull()) + if (!plugin.path.isNull() && m_pageGroup->preferences()->pluginsEnabled()) return true; - +#endif // ENABLE(NETSCAPE_PLUGIN_API) return false; } @@ -1835,16 +1836,16 @@ void WebPageProxy::preferencesDidChange() m_process->send(Messages::WebPage::PreferencesDidChange(pageGroup()->preferences()->store()), m_pageID, m_isPerformingDOMPrintOperation ? CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply : 0); } -void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { if (messageID.is<CoreIPC::MessageClassDrawingAreaProxy>()) { - m_drawingArea->didReceiveDrawingAreaProxyMessage(connection, messageID, arguments); + m_drawingArea->didReceiveDrawingAreaProxyMessage(connection, messageID, decoder); return; } #if USE(COORDINATED_GRAPHICS) if (messageID.is<CoreIPC::MessageClassLayerTreeCoordinatorProxy>()) { - m_drawingArea->didReceiveLayerTreeCoordinatorProxyMessage(connection, messageID, arguments); + m_drawingArea->didReceiveLayerTreeCoordinatorProxyMessage(connection, messageID, decoder); return; } #endif @@ -1852,40 +1853,40 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M #if ENABLE(INSPECTOR) if (messageID.is<CoreIPC::MessageClassWebInspectorProxy>()) { if (WebInspectorProxy* inspector = this->inspector()) - inspector->didReceiveWebInspectorProxyMessage(connection, messageID, arguments); + inspector->didReceiveWebInspectorProxyMessage(connection, messageID, decoder); return; } #endif #if ENABLE(FULLSCREEN_API) if (messageID.is<CoreIPC::MessageClassWebFullScreenManagerProxy>()) { - fullScreenManager()->didReceiveMessage(connection, messageID, arguments); + fullScreenManager()->didReceiveMessage(connection, messageID, decoder); return; } #endif - didReceiveWebPageProxyMessage(connection, messageID, arguments); + didReceiveWebPageProxyMessage(connection, messageID, decoder); } -void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { #if ENABLE(INSPECTOR) if (messageID.is<CoreIPC::MessageClassWebInspectorProxy>()) { if (WebInspectorProxy* inspector = this->inspector()) - inspector->didReceiveSyncWebInspectorProxyMessage(connection, messageID, arguments, reply); + inspector->didReceiveSyncWebInspectorProxyMessage(connection, messageID, decoder, replyEncoder); return; } #endif #if ENABLE(FULLSCREEN_API) if (messageID.is<CoreIPC::MessageClassWebFullScreenManagerProxy>()) { - fullScreenManager()->didReceiveSyncMessage(connection, messageID, arguments, reply); + fullScreenManager()->didReceiveSyncMessage(connection, messageID, decoder, replyEncoder); return; } #endif // FIXME: Do something with reply. - didReceiveSyncWebPageProxyMessage(connection, messageID, arguments, reply); + didReceiveSyncWebPageProxyMessage(connection, messageID, decoder, replyEncoder); } void WebPageProxy::didCreateMainFrame(uint64_t frameID) @@ -1990,11 +1991,11 @@ void WebPageProxy::didFinishProgress() } #if ENABLE(WEB_INTENTS_TAG) -void WebPageProxy::registerIntentServiceForFrame(uint64_t frameID, const IntentServiceInfo& serviceInfo, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::registerIntentServiceForFrame(uint64_t frameID, const IntentServiceInfo& serviceInfo, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2005,13 +2006,13 @@ void WebPageProxy::registerIntentServiceForFrame(uint64_t frameID, const IntentS } #endif -void WebPageProxy::didStartProvisionalLoadForFrame(uint64_t frameID, const String& url, const String& unreachableURL, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didStartProvisionalLoadForFrame(uint64_t frameID, const String& url, const String& unreachableURL, CoreIPC::MessageDecoder& decoder) { clearPendingAPIRequestURL(); RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2024,11 +2025,11 @@ void WebPageProxy::didStartProvisionalLoadForFrame(uint64_t frameID, const Strin m_loaderClient.didStartProvisionalLoadForFrame(this, frame, userData.get()); } -void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, const String& url, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, const String& url, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2040,11 +2041,11 @@ void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t f m_loaderClient.didReceiveServerRedirectForProvisionalLoadForFrame(this, frame, userData.get()); } -void WebPageProxy::didFailProvisionalLoadForFrame(uint64_t frameID, const ResourceError& error, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFailProvisionalLoadForFrame(uint64_t frameID, const ResourceError& error, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2068,11 +2069,11 @@ void WebPageProxy::clearLoadDependentCallbacks() } } -void WebPageProxy::didCommitLoadForFrame(uint64_t frameID, const String& mimeType, bool frameHasCustomRepresentation, const PlatformCertificateInfo& certificateInfo, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didCommitLoadForFrame(uint64_t frameID, const String& mimeType, bool frameHasCustomRepresentation, const PlatformCertificateInfo& certificateInfo, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2110,11 +2111,11 @@ void WebPageProxy::didCommitLoadForFrame(uint64_t frameID, const String& mimeTyp m_loaderClient.didCommitLoadForFrame(this, frame, userData.get()); } -void WebPageProxy::didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2123,11 +2124,11 @@ void WebPageProxy::didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::Argu m_loaderClient.didFinishDocumentLoadForFrame(this, frame, userData.get()); } -void WebPageProxy::didFinishLoadForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFinishLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2138,11 +2139,11 @@ void WebPageProxy::didFinishLoadForFrame(uint64_t frameID, CoreIPC::ArgumentDeco m_loaderClient.didFinishLoadForFrame(this, frame, userData.get()); } -void WebPageProxy::didFailLoadForFrame(uint64_t frameID, const ResourceError& error, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFailLoadForFrame(uint64_t frameID, const ResourceError& error, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2155,11 +2156,11 @@ void WebPageProxy::didFailLoadForFrame(uint64_t frameID, const ResourceError& er m_loaderClient.didFailLoadWithErrorForFrame(this, frame, error, userData.get()); } -void WebPageProxy::didSameDocumentNavigationForFrame(uint64_t frameID, uint32_t opaqueSameDocumentNavigationType, const String& url, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didSameDocumentNavigationForFrame(uint64_t frameID, uint32_t opaqueSameDocumentNavigationType, const String& url, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2172,11 +2173,11 @@ void WebPageProxy::didSameDocumentNavigationForFrame(uint64_t frameID, uint32_t m_loaderClient.didSameDocumentNavigationForFrame(this, frame, static_cast<SameDocumentNavigationType>(opaqueSameDocumentNavigationType), userData.get()); } -void WebPageProxy::didReceiveTitleForFrame(uint64_t frameID, const String& title, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didReceiveTitleForFrame(uint64_t frameID, const String& title, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2187,11 +2188,11 @@ void WebPageProxy::didReceiveTitleForFrame(uint64_t frameID, const String& title m_loaderClient.didReceiveTitleForFrame(this, title, frame, userData.get()); } -void WebPageProxy::didFirstLayoutForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFirstLayoutForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2200,11 +2201,11 @@ void WebPageProxy::didFirstLayoutForFrame(uint64_t frameID, CoreIPC::ArgumentDec m_loaderClient.didFirstLayoutForFrame(this, frame, userData.get()); } -void WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2213,31 +2214,31 @@ void WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, Core m_loaderClient.didFirstVisuallyNonEmptyLayoutForFrame(this, frame, userData.get()); } -void WebPageProxy::didNewFirstVisuallyNonEmptyLayout(CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didNewFirstVisuallyNonEmptyLayout(CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; m_loaderClient.didNewFirstVisuallyNonEmptyLayout(this, userData.get()); } -void WebPageProxy::didLayout(uint32_t layoutMilestones, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didLayout(uint32_t layoutMilestones, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; m_loaderClient.didLayout(this, static_cast<LayoutMilestones>(layoutMilestones), userData.get()); } -void WebPageProxy::didRemoveFrameFromHierarchy(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didRemoveFrameFromHierarchy(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2248,11 +2249,11 @@ void WebPageProxy::didRemoveFrameFromHierarchy(uint64_t frameID, CoreIPC::Argume m_loaderClient.didRemoveFrameFromHierarchy(this, frame, userData.get()); } -void WebPageProxy::didDisplayInsecureContentForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didDisplayInsecureContentForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2261,11 +2262,11 @@ void WebPageProxy::didDisplayInsecureContentForFrame(uint64_t frameID, CoreIPC:: m_loaderClient.didDisplayInsecureContentForFrame(this, frame, userData.get()); } -void WebPageProxy::didRunInsecureContentForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didRunInsecureContentForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2274,11 +2275,11 @@ void WebPageProxy::didRunInsecureContentForFrame(uint64_t frameID, CoreIPC::Argu m_loaderClient.didRunInsecureContentForFrame(this, frame, userData.get()); } -void WebPageProxy::didDetectXSSForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didDetectXSSForFrame(uint64_t frameID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2288,11 +2289,11 @@ void WebPageProxy::didDetectXSSForFrame(uint64_t frameID, CoreIPC::ArgumentDecod } #if ENABLE(WEB_INTENTS) -void WebPageProxy::didReceiveIntentForFrame(uint64_t frameID, const IntentData& intentData, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::didReceiveIntentForFrame(uint64_t frameID, const IntentData& intentData, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2314,11 +2315,11 @@ void WebPageProxy::frameDidBecomeFrameSet(uint64_t frameID, bool value) } // PolicyClient -void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID) +void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, uint64_t listenerID, CoreIPC::MessageDecoder& decoder, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; if (request.url() != pendingAPIRequestURL()) @@ -2352,11 +2353,11 @@ void WebPageProxy::decidePolicyForNavigationAction(uint64_t frameID, uint32_t op } } -void WebPageProxy::decidePolicyForNewWindowAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, const String& frameName, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::decidePolicyForNewWindowAction(uint64_t frameID, uint32_t opaqueNavigationType, uint32_t opaqueModifiers, int32_t opaqueMouseButton, const ResourceRequest& request, const String& frameName, uint64_t listenerID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2372,11 +2373,11 @@ void WebPageProxy::decidePolicyForNewWindowAction(uint64_t frameID, uint32_t opa listener->use(); } -void WebPageProxy::decidePolicyForResponse(uint64_t frameID, const ResourceResponse& response, const ResourceRequest& request, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID) +void WebPageProxy::decidePolicyForResponse(uint64_t frameID, const ResourceResponse& response, const ResourceRequest& request, uint64_t listenerID, CoreIPC::MessageDecoder& decoder, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2404,11 +2405,11 @@ void WebPageProxy::decidePolicyForResponse(uint64_t frameID, const ResourceRespo } } -void WebPageProxy::unableToImplementPolicy(uint64_t frameID, const ResourceError& error, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::unableToImplementPolicy(uint64_t frameID, const ResourceError& error, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2419,11 +2420,11 @@ void WebPageProxy::unableToImplementPolicy(uint64_t frameID, const ResourceError // FormClient -void WebPageProxy::willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebFrameProxy* frame = m_process->webFrame(frameID); @@ -2562,11 +2563,11 @@ void WebPageProxy::setStatusText(const String& text) m_uiClient.setStatusText(this, text); } -void WebPageProxy::mouseDidMoveOverElement(const WebHitTestResult::Data& hitTestResultData, uint32_t opaqueModifiers, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::mouseDidMoveOverElement(const WebHitTestResult::Data& hitTestResultData, uint32_t opaqueModifiers, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; WebEvent::Modifiers modifiers = static_cast<WebEvent::Modifiers>(opaqueModifiers); @@ -3012,19 +3013,19 @@ void WebPageProxy::hidePopupMenu() } #if ENABLE(CONTEXT_MENUS) -void WebPageProxy::showContextMenu(const IntPoint& menuLocation, const WebHitTestResult::Data& hitTestResultData, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::showContextMenu(const IntPoint& menuLocation, const WebHitTestResult::Data& hitTestResultData, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::MessageDecoder& decoder) { - internalShowContextMenu(menuLocation, hitTestResultData, proposedItems, arguments); + internalShowContextMenu(menuLocation, hitTestResultData, proposedItems, decoder); // No matter the result of internalShowContextMenu, always notify the WebProcess that the menu is hidden so it starts handling mouse events again. m_process->send(Messages::WebPage::ContextMenuHidden(), m_pageID); } -void WebPageProxy::internalShowContextMenu(const IntPoint& menuLocation, const WebHitTestResult::Data& hitTestResultData, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::ArgumentDecoder* arguments) +void WebPageProxy::internalShowContextMenu(const IntPoint& menuLocation, const WebHitTestResult::Data& hitTestResultData, const Vector<WebContextMenuItemData>& proposedItems, CoreIPC::MessageDecoder& decoder) { RefPtr<APIObject> userData; WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); - if (!arguments->decode(messageDecoder)) + if (!decoder.decode(messageDecoder)) return; m_activeContextMenuHitTestResultData = hitTestResultData; @@ -3884,13 +3885,14 @@ void WebPageProxy::didFailToInitializePlugin(const String& mimeType) m_loaderClient.didFailToInitializePlugin(this, mimeType); } +// FIXME: ENABLE(NETSCAPE_PLUGIN_API) void WebPageProxy::didBlockInsecurePluginVersion(const String& mimeType, const String& urlString) { String pluginIdentifier; String pluginVersion; String newMimeType = mimeType; -#if PLATFORM(MAC) +#if PLATFORM(MAC) && ENABLE(NETSCAPE_PLUGIN_API) PluginModuleInfo plugin = m_process->context()->pluginInfoStore().findPlugin(newMimeType, KURL(KURL(), urlString)); pluginIdentifier = plugin.bundleIdentifier; diff --git a/Source/WebKit2/UIProcess/WebPageProxy.h b/Source/WebKit2/UIProcess/WebPageProxy.h index eede6b96f..95528ab7f 100644 --- a/Source/WebKit2/UIProcess/WebPageProxy.h +++ b/Source/WebKit2/UIProcess/WebPageProxy.h @@ -304,7 +304,7 @@ public: void tryRestoreScrollPosition(); void didChangeBackForwardList(WebBackForwardListItem* addedItem, Vector<RefPtr<APIObject> >* removedItems); void shouldGoToBackForwardListItem(uint64_t itemID, bool& shouldGoToBackForwardListItem); - void willGoToBackForwardListItem(uint64_t itemID, CoreIPC::ArgumentDecoder* arguments); + void willGoToBackForwardListItem(uint64_t itemID, CoreIPC::MessageDecoder&); String activeURL() const; String provisionalURL() const; @@ -591,8 +591,8 @@ public: #endif #endif - void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void processDidBecomeUnresponsive(); void interactionOccurredWhileProcessUnresponsive(); @@ -752,49 +752,49 @@ private: #endif // Implemented in generated WebPageProxyMessageReceiver.cpp - void didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + void didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); void didCreateMainFrame(uint64_t frameID); void didCreateSubframe(uint64_t frameID, uint64_t parentFrameID); void didSaveFrameToPageCache(uint64_t frameID); void didRestoreFrameFromPageCache(uint64_t frameID, uint64_t parentFrameID); - void didStartProvisionalLoadForFrame(uint64_t frameID, const String& url, const String& unreachableURL, CoreIPC::ArgumentDecoder*); - void didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, const String&, CoreIPC::ArgumentDecoder*); - void didFailProvisionalLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::ArgumentDecoder*); - void didCommitLoadForFrame(uint64_t frameID, const String& mimeType, bool frameHasCustomRepresentation, const PlatformCertificateInfo&, CoreIPC::ArgumentDecoder*); - void didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didFinishLoadForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didFailLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::ArgumentDecoder*); - void didSameDocumentNavigationForFrame(uint64_t frameID, uint32_t sameDocumentNavigationType, const String&, CoreIPC::ArgumentDecoder*); - void didReceiveTitleForFrame(uint64_t frameID, const String&, CoreIPC::ArgumentDecoder*); - void didFirstLayoutForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didNewFirstVisuallyNonEmptyLayout(CoreIPC::ArgumentDecoder*); - void didLayout(uint32_t layoutMilestones, CoreIPC::ArgumentDecoder*); - void didRemoveFrameFromHierarchy(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didDisplayInsecureContentForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didRunInsecureContentForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); - void didDetectXSSForFrame(uint64_t frameID, CoreIPC::ArgumentDecoder*); + void didStartProvisionalLoadForFrame(uint64_t frameID, const String& url, const String& unreachableURL, CoreIPC::MessageDecoder&); + void didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, const String&, CoreIPC::MessageDecoder&); + void didFailProvisionalLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::MessageDecoder&); + void didCommitLoadForFrame(uint64_t frameID, const String& mimeType, bool frameHasCustomRepresentation, const PlatformCertificateInfo&, CoreIPC::MessageDecoder&); + void didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didFinishLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didFailLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::MessageDecoder&); + void didSameDocumentNavigationForFrame(uint64_t frameID, uint32_t sameDocumentNavigationType, const String&, CoreIPC::MessageDecoder&); + void didReceiveTitleForFrame(uint64_t frameID, const String&, CoreIPC::MessageDecoder&); + void didFirstLayoutForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didFirstVisuallyNonEmptyLayoutForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didNewFirstVisuallyNonEmptyLayout(CoreIPC::MessageDecoder&); + void didLayout(uint32_t layoutMilestones, CoreIPC::MessageDecoder&); + void didRemoveFrameFromHierarchy(uint64_t frameID, CoreIPC::MessageDecoder&); + void didDisplayInsecureContentForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didRunInsecureContentForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); + void didDetectXSSForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); void frameDidBecomeFrameSet(uint64_t frameID, bool); void didStartProgress(); void didChangeProgress(double); void didFinishProgress(); #if ENABLE(WEB_INTENTS) - void didReceiveIntentForFrame(uint64_t frameID, const IntentData&, CoreIPC::ArgumentDecoder*); + void didReceiveIntentForFrame(uint64_t frameID, const IntentData&, CoreIPC::MessageDecoder&); #endif #if ENABLE(WEB_INTENTS_TAG) - void registerIntentServiceForFrame(uint64_t frameID, const IntentServiceInfo&, CoreIPC::ArgumentDecoder*); + void registerIntentServiceForFrame(uint64_t frameID, const IntentServiceInfo&, CoreIPC::MessageDecoder&); #endif - void decidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder*, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID); - void decidePolicyForNewWindowAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, const String& frameName, uint64_t listenerID, CoreIPC::ArgumentDecoder*); - void decidePolicyForResponse(uint64_t frameID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID); - void unableToImplementPolicy(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::ArgumentDecoder* arguments); + void decidePolicyForNavigationAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::MessageDecoder&, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID); + void decidePolicyForNewWindowAction(uint64_t frameID, uint32_t navigationType, uint32_t modifiers, int32_t mouseButton, const WebCore::ResourceRequest&, const String& frameName, uint64_t listenerID, CoreIPC::MessageDecoder&); + void decidePolicyForResponse(uint64_t frameID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::MessageDecoder&, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID); + void unableToImplementPolicy(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::MessageDecoder&); - void willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::ArgumentDecoder*); + void willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::MessageDecoder&); // Resource load client void didInitiateLoadForResource(uint64_t frameID, uint64_t resourceIdentifier, const WebCore::ResourceRequest&, bool pageIsProvisionallyLoading); @@ -813,7 +813,7 @@ private: void runJavaScriptPrompt(uint64_t frameID, const String&, const String&, String& result); void shouldInterruptJavaScript(bool& result); void setStatusText(const String&); - void mouseDidMoveOverElement(const WebHitTestResult::Data& hitTestResultData, uint32_t modifiers, CoreIPC::ArgumentDecoder*); + void mouseDidMoveOverElement(const WebHitTestResult::Data& hitTestResultData, uint32_t modifiers, CoreIPC::MessageDecoder&); void unavailablePluginButtonClicked(uint32_t opaquePluginUnavailabilityReason, const String& mimeType, const String& url, const String& pluginsPageURL); void setToolbarsAreVisible(bool toolbarsAreVisible); void getToolbarsAreVisible(bool& toolbarsAreVisible); @@ -912,8 +912,8 @@ private: #if ENABLE(CONTEXT_MENUS) // Context Menu. - void showContextMenu(const WebCore::IntPoint& menuLocation, const WebHitTestResult::Data&, const Vector<WebContextMenuItemData>&, CoreIPC::ArgumentDecoder*); - void internalShowContextMenu(const WebCore::IntPoint& menuLocation, const WebHitTestResult::Data&, const Vector<WebContextMenuItemData>&, CoreIPC::ArgumentDecoder*); + void showContextMenu(const WebCore::IntPoint& menuLocation, const WebHitTestResult::Data&, const Vector<WebContextMenuItemData>&, CoreIPC::MessageDecoder&); + void internalShowContextMenu(const WebCore::IntPoint& menuLocation, const WebHitTestResult::Data&, const Vector<WebContextMenuItemData>&, CoreIPC::MessageDecoder&); #endif // Search popup results diff --git a/Source/WebKit2/UIProcess/WebPreferences.cpp b/Source/WebKit2/UIProcess/WebPreferences.cpp index ca00bb963..bbc2380d1 100644 --- a/Source/WebKit2/UIProcess/WebPreferences.cpp +++ b/Source/WebKit2/UIProcess/WebPreferences.cpp @@ -92,6 +92,12 @@ void WebPreferences::updateDoubleValueForKey(const String& key, double value) update(); // FIXME: Only send over the changed key and value. } +void WebPreferences::updateFloatValueForKey(const String& key, float value) +{ + platformUpdateFloatValueForKey(key, value); + update(); // FIXME: Only send over the changed key and value. +} + #define DEFINE_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) \ void WebPreferences::set##KeyUpper(const Type& value) \ { \ diff --git a/Source/WebKit2/UIProcess/WebPreferences.h b/Source/WebKit2/UIProcess/WebPreferences.h index 81d9580a4..50bc0258b 100644 --- a/Source/WebKit2/UIProcess/WebPreferences.h +++ b/Source/WebKit2/UIProcess/WebPreferences.h @@ -92,10 +92,12 @@ private: void updateBoolValueForKey(const String& key, bool value); void updateUInt32ValueForKey(const String& key, uint32_t value); void updateDoubleValueForKey(const String& key, double value); + void updateFloatValueForKey(const String& key, float value); void platformUpdateStringValueForKey(const String& key, const String& value); void platformUpdateBoolValueForKey(const String& key, bool value); void platformUpdateUInt32ValueForKey(const String& key, uint32_t value); void platformUpdateDoubleValueForKey(const String& key, double value); + void platformUpdateFloatValueForKey(const String& key, float value); HashSet<WebPageGroup*> m_pageGroups; WebPreferencesStore m_store; diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.cpp b/Source/WebKit2/UIProcess/WebProcessProxy.cpp index b88323830..f75616563 100644 --- a/Source/WebKit2/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/WebProcessProxy.cpp @@ -45,6 +45,10 @@ #include <wtf/text/CString.h> #include <wtf/text/WTFString.h> +#if ENABLE(NETWORK_PROCESS) +#include "NetworkProcessManager.h" +#endif + #if PLATFORM(MAC) #include "SimplePDFPlugin.h" #if ENABLE(PDFKIT_PLUGIN) @@ -72,11 +76,13 @@ static uint64_t generatePageID() return uniquePageID++; } +#if ENABLE(NETSCAPE_PLUGIN_API) static WorkQueue& pluginWorkQueue() { DEFINE_STATIC_LOCAL(WorkQueue, queue, ("com.apple.CoreIPC.PluginQueue")); return queue; } +#endif // ENABLE(NETSCAPE_PLUGIN_API) PassRefPtr<WebProcessProxy> WebProcessProxy::create(PassRefPtr<WebContext> context) { @@ -309,6 +315,7 @@ void WebProcessProxy::addBackForwardItem(uint64_t itemID, const String& original result.iterator->value->setBackForwardData(backForwardData.data(), backForwardData.size()); } +#if ENABLE(NETSCAPE_PLUGIN_API) void WebProcessProxy::sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<PluginInfo> > pluginInfos) { ASSERT(isMainThread()); @@ -336,9 +343,11 @@ void WebProcessProxy::handleGetPlugins(uint64_t requestID, bool refresh) OwnPtr<Vector<PluginInfo> > pluginInfos = adoptPtr(new Vector<PluginInfo>); - Vector<PluginModuleInfo> plugins = m_context->pluginInfoStore().plugins(); - for (size_t i = 0; i < plugins.size(); ++i) - pluginInfos->append(plugins[i].info); + { + Vector<PluginModuleInfo> plugins = m_context->pluginInfoStore().plugins(); + for (size_t i = 0; i < plugins.size(); ++i) + pluginInfos->append(plugins[i].info); + } // NOTE: We have to pass the PluginInfo vector to the secondary thread via a pointer as otherwise // we'd end up with a deref() race on all the WTF::Strings it contains. @@ -368,6 +377,7 @@ void WebProcessProxy::getPluginPath(const String& mimeType, const String& urlStr pluginPath = plugin.path; } +#endif // ENABLE(NETSCAPE_PLUGIN_API) #if ENABLE(PLUGIN_PROCESS) @@ -376,7 +386,7 @@ void WebProcessProxy::getPluginProcessConnection(const String& pluginPath, PassR PluginProcessManager::shared().getPluginProcessConnection(m_context->pluginInfoStore(), pluginPath, reply); } -#else +#elif ENABLE(NETSCAPE_PLUGIN_API) void WebProcessProxy::didGetSitesWithPluginData(const Vector<String>& sites, uint64_t callbackID) { @@ -390,22 +400,31 @@ void WebProcessProxy::didClearPluginSiteData(uint64_t callbackID) #endif +#if ENABLE(SHARED_WORKER_PROCESS) void WebProcessProxy::getSharedWorkerProcessConnection(const String& /* url */, const String& /* name */, PassRefPtr<Messages::WebProcessProxy::GetSharedWorkerProcessConnection::DelayedReply>) { // FIXME: Implement } +#endif // ENABLE(SHARED_WORKER_PROCESS) + +#if ENABLE(NETWORK_PROCESS) +void WebProcessProxy::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply) +{ + NetworkProcessManager::shared().getNetworkProcessConnection(reply); +} +#endif // ENABLE(NETWORK_PROCESS) -void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - if (m_context->dispatchMessage(connection, messageID, arguments)) + if (m_context->dispatchMessage(connection, messageID, decoder)) return; if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) { - didReceiveWebProcessProxyMessage(connection, messageID, arguments); + didReceiveWebProcessProxyMessage(connection, messageID, decoder); return; } - uint64_t pageID = arguments->destinationID(); + uint64_t pageID = decoder.destinationID(); if (!pageID) return; @@ -413,20 +432,20 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC if (!pageProxy) return; - pageProxy->didReceiveMessage(connection, messageID, arguments); + pageProxy->didReceiveMessage(connection, messageID, decoder); } -void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply) +void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - if (m_context->dispatchSyncMessage(connection, messageID, arguments, reply)) + if (m_context->dispatchSyncMessage(connection, messageID, decoder, replyEncoder)) return; if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) { - didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply); + didReceiveSyncWebProcessProxyMessage(connection, messageID, decoder, replyEncoder); return; } - uint64_t pageID = arguments->destinationID(); + uint64_t pageID = decoder.destinationID(); if (!pageID) return; @@ -434,13 +453,13 @@ void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, Cor if (!pageProxy) return; - pageProxy->didReceiveSyncMessage(connection, messageID, arguments, reply); + pageProxy->didReceiveSyncMessage(connection, messageID, decoder, replyEncoder); } -void WebProcessProxy::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage) +void WebProcessProxy::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, bool& didHandleMessage) { if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) - didReceiveWebProcessProxyMessageOnConnectionWorkQueue(connection, messageID, arguments, didHandleMessage); + didReceiveWebProcessProxyMessageOnConnectionWorkQueue(connection, messageID, decoder, didHandleMessage); } void WebProcessProxy::didClose(CoreIPC::Connection*) diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.h b/Source/WebKit2/UIProcess/WebProcessProxy.h index 7524df2ff..29dc5498f 100644 --- a/Source/WebKit2/UIProcess/WebProcessProxy.h +++ b/Source/WebKit2/UIProcess/WebProcessProxy.h @@ -141,19 +141,24 @@ private: void shouldTerminate(bool& shouldTerminate); // Plugins +#if ENABLE(NETSCAPE_PLUGIN_API) void getPlugins(CoreIPC::Connection*, uint64_t requestID, bool refresh); void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath, bool& blocked); + void handleGetPlugins(uint64_t requestID, bool refresh); + void sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<WebCore::PluginInfo> >); +#endif // ENABLE(NETSCAPE_PLUGIN_API) #if ENABLE(PLUGIN_PROCESS) void getPluginProcessConnection(const String& pluginPath, PassRefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>); -#else +#elif ENABLE(NETSCAPE_PLUGIN_API) void didGetSitesWithPluginData(const Vector<String>& sites, uint64_t callbackID); void didClearPluginSiteData(uint64_t callbackID); #endif - - void handleGetPlugins(uint64_t requestID, bool refresh); - void sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<WebCore::PluginInfo> >); - +#if ENABLE(NETWORK_PROCESS) + void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>); +#endif +#if ENABLE(SHARED_WORKER_PROCESS) void getSharedWorkerProcessConnection(const String& url, const String& name, PassRefPtr<Messages::WebProcessProxy::GetSharedWorkerProcessConnection::DelayedReply>); +#endif #if USE(SECURITY_FRAMEWORK) void secItemRequest(CoreIPC::Connection*, uint64_t requestID, const SecItemRequestData&); @@ -162,8 +167,8 @@ private: // CoreIPC::Connection::Client friend class WebConnectionToWebProcess; - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, OwnPtr<CoreIPC::ArgumentEncoder>&); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); virtual void didClose(CoreIPC::Connection*); virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID); #if PLATFORM(WIN) @@ -171,7 +176,7 @@ private: #endif // CoreIPC::Connection::QueueClient - virtual void didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, bool& didHandleMessage); + virtual void didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, bool& didHandleMessage) OVERRIDE; // ResponsivenessTimer::Client void didBecomeUnresponsive(ResponsivenessTimer*) OVERRIDE; @@ -190,9 +195,9 @@ private: void didUpdateHistoryTitle(uint64_t pageID, const String& title, const String& url, uint64_t frameID); // Implemented in generated WebProcessProxyMessageReceiver.cpp - void didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); - void didReceiveSyncWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply); - void didReceiveWebProcessProxyMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage); + void didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); + void didReceiveSyncWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&); + void didReceiveWebProcessProxyMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&, bool& didHandleMessage); ResponsivenessTimer m_responsivenessTimer; diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in index 67e7b2dde..e72138893 100644 --- a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in +++ b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in @@ -34,16 +34,23 @@ messages -> WebProcessProxy { ShouldTerminate() -> (bool shouldTerminate) # Plugin messages. +#if ENABLE(NETSCAPE_PLUGIN_API) GetPlugins(uint64_t requestID, bool refresh) DispatchOnConnectionQueue GetPluginPath(WTF::String mimeType, WTF::String urlString) -> (WTF::String pluginPath, bool blocked) +#endif // ENABLE(NETSCAPE_PLUGIN_API) #if ENABLE(PLUGIN_PROCESS) GetPluginProcessConnection(WTF::String pluginPath) -> (CoreIPC::Attachment connectionHandle, bool supportsAsynchronousInitialization) Delayed #endif -#if !ENABLE(PLUGIN_PROCESS) +#if ENABLE(NETSCAPE_PLUGIN_API) && !ENABLE(PLUGIN_PROCESS) void DidGetSitesWithPluginData(Vector<WTF::String> sites, uint64_t callbackID) void DidClearPluginSiteData(uint64_t callbackID) #endif +#if ENABLE(NETWORK_PROCESS) + GetNetworkProcessConnection() -> (CoreIPC::Attachment connectionHandle) Delayed +#endif +#if ENABLE(SHARED_WORKER_PROCESS) GetSharedWorkerProcessConnection(WTF::String url, WTF::String name) -> (CoreIPC::Attachment connectionHandle) Delayed +#endif #if USE(SECURITY_FRAMEWORK) SecItemRequest(uint64_t requestID, WebKit::SecItemRequestData request) DispatchOnConnectionQueue diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp index 3c2980797..fcb056db0 100644 --- a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp @@ -45,7 +45,7 @@ PassRefPtr<WebResourceCacheManagerProxy> WebResourceCacheManagerProxy::create(We WebResourceCacheManagerProxy::WebResourceCacheManagerProxy(WebContext* webContext) : m_webContext(webContext) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebResourceCacheManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebResourceCacheManagerProxy, this); } WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy() @@ -95,9 +95,9 @@ void WebResourceCacheManagerProxy::clearCacheForAllOrigins(ResourceCachesToClear m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForAllOrigins(cachesToClear)); } -void WebResourceCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebResourceCacheManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebResourceCacheManagerProxyMessage(connection, messageID, arguments); + didReceiveWebResourceCacheManagerProxyMessage(connection, messageID, decoder); } } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h index 9e59b641f..1c620707b 100644 --- a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h +++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.h @@ -65,8 +65,8 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebResourceCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebResourceCacheManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); // Message handlers. void didGetCacheOrigins(const Vector<SecurityOriginData>& originIdentifiers, uint64_t callbackID); diff --git a/Source/WebKit2/UIProcess/WebVibrationProxy.cpp b/Source/WebKit2/UIProcess/WebVibrationProxy.cpp index 0590f30cc..6b0717c18 100644 --- a/Source/WebKit2/UIProcess/WebVibrationProxy.cpp +++ b/Source/WebKit2/UIProcess/WebVibrationProxy.cpp @@ -40,7 +40,7 @@ PassRefPtr<WebVibrationProxy> WebVibrationProxy::create(WebContext* context) WebVibrationProxy::WebVibrationProxy(WebContext* context) : m_context(context) { - m_context->addMessageReceiver(CoreIPC::MessageClassWebVibrationProxy, this); + m_context->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebVibrationProxy, this); } WebVibrationProxy::~WebVibrationProxy() @@ -57,9 +57,9 @@ void WebVibrationProxy::initializeProvider(const WKVibrationProvider* provider) m_provider.initialize(provider); } -void WebVibrationProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebVibrationProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebVibrationProxyMessage(connection, messageID, arguments); + didReceiveWebVibrationProxyMessage(connection, messageID, decoder); } void WebVibrationProxy::vibrate(uint64_t vibrationTime) diff --git a/Source/WebKit2/UIProcess/WebVibrationProxy.h b/Source/WebKit2/UIProcess/WebVibrationProxy.h index 676d3a497..5c6de17d7 100644 --- a/Source/WebKit2/UIProcess/WebVibrationProxy.h +++ b/Source/WebKit2/UIProcess/WebVibrationProxy.h @@ -55,10 +55,10 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; // Implemented in generated WebVibrationProxyMessageReceiver.cpp - void didReceiveWebVibrationProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + void didReceiveWebVibrationProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); void vibrate(uint64_t vibrationTime); void cancelVibration(); diff --git a/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp b/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp index 5f6ca9d27..d61b98c60 100644 --- a/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp +++ b/Source/WebKit2/UIProcess/cf/WebPreferencesCF.cpp @@ -141,6 +141,15 @@ void WebPreferences::platformUpdateDoubleValueForKey(const String& key, double v CFPreferencesSetAppValue(makeKey(m_identifier, key).get(), number.get(), kCFPreferencesCurrentApplication); } +void WebPreferences::platformUpdateFloatValueForKey(const String& key, float value) +{ + if (!m_identifier) + return; + + RetainPtr<CFNumberRef> number(AdoptCF, CFNumberCreate(0, kCFNumberFloatType, &value)); + CFPreferencesSetAppValue(makeKey(m_identifier, key).get(), number.get(), kCFPreferencesCurrentApplication); +} + } // namespace WebKit #endif // !PLATFORM(MAC) diff --git a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp b/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp index a24dc3430..ffd6aa5f9 100644 --- a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp +++ b/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp @@ -133,9 +133,13 @@ bool WebInspectorProxy::platformIsFront() return false; } -void WebInspectorProxy::platformInspectedURLChanged(const String&) +void WebInspectorProxy::platformInspectedURLChanged(const String& url) { - notImplemented(); + if (!m_inspectorWindow) + return; + + String title = "WebInspector - " + url; + ecore_evas_title_set(m_inspectorWindow, title.utf8().data()); } String WebInspectorProxy::inspectorPageURL() const @@ -149,11 +153,11 @@ String WebInspectorProxy::inspectorPageURL() const String WebInspectorProxy::inspectorBaseURL() const { - String inspectorFilesPath = ASCIILiteral("file://" WEB_INSPECTOR_INSTALL_DIR); + String inspectorFilesPath = WEB_INSPECTOR_INSTALL_DIR; if (access(inspectorFilesPath.utf8().data(), R_OK)) - inspectorFilesPath = ASCIILiteral("file://" WEB_INSPECTOR_DIR); + inspectorFilesPath = WEB_INSPECTOR_DIR; - return inspectorFilesPath; + return "file://" + inspectorFilesPath; } unsigned WebInspectorProxy::platformInspectedWindowHeight() diff --git a/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp b/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp index b49ad2998..dd2108452 100644 --- a/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp +++ b/Source/WebKit2/UIProcess/efl/WebPreferencesEfl.cpp @@ -55,4 +55,9 @@ void WebPreferences::platformUpdateDoubleValueForKey(const String&, double) notImplemented(); } +void WebPreferences::platformUpdateFloatValueForKey(const String&, float) +{ + notImplemented(); +} + } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp index c69820416..321a9cfcc 100644 --- a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp +++ b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp @@ -56,4 +56,9 @@ void WebPreferences::platformUpdateDoubleValueForKey(const String&, double) notImplemented(); } +void WebPreferences::platformUpdateFloatValueForKey(const String&, float) +{ + notImplemented(); +} + } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm b/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm index 6fd41d389..f19a6c708 100644 --- a/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm +++ b/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm @@ -125,4 +125,12 @@ void WebPreferences::platformUpdateDoubleValueForKey(const String& key, double v [[NSUserDefaults standardUserDefaults] setDouble:value forKey:makeKey(m_identifier, key)]; } +void WebPreferences::platformUpdateFloatValueForKey(const String& key, float value) +{ + if (!m_identifier) + return; + + [[NSUserDefaults standardUserDefaults] setFloat:value forKey:makeKey(m_identifier, key)]; +} + } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp b/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp index d8f1c7801..35dc7ebb9 100644 --- a/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp +++ b/Source/WebKit2/UIProcess/qt/WebPreferencesQt.cpp @@ -76,4 +76,8 @@ void WebPreferences::platformUpdateDoubleValueForKey(const String&, double) { } +void WebPreferences::platformUpdateFloatValueForKey(const String&, float) +{ +} + } // namespace WebKit diff --git a/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp b/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp index e2bf3423d..679be2bed 100644 --- a/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp @@ -35,7 +35,7 @@ WebSoupRequestManagerProxy::WebSoupRequestManagerProxy(WebContext* context) : m_webContext(context) , m_loadFailed(false) { - m_webContext->addMessageReceiver(CoreIPC::MessageClassWebSoupRequestManagerProxy, this); + m_webContext->deprecatedAddMessageReceiver(CoreIPC::MessageClassWebSoupRequestManagerProxy, this); } WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy() @@ -51,9 +51,9 @@ void WebSoupRequestManagerProxy::initializeClient(const WKSoupRequestManagerClie m_client.initialize(client); } -void WebSoupRequestManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) +void WebSoupRequestManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) { - didReceiveWebSoupRequestManagerProxyMessage(connection, messageID, arguments); + didReceiveWebSoupRequestManagerProxyMessage(connection, messageID, decoder); } void WebSoupRequestManagerProxy::registerURIScheme(const String& scheme) diff --git a/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h b/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h index 6a3d6e826..e4b8cce37 100644 --- a/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h +++ b/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h @@ -57,8 +57,8 @@ private: virtual Type type() const { return APIType; } // CoreIPC::MessageReceiver - virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) OVERRIDE; - void didReceiveWebSoupRequestManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); + virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; + void didReceiveWebSoupRequestManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); WebContext* m_webContext; WebSoupRequestManagerClient m_client; |
