ffa66bfe56cc0f5129008be31bec165be655aaf3
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-09-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2
3         X11 Global Selection
4         https://bugs.webkit.org/show_bug.cgi?id=88238
5
6         Reviewed by Tony Chang.
7
8         Implements the hooks for supporting global selections in Qt WebKit2.
9
10         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
11         (WebKit::WebEditorClient::respondToChangedSelection):
12         (WebKit::WebEditorClient::updateGlobalSelection):
13         (WebKit::WebEditorClient::supportsGlobalSelection):
14         * WebProcess/WebCoreSupport/WebEditorClient.h:
15         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
16         (WebKit::WebEditorClient::updateGlobalSelection):
17         * WebProcess/WebPage/WebPage.cpp:
18         (WebKit::handleMouseEvent):
19         * WebProcess/WebPage/WebPage.h:
20         (WebPage):
21         * WebProcess/WebPage/qt/WebPageQt.cpp:
22         (WebKit::WebPage::handleMouseReleaseEvent):
23
24 2012-09-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
25
26         [WK2] APIClientTraits<WKPageLoaderClient> and APIClientTraits<WKBundlePageLoaderClient> are not initialized properly
27         https://bugs.webkit.org/show_bug.cgi?id=96079
28
29         Reviewed by Kenneth Rohde Christiansen.
30
31         APIClientTraits<WKPageLoaderClient> was missing offset for version number 2 and
32         APIClientTraits<WKBundlePageLoaderClient> was missing offset for version number 3.
33
34         * Shared/APIClientTraits.cpp:
35         (WebKit):
36
37 2012-09-07  Eunmi Lee  <eunmi15.lee@samsung.com>
38
39         [EFL][WK2] Add APIs to enable or disable the mouse events of the ewk_view.
40         https://bugs.webkit.org/show_bug.cgi?id=88631
41
42         Reviewed by Gyuyoung Kim.
43
44         We can turn on/off the mouse events of the ewk_view using the mouse
45         events enabling API. This API can be used when we want to turn off the
46         mouse events on the touchscreen device to process the touch events
47         instead of the mouse events.
48
49         * UIProcess/API/efl/ewk_view.cpp:
50         (_Ewk_View_Private_Data):
51         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
52         (_ewk_view_smart_add):
53         (ewk_view_mouse_events_enabled_set):
54         (ewk_view_mouse_events_enabled_get):
55         * UIProcess/API/efl/ewk_view.h:
56         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
57         (TEST_F):
58
59 2012-09-07  Tim Horton  <timothy_horton@apple.com>
60
61         Add optional debug logging when we fall into/out of threaded scrolling
62         https://bugs.webkit.org/show_bug.cgi?id=93898
63         <rdar://problem/12089098>
64
65         Reviewed by Simon Fraser.
66
67         Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
68         before the early-return if we don't have layer debugging borders on.
69
70         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
71         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
72
73 2012-09-06  Jinwoo Song  <jinwoo7.song@samsung.com>
74
75         Deploy StringBuilder in more places in WebKit2
76         https://bugs.webkit.org/show_bug.cgi?id=95924
77
78         Reviewed by Benjamin Poulain.
79
80         Deploy StringBuilder to concatenate strings more efficiently.
81
82         * Shared/WebMemorySampler.cpp:
83         (WebKit):
84         (WebKit::WebMemorySampler::WebMemorySampler):
85         (WebKit::WebMemorySampler::stop):
86         (WebKit::WebMemorySampler::writeHeaders):
87         (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
88         * Shared/WebMemorySampler.h:
89         (WebMemorySampler):
90         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
91         (WebKit::capitalizeRFC822HeaderFieldName):
92         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
93         (WebKit::WebContextMenuClient::searchWithGoogle):
94
95 2012-09-06  Ryuan Choi  <ryuan.choi@samsung.com>
96
97         [EFL][WK2] Add API unit tests for ewk_view_theme_set.
98         https://bugs.webkit.org/show_bug.cgi?id=94670
99
100         Reviewed by Gyuyoung Kim.
101
102         Added unit tests for ewk_view_theme_set.
103
104         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
105         (EWK2UnitTest::EWK2UnitTestEnvironment::pathForResource):
106         Added to get path of resource.
107         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
108         Ditto.
109         * UIProcess/API/efl/tests/resources/big_button_theme.edj:
110         Added test theme file which has text_confinement of button as
111         rel1 { ... offset : 150 8; } rel2 { ... offset : -150 -11; }.
112         * UIProcess/API/efl/tests/resources/empty_theme.edj:
113         Added test theme file which includes nothing.
114         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
115         Added unit test for ewk_view_theme_set.
116
117 2012-09-06  Csaba Osztrogonác  <ossy@webkit.org>
118
119         Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView
120         https://bugs.webkit.org/show_bug.cgi?id=96017
121
122         Unreviewed Qt-WK2 buildfix after r127783.
123
124         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
125         (WebKit::LayerTreeCoordinator::syncFixedLayers):
126
127 2012-09-05  Alexey Proskuryakov  <ap@apple.com>
128
129         [WK2] Annotate multi-process FIXMEs with bug numbers
130         https://bugs.webkit.org/show_bug.cgi?id=95916
131
132         Reviewed by Eric Carlson.
133
134         * UIProcess/WebContext.cpp:
135         (WebKit::WebContext::setProcessModel): Ensure that plug-in process is enabled.
136         Comments in WebPluginSiteDataManager said that it's required for multi-process.
137         (WebKit::WebContext::createNewWebProcess): Added a bug number.
138         (WebKit::WebContext::disconnectProcess): Ditto.
139         (WebKit::WebContext::createWebPage): Ditto.
140         (WebKit::WebContext::download): Ditto.
141         (WebKit::WebContext::getWebCoreStatistics): Ditto.
142
143         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
144         (WebKit::WebPluginSiteDataManager::getSitesWithData):
145         (WebKit::WebPluginSiteDataManager::clearSiteData):
146         Removed FIXMEs - some ports haven't switched to plugin process yet, but that
147         doesn't stop others from having a multi-process model. Added an ASSERT to document
148         this requirement (in addition to the check in WebContext).
149
150         * UIProcess/Downloads/DownloadProxy.cpp:
151         (WebKit::DownloadProxy::cancel):
152         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
153         (WebKit::DownloadProxy::startTransfer):
154         * UIProcess/WebApplicationCacheManagerProxy.cpp:
155         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
156         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
157         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
158         * UIProcess/WebCookieManagerProxy.cpp:
159         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
160         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
161         * UIProcess/WebDatabaseManagerProxy.cpp:
162         (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
163         (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
164         (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
165         (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
166         (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
167         (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
168         * UIProcess/WebIconDatabase.cpp:
169         (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
170         (WebKit::WebIconDatabase::didFinishURLImport):
171         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
172         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
173         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
174         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
175         * UIProcess/WebMediaCacheManagerProxy.cpp:
176         (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
177         * UIProcess/WebResourceCacheManagerProxy.cpp:
178         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
179         (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
180         (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
181         Added bug numbers.
182
183 2012-09-06  Michael Saboff  <msaboff@apple.com>
184
185         WebKit2 IPC always sends strings using 16 bit data format
186         https://bugs.webkit.org/show_bug.cgi?id=95811
187
188         Reviewed by Benjamin Poulain.
189
190         Changed string encoding to pass an 8bit flag and then send either 8 or 16 bit
191         character data.
192
193         * Platform/CoreIPC/ArgumentCoders.cpp:
194         (CoreIPC::::encode):
195         (CoreIPC::decodeStringText): New templatized string creation and decoder method.
196         (CoreIPC::::decode):
197
198 2012-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
199
200         [GTK] [WK2] Crash when navigating between pages
201         https://bugs.webkit.org/show_bug.cgi?id=95949
202
203         Reviewed by Martin Robinson.
204
205         Do not trust isMainResource parameter in
206         webkitWebViewResourceLoadStarted(), because it's always true for
207         all subresources of pages loaded from the history cache. We can
208         simply assume that the first resource loaded for the main frame
209         is the main web view resource.
210
211         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
212         (didInitiateLoadForResource):
213         * UIProcess/API/gtk/WebKitWebView.cpp:
214         (webkitWebViewResourceLoadStarted):
215         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
216
217 2012-09-06  Balazs Kelemen  <kbalazs@webkit.org>
218
219         [WK2] Crash in WebPageProxy::showPopupMenu if PageClient does not implement createPopupMenuProxy
220         https://bugs.webkit.org/show_bug.cgi?id=95862
221
222         Reviewed by Simon Hausmann.
223
224         Bail out early if the PageClient does not create a PopupMenuProxy for us.
225
226         * UIProcess/WebPageProxy.cpp:
227         (WebKit::WebPageProxy::showPopupMenu):
228
229 2012-09-06  Christophe Dumez  <christophe.dumez@intel.com>
230
231         [EFL][WK2] Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
232         https://bugs.webkit.org/show_bug.cgi?id=95943
233
234         Reviewed by Kenneth Rohde Christiansen.
235
236         Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
237         in EFL WK2.
238
239         * WebProcess/WebPage/efl/WebPageEfl.cpp:
240         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
241
242 2012-09-06  Patrick Gansterer  <paroga@webkit.org>
243
244         Remove String::operator+=() from windows platform code
245         https://bugs.webkit.org/show_bug.cgi?id=95904
246
247         Reviewed by Benjamin Poulain.
248
249         Use StringBuilder and operator+() to concatenate strings instead of operator+=().
250
251         * UIProcess/win/WebView.cpp:
252         (WebKit::imeCompositionArgumentNames):
253
254 2012-09-06  Kihong Kwon  <kihong.kwon@samsung.com>
255
256         [CMake] Add notifications path to the WebKit2/CMakeLists.txt
257         https://bugs.webkit.org/show_bug.cgi?id=95843
258
259         Reviewed by Laszlo Gombos.
260
261         Add WebCore/Modules/Notifications to the WebKit2_INCLUDE_DIRECTORIES of WebKit2/CMakeLists.txt.
262         There are some build errors when ENABLE_NOTIFICATIONS feature is enabled.
263
264         * CMakeLists.txt:
265
266 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
267
268         [Qt] Various small Windows / MSVC build fixes
269         https://bugs.webkit.org/show_bug.cgi?id=95934
270
271         Reviewed by Kenneth Rohde Christiansen.
272
273         * Shared/LayerTreeContext.h: Include stdint.h due to the use of uint32_t as layer id.
274         * UIProcess/API/qt/qquickwebview_p.h:
275         (WebKit): Fix struct vs. class forward declaration mismatch, causing linking errors.
276         * UIProcess/API/qt/tests/bytearraytestdata.h: Remove export macro from internal test class
277         that is not used anymore. Using the export macro from a DLL when the code in question is not
278         part of the DLL results in the export macro expanding to dllimport, giving incorrect linkage
279         for the unit test.
280         * WebProcess/qt/WebProcessMainQt.cpp:
281         (WebKit::WebProcessMainQt): Removed explicit call to srandom(), which is not available on Windows.
282         The call appears to be unnecessary in the light of the WTF::initializeThreading() call below, which
283         in turn calls WTF::initializeRandomNumberGenerator(), which does the same thing already (and isn't
284         needed on Windows, as per comment in wtf/RandomNumberSeed.h)
285
286 2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
287
288         [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
289         https://bugs.webkit.org/show_bug.cgi?id=95965
290
291         Reviewed by Tor Arne Vestbø.
292
293         Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
294         headers (GraphicsContext3D.h in particular).
295
296         * Target.pri:
297
298 2012-09-06  Andras Becsi  <andras.becsi@nokia.com>
299
300         [WK2] Make [Qt]ViewportHandler cross platform
301         https://bugs.webkit.org/show_bug.cgi?id=91257
302
303         Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
304
305         Since QtViewportHandler includes behaviour that is not platform
306         specific together with hooks to the QtQuick API layer, a platform
307         independent implementation would allow other ports to use the
308         viewport controlling functionality provided.
309
310         This patch removes QtViewportHandler and introduces a platform
311         independent PageViewportController class that is responsible
312         for handling requests from the web process (eg. content size
313         changes, viewport attributes changes and scroll position requests).
314         Requests from the web process are acted on by a platform specific
315         client class which implements the PageViewportControllerClient
316         interface which provides hooks to the platform specific API layer.
317
318         The PageViewportController is also responsible to notify the web
319         process about changes in the viewport state (eg. viewport size,
320         visible rect, content scale and movement trajectory).
321         The client is responsible to delegate these UI changes to the
322         PageViewportController.
323
324         For now only PageViewportControllerClientQt implements the client
325         interface besides providing other QQuick specific functionality
326         (gestures, animations, etc).
327
328         * Target.pri:
329         * UIProcess/API/qt/qquickwebpage_p_p.h:
330         * UIProcess/API/qt/qquickwebview.cpp:
331         (QQuickWebViewPrivate::onComponentComplete):
332         (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
333         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
334         (QQuickWebViewFlickablePrivate::updateViewportSize):
335         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
336         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
337         * UIProcess/API/qt/qquickwebview_p.h:
338         (WebKit):
339         * UIProcess/API/qt/qquickwebview_p_p.h:
340         (WebKit):
341         (QQuickWebViewPrivate::pageViewportControllerClient):
342         (QQuickWebViewPrivate):
343         (QQuickWebViewFlickablePrivate):
344         * UIProcess/API/qt/qwebkittest.cpp:
345         (QWebKitTest::viewport):
346         (QWebKitTest::devicePixelRatio):
347         (QWebKitTest::contentsScale):
348         * UIProcess/PageViewportController.cpp: Added.
349         (WebKit):
350         (WebKit::bound):
351         (WebKit::fuzzyCompare):
352         (WebKit::boundPosition):
353         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
354         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
355         (WebKit::PageViewportController::PageViewportController):
356         (WebKit::PageViewportController::convertFromViewport):
357         (WebKit::PageViewportController::convertToViewport):
358         (WebKit::PageViewportController::innerBoundedContentsScale):
359         (WebKit::PageViewportController::outerBoundedContentsScale):
360         (WebKit::PageViewportController::didChangeContentsSize):
361         (WebKit::PageViewportController::pageDidRequestScroll):
362         (WebKit::PageViewportController::setViewportSize):
363         (WebKit::PageViewportController::setVisibleContentsRect):
364         (WebKit::PageViewportController::syncVisibleContents):
365         (WebKit::PageViewportController::didChangeViewportAttributes):
366         (WebKit::PageViewportController::suspendContent):
367         (WebKit::PageViewportController::resumeContent):
368         (WebKit::PageViewportController::positionRangeForContentAtScale):
369         * UIProcess/PageViewportController.h: Added.
370         (WebCore):
371         (WebKit):
372         (ViewportUpdateDeferrer):
373         (PageViewportController):
374         (WebKit::PageViewportController::~PageViewportController):
375         (WebKit::PageViewportController::hasSuspendedContent):
376         (WebKit::PageViewportController::hadUserInteraction):
377         (WebKit::PageViewportController::allowsUserScaling):
378         (WebKit::PageViewportController::contentsLayoutSize):
379         (WebKit::PageViewportController::devicePixelRatio):
380         (WebKit::PageViewportController::minimumContentsScale):
381         (WebKit::PageViewportController::maximumContentsScale):
382         (WebKit::PageViewportController::setHadUserInteraction):
383         * UIProcess/PageViewportControllerClient.h: Added.
384         (WebKit):
385         (PageViewportControllerClient):
386         (WebKit::PageViewportControllerClient::PageViewportControllerClient):
387         (WebKit::PageViewportControllerClient::~PageViewportControllerClient):
388         * UIProcess/qt/PageViewportControllerClientQt.cpp: Added.
389         (WebKit):
390         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
391         (WebKit::PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue):
392         (WebKit::PageViewportControllerClientQt::~PageViewportControllerClientQt):
393         (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
394         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
395         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
396         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
397         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
398         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
399         (WebKit::PageViewportControllerClientQt::touchBegin):
400         (WebKit::PageViewportControllerClientQt::touchEnd):
401         (WebKit::PageViewportControllerClientQt::focusEditableArea):
402         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
403         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
404         (WebKit::PageViewportControllerClientQt::setContentsPosition):
405         (WebKit::PageViewportControllerClientQt::setContentsScale):
406         (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
407         (WebKit::PageViewportControllerClientQt::didResumeContent):
408         (WebKit::PageViewportControllerClientQt::allowsUserScaling):
409         (WebKit::PageViewportControllerClientQt::devicePixelRatio):
410         (WebKit::PageViewportControllerClientQt::minimumContentsScale):
411         (WebKit::PageViewportControllerClientQt::maximumContentsScale):
412         (WebKit::PageViewportControllerClientQt::currentContentsScale):
413         (WebKit::PageViewportControllerClientQt::contentsLayoutSize):
414         (WebKit::PageViewportControllerClientQt::scrollAnimationActive):
415         (WebKit::PageViewportControllerClientQt::panGestureActive):
416         (WebKit::PageViewportControllerClientQt::panGestureStarted):
417         (WebKit::PageViewportControllerClientQt::panGestureRequestUpdate):
418         (WebKit::PageViewportControllerClientQt::panGestureEnded):
419         (WebKit::PageViewportControllerClientQt::panGestureCancelled):
420         (WebKit::PageViewportControllerClientQt::scaleAnimationActive):
421         (WebKit::PageViewportControllerClientQt::cancelScrollAnimation):
422         (WebKit::PageViewportControllerClientQt::interruptScaleAnimation):
423         (WebKit::PageViewportControllerClientQt::pinchGestureActive):
424         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
425         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
426         (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
427         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
428         (WebKit::PageViewportControllerClientQt::visibleContentsRect):
429         (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
430         (WebKit::PageViewportControllerClientQt::didChangeVisibleContents):
431         (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
432         (WebKit::PageViewportControllerClientQt::updateViewportController):
433         (WebKit::PageViewportControllerClientQt::scaleContent):
434         (WebKit::PageViewportControllerClientQt::viewportScaleForRect):
435         * UIProcess/qt/PageViewportControllerClientQt.h: Added.
436         (WebKit):
437         (PageViewportControllerClientQt):
438         (WebKit::PageViewportControllerClientQt::setController):
439         (ScaleAnimation):
440         (WebKit::PageViewportControllerClientQt::ScaleAnimation::ScaleAnimation):
441         (WebKit::PageViewportControllerClientQt::ScaleStackItem::ScaleStackItem):
442         (ScaleStackItem):
443         * UIProcess/qt/QtGestureRecognizer.cpp:
444         (WebKit::QtGestureRecognizer::viewportController):
445         * UIProcess/qt/QtGestureRecognizer.h:
446         (WebKit):
447         * UIProcess/qt/QtPanGestureRecognizer.cpp:
448         (WebKit::QtPanGestureRecognizer::update):
449         (WebKit::QtPanGestureRecognizer::finish):
450         (WebKit::QtPanGestureRecognizer::cancel):
451         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
452         (WebKit::QtPinchGestureRecognizer::update):
453         (WebKit::QtPinchGestureRecognizer::finish):
454         (WebKit::QtPinchGestureRecognizer::cancel):
455         * UIProcess/qt/QtViewportHandler.cpp: Removed.
456         * UIProcess/qt/QtWebPageEventHandler.cpp:
457         (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
458         (WebKit::QtWebPageEventHandler::setViewportController):
459         (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
460         (WebKit::QtWebPageEventHandler::handleInputEvent):
461         (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
462         (WebKit::QtWebPageEventHandler::didFindZoomableArea):
463         * UIProcess/qt/QtWebPageEventHandler.h:
464         (WebKit):
465         (QtWebPageEventHandler):
466         (WebKit::QtWebPageEventHandler::viewportController):
467
468 2012-09-06  Ryuan Choi  <ryuan.choi@samsung.com>
469
470         [EFL][WK2] WebMemorySampler.cpp is included twice.
471         https://bugs.webkit.org/show_bug.cgi?id=95910
472
473         Reviewed by Kentaro Hara.
474
475         Now WebMemorySampler.cpp is in CMakeLists.txt and PlatformEfl.cmake.
476
477         * PlatformEfl.cmake: Removed WebMemorySampler.cpp from source lists.
478
479 2012-09-05  Ryuan Choi  <ryuan.choi@samsung.com>
480
481         [EFL][WK2] Implement missing feature to support <select> tag
482         https://bugs.webkit.org/show_bug.cgi?id=95708
483
484         Reviewed by Gyuyoung Kim.
485
486         Added missing APIs for select tag.
487
488         This patch provides all functionality of current WebPopupItem to applications.
489
490         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
491         (_Ewk_Popup_Menu_Item):
492         (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
493         (ewk_popup_menu_item_new):
494         (ewk_popup_menu_item_text_direction_get):
495         (ewk_popup_menu_item_text_direction_override_get):
496         (ewk_popup_menu_item_tooltip_get):
497         (ewk_popup_menu_item_accessibility_text_get):
498         (ewk_popup_menu_item_enabled_get):
499         (ewk_popup_menu_item_is_label_get):
500         (ewk_popup_menu_item_selected_get):
501         * UIProcess/API/efl/ewk_popup_menu_item.h:
502         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
503         * UIProcess/API/efl/ewk_view.cpp:
504         (ewk_view_popup_menu_request):
505         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
506         (checkBasicPopupMenuItem):
507         (showPopupMenu): Updated test case to cover new APIs.
508         (TEST_F):
509
510 2012-09-05  Christophe Dumez  <christophe.dumez@intel.com>
511
512         [EFL][WK2] Provide implementation for WebProcess functions
513         https://bugs.webkit.org/show_bug.cgi?id=95857
514
515         Reviewed by Kenneth Rohde Christiansen.
516
517         Rename WebProcessGtk to WebProcessSoup and reuse it in
518         EFL port since all the code is soup-related. We now
519         have a proper implementation for the WebProcess
520         platform methods.
521
522         * GNUmakefile.list.am:
523         * PlatformEfl.cmake:
524         * WebProcess/efl/WebProcessEfl.cpp: Removed.
525         * WebProcess/efl/WebProcessMainEfl.cpp:
526         (WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port.
527         * WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp.
528         (WebKit):
529         (WebKit::getCacheDiskFreeSize):
530         (WebKit::getMemorySize):
531         (WebKit::WebProcess::platformSetCacheModel):
532         (WebKit::WebProcess::platformClearResourceCaches):
533         (WebKit::buildAcceptLanguages):
534         (WebKit::setSoupSessionAcceptLanguage):
535         (WebKit::languageChanged):
536         (WebKit::WebProcess::platformInitializeWebProcess):
537         (WebKit::WebProcess::platformTerminate):
538
539 2012-09-05  Benjamin Poulain  <bpoulain@apple.com>
540
541         More fixes for String::operator+=() on Mac
542         https://bugs.webkit.org/show_bug.cgi?id=95880
543
544         Reviewed by Adam Barth.
545
546         * UIProcess/WebInspectorProxy.cpp:
547         (WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
548         there is no other concatenation outside that branch.
549         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
550         (WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
551         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
552         (WebKit::NetscapePlugin::userAgent): Another legitimate use of append().
553
554 2012-09-05  Alexey Proskuryakov  <ap@apple.com>
555
556         [WK2] Make visited link tracking work in multi-process mode
557         https://bugs.webkit.org/show_bug.cgi?id=95869
558
559         Reviewed by Dan Bernstein.
560
561         * UIProcess/VisitedLinkProvider.h:
562         * UIProcess/VisitedLinkProvider.cpp:
563         (WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState
564         was making no sense in multi-process world, so it was let go.
565         (WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes.
566         (WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going
567         to become stale.
568         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed
569         a bug where we would churn table size in some cases. Added debug logging in failure
570         case. Re-implemented messaging code to work with multiple web processes.
571
572         * UIProcess/WebContext.cpp:
573         (WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to
574         m_visitedLinkProvider, as it now needs to track processes.
575         (WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider
576         cleanup in multi-process mode.
577
578 2012-09-05  Brady Eidson  <beidson@apple.com>
579
580         Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot
581         <rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026
582
583         Patch partially by Andras Becsi  <andras.becsi@nokia.com>
584
585         Reviewed by Andy Estes.
586
587         If a plug-in fails to initialize then the m_plugin pointer is cleared out.
588         When accessing the script object it is appropriate to unconditionally null check m_plugin.
589
590         * WebProcess/Plugins/PluginView.cpp:
591         (WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.
592
593 2012-09-05  Christophe Dumez  <christophe.dumez@intel.com>
594
595         [EFL][WK2] Provide implementation for WebFrameNetworkingContext
596         https://bugs.webkit.org/show_bug.cgi?id=95826
597
598         Reviewed by Kenneth Rohde Christiansen.
599
600         Remove EFL-specific and empty implementation for WebFrameNetworkingContext
601         and use the existing soup implementation instead.
602
603         * PlatformEfl.cmake:
604         * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Removed.
605
606 2012-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
607
608         [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
609         https://bugs.webkit.org/show_bug.cgi?id=92735
610
611         Reviewed by Hajime Morita.
612
613         Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
614         Add symbols for Mac Win builds for corresponding newly added APIs.
615
616         * win/WebKit2.def:
617         * win/WebKit2CFLite.def:
618
619 2012-09-05  Balazs Kelemen  <kbalazs@webkit.org>
620
621         [Qt] QRawWebViewPrivate does not initialize some members
622         https://bugs.webkit.org/show_bug.cgi?id=95709
623
624         Reviewed by Luiz Agostini.
625
626         Don't miss initializing the bool flags.
627
628         * UIProcess/API/qt/raw/qrawwebview.cpp:
629         (QRawWebViewPrivate::QRawWebViewPrivate):
630
631 2012-09-04  Kangil Han  <kangil.han@samsung.com>
632
633         [WK2] Use explicit constructor in InjectedBundle.
634         https://bugs.webkit.org/show_bug.cgi?id=95746
635
636         Reviewed by Sam Weinig.
637
638         Added explicit keyword in constructor of InjectedBundle in order to avoid implicit type conversion.
639
640         * WebProcess/InjectedBundle/InjectedBundle.h:
641         (InjectedBundle):
642
643 2012-09-03  Sam Weinig  <sam@webkit.org>
644
645         Part 1 of removing PlatformString.h, move remaining functions to new homes
646         https://bugs.webkit.org/show_bug.cgi?id=95702
647
648         Reviewed by Beth Dakin.
649
650         * UIProcess/WebPageProxy.h:
651         Forward declare SharedBuffer.
652
653 2012-09-04  Jeffrey Pfau  <jpfau@apple.com>
654
655         Make plugins respect third-party storage blocking setting
656         https://bugs.webkit.org/show_bug.cgi?id=94888
657
658         Reviewed by Brady Eidson.
659
660         Plugins that are in a third-party context should be put into private browsing mode so their storage is temporary.
661
662         * WebProcess/Plugins/PluginView.cpp:
663         (WebKit::PluginView::isPrivateBrowsingEnabled): Put the plugin into private browsing mode if it is in a third-party context.
664         (WebKit::PluginView::privateBrowsingStateChanged): Make sure a plugin doesn't leave private browsing mode if it's in a third-party context.
665
666 2012-09-04  Pekka Vuorela  <pvuorela@iki.fi>
667
668         [Qt] Remove use of deprecated QInputMethod method
669         https://bugs.webkit.org/show_bug.cgi?id=95741
670
671         Reviewed by Simon Hausmann.
672
673         Adapt from deprecated QInputMethod::visible() to isVisible().
674
675         * UIProcess/qt/QtWebPageEventHandler.cpp:
676         (WebKit::setInputPanelVisible):
677         (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
678
679 2012-09-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
680
681         Allow child-frame content in hit-tests.
682         https://bugs.webkit.org/show_bug.cgi?id=95204
683
684         Reviewed by Antonio Gomes.
685
686         Update symbols for the Windows build-system.
687
688         * win/WebKit2.def:
689         * win/WebKit2CFLite.def:
690
691 2012-09-04  Ryuan Choi  <ryuan.choi@samsung.com>
692
693         [EFL] Drop default theme concept
694         https://bugs.webkit.org/show_bug.cgi?id=94778
695
696         Reviewed by Gyuyoung Kim.
697
698         * PlatformEfl.cmake: Removed DEFAULT_THEME_PATH definitions.
699         * UIProcess/API/efl/ewk_view.cpp:
700         (_ewk_view_initialize): Removed default theme concept.
701         * UIProcess/API/efl/ewk_view.h:
702         Updated doxygen document not to mention default theme.
703
704 2012-09-03  Kangil Han  <kangil.han@samsung.com>
705
706         [WK2][WTR] Implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
707         https://bugs.webkit.org/show_bug.cgi?id=95576
708
709         Reviewed by Maciej Stachowiak.
710
711         Added a line of macro to implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
712
713         * WebProcess/InjectedBundle/InjectedBundle.cpp:
714         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
715
716 2012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
717
718         [Qt] Not all activated elements highlighted, but some frames are
719         https://bugs.webkit.org/show_bug.cgi?id=95683
720
721         Reviewed by Kenneth Rohde Christiansen.
722
723         Use the new function Node::willRespondToMouseClickEvents to better determine if the element
724         can be tap-activated and avoid documents and frames completely.
725
726         * WebProcess/WebPage/WebPage.cpp:
727         (WebKit::WebPage::highlightPotentialActivation):
728
729 2012-09-03  Eunmi Lee  <eunmi15.lee@samsung.com>
730
731         [EFL][WK2] Add ewk_settings.
732         https://bugs.webkit.org/show_bug.cgi?id=91206
733
734         Reviewed by Gyuyoung Kim.
735
736         Add the ewk_settings which wraps the WKPreferencesRef.
737         The ewk_settings will be created by the ewk_view and it will be
738         destroyed when the ewk_view is destroyed. I make each view to have
739         its own group to make one ewk_settings sets preferences only for
740         one ewk_view.
741         The application can get the ewk_settings from ewk_view using
742         ewk_view_settings_get() API.
743
744         * UIProcess/API/efl/EWebKit2.h:
745         * UIProcess/API/efl/ewk_settings.cpp: Added.
746         (ewk_settings_enable_scripts_set):
747         (ewk_settings_enable_scripts_get):
748         (ewk_settings_auto_load_images_set):
749         (ewk_settings_auto_load_images_get):
750         * UIProcess/API/efl/ewk_settings.h: Added.
751         * UIProcess/API/efl/ewk_settings_private.h: Added.
752         (_Ewk_Settings):
753         (_Ewk_Settings::_Ewk_Settings):
754         * UIProcess/API/efl/ewk_view.cpp:
755         (_Ewk_View_Private_Data):
756         (_ewk_view_initialize):
757         (ewk_view_settings_get):
758         * UIProcess/API/efl/ewk_view.h:
759         * UIProcess/API/efl/tests/test_ewk2_settings.cpp: Added.
760         (TEST_F):
761         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
762         (TEST_F):
763
764 2012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
765
766         Wheel-events fails temporarily after reload
767         https://bugs.webkit.org/show_bug.cgi?id=94934
768
769         Reviewed by Kenneth Rohde Christiansen.
770
771         Set fixed visible content rect using visibleContentBounds instead of WebPage::size. Otherwise the 
772         content rect will be incorrectly set to the entire document size, when resizesToContents is active.
773
774         Test: UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
775
776         * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
777         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
778         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
779
780 2012-09-03  Jinwoo Song  <jinwoo7.song@samsung.com>
781
782         [EFL] Use WebKitVersion.h to get version information
783         https://bugs.webkit.org/show_bug.cgi?id=95669
784
785         Reviewed by Gyuyoung Kim.
786
787         Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION 
788         in the WebKitVersion.h
789
790         * UIProcess/efl/WebPageProxyEfl.cpp:
791         (WebKit::WebPageProxy::standardUserAgent):
792
793 2012-09-03  Christophe Dumez  <christophe.dumez@intel.com>
794
795         [EFL][WK2] Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage API test
796         https://bugs.webkit.org/show_bug.cgi?id=95671
797
798         Reviewed by Kenneth Rohde Christiansen.
799
800         Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage
801         API test since it is flaky on the bots.
802
803         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
804         (TEST_F):
805
806 2012-09-02  Kenichi Ishibashi  <bashi@chromium.org>
807
808         WK2: Build failure on SnowLeopard after r127384
809         https://bugs.webkit.org/show_bug.cgi?id=95665
810
811         Reviewed by Dan Bernstein.
812
813         Add SandboxExtension::consumePermanently(const Handle&) for !ENABLE(WEB_PROCESS_SANDBOX) to fix link error.
814
815         * Shared/SandboxExtension.h:
816         (WebKit::SandboxExtension::consumePermanently):
817
818 2012-09-02  Ryuan Choi  <ryuan.choi@samsung.com>
819
820         [EFL][WK2] Keep activePopupMenu to call valueChangedForPopupMenu() outside showPopupMenu()
821         https://bugs.webkit.org/show_bug.cgi?id=95355
822
823         Reviewed by Gyuyoung Kim.
824
825         Efl does not have a proper way to support nested loop so that applications
826         may change value after showPopupMenu() is finished.
827
828         * UIProcess/API/efl/tests/test_ewk2_view.cpp: Improved test case to cover this bug.
829         (selectItemAfterDelayed):
830         (showPopupMenu):
831         * UIProcess/WebPageProxy.cpp:
832         (WebKit::WebPageProxy::showPopupMenu):
833         Guard with !PLATFORM(EFL) to keep the activePopupMenu valid to call valueChangedForPopupMenu
834         outside showPopupMenu().
835
836 2012-09-02  Byungwoo Lee  <bw80.lee@gmail.com>
837
838         [EFL] Add missing semicolon at the end of some lines.
839         https://bugs.webkit.org/show_bug.cgi?id=95640
840
841         Reviewed by Gyuyoung Kim.
842
843         EWK_VIEW_PRIV_GET_OR_RETURN macro and other related macro can be used
844         without semicolon, because it ends with a semicolon or complete block.
845         This can make a human mistake about missing semicolon.
846
847         Fixed the macros to require semicolon, and added missing semicolons.
848
849         * UIProcess/API/efl/ewk_view.cpp:
850         (_ewk_view_smart_focus_in):
851         (_ewk_view_smart_focus_out):
852         (_ewk_view_smart_mouse_wheel):
853         (_ewk_view_smart_mouse_down):
854         (_ewk_view_smart_mouse_up):
855         (_ewk_view_smart_mouse_move):
856         (_ewk_view_smart_key_down):
857         (_ewk_view_smart_key_up):
858         (_ewk_view_initialize):
859
860 2012-09-01  Sam Weinig  <sam@webkit.org>
861
862         Remove unused member variable from WebProcess.
863
864         Rubber-stamped by Dan Bernstein.
865
866         * WebProcess/WebProcess.h:
867         (WebProcess):
868         Remove m_applicationCachePathExtension.
869
870 2012-09-01  Sam Weinig  <sam@webkit.org>
871
872         Use dynamic sandbox extension rather than sandbox parameters for paths provided by the UIProcess
873         https://bugs.webkit.org/show_bug.cgi?id=95651
874
875         Reviewed by Dan Bernstein.
876
877         This is the first step to not relying on the initialization message to initialize
878         the sandbox.
879
880         * Shared/SandboxExtension.h:
881         (SandboxExtension):
882         * Shared/mac/SandboxExtensionMac.mm:
883         (WebKit::SandboxExtension::consumePermanently):
884         Add static version of SandboxExtension::consumePermanently which takes a
885         SandboxExtension::Handle. There is no reason to create a SandboxExtension
886         just to consume it forever.
887
888         * Shared/WebProcessCreationParameters.cpp:
889         (WebKit::WebProcessCreationParameters::encode):
890         (WebKit::WebProcessCreationParameters::decode):
891         * Shared/WebProcessCreationParameters.h:
892         (WebProcessCreationParameters):
893         Add SandboxExtension::Handles for paths we need access to, and remove
894         webInspectorBaseDirectory, which is unused.
895
896         * UIProcess/WebContext.cpp:
897         (WebKit::WebContext::createNewWebProcess):
898         * UIProcess/mac/WebContextMac.mm:
899         (WebKit::WebContext::platformInitializeWebProcess):
900         Create SandboxExtension::Handles for paths we need access to, and move
901         getting the presenterApplicationPid to platformInitializeWebProcess, since
902         it is Mac only.
903
904         * WebProcess/WebProcess.cpp:
905         (WebKit::WebProcess::initializeWebProcess):
906         Move setting the presenterApplicationPid to platformInitializeWebProcess.
907
908         * WebProcess/mac/WebProcessMac.mm:
909         (WebKit::initializeSandbox):
910         (WebKit::WebProcess::platformInitializeWebProcess):
911         Replace the use of sandbox parameters for opening access for necessary paths
912         with permanent consumption of sandbox extensions.
913
914         * WebProcess/com.apple.WebProcess.sb.in:
915         Remove sandbox rules that are now handled via extensions.
916
917 2012-08-31  Byungwoo Lee  <bw80.lee@samsung.com>
918
919         Build warning : -Wformat on WebMemorySampler.cpp.
920         https://bugs.webkit.org/show_bug.cgi?id=95550
921
922         Reviewed by Darin Adler.
923
924         Fix build warning.
925         Use String::number instead of String::format.
926
927         * Shared/WebMemorySampler.cpp:
928         (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
929
930 2012-08-31  Alexey Proskuryakov  <ap@apple.com>
931
932         [WK2] Use initial process in multi-process mode, too
933         https://bugs.webkit.org/show_bug.cgi?id=95612
934
935         Reviewed by Sam Weinig.
936
937         * UIProcess/WebContext.cpp:
938         (WebKit::WebContext::WebContext):
939         (WebKit::WebContext::warmInitialProcess):
940         (WebKit::WebContext::disconnectProcess):
941         (WebKit::WebContext::createWebPage):
942         * UIProcess/WebContext.h:
943         Added a boolean telling whether the last (normally, the only) process in m_processes
944         is available for use in a new page.
945
946 2012-08-31  Alexey Proskuryakov  <ap@apple.com>
947
948         [WK2] WebProcesses should not wait 60 seconds to close in multi-process mode
949         https://bugs.webkit.org/show_bug.cgi?id=95616
950
951         Reviewed by Darin Adler.
952
953         * Shared/ChildProcess.cpp: (WebKit::ChildProcess::ChildProcess):
954         * Shared/ChildProcess.h: (WebKit::ChildProcess::setTerminationTimeout):
955         Expose a setter for timeout instead of taking it at construction time. If a derived
956         class doesn't call the setter, default to 0.
957
958         * PluginProcess/PluginProcess.cpp:
959         (WebKit::PluginProcess::PluginProcess):
960         (WebKit::PluginProcess::initializePluginProcess):
961         Use timeout from initialization message.
962
963         * WebProcess/WebProcess.cpp:
964         (WebKit::WebProcess::WebProcess):
965         (WebKit::WebProcess::initializeWebProcess):
966         Ditto.
967
968         * Shared/Plugins/PluginProcessCreationParameters.cpp:
969         (WebKit::PluginProcessCreationParameters::encode):
970         (WebKit::PluginProcessCreationParameters::decode):
971         * Shared/Plugins/PluginProcessCreationParameters.h:
972         * Shared/WebProcessCreationParameters.cpp:
973         (WebKit::WebProcessCreationParameters::encode):
974         (WebKit::WebProcessCreationParameters::decode):
975         * Shared/WebProcessCreationParameters.h:
976         Funnel timeout across process boundary.
977
978         * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didFinishLaunching):
979         Pass timeout as initialization message after launch.
980
981         * UIProcess/WebContext.cpp:
982         (WebKit::WebContext::createNewWebProcess): Pass timeout as initialization message
983         (unlike plugin process proxy, web process proxy doesn't wait, and relies on the message
984         being queued).
985         (WebKit::WebContext::disconnectProcess): Skip invalidating global managers when
986         one process quits. We still need to do something, but running this code would just
987         result in assertion failures any time a page was closed.
988
989 2012-08-31  Brady Eidson  <beidson@apple.com>
990
991        REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
992        <rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
993
994        Reviewed by Simon Fraser.
995
996        * WebProcess/Plugins/PluginView.cpp:
997        (WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
998          to override the boundsRect() if the page scale factor is 1.
999
1000 2012-08-31  Tony Chang  <tony@chromium.org>
1001
1002         Remove ENABLE_CSS3_FLEXBOX compile time flag
1003         https://bugs.webkit.org/show_bug.cgi?id=95382
1004
1005         Reviewed by Ojan Vafai.
1006
1007         Everyone is already enabling this by default and the spec has stablized.
1008
1009         * Configurations/FeatureDefines.xcconfig:
1010
1011 2012-08-31  Pratik Solanki  <psolanki@apple.com>
1012
1013         objc_msgSend and IMP should be cast appropriately before using
1014         https://bugs.webkit.org/show_bug.cgi?id=95242
1015
1016         Reviewed by Benjamin Poulain.
1017
1018         Follow on fix for Mac EWS - use objc-runtime.h instead of runtime.h so
1019         that it finds the declaration for objc_msgSend.
1020
1021         * UIProcess/API/mac/PDFViewController.mm:
1022
1023 2012-08-31  Jon Lee  <jonlee@apple.com>
1024
1025         [Tests] Add basic tests to http/tests/notifications
1026         https://bugs.webkit.org/show_bug.cgi?id=95493
1027         <rdar://problem/12209303>
1028
1029         Reviewed by Alexey Proskuryakov.
1030
1031         Simplify the passing of the permission policy to just a boolean instead of converting it
1032         back and forth from the NotificationClient::Permission enum.
1033
1034         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Move the declaration to the section
1035         of functions that are TestRunner SPI.
1036         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1037         (WebKit::InjectedBundle::setWebNotificationPermission): Use a boolean.
1038         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1039         (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
1040         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1041         (NotificationPermissionRequestManager):
1042
1043         * win/WebKit2.vcproj: Add WKNotificationPermissionRequest.{h,cpp}.
1044         * win/WebKit2Generated.make: Export WKNotificationPermissionRequest.h.
1045
1046 2012-08-31  Balazs Kelemen  <kbalazs@webkit.org>
1047
1048         [Qt] ASSERT(m_useFixedLayout) in WebPage when using QRawWebView without setting fixed layout
1049         https://bugs.webkit.org/show_bug.cgi?id=95557
1050
1051         Reviewed by Noam Rosenthal.
1052
1053         Let QRawWebView work with non-fixed layout size.
1054
1055         * UIProcess/API/qt/raw/qrawwebview.cpp:
1056         (QRawWebView::setSize): Also put the member assigment into
1057         the point where the new size is ensured to be committed.
1058
1059 2012-08-31  Balazs Kelemen  <kbalazs@webkit.org>
1060
1061         [Qt] LayerTreeRenderer::callOnMainTread method name is misleading
1062         https://bugs.webkit.org/show_bug.cgi?id=95558
1063
1064         Reviewed by Kenneth Rohde Christiansen.
1065
1066         Fix the typo in the function name so callers will really call this
1067         and not WTF::callOnMainThread. Renamed to dispatchOnMainThread to
1068         make it clear that these things are not the same.
1069
1070         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1071         (WebKit::LayerTreeRenderer::dispatchOnMainThread):
1072         (WebKit::LayerTreeRenderer::flushLayerChanges):
1073         (WebKit::LayerTreeRenderer::purgeGLResources):
1074         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1075         (LayerTreeRenderer):
1076
1077 2012-08-31  Brady Eidson  <beidson@apple.com>
1078
1079         REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs
1080         <rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515
1081
1082         Reviewed by Dan Bernstein.
1083
1084         Plug-ins created in background tabs don't get initialized until they first become visible,
1085         so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in.
1086
1087         Many other methods related to visibility and focus only call through if the plug-in is initialized,
1088         so setWindowIsVisible should do the same.
1089
1090         * WebProcess/Plugins/PluginView.cpp:
1091         (WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes.
1092
1093 2012-08-31  Milian Wolff  <milian.wolff@kdab.com>
1094
1095         [Qt] QNX does not support SOCK_SEQPACKET socket type for socketpair in ProcessLauncherQt
1096         https://bugs.webkit.org/show_bug.cgi?id=95553
1097
1098         Reviewed by Simon Hausmann.
1099
1100         Calling socketpair with SOCK_SEQPACKET socket type fails on QNX with an error 241 (EPROTOTYPE),
1101         as can be seen by the following debug output: "Creation of socket failed with errno: 241".
1102         A test app shows that SOCK_DGRAM works properly on QNX, thus use it instead of SOCK_SEQPACKET.
1103
1104         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1105
1106 2012-08-30  Mark Hahnenberg  <mhahnenberg@apple.com>
1107
1108         ~JSNPObject should call invalidate() if it hasn't been called already
1109         https://bugs.webkit.org/show_bug.cgi?id=95497
1110
1111         Reviewed by Geoffrey Garen.
1112
1113         Finalization is no longer eager, just like destruction, so the original intent behind 
1114         this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate() 
1115         ourselves in ~JSNPObject.
1116
1117         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1118         (WebKit::JSNPObject::~JSNPObject):
1119
1120 2012-08-30  Sam Weinig  <sam@webkit.org>
1121
1122         Allow dynamic mach-lookup extensions in the WebProcess
1123         <rdar://problem/12207996>
1124
1125         Reviewed by Gavin Barraclough.
1126
1127         Like we allow file read/write dynamic sandbox extensions, we should allow
1128         mach-lookup extensions.
1129
1130         * WebProcess/com.apple.WebProcess.sb.in:
1131
1132 2012-08-30  Geoffrey Garen  <ggaren@apple.com>
1133
1134         Use one object instead of two for closures, eliminating ScopeChainNode
1135         https://bugs.webkit.org/show_bug.cgi?id=95501
1136
1137         Reviewed by Filip Pizlo.
1138
1139         Mechanical changes to update for JSC interface change.
1140
1141 2012-08-30  JungJik Lee  <jungjik.lee@samsung.com>
1142
1143         [EFL][WK2] Add WebMemorySampler feature.
1144         https://bugs.webkit.org/show_bug.cgi?id=91214
1145
1146         Reviewed by Kenneth Rohde Christiansen.
1147
1148         Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of
1149         WebProcess and UI Process and also it records application memory status in real time.
1150         Included items on the result are JIT, JS heap, fastmalloc bytes and
1151         application memory info from /proc/process_id/statm.
1152
1153         * PlatformEfl.cmake:
1154         * Shared/linux/WebMemorySamplerLinux.cpp: Added.
1155         (WebKit):
1156         (ApplicationMemoryStats):
1157         (WebKit::nextToken):
1158         (WebKit::appendKeyValuePair):
1159         (WebKit::sampleMemoryAllocatedForApplication):
1160         (WebKit::WebMemorySampler::processName):
1161         (WebKit::WebMemorySampler::sampleWebKit):
1162         (WebKit::WebMemorySampler::sendMemoryPressureEvent):
1163         * UIProcess/API/efl/ewk_context.cpp:
1164         (_Ewk_Context::_Ewk_Context):
1165
1166 2012-08-30  Pratik Solanki  <psolanki@apple.com>
1167
1168         objc_msgSend and IMP should be cast appropriately before using
1169         https://bugs.webkit.org/show_bug.cgi?id=95242
1170
1171         Reviewed by Benjamin Poulain.
1172
1173         Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
1174         to a function pointer with right types when calling objc_msgSend and an
1175         IMP method directly.
1176
1177         * UIProcess/API/mac/PDFViewController.mm:
1178         (WebKit::PDFViewScrollView_scrollWheel):
1179
1180 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
1181
1182         Replace JSC::UString by WTF::String
1183         https://bugs.webkit.org/show_bug.cgi?id=95271
1184
1185         Reviewed by Geoffrey Garen.
1186
1187         Update to code to switch from UString to String.
1188
1189         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1190         (WebKit::JSNPMethod::finishCreation):
1191         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1192         (WebKit::JSNPMethod::create):
1193         (JSNPMethod):
1194         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1195         (WebKit::npIdentifierFromIdentifier):
1196         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1197         (WebKit::NPRuntimeObjectMap::evaluate):
1198         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
1199
1200 2012-08-29  Mark Hahnenberg  <mhahnenberg@apple.com>
1201
1202         JSNPObject doesn't always protect its data when calling into plugin code
1203         https://bugs.webkit.org/show_bug.cgi?id=95394
1204
1205         Reviewed by Brady Eidson.
1206
1207         We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since 
1208         there's no telling what the plugin will do, including destroying itself.
1209
1210         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1211         (WebKit::JSNPObject::getOwnPropertySlot):
1212         (WebKit::JSNPObject::getOwnPropertyDescriptor):
1213
1214 2012-08-30  Mike Sierra  <mike.sierra@nokia.com>
1215
1216         [QT][WK2] webview API doc
1217         https://bugs.webkit.org/show_bug.cgi?id=81701
1218
1219         Reviewed by Simon Hausmann.
1220
1221         Various improvements and additions to the documentation of the QML WebView element.
1222
1223         * UIProcess/API/qt/qquickwebview.cpp:
1224
1225 2012-08-29  Kangil Han  <kangil.han@samsung.com>
1226
1227         [EFL][WK2] Replace PageClientImpl with ewk view in constructor of EflViewportHandler.
1228         https://bugs.webkit.org/show_bug.cgi?id=95408
1229
1230         Reviewed by Gyuyoung Kim.
1231
1232         To keep consistency of implementation, derived classes(from ewk view) should have view reference.
1233         From this, derived classes would have less interference from changes that would happen in port specific classes, i.e. PageClientImpl.
1234
1235         * UIProcess/API/efl/EflViewportHandler.cpp:
1236         (WebKit::EflViewportHandler::EflViewportHandler):
1237         (WebKit::EflViewportHandler::drawingArea):
1238         (WebKit):
1239         (WebKit::EflViewportHandler::updateViewportSize):
1240         * UIProcess/API/efl/EflViewportHandler.h:
1241         (WebKit::EflViewportHandler::create):
1242         (EflViewportHandler):
1243         * UIProcess/API/efl/ewk_view.cpp:
1244         (_ewk_view_initialize):
1245
1246 2012-08-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1247
1248         [WK2] Use ASCIILiteral hotness for DEFINE_STATIC_LOCAL string
1249         https://bugs.webkit.org/show_bug.cgi?id=95318
1250
1251         Reviewed by Benjamin Poulain.
1252
1253         As recommended by http://trac.webkit.org/wiki/EfficientStrings,
1254         WebKit2 needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
1255
1256         * Shared/WebError.cpp:
1257         (WebKit::WebError::webKitErrorDomain):
1258         * Shared/WebPreferencesStore.cpp:
1259         (WebPreferencesKey):
1260         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1261         (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
1262         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1263         (WebKit::remoteInspectorPagePath):
1264         * UIProcess/WebDatabaseManagerProxy.cpp:
1265         (WebKit::WebDatabaseManagerProxy::originKey):
1266         (WebKit::WebDatabaseManagerProxy::originQuotaKey):
1267         (WebKit::WebDatabaseManagerProxy::originUsageKey):
1268         (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
1269         (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
1270         (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
1271         (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
1272         (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
1273         * UIProcess/WebPageProxy.cpp:
1274         (WebKit::WebPageProxy::executeEditCommand):
1275         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1276         (WebKit::WebEditorClient::didBeginEditing):
1277         (WebKit::WebEditorClient::respondToChangedContents):
1278         (WebKit::WebEditorClient::respondToChangedSelection):
1279         (WebKit::WebEditorClient::didEndEditing):
1280         * WebProcess/WebProcess.cpp:
1281         (WebKit::getWebCoreMemoryCacheStatistics):
1282
1283 2012-08-29  Luciano Wolf  <luciano.wolf@openbossa.org>
1284
1285         [Qt][WK2] ApplicationCache LayoutTests failed
1286         https://bugs.webkit.org/show_bug.cgi?id=69541
1287
1288         Reviewed by Kenneth Rohde Christiansen.
1289
1290         Returns defaultDiskCacheDirectory when no cache directory was provided.
1291         It's used by setOfflineWebApplicationCacheEnabled method that won't work
1292         with an invalid cache directory.
1293
1294         * UIProcess/qt/WebContextQt.cpp:
1295         (WebKit::WebContext::applicationCacheDirectory):
1296
1297 2012-08-29  José Dapena Paz  <jdapena@igalia.com>
1298
1299         [Gtk] Process Gtk 3.4 smooth scroll events properly.
1300         https://bugs.webkit.org/show_bug.cgi?id=88070
1301
1302         Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
1303         provides detailed delta information.
1304
1305         Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
1306         code to process properly the new direction GDK_SCROLL_SMOOTH and
1307         its deltas.
1308
1309         Reviewed by Martin Robinson.
1310
1311         * Shared/gtk/WebEventFactory.cpp:
1312         (WebKit::WebEventFactory::createWebWheelEvent):
1313         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1314         (webkitWebViewBaseRealize):
1315
1316 2012-08-29  Brady Eidson  <beidson@apple.com>
1317
1318         REGRESSION: Not sending NPP_SetWindow is causing Flash to not throttle itself
1319         <rdar://problem/12133021> and https://bugs.webkit.org/show_bug.cgi?id=95274
1320
1321         Reviewed by Sam Weinig.
1322
1323         * UIProcess/API/mac/WKView.mm:
1324         (-[WKView viewDidMoveToWindow]): Previously we'd only update window visibility when the window is hidden.
1325           Now we also update window visibility when the window is shown.
1326
1327         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1328         (WebKit::NetscapePlugin::callSetWindowInvisible): Call set window with a manufactured empty clip rect to tell
1329           the plug-in that it is complete hidden.
1330         (WebKit):
1331         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1332         (NetscapePlugin):
1333         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1334         (WebKit::NetscapePlugin::windowVisibilityChanged): Call "callSetWindow" or "callSetWindowInvisible" as appropriate.
1335
1336         * WebProcess/Plugins/PluginView.cpp:
1337         (WebKit::PluginView::setWindowIsVisible): Tell the plugin that its visibility changed.
1338         (WebKit::PluginView::viewGeometryDidChange): Grab a clip rect that - although incorrect - at least is correct if
1339           the PluginView is completely hidden.
1340
1341 2012-08-29  Jon Lee  <jonlee@apple.com>
1342
1343         Build patch for Qt
1344
1345         * Target.pri: Missing WKMutableArray.cpp.
1346
1347 2012-08-29  Jon Lee  <jonlee@apple.com>
1348
1349         Build patch for Qt.
1350
1351         * Target.pri: Export WKArray and WKMutableArray for Qt.
1352
1353 2012-08-29  Jon Lee  <jonlee@apple.com>
1354
1355         Added missing exports for Windows.
1356
1357         * win/WebKit2Generated.make:
1358
1359 2012-08-29  Jon Lee  <jonlee@apple.com>
1360
1361         Windows build fix.
1362
1363         * win/WebKit2Generated.make: Export WKNotificationManager.h.
1364
1365 2012-08-29  Jon Lee  <jonlee@apple.com>
1366
1367         [WK2] Add SPI to retrieve internal IDs for web notifications
1368         https://bugs.webkit.org/show_bug.cgi?id=95100
1369         <rdar://problem/12180208>
1370
1371         Reviewed by Alexey Proskuryakov.
1372
1373         This is work toward providing Mac support for web notifications in DRT and WTR (77969).
1374
1375         Add function to retrieve the internal ID for a notification. This is needed by tests to support simulating
1376         a user click on a notification.
1377
1378         * DerivedSources.pri: Expose JSNotification.h as private header.
1379         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1380         (WKBundleGetWebNotificationID): Calls into notification manager to get internal ID.
1381         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able
1382         retrieve notification ID.
1383         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1384         (WebKit::InjectedBundle::webNotificationID):
1385         (WebKit):
1386         * WebProcess/InjectedBundle/InjectedBundle.h:
1387         (InjectedBundle):
1388         * WebProcess/Notifications/WebNotificationManager.cpp:
1389         (WebKit::WebNotificationManager::notificationIDForTesting):
1390         (WebKit):
1391         * WebProcess/Notifications/WebNotificationManager.h:
1392         (WebNotificationManager):
1393
1394 2012-08-28  Martin Robinson  <mrobinson@igalia.com>
1395
1396         [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
1397         https://bugs.webkit.org/show_bug.cgi?id=95272
1398
1399         Reviewed by No'am Rosenthal.
1400
1401         Turn on edge-distance anti-aliasing for GTK+ WebKit2. This
1402         improves the quality of layer rendering.
1403
1404         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1405         (WebKit::LayerTreeHostGtk::initialize):
1406
1407 2012-08-28  Kangil Han  <kangil.han@samsung.com>
1408
1409         [WK2] Use explicit constructor in PageClientImpl.
1410         https://bugs.webkit.org/show_bug.cgi?id=95170
1411
1412         Reviewed by Darin Adler.
1413
1414         Added explicit keyword in constructor of PageClientImpl in order to avoid implicit type conversion.
1415
1416         * UIProcess/API/gtk/PageClientImpl.h:
1417         (PageClientImpl):
1418         * UIProcess/API/mac/PageClientImpl.h:
1419         (PageClientImpl):
1420
1421 2012-08-28  Rik Cabanier  <cabanier@adobe.com>
1422
1423         Add ENABLE_CSS_COMPOSITING flag to WebKit2 project
1424         https://bugs.webkit.org/show_bug.cgi?id=95227
1425
1426         Reviewed by Dirk Schulze.
1427
1428         The WebKit2 project was not updated to compile with the CSS_COMPOSITING flag.
1429         This caused crashes when the webkit2 code had to use that flag.
1430
1431         * Configurations/FeatureDefines.xcconfig:
1432
1433 2012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1434
1435         Unreviewed, rolling out r126914.
1436         http://trac.webkit.org/changeset/126914
1437         https://bugs.webkit.org/show_bug.cgi?id=95239
1438
1439         it breaks everything and fixes nothing (Requested by pizlo on
1440         #webkit).
1441
1442         * Platform/CoreIPC/ArgumentCoders.h:
1443         * Platform/CoreIPC/Connection.cpp:
1444         (CoreIPC::Connection::SyncMessageState::getOrCreate):
1445         (CoreIPC::Connection::waitForMessage):
1446         (CoreIPC::Connection::processIncomingMessage):
1447         * Platform/gtk/WorkQueueGtk.cpp:
1448         (WorkQueue::registerEventSourceHandler):
1449         (WorkQueue::unregisterEventSourceHandler):
1450         * Platform/mac/WorkQueueMac.cpp:
1451         (WorkQueue::unregisterMachPortEventHandler):
1452         * Shared/Plugins/NPRemoteObjectMap.cpp:
1453         (WebKit::NPRemoteObjectMap::pluginDestroyed):
1454         * Shared/UserMessageCoders.h:
1455         (WebKit::UserMessageEncoder::baseEncode):
1456         * Shared/WebPreferencesStore.cpp:
1457         (WebKit::valueForKey):
1458         (WebKit::WebPreferencesStore::getBoolValueForKey):
1459         * Shared/mac/WebCoreArgumentCodersMac.mm:
1460         (CoreIPC::::decode):
1461         * Shared/qt/ArgumentCodersQt.cpp:
1462         (CoreIPC::::decode):
1463         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1464         (CoreIPC::::decode):
1465         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1466         (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
1467         * UIProcess/API/efl/ewk_context.cpp:
1468         (_Ewk_Context::~_Ewk_Context):
1469         * UIProcess/API/efl/ewk_view.cpp:
1470         (_ewk_view_priv_loading_resources_clear):
1471         * UIProcess/API/gtk/WebKitWebView.cpp:
1472         (webkit_web_view_get_subresources):
1473         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1474         (webkitWebViewBaseContainerForall):
1475         * UIProcess/API/mac/WKPrintingView.mm:
1476         (-[WKPrintingView _expectedPreviewCallbackForRect:]):
1477         (pageDidDrawToPDF):
1478         (-[WKPrintingView _drawPreview:]):
1479         * UIProcess/API/mac/WKView.mm:
1480         (commandNameForSelector):
1481         (-[WKView validateUserInterfaceItem:]):
1482         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1483         (WebKit::CoordinatedBackingStore::updateTile):
1484         (WebKit::CoordinatedBackingStore::texture):
1485         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
1486         (WebKit::CoordinatedBackingStore::commitTileOperations):
1487         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1488         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1489         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1490         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
1491         (WebKit::LayerTreeRenderer::syncCanvas):
1492         (WebKit::LayerTreeRenderer::setLayerChildren):
1493         (WebKit::LayerTreeRenderer::setLayerFilters):
1494         (WebKit::LayerTreeRenderer::setLayerState):
1495         (WebKit::LayerTreeRenderer::assignImageToLayer):
1496         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1497         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
1498         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1499         (WebKit::WebInspectorServer::~WebInspectorServer):
1500         (WebKit::WebInspectorServer::registerPage):
1501         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
1502         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
1503         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1504         (WebKit::WebInspectorServer::buildPageList):
1505         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1506         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
1507         * UIProcess/Plugins/PluginProcessProxy.cpp:
1508         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1509         * UIProcess/WebContext.cpp:
1510         (WebKit::createDictionaryFromHashMap):
1511         * UIProcess/WebIconDatabase.cpp:
1512         (WebKit::WebIconDatabase::didFinishURLImport):
1513         * UIProcess/WebIntentData.cpp:
1514         (WebKit::WebIntentData::extras):
1515         * UIProcess/WebProcessProxy.cpp:
1516         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1517         (WebKit::WebProcessProxy::addBackForwardItem):
1518         (WebKit::WebProcessProxy::frameCountInPage):
1519         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1520         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
1521         (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
1522         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1523         (WebKit::InjectedBundleNodeHandle::getOrCreate):
1524         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1525         (WebKit::InjectedBundleRangeHandle::getOrCreate):
1526         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
1527         (WebKit::InjectedBundleIntent::extras):
1528         * WebProcess/Notifications/WebNotificationManager.cpp:
1529         (WebKit::WebNotificationManager::policyForOrigin):
1530         (WebKit::WebNotificationManager::show):
1531         (WebKit::WebNotificationManager::clearNotifications):
1532         (WebKit::WebNotificationManager::removeNotificationFromContextMap):
1533         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1534         (WebKit::NPRuntimeObjectMap::invalidate):
1535         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1536         (WebKit::NetscapePlugin::destroyStream):
1537         (WebKit::NetscapePlugin::unscheduleTimer):
1538         (WebKit::NetscapePlugin::frameDidFinishLoading):
1539         (WebKit::NetscapePlugin::frameDidFail):
1540         * WebProcess/Plugins/PluginView.cpp:
1541         (WebKit::buildHTTPHeaders):
1542         (WebKit::PluginView::~PluginView):
1543         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1544         (WebCore::CoordinatedGraphicsLayer::layerByID):
1545         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1546         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1547         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1548         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1549         (WebKit::WebBackForwardListProxy::removeItem):
1550         * WebProcess/WebPage/mac/WebPageMac.mm:
1551         (WebKit::commandNameForSelectorName):
1552         * WebProcess/WebProcess.cpp:
1553         (WebKit::WebProcess::visitedLinkStateChanged):
1554         (WebKit::WebProcess::allVisitedLinkStateChanged):
1555         (WebKit::WebProcess::focusedWebPage):
1556         (WebKit::WebProcess::createWebPage):
1557         (WebKit::WebProcess::webPageGroup):
1558         (WebKit::fromCountedSetToHashMap):
1559         (WebKit::WebProcess::setTextCheckerState):
1560
1561 2012-08-28  Alexey Proskuryakov  <ap@apple.com>
1562
1563         [WK2] Expose process model as API
1564         https://bugs.webkit.org/show_bug.cgi?id=95228
1565
1566         Reviewed by Jon Honeycutt.
1567
1568         * UIProcess/API/C/WKAPICast.h:
1569         (WebKit::toProcessModel):
1570         (WebKit::toAPI):
1571         Convert ProcessModel values.
1572
1573         * UIProcess/API/C/WKContext.cpp:
1574         (WKContextSetProcessModel):
1575         (WKContextGetProcessModel):
1576         * UIProcess/API/C/WKContext.h:
1577         * UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel):
1578         * UIProcess/WebContext.h:
1579         Added a setter and a getter. Setting process model is only allowed when there are
1580         no processes yet - that's checked with a CRASH to guarantee that clients using
1581         production builds of WebKit2 don't misstep.
1582
1583 2012-08-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1584
1585         Rename first/second to key/value in HashMap iterators
1586         https://bugs.webkit.org/show_bug.cgi?id=82784
1587
1588         Reviewed by Eric Seidel.
1589
1590         * Platform/CoreIPC/ArgumentCoders.h:
1591         * Platform/CoreIPC/Connection.cpp:
1592         (CoreIPC::Connection::SyncMessageState::getOrCreate):
1593         (CoreIPC::Connection::waitForMessage):
1594         (CoreIPC::Connection::processIncomingMessage):
1595         * Platform/gtk/WorkQueueGtk.cpp:
1596         (WorkQueue::registerEventSourceHandler):
1597         (WorkQueue::unregisterEventSourceHandler):
1598         * Platform/mac/WorkQueueMac.cpp:
1599         (WorkQueue::unregisterMachPortEventHandler):
1600         * Shared/Plugins/NPRemoteObjectMap.cpp:
1601         (WebKit::NPRemoteObjectMap::pluginDestroyed):
1602         * Shared/UserMessageCoders.h:
1603         (WebKit::UserMessageEncoder::baseEncode):
1604         * Shared/WebPreferencesStore.cpp:
1605         (WebKit::valueForKey):
1606         (WebKit::WebPreferencesStore::getBoolValueForKey):
1607         * Shared/mac/WebCoreArgumentCodersMac.mm:
1608         (CoreIPC::::decode):
1609         * Shared/qt/ArgumentCodersQt.cpp:
1610         (CoreIPC::::decode):
1611         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1612         (CoreIPC::::decode):
1613         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1614         (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
1615         * UIProcess/API/efl/ewk_context.cpp:
1616         (_Ewk_Context::~_Ewk_Context):
1617         * UIProcess/API/efl/ewk_view.cpp:
1618         (_ewk_view_priv_loading_resources_clear):
1619         * UIProcess/API/gtk/WebKitWebView.cpp:
1620         (webkit_web_view_get_subresources):
1621         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1622         (webkitWebViewBaseContainerForall):
1623         * UIProcess/API/mac/WKPrintingView.mm:
1624         (-[WKPrintingView _expectedPreviewCallbackForRect:]):
1625         (pageDidDrawToPDF):
1626         (-[WKPrintingView _drawPreview:]):
1627         * UIProcess/API/mac/WKView.mm:
1628         (commandNameForSelector):
1629         (-[WKView validateUserInterfaceItem:]):
1630         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1631         (WebKit::CoordinatedBackingStore::updateTile):
1632         (WebKit::CoordinatedBackingStore::texture):
1633         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
1634         (WebKit::CoordinatedBackingStore::commitTileOperations):
1635         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1636         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1637         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1638         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
1639         (WebKit::LayerTreeRenderer::syncCanvas):
1640         (WebKit::LayerTreeRenderer::setLayerChildren):
1641         (WebKit::LayerTreeRenderer::setLayerFilters):
1642         (WebKit::LayerTreeRenderer::setLayerState):
1643         (WebKit::LayerTreeRenderer::assignImageToLayer):
1644         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1645         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
1646         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1647         (WebKit::WebInspectorServer::~WebInspectorServer):
1648         (WebKit::WebInspectorServer::registerPage):
1649         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
1650         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
1651         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1652         (WebKit::WebInspectorServer::buildPageList):
1653         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1654         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
1655         * UIProcess/Plugins/PluginProcessProxy.cpp:
1656         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1657         * UIProcess/WebContext.cpp:
1658         (WebKit::createDictionaryFromHashMap):
1659         * UIProcess/WebIconDatabase.cpp:
1660         (WebKit::WebIconDatabase::didFinishURLImport):
1661         * UIProcess/WebIntentData.cpp:
1662         (WebKit::WebIntentData::extras):
1663         * UIProcess/WebProcessProxy.cpp:
1664         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1665         (WebKit::WebProcessProxy::addBackForwardItem):
1666         (WebKit::WebProcessProxy::frameCountInPage):
1667         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1668         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
1669         (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
1670         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1671         (WebKit::InjectedBundleNodeHandle::getOrCreate):
1672         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1673         (WebKit::InjectedBundleRangeHandle::getOrCreate):
1674         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
1675         (WebKit::InjectedBundleIntent::extras):
1676         * WebProcess/Notifications/WebNotificationManager.cpp:
1677         (WebKit::WebNotificationManager::policyForOrigin):
1678         (WebKit::WebNotificationManager::show):
1679         (WebKit::WebNotificationManager::clearNotifications):
1680         (WebKit::WebNotificationManager::removeNotificationFromContextMap):
1681         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1682         (WebKit::NPRuntimeObjectMap::invalidate):
1683         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1684         (WebKit::NetscapePlugin::destroyStream):
1685         (WebKit::NetscapePlugin::unscheduleTimer):
1686         (WebKit::NetscapePlugin::frameDidFinishLoading):
1687         (WebKit::NetscapePlugin::frameDidFail):
1688         * WebProcess/Plugins/PluginView.cpp:
1689         (WebKit::buildHTTPHeaders):
1690         (WebKit::PluginView::~PluginView):
1691         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1692         (WebCore::CoordinatedGraphicsLayer::layerByID):
1693         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1694         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
1695         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
1696         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1697         (WebKit::WebBackForwardListProxy::removeItem):
1698         * WebProcess/WebPage/mac/WebPageMac.mm:
1699         (WebKit::commandNameForSelectorName):
1700         * WebProcess/WebProcess.cpp:
1701         (WebKit::WebProcess::visitedLinkStateChanged):
1702         (WebKit::WebProcess::allVisitedLinkStateChanged):
1703         (WebKit::WebProcess::focusedWebPage):
1704         (WebKit::WebProcess::createWebPage):
1705         (WebKit::WebProcess::webPageGroup):
1706         (WebKit::fromCountedSetToHashMap):
1707         (WebKit::WebProcess::setTextCheckerState):
1708
1709 2012-08-28  Jon Lee  <jonlee@apple.com>
1710
1711         [WK2] Bugs in maintenance of internal state when user decides whether to grant notification permissions
1712         https://bugs.webkit.org/show_bug.cgi?id=95220
1713         <rdar://problem/12189895>
1714
1715         Reviewed by Jessie Berlin.
1716
1717         A couple of the maps maintained by the request manager should have been cleaned up when the user decided on
1718         whether to grant a website permission to post notifications.
1719
1720         Also, the web process' copy of the permissions was not updated appropriately. This meant that in the
1721         permission callback, Notification.permission was not the same value as the permission value included as
1722         the first parameter of the callback.
1723
1724         This first surfaced as part of the work to bring Mac support for web notifications. I have a test that
1725         will check for regressions in this area, once all of that has been checked in (bug 77969).
1726
1727         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1728         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
1729
1730 2012-08-28  Jon Lee  <jonlee@apple.com>
1731
1732         [WK2] Add SPI for injected bundle to manually set permissions
1733         https://bugs.webkit.org/show_bug.cgi?id=95127
1734         <rdar://problem/12182635>
1735
1736         Reviewed by Jessie Berlin.
1737
1738         This is work toward providing Mac support for web notifications in DRT and WTR (77969).
1739
1740         Add support functions to WebKit2 which maintain the map of permissions to origins for web notifications.
1741         For WebKit1 the map is managed by DumpRenderTree.
1742
1743         * WebProcess/InjectedBundle/InjectedBundle.h: Add TestRunner SPI.
1744         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1745         (WebKit::InjectedBundle::setWebNotificationPermission):
1746         (WebKit::InjectedBundle::removeAllWebNotificationPermissions):
1747
1748         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Expose as WK API. Also, rearrange the ordering of the
1749         functions so that it reflects the same order found in InjectedBundle.h.
1750         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1751
1752         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1753         (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): Manually set the permission
1754         level for an origin.
1755         (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
1756         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1757         (NotificationPermissionRequestManager):
1758         * WebProcess/Notifications/WebNotificationManager.cpp:
1759         (WebKit::WebNotificationManager::removeAllPermissionsForTesting): Clear the permission map.
1760         * WebProcess/Notifications/WebNotificationManager.h: Promote didUpdateNotificationDecision message as public
1761         function, so that NotificationPermissionRequestManager can update the permission map.
1762
1763 2012-08-28  Christophe Dumez  <christophe.dumez@intel.com>
1764
1765         [EFL] WebKit EFL updates view on HTTP 204 response
1766         https://bugs.webkit.org/show_bug.cgi?id=95199
1767
1768         Reviewed by Kenneth Rohde Christiansen.
1769
1770         Ignore HTTP responses which have status code equal
1771         to 204 (No Content).
1772
1773         * UIProcess/API/efl/ewk_view_policy_client.cpp:
1774         (decidePolicyForResponseCallback):
1775
1776 2012-08-28  Zeno Albisser  <zeno@webkit.org>
1777
1778         LayerTreeCoordinatorProxy should use uint64_t for surface key.
1779         https://bugs.webkit.org/show_bug.cgi?id=95175
1780
1781         GraphicsSurface tokens are of type uint64_t.
1782         Therefore LayerTreeCoordinatorProxy must use the same type to
1783         identify a GraphicsSurface/ShareableSurface.
1784
1785         Reviewed by Noam Rosenthal.
1786
1787         * Shared/ShareableSurface.h:
1788         (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
1789         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1790         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1791         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1792         (LayerTreeCoordinatorProxy):
1793
1794 2012-08-28  Ryuan Choi  <ryuan.choi@samsung.com>
1795
1796         [EFL][WK2] Implement WebPopupMenuProxyEfl to support <select>
1797         https://bugs.webkit.org/show_bug.cgi?id=88616
1798
1799         Reviewed by Gyuyoung Kim.
1800
1801         Implemented popup menu proxy and interface for Efl.
1802
1803         Applications should implement popup menu by overriding
1804         smart class function to support select tag.
1805
1806         * PlatformEfl.cmake:
1807         * UIProcess/API/efl/EWebKit2.h: Included ewk_popup_menu_item.h
1808         * UIProcess/API/efl/PageClientImpl.cpp:
1809         (WebKit::PageClientImpl::createPopupMenuProxy):
1810         * UIProcess/API/efl/ewk_popup_menu_item.cpp: Added.
1811         (_Ewk_Popup_Menu_Item):
1812         (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
1813         (ewk_popup_menu_item_new):
1814         (ewk_popup_menu_item_free):
1815         (ewk_popup_menu_item_type_get): Added API to retrieve type of item.
1816         (ewk_popup_menu_item_text_get): Added API to retrieve text of item.
1817         * UIProcess/API/efl/ewk_popup_menu_item.h: Added.
1818         * UIProcess/API/efl/ewk_popup_menu_item_private.h: Added.
1819         * UIProcess/API/efl/ewk_view.cpp:
1820         (_Ewk_View_Private_Data):
1821         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
1822         (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
1823         (ewk_view_popup_menu_request): Added to call popup_menu_show, smart class function.
1824         (ewk_view_popup_menu_close): Added API to call popup_menu_hide, smart class function.
1825         (ewk_view_popup_menu_select): Added API to change selected index.
1826         * UIProcess/API/efl/ewk_view.h:
1827         Added smart class function for applications to override.
1828         * UIProcess/API/efl/ewk_view_private.h:
1829         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1830         (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
1831         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
1832         (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
1833         (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
1834         Extracted from loadUrlSync for tests using ewk_view_html_string_load to
1835         share onLoadFinished.
1836         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1837         (EWK2UnitTest::EWK2UnitTestBase::ewkViewClass):
1838         Added ewkViewClass to test smart methods such as popup_menu_show.
1839         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1840         (popup_menu_show):
1841         (TEST_F): Added a test case for ewk_view_popup_menu_select and related codes.
1842         * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Added.
1843         (WebKit):
1844         (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
1845         (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
1846         (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
1847         (WebKit::WebPopupMenuProxyEfl::valueChanged):
1848         * UIProcess/efl/WebPopupMenuProxyEfl.h: Added.
1849         (WebPopupMenuProxyEfl):
1850         (WebKit::WebPopupMenuProxyEfl::create):
1851
1852 2012-08-27  Kangil Han  <kangil.han@samsung.com>
1853
1854         [EFL][WK2] Fix PageClientImpl layer violation
1855         https://bugs.webkit.org/show_bug.cgi?id=94906
1856
1857         Reviewed by Gyuyoung Kim.
1858
1859         Given WK2 hierarchy, current PageClientImpl has violated API layer by having WebPageProxy.
1860         Subsequently, it has been given WebContext, static singleton object, in its argument unnecessarily.
1861         Therefore, this patch moved WebPageProxy from PageClientImpl to Ewk_View_Private_Data.
1862         Plus, WebContext was removed from PageClientImpl since it is not needed anymore.
1863         As a result, EFL has same form of PageClientImpl with other ports, i.e. gtk+ and mac.
1864         From API point of view, nothing has been changed because all things done locally.
1865
1866         * UIProcess/API/efl/PageClientImpl.cpp:
1867         (WebKit::PageClientImpl::PageClientImpl):
1868         (WebKit::PageClientImpl::createDrawingAreaProxy):
1869         * UIProcess/API/efl/PageClientImpl.h:
1870         (WebKit::PageClientImpl::create):
1871         (PageClientImpl):
1872         * UIProcess/API/efl/ewk_view.cpp:
1873         (_Ewk_View_Private_Data):
1874         (_ewk_view_smart_focus_in):
1875         (_ewk_view_smart_focus_out):
1876         (_ewk_view_smart_mouse_wheel):
1877         (_ewk_view_smart_mouse_down):
1878         (_ewk_view_smart_mouse_up):
1879         (_ewk_view_smart_mouse_move):
1880         (_ewk_view_smart_key_down):
1881         (_ewk_view_smart_key_up):
1882         (_ewk_view_smart_calculate):
1883         (_ewk_view_smart_color_set):
1884         (_ewk_view_initialize):
1885         (ewk_view_uri_update):
1886         (ewk_view_uri_set):
1887         (ewk_view_reload):
1888         (ewk_view_reload_bypass_cache):
1889         (ewk_view_stop):
1890         (ewk_view_title_get):
1891         (ewk_view_load_progress_get):
1892         (ewk_view_scale_set):
1893         (ewk_view_scale_get):
1894         (ewk_view_device_pixel_ratio_set):
1895         (ewk_view_device_pixel_ratio_get):
1896         (ewk_view_theme_set):
1897         (ewk_view_back):
1898         (ewk_view_forward):
1899         (ewk_view_intent_deliver):
1900         (ewk_view_back_possible):
1901         (ewk_view_forward_possible):
1902         (ewk_view_html_string_load):
1903         (ewk_view_page_get):
1904         (ewk_view_setting_encoding_custom_get):
1905         (ewk_view_setting_encoding_custom_set):
1906         (ewk_view_text_find):
1907         (ewk_view_text_find_highlight_clear):
1908
1909 2012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1910
1911         Unreviewed, rolling out r126836.
1912         http://trac.webkit.org/changeset/126836
1913         https://bugs.webkit.org/show_bug.cgi?id=95163
1914
1915         Broke all Apple ports, EFL, and Qt. (Requested by tkent on
1916         #webkit).
1917
1918         * Platform/CoreIPC/ArgumentCoders.h:
1919         * Platform/CoreIPC/Connection.cpp:
1920         (CoreIPC::Connection::SyncMessageState::getOrCreate):
1921         (CoreIPC::Connection::waitForMessage):
1922         (CoreIPC::Connection::processIncomingMessage):
1923         * Platform/gtk/WorkQueueGtk.cpp:
1924         (WorkQueue::registerEventSourceHandler):
1925         (WorkQueue::unregisterEventSourceHandler):
1926         * Platform/mac/WorkQueueMac.cpp:
1927         (WorkQueue::unregisterMachPortEventHandler):
1928         * Shared/Plugins/NPRemoteObjectMap.cpp:
1929         (WebKit::NPRemoteObjectMap::pluginDestroyed):
1930         * Shared/UserMessageCoders.h:
1931         (WebKit::UserMessageEncoder::baseEncode):
1932         * Shared/WebPreferencesStore.cpp:
1933         (WebKit::valueForKey):
1934         (WebKit::WebPreferencesStore::getBoolValueForKey):
1935         * Shared/mac/WebCoreArgumentCodersMac.mm:
1936         (CoreIPC::::decode):
1937         * Shared/qt/ArgumentCodersQt.cpp:
1938         (CoreIPC::::decode):
1939         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1940         (CoreIPC::::decode):
1941         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1942         (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
1943         * UIProcess/API/efl/ewk_context.cpp:
1944         (_Ewk_Context::~_Ewk_Context):
1945         * UIProcess/API/efl/ewk_view.cpp:
1946         (_ewk_view_priv_loading_resources_clear):
1947         * UIProcess/API/gtk/WebKitWebView.cpp:
1948         (webkit_web_view_get_subresources):
1949         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1950         (webkitWebViewBaseContainerForall):
1951         * UIProcess/API/mac/WKPrintingView.mm:
1952         (-[WKPrintingView _expectedPreviewCallbackForRect:]):
1953         (pageDidDrawToPDF):
1954         (-[WKPrintingView _drawPreview:]):
1955         * UIProcess/API/mac/WKView.mm:
1956         (commandNameForSelector):
1957         (-[WKView validateUserInterfaceItem:]):
1958         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1959         (WebKit::CoordinatedBackingStore::updateTile):
1960         (WebKit::CoordinatedBackingStore::texture):
1961         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
1962         (WebKit::CoordinatedBackingStore::commitTileOperations):
1963         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1964         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1965         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1966         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
1967         (WebKit::LayerTreeRenderer::syncCanvas):
1968         (WebKit::LayerTreeRenderer::setLayerChildren):
1969         (WebKit::LayerTreeRenderer::setLayerFilters):
1970         (WebKit::LayerTreeRenderer::setLayerState):
1971         (WebKit::LayerTreeRenderer::assignImageToLayer):
1972         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1973         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
1974         * UIProcess/InspectorServer/WebInspectorServer.cpp:
1975         (WebKit::WebInspectorServer::~WebInspectorServer):
1976         (WebKit::WebInspectorServer::registerPage):
1977         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
1978         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
1979         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1980         (WebKit::WebInspectorServer::buildPageList):
1981         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1982         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
1983         * UIProcess/Plugins/PluginProcessProxy.cpp:
1984         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1985         * UIProcess/WebContext.cpp:
1986         (WebKit::createDictionaryFromHashMap):
1987         * UIProcess/WebIconDatabase.cpp:
1988         (WebKit::WebIconDatabase::didFinishURLImport):
1989         * UIProcess/WebIntentData.cpp:
1990         (WebKit::WebIntentData::extras):
1991         * UIProcess/WebProcessProxy.cpp:
1992         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
1993         (WebKit::WebProcessProxy::addBackForwardItem):
1994         (WebKit::WebProcessProxy::frameCountInPage):
1995         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1996         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
1997         (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
1998         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1999         (WebKit::InjectedBundleNodeHandle::getOrCreate):
2000         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2001         (WebKit::InjectedBundleRangeHandle::getOrCreate):
2002         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
2003         (WebKit::InjectedBundleIntent::extras):
2004         * WebProcess/Notifications/WebNotificationManager.cpp:
2005         (WebKit::WebNotificationManager::policyForOrigin):
2006         (WebKit::WebNotificationManager::show):
2007         (WebKit::WebNotificationManager::clearNotifications):
2008         (WebKit::WebNotificationManager::removeNotificationFromContextMap):
2009         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2010         (WebKit::NPRuntimeObjectMap::invalidate):
2011         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2012         (WebKit::NetscapePlugin::destroyStream):
2013         (WebKit::NetscapePlugin::unscheduleTimer):
2014         (WebKit::NetscapePlugin::frameDidFinishLoading):
2015         (WebKit::NetscapePlugin::frameDidFail):
2016         * WebProcess/Plugins/PluginView.cpp:
2017         (WebKit::buildHTTPHeaders):
2018         (WebKit::PluginView::~PluginView):
2019         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2020         (WebCore::CoordinatedGraphicsLayer::layerByID):
2021         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2022         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
2023         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
2024         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2025         (WebKit::WebBackForwardListProxy::removeItem):
2026         * WebProcess/WebPage/mac/WebPageMac.mm:
2027         (WebKit::commandNameForSelectorName):
2028         * WebProcess/WebProcess.cpp:
2029         (WebKit::WebProcess::visitedLinkStateChanged):
2030         (WebKit::WebProcess::allVisitedLinkStateChanged):
2031         (WebKit::WebProcess::focusedWebPage):
2032         (WebKit::WebProcess::createWebPage):
2033         (WebKit::WebProcess::webPageGroup):
2034         (WebKit::fromCountedSetToHashMap):
2035         (WebKit::WebProcess::setTextCheckerState):
2036
2037 2012-08-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2038
2039         Rename first/second to key/value in HashMap iterators
2040         https://bugs.webkit.org/show_bug.cgi?id=82784
2041
2042         Reviewed by Eric Seidel.
2043
2044         * Platform/CoreIPC/ArgumentCoders.h:
2045         * Platform/CoreIPC/Connection.cpp:
2046         (CoreIPC::Connection::SyncMessageState::getOrCreate):
2047         (CoreIPC::Connection::waitForMessage):
2048         (CoreIPC::Connection::processIncomingMessage):
2049         * Platform/gtk/WorkQueueGtk.cpp:
2050         (WorkQueue::registerEventSourceHandler):
2051         (WorkQueue::unregisterEventSourceHandler):
2052         * Platform/mac/WorkQueueMac.cpp:
2053         (WorkQueue::unregisterMachPortEventHandler):
2054         * Shared/Plugins/NPRemoteObjectMap.cpp:
2055         (WebKit::NPRemoteObjectMap::pluginDestroyed):
2056         * Shared/UserMessageCoders.h:
2057         (WebKit::UserMessageEncoder::baseEncode):
2058         * Shared/WebPreferencesStore.cpp:
2059         (WebKit::valueForKey):
2060         (WebKit::WebPreferencesStore::getBoolValueForKey):
2061         * Shared/mac/WebCoreArgumentCodersMac.mm:
2062         (CoreIPC::::decode):
2063         * Shared/qt/ArgumentCodersQt.cpp:
2064         (CoreIPC::::decode):
2065         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2066         (CoreIPC::::decode):
2067         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2068         (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
2069         * UIProcess/API/efl/ewk_context.cpp:
2070         (_Ewk_Context::~_Ewk_Context):
2071         * UIProcess/API/efl/ewk_view.cpp:
2072         (_ewk_view_priv_loading_resources_clear):
2073         * UIProcess/API/gtk/WebKitWebView.cpp:
2074         (webkit_web_view_get_subresources):
2075         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2076         (webkitWebViewBaseContainerForall):
2077         * UIProcess/API/mac/WKPrintingView.mm:
2078         (-[WKPrintingView _expectedPreviewCallbackForRect:]):
2079         (pageDidDrawToPDF):
2080         (-[WKPrintingView _drawPreview:]):
2081         * UIProcess/API/mac/WKView.mm:
2082         (commandNameForSelector):
2083         (-[WKView validateUserInterfaceItem:]):
2084         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2085         (WebKit::CoordinatedBackingStore::updateTile):
2086         (WebKit::CoordinatedBackingStore::texture):
2087         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
2088         (WebKit::CoordinatedBackingStore::commitTileOperations):
2089         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2090         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
2091         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2092         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
2093         (WebKit::LayerTreeRenderer::syncCanvas):
2094         (WebKit::LayerTreeRenderer::setLayerChildren):
2095         (WebKit::LayerTreeRenderer::setLayerFilters):
2096         (WebKit::LayerTreeRenderer::setLayerState):
2097         (WebKit::LayerTreeRenderer::assignImageToLayer):
2098         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
2099         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
2100         * UIProcess/InspectorServer/WebInspectorServer.cpp:
2101         (WebKit::WebInspectorServer::~WebInspectorServer):
2102         (WebKit::WebInspectorServer::registerPage):
2103         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
2104         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
2105         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
2106         (WebKit::WebInspectorServer::buildPageList):
2107         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
2108         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
2109         * UIProcess/Plugins/PluginProcessProxy.cpp:
2110         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
2111         * UIProcess/WebContext.cpp:
2112         (WebKit::createDictionaryFromHashMap):
2113         * UIProcess/WebIconDatabase.cpp:
2114         (WebKit::WebIconDatabase::didFinishURLImport):
2115         * UIProcess/WebIntentData.cpp:
2116         (WebKit::WebIntentData::extras):
2117         * UIProcess/WebProcessProxy.cpp:
2118         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
2119         (WebKit::WebProcessProxy::addBackForwardItem):
2120         (WebKit::WebProcessProxy::frameCountInPage):
2121         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2122         (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
2123         (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
2124         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2125         (WebKit::InjectedBundleNodeHandle::getOrCreate):
2126         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2127         (WebKit::InjectedBundleRangeHandle::getOrCreate):
2128         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
2129         (WebKit::InjectedBundleIntent::extras):
2130         * WebProcess/Notifications/WebNotificationManager.cpp:
2131         (WebKit::WebNotificationManager::policyForOrigin):
2132         (WebKit::WebNotificationManager::show):
2133         (WebKit::WebNotificationManager::clearNotifications):
2134         (WebKit::WebNotificationManager::removeNotificationFromContextMap):
2135         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2136         (WebKit::NPRuntimeObjectMap::invalidate):
2137         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2138         (WebKit::NetscapePlugin::destroyStream):
2139         (WebKit::NetscapePlugin::unscheduleTimer):
2140         (WebKit::NetscapePlugin::frameDidFinishLoading):
2141         (WebKit::NetscapePlugin::frameDidFail):
2142         * WebProcess/Plugins/PluginView.cpp:
2143         (WebKit::buildHTTPHeaders):
2144         (WebKit::PluginView::~PluginView):
2145         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2146         (WebCore::CoordinatedGraphicsLayer::layerByID):
2147         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2148         (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
2149         (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
2150         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2151         (WebKit::WebBackForwardListProxy::removeItem):
2152         * WebProcess/WebPage/mac/WebPageMac.mm:
2153         (WebKit::commandNameForSelectorName):
2154         * WebProcess/WebProcess.cpp:
2155         (WebKit::WebProcess::visitedLinkStateChanged):
2156         (WebKit::WebProcess::allVisitedLinkStateChanged):
2157         (WebKit::WebProcess::focusedWebPage):
2158         (WebKit::WebProcess::createWebPage):
2159         (WebKit::WebProcess::webPageGroup):
2160         (WebKit::fromCountedSetToHashMap):
2161         (WebKit::WebProcess::setTextCheckerState):
2162
2163 2012-08-27  Simon Fraser  <simon.fraser@apple.com>
2164
2165         Make Force Repaint work with tiled backing store
2166         https://bugs.webkit.org/show_bug.cgi?id=95102
2167
2168         Reviewed by Dan Bernstein.
2169
2170         Have forceRepaint() call down to the tiled backing of each FrameView,
2171         so they can repaint.
2172
2173         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2174         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
2175
2176 2012-08-27  Rafael Brandao  <rafael.lobo@openbossa.org>
2177
2178         [Qt] Fix typo in CoordinatedGraphicsLayer::syncAnimatedProperties
2179         https://bugs.webkit.org/show_bug.cgi?id=95085
2180
2181         Reviewed by Noam Rosenthal.
2182
2183         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: The flag should be disabled
2184         once we process the sync for animated properties. Previously, it was never disabling it once enabled.
2185
2186 2012-08-27  Philippe Normand  <pnormand@igalia.com>
2187
2188         [GStreamer][Qt] WebAudio support
2189         https://bugs.webkit.org/show_bug.cgi?id=94806
2190
2191         Reviewed by Simon Hausmann.
2192
2193         New boolean webAudioEnabled WebSetting to be used at runtime to
2194         toggle WebAudio support on or off.
2195
2196         * UIProcess/API/qt/qwebpreferences.cpp:
2197         (QWebPreferencesPrivate::testAttribute):
2198         (QWebPreferencesPrivate::setAttribute):
2199         (QWebPreferences::webAudioEnabled):
2200         (QWebPreferences::setWebAudioEnabled):
2201         * UIProcess/API/qt/qwebpreferences_p.h:
2202         * UIProcess/API/qt/qwebpreferences_p_p.h:
2203
2204 2012-08-27  Simon Hausmann  <simon.hausmann@nokia.com>
2205
2206         [Qt][WK2] REGRESSION(r126067): It made qmltests::DoubleTapToZoom::test_basic() fail
2207         https://bugs.webkit.org/show_bug.cgi?id=94949
2208
2209         Reviewed by Kenneth Rohde Christiansen.
2210
2211         Use JSON to serialize the client rect for the async evaluateJavaScript call.
2212
2213         * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
2214
2215 2012-08-27  Simon Hausmann  <simon.hausmann@nokia.com>
2216
2217         [Qt] Fix failing QML2 auto tests due to conflicting signal declaration
2218         https://bugs.webkit.org/show_bug.cgi?id=95059
2219
2220         Reviewed by Kenneth Rohde Christiansen.
2221
2222         Don't define a scaleChanged signal when QQuickItem already declares one to notify about changes
2223         in the scale property. As it turns out there is not need for declaring a signal in the test case
2224         at all.
2225
2226         * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
2227         * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
2228
2229 2012-08-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2230
2231         Rename RegisterProtocolHandler API to NavigatorContentUtils
2232         https://bugs.webkit.org/show_bug.cgi?id=94920
2233
2234         Reviewed by Adam Barth.
2235
2236         Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
2237
2238         * Configurations/FeatureDefines.xcconfig:
2239         * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h.
2240         (WebKit):
2241         (WebNavigatorContentUtilsClient):
2242         (WebKit::WebNavigatorContentUtilsClient::~WebNavigatorContentUtilsClient):
2243         (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
2244         (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
2245
2246 2012-08-25  Vivek Galatage  <vivekgalatage@gmail.com>
2247
2248         WinCairo Build Broken due to missing export definitions
2249         https://bugs.webkit.org/show_bug.cgi?id=95007
2250
2251         Reviewed by Ryosuke Niwa.
2252
2253         Export symbols were missing from the def file for WinCairo port. Added
2254         these missing symbols to avoid build break
2255
2256         * win/WebKit2CFLite.def:
2257
2258 2012-08-24  Alexey Proskuryakov  <ap@apple.com>
2259
2260         <rdar://problem/12157689> REGRESSION: WebProcessProxy destructor is sometimes called recursively
2261         https://bugs.webkit.org/show_bug.cgi?id=94997
2262
2263         Reviewed by Dan Bernstein.
2264
2265         * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess): Make sure that
2266         we don't try to delete WebProcessProxy while the vector still contains it. Previously,
2267         we used RefPtr::clear, which zeroes out the value before destructing, but doing that
2268         in every RefPtr destructor would be bad for performance.
2269
2270 2012-08-24  Benjamin Poulain  <bpoulain@apple.com>
2271
2272         Unify Number to StringImpl conversion
2273         https://bugs.webkit.org/show_bug.cgi?id=94879
2274
2275         Reviewed by Geoffrey Garen.
2276
2277         * win/WebKit2.def: Update the exported symbols.
2278
2279 2012-08-24  Andras Becsi  <andras.becsi@nokia.com>
2280
2281         [Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
2282         https://bugs.webkit.org/show_bug.cgi?id=88531
2283
2284         Reviewed by Kenneth Rohde Christiansen.
2285
2286         Defer setting the custom device pixel ratio until the page item has
2287         a valid size to make sure that the scale factor reaches the web process.
2288
2289         QML test based on patch by Alexander Færøy.
2290
2291         * UIProcess/API/qt/qquickwebview.cpp:
2292         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2293         (QQuickWebViewPrivate::didRelaunchProcess):
2294         (QQuickWebViewPrivate::didChangeContentsSize):
2295         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
2296         (QQuickWebViewExperimental::devicePixelRatio):
2297         (QQuickWebViewExperimental::setDevicePixelRatio):
2298         * UIProcess/API/qt/qquickwebview_p.h:
2299         * UIProcess/API/qt/qquickwebview_p_p.h:
2300         (QQuickWebViewPrivate):
2301         * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
2302           Test case for the QML device pixel ratio API.
2303
2304 2012-08-24  Kangil Han  <kangil.han@samsung.com>
2305
2306         [EFL] Fix compile warning
2307         https://bugs.webkit.org/show_bug.cgi?id=94930
2308
2309         Reviewed by Kenneth Rohde Christiansen.
2310
2311         Fixed compile warning.
2312
2313         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2314         (ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
2315         (ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]
2316
2317 2012-08-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2318
2319         [EFL][WK2] Back-forward list API needs extension
2320         https://bugs.webkit.org/show_bug.cgi?id=94582
2321
2322         Reviewed by Kenneth Rohde Christiansen.
2323
2324         Added several new functions wrapping existing WK2 C back-forward list API
2325         and returning list of items preceding or following the current one.
2326         Corresponding API unit tests are also added.
2327
2328         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2329         (createEinaList):
2330         (ewk_back_forward_list_n_back_items_copy):
2331         (ewk_back_forward_list_n_forward_items_copy):
2332         * UIProcess/API/efl/ewk_back_forward_list.h:
2333         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2334         (freeEinaList):
2335         (TEST_F):
2336
2337 2012-08-24  Michael Brüning  <michaelbruening@gmail.com>
2338
2339         [Qt][WK2] Make viewport related experimental.test properties encapsulated.
2340         https://bugs.webkit.org/show_bug.cgi?id=88320
2341
2342         Reviewed by Kenneth Rohde Christiansen.
2343
2344         Introducing a new viewport attribute to QWebKitTest to group the viewport related
2345         attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
2346         a QJsonObject.
2347
2348         * UIProcess/API/qt/qwebkittest.cpp:
2349         (qSizeFToJsonObject):
2350         (QWebKitTest::viewport):
2351         (QWebKitTest::devicePixelRatio):
2352         (QWebKitTest::contentsScale):
2353         * UIProcess/API/qt/qwebkittest_p.h:
2354         * UIProcess/qt/QtViewportHandler.cpp:
2355         (WebKit::QtViewportHandler::viewportAttributesChanged):
2356
2357 2012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
2358
2359         Make it possible to build WebKit with Python 3 (and 2)
2360         https://bugs.webkit.org/show_bug.cgi?id=94814
2361
2362         Reviewed by Ryosuke Niwa.
2363
2364         Exceptions need a hack to work with both.
2365         string.join was already deprecated in Python 2.
2366         Relative imports are no longer supported, use package name instead.
2367
2368         * Scripts/webkit2/messages.py:
2369         * Scripts/webkit2/parser.py:
2370
2371 2012-08-24  Mark Rowe  <mrowe@apple.com>
2372
2373         <http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.
2374
2375         Reviewed by Dan Bernstein.
2376
2377         This will allow relative imports within the webkit2 module to be removed in the future without
2378         requiring future changes to clients of the module.
2379
2380         * WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
2381         as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
2382         directory. We also need to add a script phase to clean up any .pyc files that may be present in
2383         the module.
2384
2385 2012-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2386
2387         Unreviewed, rolling out r126542.
2388         http://trac.webkit.org/changeset/126542
2389         https://bugs.webkit.org/show_bug.cgi?id=94907
2390
2391         Broke WK2 build on OS X (Requested by tronical_ on #webkit).
2392
2393         * Scripts/webkit2/messages.py:
2394         * Scripts/webkit2/parser.py:
2395
2396 2012-08-23  Frederik Gladhorn  <gladhorn@kde.org>
2397
2398         Make it possible to build WebKit with Python 3 (and 2)
2399         https://bugs.webkit.org/show_bug.cgi?id=94814
2400
2401         Reviewed by Ryosuke Niwa.
2402
2403         Exceptions need a hack to work with both.
2404         string.join was already deprecated in Python 2.
2405         Relative imports are no longer supported, use package name instead.
2406
2407         * Scripts/webkit2/messages.py:
2408         * Scripts/webkit2/parser.py:
2409
2410 2012-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
2411
2412         Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
2413         https://bugs.webkit.org/show_bug.cgi?id=93884
2414
2415         Reviewed by Filip Pizlo.
2416
2417         With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
2418         MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
2419         we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
2420         objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
2421         For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
2422         masquerade as undefined within frame B, but it will continue to masquerade in frame A.
2423
2424         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2425         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
2426
2427 2012-08-23  Brady Eidson  <beidson@apple.com>
2428
2429         REGRESSION (r124815): PDF in frame does not display any more
2430         <rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869
2431
2432         Reviewed by Alexey Proskuryakov.
2433
2434         * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
2435         (WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.
2436
2437 2012-08-23  Mark Rowe  <mrowe@apple.com>
2438
2439         Make WebKit2 build with the latest version of clang.
2440
2441         Reviewed by Dan Bernstein.
2442
2443         * Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol.
2444
2445 2012-08-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2446
2447         [EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__
2448         https://bugs.webkit.org/show_bug.cgi?id=94744
2449
2450         Reviewed by Gustavo Noronha Silva.
2451
2452         Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__)
2453         since the former is used everywhere.
2454
2455         * Shared/API/c/WKBase.h:
2456
2457 2012-08-23  Christophe Dumez  <christophe.dumez@intel.com>
2458
2459         [EFL][WK2] Free ewk context data on program exit.
2460         https://bugs.webkit.org/show_bug.cgi?id=94808
2461
2462         Reviewed by Kenneth Rohde Christiansen.
2463
2464         Make sure the default Ewk_Context gets freed
2465         on program exit.
2466
2467         The patch also fixes leaking of WKContextRef
2468         inside Ewk_Context which should have been
2469         adopted.
2470
2471         * UIProcess/API/efl/ewk_context.cpp:
2472         (_Ewk_Context::_Ewk_Context):
2473         (ewk_context_default_get):
2474
2475 2012-08-23  Adrienne Walker  <enne@google.com>
2476
2477         Convert ScrollableArea ASSERT_NOT_REACHED virtuals
2478         https://bugs.webkit.org/show_bug.cgi?id=93306
2479
2480         Reviewed by Darin Adler.
2481
2482         Add implementations where necessary to make derived classes concrete.
2483         Add OVERRIDE for ScrollableArea functions.
2484
2485         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2486         (WebKit::WebPopupMenuProxyWin::visibleHeight):
2487         (WebKit):
2488         (WebKit::WebPopupMenuProxyWin::visibleWidth):
2489         (WebKit::WebPopupMenuProxyWin::contentsSize):
2490         (WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox):
2491         * UIProcess/win/WebPopupMenuProxyWin.h:
2492         (WebPopupMenuProxyWin):
2493         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2494
2495 2012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2496
2497         [EFL][WK2] ewk_intent_request API test does not free Eina_List
2498         https://bugs.webkit.org/show_bug.cgi?id=94809
2499
2500         Reviewed by Kenneth Rohde Christiansen.
2501
2502         The used Eina_List should be freed due to ewk_intent_suggestions_get() documentation.
2503
2504         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
2505         (onIntentReceived):
2506
2507 2012-08-23  Andras Becsi  <andras.becsi@nokia.com>
2508
2509         [Qt][WK2] Helper functions used by the raw webview tests should not be guarded by HAVE_QTQUICK
2510
2511         Reviewed by Simon Hausmann.
2512
2513         This fixes the build if the QtQuick module is not present.
2514
2515         * UIProcess/API/qt/tests/util.cpp:
2516         (messageHandler):
2517         (suppressDebugOutput):
2518         * UIProcess/API/qt/tests/util.h:
2519
2520 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2521
2522         REGRESSION(r126306): it broke the plugin process
2523         https://bugs.webkit.org/show_bug.cgi?id=94797
2524
2525         Reviewed by Xan Lopez.
2526
2527         * GNUmakefile.am:
2528
2529 2012-08-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2530
2531         [WK2] Refactoring: WebBackForwardList getters should be const
2532         https://bugs.webkit.org/show_bug.cgi?id=94711
2533
2534         Reviewed by Kenneth Rohde Christiansen.
2535
2536         Before the change were not consistent with each other
2537         (WebBackForwardList::entries() was const but WebBackForwardList::currentIndex() was not).
2538         Besides having not const getters is not a good practice in C++. (Please read
2539         Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6.
2540         Item 3: 'Use const whenever possible').
2541
2542         * UIProcess/WebBackForwardList.cpp:
2543         (WebKit::WebBackForwardList::backListCount):
2544         (WebKit::WebBackForwardList::forwardListCount):
2545         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
2546         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
2547         * UIProcess/WebBackForwardList.h:
2548         (WebKit::WebBackForwardList::currentIndex):
2549         (WebBackForwardList):
2550
2551 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
2552
2553         Reduce Font.h includes across project -- improves RenderObject.h compile time
2554         https://bugs.webkit.org/show_bug.cgi?id=93629
2555
2556         Reviewed by Eric Seidel.
2557
2558         Adds includes due to change in RenderStyle.h
2559
2560         * WebProcess/WebPage/mac/WebPageMac.mm:
2561
2562 2012-08-22  Beth Dakin  <bdakin@apple.com>
2563
2564         https://bugs.webkit.org/show_bug.cgi?id=94401
2565         Add support for making a web site become paginated using overflow: 
2566         paged-x | paged-y
2567         -and corresponding-
2568         <rdar://problem/11831783> 
2569
2570         Reviewed by Dave Hyatt.
2571
2572         WebCore::Page::Pagination is now just WebCore::Pagination.
2573         * Shared/WebPageCreationParameters.h:
2574         (WebPageCreationParameters):
2575         * UIProcess/API/C/WKPage.cpp:
2576         (WKPageSetPaginationMode):
2577         (WKPageGetPaginationMode):
2578         * UIProcess/WebPageProxy.cpp:
2579         (WebKit::WebPageProxy::WebPageProxy):
2580         (WebKit::WebPageProxy::setPaginationMode):
2581         * UIProcess/WebPageProxy.h:
2582         (WebPageProxy):
2583         (WebKit::WebPageProxy::paginationMode):
2584         * WebProcess/WebPage/WebPage.cpp:
2585         (WebKit::WebPage::setPaginationMode):
2586         (WebKit::WebPage::setPaginationBehavesLikeColumns):
2587         (WebKit::WebPage::setPageLength):
2588         (WebKit::WebPage::setGapBetweenPages):
2589         * WebProcess/WebPage/WebPage.h:
2590         (WebPage):
2591
2592 2012-08-22  Jer Noble  <jer.noble@apple.com>
2593
2594         Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
2595         https://bugs.webkit.org/show_bug.cgi?id=93892
2596
2597         Reviewed by Eric Carlson.
2598
2599         Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
2600         it can join the new one.
2601
2602         * UIProcess/mac/WKFullScreenWindowController.mm:
2603         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2604
2605 2012-08-22  Alexey Proskuryakov  <ap@apple.com>
2606
2607         [WK2] Support posting injected bundle messages to a page
2608         https://bugs.webkit.org/show_bug.cgi?id=94630
2609
2610         Reviewed by Sam Weinig.
2611
2612         * Shared/APIClientTraits.cpp:
2613         * Shared/APIClientTraits.h:
2614         * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
2615         * UIProcess/API/C/WKPage.cpp:
2616         (WKPagePostMessageToInjectedBundle):
2617         * UIProcess/API/C/WKPage.h:
2618         * UIProcess/WebPageProxy.cpp:
2619         (WebKit::WebPageProxy::postMessageToInjectedBundle):
2620         * UIProcess/WebPageProxy.h:
2621         * WebProcess/InjectedBundle/API/c/WKBundle.h:
2622         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2623         (WebKit::InjectedBundle::didReceiveMessageToPage):
2624         (WebKit::InjectedBundle::didReceiveMessage):
2625         * WebProcess/InjectedBundle/InjectedBundle.h:
2626         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
2627         (WebKit::InjectedBundleClient::didReceiveMessageToPage):
2628         * WebProcess/InjectedBundle/InjectedBundleClient.h:
2629         (InjectedBundleClient):
2630         Added a PostMessageToPage injected bundle message type, with all associated
2631         machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
2632         didReceiveMessageToPage() injected bundle client function.
2633
2634         * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
2635         Updated for new client API.
2636
2637         * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
2638         Implemented multiple process model case.
2639
2640 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2641
2642         [GTK] Split WebCore/platform into a separate library
2643         https://bugs.webkit.org/show_bug.cgi?id=94435
2644
2645         Reviewed by Martin Robinson.
2646
2647         More people have been reporting problems when linking WebCore because
2648         the command line limit is being exceeded. Splitting WebCore a bit more
2649         is in order.
2650
2651         * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
2652
2653 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2654
2655         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
2656         https://bugs.webkit.org/show_bug.cgi?id=94683
2657
2658         Reviewed by Alejandro G. Castro.
2659
2660         Change spell-checker and preferred languages API to use a GStrv
2661         instead of a comma-separated string and GList. This makes the API
2662         more consistent and convenient to use.
2663
2664         * UIProcess/API/gtk/WebKitTextChecker.cpp:
2665         (WebKitTextChecker::getSpellCheckingLanguages): Return a
2666         Vector<String> instead of a String.
2667         (WebKitTextChecker::setSpellCheckingLanguages): Receive a
2668         Vector<String> instead of a String.
2669         * UIProcess/API/gtk/WebKitTextChecker.h:
2670         (WebKitTextChecker): Use a GPtrArray to cache languages.
2671         * UIProcess/API/gtk/WebKitWebContext.cpp:
2672         (webkit_web_context_get_spell_checking_languages):
2673         (webkit_web_context_set_spell_checking_languages):
2674         (webkit_web_context_set_preferred_languages):
2675         * UIProcess/API/gtk/WebKitWebContext.h:
2676         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2677         (testWebContextSpellChecker):
2678         (testWebContextLanguages):
2679
2680 2012-08-22  Csaba Osztrogonác  <ossy@webkit.org>
2681
2682         [Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
2683         https://bugs.webkit.org/show_bug.cgi?id=94692
2684
2685         Reviewed by Kenneth Rohde Christiansen.
2686
2687         * WebProcess/qt/WebProcessQt.cpp:
2688         (WebKit::WebProcess::platformInitializeWebProcess):
2689
2690 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2691
2692         Wrong default for new ScrollAnimatorEnabled preference.
2693
2694         Reviewed by Simon Hausmann.
2695
2696         ScrollAnimatorEnabled introduced in r126291, should default to 'true'
2697         to preserve existing behaviour on WK2 platforms that already enabled 
2698         SMOOTH_SCROLLING unconditionally.
2699
2700         * Shared/WebPreferencesStore.h:
2701         (WebKit):
2702
2703 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2704
2705         Unreviewed, build fixup for r126291.
2706
2707         * Shared/WebPreferencesStore.h:
2708         (WebKit):
2709
2710 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2711
2712         [Qt] Optionally support smooth-scrolling on all platforms
2713         https://bugs.webkit.org/show_bug.cgi?id=74926
2714
2715         Reviewed by Simon Hausmann.
2716
2717         Expose scroll-animator preference, but ensure animated smooth scrolling
2718         on the web process side is disabled when scrolling has been delegated
2719         to the UI process.
2720
2721         * Shared/WebPreferencesStore.h:
2722         * WebProcess/WebPage/WebPage.cpp:
2723         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
2724         (WebKit::WebPage::updatePreferences):
2725
2726 2012-08-22  Luiz Agostini  <luiz.agostini@nokia.com>
2727
2728         [Qt] Avoid using WebKit macros in qrawwebview_p.h
2729         https://bugs.webkit.org/show_bug.cgi?id=94648
2730
2731         Reviewed by Noam Rosenthal.
2732
2733         ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file.
2734
2735         * UIProcess/API/qt/raw/qrawwebview.cpp:
2736         (QRawWebView::sendTouchEvent):
2737         * UIProcess/API/qt/raw/qrawwebview_p.h:
2738
2739 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2740
2741         Unreviewed, rolling out r126216.
2742         http://trac.webkit.org/changeset/126216
2743         https://bugs.webkit.org/show_bug.cgi?id=94661
2744
2745         "Broke many Mac-WK2 tests" (Requested by bradee-oh on
2746         #webkit).
2747
2748         * WebProcess/com.apple.WebProcess.sb.in:
2749
2750 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2751
2752         [GTK] [WK2] Memory leaks in TestWebKitFindController
2753         https://bugs.webkit.org/show_bug.cgi?id=94627
2754
2755         Reviewed by Martin Robinson.
2756
2757         Fix memory leaks in TestWebKitFindController by using adoptGRef
2758         instead of just getting new reference of GdkPixbuf.
2759
2760         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
2761         (testFindControllerHide):
2762
2763 2012-08-21  Alexey Proskuryakov  <ap@apple.com>
2764
2765         <rdar://problem/11241850> Block access to xpcd in WebProcess.sb
2766
2767         Reviewed by Sam Weinig and Jon Honeycutt.
2768
2769         * WebProcess/com.apple.WebProcess.sb.in:
2770
2771 2012-08-21  Alexey Proskuryakov  <ap@apple.com>
2772
2773         <rdar://problem/8900275> Remove PubSub access from WebProcess, since it is no longer necessary
2774
2775         Reviewed by Mark Rowe.
2776
2777         * WebProcess/com.apple.WebProcess.sb.in:
2778
2779 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2780
2781         [EFL] Some public API functions don't have their symbols exported
2782         https://bugs.webkit.org/show_bug.cgi?id=94589
2783
2784         Reviewed by Kenneth Rohde Christiansen.
2785
2786         Added missing export symbol macro to these public API functions.
2787
2788         * UIProcess/API/efl/ewk_view.h:
2789
2790 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
2791
2792         [GTK] Using a native window for the WebView breaks GtkOverlay
2793         https://bugs.webkit.org/show_bug.cgi?id=90085
2794
2795         Reviewed by Alejandro G. Castro.
2796
2797         Add XComposite libraries to the linker list for WebKit2.
2798
2799         * GNUmakefile.am: Add XComposite
2800
2801 2012-08-21  Jesse van den Kieboom  <jessevdk@gnome.org> and Carlos Garcia Campos  <cgarcia@igalia.com>
2802
2803         [GTK] Add destroy notify for register_uri_scheme
2804         https://bugs.webkit.org/show_bug.cgi?id=94315
2805
2806         Reviewed by Philippe Normand.
2807
2808         For introspection to work correctly, a destroy notify needs to be
2809         added to register_uri_scheme so that bindings know when to
2810         finalize the user_data.
2811
2812         * UIProcess/API/gtk/WebKitWebContext.cpp:
2813         (webkit_web_context_register_uri_scheme):
2814         (webkitWebContextReceivedURIRequest):
2815         * UIProcess/API/gtk/WebKitWebContext.h:
2816         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2817
2818 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
2819
2820         Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but
2821         the code here needs QSignalSpy from QTestLib
2822
2823         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2824         * UIProcess/API/qt/tests/qmltests/WebView.pro:
2825
2826 2012-08-18  John Sullivan  <sullivan@apple.com>
2827
2828         <https://bugs.webkit.org/show_bug.cgi?id=94486>
2829         <rdar://problem/12128557>
2830         REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash
2831         
2832         Reviewed by Darin Adler.
2833
2834         * UIProcess/API/mac/WKView.mm:
2835         (-[WKView viewWillMoveToWindow:]):
2836         Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
2837         before the WKView is moved from one window to another when the WKView is being moved
2838         out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
2839         While this technically reopens a potentially crashing code path that 121482 closed,
2840         it only reopens it for WKViews that are used for text editing and that are removed
2841         from an NSPopover at some time earlier than tear-down of the NSPopover.
2842
2843 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2844
2845         [Qt] Custom tap-highlight-color renders fully opaque
2846         https://bugs.webkit.org/show_bug.cgi?id=94468
2847
2848         Reviewed by Kenneth Rohde Christiansen.
2849
2850         Draw tap-highlight-color at 50% transparency, to better match how
2851         existing WebKit browsers act on custom tap-highlight colors.
2852
2853         * WebProcess/WebPage/TapHighlightController.cpp:
2854         (WebKit::TapHighlightController::drawRect):
2855
2856 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2857
2858         [GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
2859         https://bugs.webkit.org/show_bug.cgi?id=94471
2860
2861         Reviewed by Martin Robinson.
2862
2863         In WebKit1 there's code to prevent that load signals are emitted
2864         when loading internal custom error pages. We added
2865         webkit_web_view_replace_content() with the same idea, but it has
2866         ended up being problematic, because it allows to add any HTML
2867         content (in WebKit1 we assumed internal error pages never failed
2868         and always loaded) and it's impossible to know when the load has
2869         finished. It also required a lot of logic to handle
2870         replace_content as an especial case, in order to hide the fact
2871         that it loads content. This patch renames
2872         webkit_web_view_replace_content() as
2873         webkit_web_view_load_alternate_html() and emit load events
2874         normally.
2875
2876         * UIProcess/API/gtk/WebKitWebView.cpp:
2877         (_WebKitWebViewPrivate):
2878         (webkitWebViewLoadChanged):
2879         (webkitWebViewLoadFailed):
2880         (webkitWebViewSetEstimatedLoadProgress):
2881         (webkitWebViewResourceLoadStarted):
2882         (webkitWebViewGetLoadingWebResource):
2883         (webkitWebViewRemoveLoadingWebResource):
2884         (webkitWebViewResourceLoadFinished):
2885         (webkit_web_view_load_alternate_html):
2886         * UIProcess/API/gtk/WebKitWebView.h:
2887         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2888         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
2889         (testLoadAlternateHTML):
2890         (beforeAll):
2891         * UIProcess/API/gtk/tests/TestResources.cpp:
2892         (beforeAll):
2893         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2894         (beforeAll):
2895         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2896         (WebViewTest::loadAlternateHTML):
2897         * UIProcess/API/gtk/tests/WebViewTest.h:
2898
2899 2012-08-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2900
2901         [EFL][WK2] Add unit tests for WKEinaSharedString
2902         https://bugs.webkit.org/show_bug.cgi?id=94104
2903
2904         Reviewed by Kenneth Rohde Christiansen.
2905
2906         Added unit tests for WKEinaSharedString class.
2907
2908         * PlatformEfl.cmake:
2909         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
2910         (checkString):
2911         (TEST_F):
2912
2913 2012-08-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2914
2915         [GTK] Add API to set preferred languages to WebKit2 GTK+
2916         https://bugs.webkit.org/show_bug.cgi?id=90878
2917
2918         Reviewed by Martin Robinson.
2919
2920         * UIProcess/API/gtk/WebKitWebContext.cpp:
2921         (webkit_web_context_set_preferred_languages): Public API to set a
2922         list of preferred languages sorted from most desirable to least
2923         desirable.
2924         * UIProcess/API/gtk/WebKitWebContext.h:
2925         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2926         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2927         (testWebContextLanguages):
2928         (serverCallback):
2929         (beforeAll):
2930         (afterAll):
2931         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2932         (resourceGetDataCallback):
2933         (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
2934         to make it available to all WebViewTests.
2935         * UIProcess/API/gtk/tests/WebViewTest.h:
2936         * WebProcess/WebProcess.cpp:
2937         (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
2938         observer that the languages have been overriden.
2939         * WebProcess/gtk/WebProcessGtk.cpp:
2940         (WebKit::buildAcceptLanguages): Helper function to build the
2941         accept languages as specified in RFC 2616.
2942         (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
2943         property of the default SoupSession.
2944         (WebKit::languageChanged): Update the preferred languages in
2945         SoupSession.
2946         (WebKit::WebProcess::platformInitializeWebProcess): Add an
2947         observer to be notified when the list of preferred languages is
2948         updated.
2949         (WebKit::WebProcess::platformTerminate): Remove the observer added
2950         in platformInitializeWebProcess().
2951
2952 2012-08-19  Dan Bernstein  <mitz@apple.com>
2953
2954         WebPageProxy::setCursor does not check that the view is still in an active window
2955         https://bugs.webkit.org/show_bug.cgi?id=94427
2956
2957         Reviewed by Alexey Proskuryakov.
2958
2959         The Web process may ask to change the cursor when the view is in an active window, but
2960         if by the time the UI process receives the message, the view is no longer in a window or the
2961         window is not active , then the cursor should not change.
2962
2963         * UIProcess/WebPageProxy.cpp:
2964         (WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before
2965         allowing the page to change the cursor.
2966
2967 2012-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2968
2969         Unreviewed, rolling out r125972.
2970         http://trac.webkit.org/changeset/125972
2971         https://bugs.webkit.org/show_bug.cgi?id=94431
2972
2973         Breaks AppleMac builds (Requested by pfeldman on #webkit).
2974
2975         * UIProcess/API/gtk/WebKitWebContext.cpp:
2976         * UIProcess/API/gtk/WebKitWebContext.h:
2977         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2978         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2979         (beforeAll):
2980         (afterAll):
2981         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2982         (WebViewTest::WebViewTest):
2983         * UIProcess/API/gtk/tests/WebViewTest.h:
2984         * WebProcess/WebProcess.cpp:
2985         (WebKit::WebProcess::userPreferredLanguagesChanged):
2986         * WebProcess/gtk/WebProcessGtk.cpp:
2987         (WebKit::WebProcess::platformInitializeWebProcess):
2988         (WebKit::WebProcess::platformTerminate):
2989
2990 2012-08-19  Christophe Dumez  <christophe.dumez@intel.com>
2991
2992         [EFL][WK2] Add API unit tests for Web Intents
2993         https://bugs.webkit.org/show_bug.cgi?id=90454
2994
2995         Reviewed by Kenneth Rohde Christiansen.
2996
2997         Add unit testing for Web intent requests,
2998         including the "intent,request,new" signal on
2999         the Ewk_View and the Ewk_Intent API.
3000
3001         * UIProcess/API/efl/ewk_view.h: Fix documentation for argument type of "intent,request,new" signal.
3002         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3003         (EWK2UnitTest::EWK2UnitTestBase::mouseClick): Add utility method to simulate a click at given
3004         coordinates. This is needed for testing functionality that requires a user gesture.
3005         (EWK2UnitTest):
3006         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3007         (EWK2UnitTestBase):
3008         * UIProcess/API/efl/tests/resources/intent-request.html: Added.
3009         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
3010         (stringSortCb):
3011         (onIntentReceived):
3012         (TEST_F):
3013
3014 2012-08-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3015
3016         [GTK] Add API to set preferred languages to WebKit2 GTK+
3017         https://bugs.webkit.org/show_bug.cgi?id=90878
3018
3019         Reviewed by Martin Robinson.
3020
3021         * UIProcess/API/gtk/WebKitWebContext.cpp:
3022         (webkit_web_context_set_preferred_languages): Public API to set a
3023         list of preferred languages sorted from most desirable to least
3024         desirable.
3025         * UIProcess/API/gtk/WebKitWebContext.h:
3026         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
3027         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
3028         (testWebContextLanguages):
3029         (serverCallback):
3030         (beforeAll):
3031         (afterAll):
3032         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3033         (resourceGetDataCallback):
3034         (WebViewTest::mainResourceData): Moved from TestWebKitWebContext
3035         to make it available to all WebViewTests.
3036         * UIProcess/API/gtk/tests/WebViewTest.h:
3037         * WebProcess/WebProcess.cpp:
3038         (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
3039         observer that the languages have been overriden.
3040         * WebProcess/gtk/WebProcessGtk.cpp:
3041         (WebKit::buildAcceptLanguages): Helper function to build the
3042         accept languages as specified in RFC 2616.
3043         (WebKit::setSoupSessionAcceptLanguage): Set the accept-language
3044         property of the default SoupSession.
3045         (WebKit::languageChanged): Update the preferred languages in
3046         SoupSession.
3047         (WebKit::WebProcess::platformInitializeWebProcess): Add an
3048         observer to be notified when the list of preferred languages is
3049         updated.
3050         (WebKit::WebProcess::platformTerminate): Remove the observer added
3051         in platformInitializeWebProcess().
3052
3053 2012-08-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3054
3055         [EFL][WK2] ewk_back_forward_list_item properties should be in sync with WebProcessProxy::m_backForwardListItemMap
3056         https://bugs.webkit.org/show_bug.cgi?id=94248
3057
3058         Reviewed by Kenneth Rohde Christiansen.
3059
3060         Currently ewk_back_forward_list_item properties are initialized from
3061         WKBackForwardListItemRef once in the constructor and then just stored.
3062         This is erroneous approach as back forward items can be initialized within
3063         several iterations, meaning several ipc calls to UI process and several updates
3064         of WebProcessProxy::m_backForwardListItemMap where the items are stored.
3065         Hence the values of ewk_back_forward_list_item properties should be updated
3066         with the corresponding WKBackForwardListItem function invokes every time
3067         they are called.
3068
3069         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
3070         (_Ewk_Back_Forward_List_Item): Data members have to be mutable as assigned being const pointers.
3071         (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
3072         (ewk_back_forward_list_item_uri_get):
3073         (ewk_back_forward_list_item_title_get):
3074         (ewk_back_forward_list_item_original_uri_get):
3075
3076 2012-08-17  Enrica Casucci  <enrica@apple.com>
3077
3078         Adding back the first statement of WebProcessMain accidentally
3079         removed in r125358.
3080
3081         Reviewed by Sam Weinig.
3082
3083         * WebProcess/mac/WebProcessMainMac.mm: Adding back the stripping
3084         of DYLD_INSERT_LIBRARIES.
3085
3086 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3087
3088         [EFL] REGRESSION(r125923): Breaks EFL build
3089         https://bugs.webkit.org/show_bug.cgi?id=94376
3090
3091         Reviewed by Alexey Proskuryakov.
3092
3093         Fix EFL build break after r125923.
3094
3095         * UIProcess/WebPageProxy.cpp:
3096         (WebKit::WebPageProxy::didReceiveIntentForFrame):
3097
3098 2012-08-17  Alexey Proskuryakov  <ap@apple.com>
3099
3100         Access m_process directly in WebPageProxy.cpp
3101         https://bugs.webkit.org/show_bug.cgi?id=94363
3102
3103         Reviewed by John Sullivan.
3104
3105         Consistency fix - we don't use accessors when we don't have to, and there is a mix in this file.
3106
3107         * UIProcess/WebPageProxy.cpp:
3108
3109 2012-08-17  Claudio Saavedra  <csaavedra@igalia.com>
3110
3111         [GTK] Add WK2 API to get suggested filename for URI responses
3112         https://bugs.webkit.org/show_bug.cgi?id=92967
3113
3114         Reviewed by Carlos Garcia Campos.
3115
3116         Webcore has API to get the suggested filename for a response, add
3117         a property and getter for it in WebKitURIResponse.
3118
3119         * UIProcess/API/gtk/WebKitURIResponse.cpp:
3120         (_WebKitURIResponsePrivate): Add a CString holding the value.
3121         (webkitURIResponseGetProperty): Add the gobject bits for the
3122         property.
3123         (webkit_uri_response_class_init): Install the property.
3124         (webkit_uri_response_get_suggested_filename): New getter.
3125         * UIProcess/API/gtk/WebKitURIResponse.h: Declare the public
3126         method.
3127         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
3128         symbols.
3129         * UIProcess/API/gtk/tests/TestResources.cpp:
3130         (testWebResourceSuggestedFilename): Test the new API.
3131         (serverCallback): Add the the content-disposition header
3132         in one case, in order to test it.
3133         (beforeAll): Add the new test.
3134
3135 2012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3136
3137         [EFL][wk2] Add unit tests for back-forward list API
3138         https://bugs.webkit.org/show_bug.cgi?id=92617
3139
3140         Reviewed by Kenneth Rohde Christiansen.
3141
3142         Added unit tests covering the existing EFL WK2 back-forward list API.
3143
3144         * PlatformEfl.cmake:
3145         * UIProcess/API/efl/tests/resources/default_test_page.html:
3146         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Added.
3147         (serverCallbackNavigation):
3148         (checkItem):
3149         (urlFromTitle):
3150         (TEST_F):
3151
3152 2012-08-17  Jeff Miller  <jeffm@apple.com>
3153
3154         UserMessageEncoder::baseEncode() should ASSERT when attempting to encode a non-shareable image
3155         https://bugs.webkit.org/show_bug.cgi?id=94245
3156
3157         Reviewed by Alexey Proskuryakov.
3158
3159         It's a programming error if a client attempts to encode an image that has an
3160         allocated bitmap, but isn't shareable, so we should assert in this case.
3161
3162         * Shared/UserMessageCoders.h:
3163         (WebKit::UserMessageEncoder::baseEncode):
3164         Assert if we're trying to encode valid non-shareable image.
3165
3166 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3167
3168         [EFL] [WK2] Add unit tests for vibration_client_callbacks_set API
3169         https://bugs.webkit.org/show_bug.cgi?id=93890
3170
3171         Reviewed by Kenneth Rohde Christiansen.
3172
3173         This patch covers unit testing of the Vibration API as delivered.
3174
3175         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3176         (VibrationCbData):
3177         (vibrateCallback):
3178         (cancelVibrationCallback):
3179         (loadVibrationHTMLString):
3180         (TEST_F):
3181
3182 2012-08-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3183
3184         [GTK] Rename WebKitWebView print-requested signal to print
3185         https://bugs.webkit.org/show_bug.cgi?id=94306
3186
3187         Reviewed by Martin Robinson.
3188
3189         WebKitWebView::print-requested is inconsistent with the rest of
3190         the API. It's a true_handled signal that allows users to implement
3191         their own print dialog, or block printing, or rely on
3192         defaults. The signal should be WebKitWebView::print like other
3193         signals (create, close, decide_policy, etc.)
3194
3195         * UIProcess/API/gtk/WebKitWebView.cpp:
3196         (webkit_web_view_class_init):
3197         (webkitWebViewPrintFrame):
3198         * UIProcess/API/gtk/WebKitWebView.h:
3199         (_WebKitWebViewClass):
3200         * UIProcess/API/gtk/tests/TestPrinting.cpp:
3201         (webViewPrintCallback):
3202         (testWebViewPrint):
3203         (beforeAll):
3204
3205 2012-08-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3206
3207         [EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free()
3208         https://bugs.webkit.org/show_bug.cgi?id=94312
3209
3210         Reviewed by Kenneth Rohde Christiansen.
3211
3212         eina_strbuf_string_free() frees the contents of a string buffer but not the
3213         buffer, so eina_strbuf_free() must be used to free the buffer.
3214
3215         Contents of the buffer has already been take care by stealing it with
3216         eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free().
3217
3218         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
3219         (serverCallback):
3220
3221 2012-08-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3222
3223         [EFL][WK2] Getting unnecessary  EINA_SAFETY_ON_NULL_RETURN_VAL warnings while page navigation
3224         https://bugs.webkit.org/show_bug.cgi?id=94308
3225
3226         Reviewed by Kenneth Rohde Christiansen.
3227
3228         The reason is that loadClient.didChangeBackForwardList callback is invoked with zero 
3229         arguments which is valid case while page back-forward navigation and means basically 
3230         that the back-froward list has changed but items were not added or deleted.
3231
3232         * UIProcess/API/efl/ewk_back_forward_list.cpp:
3233         (ewk_back_forward_list_changed):
3234
3235 2012-08-16  Lauro Neto  <lauro.neto@openbossa.org>
3236
3237         [Qt] Failure to build with --no-inspector
3238         https://bugs.webkit.org/show_bug.cgi?id=94148
3239
3240         Reviewed by Noam Rosenthal.
3241
3242         Add guards around usage of inspector functions.
3243
3244         * UIProcess/API/qt/qquickwebview.cpp:
3245         (QQuickWebViewExperimental::remoteInspectorUrl):
3246
3247 2012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3248
3249         [Qt] Remove an unused variable
3250
3251         Reviewed by Simon Hausmann.
3252
3253         * UIProcess/API/qt/qquickwebpage.cpp:
3254         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3255         * UIProcess/API/qt/qquickwebpage_p_p.h:
3256         (QQuickWebPagePrivate):
3257
3258 2012-08-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3259
3260         [Qt][WK2] Change the default cache model to enable the page cache
3261         https://bugs.webkit.org/show_bug.cgi?id=94221
3262
3263         Reviewed by Simon Hausmann.
3264
3265         The default CacheModelDocumentViewer disables the memory back-forward page cache.
3266         As uses of applications using QQuickWebView might vary, I'm setting the default to
3267         CacheModelDocumentBrowser.
3268         We should eventually expose this in the API to allow serious Web browsers setting it
3269         to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight
3270         on memory with limited page navigations.
3271
3272         * UIProcess/qt/QtWebContext.cpp:
3273         (WebKit::QtWebContext::defaultContext):
3274
3275 2012-08-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3276
3277         [Qt] Make sure that we don't prematurely force the first layout during loading.
3278         https://bugs.webkit.org/show_bug.cgi?id=94106
3279
3280         Reviewed by Kenneth Rohde Christiansen.
3281
3282         This would have the nasty effect that the frame loader would report the first layout
3283         before loadCommitted was reported. This would resume the rendering engine prematurely,
3284         showing blank content and reporting an empty contents size.
3285
3286         * WebProcess/WebPage/WebPage.cpp:
3287         (WebKit::WebPage::setFixedLayoutSize):
3288
3289 2012-08-16  Marcelo Lira  <marcelo.lira@openbossa.org>
3290
3291         [Qt] Input method hints are not being set.
3292         https://bugs.webkit.org/show_bug.cgi?id=92386
3293
3294         Reviewed by Kenneth Rohde Christiansen.
3295
3296         Input method hints for an editable element must be obtained from a proper
3297         HTML element. If the editable element is a complex one, it will have elements
3298         in the Shadow DOM, and it's one of those that will be returned as the root
3299         editable element. This works for editable DIVs, but not for INPUT elements.
3300         Using Element::shadowHost() on the root editable element will provide the
3301         needed HTML element, and for further clarity a method that does this was added
3302         to FrameSelection.
3303
3304         Added an API test to the Qt port regarding the correct setting
3305         of input method hints information on INPUT HTML tags.
3306
3307         * UIProcess/API/qt/tests/html/inputmethod.html:
3308         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3309         (tst_QQuickWebView):
3310         (tst_QQuickWebView::inputMethodHints):
3311         * WebProcess/WebPage/WebPage.cpp:
3312         (WebKit::WebPage::editorState):
3313
3314 2012-08-16  Zeno Albisser  <zeno@webkit.org>
3315
3316         Make GraphicsSurface double buffered by default.
3317         https://bugs.webkit.org/show_bug.cgi?id=93252
3318
3319         Create only a single GraphicsSurface per canvas
3320         on both supported platforms Mac/Linux.
3321         The GraphicsSurface on Mac internally uses two IOSurface
3322         to provide a front and a back buffer.
3323         The GLX implementation of GraphicsSurface uses
3324         an XWindow which already provides a front and a back buffer.
3325
3326         Reviewed by Noam Rosenthal.
3327
3328         * Shared/ShareableSurface.h:
3329         (Handle):
3330             Change the type of GraphicsSurface token to uint64_t.
3331         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3332         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
3333             Add a parameter that denotes the current front buffer of the
3334             GraphicsSurface.
3335         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3336         (LayerTreeCoordinatorProxy):
3337         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3338         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3339         (WebKit::LayerTreeRenderer::syncCanvas):
3340         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3341         (LayerTreeRenderer):
3342         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3343         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3344         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3345         (CoordinatedGraphicsLayerClient):
3346         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3347         (WebKit::LayerTreeCoordinator::syncCanvas):
3348         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3349         (LayerTreeCoordinator):
3350
3351 2012-08-16  Pierre Rossi  <pierre.rossi@gmail.com>
3352
3353         [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
3354         https://bugs.webkit.org/show_bug.cgi?id=93960
3355
3356         Reviewed by Simon Hausmann.
3357
3358         Following the removal of Qt 4 support from trunk in r124879.
3359
3360         * WebProcess/WebProcess.cpp:
3361         (WebKit::WebProcess::getWebCoreStatistics):
3362
3363 2012-08-16  Christophe Dumez  <christophe.dumez@intel.com>
3364
3365         [EFL][WK2] Add unit tests for Web intent registration
3366         https://bugs.webkit.org/show_bug.cgi?id=94133
3367
3368         Reviewed by Kenneth Rohde Christiansen.
3369
3370         Add unit tests for Web Intent service registration.
3371         This tests the "intent,service,register" signaling
3372         on the Ewk_View as well as Ewk_Intent_Service.
3373
3374         * PlatformEfl.cmake:
3375         * UIProcess/API/efl/tests/resources/intent-service.html: Added.
3376         * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
3377         (onIntentServiceRegistration):
3378         (TEST_F):
3379
3380 2012-08-16  Marja Hölttä  <marja@chromium.org>
3381
3382         FormController, WebHistoryItem: Enable reading selected file names from document state
3383         https://bugs.webkit.org/show_bug.cgi?id=91231
3384
3385         Reviewed by Jochen Eisinger.
3386
3387         This change enables Chromium to set up file permissions properly when
3388         the session restore feature restores a page with selected files.
3389
3390         * win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.
3391
3392 2012-08-15  Ryosuke Niwa  <rniwa@webkit.org>
3393
3394         Update manual tests and comments to refer to TestRunner instead of LayoutTestController
3395         https://bugs.webkit.org/show_bug.cgi?id=94168
3396
3397         Reviewed by Kent Tamura.
3398
3399         * Shared/WebPreferencesStore.cpp:
3400         (WebKit::WebPreferencesStore::getBoolValueForKey):
3401
3402 2012-08-15  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3403
3404         [css3-text] Add CSS3 Text decoration compile flag
3405         https://bugs.webkit.org/show_bug.cgi?id=93863
3406
3407         Reviewed by Julien Chaffraix.
3408
3409         This patch handles the compile flag implementation, which will come disabled by
3410         default, thus not exposing the CSS3 text decoration features to the web, unless
3411         when explicitly enabling it with "--css3-text-decoration" build parameter.
3412
3413         * Configurations/FeatureDefines.xcconfig:
3414
3415 2012-08-15  Sheriff Bot  <webkit.review.bot@gmail.com>
3416
3417         Unreviewed, rolling out r125687.
3418         http://trac.webkit.org/changeset/125687
3419         https://bugs.webkit.org/show_bug.cgi?id=94147
3420
3421         It broke the whole world (Requested by Ossy_night on #webkit).
3422
3423         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3424         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
3425
3426 2012-08-15  Beth Dakin  <bdakin@apple.com>
3427
3428         https://bugs.webkit.org/show_bug.cgi?id=93693
3429         [WK2] REGRESSION(125091): pixel results don't sow scrollbars 
3430         anymore
3431
3432         Reviewed by Sam Weinig.
3433
3434         This is a regression from http://trac.webkit.org/changeset/125091 
3435         in which I failed to noticed that 
3436         WKBundlePageCreateSnapshotInViewCoordinates() did actually do 
3437         something different than 
3438         WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically, 
3439         it used ScrollView::paint() to paint instead of 
3440         FrameView::paintContents(). So this patch restores that 
3441         functionality by adding a value to SnapshotOptions indicating 
3442         whether the snapshot should be taken in ViewCoordinates 
3443         (otherwise it defaults to DocumentCoordinates).
3444
3445         * Shared/API/c/WKImage.h:
3446         * Shared/API/c/WKSharedAPICast.h:
3447         (WebKit::toSnapshotOptions):
3448         * Shared/ImageOptions.h:
3449         * WebProcess/WebPage/WebPage.cpp:
3450         (WebKit::WebPage::scaledSnapshotWithOptions):
3451
3452         Even though we plan to deprecate this API, it should keep doing 
3453         the right thing until it's gone.
3454         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3455         (WKBundlePageCreateSnapshotInViewCoordinates):
3456
3457 2012-08-15  Brady Eidson  <beidson@apple.com>
3458
3459         Removing a plug-in element from a page opened in a background tab in Safari crashes
3460         <rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913
3461
3462         Reviewed by Beth Dakin.
3463
3464         This only happens in WebKit2 with asynchronous plug-in initialization enabled.
3465
3466         * WebProcess/Plugins/PluginProxy.cpp:
3467         (WebKit::PluginProxy::destroy): Null-check m_connection, as it might not have been created yet.
3468
3469         * win/WebKit2.def: Export Page::setCanStartMedia for InternalSettings/DRT use.
3470
3471 2012-08-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3472
3473         Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
3474         https://bugs.webkit.org/show_bug.cgi?id=93884
3475
3476         Reviewed by Geoffrey Garen.
3477
3478         With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
3479         MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
3480         we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
3481         objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
3482         For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
3483         masquerade as undefined within frame B, but it will continue to masquerade in frame A.
3484
3485         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3486         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
3487
3488 2012-08-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3489
3490         [EFL][WK2] Refactoring: start using WKEinaSharedString in ewk_ classes
3491         https://bugs.webkit.org/show_bug.cgi?id=93964
3492
3493         Reviewed by Kenneth Rohde Christiansen.
3494
3495         Started using WKEinaSharedString where it is advisable.
3496
3497         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
3498         (WKEinaSharedString::operator==):
3499         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
3500         * UIProcess/API/efl/ewk_download_job.cpp:
3501         (_Ewk_Download_Job):
3502         (_Ewk_Download_Job::_Ewk_Download_Job):
3503         (_Ewk_Download_Job::~_Ewk_Download_Job):
3504         (ewk_download_job_destination_set):
3505         (ewk_download_job_suggested_filename_set):
3506         * UIProcess/API/efl/ewk_intent.cpp:
3507         (_Ewk_Intent):
3508         (_Ewk_Intent::_Ewk_Intent):
3509         (_Ewk_Intent::~_Ewk_Intent):
3510         (ewk_intent_action_get):
3511         (ewk_intent_type_get):
3512         (ewk_intent_service_get):
3513         * UIProcess/API/efl/ewk_intent_service.cpp:
3514         (_Ewk_Intent_Service):
3515         (_Ewk_Intent_Service::_Ewk_Intent_Service):
3516         (_Ewk_Intent_Service::~_Ewk_Intent_Service):
3517         (ewk_intent_service_action_get):
3518         (ewk_intent_service_type_get):
3519         (ewk_intent_service_href_get):
3520         (ewk_intent_service_title_get):
3521         (ewk_intent_service_disposition_get):
3522         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
3523         (_Ewk_Navigation_Policy_Decision):
3524         (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
3525         (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
3526         * UIProcess/API/efl/ewk_url_request.cpp:
3527         (_Ewk_Url_Request):
3528         (_Ewk_Url_Request::_Ewk_Url_Request):
3529         (_Ewk_Url_Request::~_Ewk_Url_Request):
3530         (ewk_url_request_url_get):
3531         (ewk_request_cookies_first_party_get):
3532         (ewk_url_request_http_method_get):
3533         * UIProcess/API/efl/ewk_url_response.cpp:
3534         (_Ewk_Url_Response):
3535         (_Ewk_Url_Response::_Ewk_Url_Response):
3536         (_Ewk_Url_Response::~_Ewk_Url_Response):
3537         (ewk_url_response_url_get):
3538         (ewk_url_response_mime_type_get):
3539         * UIProcess/API/efl/ewk_view.cpp:
3540         (_Ewk_View_Private_Data):
3541         (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
3542         (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
3543         (ewk_view_uri_update):
3544         (ewk_view_title_get):
3545         (ewk_view_theme_set):
3546         (ewk_view_setting_encoding_custom_get):
3547         (ewk_view_setting_encoding_custom_set):
3548         * UIProcess/API/efl/ewk_web_error.cpp:
3549         (_Ewk_Web_Error):
3550         (_Ewk_Web_Error::_Ewk_Web_Error):
3551         (_Ewk_Web_Error::~_Ewk_Web_Error):
3552         (ewk_web_error_url_get):
3553         (ewk_web_error_description_get):
3554         * UIProcess/API/efl/ewk_web_resource.cpp:
3555         (_Ewk_Web_Resource):
3556         (_Ewk_Web_Resource::_Ewk_Web_Resource):
3557         (_Ewk_Web_Resource::~_Ewk_Web_Resource):
3558
3559 2012-08-15  Christophe Dumez  <christophe.dumez@intel.com>
3560
3561         [WK2] Add support for Web Intents MessagePorts
3562         https://bugs.webkit.org/show_bug.cgi?id=89072
3563
3564         Reviewed by Kenneth Rohde Christiansen.
3565
3566         Add support for WebIntents MessagePorts in WebKit2.
3567         MessagePorts can be passed with a Web Intent in
3568         order to open a direct communication channel
3569         between the Web application and the intent service.
3570
3571         This functionality is already supported by WebKit 1.
3572
3573         This patch introduces a new InjectedBundleIntent
3574         class which wraps a WebCore::Intent. This way
3575         information regarding the MessagePorts in a Web
3576         Intent is kept when using an injected bundle.
3577
3578         For the UIProcess, WebIntentData now carries
3579         identifiers for the MessagePorts which can go over
3580         IPC. Those identifiers map to actual MessagePorts
3581         stored in the Web process. This way, when the UI
3582         delivers an intent to a frame, we can get back the
3583         corresponding MessagePorts from the Web process
3584         before delivering the intent to the DOMWindow.
3585
3586         This functionality is already tested by:
3587
3588         - webintents/web-intents-invoke-port.html
3589         - webintents/web-intents-obj-constructor.html
3590
3591         * CMakeLists.txt:
3592         * GNUmakefile.list.am:
3593         * Shared/API/c/WKBase.h:
3594         * Shared/APIObject.h:
3595         * Shared/IntentData.cpp: Add MessagePort identifiers.
3596         (WebKit::IntentData::IntentData):
3597         (WebKit::IntentData::encode):
3598         (WebKit::IntentData::decode):
3599         * Shared/IntentData.h:
3600         (IntentData):
3601         * Target.pri:
3602         * UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to
3603         WKIntentDataCopyExtraValue() for clarity.
3604         (WKIntentDataCopyExtraValue): 
3605         * UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now
3606         that WTR uses WKBundleIntentCreate() instead.
3607         * UIProcess/API/efl/ewk_intent.cpp:
3608         (ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of
3609         WKIntentDataCopyExtra() since it was renamed.
3610         * UIProcess/WebIntentData.cpp:
3611         (WebKit::WebIntentData::WebIntentData):
3612         (WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon
3613         WebIntentData destruction.
3614         (WebKit):
3615         (WebKit::WebIntentData::extras):
3616         * UIProcess/WebIntentData.h:
3617         (WebKit):
3618         (WebKit::WebIntentData::create):
3619         (WebIntentData):
3620         * UIProcess/WebPageProxy.cpp:
3621         (WebKit::WebPageProxy::didReceiveIntentForFrame):
3622         * UIProcess/WebProcessProxy.cpp:
3623         (WebKit):
3624         (WebKit::WebProcessProxy::removeMessagePortChannel):
3625         * UIProcess/WebProcessProxy.h:
3626         (WebProcessProxy):
3627         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
3628         (WebKit):
3629         * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp.
3630         (WKBundleIntentGetTypeID):
3631         (WKBundleIntentCreate):
3632         (WKBundleIntentCopyAction):
3633         (WKBundleIntentCopyType):
3634         (WKBundleIntentCopyService):
3635         (WKBundleIntentCopySuggestions):
3636         (WKBundleIntentCopyExtraValue):
3637         (WKBundleIntentCopyExtras):
3638         (WKBundleIntentMessagePortCount):
3639         * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h.
3640         * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp:
3641         (WKBundleIntentRequestCopyIntent):
3642         * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h:
3643         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3644         (WKBundlePageDeliverIntentToFrame):
3645         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3646         * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
3647         (WebKit):
3648         (WebKit::InjectedBundleIntent::create):
3649         (WebKit::InjectedBundleIntent::InjectedBundleIntent):
3650         (WebKit::InjectedBundleIntent::action):
3651         (WebKit::InjectedBundleIntent::payloadType):
3652         (WebKit::InjectedBundleIntent::service):
3653         (WebKit::InjectedBundleIntent::data):
3654         (WebKit::InjectedBundleIntent::extra):
3655         (WebKit::InjectedBundleIntent::extras):
3656         (WebKit::InjectedBundleIntent::suggestions):
3657         * WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h.
3658         (WebKit):
3659         (InjectedBundleIntent):
3660         (WebKit::InjectedBundleIntent::coreIntent):
3661         (WebKit::InjectedBundleIntent::type):
3662         * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp:
3663         (WebKit::InjectedBundleIntentRequest::intent):
3664         * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h:
3665         (WebKit):
3666         (InjectedBundleIntentRequest):
3667         * WebProcess/WebPage/WebFrame.cpp:
3668         (WebKit::WebFrame::deliverIntent):
3669         (WebKit):
3670         * WebProcess/WebPage/WebFrame.h:
3671         (WebCore):
3672         (WebFrame):
3673         * WebProcess/WebPage/WebPage.cpp:
3674         (WebKit):
3675         (WebKit::WebPage::deliverCoreIntentToFrame):
3676         * WebProcess/WebPage/WebPage.h:
3677         (WebCore):
3678         (WebPage):
3679         * WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with
3680         their identifiers.
3681         (WebKit):
3682         (WebKit::WebProcess::addMessagePortChannel):
3683         (WebKit::WebProcess::messagePortChannel):
3684         (WebKit::WebProcess::removeMessagePortChannel):
3685         * WebProcess/WebProcess.h:
3686         (WebCore):
3687         (WebProcess):
3688         * WebProcess/WebProcess.messages.in:
3689
3690 2012-08-14  Adam Barth  <abarth@webkit.org>
3691
3692         Delete Frame::domWindow() and Frame::existingDOMWindow()
3693         https://bugs.webkit.org/show_bug.cgi?id=93990
3694
3695         Reviewed by Eric Seidel.
3696
3697         * WebProcess/WebPage/WebFrame.cpp:
3698         (WebKit::WebFrame::deliverIntent):
3699         (WebKit::WebFrame::pendingUnloadCount):
3700
3701 2012-08-14  Lauro Neto  <lauro.neto@openbossa.org>
3702
3703         Convert signals/slots to Q_* macros.
3704
3705         [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
3706         https://bugs.webkit.org/show_bug.cgi?id=93996
3707
3708         Reviewed by Kenneth Rohde Christiansen.
3709
3710         Change usage of keyword-conflicting 'signals' and 'slots' for
3711         Q_SIGNALS and Q_SLOTS macro.
3712
3713         * UIProcess/API/qt/qwebkittest_p.h:
3714         * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
3715         (tst_InspectorServer):
3716         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3717         (tst_publicapi):
3718         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3719         (tst_QQuickWebView):
3720         * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
3721         (WebView):
3722         (tst_qrawwebview):
3723         * UIProcess/API/qt/tests/util.cpp:
3724         (LoadSpy):
3725         * UIProcess/API/qt/tests/util.h:
3726         (LoadStartedCatcher):
3727         * UIProcess/InspectorServer/qt/WebSocketServerQt.h:
3728         (QtTcpServerHandler):
3729         * UIProcess/qt/QtDialogRunner.cpp:
3730         (DialogContextBase):
3731         (DialogContextObject):
3732         (BaseAuthenticationContextObject):
3733         (CertificateVerificationDialogContextObject):
3734         (FilePickerContextObject):
3735         (DatabaseQuotaDialogContextObject):
3736         * UIProcess/qt/QtDialogRunner.h:
3737         (QtDialogRunner):
3738         * UIProcess/qt/QtWebPageEventHandler.h:
3739         (QtWebPageEventHandler):
3740         * WebProcess/Downloads/qt/QtFileDownloader.h:
3741
3742 2012-08-14  Alexey Proskuryakov  <ap@apple.com>
3743
3744         [WK2] Track multiple Web Processes per context
3745         https://bugs.webkit.org/show_bug.cgi?id=93915
3746
3747         Reviewed by Sam Weinig.
3748
3749         * UIProcess/Downloads/DownloadProxy.cpp:
3750         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work
3751         yet, added a FIXME.
3752
3753         * UIProcess/WebContext.cpp:
3754         (WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an
3755         assertion that this is only used in single proces mode.
3756         (WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes.
3757         (WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity.
3758         (WebKit::WebContext::createNewWebProcess): Extracted code for creating a process
3759         from ensureWebProcess().
3760         (WebKit::WebContext::warmInitialProcess): Create the process more explicitly.
3761         (WebKit::WebContext::enableProcessTermination): Iterate over all processes.
3762         (WebKit::WebContext::shouldTerminate): Updated assertion.
3763         (WebKit::WebContext::processDidFinishLaunching): Changed to use process argument
3764         instead of m_process.
3765         (WebKit::WebContext::disconnectProcess): Updated code forto use m_processes.
3766         (WebKit::WebContext::createWebPage): Handle both process policies (initial support
3767         for multi-process).
3768         (WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies.
3769         (WebKit::WebContext::download): Ditto.
3770         (WebKit::WebContext::postMessageToInjectedBundle): Ditto.
3771         (WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace.
3772         (WebKit::WebContext::getWebCoreStatistics): Added cases for both policies.
3773
3774         * UIProcess/WebContext.h:
3775         (WebKit::WebContext::sendToAllProcesses):
3776         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
3777         Send to all processes. Changed return type to void, since no caller checked it.
3778
3779         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed
3780         an assertion that assumed one process per context.
3781
3782         * UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated
3783         to use a WebContext method.
3784
3785 2012-08-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3786
3787         WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
3788         https://bugs.webkit.org/show_bug.cgi?id=42332
3789
3790         Reviewed by Kenneth Rohde Christiansen.
3791
3792         Added new getters to WKURL, WKURLRequest, WKURLResponse so that it is possible
3793         to dump information necessary for the tests passing.
3794
3795         * Shared/API/c/WKURL.cpp:
3796         (WKURLCopyPath):
3797         * Shared/API/c/WKURL.h:
3798         * Shared/API/c/WKURLRequest.cpp:
3799         (WKURLRequestCopyFirstPartyForCookies):
3800         (WKURLRequestCopyHTTPMethod):
3801         * Shared/API/c/WKURLRequest.h:
3802         * Shared/API/c/WKURLResponse.cpp:
3803         (WKURLResponseHTTPStatusCode):
3804         * Shared/API/c/WKURLResponse.h:
3805         * Shared/WebURL.h:
3806         (WebKit::WebURL::path):
3807         (WebURL):
3808
3809 2012-08-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3810
3811         [Qt] UpdateAtlas is wasting memory
3812         https://bugs.webkit.org/show_bug.cgi?id=93606
3813
3814         Reviewed by Jocelyn Turcotte.
3815
3816         Imported and QAreaAllocator from Qt3D and ported it to WebCore style,
3817         and use this new area allocator to replace old one from UpdateAtlas.
3818
3819         * CMakeLists.txt:
3820         * Target.pri:
3821         * WebProcess/WebPage/AreaAllocator.cpp: Added.
3822         (WebKit::AreaAllocator::AreaAllocator):
3823         (WebKit::AreaAllocator::~AreaAllocator):
3824         (WebKit::AreaAllocator::expand):
3825         (WebKit::AreaAllocator::expandBy):
3826         (WebKit::AreaAllocator::release):
3827         (WebKit::AreaAllocator::overhead):
3828         (WebKit::AreaAllocator::roundAllocation):
3829         (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
3830         (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
3831         (WebKit::GeneralAreaAllocator::freeNode):
3832         (WebKit::GeneralAreaAllocator::expand):
3833         (WebKit::fitsWithin):
3834         (WebKit::GeneralAreaAllocator::allocate):
3835         (WebKit::GeneralAreaAllocator::allocateFromNode):
3836         (WebKit::GeneralAreaAllocator::splitNode):
3837         (WebKit::GeneralAreaAllocator::updateLargestFree):
3838         (WebKit::GeneralAreaAllocator::release):
3839         (WebKit::GeneralAreaAllocator::overhead):
3840         * WebProcess/WebPage/AreaAllocator.h: Added.
3841         (WebCore::nextPowerOfTwo):
3842         (AreaAllocator):
3843         (WebKit::AreaAllocator::size):
3844         (WebKit::AreaAllocator::minimumAllocation):
3845         (WebKit::AreaAllocator::setMinimumAllocation):
3846         (WebKit::AreaAllocator::margin):
3847         (WebKit::AreaAllocator::setMargin):
3848         (GeneralAreaAllocator):
3849         (Node):
3850         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3851         (WebKit::LayerTreeCoordinator::renderNextFrame):
3852         (WebKit::LayerTreeCoordinator::beginContentUpdate):
3853         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3854         (LayerTreeCoordinator):
3855         * WebProcess/WebPage/UpdateAtlas.cpp:
3856         (WebKit::UpdateAtlas::UpdateAtlas):
3857         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
3858         (WebKit::UpdateAtlas::didSwapBuffers):
3859         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
3860         * WebProcess/WebPage/UpdateAtlas.h:
3861         (UpdateAtlas):
3862
3863 2012-08-14  Sergio Villar Senin  <svillar@igalia.com>
3864
3865         [GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test
3866         https://bugs.webkit.org/show_bug.cgi?id=91083
3867
3868         Reviewed by Carlos Garcia Campos.
3869
3870         After r122428 search_next()/search_prev() should return just 1 match
3871         if the text is found.
3872
3873         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
3874         (testFindControllerNext):
3875         (testFindControllerPrevious):
3876
3877 2012-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3878
3879         [GTK] Implement smart separators for context menu in WebKit2 GTK+
3880         https://bugs.webkit.org/show_bug.cgi?id=90449
3881
3882         Reviewed by Martin Robinson.
3883
3884         Don't add to the context menu separators that are at the very
3885         beginning or end of the menu. Once the context menu is shown,
3886         monitor menu items visibility to hide or show separators to make
3887         sure they never appear in the context menu unless they are between
3888         two visible items.
3889
3890         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
3891         (testContextMenuSmartSeparators):
3892         (beforeAll):
3893         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3894         (WebKit::contextMenuItemVisibilityChanged):
3895         (WebKit):
3896         (WebKit::WebContextMenuProxyGtk::append):
3897         (WebKit::WebContextMenuProxyGtk::populate):
3898
3899 2012-08-14  Kihong Kwon  <kihong.kwon@samsung.com>
3900
3901         [WK2] Add getter for capture attribute of input element
3902         https://bugs.webkit.org/show_bug.cgi?id=93710
3903
3904         Reviewed by Antonio Gomes.
3905
3906         Add getter for capture attribute to WKOpenPanelParameters to support HTML Media Capture.
3907
3908         * Shared/WebCoreArgumentCoders.cpp:
3909         (CoreIPC::::encode):
3910         (CoreIPC::::decode):
3911         * Shared/WebOpenPanelParameters.cpp:
3912         (WebKit):
3913         (WebKit::WebOpenPanelParameters::capture):
3914         * Shared/WebOpenPanelParameters.h:
3915         (WebOpenPanelParameters):
3916         * UIProcess/API/C/WKOpenPanelParameters.cpp:
3917         (WKOpenPanelParametersCopyCapture):
3918         * UIProcess/API/C/WKOpenPanelParameters.h:
3919
3920 2012-08-13  Tom Sepez  <tsepez@chromium.org>
3921
3922         [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
3923         https://bugs.webkit.org/show_bug.cgi?id=93283
3924
3925         Reviewed by Eric Seidel.
3926
3927         Chromium has a refptr that needs to be NULLed at this point.
3928         
3929         Change the client redirectDataToPlugin method(s) to expect the possibility of
3930         a NULL argument, keeping existing behaviour otherwise.
3931
3932         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3933         (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
3934
3935 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
3936
3937         [EFL] Unreviewed bot fix after r125467.
3938
3939         * PlatformEfl.cmake: Make the WK2 tests link against glib, gobject
3940         and gio as well.
3941
3942 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
3943
3944         [EFL] Unreviewed attempt at fixing the bots after r125467.
3945
3946         * PlatformEfl.cmake: Link against GIO and GObject due to the usage
3947         of libsoup.
3948
3949 2012-08-11  Raphael Kubo da Costa  <rakuco@webkit.org>
3950
3951         [CMake] Rewrite FindLibSoup2.cmake.
3952         https://bugs.webkit.org/show_bug.cgi?id=93191
3953
3954         Reviewed by Rob Buis.
3955
3956         * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and
3957         do not use LIBSOUP24_LDFLAGS, as it is not needed anymore.
3958
3959 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
3960
3961         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
3962         https://bugs.webkit.org/show_bug.cgi?id=93883
3963
3964         More Windows build fixing.
3965
3966         * UIProcess/WebContext.cpp:
3967         (WebKit::WebContext::dummy):
3968
3969 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
3970
3971         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
3972         https://bugs.webkit.org/show_bug.cgi?id=93883
3973
3974         More Windows build fix
3975
3976         * UIProcess/WebContext.cpp:
3977         (WebKit::WebPage::dummy):
3978         * UIProcess/WebContext.h: (WebContext):
3979         * UIProcess/WebContext.messages.in:
3980         Add a dummy sync message - the same workaround is already used in WebPage.
3981
3982 2012-08-13  Brady Eidson  <beidson@apple.com>
3983
3984         With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock
3985         <rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894
3986
3987         Reviewed by Alexey Proskuryakov.
3988
3989         A few things were in play here:
3990         - The WebProcess thought the plug-in was done initializing but it wasn't.
3991         - The sync message out from the PluginProcess was not being handled by the WebProcess.
3992
3993         Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched:
3994         * Platform/CoreIPC/Connection.h:
3995         (CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
3996         (CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
3997
3998         * PluginProcess/PluginControllerProxy.cpp:
3999         (WebKit::PluginControllerProxy::PluginControllerProxy):
4000         (WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization.
4001         (WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion.
4002         (WebKit::PluginControllerProxy::initialize):
4003         * PluginProcess/PluginControllerProxy.h:
4004         (WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the
4005           delayed reply for later.
4006
4007         * PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply.
4008         * PluginProcess/WebProcessConnection.cpp:
4009         (WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after
4010           asynchronous initialization completes.
4011         (WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to
4012           it instead of sending the asynchronously reply.
4013         * PluginProcess/WebProcessConnection.h:
4014         (WebProcessConnection):
4015
4016 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
4017
4018         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
4019         https://bugs.webkit.org/show_bug.cgi?id=93883
4020
4021         Windows build fix.
4022
4023         * WebProcess/WebProcess.cpp:
4024         (WebKit::WebProcess::getSitesWithPluginData):
4025         (WebKit::WebProcess::clearPluginSiteData):
4026         Use WebProcessProxy for the message here, too.
4027
4028 2012-08-13  Alexey Proskuryakov  <ap@apple.com>
4029
4030         [WK2] Move a remaining per-process message from WebContext to WebProcessProxy
4031         https://bugs.webkit.org/show_bug.cgi?id=93883
4032
4033         Reviewed by Sam Weinig.
4034
4035         There was one plug-in message renaming. Moving it, and also other plug-in messages
4036         for consistency.
4037
4038         * UIProcess/WebContext.cpp:
4039         (WebKit): Got rid of the last MESSAGE_CHECK in this file.
4040         (WebKit::WebContext::WebContext): Moved m_pluginWorkQueue to a singleton.
4041         We don't need more than one queue (all it does is read plug-in info), and if we
4042         needed, it would have been per-process, not per-context.
4043         (WebKit::WebContext::~WebContext): No more work queue.
4044         (WebKit::WebContext::processDidFinishLaunching): Ditto.
4045
4046         * UIProcess/WebContext.h: No longer needs to be a QueueClient.
4047
4048         * UIProcess/WebContext.messages.in:
4049         * UIProcess/WebProcessProxy.messages.in:
4050         Moved plug-in related messages.
4051
4052         * UIProcess/WebProcessProxy.cpp:
4053         (WebKit::pluginWorkQueue): Moved from WebContext to a singleton.
4054         (WebKit::WebProcessProxy::sendDidGetPlugins): Moved from WebContext.
4055         (WebKit::WebProcessProxy::handleGetPlugins): Ditto.
4056         (WebKit::WebProcessProxy::getPlugins): Ditto.
4057         (WebKit::WebProcessProxy::getPluginPath): Ditto.
4058         (WebKit::WebProcessProxy::getPluginProcessConnection): Ditto.
4059         (WebKit::WebProcessProxy::didGetSitesWithPluginData): Ditto.
4060         (WebKit::WebProcessProxy::didClearPluginSiteData): Ditto.
4061
4062         * UIProcess/WebProcessProxy.h: Process proxy needs to be thread safe ref counted
4063         now, since it sends messages to itself on a work queue and back.
4064
4065         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4066         (WebKit::WebPlatformStrategies::populatePluginCache): Updated for new receiver.
4067
4068         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Ditto.
4069
4070         * WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ditto.
4071
4072 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
4073
4074         [CMake] Remove glib-related Find modules and write single new one instead.
4075         https://bugs.webkit.org/show_bug.cgi?id=93786
4076
4077         Reviewed by Rob Buis.
4078
4079         * PlatformEfl.cmake: Use GLIB_* instead of Glib_*.
4080
4081 2012-08-13  Christophe Dumez  <christophe.dumez@intel.com>
4082
4083         [SOUP][WK2] Missing LocalTerminationDisabler in WebCookieManager::setCookiePersistentStorage()
4084         https://bugs.webkit.org/show_bug.cgi?id=93837
4085
4086         Reviewed by Carlos Garcia Campos.
4087
4088         Add missing WebCore::LocalTerminationDisabler in
4089         WebCookieManager::setCookiePersistentStorage() to
4090         temporarily disable process termination.
4091
4092         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
4093         (WebKit::WebCookieManager::setCookiePersistentStorage):
4094
4095 2012-08-12  Nuno Lopes  <nlopes@apple.com>
4096
4097         Fix build with recent clang.
4098         https://bugs.webkit.org/show_bug.cgi?id=90701
4099
4100         Reviewed by Eric Seidel.
4101
4102         * Shared/CommandLine.h:
4103         (CommandLine):
4104         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
4105         (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
4106         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
4107         (NotificationPermissionRequestManager):
4108