Implement webkit_web_view_load_string() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=134735

Reviewed by Sergio Villar Senin.

Source/WebKit2:
Add webkit_web_view_load_bytes() that receives a GBytes to load
random data in the web view using the given MIME-Type, encoding
and base URL.

* UIProcess/API/gtk/WebKitWebView.cpp:
(releaseGBytes):
(webkit_web_view_load_bytes):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:

Tools:
Add /webkit2/WebKitWebView/load-bytes test case and simplify
TestDOMXPathNSResolver by using webkit_web_view_load_bytes()
instead of a soup server just to sent the Content-type header.

* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp:
(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
(beforeAll):
(afterAll):
(serverCallback): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
(testLoadBytes):
(beforeAll):
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:
(LoadTrackingTest::loadBytes):
* TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::loadBytes):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][GTK] Remove ACCELERATED_COMPOSITING compile flag
https://bugs.webkit.org/show_bug.cgi?id=135376

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-07-29
Reviewed by Gyuyoung Kim.

ACCELERATED_COMPOSITING was changed to the mandatory code after r163079.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Remove WebKitWebViewGroup from WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=133729

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-07-29
Reviewed by Carlos Garcia Campos.

Removes WebKitWebViewGroup, effectively reverting the changes
introduced by r149117. The motivation for WebKitWebViewGroup
was using the user style sheet injection API, which has been
moved into WebKitUserContentManager, rendering it unneeded.

Source/WebKit2:
* PlatformGTK.cmake: Remove WebKitWebViewGroup source files
from the build.
* UIProcess/API/C/gtk/WKView.cpp:
(WKViewCreate): Accomodate for changes in the signature of
webkitWebViewBaseCreate().
* UIProcess/API/gtk/WebKitSettings.cpp: Update API documentation.
* UIProcess/API/gtk/WebKitWebContext.cpp: Remove the default web
view group from WebKitWebContext.
(webkitWebContextCreatePageForWebView): Allow passing a
WebPreferences object at construction.
(webkitWebContextGetDefaultWebViewGroup): Deleted.
* UIProcess/API/gtk/WebKitWebContextPrivate.h: Ditto.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewUpdateSettings): Use WebPageProxy::setPreferences()
directly. Handle the case when webkit_web_view_set_settings()
is called on construction by doing an early-return.
(webkitWebViewConstructed): Call webkitWebViewUpdateSettings()
after creating the internal WebPageProxy object.
(webkitWebViewSetProperty): Removed "group" property, added
"settings" property.
(webkitWebViewGetProperty): Ditto.
(webkitWebViewDispose): Do not disconnect signal handler for
the (now unexistant) WebKitWebViewGroup.
(webkit_web_view_class_init): Removed "group" property, added
"settings" property.
(webkitWebViewHandleAuthenticationChallenge): Access the
WebKitWebSettings directly.
(webkit_web_view_new_with_related_view): Make new views share
settings with their related view.
(webkit_web_view_new_with_settings): Added.
(webkit_web_view_set_settings): Access the settings directly in
the WebKitWebView.
(webkit_web_view_get_settings): Ditto.
(webkit_web_view_set_zoom_level): Ditto.
(webkit_web_view_get_zoom_level): Ditto.
(webkitWebViewSettingsChanged): Deleted.
(webkitWebViewDisconnectSettingsChangedSignalHandler): Deleted.
(webkit_web_view_new_with_group): Deleted.
(webkit_web_view_get_group): Deleted.
* UIProcess/API/gtk/WebKitWebView.h: Removed API methods related
to WebKitWebViewGroup.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Allow passing a WebPreferences object
for constructing the WebPageProxy.
(webkitWebViewBaseUpdatePreferences): Instead of going through
the page group, use WebPageProxy::preferences() directly.
(webkitWebViewBaseCreateWebPage): Allow passing a WebPreferences
object for constructing the WebPageProxy.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Update the
prototypes of the internal functions.
* UIProcess/API/gtk/WebKitWebViewGroup.cpp: Removed.
* UIProcess/API/gtk/WebKitWebViewGroup.h: Removed.
* UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Removed.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Change public API
bits in the documentation.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
* UIProcess/API/gtk/docs/webkit2gtk.types: Ditto.
* UIProcess/API/gtk/webkit2.h: Removed WebKitWebViewGroup.h header.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Accomodate for changes in the signature of
webkitWebViewBaseCreate().

Tools:
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Remove tests
for WebKitWebViewGroup.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewSettings):
Restore the assertions that check that settings objects are
released. Add test for webkit_web_view_new_with_settings().
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get SharedBuffer.h out of ResourceBuffer.h (and a few other places)
https://bugs.webkit.org/show_bug.cgi?id=131782

Original patch by Tim Horton.
Reviewed by Darin Adler.

Source/WebCore:
No new tests because no functional changes.

* Modules/indexeddb/IDBCallbacks.h:
* Modules/indexeddb/IDBCursorBackend.h:
* loader/ios/DiskImageCacheIOS.h:
Forward declare SharedBuffer in headers.

* Modules/indexeddb/IDBRequest.cpp:
* loader/cache/CachedImage.cpp:
* loader/icon/IconLoader.cpp:
* loader/ios/DiskImageCacheIOS.mm:
* loader/cache/MemoryCache.cpp:
* loader/mac/ResourceBuffer.mm:
Include SharedBuffer.h in implementation files.

