[WK2][EFL] Stop using internal C++ API in ewk_error
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-02-18  Christophe Dumez  <dchris@gmail.com>
2
3         [WK2][EFL] Stop using internal C++ API in ewk_error
4         https://bugs.webkit.org/show_bug.cgi?id=108796
5
6         Reviewed by Benjamin Poulain.
7
8         Stop using internal C++ API in ewk_error and use C API instead of avoid
9         violating API layering.
10
11         * UIProcess/API/efl/ewk_error.cpp:
12         (EwkError::domain):
13         (EwkError::isCancellation):
14         (ewk_error_type_get):
15         * UIProcess/API/efl/ewk_error_private.h:
16         (EwkError):
17
18 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
19
20         Clean up the boolean argument to visibleContentRect
21         https://bugs.webkit.org/show_bug.cgi?id=110167
22
23         Reviewed by Simon Fraser.
24         
25         Replace the boolean argument to visibleContentRect() with
26         an enum.
27
28         * WebProcess/WebPage/WebFrame.cpp:
29         (WebKit::WebFrame::visibleContentBounds):
30         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
31
32 2013-02-18  Anders Carlsson  <andersca@apple.com>
33
34         Add a DefaultHash for RefPtr<SecurityOrigin>
35         https://bugs.webkit.org/show_bug.cgi?id=110170
36
37         Reviewed by Andreas Kling.
38
39         Remove all explicit uses of SecurityOriginHash.
40
41         * UIProcess/Storage/StorageManager.cpp:
42         (StorageManager::SessionStorageNamespace):
43         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
44         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
45         * WebProcess/InjectedBundle/InjectedBundle.cpp:
46         (WebKit::InjectedBundle::originsWithApplicationCache):
47         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
48         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
49         for looking up security origins.
50
51         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
52         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
53         This can just take a const reference.
54
55         * WebProcess/ResourceCache/WebResourceCacheManager.h:
56
57 2013-02-18  Anders Carlsson  <andersca@apple.com>
58
59         Begin stubbing out session storage classes
60         https://bugs.webkit.org/show_bug.cgi?id=110168
61
62         Reviewed by Andreas Kling.
63
64         * UIProcess/Storage/StorageManager.cpp:
65         (StorageManager::StorageArea):
66         (WebKit):
67         (WebKit::StorageManager::StorageArea::create):
68         (WebKit::StorageManager::StorageArea::StorageArea):
69         (WebKit::StorageManager::StorageArea::~StorageArea):
70         (StorageManager::SessionStorageNamespace):
71         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
72         (WebKit::StorageManager::SessionStorageNamespace::create):
73         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
74         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
75         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
76         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
77         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
78         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
79         * UIProcess/Storage/StorageManager.h:
80         (StorageManager):
81
82 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
83
84         [EFL][WK2] Add C API for popup menu and popup item
85         https://bugs.webkit.org/show_bug.cgi?id=109083
86
87         Reviewed by Anders Carlsson.
88
89         WK2 EFL delegates display of the popup menu to the browser which causes
90         us to have a strong interdependency between internal C++ classes
91         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
92         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
93
94         Since we want to remove this interdependency, this patch introduces a
95         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
96         (WKPopupItem). It also introduces a WKPage client with callbacks for
97         showPopupMenu and hidePopupMenu.
98
99         Note that the popup menu functionality is covered by ewk_popup_menu API
100         tests and no functionality is lost.
101
102         * PlatformEfl.cmake: Add new files to EFL CMake config.
103         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
104         WKPopupMenuListenerRef.
105         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
106         platform.
107         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
108         and WKPopupMenuListenerRef API types.
109         (WebKit):
110         (WebKit::toAPI):
111         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
112         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
113         client on the page.
114         * UIProcess/API/C/efl/WKPageEfl.h: Added.
115         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
116         (WKPopupItemGetType):
117         (WKPopupItemGetTextDirection):
118         (WKPopupItemHasTextDirectionOverride):
119         (WKPopupItemCopyText):
120         (WKPopupItemCopyToolTipText):
121         (WKPopupItemCopyAccessibilityText):
122         (WKPopupItemIsEnabled):
123         (WKPopupItemIsLabel):
124         (WKPopupItemIsSelected):
125         * UIProcess/API/C/efl/WKPopupItem.h: Added.
126         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
127         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
128         client can report which popup menu item was selected.
129         (WKPopupMenuListenerSetSelection):
130         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
131         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
132         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
133         (EwkView::requestPopupMenu):
134         * UIProcess/API/efl/EwkView.h:
135         (WebKit):
136         (EwkView):
137         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
138         (EwkPopupMenu::EwkPopupMenu):
139         (EwkPopupMenu::setSelectedIndex):
140         * UIProcess/API/efl/ewk_popup_menu_private.h:
141         (EwkPopupMenu::create):
142         (EwkPopupMenu):
143         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
144         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
145         (WebKit::WebPageProxy::close):
146         (WebKit::WebPageProxy::showPopupMenu):
147         (WebKit::WebPageProxy::hidePopupMenu):
148         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
149         corresponding initialization method.
150         (WebPageProxy):
151         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
152         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
153         for this now.
154         (WebPopupMenuProxy):
155         * UIProcess/efl/PageUIClientEfl.cpp:
156         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
157         callbacks and call corresponding EwkView methods. Previously, the EwkView
158         methods were called by the internal WebPageProxyEfl class which is no
159         longer needed.
160         (WebKit::PageUIClientEfl::showPopupMenu):
161         (WebKit):
162         (WebKit::PageUIClientEfl::hidePopupMenu):
163         * UIProcess/efl/PageUIClientEfl.h:
164         (PageUIClientEfl):
165         * UIProcess/efl/WebPageProxyEfl.cpp:
166         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
167         (WebKit):
168         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
169         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
170         (WebKit):
171         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
172         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
173         * UIProcess/efl/WebPopupItemEfl.h: Added.
174         (WebKit):
175         (WebPopupItemEfl):
176         (WebKit::WebPopupItemEfl::create):
177         (WebKit::WebPopupItemEfl::data):
178         (WebKit::WebPopupItemEfl::itemType):
179         (WebKit::WebPopupItemEfl::text):
180         (WebKit::WebPopupItemEfl::textDirection):
181         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
182         (WebKit::WebPopupItemEfl::toolTipText):
183         (WebKit::WebPopupItemEfl::accessibilityText):
184         (WebKit::WebPopupItemEfl::isEnabled):
185         (WebKit::WebPopupItemEfl::isLabel):
186         (WebKit::WebPopupItemEfl::isSelected):
187         (WebKit::WebPopupItemEfl::type):
188         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
189         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
190         it more accurately represents its functionality now.
191         (WebKit):
192         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
193         (WebKit::WebPopupMenuListenerEfl::valueChanged):
194         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
195         (WebKit):
196         (WebPopupMenuListenerEfl):
197         (WebKit::WebPopupMenuListenerEfl::create):
198         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
199         (WebUIPopupMenuClient::showPopupMenu):
200         (WebUIPopupMenuClient::hidePopupMenu):
201         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
202         (WebKit):
203         (WebUIPopupMenuClient):
204         * UIProcess/efl/WebView.cpp:
205         (WebKit::WebView::createPopupMenuProxy):
206
207 2013-02-18  Anders Carlsson  <andersca@apple.com>
208
209         Add StorageManager member functions for keeping track of session storage namespaces
210         https://bugs.webkit.org/show_bug.cgi?id=110163
211
212         Reviewed by Andreas Kling.
213
214         * UIProcess/Storage/StorageManager.cpp:
215         (WebKit::StorageManager::createSessionStorageNamespace):
216         (WebKit):
217         (WebKit::StorageManager::destroySessionStorageNamespace):
218         (WebKit::StorageManager::cloneSessionStorageNamespace):
219         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
220         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
221         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
222         * UIProcess/Storage/StorageManager.h:
223         (StorageManager):
224         * UIProcess/WebContext.h:
225         (WebKit::WebContext::storageManager):
226         (WebContext):
227         * UIProcess/WebPageProxy.cpp:
228         (WebKit::WebPageProxy::WebPageProxy):
229         (WebKit::WebPageProxy::close):
230         (WebKit::WebPageProxy::createNewPage):
231
232 2013-02-18  Anders Carlsson  <andersca@apple.com>
233
234         StorageManager message handlers should take the connection
235         https://bugs.webkit.org/show_bug.cgi?id=110151
236
237         Reviewed by Andreas Kling.
238
239         * Platform/CoreIPC/HandleMessage.h:
240         (CoreIPC):
241         (CoreIPC::callMemberFunction):
242         (CoreIPC::handleMessage):
243         * Scripts/webkit2/messages.py:
244         (sync_message_statement):
245         (generate_message_handler):
246         * UIProcess/Storage/StorageManager.cpp:
247         (WebKit::StorageManager::createStorageArea):
248         (WebKit::StorageManager::destroyStorageArea):
249         (WebKit::StorageManager::getValues):
250         * UIProcess/Storage/StorageManager.h:
251         (StorageManager):
252         * UIProcess/Storage/StorageManager.messages.in:
253
254 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
255
256         [EFL][WK2] Use C API inside ewk_security_origin
257         https://bugs.webkit.org/show_bug.cgi?id=107923
258
259         Reviewed by Alexey Proskuryakov.
260
261         Use C API inside ewk_security_origin instead of accessing
262         directly internal C++ classes, to avoid breaking API
263         layering.
264
265         * UIProcess/API/efl/EwkView.cpp:
266         (EwkView::enterFullScreen):
267         * UIProcess/API/efl/ewk_security_origin.cpp:
268         (EwkSecurityOrigin::EwkSecurityOrigin):
269         * UIProcess/API/efl/ewk_security_origin_private.h:
270         (EwkSecurityOrigin::create):
271         (EwkSecurityOrigin):
272
273 2013-01-04  Jer Noble  <jer.noble@apple.com>
274
275         pinch-zooming webpage messes up full-screening of embedded video
276         https://bugs.webkit.org/show_bug.cgi?id=106115
277
278         Reviewed by Maciej Stachowiak.
279
280         Reset the page scale when entering full screen, and reset to the original scale when exiting.
281
282         * UIProcess/mac/WKFullScreenWindowController.h:
283         * UIProcess/mac/WKFullScreenWindowController.mm:
284         (-[WKFullScreenWindowController enterFullScreen:]):
285         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
286
287 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
288
289         [EFL][WK2] Disable failing API tests
290         https://bugs.webkit.org/show_bug.cgi?id=110081
291
292         Reviewed by Kenneth Rohde Christiansen.
293
294         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
295
296         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
297         (TEST_F):
298
299 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
300
301         [Qt][WK2] Support WK2 API tests
302         https://bugs.webkit.org/show_bug.cgi?id=109843
303
304         Reviewed by Jocelyn Turcotte.
305
306         * UIProcess/API/qt/qquickwebview_p.h:
307         (TestWebKitAPI):
308
309 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
310
311         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
312         https://bugs.webkit.org/show_bug.cgi?id=108337
313
314         Reviewed by Jocelyn Turcotte.
315
316         We should not ignore content position changes unless pinch zoom or bounce-back
317         animation is ongoing.
318         This way we notify the web process about visible rect changes if the contentX
319         and contentY properties are used to programmatically scroll the content from QML.
320         One important usecase for this is when implementing scrollbars.
321
322         * UIProcess/qt/PageViewportControllerClientQt.cpp:
323         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
324         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
325         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
326         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
327         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
328         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
329
330 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
331
332         [WK2][EFL] Unified text checker implementation
333         https://bugs.webkit.org/show_bug.cgi?id=107682
334
335         Reviewed by Anders Carlsson.
336
337         * UIProcess/efl/TextCheckerEfl.cpp:
338         (WebKit):
339         (WebKit::nextWordOffset):
340         Helper function to determine the word offset to do not call
341         client's checkSpellingOfString for the word separators.
342
343         (WebKit::TextChecker::checkTextOfParagraph):
344         Allow to check spelling for multiple words,
345         their misspelling location and length are saved to the vector.
346
347         * WebProcess/WebCoreSupport/WebEditorClient.h:
348         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
349
350         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
351         (WebKit):
352         (WebKit::WebEditorClient::checkTextOfParagraph):
353         As spelling implementation is exposed to UIProcess,
354         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
355
356 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
357
358         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
359         https://bugs.webkit.org/show_bug.cgi?id=108598
360
361         Reviewed by Kenneth Rohde Christiansen.
362
363         Refactor the Ewk_Favicon code so that it no longer relies on internal
364         C++ API and so that it is based solely on the C API. The API is changed
365         a little as well so that the Favicon URL is no longer exposed to the
366         client. Also the client is now only notified of icon changes once the
367         favicon data is actually available.
368
369         The API is covered by existing API tests and by MiniBrowser which are
370         both updated accordingly in this patch.
371
372         * UIProcess/API/efl/EwkView.cpp:
373         (EwkView::informURLChange):
374         (EwkView::createFavicon):
375         (EwkView::onFaviconChanged):
376         * UIProcess/API/efl/EwkView.h:
377         (EwkView):
378         * UIProcess/API/efl/EwkViewCallbacks.h:
379         * UIProcess/API/efl/ewk_favicon_database.cpp:
380         Client are now notified of favicon changes only when the favicon data
381         becomes available and make API to retrieve a favicon synchronous. NULL
382         is returned if the favicon data is not available.
383
384         (EwkFaviconDatabase::EwkFaviconDatabase):
385         (EwkFaviconDatabase::getIconSurfaceSynchronously):
386         (EwkFaviconDatabase::iconDataReadyForPageURL):
387         (ewk_favicon_database_icon_get):
388         * UIProcess/API/efl/ewk_favicon_database.h:
389         * UIProcess/API/efl/ewk_favicon_database_private.h:
390         (EwkFaviconDatabase):
391         * UIProcess/API/efl/ewk_view.cpp:
392         (ewk_view_favicon_get):
393         * UIProcess/API/efl/ewk_view.h:
394         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
395         consistency with the rest of the favicon API. Remove API to retrieve
396         the favicon URL and replace it by one to retrieve the favicon image as
397         an Evas_Object instead.
398
399         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
400         Update API tests to use the new favicon API.
401
402 2013-02-17  Jae Hyun Park  <jae.park@company100.net>
403
404         Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
405         https://bugs.webkit.org/show_bug.cgi?id=109893
406
407         Reviewed by Anders Carlsson.
408
409         DrawingAreaImpl::createGraphicsContext() is unnecessary since
410         createGraphicsContext can be called directly using ShareableBitmap.
411
412         * WebProcess/WebPage/DrawingAreaImpl.cpp:
413         (WebKit::DrawingAreaImpl::display):
414         * WebProcess/WebPage/DrawingAreaImpl.h:
415         (DrawingAreaImpl):
416
417 2013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
418
419         [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
420         https://bugs.webkit.org/show_bug.cgi?id=109451
421
422         Reviewed by Anders Carlsson.
423
424         Remove fullscreen manager proxy as a message receiver on invalidate(), like
425         other ports do after r142160.
426
427         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
428         (WebKit::WebFullScreenManagerProxy::invalidate):
429
430 2013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
431
432         Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
433         https://bugs.webkit.org/show_bug.cgi?id=110053
434
435         Reviewed by Alexey Proskuryakov.
436
437         Clear m_plugins in loadPluginsIfNecessary() before populating the
438         vector again. We get duplicates otherwise.
439
440         * UIProcess/Plugins/PluginInfoStore.cpp:
441         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
442
443 2013-02-16  Andreas Kling  <akling@apple.com>
444
445         Remove multi-threading gunk from PluginInfoStore.
446         <http://webkit.org/b/110046>
447
448         Reviewed by Alexey Proskuryakov.
449
450         PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
451         and stop making isolated copies of everything.
452
453         * Shared/Plugins/PluginModuleInfo.h:
454         (PluginModuleInfo):
455         * UIProcess/Plugins/PluginInfoStore.cpp:
456         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
457         (WebKit::PluginInfoStore::plugins):
458         (WebKit::PluginInfoStore::findPluginForMIMEType):
459         (WebKit::PluginInfoStore::findPluginForExtension):
460         (WebKit::PluginInfoStore::findPlugin):
461         (WebKit::PluginInfoStore::infoForPluginWithPath):
462         * UIProcess/Plugins/PluginInfoStore.h:
463         (PluginInfoStore):
464
465 2013-02-16  Sam Weinig  <sam@webkit.org>
466
467         Fix non-production builds.
468
469         * WebKit2.xcodeproj/project.pbxproj:
470
471 2013-02-16  Sam Weinig  <sam@webkit.org>
472
473         The Plugin.32 target does not build
474         https://bugs.webkit.org/show_bug.cgi?id=110032
475
476         Reviewed by Anders Carlsson.
477
478         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
479         This was meant to be removed already.
480
481         * WebKit2.xcodeproj/project.pbxproj:
482         Add Plugin.32 as dependency in All as it should be.
483
484 2013-02-16  Darin Adler  <darin@apple.com>
485
486         Fix WKDOMRangePrivate.h mistakes
487         https://bugs.webkit.org/show_bug.cgi?id=110028
488
489         Reviewed by Ryosuke Niwa.
490
491         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
492         Added include of WKDOMRangePrivate.h.
493
494         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
495         Fixed class name and include to be WKDOMRange.
496         Fixed method name, _copyBundleRangeHandleRef, to match the
497         name in the source file.
498
499 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
500
501         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
502         https://bugs.webkit.org/show_bug.cgi?id=109996
503
504         Reviewed by Simon Fraser.
505
506         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
507         (InitWebCoreSystemInterface):
508
509 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
510
511         Unreviewed, rolling out r143088.
512         http://trac.webkit.org/changeset/143088
513         https://bugs.webkit.org/show_bug.cgi?id=110000
514
515         Breaks the build (Requested by dgorbik on #webkit).
516
517         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
518         (InitWebCoreSystemInterface):
519
520 2013-02-15  Kiran Muppala  <cmuppala@apple.com>
521
522         Disable sudden termination on Mac
523         https://bugs.webkit.org/show_bug.cgi?id=109990
524
525         Reviewed by Mark Rowe.
526
527         Sudden Termination is causing WebContent XPC services to be killed in
528         response to memory pressure.  Hence, disable it until we can identify
529         if it is being enabled in error or not.
530
531         * Shared/mac/ChildProcessMac.mm:
532         (WebKit::ChildProcess::platformInitialize): Add call to
533         [NSProcessInfo disableSuddenTermination].
534
535 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
536
537         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
538         https://bugs.webkit.org/show_bug.cgi?id=109996
539
540         Reviewed by Simon Fraser.
541
542         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
543         (InitWebCoreSystemInterface):
544
545 2013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
546
547         [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
548         https://bugs.webkit.org/show_bug.cgi?id=109216
549
550         Reviewed by Benjamin Poulain.
551
552         Only make calls into DrawingAreaProxy pointer after checking its state.
553
554         When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
555         its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
556         try to access the object to update the geometry and forward this information
557         into the WebProcess. This would create a crash scenario that is fixed by this patch.
558
559         * UIProcess/API/qt/qquickwebview.cpp:
560         (QQuickWebViewPrivate::didRelaunchProcess):
561         (QQuickWebViewLegacyPrivate::updateViewportSize):
562
563 2013-02-15  Anders Carlsson  <andersca@apple.com>
564
565         Add HashMap::isValidKey and HashSet::isValidValue
566         https://bugs.webkit.org/show_bug.cgi?id=109977
567
568         Reviewed by Sam Weinig and Darin Adler.
569
570         Just call HashMap::isValidKey directly.
571
572         * UIProcess/WebProcessProxy.cpp:
573         (WebKit::generatePageID):
574         Initialize the id to 0 and use prefix increment.
575
576         (WebKit::WebProcessProxy::webFrame):
577         (WebKit::WebProcessProxy::canCreateFrame):
578         (WebKit::WebProcessProxy::didDestroyFrame):
579
580 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
581
582         Typo fix after r143064.
583
584         * Platform/CoreIPC/win/ConnectionWin.cpp:
585         (CoreIPC::Connection::sendOutgoingMessage):
586
587 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
588
589         One more buildfix after r143052.
590
591         * Platform/CoreIPC/win/ConnectionWin.cpp:
592         (CoreIPC::Connection::sendOutgoingMessage):
593
594 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
595
596         Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
597
598         * Platform/unix/SharedMemoryUnix.cpp:
599         (WebKit::SharedMemory::Handle::encode):
600         * Platform/win/SharedMemoryWin.cpp:
601         (WebKit::SharedMemory::Handle::encode):
602         * Shared/Network/NetworkResourceLoadParameters.cpp:
603         (WebKit::NetworkResourceLoadParameters::encode):
604         * Shared/WebBatteryStatus.cpp:
605         (WebKit::WebBatteryStatus::Data::encode):
606         * Shared/WebNetworkInfo.cpp:
607         (WebKit::WebNetworkInfo::Data::encode):
608         * Shared/efl/LayerTreeContextEfl.cpp:
609         (WebKit::LayerTreeContext::encode):
610         * Shared/gtk/LayerTreeContextGtk.cpp:
611         (WebKit::LayerTreeContext::encode):
612         * Shared/qt/LayerTreeContextQt.cpp:
613         (WebKit::LayerTreeContext::encode):
614         * Shared/qt/QtNetworkReplyData.cpp:
615         (WebKit::QtNetworkReplyData::encode):
616         * Shared/qt/QtNetworkRequestData.cpp:
617         (WebKit::QtNetworkRequestData::encode):
618         * Shared/soup/PlatformCertificateInfo.cpp:
619         (WebKit::PlatformCertificateInfo::encode):
620
621 2013-02-15  Anders Carlsson  <andersca@apple.com>
622
623         Make most ArgumentEncoder::encode member functions private
624         https://bugs.webkit.org/show_bug.cgi?id=109973
625
626         Reviewed by Sam Weinig.
627
628         Make the encode overloads private; the stream operator should be used instead.
629
630         * Platform/CoreIPC/ArgumentEncoder.h:
631         (ArgumentEncoder):
632         * Platform/CoreIPC/Arguments.h:
633         (CoreIPC::Arguments1::encode):
634         (CoreIPC::Arguments2::encode):
635         (CoreIPC::Arguments3::encode):
636         (CoreIPC::Arguments4::encode):
637         (CoreIPC::Arguments5::encode):
638         (CoreIPC::Arguments6::encode):
639         (CoreIPC::Arguments7::encode):
640         (CoreIPC::Arguments8::encode):
641         (CoreIPC::Arguments10::encode):
642         * Platform/CoreIPC/Connection.cpp:
643         (CoreIPC::Connection::createSyncMessageEncoder):
644         * Platform/CoreIPC/MessageEncoder.cpp:
645         (CoreIPC::MessageEncoder::MessageEncoder):
646         * Scripts/webkit2/messages.py:
647         (generate_message_handler):
648         * Scripts/webkit2/messages_unittest.py:
649         * Shared/Network/NetworkResourceLoadParameters.cpp:
650         (WebKit::NetworkResourceLoadParameters::encode):
651         * WebProcess/WebPage/EncoderAdapter.cpp:
652         (WebKit::EncoderAdapter::EncoderAdapter):
653         (WebKit::EncoderAdapter::encodeBytes):
654         (WebKit::EncoderAdapter::encodeBool):
655         (WebKit::EncoderAdapter::encodeUInt16):
656         (WebKit::EncoderAdapter::encodeUInt32):
657         (WebKit::EncoderAdapter::encodeUInt64):
658         (WebKit::EncoderAdapter::encodeInt32):
659         (WebKit::EncoderAdapter::encodeInt64):
660         (WebKit::EncoderAdapter::encodeFloat):
661         (WebKit::EncoderAdapter::encodeDouble):
662         (WebKit::EncoderAdapter::encodeString):
663
664 2013-02-15  Anders Carlsson  <andersca@apple.com>
665
666         Add a synchronous GetValues message to StorageManager
667         https://bugs.webkit.org/show_bug.cgi?id=109968
668
669         Reviewed by Sam Weinig.
670
671         * Platform/CoreIPC/Connection.cpp:
672         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
673         Handle synchronous messages.
674
675         (CoreIPC::Connection::processIncomingMessage):
676         Check for work queue message receivers before doing any other processing.
677
678         * UIProcess/Storage/StorageManager.cpp:
679         (WebKit::StorageManager::getValues):
680         Add empty stub.
681
682         * UIProcess/Storage/StorageManager.h:
683         * UIProcess/Storage/StorageManager.messages.in:
684         Add GetValues message.
685
686         * WebProcess/Storage/StorageAreaProxy.cpp:
687         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
688         Send the GetValues message.
689
690 2013-02-15  Anders Carlsson  <andersca@apple.com>
691
692         A storage area should know its storage type
693         https://bugs.webkit.org/show_bug.cgi?id=109964
694
695         Reviewed by Andreas Kling.
696
697         * WebProcess/Storage/StorageAreaProxy.cpp:
698         (WebKit::StorageAreaProxy::StorageAreaProxy):
699         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
700         * WebProcess/Storage/StorageAreaProxy.h:
701         (StorageAreaProxy):
702         * WebProcess/Storage/StorageNamespaceProxy.cpp:
703         (WebKit::StorageNamespaceProxy::storageType):
704         (WebKit):
705         * WebProcess/Storage/StorageNamespaceProxy.h:
706         (StorageNamespaceProxy):
707
708 2013-02-15  Anders Carlsson  <andersca@apple.com>
709
710         Implement StorageAreaProxy::length
711         https://bugs.webkit.org/show_bug.cgi?id=109962
712
713         Reviewed by Andreas Kling.
714
715         * WebProcess/Storage/StorageAreaProxy.cpp:
716         (WebKit::StorageAreaProxy::length):
717         Load the values if needed and then return the length.
718
719         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
720         Add helper function.
721
722         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
723         Just allocate the hash map for now.
724
725         * WebProcess/Storage/StorageAreaProxy.h:
726         (StorageAreaProxy):
727
728 2013-02-15  Anders Carlsson  <andersca@apple.com>
729
730         Remove const from a bunch of StorageArea member functions
731         https://bugs.webkit.org/show_bug.cgi?id=109957
732
733         Reviewed by Beth Dakin.
734
735         Update for WebCore changes.
736
737         * WebProcess/Storage/StorageAreaProxy.cpp:
738         (WebKit::StorageAreaProxy::length):
739         (WebKit::StorageAreaProxy::key):
740         (WebKit::StorageAreaProxy::getItem):
741         (WebKit::StorageAreaProxy::contains):
742         (WebKit::StorageAreaProxy::canAccessStorage):
743         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
744         * WebProcess/Storage/StorageAreaProxy.h:
745         (StorageAreaProxy):
746
747 2013-02-15  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
748
749         [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
750         https://bugs.webkit.org/show_bug.cgi?id=107821
751
752         Reviewed by Anders Carlsson.
753
754         BatteryProvider and NetworkInfoProvider should use C API
755         instead of accessing the internal C++ classes directly.
756
757         * UIProcess/API/efl/ewk_context.cpp:
758         (EwkContext::EwkContext):
759         * UIProcess/efl/BatteryProvider.cpp:
760         (BatteryProvider::~BatteryProvider):
761         (BatteryProvider::create):
762         (BatteryProvider::BatteryProvider):
763         (BatteryProvider::didChangeBatteryStatus):
764         * UIProcess/efl/BatteryProvider.h:
765         (BatteryProvider):
766         * UIProcess/efl/NetworkInfoProvider.cpp:
767         (NetworkInfoProvider::create):
768         (NetworkInfoProvider::NetworkInfoProvider):
769         (NetworkInfoProvider::~NetworkInfoProvider):
770         * UIProcess/efl/NetworkInfoProvider.h:
771         (NetworkInfoProvider):
772
773 2013-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
774
775         [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
776         https://bugs.webkit.org/show_bug.cgi?id=109038
777
778         Reviewed by Anders Carlsson.
779
780         EFL API is defensive by its nature and expects graceful handling of wrong function arguments
781         whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
782         which provides handling of wrong arguments, to be used within EFL API layer code.
783
784         * UIProcess/API/efl/EwkView.cpp:
785         (toEwkView):
786
787             EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
788             as it's used within EwkView class only.        
789
790         (EwkView::handleTouchMove):
791         * UIProcess/API/efl/EwkView.h:
792         * UIProcess/API/efl/ewk_view.cpp:
793         (toEwkViewChecked):
794
795 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
796
797         [EFL][WK2] Have WebView subclass PageClient
798         https://bugs.webkit.org/show_bug.cgi?id=109684
799
800         Reviewed by Anders Carlsson.
801
802         Stop constructing the PageClient in EwkView. PageClient is an internal
803         class and we should not use it directly in our Ewk implementation.
804         Instead, have WebView subclass PageClient. The PageClient implementation
805         just calls WebView methods otherwise.
806
807         * PlatformEfl.cmake:
808         * UIProcess/API/efl/EwkView.cpp:
809         (EwkView::EwkView):
810         (EwkView::setSize):
811         * UIProcess/API/efl/EwkView.h:
812         (WebKit):
813         (EwkView):
814         (EwkView::webView):
815         * UIProcess/API/efl/ewk_view.cpp:
816         * UIProcess/efl/PageClientBase.cpp: Removed.
817         * UIProcess/efl/PageClientBase.h: Removed.
818         * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
819         * UIProcess/efl/PageClientDefaultImpl.h: Removed.
820         * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
821         * UIProcess/efl/PageClientLegacyImpl.h: Removed.
822         * UIProcess/efl/PageLoadClientEfl.cpp:
823         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
824         * UIProcess/efl/PageViewportControllerClientEfl.h:
825         * UIProcess/efl/WebPageProxyEfl.cpp:
826         (WebKit::WebPageProxy::viewWidget):
827         * UIProcess/efl/WebView.cpp:
828         (WebKit::WebView::WebView):
829         (WebKit::WebView::~WebView):
830         (WebKit::WebView::initialize):
831         (WebKit):
832         (WebKit::WebView::evasObject):
833         (WebKit::WebView::setThemePath):
834         (WebKit::WebView::setDrawsBackground):
835         (WebKit::WebView::drawsBackground):
836         (WebKit::WebView::setDrawsTransparentBackground):
837         (WebKit::WebView::drawsTransparentBackground):
838         (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
839         (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
840         (WebKit::WebView::didCommitLoad):
841         (WebKit::WebView::updateViewportSize):
842         (WebKit::WebView::didChangeContentsSize):
843         (WebKit::WebView::createDrawingAreaProxy):
844         (WebKit::WebView::setViewNeedsDisplay):
845         (WebKit::WebView::displayView):
846         (WebKit::WebView::scrollView):
847         (WebKit::WebView::viewSize):
848         (WebKit::WebView::isViewWindowActive):
849         (WebKit::WebView::isViewFocused):
850         (WebKit::WebView::isViewVisible):
851         (WebKit::WebView::isViewInWindow):
852         (WebKit::WebView::processDidCrash):
853         (WebKit::WebView::didRelaunchProcess):
854         (WebKit::WebView::pageClosed):
855         (WebKit::WebView::toolTipChanged):
856         (WebKit::WebView::setCursor):
857         (WebKit::WebView::setCursorHiddenUntilMouseMoves):
858         (WebKit::WebView::registerEditCommand):
859         (WebKit::WebView::clearAllEditCommands):
860         (WebKit::WebView::canUndoRedo):
861         (WebKit::WebView::executeUndoRedo):
862         (WebKit::WebView::screenToWindow):
863         (WebKit::WebView::windowToScreen):
864         (WebKit::WebView::doneWithKeyEvent):
865         (WebKit::WebView::doneWithTouchEvent):
866         (WebKit::WebView::createPopupMenuProxy):
867         (WebKit::WebView::createContextMenuProxy):
868         (WebKit::WebView::createColorChooserProxy):
869         (WebKit::WebView::setFindIndicator):
870         (WebKit::WebView::enterAcceleratedCompositingMode):
871         (WebKit::WebView::exitAcceleratedCompositingMode):
872         (WebKit::WebView::updateAcceleratedCompositingMode):
873         (WebKit::WebView::didCommitLoadForMainFrame):
874         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
875         (WebKit::WebView::customRepresentationZoomFactor):
876         (WebKit::WebView::setCustomRepresentationZoomFactor):
877         (WebKit::WebView::flashBackingStoreUpdates):
878         (WebKit::WebView::findStringInCustomRepresentation):
879         (WebKit::WebView::countStringMatchesInCustomRepresentation):
880         (WebKit::WebView::updateTextInputState):
881         (WebKit::WebView::handleDownloadRequest):
882         (WebKit::WebView::convertToDeviceSpace):
883         (WebKit::WebView::convertToUserSpace):
884         (WebKit::WebView::didChangeViewportProperties):
885         (WebKit::WebView::pageDidRequestScroll):
886         (WebKit::WebView::didRenderFrame):
887         (WebKit::WebView::pageTransitionViewportReady):
888         * UIProcess/efl/WebView.h:
889         (WebKit):
890         (WebView):
891         (WebKit::WebView::pageRef):
892         (WebKit::WebView::page):
893         (WebKit::WebView::canScrollView):
894
895 2013-02-15  Milian Wolff  <milian.wolff@kdab.com>
896
897         [Qt] Restore URL Scheme Delegates after QtWebProcess crash
898         https://bugs.webkit.org/show_bug.cgi?id=108808
899
900         When the QtWebProcess crashes, the registered URL Scheme
901         Delegates are not properly restored over IPC in the newly
902         launched process instance.
903
904         Reviewed by Simon Hausmann.
905
906         * UIProcess/API/qt/qquickwebview.cpp:
907         (QQuickWebViewPrivate::didRelaunchProcess):
908         (QQuickWebViewPrivate::updateSchemeDelegates):
909         * UIProcess/API/qt/qquickwebview_p_p.h:
910         (QQuickWebViewPrivate):
911
912 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
913
914         Simplify hitTestResultAtPoint and nodesFromRect APIs
915         https://bugs.webkit.org/show_bug.cgi?id=95720
916
917         Reviewed by Julien Chaffraix and Maciej Stachowiak.
918
919         Update calls to new API and update exported symbols.
920
921         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
922         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
923         * WebProcess/WebPage/WebFrame.cpp:
924         (WebKit::WebFrame::hitTest):
925         * WebProcess/WebPage/WebPage.cpp:
926         (WebKit::handleContextMenuEvent):
927         (WebKit::WebPage::highlightPotentialActivation):
928         (WebKit::WebPage::findZoomableAreaForPoint):
929         * WebProcess/WebPage/mac/WebPageMac.mm:
930         (WebKit::WebPage::characterIndexForPoint):
931         (WebKit::WebPage::performDictionaryLookupAtLocation):
932         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
933         (WebKit::WebPage::acceptsFirstMouse):
934
935 2013-02-14  Huang Dongsung  <luxtella@company100.net>
936
937         [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
938         https://bugs.webkit.org/show_bug.cgi?id=109885
939
940         Reviewed by Simon Fraser.
941
942         Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
943         scrollOffset. So this patch corrects this misnaming.
944
945         In addition, all subclasses of LayerTreeHost don't use the misnamed
946         scrollOffset in scrollNonCompositedContents(), so this patch removes the
947         scrollOffset argument.
948
949         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
950         (WebKit::WebChromeClient::scroll):
951         * WebProcess/WebCoreSupport/WebChromeClient.h:
952         (WebChromeClient):
953         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
954         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
955         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
956         (CoordinatedLayerTreeHost):
957         * WebProcess/WebPage/DrawingArea.h:
958         (DrawingArea):
959         * WebProcess/WebPage/DrawingAreaImpl.cpp:
960         (WebKit::DrawingAreaImpl::scroll):
961         * WebProcess/WebPage/DrawingAreaImpl.h:
962         (DrawingAreaImpl):
963         * WebProcess/WebPage/LayerTreeHost.h:
964         (LayerTreeHost):
965         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
966         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
967         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
968         (LayerTreeHostGtk):
969         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
970         (LayerTreeHostMac):
971         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
972         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
973         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
974         (RemoteLayerTreeDrawingArea):
975         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
976         (WebKit::RemoteLayerTreeDrawingArea::scroll):
977         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
978         (TiledCoreAnimationDrawingArea):
979         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
980         (WebKit::TiledCoreAnimationDrawingArea::scroll):
981
982 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
983
984         <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
985         when running from recovery partition
986
987         Reviewed by Sam Weinig.
988
989         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
990         * WebProcess/com.apple.WebProcess.sb.in:
991         Re-added /private/var/db/mds/system rules lost in r141445.
992
993 2013-02-14  Anders Carlsson  <andersca@apple.com>
994
995         Add WKContextIsPlugInUpdateAvailable
996         https://bugs.webkit.org/show_bug.cgi?id=109862
997         <rdar://problem/13173140>
998
999         Reviewed by Sam Weinig.
1000
1001         * UIProcess/API/C/mac/WKContextPrivateMac.h:
1002         * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
1003         (WKContextGetProcessSuppressionEnabled):
1004         (WKContextSetProcessSuppressionEnabled):
1005         (WKContextIsPlugInUpdateAvailable):
1006         * WebKit2.xcodeproj/project.pbxproj:
1007
1008 2013-02-14  Zan Dobersek  <zdobersek@igalia.com>
1009
1010         [GTK] Errors when building WebKit2 with Clang
1011         https://bugs.webkit.org/show_bug.cgi?id=109603
1012
1013         Reviewed by Alexey Proskuryakov.
1014
1015         * UIProcess/API/gtk/WebKitUIClient.cpp:
1016         (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
1017         * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
1018         * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
1019         RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
1020         * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
1021         The OVERRIDE keywords are thus unnecessary.
1022
1023 2013-02-14  David Kilzer  <ddkilzer@apple.com>
1024
1025         [Mac] Clean up WARNING_CFLAGS
1026         <http://webkit.org/b/109747>
1027         <rdar://problem/13208373>
1028
1029         Reviewed by Mark Rowe.
1030
1031         * Configurations/Base.xcconfig: Use
1032         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
1033         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
1034
1035 2013-02-14  Sam Weinig  <sam@webkit.org>
1036
1037         Add conversions between ObjC and C DOM wrappers
1038         <rdar://problem/13205468>
1039         https://bugs.webkit.org/show_bug.cgi?id=109851
1040
1041         Reviewed by Anders Carlsson.
1042
1043         * WebKit2.xcodeproj/project.pbxproj:
1044         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
1045         (WKBundleRangeHandleCreate):
1046         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
1047         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
1048         (-[WKDOMNode _copyBundleNodeHandleRef]):
1049         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
1050         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
1051         (-[WKDOMRange _copyBundleRangeHandleRef]):
1052         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
1053         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1054         (WebKit::InjectedBundleRangeHandle::getOrCreate):
1055         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
1056         (InjectedBundleRangeHandle):
1057
1058 2013-02-13  Anders Carlsson  <andersca@apple.com>
1059
1060         Remove StringPairVector
1061         https://bugs.webkit.org/show_bug.cgi?id=109778
1062
1063         Reviewed by Ryosuke Niwa.
1064
1065         Our message generation scripts can handle nested template parameter types now,
1066         so we no longer need to use StringPairVector.
1067
1068         * Shared/StringPairVector.h: Removed.
1069         * UIProcess/WebPageProxy.cpp:
1070         (WebKit::WebPageProxy::willSubmitForm):
1071         * UIProcess/WebPageProxy.h:
1072         (WebPageProxy):
1073         * UIProcess/WebPageProxy.messages.in:
1074         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1075         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1076
1077 2013-02-13  Dean Jackson  <dino@apple.com>
1078
1079         PlugIn Autostart should expire in 30 days, not half a day
1080         https://bugs.webkit.org/show_bug.cgi?id=109767
1081
1082         Reviewed by Brian Weinstein.
1083
1084         We forgot to multiply by 60 seconds in a minute.
1085
1086         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1087
1088 2013-02-13  Anders Carlsson  <andersca@apple.com>
1089
1090         Message generation should handle nested templates
1091         https://bugs.webkit.org/show_bug.cgi?id=109771
1092
1093         Reviewed by Ryosuke Niwa.
1094
1095         Make it possible to have nested class template types as message parameters and
1096         correctly gather all the needed headers and argument coder headers.
1097
1098         * Scripts/webkit2/messages.py:
1099         (class_template_headers):
1100         Recursively figure out the types and template headers needed for a given type.
1101
1102         (argument_coder_headers_for_type):
1103         (headers_for_type):
1104         Call class_template_headers.
1105
1106         * Scripts/webkit2/messages_unittest.py:
1107         (CoreIPC):
1108         * Scripts/webkit2/parser.py:
1109         (split_parameters_string):
1110         (parse_parameters_string):
1111
1112 2013-02-13  David Farler  <dfarler@apple.com>
1113
1114         Make WebKit2 Derived Sources work with SDK identifiers too
1115         https://bugs.webkit.org/show_bug.cgi?id=109763
1116
1117         Reviewed by David Kilzer.
1118
1119         * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
1120
1121 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
1122
1123         One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
1124
1125         * WebProcess/WebProcess.cpp:
1126         (WebKit::WebProcess::WebProcess):
1127
1128 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
1129
1130         Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
1131
1132         * WebProcess/WebProcess.h:
1133         (WebKit):
1134
1135 2013-02-13  Adam Barth  <abarth@webkit.org>
1136
1137         Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
1138         https://bugs.webkit.org/show_bug.cgi?id=109733
1139
1140         Reviewed by Sam Weinig.
1141
1142         After http://trac.webkit.org/changeset/142555, this ASSERT is
1143         triggering on these tests:
1144
1145         fast/dom/window-load-crash.html
1146         fast/frames/seamless/seamless-hyperlink-named.html
1147         fast/frames/seamless/seamless-hyperlink.html
1148
1149         The ASSERT appears to be bogus. This patch removes it.
1150
1151         * UIProcess/WebFrameProxy.cpp:
1152         (WebKit::WebFrameProxy::didStartProvisionalLoad):
1153
1154 2013-02-13  Sam Weinig  <sam@webkit.org>
1155
1156         Consolidate main functions in WebKit2 now that they are all identical
1157         https://bugs.webkit.org/show_bug.cgi?id=109748
1158
1159         Reviewed by Anders Carlsson.
1160
1161         - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
1162         - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
1163         - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
1164         - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
1165           matching the XPCService.
1166
1167         * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
1168         * Configurations/BaseXPCService.xcconfig:
1169         * Configurations/NetworkProcess.xcconfig:
1170         * Configurations/OfflineStorageProcess.xcconfig:
1171         * Configurations/PluginProcess.xcconfig:
1172         * Configurations/SharedWorkerProcess.xcconfig:
1173         * Configurations/WebContentProcess.xcconfig: Renamed form  WebProcess.xcconfig.
1174         * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1175         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
1176         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
1177         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
1178         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
1179         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1180         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
1181         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
1182         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
1183         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
1184         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1185         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
1186         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
1187         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
1188         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
1189         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 
1190         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 
1191         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
1192         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
1193         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
1194         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
1195         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
1196         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1197         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1198         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1199         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
1200         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
1201         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1202         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
1203         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
1204         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
1205         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
1206         * WebKit2.xcodeproj/project.pbxproj:
1207
1208 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1209
1210         [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
1211         https://bugs.webkit.org/show_bug.cgi?id=108794
1212
1213         Reviewed by Alexey Proskuryakov.
1214
1215         Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
1216         and ewk_text_checker as it is internal C++ API. WKString and
1217         WKEinaSharedString are used instead.
1218
1219         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
1220         (WKEinaSharedString::leakString): Add leakString() method to
1221         WKEinaSharedString so that we can conveniently convert a WKString to a
1222         Eina shared string and take ownership of it.
1223         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
1224         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1225         (getHostnamesWithCookiesCallback):
1226         * UIProcess/API/efl/ewk_form_submission_request.cpp:
1227         (EwkFormSubmissionRequest::copyFieldValue):
1228         (ewk_form_submission_request_field_names_get):
1229         (ewk_form_submission_request_field_value_get):
1230         * UIProcess/API/efl/ewk_form_submission_request_private.h:
1231         (EwkFormSubmissionRequest):
1232         * UIProcess/API/efl/ewk_text_checker.cpp:
1233         (checkSpellingOfString):
1234         (guessesForWord):
1235         (learnWord):
1236         (ignoreWord):
1237         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
1238         (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
1239
1240 2013-02-13  Anders Carlsson  <andersca@apple.com>
1241
1242         Remove Connection::QueueClient
1243         https://bugs.webkit.org/show_bug.cgi?id=109744
1244
1245         Reviewed by Sam Weinig.
1246
1247         * Platform/CoreIPC/Connection.cpp:
1248         (CoreIPC::Connection::processIncomingMessage):
1249         (CoreIPC::Connection::connectionDidClose):
1250         * Platform/CoreIPC/Connection.h:
1251         (Connection):
1252
1253 2013-02-13  Anders Carlsson  <andersca@apple.com>
1254
1255         Try to fix the Lion build.
1256
1257         * WebProcess/WebPage/EventDispatcher.h:
1258         (EventDispatcher):
1259
1260 2013-02-13  Anders Carlsson  <andersca@apple.com>
1261
1262         Remove support for the DispatchOnConnectionQueue message attribute
1263         https://bugs.webkit.org/show_bug.cgi?id=109743
1264
1265         Reviewed by Sam Weinig.
1266
1267         * Platform/CoreIPC/HandleMessage.h:
1268         (CoreIPC):
1269         * Scripts/webkit2/messages.py:
1270         (handler_function):
1271         (generate_message_handler):
1272         * Scripts/webkit2/messages_unittest.py:
1273
1274 2013-02-13  Anders Carlsson  <andersca@apple.com>
1275
1276         StorageManager should be a WorkQueueMessageReceiver
1277         https://bugs.webkit.org/show_bug.cgi?id=109741
1278
1279         Reviewed by Sam Weinig.
1280
1281         * UIProcess/Storage/StorageManager.cpp:
1282         (WebKit::StorageManager::processWillOpenConnection):
1283         (WebKit::StorageManager::processWillCloseConnection):
1284         (WebKit::StorageManager::createStorageArea):
1285         (WebKit::StorageManager::destroyStorageArea):
1286         * UIProcess/Storage/StorageManager.h:
1287         (StorageManager):
1288         * UIProcess/Storage/StorageManager.messages.in:
1289
1290 2013-02-13  Anders Carlsson  <andersca@apple.com>
1291
1292         EventDispatcher should be a WorkQueueMessageReceiver
1293         https://bugs.webkit.org/show_bug.cgi?id=109736
1294
1295         Reviewed by Andreas Kling.
1296
1297         * WebProcess/WebPage/EventDispatcher.cpp:
1298         (WebKit::EventDispatcher::create):
1299         (WebKit):
1300         (WebKit::EventDispatcher::EventDispatcher):
1301         (WebKit::EventDispatcher::initializeConnection):
1302         (WebKit::EventDispatcher::wheelEvent):
1303         (WebKit::EventDispatcher::gestureEvent):
1304         * WebProcess/WebPage/EventDispatcher.h:
1305         (EventDispatcher):
1306         * WebProcess/WebPage/EventDispatcher.messages.in:
1307         * WebProcess/WebProcess.cpp:
1308         (WebKit::WebProcess::WebProcess):
1309         (WebKit::WebProcess::initializeConnection):
1310         * WebProcess/WebProcess.h:
1311         (WebKit):
1312         (WebKit::WebProcess::eventDispatcher):
1313         (WebProcess):
1314
1315 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1316
1317         Unreviewed build fix after r142768.
1318
1319         r142768 broke the EFL WK2 build due to wrong member initialization
1320         order in the WebProcess constructor initialization list.
1321
1322         * WebProcess/WebProcess.cpp:
1323         (WebKit::WebProcess::WebProcess):
1324
1325 2013-02-13  Anders Carlsson  <andersca@apple.com>
1326
1327         Make PluginProcessConnectionManager a WorkQueueMessageReceiver
1328         https://bugs.webkit.org/show_bug.cgi?id=109727
1329
1330         Reviewed by Andreas Kling.
1331
1332         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1333         (WebKit::PluginProcessConnectionManager::create):
1334         (WebKit):
1335         (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
1336         (WebKit::PluginProcessConnectionManager::initializeConnection):
1337         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
1338         * WebProcess/Plugins/PluginProcessConnectionManager.h:
1339         (PluginProcessConnectionManager):
1340         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
1341         * WebProcess/WebProcess.cpp:
1342         (WebKit::WebProcess::WebProcess):
1343         (WebKit::WebProcess::initializeConnection):
1344         (WebKit::WebProcess::pluginProcessConnectionManager):
1345         * WebProcess/WebProcess.h:
1346         (WebKit):
1347         (WebProcess):
1348
1349 2013-02-13  Anders Carlsson  <andersca@apple.com>
1350
1351         Make SecItemShimProxy be a WorkQueueMessageReceiver
1352         https://bugs.webkit.org/show_bug.cgi?id=109719
1353
1354         Reviewed by Sam Weinig.
1355
1356         This adds a WantsConnection message attribute to be used for messages whose handlers
1357         should take the connection the message was delivered to.
1358         
1359         * Platform/CoreIPC/HandleMessage.h:
1360         (CoreIPC::handleMessage):
1361         Add new handleMessage overload.
1362         
1363         * Scripts/webkit2/messages.py:
1364         (async_message_statement):
1365         (generate_message_handler):
1366         Handle the WantsMessage attribute.
1367
1368         * UIProcess/mac/SecItemShimProxy.cpp:
1369         (WebKit::SecItemShimProxy::shared):
1370         Use dispatch_once and adoptRef.
1371
1372         (WebKit::SecItemShimProxy::SecItemShimProxy):
1373         Initialize the queue.
1374
1375         (WebKit::SecItemShimProxy::initializeConnection):
1376         Add the proxy as a work queue message receiver.
1377
1378         (WebKit::SecItemShimProxy::secItemRequest):
1379         This no longer needs to call out to a dispatch queue, it's already on a queue.
1380
1381         * UIProcess/mac/SecItemShimProxy.messages.in:
1382         This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
1383
1384 2013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1385
1386         Unreviewed, rolling out r142736.
1387         http://trac.webkit.org/changeset/142736
1388         https://bugs.webkit.org/show_bug.cgi?id=109716
1389
1390         Broke ABI, nightly builds crash on launch (Requested by ap on
1391         #webkit).
1392
1393         * Shared/APIClientTraits.cpp:
1394         (WebKit):
1395         * Shared/APIClientTraits.h:
1396         * UIProcess/API/C/WKPage.h:
1397         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1398         (attachLoaderClientToView):
1399         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1400         * WebProcess/qt/QtBuiltinBundlePage.cpp:
1401         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1402
1403 2013-02-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1404
1405         [WK2][EFL] Cleanup of graphics related code in EwkView
1406         https://bugs.webkit.org/show_bug.cgi?id=109377
1407
1408         Reviewed by Anders Carlsson.
1409
1410         * UIProcess/API/efl/EwkView.cpp:
1411         (EwkView::EwkView):
1412
1413             Initialize the evasGL dependencies here and
1414             set m_isAccelerated to false if this fails.
1415
1416             Set the coordinated graphics scene as active
1417             when using fixed layout.
1418
1419         (EwkView::setSize):
1420
1421             Add a method to set the size and user-viewport
1422             transform from the outside. The idea is moving
1423             this to our pure WK C API in the future.
1424
1425         (EwkView::transformFromScene):
1426         (EwkView::transformToScene):
1427
1428             Update the transform methods to use the user-
1429             viewport transform.
1430
1431         (EwkView::paintToCurrentGLContext):
1432         (EwkView::paintToCairoSurface):
1433
1434             Add methods to paint to either the current GL context
1435             or to a given cairo_surface_t (for software fallback
1436             cases).
1437
1438         (EwkView::displayTimerFired):
1439
1440             Clean up and use the two above methods.
1441
1442         (EwkView::scheduleUpdateDisplay):
1443
1444             Use the new size() methods instead of using the 
1445             smart-object data directly.
1446
1447         (EwkView::createGLSurface):
1448
1449             Make this method use size() to query the surface size
1450             and avoid creating the context (done in ctor now).
1451             Also avoid using the smart-object data directly.
1452
1453         (EwkView::enterAcceleratedCompositingMode):
1454         (EwkView::exitAcceleratedCompositingMode):
1455
1456             Turn on/off the use of the coord. graphics scene.
1457
1458         (EwkView::handleEvasObjectCalculate):
1459
1460             Use the new setSize and setUserViewportTransform.
1461
1462         (EwkView::takeSnapshot):
1463         * UIProcess/API/efl/EwkView.h:
1464         (WebCore):
1465         (EwkView):
1466         (EwkView::size):
1467         (EwkView::setUserViewportTransform):
1468         (EwkView::userViewportTransform):
1469
1470             Add the new method definitions and rename isHardwareAccelerated
1471             to isAccelerated which fits better with the naming in WebCore.
1472
1473 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1474
1475         [EFL][WK2] Introduce WKViewClient C API
1476         https://bugs.webkit.org/show_bug.cgi?id=109559
1477
1478         Reviewed by Anders Carlsson.
1479
1480         This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
1481         this new C API is to eventually remove the interdependency between EFL's
1482         PageClient and EwkView. When completed, PageClient should only interact with
1483         WebView and not be aware of EwkView so that we have a clean separation between
1484         internal WebKit2 classes and our EFL Ewk API implementation.
1485
1486         This patch is only a first step towards this goal as there is a lot of work
1487         to do to achieve complete separation between EwkView and PageClient. The purpose
1488         of this patch is to introduce the needed architecture which will later be
1489         extended by introducing new WKViewClient callbacks.
1490
1491         * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
1492         configuration.
1493         * UIProcess/API/C/efl/WKView.cpp:
1494         (WKViewSetViewClient):
1495         * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
1496         * UIProcess/API/efl/EwkView.cpp:
1497         (EwkView::EwkView): Initialize ViewClientEfl.
1498         * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
1499         (WebKit):
1500         (EwkView):
1501         * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
1502         accept a WKSize in parameter instead of an IntRect.
1503         * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
1504         interacting directly with EwkView to avoid violating API layering.
1505         (WebKit::PageClientBase::view):
1506         (WebKit::PageClientBase::setViewNeedsDisplay):
1507         * UIProcess/efl/PageClientBase.h:
1508         (WebKit):
1509         (PageClientBase):
1510         * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
1511         interacting directly with EwkView to avoid violating API layering.
1512         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
1513         * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
1514         interacting directly with EwkView to avoid violating API layering.
1515         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
1516         * UIProcess/efl/ViewClientEfl.cpp:
1517         (WebKit):
1518         (WebKit::ViewClientEfl::toEwkView):
1519         (WebKit::ViewClientEfl::viewNeedsDisplay):
1520         (WebKit::ViewClientEfl::didChangeContentsSize):
1521         (WebKit::ViewClientEfl::ViewClientEfl):
1522         (WebKit::ViewClientEfl::~ViewClientEfl):
1523         * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
1524         and interacts with EwkView.
1525         (WebKit):
1526         (ViewClientEfl):
1527         (WebKit::ViewClientEfl::create):
1528         * UIProcess/efl/WebView.cpp:
1529         (WebKit::WebView::initializeClient):
1530         (WebKit):
1531         (WebKit::WebView::setViewNeedsDisplay):
1532         (WebKit::WebView::didChangeContentsSize):
1533         * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
1534         with it.
1535         (WebView):
1536         * UIProcess/efl/WebViewClient.cpp:
1537         (WebKit):
1538         (WebKit::WebViewClient::viewNeedsDisplay):
1539         (WebKit::WebViewClient::didChangeContentsSize):
1540         * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
1541         (WebCore):
1542         (WebKit):
1543
1544 2013-02-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1545
1546         [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
1547         https://bugs.webkit.org/show_bug.cgi?id=109456
1548
1549         Reviewed by Anders Carlsson.
1550
1551         WebView destructor now considers the situation if its WebPageProxy
1552         instance had been closed from outside the class (explicitly
1553         by client code).
1554
1555         * UIProcess/efl/WebView.cpp:
1556         (WebKit::WebView::~WebView):
1557
1558 2013-02-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1559
1560         [WK2] Remove web intents callbacks
1561         https://bugs.webkit.org/show_bug.cgi?id=109654
1562
1563         Reviewed by Benjamin Poulain.
1564
1565         Web intents was removed by r142549.
1566
1567         * Shared/APIClientTraits.cpp:
1568         (WebKit):
1569         * Shared/APIClientTraits.h:
1570         * UIProcess/API/C/WKPage.h:
1571         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1572         (attachLoaderClientToView):
1573         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1574         * WebProcess/qt/QtBuiltinBundlePage.cpp:
1575         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1576
1577 2013-02-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1578
1579         [WK2] Page reloading will crash UIProcess after WebProcess was killed
1580         https://bugs.webkit.org/show_bug.cgi?id=109305
1581
1582         Reviewed by Benjamin Poulain.
1583
1584         Re-initialize the pointer to a WebInspectorProxy object before calling
1585         initializeWebPage().
1586
1587         When the WebProcess crashes, WebPageProxy::processDidCrash() will
1588         set WebInspectorProxy pointer to null, which later is accessed by
1589         initializeWebPage(). This patch avoids a crash scenario where
1590         calls into a null pointer would be made.
1591
1592         * UIProcess/WebPageProxy.cpp:
1593         (WebKit::WebPageProxy::reattachToWebProcess):
1594
1595 2013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
1596
1597         [iOS] Enable PAGE_VISIBILITY_API
1598         https://bugs.webkit.org/show_bug.cgi?id=109399
1599
1600         Reviewed by David Kilzer.
1601
1602         * Configurations/FeatureDefines.xcconfig:
1603
1604 2013-02-12  Brady Eidson  <beidson@apple.com>
1605
1606         Update a comment in NetworkProcess to be more accurate.
1607
1608         Rubberstamped by Sam Weinig.
1609
1610         * NetworkProcess/NetworkProcess.cpp:
1611         (WebKit::NetworkProcess::didClose):
1612
1613 2013-02-12  Anders Carlsson  <andersca@apple.com>
1614
1615         SecItemShim should be a WorkQueueMessageReceiver
1616         https://bugs.webkit.org/show_bug.cgi?id=109636
1617
1618         Reviewed by Sam Weinig.
1619
1620         * Platform/CoreIPC/Connection.cpp:
1621         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
1622         Add a helper function for dispatching a work queue message receiver message.
1623
1624         (CoreIPC::Connection::processIncomingMessage):
1625         Check if there are any work queue message receivers registered for this message.
1626
1627         * Shared/mac/SecItemShim.cpp:
1628         (WebKit::SecItemShim::shared):
1629         Use dispatch_once instead of the AtomicallyInitializedStatic macro.
1630
1631         (WebKit::SecItemShim::SecItemShim):
1632         Initialize the queue.
1633
1634         (WebKit::SecItemShim::secItemResponse):
1635         Remove the connection parameter.
1636
1637         (WebKit::SecItemShim::initializeConnection):
1638         Register the shim object as a work queue message receiver.
1639
1640         * Shared/mac/SecItemShim.h:
1641         Inherit from WorkQueueMessageReceiver.
1642
1643         * Shared/mac/SecItemShim.messages.in:
1644         Remove LegacyReceiver and DispatchOnConnectionQueue.
1645
1646 2013-02-12  Sam Weinig  <sam@webkit.org>
1647
1648         Make Plug-in XPC services "join existing sessions"
1649         <rdar://problem/13196448>
1650
1651         Reviewed by Mark Rowe.
1652
1653         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
1654         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
1655         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
1656
1657 2013-02-12  Sam Weinig  <sam@webkit.org>
1658
1659         Add skeleton of the OfflineStorageProcess
1660         https://bugs.webkit.org/show_bug.cgi?id=109615
1661
1662         Reviewed by Anders Carlsson.
1663
1664         This adds the skeleton of a new process to contain Database and Local Storage
1665         backends in (hence, offline storage). We're adding a new process, rather than
1666         using the Network or UIProcesses, to allow us to tightly sandbox these activities
1667         away from networking and full filesystem access.
1668
1669         * Configurations/OfflineStorageProcess.xcconfig: Added.
1670         * Configurations/OfflineStorageService.Development.xcconfig: Added.
1671         * Configurations/OfflineStorageService.xcconfig: Added.
1672         * DerivedSources.make:
1673         * OfflineStorageProcess: Added.
1674         * OfflineStorageProcess/EntryPoint: Added.
1675         * OfflineStorageProcess/EntryPoint/mac: Added.
1676         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
1677         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
1678         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
1679         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
1680         * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
1681         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
1682         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
1683         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
1684         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
1685         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
1686         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
1687         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
1688         * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
1689         * OfflineStorageProcess/OfflineStorageProcess.h: Added.
1690         * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
1691         * OfflineStorageProcess/mac: Added.
1692         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
1693         (WebKit::OfflineStorageProcess::initializeProcessName):
1694         (WebKit::OfflineStorageProcess::initializeSandbox):
1695         * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
1696         * Shared/OfflineStorage: Added.
1697         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
1698         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
1699
1700         * Scripts/webkit2/messages.py:
1701         (struct_or_class):
1702         Added OfflineStorageProcessCreationParameters.
1703
1704         * WebKit2.xcodeproj/project.pbxproj:
1705
1706 2013-02-12  Jinwoo Song  <jinwoo7.song@samsung.com>
1707
1708         [EFL][WK2] Fix build warning after r142579
1709         https://bugs.webkit.org/show_bug.cgi?id=109547
1710
1711         Reviewed by Alexey Proskuryakov.
1712
1713         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
1714
1715         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1716         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
1717
1718 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1719
1720         [EFL][WK2] Reenable ewk_auth_request API tests
1721         https://bugs.webkit.org/show_bug.cgi?id=108451
1722
1723         Reviewed by Benjamin Poulain.
1724
1725         ewk_auth_request API tests were temporarily disabled after
1726         the C API for resource loading was removed from WebKit2.
1727         This patches updates the tests so that they no longer rely
1728         on the resource loading events and renables them.
1729
1730         This patch also corrects the naming of the static variables
1731         in the test to follow more closely the WebKit coding style.
1732
1733         * PlatformEfl.cmake:
1734         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
1735         (serverCallback):
1736         (TEST_F):
1737         (onLoadFinished):
1738
1739 2013-02-12  Anders Carlsson  <andersca@apple.com>
1740
1741         Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
1742         https://bugs.webkit.org/show_bug.cgi?id=109612
1743
1744         Reviewed by Andreas Kling.
1745
1746         * Platform/CoreIPC/Connection.cpp:
1747         (CoreIPC::Connection::addWorkQueueMessageReceiver):
1748         (CoreIPC):
1749         (CoreIPC::Connection::removeWorkQueueMessageReceiver):
1750         (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
1751         (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
1752         * Platform/CoreIPC/Connection.h:
1753         (Connection):
1754
1755 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
1756
1757         Typo fix after r142663.
1758
1759         * GNUmakefile.list.am:
1760
1761 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
1762
1763         [WK2] Unreviewed trivial buildfix after r142630 and r142651.
1764
1765         * CMakeLists.txt:
1766         * GNUmakefile.list.am:
1767         * Target.pri:
1768         * UIProcess/Plugins/PluginProcessProxy.cpp:
1769         (WebKit::PluginProcessProxy::didFinishLaunching):
1770         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1771         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1772         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1773         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1774
1775 2013-02-12  Anders Carlsson  <andersca@apple.com>
1776
1777         Change the queue client base class to be private everywhere
1778         https://bugs.webkit.org/show_bug.cgi?id=109604
1779
1780         Reviewed by Andreas Kling.
1781
1782         Move connection queue client registration inside of the respective queue client classes.
1783
1784         Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
1785         ChildProcessProxy::connectionWillOpen instead.
1786         
1787         Finally, assert that queue clients are only being added and removed from the client thread.
1788
1789         * NetworkProcess/NetworkProcess.cpp:
1790         (WebKit::NetworkProcess::initializeConnection):
1791         * Platform/CoreIPC/Connection.cpp:
1792         (CoreIPC::Connection::addQueueClient):
1793         (CoreIPC::Connection::removeQueueClient):
1794         * Shared/mac/SecItemShim.cpp:
1795         (WebKit::SecItemShim::initializeConnection):
1796         (WebKit):
1797         * Shared/mac/SecItemShim.h:
1798         (SecItemShim):
1799         * UIProcess/Network/NetworkProcessProxy.cpp:
1800         (WebKit::NetworkProcessProxy::connectionWillOpen):
1801         (WebKit):
1802         (WebKit::NetworkProcessProxy::connectionWillClose):
1803         (WebKit::NetworkProcessProxy::didFinishLaunching):
1804         * UIProcess/Network/NetworkProcessProxy.h:
1805         (NetworkProcessProxy):
1806         * UIProcess/WebProcessProxy.cpp:
1807         (WebKit::WebProcessProxy::connectionWillOpen):
1808         (WebKit::WebProcessProxy::didFinishLaunching):
1809         * UIProcess/mac/SecItemShimProxy.cpp:
1810         (WebKit::SecItemShimProxy::initializeConnection):
1811         (WebKit):
1812         * UIProcess/mac/SecItemShimProxy.h:
1813         (SecItemShimProxy):
1814         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1815         (WebKit::PluginProcessConnectionManager::initializeConnection):
1816         (WebKit):
1817         * WebProcess/Plugins/PluginProcessConnectionManager.h:
1818         (PluginProcessConnectionManager):
1819         * WebProcess/WebPage/EventDispatcher.cpp:
1820         (WebKit::EventDispatcher::initializeConnection):
1821         (WebKit):
1822         * WebProcess/WebPage/EventDispatcher.h:
1823         (EventDispatcher):
1824         * WebProcess/WebProcess.cpp:
1825         (WebKit::WebProcess::initializeConnection):
1826
1827 2013-02-12  Brady Eidson  <beidson@apple.com>
1828
1829         Add WKContext API to retrieve basic network process statistics
1830         https://bugs.webkit.org/show_bug.cgi?id=109329
1831
1832         Reviewed by Sam Weinig.
1833
1834         This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
1835         certain types of statistics.
1836
1837         It also expands the "get statistics" callback mechanism to allow for a statistics request 
1838         to be answered by multiple child processes.
1839
1840         That mechanism still has some rough edges but will eventually allow for getting statistics
1841         from multiple web processes, as well.
1842
1843         * NetworkProcess/HostRecord.cpp:
1844         (WebKit::HostRecord::pendingRequestCount):
1845         (WebKit::HostRecord::activeLoadCount):
1846         * NetworkProcess/HostRecord.h:
1847
1848         * NetworkProcess/NetworkProcess.cpp:
1849         (WebKit::NetworkProcess::getNetworkProcessStatistics):
1850         * NetworkProcess/NetworkProcess.h:
1851         * NetworkProcess/NetworkProcess.messages.in:
1852
1853         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1854         (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
1855         (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
1856         (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
1857         (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
1858         * NetworkProcess/NetworkResourceLoadScheduler.h:
1859
1860         * Shared/Authentication/AuthenticationManager.h:
1861         (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
1862         * Shared/Downloads/DownloadManager.h:
1863
1864         * UIProcess/API/C/WKContext.cpp:
1865         (WKContextGetStatistics):
1866         (WKContextGetStatisticsWithOptions):
1867         * UIProcess/API/C/WKContext.h:
1868
1869         * UIProcess/StatisticsRequest.cpp: Added.
1870         (WebKit::StatisticsRequest::StatisticsRequest):
1871         (WebKit::StatisticsRequest::~StatisticsRequest):
1872         (WebKit::StatisticsRequest::addOutstandingRequest):
1873         (WebKit::addToDictionaryFromHashMap):
1874         (WebKit::createDictionaryFromHashMap):
1875         (WebKit::StatisticsRequest::completedRequest):
1876         * UIProcess/StatisticsRequest.h: Added.
1877         (WebKit::StatisticsRequest::create):
1878
1879         * UIProcess/WebContext.cpp:
1880         (WebKit::WebContext::networkingProcessConnection):
1881         (WebKit::WebContext::getStatistics):
1882         (WebKit::WebContext::requestWebContentStatistics):
1883         (WebKit::WebContext::requestNetworkingStatistics):
1884         (WebKit::WebContext::didGetStatistics):
1885         * UIProcess/WebContext.h:
1886         * UIProcess/WebContext.messages.in:
1887
1888         * WebProcess/WebProcess.cpp:
1889         (WebKit::WebProcess::getWebCoreStatistics):
1890
1891         * WebKit2.xcodeproj/project.pbxproj:
1892
1893 2013-02-12  Anders Carlsson  <andersca@apple.com>
1894
1895         Build fix.
1896
1897         Add back the files to the Xcode project that were removed in r142580.
1898
1899         * WebKit2.xcodeproj/project.pbxproj:
1900         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1901
1902 2013-02-12  Jessie Berlin  <jberlin@apple.com>
1903
1904         Build fix after r142540 and r142518
1905
1906         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
1907         (WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
1908         This function was added to the header in r142518 but not implemented in that revision.
1909         It wasn't a problem until r142540 started using it.
1910         Add a stub implementation for it.
1911
1912 2013-02-11  Brady Eidson  <beidson@apple.com>
1913
1914         Make PluginProcessProxy a ChildProcessProxy.
1915         https://bugs.webkit.org/show_bug.cgi?id=109513
1916
1917         Reviewed by Anders Carlsson.
1918
1919         * Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
1920         * UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
1921         * UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
1922         * UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy
1923
1924         Rely on ChildProcessProxy for process launcher management and launch options:
1925         * UIProcess/Plugins/PluginProcessProxy.cpp:
1926         (WebKit::PluginProcessProxy::PluginProcessProxy):
1927         (WebKit::PluginProcessProxy::getLaunchOptions):
1928         (WebKit::PluginProcessProxy::getPluginProcessConnection):
1929         (WebKit::PluginProcessProxy::getSitesWithData):
1930         (WebKit::PluginProcessProxy::clearSiteData):
1931         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1932         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1933         (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
1934
1935 2013-02-11  Alexey Proskuryakov  <ap@apple.com>
1936
1937         <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control
1938
1939         Reviewed by Sam Weinig.
1940
1941         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1942
1943 2013-02-11  Huang Dongsung  <luxtella@company100.net>
1944
1945         Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
1946         https://bugs.webkit.org/show_bug.cgi?id=108922
1947
1948         Reviewed by Noam Rosenthal.
1949         Signed off for WebKit2 by Benjamin Poulain.
1950
1951         Currently, CoordinatedGraphicsScene has two methods to know contents
1952         size: setContentsSize() and setVisibleContentsRect(). Contents size is
1953         used when adjusting a scroll position, but adjustment is not needed
1954         because EFL and Qt platform code (currently PageViewportController)
1955         already adjusts a scroll position, and it is natural for each platform
1956         to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
1957         not know contents size.
1958
1959         In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
1960         to get CoordinatedGraphicsScene.
1961
1962         * UIProcess/API/qt/qquickwebpage.cpp:
1963         (QQuickWebPagePrivate::updateSize):
1964         * UIProcess/API/qt/raw/qrawwebview.cpp:
1965         (QRawWebView::setSize):
1966         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1967         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
1968         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1969         (CoordinatedLayerTreeHostProxy):
1970         * UIProcess/efl/PageClientLegacyImpl.cpp:
1971         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
1972         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1973         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
1974
1975 2013-02-11  Huang Dongsung  <luxtella@company100.net>
1976
1977         Coordinated Graphics: remove the DidChangeScrollPosition message.
1978         https://bugs.webkit.org/show_bug.cgi?id=108051
1979
1980         Reviewed by Noam Rosenthal.
1981         Signed off for WebKit2 by Benjamin Poulain.
1982
1983         Currently, we use the DidChangeScrollPosition message to send the scroll
1984         position that WebCore used in this frame to UI Process. We had to have
1985         some member variables for the DidChangeScrollPosition message.
1986         However, we can send a scroll position via the DidRenderFrame message,
1987         because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
1988         updated at the moment of flushing. So we can remove the
1989         DidChangeScrollPosition message and some redundant member variables.
1990
1991         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1992         (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
1993         (WebKit):
1994         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1995         (CoordinatedLayerTreeHostProxy):
1996         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
1997           Remove the DidChangeScrollPosition message.
1998         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1999         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2000         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
2001           Send a scroll position via the DidChangeScrollPosition message.
2002         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
2003           Don't send a scroll position because flushPendingLayerChanges() does
2004           that. In addition, it is weird to check if we must send a scroll
2005           position at the moment of sending the SyncLayerState message of every
2006           layers.
2007         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
2008         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2009
2010 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2011
2012         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
2013         https://bugs.webkit.org/show_bug.cgi?id=109534
2014
2015         Reviewed by Anders Carlsson.
2016
2017         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2018         (WebKit):
2019         * WebProcess/WebCoreSupport/WebEditorClient.h:
2020
2021 2013-02-11  Jae Hyun Park  <jae.park@company100.net>
2022
2023         [EFL] Build fix
2024         https://bugs.webkit.org/show_bug.cgi?id=109518
2025
2026         Reviewed by Laszlo Gombos.
2027
2028         Fix EFL build by including PluginProcessConnectionManager.messages.in in
2029         CMakeLists.txt
2030
2031         * CMakeLists.txt:
2032
2033 2013-02-11  Anders Carlsson  <andersca@apple.com>
2034
2035         Fix build.
2036
2037         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2038         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
2039         * WebProcess/WebProcess.cpp:
2040
2041 2013-02-11  Seulgi Kim  <seulgikim@company100.net>
2042
2043         [GTK] Build fix.
2044         https://bugs.webkit.org/show_bug.cgi?id=109516
2045
2046         Reviewed by Csaba Osztrogonác.
2047
2048         PluginProcessConnectionManagerMessages are omitted from messages list.
2049
2050         * GNUmakefile.list.am:
2051
2052 2013-02-11  Tim Horton  <timothy_horton@apple.com>
2053
2054         [WK2] setMinimumLayoutWidth should bail if there's no WebProcess
2055         https://bugs.webkit.org/show_bug.cgi?id=109512
2056         <rdar://problem/13093627>
2057
2058         Reviewed by Anders Carlsson.
2059
2060         * UIProcess/WebPageProxy.cpp:
2061         (WebKit::WebPageProxy::setMinimumLayoutWidth):
2062
2063 2013-02-11  Anders Carlsson  <andersca@apple.com>
2064
2065         PluginProcessConnectionManager should be a QueueClient
2066         https://bugs.webkit.org/show_bug.cgi?id=109496
2067
2068         Reviewed by Andreas Kling.
2069
2070         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2071         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
2072         (WebKit):
2073         (WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
2074         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2075         (PluginProcessConnectionManager):
2076         * WebProcess/WebProcess.cpp:
2077         (WebKit::WebProcess::initializeConnection):
2078         * WebProcess/WebProcess.h:
2079         (WebProcess):
2080
2081 2013-02-11  Csaba Osztrogonác  <ossy@webkit.org>
2082
2083         Unreviewed WK2 buildfix after r142518.
2084
2085         * DerivedSources.pri:
2086
2087 2013-02-11  Gavin Barraclough  <barraclough@apple.com>
2088
2089         PluginProcess should quit immediately if idle in response to low-memory notifications
2090         https://bugs.webkit.org/show_bug.cgi?id=109103
2091         <rdar://problem/12679827>
2092
2093         Reviewed by Brady Eidson.
2094
2095         PluginProcess now installs a MemoryPressureHandler for the process, providing
2096         a custom callback which will call terminate if appropriate (if the plugin is not
2097         currently in use).
2098
2099         * PluginProcess/PluginProcess.cpp:
2100         (WebKit::PluginProcess::lowMemoryHandler):
2101             - Custom callback to terminate if appropriate.
2102         (WebKit::PluginProcess::initializeProcess):
2103             - Install the MemoryPressureHandler.
2104         (WebKit::PluginProcess::shouldTerminate):
2105             - This method now also needs to be callable in situations where it might return false.
2106         * PluginProcess/PluginProcess.h:
2107         (PluginProcess):
2108             - Added declaration for lowMemoryHandler.
2109
2110 2013-02-11  Anders Carlsson  <andersca@apple.com>
2111
2112         Move the PluginProcessCrashed message to PluginProcessConnectionManager
2113         https://bugs.webkit.org/show_bug.cgi?id=109493
2114
2115         Reviewed by Andreas Kling.
2116
2117         This is in preparation for making PluginProcessConnectionManager a connection queue client.
2118
2119         * DerivedSources.make:
2120         * UIProcess/Plugins/PluginProcessProxy.cpp:
2121         (WebKit::PluginProcessProxy::didClose):
2122         * WebKit2.xcodeproj/project.pbxproj:
2123         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2124         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2125         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2126         (PluginProcessConnectionManager):
2127         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
2128         * WebProcess/WebProcess.cpp:
2129         (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
2130         (WebKit::WebProcess::webResourceLoadScheduler):
2131         * WebProcess/WebProcess.h:
2132         (WebProcess):
2133         * WebProcess/WebProcess.messages.in:
2134
2135 2013-02-11  Benjamin Poulain  <benjamin@webkit.org>
2136
2137         Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
2138         https://bugs.webkit.org/show_bug.cgi?id=109349
2139
2140         Reviewed by Sam Weinig.
2141
2142         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2143         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2144         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2145         * WebProcess/InjectedBundle/InjectedBundle.h:
2146         (InjectedBundle):
2147
2148 2013-02-11  Dean Jackson  <dino@apple.com>
2149
2150         Snapshotted plug-in should use shadow root
2151         https://bugs.webkit.org/show_bug.cgi?id=108284
2152
2153         Reviewed by Simon Fraser.
2154
2155         Take three of this commit - after rollout in r142400 and r142405.
2156         We no longer have any need for plugInStartLabelImage.
2157
2158         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2159         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2160         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2161         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2162
2163 2013-02-11  Anders Carlsson  <andersca@apple.com>
2164
2165         The plug-in process connection manager doesn't need to be heap allocated
2166         https://bugs.webkit.org/show_bug.cgi?id=109479
2167
2168         Reviewed by Andreas Kling.
2169
2170         * WebProcess/WebProcess.cpp:
2171         (WebKit::WebProcess::WebProcess):
2172         (WebKit::WebProcess::pluginProcessConnectionManager):
2173         (WebKit::WebProcess::pluginProcessCrashed):
2174         * WebProcess/WebProcess.h:
2175         (WebKit):
2176         (WebProcess):
2177
2178 2013-02-11  Tony Chang  <tony@chromium.org>
2179
2180         Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
2181         https://bugs.webkit.org/show_bug.cgi?id=87149
2182
2183         Reviewed by Simon Fraser.
2184
2185         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2186         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.
2187
2188 2013-02-11  Claudio Saavedra  <csaavedra@igalia.com>
2189
2190         [WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
2191         https://bugs.webkit.org/show_bug.cgi?id=108459
2192
2193         Reviewed by Alexey Proskuryakov.
2194
2195         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
2196         (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
2197         Providers might return 0 and we will end up with a null-pointer dereference.
2198         Early check against this.
2199
2200 2013-02-10  Sam Weinig  <sam@webkit.org>
2201
2202         Make the Plug-in XPCService build work even when building in Xcode
2203         <rdar://problem/13011186>
2204         https://bugs.webkit.org/show_bug.cgi?id=109392
2205
2206         Reviewed by Anders Carlsson.
2207
2208         * Configurations/DebugRelease.xcconfig:
2209         Add a DEBUG_OR_RELEASE variable to test against.
2210         * Configurations/PluginService.32.xcconfig:
2211         * Configurations/PluginService.64.xcconfig:
2212         In non-production builds, don't link against WebKit2, so that we don't get warnings about WebKit2.framework
2213         not containing the right architectures. This is ok, as these services are not used in non-production builds.
2214
2215         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
2216         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
2217         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2218         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
2219         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
2220         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
2221         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
2222         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
2223         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
2224         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
2225         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
2226         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
2227         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
2228         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
2229         Switch off the the old idiom of defining a macro for the initializer function, and instead set
2230         it in the Info.plist, so the XPCServiceBootstrapper can grab it.
2231
2232         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
2233         (WebKit::XPCServiceEventHandler):
2234         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
2235         (WebKit::XPCServiceEventHandler):
2236         Get the entry point from the bundle, rather than the macro. This is not only a bit less gross,
2237         but also allows us to build without having linked against WebKit2.framework.
2238
2239         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2240         (WebKit::shouldUseXPC):
2241         Re-enable using XPC for plug-ins.
2242
2243         * WebKit2.xcodeproj/project.pbxproj:
2244         Update project.
2245
2246 2013-02-10  Anders Carlsson  <andersca@apple.com>
2247
2248         Add back code that was accidentally removed when moving plug-in enumeration back to the main thread
2249         https://bugs.webkit.org/show_bug.cgi?id=109379
2250
2251         Reviewed by Andreas Kling.
2252
2253         * UIProcess/WebProcessProxy.cpp:
2254         (WebKit::WebProcessProxy::getPlugins):
2255
2256 2013-02-10  Kent Tamura  <tkent@chromium.org>
2257
2258         Unreviewed, rolling out r142347.
2259         http://trac.webkit.org/changeset/142347
2260         https://bugs.webkit.org/show_bug.cgi?id=108273
2261
2262         Because a depending change r142343 was rolled out.
2263
2264         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2265         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2266         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
2267         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
2268
2269 2013-02-10  Kent Tamura  <tkent@chromium.org>
2270
2271         Unreviewed, rolling out r142343.
2272         http://trac.webkit.org/changeset/142343
2273         https://bugs.webkit.org/show_bug.cgi?id=108284
2274
2275         It might make inspector/profiler/selector-profiler-url.html
2276         crashy.
2277
2278         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2279         (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage):
2280         (WebKit):
2281         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2282         (InjectedBundlePageUIClient):
2283         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2284         (WebKit::WebChromeClient::plugInStartLabelImage):
2285         (WebKit):
2286         * WebProcess/WebCoreSupport/WebChromeClient.h:
2287         (WebChromeClient):
2288
2289 2013-02-10  Zan Dobersek  <zdobersek@igalia.com>
2290
2291         [WebKit2][Gtk] Remove the fullscreen manager proxy message receiver upon invalidating
2292         https://bugs.webkit.org/show_bug.cgi?id=109352
2293
2294         Reviewed by Sam Weinig.
2295
2296         As added for the Mac port in r142160 due to the changes in the same revision, remove
2297         the fullscreen manager proxy as a message receiver. Also fixes a failing unit test.
2298
2299         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
2300         (WebKit::WebFullScreenManagerProxy::invalidate):
2301
2302 2013-02-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2303
2304         [WK2] Fix build on PLUGIN_ARCHITECTURE(UNSUPPORTED) after r142314
2305         https://bugs.webkit.org/show_bug.cgi?id=109364
2306
2307         Reviewed by Simon Hausmann.
2308
2309         void NetscapePlugin::platformPreInitialize() is need to be added to NetscapePluginNone.cpp.
2310
2311         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
2312         (WebKit::NetscapePlugin::platformPreInitialize):
2313         (WebKit):
2314
2315 2013-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2316
2317         Unreviewed, rolling out r137328.
2318         http://trac.webkit.org/changeset/137328
2319         https://bugs.webkit.org/show_bug.cgi?id=109367
2320
2321         causes memory usage to balloon if connection queue is filling
2322         faster than sending (Requested by kling on #webkit).
2323
2324         * Platform/CoreIPC/ArgumentEncoder.cpp:
2325         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
2326         (CoreIPC::ArgumentEncoder::grow):
2327         * Platform/CoreIPC/ArgumentEncoder.h:
2328         (CoreIPC::ArgumentEncoder::buffer):
2329         (ArgumentEncoder):
2330
2331 2013-02-08  Sam Weinig  <sam@webkit.org>
2332
2333         Fix ASSERT when the Web Content Process crashes
2334         https://bugs.webkit.org/show_bug.cgi?id=109346
2335
2336         Reviewed by Simon Fraser.
2337
2338         * UIProcess/WebPageProxy.cpp:
2339         (WebKit::WebPageProxy::processDidCrash):
2340         We need to remove ourselves as a message receiver before calling out to the client, as
2341         the client might want to re-add us (as Safari does).
2342
2343 2013-02-08  Benjamin Poulain  <bpoulain@apple.com>
2344
2345         Move workerThreadCount from TestRunner to WebCore Internals
2346         https://bugs.webkit.org/show_bug.cgi?id=109239
2347
2348         Reviewed by Darin Adler.
2349
2350         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2351         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2352         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2353         * WebProcess/InjectedBundle/InjectedBundle.h:
2354         (InjectedBundle):
2355         * WebProcess/WebPage/WebFrame.cpp: Remove a useless #include.
2356
2357 2013-02-08  Dean Jackson  <dino@apple.com>
2358
2359         Remove use of plugInStartLabelImage
2360         https://bugs.webkit.org/show_bug.cgi?id=108273
2361
2362         Reviewed by Simon Fraser.
2363
2364         Remove any use of plugInStartLabelImage. While there, implement plugInStartLabelTitle
2365         and plugInStartLabelSubtitle to return the values from the client.
2366         implement them.
2367
2368         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Remove callback and entry from client structure.
2369         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2370         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): Ask the client bundle for value.
2371         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): Ditto.
2372
2373 2013-02-08  Dean Jackson  <dino@apple.com>
2374
2375         Snapshotted plug-in should use shadow root
2376         https://bugs.webkit.org/show_bug.cgi?id=108284
2377
2378         Reviewed by Simon Fraser.
2379
2380         Take two of this commit! We no longer have any need for plugInStartLabelImage.
2381
2382         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2383         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2384         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2385         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2386
2387 2013-02-08  Dean Jackson  <dino@apple.com>
2388
2389         Rolling out r142333 and r142337 which broke Mac Release builds.
2390
2391 2013-02-08  Anders Carlsson  <andersca@apple.com>
2392
2393         Move plug-in enumeration back to the main thread
2394         https://bugs.webkit.org/show_bug.cgi?id=109337
2395         <rdar://problem/12015046>
2396
2397         Reviewed by Andreas Kling.
2398
2399         Plug-in enumeration was moved to a separate work queue to improve responsiveness, but
2400         doing so lead to crashes when WebKit1 would enumerate plug-ins on the main thread at the same time.
2401         Bug <rdar://problem/13185819> tracks fixing the responsiveness issue by spawning a plug-in process
2402         and have it do the enumeration.
2403
2404         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2405         (WebKit::getPluginInfoFromCarbonResources):
2406         * UIProcess/WebProcessProxy.cpp:
2407         (WebKit::WebProcessProxy::connectionWillOpen):
2408         (WebKit::WebProcessProxy::connectionWillClose):
2409         (WebKit::WebProcessProxy::getPlugins):
2410         * UIProcess/WebProcessProxy.h:
2411         (WebCore):
2412         (WebProcessProxy):
2413         * UIProcess/WebProcessProxy.messages.in:
2414         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2415         (WebKit):
2416         (WebKit::WebPlatformStrategies::populatePluginCache):
2417         * WebProcess/WebProcess.cpp:
2418         * WebProcess/WebProcess.h:
2419         (WebProcess):
2420         * WebProcess/WebProcess.messages.in:
2421
2422 2013-02-08  Dean Jackson  <dino@apple.com>
2423
2424         Snapshotted plug-in should use shadow root
2425         https://bugs.webkit.org/show_bug.cgi?id=108284
2426
2427         Reviewed by Simon Fraser.
2428
2429         We no longer have any need for plugInStartLabelImage.
2430
2431         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
2432         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
2433         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
2434         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
2435
2436 2013-02-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2437
2438         [WK2] Fix the build on !Mac after r142314.
2439         https://bugs.webkit.org/show_bug.cgi?id=109327
2440
2441         Reviewed by Benjamin Poulain.
2442
2443         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2444         (WebKit::NetscapePlugin::platformPreInitialize): Add a stub for
2445         the newly-added function.
2446
2447         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2448         (WebKit::NetscapePlugin::platformPreInitialize):
2449         (WebKit):
2450
2451 2013-02-07  Anders Carlsson  <andersca@apple.com>
2452
2453         Work around a bug in Flash where NSException objects can be released too early
2454         https://bugs.webkit.org/show_bug.cgi?id=109242
2455         <rdar://problem/13003470>
2456
2457         Reviewed by Darin Adler.
2458
2459         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2460         (WebKit::NetscapePluginModule::determineQuirks):
2461         Set the new plug-in quirk.
2462
2463         * Shared/Plugins/PluginQuirks.h:
2464         Add a new plug-in quirk.
2465
2466         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2467         (WebKit::NetscapePlugin::initialize):
2468         Call platformPreInitialize.
2469
2470         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2471         (NetscapePlugin):
2472         Add platformPreInitialize.
2473
2474         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2475         (WebKit::NSException_release):
2476         Add new empty function.
2477
2478         (WebKit::NetscapePlugin::platformPreInitialize):
2479         Patch -[NSException release] to be a no-op.
2480
2481 2013-02-08  Dean Jackson  <dino@apple.com>
2482
2483         Do not register autostart for plugins from file:// (or nowhere)
2484         https://bugs.webkit.org/show_bug.cgi?id=108271
2485
2486         Reviewed by Tim Horton.
2487
2488         If the pageOrigin is the empty string don't add
2489         it to the auto-start origin list for snapshotting.
2490
2491         * WebProcess/WebProcess.cpp:
2492         (WebKit::WebProcess::addPlugInAutoStartOrigin):
2493
2494 2013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2495
2496         Unreviewed, rolling out r142212.
2497         http://trac.webkit.org/changeset/142212
2498         https://bugs.webkit.org/show_bug.cgi?id=109255
2499
2500         Causes ASSERT(!m_installed) on launch (Requested by smfr on
2501         #webkit).
2502
2503         * PluginProcess/PluginProcess.cpp:
2504         (WebKit::PluginProcess::initializeProcess):
2505         (WebKit::PluginProcess::shouldTerminate):
2506         * PluginProcess/PluginProcess.h:
2507         (PluginProcess):
2508         * WebProcess/WebProcess.cpp:
2509         (WebKit::WebProcess::initializeWebProcess):
2510
2511 2013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2512
2513         [EFL][WK2] Remove dead code after r142169
2514         https://bugs.webkit.org/show_bug.cgi?id=109251
2515
2516         Reviewed by Benjamin Poulain.
2517
2518         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2519         (WebKit::WebChromeClient::contentsSizeChanged):
2520
2521 2013-02-06  Gavin Barraclough  <barraclough@apple.com>
2522
2523         PluginProcess should quit immediately if idle in response to low-memory notifications
2524         https://bugs.webkit.org/show_bug.cgi?id=109103
2525         <rdar://problem/12679827>
2526
2527         Reviewed by Darin Adler.
2528
2529         PluginProcess now initializes a MemoryPressureHandler for the process, providing
2530         a custom callback which will call terminate if appropriate (if the plugin is not
2531         currently in use).
2532
2533         * PluginProcess/PluginProcess.cpp:
2534         (WebKit::PluginProcess::lowMemoryHandler):
2535             - Custom callback to terminate if appropriate.
2536         (WebKit::PluginProcess::initializeProcess):
2537             - Initialize the MemoryPressureHandler.
2538         (WebKit::PluginProcess::shouldTerminate):
2539             - This method now also needs to be callable in situations where it might return false.
2540         * PluginProcess/PluginProcess.h:
2541         (PluginProcess):
2542             - Added declaration for lowMemoryHandler.
2543         * WebProcess/WebProcess.cpp:
2544         (WebKit::WebProcess::initializeWebProcess):
2545             - MemoryPressureHandler::install is now called via MemoryPressureHandler::initialize.
2546
2547 2013-02-07  KwangYong Choi  <ky0.choi@samsung.com>
2548
2549         Fix build warning after r142017
2550         https://bugs.webkit.org/show_bug.cgi?id=109119
2551
2552         Reviewed by Alexey Proskuryakov.
2553
2554         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
2555
2556         * UIProcess/WebPageProxy.cpp:
2557         (WebKit::WebPageProxy::getPluginPath):
2558
2559 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
2560
2561         [GTK] Cleanup command-line defines
2562         https://bugs.webkit.org/show_bug.cgi?id=109213
2563
2564         Reviewed by Xan Lopez.
2565
2566         * GNUmakefile.am:  Remove references to flags that are now
2567         provided by autotoolsconfig.h.
2568
2569 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
2570
2571         Move pauseAnimation/pauseTransition from TestRunner to Internals
2572         https://bugs.webkit.org/show_bug.cgi?id=109107
2573
2574         Reviewed by Anders Carlsson.
2575
2576         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2577         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
2578         * WebProcess/WebPage/WebFrame.cpp:
2579         * WebProcess/WebPage/WebFrame.h:
2580         (WebFrame):
2581
2582 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2583
2584         [WK2][EFL] Removal of non coordinated graphics code path from WK2 EFL
2585         https://bugs.webkit.org/show_bug.cgi?id=109165
2586
2587         Reviewed by Anders Carlsson.
2588
2589         Removed non coordinated graphics code path from WK2 EFL as it was not used by
2590         anyone and caused a lot of preprocessor macros in the code making it less readable.
2591
2592         * UIProcess/API/efl/EvasGLContext.cpp:
2593         * UIProcess/API/efl/EvasGLContext.h:
2594         (WebKit::EvasGLContext::context):
2595         * UIProcess/API/efl/EvasGLSurface.cpp:
2596         * UIProcess/API/efl/EvasGLSurface.h:
2597         (WebKit::EvasGLSurface::surface):
2598
2599             Removed also 'inline' and 'const' keywords from functions declaration,
2600             as both EvasGLContext::context() and EvasGLSurface::surface()
2601             are defined inside their classes and return mutable pointer.
2602
2603         * UIProcess/API/efl/EwkView.cpp:
2604         (EwkView::EwkView):
2605         (EwkView::transformFromScene):
2606         (EwkView::transformToScreen):
2607         (EwkView::coordinatedGraphicsScene):
2608         (EwkView::displayTimerFired):
2609         (EwkView::scheduleUpdateDisplay): Renamed from EwkView::update().
2610         (EwkView::exitAcceleratedCompositingMode):
2611         (EwkView::handleEvasObjectCalculate):
2612         (EwkView::takeSnapshot):
2613         * UIProcess/API/efl/EwkView.h:
2614         (WebCore):
2615         (EwkView):
2616         * UIProcess/API/efl/SnapshotImageGL.cpp:
2617         (getImageSurfaceFromFrameBuffer):
2618         * UIProcess/API/efl/SnapshotImageGL.h:
2619         * UIProcess/API/efl/ewk_view.cpp:
2620         * UIProcess/efl/PageClientBase.cpp:
2621         (WebKit::PageClientBase::setViewNeedsDisplay):
2622         (WebKit::PageClientBase::updateAcceleratedCompositingMode):
2623         * UIProcess/efl/PageClientBase.h:
2624         (PageClientBase):
2625         * UIProcess/efl/PageClientDefaultImpl.cpp:
2626         (WebKit::PageClientDefaultImpl::didCommitLoad):
2627         (WebKit::PageClientDefaultImpl::updateViewportSize):
2628         (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
2629         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
2630         (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
2631         * UIProcess/efl/PageClientDefaultImpl.h:
2632         (PageClientDefaultImpl):
2633         * UIProcess/efl/PageClientLegacyImpl.cpp:
2634         (WebKit::PageClientLegacyImpl::didCommitLoad):
2635         (WebKit::PageClientLegacyImpl::updateViewportSize):
2636         (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
2637         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2638         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
2639         (WebKit::PageClientLegacyImpl::didRenderFrame):
2640         (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
2641         * UIProcess/efl/PageClientLegacyImpl.h:
2642         (PageClientLegacyImpl):
2643         * UIProcess/efl/PageLoadClientEfl.cpp:
2644         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2645         (WebKit::PageLoadClientEfl::PageLoadClientEfl):
2646         * UIProcess/efl/PageLoadClientEfl.h:
2647         (PageLoadClientEfl):
2648         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2649         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2650         (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
2651         * UIProcess/efl/PageViewportControllerClientEfl.h:
2652         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2653         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2654         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2655         (WebKit::WebChromeClient::contentsSizeChanged):
2656
2657 2013-02-06  Sam Weinig  <sam@webkit.org>
2658
2659         Make WebPageProxy and sub-objects MessageReceivers
2660         https://bugs.webkit.org/show_bug.cgi?id=108785
2661
2662         Reviewed by Anders Carlsson.
2663
2664         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
2665         (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
2666         (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
2667         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2668         (CoordinatedLayerTreeHostProxy):
2669         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
2670         * UIProcess/DrawingAreaProxy.cpp:
2671         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
2672         (WebKit::DrawingAreaProxy::~DrawingAreaProxy):
2673         (WebKit::DrawingAreaProxy::contentsRect):
2674         * UIProcess/DrawingAreaProxy.h:
2675         (WebKit::DrawingAreaProxy::setVisibleContentsRect):
2676         * UIProcess/DrawingAreaProxy.messages.in:
2677         * UIProcess/DrawingAreaProxyImpl.cpp:
2678         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
2679         * UIProcess/DrawingAreaProxyImpl.h:
2680         * UIProcess/WebFullScreenManagerProxy.cpp:
2681         (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
2682         * UIProcess/WebFullScreenManagerProxy.h:
2683         (WebFullScreenManagerProxy):
2684         * UIProcess/WebFullScreenManagerProxy.messages.in:
2685         * UIProcess/WebInspectorProxy.cpp:
2686         (WebKit::WebInspectorProxy::WebInspectorProxy):
2687         (WebKit::WebInspectorProxy::invalidate):
2688         * UIProcess/WebInspectorProxy.h:
2689         * UIProcess/WebInspectorProxy.messages.in:
2690         * UIProcess/WebPageProxy.cpp:
2691         (WebKit::WebPageProxy::WebPageProxy):
2692         (WebKit::WebPageProxy::reattachToWebProcess):
2693         (WebKit::WebPageProxy::close):
2694         (WebKit::WebPageProxy::inspector):
2695         (WebKit::WebPageProxy::fullScreenManager):
2696         (WebKit::WebPageProxy::processDidCrash):
2697         * UIProcess/WebPageProxy.h:
2698         * UIProcess/WebPageProxy.messages.in:
2699         * UIProcess/WebProcessProxy.cpp:
2700         (WebKit::WebProcessProxy::didReceiveMessage):
2701         (WebKit::WebProcessProxy::didReceiveSyncMessage):
2702         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
2703         (WebKit::WebFullScreenManagerProxy::invalidate):
2704
2705 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
2706
2707         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
2708         https://bugs.webkit.org/show_bug.cgi?id=109198
2709
2710         Reviewed by Martin Robinson.
2711
2712         * GNUmakefile.am: Remove the FARSTREAM_(CFLAGS|LIBS) variables, they're
2713         not set to anything.
2714
2715 2013-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2716
2717         [WK2][EFL] Add WKView methods related to background drawing
2718         https://bugs.webkit.org/show_bug.cgi?id=109159
2719
2720         Reviewed by Anders Carlsson.
2721
2722         * UIProcess/API/C/efl/WKView.cpp:
2723         (WKViewSetDrawsBackground):
2724         (WKViewGetDrawsBackground):
2725         (WKViewSetDrawsTransparentBackground):
2726         (WKViewGetDrawsTransparentBackground):
2727          * UIProcess/efl/WebView.cpp:
2728         (WebKit::WebView::setDrawsBackground):
2729         (WebKit):
2730         (WebKit::WebView::drawsBackground):
2731         (WebKit::WebView::setDrawsTransparentBackground):
2732         (WebKit::WebView::drawsTransparentBackground):
2733         * UIProcess/efl/WebView.h:
2734         (WebView):
2735        * UIProcess/API/C/efl/WKView.h:
2736
2737             New methods added
2738
2739         * UIProcess/API/efl/EwkView.cpp:
2740         (EwkView::EwkView):
2741         (EwkView::displayTimerFired):
2742         (EwkView::handleEvasObjectColorSet):
2743         * UIProcess/API/efl/EwkView.h:
2744         (EwkView):
2745         * UIProcess/API/efl/ewk_view.cpp:
2746         (ewk_view_draws_page_background_set):
2747
2748             Remove the unneeded m_setDrawsBackground and replace
2749             it with the WKView setting.
2750
2751 2013-02-07  Christophe Dumez  <dchris@gmail.com>
2752
2753         [EFL][WK2] EWK2UnitTestBase.ewk_view_page_contents_get API test is sometimes failing
2754         https://bugs.webkit.org/show_bug.cgi?id=108634
2755
2756         Reviewed by Alexey Proskuryakov.
2757
2758         Use more robust data validation in EWK2UnitTestBase.ewk_view_page_contents_get
2759         so that the test passes consistently. The issue was that the header before the
2760         data includes the current date. Depending on the date, the data may start at a
2761         different index in the returned string. Instead of hardcoding the data start
2762         index in the test, we now use String::contains().
2763
2764         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2765         (PageContentsCallback):
2766         (TEST_F):
2767
2768 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2769
2770         Unreviewed, rolling out r142141.
2771         http://trac.webkit.org/changeset/142141
2772         https://bugs.webkit.org/show_bug.cgi?id=108990
2773
2774         Reland r142112, will update Chromium expectations and create a
2775         Chromium bug instead for the crash.
2776
2777         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2778         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2779         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2780         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2781
2782 2013-02-07  Gavin Peters  <gavinp@chromium.org>
2783
2784         Unreviewed, rolling out r142112.
2785         http://trac.webkit.org/changeset/142112
2786         https://bugs.webkit.org/show_bug.cgi?id=108990
2787
2788         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
2789
2790         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
2791
2792         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2793         (WebKit::updateOffsetFromViewportForSelf):
2794         (WebKit):
2795         (WebKit::updateOffsetFromViewportForLayer):
2796         (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
2797         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2798         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2799         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
2800
2801 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2802
2803         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
2804         https://bugs.webkit.org/show_bug.cgi?id=108990
2805
2806         Reviewed by Noam Rosenthal.
2807         Signed off for WebKit2 by Simon Fraser.
2808
2809         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
2810         don't need to traverse the tree every frame to get this information.
2811
2812         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: remove
2813         syncFixedLayers() and its helper functions. Those were used to identify the fixed layers
2814         and are not needed anymore.
2815         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2816         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2817         (WebKit::DrawingAreaImpl::DrawingAreaImpl): enable the scrolling coordinator usage for
2818         Coordinated Graphics.
2819
2820 2013-02-07  Michael Brüning  <michael.bruning@digia.com>
2821
2822         [Qt][WK2] Fold QtWebPageLoadClient into QQuickWebViewPrivate and move to C API.
2823         https://bugs.webkit.org/show_bug.cgi?id=108473
2824
2825         Reviewed by Simon Hausmann.
2826         Signed off for WebKit2 by Benjamin Poulain.
2827
2828         This patch removes the QtWebPageLoadClient and moves the functionality into the
2829         QQuickWebViewPrivate as most callback methods are calling the private webview
2830         indirectly anyway.
2831
2832         The patch also moves as much of the functionality to the C API as is possible with
2833         the current C API.
2834
2835         * Target.pri:
2836         * UIProcess/API/qt/qquickwebview.cpp:
2837         (QQuickWebViewPrivate::initialize):
2838         (QQuickWebViewPrivate::didStartProvisionalLoadForFrame):
2839         (QQuickWebViewPrivate::didReceiveServerRedirectForProvisionalLoadForFrame):
2840         (QQuickWebViewPrivate::didFailLoad):
2841         (QQuickWebViewPrivate::didCommitLoadForFrame):
2842         (QQuickWebViewPrivate::didFinishLoadForFrame):
2843         (QQuickWebViewPrivate::didSameDocumentNavigationForFrame):
2844         (QQuickWebViewPrivate::didReceiveTitleForFrame):
2845         (QQuickWebViewPrivate::didStartProgress):
2846         (QQuickWebViewPrivate::didChangeProgress):
2847         (QQuickWebViewPrivate::didFinishProgress):
2848         (QQuickWebViewPrivate::didChangeBackForwardList):
2849         (QQuickWebViewPrivate::setTransparentBackground):
2850         (QQuickWebViewPrivate::transparentBackground):
2851         (QQuickWebViewPrivate::loadProgressDidChange):
2852         * UIProcess/API/qt/qquickwebview_p.h:
2853         (WebKit):
2854         * UIProcess/API/qt/qquickwebview_p_p.h:
2855         (WebKit):
2856         (QQuickWebViewPrivate):
2857         * UIProcess/qt/QtWebError.cpp:
2858         (WebKit::QtWebError::url):
2859         * UIProcess/qt/QtWebPageLoadClient.cpp: Removed.
2860         * UIProcess/qt/QtWebPageLoadClient.h: Removed.
2861
2862 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2863
2864         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
2865         https://bugs.webkit.org/show_bug.cgi?id=97173
2866
2867         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
2868
2869         Initialize and shutdown the EFL libraries in the ewk_main.cpp for
2870         UIProcess and WebProcessMainEfl.cpp for WebProcess.
2871
2872         This allows us to shut down the libraries in a proper way, since
2873         RunLoop persist until the process exits.
2874
2875         * UIProcess/API/efl/ewk_main.cpp:
2876         (ewk_init):
2877         (ewk_shutdown):
2878         * WebProcess/efl/WebProcessMainEfl.cpp:
2879         (WebKit::WebProcessMainEfl):
2880
2881 2013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2882
2883         Unreviewed build fix.
2884
2885         * UIProcess/Downloads/DownloadProxyMap.cpp:
2886         (WebKit::DownloadProxyMap::processDidClose):
2887         m_process can't be initialized nullptr yet. Use 0 instead of nullptr.
2888
2889 2013-02-07  Simon Hausmann  <simon.hausmann@digia.com>
2890
2891         [Qt][WK2] Fold QtWebPageFindClient into QQuickWebViewPrivate
2892         https://bugs.webkit.org/show_bug.cgi?id=108920
2893
2894         Reviewed by Jocelyn Turcotte, signed off for WK2 by Benjamin.
2895
2896         Employ the pattern suggested by Jocelyn to simply implement the C
2897         callbacks directly using static functions.
2898
2899         * Target.pri:
2900         * UIProcess/API/qt/qquickwebview.cpp:
2901         (toQQuickWebViewPrivate):
2902         (QQuickWebViewPrivate::initialize):
2903         (QQuickWebViewPrivate::didFindString):
2904         (QQuickWebViewPrivate::didFailToFindString):
2905         * UIProcess/API/qt/qquickwebview_p_p.h:
2906         (QQuickWebViewPrivate):
2907         * UIProcess/qt/QtWebPageFindClient.cpp: Removed.
2908         * UIProcess/qt/QtWebPageFindClient.h: Removed.
2909
2910 2013-02-03  Sam Weinig  <sam@webkit.org>
2911
2912         Make CustomProtocolManagerProxy a MessageReceiver
2913         https://bugs.webkit.org/show_bug.cgi?id=108787
2914
2915         Reviewed by Anders Carlsson.
2916
2917         * Shared/ChildProcessProxy.cpp:
2918         (WebKit::ChildProcessProxy::addMessageReceiver):
2919         (WebKit::ChildProcessProxy::removeMessageReceiver):
2920         (WebKit::ChildProcessProxy::dispatchMessage):
2921         (WebKit::ChildProcessProxy::dispatchSyncMessage):
2922         * Shared/ChildProcessProxy.h:
2923         Sink the MessageReceiverMap down into the ChildProcessProxy.
2924
2925         * UIProcess/Downloads/DownloadProxyMap.cpp:
2926         (WebKit::DownloadProxyMap::DownloadProxyMap):
2927         (WebKit::DownloadProxyMap::createDownloadProxy):
2928         (WebKit::DownloadProxyMap::downloadFinished):
2929         (WebKit::DownloadProxyMap::processDidClose):
2930         * UIProcess/Downloads/DownloadProxyMap.h:
2931         Pass the ChildProcessProxy rather than the MessageReceiverMap to the constructor.
2932
2933         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2934         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
2935         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
2936         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2937         Convert to a MessageReceiver.
2938
2939         * UIProcess/Network/NetworkProcessProxy.cpp:
2940         (WebKit::NetworkProcessProxy::createDownloadProxy):
2941         (WebKit::NetworkProcessProxy::didReceiveMessage):
2942         (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
2943         * UIProcess/Network/NetworkProcessProxy.h:
2944         * UIProcess/WebProcessProxy.cpp:
2945         (WebKit::WebProcessProxy::didReceiveMessage):
2946         (WebKit::WebProcessProxy::didReceiveSyncMessage):
2947         (WebKit::WebProcessProxy::createDownloadProxy):
2948         * UIProcess/WebProcessProxy.h:
2949         (WebProcessProxy):
2950         Remove direct chaining to CustomProtocolManagerProxy.
2951
2952 2013-02-06  Enrica Casucci  <enrica@apple.com>
2953
2954         ASSERT(!m_findPageOverlay) in FindController.cpp after r140769.
2955         https://bugs.webkit.org/show_bug.cgi?id=109105.
2956
2957         Reviewed by Tim Horton.
2958
2959         In r140769 we changed the way the overlay is destroyed,
2960         therefore the assert is no longer valid and should be removed.
2961
2962         * WebProcess/WebPage/FindController.cpp:
2963         (WebKit::FindController::updateFindUIAfterPageScroll):
2964
2965 2013-02-06  Anders Carlsson  <andersca@apple.com>
2966
2967         Dispatch storage manager messages to the storage work queue
2968         https://bugs.webkit.org/show_bug.cgi?id=109099
2969
2970         Reviewed by Andreas Kling.
2971
2972         * UIProcess/Storage/StorageManager.cpp:
2973         (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
2974         (WebKit::StorageManager::dispatchMessageOnStorageManagerQueue):
2975         (WebKit):
2976         * UIProcess/Storage/StorageManager.h:
2977         (StorageManager):
2978
2979 2013-02-06  Anders Carlsson  <andersca@apple.com>
2980
2981         Pass the document source URL to the pluginLoadPolicy callback
2982         https://bugs.webkit.org/show_bug.cgi?id=109084
2983         <rdar://problem/13154516>
2984
2985         Reviewed by Andreas Kling.
2986
2987         * UIProcess/API/C/WKPage.h:
2988         * UIProcess/WebPageProxy.cpp:
2989         (WebKit::WebPageProxy::getPluginPath):
2990         * UIProcess/WebPageProxy.h:
2991         (WebPageProxy):
2992         * UIProcess/WebPageProxy.messages.in:
2993         * UIProcess/WebUIClient.cpp:
2994         (WebKit::WebUIClient::pluginLoadPolicy):
2995         * UIProcess/WebUIClient.h:
2996         (WebUIClient):
2997         * WebProcess/WebPage/WebPage.cpp:
2998         (WebKit::WebPage::createPlugin):
2999         (WebKit::WebPage::canPluginHandleResponse):
3000
3001 2013-02-06  Alexey Proskuryakov  <ap@apple.com>
3002
3003         Get rid of unneeded writeable preferences.
3004
3005         Reviewed by Anders Carlsson.
3006
3007         com.apple.HIToolbox.plist and com.apple.WebProcess.plist were made writeable very
3008         early in WebKit2 development, before we moved a lot of functionality to UI process.
3009         They don't appear to be needed any more.
3010
3011         Note that we do not even need to allow reading for com.apple.WebProcess.plist -
3012         it's read at process initialization before we enter the sandbox, and services
3013         have a different plist anyway.
3014
3015         * WebProcess/com.apple.WebProcess.sb.in:
3016
3017 2013-02-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3018
3019         [EFL][WK2] Assertion failure on MiniBrowser exit
3020         https://bugs.webkit.org/show_bug.cgi?id=108932
3021
3022         Reviewed by Anders Carlsson.
3023
3024         WorkQueue is now refcounted after r141497, so increase ref
3025         count when a new job is scheduled and unref it when it finishes.
3026
3027         * Platform/efl/WorkQueueEfl.cpp:
3028         (WorkQueue::performWork):
3029         (WorkQueue::performTimerWork):
3030         (WorkQueue::dispatch):
3031         (WorkQueue::dispatchAfterDelay):
3032
3033 2013-02-06  Simon Hausmann  <simon.hausmann@digia.com>, Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3034
3035         [WK2][Win] Fix build after MessageID.h related changes and after r141619.
3036         https://bugs.webkit.org/show_bug.cgi?id=108612
3037
3038         Reviewed by Anders Carlsson.
3039
3040         * Platform/CoreIPC/win/ConnectionWin.cpp:
3041         (CoreIPC::Connection::platformInvalidate):
3042         (CoreIPC::Connection::readEventHandler):
3043         (CoreIPC::Connection::open):
3044         (CoreIPC::Connection::sendOutgoingMessage):
3045         * Platform/WorkQueue.h:
3046         (WorkQueue::WorkItemWin::queue):
3047         (WorkItemWin):
3048         * Platform/win/SharedMemoryWin.cpp:
3049         (WebKit::SharedMemory::Handle::decode):
3050         * Platform/win/WorkQueueWin.cpp:
3051         (WorkQueue::handleCallback):
3052         (WorkQueue::performWorkOnRegisteredWorkThread):
3053
3054 2013-02-06  Mike West  <mkwst@chromium.org>
3055
3056         Add an ENABLE_NOSNIFF feature flag.
3057         https://bugs.webkit.org/show_bug.cgi?id=109029
3058
3059         Reviewed by Jochen Eisinger.
3060
3061         This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
3062         when processing script and other resource types.
3063
3064         * Configurations/FeatureDefines.xcconfig:
3065
3066 2013-02-06  Marja Hölttä  <marja@chromium.org>
3067
3068         Take referrer policy into account when clearing the referrer header
3069         https://bugs.webkit.org/show_bug.cgi?id=86000
3070
3071         Reviewed by Alexey Proskuryakov.
3072
3073         The referrer should only be cleared when doing a https -> http redirect,
3074         if the policy is "default". Otherwise the referrer should be left intact.
3075
3076         * NetworkProcess/NetworkResourceLoader.cpp:
3077         (WebKit::NetworkResourceLoader::start):
3078         * NetworkProcess/SchedulableLoader.cpp:
3079         (WebKit::SchedulableLoader::SchedulableLoader):
3080         * NetworkProcess/SchedulableLoader.h:
3081         (WebKit::SchedulableLoader::shouldClearReferrerOnHTTPSToHTTPRedirect):
3082         (SchedulableLoader):
3083         * NetworkProcess/SyncNetworkResourceLoader.cpp:
3084         (WebKit::SyncNetworkResourceLoader::start):
3085         * NetworkProcess/mac/RemoteNetworkingContext.h:
3086         (WebKit::RemoteNetworkingContext::create):
3087         (RemoteNetworkingContext):
3088         * NetworkProcess/mac/RemoteNetworkingContext.mm:
3089         (WebKit::RemoteNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
3090         (WebKit):
3091         (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
3092         * Shared/Network/NetworkResourceLoadParameters.cpp:
3093         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
3094         (WebKit::NetworkResourceLoadParameters::encode):
3095         (WebKit::NetworkResourceLoadParameters::decode):
3096         * Shared/Network/NetworkResourceLoadParameters.h:
3097         (NetworkResourceLoadParameters):
3098         (WebKit::NetworkResourceLoadParameters::shouldClearReferrerOnHTTPSToHTTPRedirect):
3099         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3100         (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
3101         (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
3102         (WebKit::WebResourceLoadScheduler::scheduleLoad):
3103         * WebProcess/Network/WebResourceLoadScheduler.h:
3104         (WebResourceLoadScheduler):
3105         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3106         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
3107
3108 2013-02-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3109
3110         [EFL][WK2] Encapsulate Ewk View evas smart object code inside EwkView class
3111         https://bugs.webkit.org/show_bug.cgi?id=108062
3112
3113         Reviewed by Kenneth Rohde Christiansen.
3114
3115         The Ewk View implementation is encapsulated within EwkView class.
3116         Besides multiple refactoring of Ewk View evas smart object code was made.
3117
3118         * UIProcess/API/C/efl/WKView.cpp:
3119         (createWKView): 
3120
3121             Aux function to share WKView creation implementation.
3122
3123         * UIProcess/API/efl/EwkView.cpp:
3124         (smartDataChanged):
3125         (defaultSmartClassInstance):
3126         (toSmartData):
3127         (EwkView::initSmartClassInterface):
3128         (EwkView::toEvasObject):
3129         (EwkView::smartData):
3130
3131             Renamed and moved here from ewk_view.
3132
3133         (EwkViewEventHandler):
3134         (EwkViewEventHandler::subscribe):
3135         (EwkViewEventHandler::unsubscribe):
3136         (::handleEvent):
3137
3138             Added a new template class to encapsulate Ewk View Evas events handling.
3139
3140         (EwkView::EwkView):
3141         (EwkView::~EwkView):
3142
3143             Constructor and desctructor are private.
3144
3145         (EwkView::createEvasObject):
3146
3147             Added factory function for ewk view evas objects creation.
3148
3149         (EwkView::handleEvasObjectAdd):
3150         (EwkView::handleEvasObjectDelete):
3151         (EwkView::handleEvasObjectResize):
3152         (EwkView::handleEvasObjectMove):
3153         (EwkView::handleEvasObjectCalculate):
3154         (EwkView::handleEvasObjectShow):
3155         (EwkView::handleEvasObjectHide):
3156         (EwkView::handleEvasObjectColorSet):
3157
3158             Evas_Smart_Class interface callbacks moved into the EwkView class.
3159
3160         (EwkView::handleEwkViewFocusIn):
3161         (EwkView::handleEwkViewFocusOut):
3162         (EwkView::handleEwkViewMouseWheel):
3163         (EwkView::handleEwkViewMouseDown):
3164         (EwkView::handleEwkViewMouseUp):
3165         (EwkView::handleEwkViewMouseMove):
3166         (EwkView::handleEwkViewKeyDown):
3167         (EwkView::handleEwkViewKeyUp):
3168
3169             Ewk_View_Smart_Class interface callback moved into the EwkView class.
3170
3171         (EwkView::handleTouchDown):
3172         (EwkView::handleTouchUp):
3173         (EwkView::handleTouchMove):
3174
3175             Renamed.
3176
3177         (toEwkView): 
3178
3179             Aux function to get the EwkView instance fromevas object.
3180
3181         (isViewEvasObject):
3182
3183             Aux function to check that given evas object is ewk view.
3184
3185         * UIProcess/API/efl/EwkView.h:
3186         (EwkView::evasObject):
3187         (EwkView):
3188         * UIProcess/API/efl/ewk_view.cpp:
3189         (ewk_view_smart_class_set):
3190         (ewk_view_smart_add):
3191         (ewk_view_add_with_context):
3192         (ewk_view_feed_touch_event):
3193         (Ewk_Page_Contents_Context):
3194
3195         * UIProcess/API/efl/ewk_view_private.h: Removed.
3196
3197         * UIProcess/API/C/efl/WKView.cpp:
3198         (WKViewCreate):
3199         (WKViewCreateWithFixedLayout):
3200         (WKViewCreateSnapshot):
3201         * UIProcess/cairo/BackingStoreCairo.cpp:
3202         (WebKit::BackingStore::incorporateUpdate):
3203         * UIProcess/efl/ContextHistoryClientEfl.cpp:
3204         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
3205         (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
3206         (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
3207         (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
3208         * UIProcess/efl/PageClientBase.cpp:
3209         (WebKit::PageClientBase::processDidCrash):
3210         * UIProcess/efl/PageLoadClientEfl.cpp:
3211         (WebKit::PageLoadClientEfl::didChangeBackForwardList):
3212         * UIProcess/efl/PageUIClientEfl.cpp:
3213         (WebKit::PageUIClientEfl::takeFocus):
3214         (WebKit::PageUIClientEfl::focus):
3215         (WebKit::PageUIClientEfl::unfocus):
3216         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3217         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
3218         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
3219         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3220         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3221         * UIProcess/efl/WebPageProxyEfl.cpp:
3222         (WebKit::WebPageProxy::viewWidget):
3223
3224              Updated due to changes in EwkView interface.
3225
3226 2013-02-05  Tim Horton  <timothy_horton@apple.com>
3227
3228         [wk2] TiledCoreAnimationDrawingArea has one more layer in its CAContext when we're in the background
3229         https://bugs.webkit.org/show_bug.cgi?id=108992
3230         <rdar://problem/13087365>
3231
3232         Reviewed by Anders Carlsson.
3233
3234         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3235         (TiledCoreAnimationDrawingArea): Add storage for m_isInWindow.
3236         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3237         (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): Only set the root layer on our layer
3238         hosting context if we're in the window when swapping out contexts.
3239         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update m_isInWindow, and set the root layer
3240         of the layer hosting context (or unset it if we're out of the window).
3241
3242 2013-02-05  Anders Carlsson  <andersca@apple.com>
3243
3244         WebKit clients should be able to override loading of blocked plug-ins
3245         https://bugs.webkit.org/show_bug.cgi?id=108968
3246         <rdar://problem/13154516>
3247
3248         Reviewed by Sam Weinig.
3249
3250         Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
3251         of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
3252         force loading of blacklisted plug-ins (and vice versa).
3253
3254         * UIProcess/API/C/WKPage.h:
3255         * UIProcess/WebPageProxy.cpp:
3256         (WebKit::WebPageProxy::getPluginPath):
3257         * UIProcess/WebUIClient.cpp:
3258         (WebKit::toWKPluginLoadPolicy):
3259         (WebKit):
3260         (WebKit::toPluginModuleLoadPolicy):
3261         (WebKit::WebUIClient::pluginLoadPolicy):
3262         * UIProcess/WebUIClient.h:
3263         (WebUIClient):
3264
3265 2013-02-05  Simon Hausmann  <simon.hausmann@digia.com>
3266
3267         [Qt][WK2] Replace more uses of WebPageProxy with WKPage in QQuickWebView
3268         https://bugs.webkit.org/show_bug.cgi?id=108826
3269
3270         Reviewed by Kenneth Rohde Christiansen and signed off for WK2 by
3271         Benjamin Poulain.
3272
3273         This patch converts a few more usages of WebPageProxy to functions in
3274         the WKPage API.
3275
3276         * UIProcess/API/qt/qquickwebview.cpp:
3277         (QQuickWebViewPrivate::initialize):
3278         (QQuickWebViewLegacyPrivate::zoomFactor):
3279         (QQuickWebViewLegacyPrivate::setZoomFactor):
3280         (QQuickWebViewExperimental::postMessage):
3281         (QQuickWebViewExperimental::userAgent):
3282         (QQuickWebViewExperimental::setUserAgent):
3283         (QQuickWebViewExperimental::evaluateJavaScript):
3284         (QQuickWebViewExperimental::findText):
3285         (QQuickWebView::goBack):
3286         (QQuickWebView::goForward):
3287         (QQuickWebView::stop):
3288         (QQuickWebView::reload):
3289         (QQuickWebView::setUrl):
3290         (QQuickWebView::canGoBack):
3291         (QQuickWebView::canGoForward):
3292         (QQuickWebView::loading):
3293         (QQuickWebView::title):
3294         (QQuickWebView::pageRef):
3295         (QQuickWebView::loadHtml):
3296         (QQuickWebView::runJavaScriptInMainFrame):
3297         * UIProcess/API/qt/qquickwebview_p_p.h:
3298         (QQuickWebViewPrivate):
3299
3300 2013-02-04  Gwang Yoon Hwang  <ryumiel@company100.net>
3301
3302         Coordinated Graphics : disconnectCustomFilterProgram does not do anything.
3303         https://bugs.webkit.org/show_bug.cgi?id=108807
3304
3305         Reviewed by Anders Carlsson.
3306
3307         We need to add newly created WebCustomFilterProgramProxy to a hashset to
3308         disconnect when CoordinatedLayerTreeHost gets destructed.
3309
3310         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3311         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
3312
3313 2013-02-04  Benjamin Poulain  <bpoulain@apple.com>
3314
3315         Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
3316         https://bugs.webkit.org/show_bug.cgi?id=108741
3317
3318         Reviewed by Tony Chang.
3319
3320         Suspending and resuming application has been useless for a one. Someone just
3321         "forgot" WebKit2.
3322
3323         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3324         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
3325         * WebProcess/WebPage/WebFrame.cpp:
3326         * WebProcess/WebPage/WebFrame.h:
3327         (WebFrame):
3328
3329 2013-02-04  Jaehun Lim  <ljaehun.lim@samsung.com>
3330
3331         [EFL][WK2] Implement runBeforeUnloadConfirmPanel on EFL
3332         https://bugs.webkit.org/show_bug.cgi?id=106979
3333
3334         Reviewed by Benjamin Poulain.
3335
3336         Implement runBeforeUnloadConfirmPanel() to support window.onbeforeunload.
3337         We can show confirmation window when beforeunload event is fired.
3338
3339         * UIProcess/efl/PageUIClientEfl.cpp:
3340         (WebKit::PageUIClientEfl::PageUIClientEfl):
3341         (WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):
3342         (WebKit):
3343         * UIProcess/efl/PageUIClientEfl.h:
3344         (PageUIClientEfl):
3345
3346 2013-02-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3347
3348         [EFL][WK2] Introduce a WebView class as counterpart for WKViewRef
3349         https://bugs.webkit.org/show_bug.cgi?id=107931
3350
3351         Reviewed by Anders Carlsson.
3352
3353         This is just one step of the new plan for the EFL API.
3354
3355         The plan is to move the public EFL-like API on top of the shared
3356         WK2 C API, plus a few EFL extensions (WKView class mostly).
3357
3358         The EFL-like API can be seen as a convenience API which ties
3359         well into EFL and which makes it easy to add web experiences
3360         to existing and new EFL applications. It provides a smart object
3361         like API and a Evas_Object based view.
3362
3363         For more advanced use cases, such as browser and runtime, it is
3364         possible to use the WK* C API, which is gives more flexibility
3365         while being more low level.
3366
3367         The idea is that the WKView class will not depend on Evas_Object
3368         and X11 (future plan) unlike the current EFL-like API. This should
3369         make it possible to use it for cases where none of these are
3370         available.
3371
3372         This patch introduces the WebView class which serves as our
3373         counterpart for the WKView class, and adds a few needed methods.
3374
3375         The EwkView owns the WebView class (and will be constructing it
3376         in the near future when the EwkView class has been changed to
3377         handle all smart object related code)
3378
3379         The clean up of the smart object related code as the proper
3380         construction of EwkView and WebView will be done in follow-up
3381         patches.
3382
3383         * UIProcess/API/C/efl/WKAPICastEfl.h:
3384         (WebKit):
3385
3386             The WKView API is not based on WebView and not Evas_Object*
3387
3388         * UIProcess/API/C/efl/WKView.cpp:
3389         (WKViewCreate):
3390         (WKViewCreateWithFixedLayout):
3391         (WKViewInitialize):
3392         (WKViewGetPage):
3393         (WKViewSetThemePath):
3394         (WKViewSuspendActiveDOMObjectsAndAnimations):
3395         (WKViewResumeActiveDOMObjectsAndAnimations):
3396         (WKViewGetEvasObject):
3397         (WKViewCreateSnapshot):
3398
3399             Add a few new WKView EFL C methods, and update existing
3400             methods to reflect that the WKViewRef is now a WebView*
3401
3402             The construction methods will be rewritten when the smart
3403             object construction has been solved.
3404
3405         * UIProcess/API/C/efl/WKView.h:
3406         * UIProcess/efl/WebView.cpp: Added.
3407         (WebKit):
3408         (WebKit::WebView::WebView):
3409         (WebKit::WebView::~WebView):
3410         (WebKit::WebView::initialize):
3411         (WebKit::WebView::setThemePath):
3412         (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
3413         (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
3414         * UIProcess/efl/WebView.h: Added.
3415         (WebKit):
3416         (WebView):
3417         (WebKit::WebView::pageRef):
3418         (WebKit::WebView::evasObject):
3419         (WebKit::WebView::page):
3420         (WebKit::WebView::type):
3421
3422             Add a new WebKit::WebView class for EFL.
3423
3424         * UIProcess/API/efl/EwkView.cpp:
3425         (EwkView::EwkView):
3426         (EwkView::~EwkView):
3427         (EwkView::wkPage):
3428         (EwkView::setThemePath):
3429         (EwkView::createGLSurface):
3430
3431             Base methods on C API instead of internal API as much
3432             as currently possible.
3433
3434         * UIProcess/API/efl/EwkView.h:
3435         (WebKit):
3436         (WebView):
3437         (EwkView):
3438         (EwkView::wkView):
3439         (EwkView::page):
3440         * UIProcess/API/efl/ewk_view.cpp:
3441         (createEwkView):
3442         (ewk_view_base_add):
3443         (ewk_view_smart_add):
3444
3445             Modify to return the EwkView class for now.
3446
3447         * UIProcess/API/efl/ewk_view_private.h:
3448         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3449         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3450
3451             Updated due to changed API.
3452
3453 2013-02-04  Anders Carlsson  <andersca@apple.com>
3454
3455         Set up the storage manager as a connection queue
3456         https://bugs.webkit.org/show_bug.cgi?id=108879
3457
3458         Reviewed by Sam Weinig.
3459
3460         * UIProcess/Storage/StorageManager.cpp:
3461         (WebKit::StorageManager::processWillOpenConnection):
3462         Add the storage manager as a connection queue client.
3463
3464         (WebKit::StorageManager::processWillCloseConnection):
3465         Remove the storage manager.
3466
3467         * UIProcess/WebContext.cpp:
3468         (WebKit::WebContext::processWillOpenConnection):
3469         Call the storage manager.
3470
3471         (WebKit::WebContext::processWillCloseConnection):
3472         Call the storage manager.
3473
3474         * UIProcess/WebProcessProxy.cpp:
3475         (WebKit::WebProcessProxy::connectionWillOpen):
3476         Call the context.
3477
3478         (WebKit::WebProcessProxy::connectionWillClose):
3479         Call the context.
3480
3481         (WebKit::WebProcessProxy::didFinishLaunching):
3482         Remove a comment.
3483
3484 2013-02-04  Anders Carlsson  <andersca@apple.com>
3485
3486         Send message when creating and destroying StorageAreaProxy objects
3487         https://bugs.webkit.org/show_bug.cgi?id=108874
3488
3489         Reviewed by Sam Weinig.
3490
3491         * Shared/SecurityOriginData.cpp:
3492         (WebKit::SecurityOriginData::fromSecurityOrigin):
3493         * Shared/SecurityOriginData.h:
3494         (SecurityOriginData):
3495         Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
3496
3497         * WebProcess/Storage/StorageAreaProxy.cpp:
3498         (WebKit::generateStorageAreaID):
3499         New function to create a unique storage area ID.
3500
3501         (WebKit::StorageAreaProxy::StorageAreaProxy):
3502         Send a CreateStorageArea message.
3503         
3504         (WebKit::StorageAreaProxy::~StorageAreaProxy):
3505         Send a DestroyStorageArea message.
3506
3507         (WebKit::StorageAreaProxy::contains):
3508         Remove this assertion for now, it fires too often.
3509         
3510         * WebProcess/Storage/StorageNamespaceProxy.h:
3511         (WebKit::StorageNamespaceProxy::storageNamespaceID):
3512         Add getter.
3513
3514 2013-02-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3515
3516         [EFL][WK2] Use C API inside EwkView
3517         https://bugs.webkit.org/show_bug.cgi?id=108825
3518
3519         Reviewed by Anders Carlsson.
3520
3521         A straight-forward port towards the C API.
3522
3523         * UIProcess/API/efl/EwkView.cpp:
3524         (EwkView::EwkView): Use C API for common default preferences.
3525         (EwkView::wkPage): Make it const and remove useless comment.
3526         (EwkView::deviceScaleFactor):
3527         (EwkView::title):
3528         (EwkView::customTextEncodingName):
3529         (EwkView::setCustomTextEncodingName):
3530         (EwkView::informURLChange):
3531         * UIProcess/API/efl/EwkView.h:
3532         (EwkView):
3533
3534 2013-02-04  Alexey Proskuryakov  <ap@apple.com>
3535
3536         Remove an unnecessary sandbox rule.
3537
3538         Reviewed by Sam Weinig.
3539
3540         * WebProcess/com.apple.WebProcess.sb.in: We already have a file-read rule for