* Modules/notifications/Notification.h:
* loader/appcache/ApplicationCacheGroup.h:
Remove unnecessary includes.

* loader/ResourceBuffer.cpp:
(WebCore::ResourceBuffer::adoptSharedBuffer):
* loader/ResourceBuffer.h:
Out-of-line adoptSharedBuffer so that the PassRefPtr doesn't require including SharedBuffer.h.

* platform/graphics/opentype/OpenTypeMathData.cpp:
* platform/graphics/opentype/OpenTypeMathData.h:
Out-of-line destructor to avoid requiring SharedBuffer.h for the RefPtr.
Forward-declare SharedBuffer in the header, include in implementation.

Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp:
* WebProcess/Network/NetworkProcessConnection.cpp:
Include SharedBuffer.h in implementation files.

* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
Un-indent namespace and remove SharedBuffer forward-declaration.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cleanup RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo.
https://bugs.webkit.org/show_bug.cgi?id=135326

Reviewed by Darin Adler.

1. Move implementation to RenderSelectInfo.cpp
2. RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo take Render* reference.
3. Remove unused functions.
4. Add RenderSelectionInfoBase::repaintRectangle()

No change in behavior.

* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderSelectionInfo.cpp: Added.
(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
(WebCore::RenderSelectionInfoBase::repaintRectangle):
(WebCore::RenderSelectionInfo::RenderSelectionInfo):
(WebCore::RenderSelectionInfo::repaint):
(WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
(WebCore::RenderBlockSelectionInfo::repaint):
* rendering/RenderSelectionInfo.h:
(WebCore::RenderSelectionInfo::collectedSelectionRects):
(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): Deleted.
(WebCore::RenderSelectionInfoBase::object): Deleted.
(WebCore::RenderSelectionInfo::RenderSelectionInfo): Deleted.
(WebCore::RenderSelectionInfo::repaint): Deleted.
(WebCore::RenderSelectionInfo::rects): Deleted.
(WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): Deleted.
(WebCore::RenderBlockSelectionInfo::repaint): Deleted.
(WebCore::RenderBlockSelectionInfo::block): Deleted.
* rendering/RenderView.cpp:
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
https://bugs.webkit.org/show_bug.cgi?id=135385

Reviewed by Andrei Bucur.

Source/WebCore:
When a region-based multicolumn element is displayed and hit tested in a region,
we have to disable the named flow region information not only for painting,
but also for hit-testing. This is a follow-up for https://bugs.webkit.org/show_bug.cgi?id=132121,
which provided the fix for painting.

Test: fast/regions/assert-hit-test-multicol-in-region.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):

LayoutTests:
* fast/regions/assert-hit-test-multicol-in-region-expected.txt: Added.
* fast/regions/assert-hit-test-multicol-in-region.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use WTF::move() instead of std::move() to help ensure move semantics
https://bugs.webkit.org/show_bug.cgi?id=135351

Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::GetByIdVariant):

Source/WebCore:
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):

Source/WebKit2:
* UIProcess/API/Cocoa/_WKSessionState.mm:
(-[_WKSessionState _initWithSessionState:]):
* UIProcess/API/gtk/WebKitUserContent.cpp:
(toStringVector): Remove use of std::move(). It's unnecessary to call std::move() on an rvalue.
* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::mouseEvent):

Source/WTF:
* wtf/HashTable.h:
(WTF::KeyTraits>::HashTable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Moved the Cocoa-specific parts of CredentialBase into a Cocoa-specific Credential class.
Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

No change in functionality.

* WebCore.exp.in: Updated for functions moved in the class hierarchy.

* WebCore.xcodeproj/project.pbxproj: Added CredentialCocoa.{h,mm}.

* platform/network/Credential.h: For Cocoa, include CredentialCocoa.h instead of the generic
class.
(WebCore::Credential::Credential): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED code.

* platform/network/CredentialBase.cpp:
(WebCore::CredentialBase::CredentialBase): Changed to use emptyString instead of "", removed
#if CERTIFICATE_CREDENTIALS_SUPPORTED code.
(WebCore::CredentialBase::isEmpty): Ditto.
(WebCore::CredentialBase::compare): Renamed operator== to this, removed
#if CERTIFICATE_CREDENTIALS_SUPPORTED code, but changed the end to call platformCompare.
(WebCore::CredentialBase::identity): Deleted.
(WebCore::CredentialBase::certificates): Deleted.
(WebCore::CredentialBase::type): Deleted.
* platform/network/CredentialBase.h: Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED members.
(WebCore::CredentialBase::platformCompare): Added a base implementation that returns true.
(WebCore::operator==): Changed to use CredentialBase::compare.

* platform/network/cocoa/CredentialCocoa.h: Added.
(WebCore::Credential::Credential):
* platform/network/cocoa/CredentialCocoa.mm: Added.
(WebCore::Credential::Credential): Moved the constructor that takes an identity and
certificates here.
(WebCore::Credential::isEmpty): Moved here.
(WebCore::Credential::identity): Ditto.
(WebCore::Credential::certificates): Ditto.
(WebCore::Credential::type): Ditto.
(WebCore::Credential::platformCompare): Moved the code that compares client-certificate
credentials here.

* platform/network/mac/AuthenticationMac.mm:
(WebCore::mac): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED guards in this Cocoa-only
file.
(WebCore::core): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171747 268f45cc-cd09-0410-ab3c-d52691b4dbfc