Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-02-27  Zan Dobersek  <zdobersek@igalia.com>
2
3         Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
4
5         * CMakeLists.txt:
6         * DerivedSources.pri:
7         * GNUmakefile.list.am:
8         * Target.pri:
9
10 2013-02-27  John Bauman  <jbauman@chromium.org>
11
12         Plugin in iframe may not display
13         https://bugs.webkit.org/show_bug.cgi?id=109879
14
15         Reviewed by Simon Fraser.
16
17         Update geometry when cliprect changes.
18
19         * WebProcess/Plugins/PluginView.cpp:
20         (WebKit::PluginView::clipRectChanged):
21         * WebProcess/Plugins/PluginView.h:
22
23 2013-02-27  Jer Noble  <jer.noble@apple.com>
24
25         REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
26         https://bugs.webkit.org/show_bug.cgi?id=111003
27
28         Reviewed by Anders Carlsson.
29
30         Also query the Page's pluginData when determining whether a given MIME type can be shown.
31
32         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
33         (WKBundlePageCanShowMIMEType):
34         * WebProcess/WebPage/WebPage.cpp:
35         (WebKit::WebPage::canShowMIMEType):
36         * WebProcess/WebPage/WebPage.h:
37
38 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
39
40         Add smartInsertDeleteEnabled setting to WebCore::Page
41         https://bugs.webkit.org/show_bug.cgi?id=107840
42
43         Reviewed by Ryosuke Niwa.
44
45         * Shared/WebPageCreationParameters.cpp:
46         (WebKit::WebPageCreationParameters::encode):
47         (WebKit::WebPageCreationParameters::decode): Remove code related to
48         isSmartInsertDeleteEnabled.
49         * Shared/WebPageCreationParameters.h:
50         (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
51         * Shared/WebPreferencesStore.h:
52         (WebKit): Add macro for smartInsertDeleteEnabled setting.
53         * UIProcess/API/C/WKPreferences.cpp:
54         (WKPreferencesSetSmartInsertDeleteEnabled):
55         (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
56         new setting.
57         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
58         * UIProcess/WebPageProxy.cpp:
59         (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
60         setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
61         (WebKit::WebPageProxy::creationParameters): Remove usage of
62         parameters.isSmartInsertDeleteEnabled.
63         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
64         (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
65         all platforms.
66         * WebProcess/WebPage/WebPage.cpp:
67         (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
68         initialization.
69         (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
70         setting.
71         (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
72         settings.
73         (WebKit):
74         (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
75         settings.
76         * WebProcess/WebPage/WebPage.h:
77         (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
78         platforms and remove m_isSmartInsertDeleteEnabled as it will be a
79         setting.
80
81
82 2013-02-27  Anders Carlsson  <andersca@apple.com>
83
84         More storage scaffolding
85         https://bugs.webkit.org/show_bug.cgi?id=110997
86
87         Reviewed by Andreas Kling.
88
89         * DerivedSources.make:
90         Add StorageAreaProxy.
91         
92         * UIProcess/Storage/StorageManager.cpp:
93         (WebKit::StorageManager::setItem):
94         Send back a DidSetItem message.
95         
96         * WebKit2.xcodeproj/project.pbxproj:
97         Add generated files.
98
99         * WebProcess/Storage/StorageAreaProxy.cpp:
100         (WebKit::StorageAreaProxy::StorageAreaProxy):
101         Add the message receiver.
102         
103         (WebKit::StorageAreaProxy::~StorageAreaProxy):
104         Remove the message receiver.
105         
106         (WebKit::StorageAreaProxy::didSetItem):
107         add stub.
108
109         * WebProcess/Storage/StorageAreaProxy.h:
110         (StorageAreaProxy):
111         * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
112
113 2013-02-27  Sam Weinig  <sam@webkit.org>
114
115         REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
116         <rdar://problem/13229828>
117
118         Reviewed by Dan Bernstein.
119
120         Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
121         unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
122         GPU.
123
124         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
125         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
126         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
127         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
128         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
129         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
130         Add NSSupportsAutomaticGraphicsSwitching YES.
131
132         * WebKit2.xcodeproj/project.pbxproj:
133         Re-add the PluginService.32-64.Info.plist plist to the project file.
134
135 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
136
137         Don't add a body to platform request until necessary
138         https://bugs.webkit.org/show_bug.cgi?id=110900
139
140         Reviewed by Brady Eidson.
141
142         * NetworkProcess/NetworkResourceLoader.cpp:
143         (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
144         is no way for the client to change it.
145
146         * Shared/Downloads/mac/DownloadMac.mm:
147         (WebKit::Download::start):
148         (WebKit::Download::startWithHandle):
149         Pass UpdateHTTPBody when passing a request to NSURLConnection.
150
151         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
152         Never serialize the request body. It's slow, and sometimes impossible, so just
153         keeping things consistent.
154
155         * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
156         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
157
158         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
159         (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
160
161         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
162         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
163         Restore existing body after a client call..
164
165         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
166         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
167
168 2013-02-27  Glenn Adams  <glenn@skynav.com>
169
170         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
171         https://bugs.webkit.org/show_bug.cgi?id=110944
172
173         Reviewed by Dean Jackson.
174
175         * Configurations/FeatureDefines.xcconfig:
176
177 2013-02-27  Michael Brüning  <michael.bruning@digia.com>
178
179         [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
180         https://bugs.webkit.org/show_bug.cgi?id=108952
181
182         Reviewed by Simon Hausmann.
183
184         Signed off for WebKit2 by Benjamin Poulain.
185
186         This patch moves the view classes and preferences in the Qt API
187         to use the C API for accessing and manipulating preferences as
188         part of the cleanup and move towards using the C API as base for
189         the Qt WebKit2 API.
190
191         Adds the function WebKit::adoptToQString for convenience when
192         dealing with QString and copied String objects.
193
194         Removes the ScrollAnimatorEnabled options from QWebPreferences.
195
196         * UIProcess/API/cpp/qt/WKStringQt.cpp:
197         (WebKit::adoptToQString):
198         * UIProcess/API/cpp/qt/WKStringQt.h:
199         (WebKit):
200         * UIProcess/API/qt/qquickwebview.cpp:
201         (QQuickWebViewPrivate::initialize):
202         * UIProcess/API/qt/qwebpreferences.cpp:
203         (QWebPreferencesPrivate::testAttribute):
204         (QWebPreferencesPrivate::setAttribute):
205         (QWebPreferencesPrivate::setFontFamily):
206         (QWebPreferencesPrivate::fontFamily):
207         (QWebPreferencesPrivate::setFontSize):
208         (QWebPreferencesPrivate::fontSize):
209         * UIProcess/API/qt/qwebpreferences_p.h:
210         * UIProcess/API/qt/qwebpreferences_p_p.h:
211
212 2013-02-26  Anders Carlsson  <andersca@apple.com>
213
214         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
215         https://bugs.webkit.org/show_bug.cgi?id=110927
216
217         Reviewed by Sam Weinig.
218
219         * UIProcess/Storage/StorageManager.cpp:
220         (WebKit::StorageManager::setItem):
221         * UIProcess/Storage/StorageManager.h:
222         Add empty stub.
223         
224         * UIProcess/Storage/StorageManager.messages.in:
225         Add SetItem message.
226
227         * WebProcess/Storage/StorageAreaProxy.cpp:
228         (WebKit::StorageAreaProxy::getItem):
229         Fill the storage map and get the item from it.
230
231         (WebKit::StorageAreaProxy::setItem):
232         Update the storage map and send a SetItem message to the UI process.
233
234 2013-02-26  Anders Carlsson  <andersca@apple.com>
235
236         StorageAreaProxy should hold on to a StorageMap and not a HashMap
237         https://bugs.webkit.org/show_bug.cgi?id=110919
238
239         Reviewed by Jessie Berlin.
240
241         Create a storage map instead of a hash map.
242
243         * WebProcess/Storage/StorageAreaProxy.cpp:
244         (WebKit::StorageAreaProxy::length):
245         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
246         * WebProcess/Storage/StorageAreaProxy.h:
247         (WebCore):
248         (StorageAreaProxy):
249
250 2013-02-26  Anders Carlsson  <andersca@apple.com>
251
252         Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
253         https://bugs.webkit.org/show_bug.cgi?id=110914
254         <rdar://problem/13297581>
255
256         Reviewed by Beth Dakin.
257
258         Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
259
260         * UIProcess/WebLoaderClient.cpp:
261         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
262
263 2013-02-26  Jer Noble  <jer.noble@apple.com>
264
265         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
266
267         * Configurations/FeatureDefines.xcconfig:
268
269 2013-02-26  Manuel Rego Casasnovas  <rego@igalia.com>
270
271         [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
272         https://bugs.webkit.org/show_bug.cgi?id=110869
273
274         Reviewed by Martin Robinson.
275
276         Test was failing because of new media controls needs more space to be
277         painted than just 10x10 pixels.
278
279         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
280         (testContextMenuDefaultMenu): Modified test in order to give more space
281         to the media controls.
282
283 2013-02-26  Dean Jackson  <dino@apple.com>
284
285         Draw intermediate snapshots if possible
286         https://bugs.webkit.org/show_bug.cgi?id=110811
287
288         Reviewed by Simon Fraser.
289
290         After http://webkit.org/b/110495 we delayed snapshotting until we've
291         received a nice image, but this made the page look like it is broken.
292         We should draw any intermediate snapshots that we find, which might
293         include content such as progress bars/spinners.
294
295         * WebProcess/Plugins/PluginView.cpp:
296         (WebKit): Reinstate 60 attempts at snapshots before giving up.
297         (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
298         want accelerated compositing enabled when we are trying to capture
299         snapshots.
300
301 2013-02-26  Andras Becsi  <andras.becsi@digia.com>
302
303         Remove nonexistent StringPairVector.h from Target.pri after r142839
304
305         Unreviewed gardening.
306
307         * Target.pri:
308
309 2013-02-26  Simon Hausmann  <simon.hausmann@digia.com>
310
311         Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
312
313         Add an intermediate pluginName string variable instead of
314         accessing plugin.info outside the feature #ifdef.
315
316         * UIProcess/WebPageProxy.cpp:
317         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
318
319 2013-02-25  Huang Dongsung  <luxtella@company100.net>
320
321         Coordinated Graphics: remove redundant update of non compositing layer.
322         https://bugs.webkit.org/show_bug.cgi?id=110444
323
324         Reviewed by Noam Rosenthal.
325
326         Currently, we update non compositing layer when the page scrolled. However, it
327         is not needed, because TiledBackingStore can scroll without tile update.
328
329         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
330         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
331         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
332         (CoordinatedLayerTreeHost):
333
334 2013-02-25  Jer Noble  <jer.noble@apple.com>
335
336         REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
337         https://bugs.webkit.org/show_bug.cgi?id=110848
338
339         Reviewed by Ryosuke Niwa.
340
341         NULL-check the result of document->documentElement().
342
343         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
344         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
345
346 2013-02-25  Anders Carlsson  <andersca@apple.com>
347
348         Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
349         https://bugs.webkit.org/show_bug.cgi?id=110821
350
351         Reviewed by Beth Dakin.
352
353         * UIProcess/API/C/WKPage.cpp:
354         (WKPageGetPluginInformationPluginspageAttributeURLKey):
355         (WKPageGetPluginInformationPluginURLKey):
356         Add two new API key getters.
357         
358         * UIProcess/API/C/WKPage.h:
359         Add a new callback and deprecate the old callback.
360         
361         * UIProcess/WebLoaderClient.cpp:
362         (WebKit::WebLoaderClient::didFailToInitializePlugin):
363         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
364         (WebKit::WebLoaderClient::pluginLoadPolicy):
365         Make the pluginInformationDictionary a static member function of WebPageProxy so it
366         can be called from WebUIClient as well.
367         
368         * UIProcess/WebPageProxy.cpp:
369         (WebKit::WebPageProxy::getPluginPath):
370         Pass the bundle version as well.
371
372         (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
373         (WebKit::WebPageProxy::pluginInformationPluginURLKey):
374         Add two new keys.
375
376         (WebKit::WebPageProxy::pluginInformationDictionary):
377         Handle more keys.
378
379         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
380         Get the plug-in bundle identifier and version.
381
382         * UIProcess/WebPageProxy.messages.in:
383         Pass along more information; the frame and page URLs.
384
385         * UIProcess/WebUIClient.cpp:
386         (WebKit::WebUIClient::unavailablePluginButtonClicked):
387         Call the new callback if it's supported.
388
389         * UIProcess/WebUIClient.h:
390         (WebUIClient):
391         * UIProcess/mac/WebInspectorProxyMac.mm:
392         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
393         Update for API changes.
394
395         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
396         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
397         Ensure that the pluginspage attribute is a valid URL.
398
399 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
400
401         Optionally partition cache to prevent using cache for tracking
402         https://bugs.webkit.org/show_bug.cgi?id=110269
403
404         Reviewed by Maciej Stachowiak.
405
406         Update WKSI bindings and add feature defines.
407
408         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
409         * WebCoreSupport/WebSystemInterface.mm:
410         (InitWebCoreSystemInterface):
411
412 2013-02-25  Jer Noble  <jer.noble@apple.com>
413
414         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
415         https://bugs.webkit.org/show_bug.cgi?id=110806
416
417         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
418
419         Reviewed by Alexey Proskuryakov.
420
421         * Configurations/FeatureDefines.xcconfig:
422
423 2013-02-25  Jer Noble  <jer.noble@apple.com>
424
425         Full screen mode should not exit when application resigns active state.
426         https://bugs.webkit.org/show_bug.cgi?id=106129
427
428         Reviewed by Darin Adler.
429
430         Now that full screen windows get their own full screen space, there is no reason to exit full
431         screen mode when the application resigns active state. Instead, the windowserver will bring the
432         space containing the newly active application to the foreground. The user can then swipe back
433         to the full screen space (or use Mission Control) to get back to the full screen window.
434
435         * UIProcess/mac/WKFullScreenWindowController.mm:
436         (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
437
438 2013-02-25  Jer Noble  <jer.noble@apple.com>
439
440         Safari shows empty window and paints webpage in full-screen background
441         https://bugs.webkit.org/show_bug.cgi?id=103712
442
443         Reviewed by Darin Adler.
444
445         When canceling full screen mode due to a provisional load, exit normally instead of closing the
446         full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
447         frame around a full screen iframe is navigated, check to see if the navigating document contains
448         a full screen element, rather than checking whether the document itself is full screen.
449
450         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
451         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
452
453 2013-02-25  Anders Carlsson  <andersca@apple.com>
454
455         Fix build.
456
457         * UIProcess/WebPageProxy.cpp:
458         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
459
460 2013-02-25  Anders Carlsson  <andersca@apple.com>
461
462         Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
463         https://bugs.webkit.org/show_bug.cgi?id=110793
464         <rdar://problem/13265303>
465
466         Reviewed by Sam Weinig.
467
468         Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
469         frame and page URLs.
470
471         * UIProcess/API/C/WKPage.h:
472         * UIProcess/WebLoaderClient.cpp:
473         (WebKit::pluginInformationDictionary):
474         (WebKit::WebLoaderClient::didFailToInitializePlugin):
475         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
476         (WebKit::WebLoaderClient::pluginLoadPolicy):
477         * UIProcess/WebLoaderClient.h:
478         * UIProcess/WebPageProxy.cpp:
479         (WebKit::WebPageProxy::didFailToInitializePlugin):
480         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
481         * UIProcess/WebPageProxy.h:
482         * UIProcess/WebPageProxy.messages.in:
483         * WebProcess/Plugins/PluginView.cpp:
484         (WebKit::PluginView::didFailToInitializePlugin):
485         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
486         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
487         * WebProcess/WebPage/WebPage.cpp:
488         (WebKit::WebPage::createPlugin):
489
490 2013-02-25  Tim Horton  <timothy_horton@apple.com>
491
492         PDFPlugin: Tab between text annotations
493         https://bugs.webkit.org/show_bug.cgi?id=106539
494         <rdar://problem/12751789>
495
496         Reviewed by Darin Adler.
497
498         Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
499
500         Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
501
502         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
503         * WebProcess/Plugins/PDF/PDFPlugin.h:
504         (PDFPlugin): Add focus(Next|Previous)Annotation.
505         * WebProcess/Plugins/PDF/PDFPlugin.mm:
506         (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
507         (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
508         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
509         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
510         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
511         (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
512         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
513         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
514         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
515         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
516         (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
517         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
518         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
519         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
520         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
521         (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
522         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
523         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
524         the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
525
526 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
527
528         <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
529
530         Reviewed by Anders Carlsson.
531
532         * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
533         have a "WebProcessService".
534
535 2013-02-25  Andras Becsi  <andras.becsi@digia.com>
536
537         [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
538         https://bugs.webkit.org/show_bug.cgi?id=110751
539
540         Reviewed by Jocelyn Turcotte.
541
542         This is a clean-up in the PageViewportController clients that removes leftover
543         code from previous design that is partially unused and unnecessary, to simplify
544         the interaction between PageViewportController and clients.
545
546         * UIProcess/PageViewportController.cpp:
547         (WebKit::PageViewportController::resumeContent):
548         * UIProcess/PageViewportControllerClient.h:
549         (PageViewportControllerClient):
550         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
551         * UIProcess/efl/PageViewportControllerClientEfl.h:
552         (PageViewportControllerClientEfl):
553         * UIProcess/qt/PageViewportControllerClientQt.cpp:
554         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
555         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
556         (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
557         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
558         * UIProcess/qt/PageViewportControllerClientQt.h:
559         (PageViewportControllerClientQt):
560
561 2013-02-25  Andreas Kling  <akling@apple.com>
562
563         Reduce amount of code that includes StylePropertySet.h
564         <http://webkit.org/b/101149>
565
566         Reviewed by Antti Koivisto.
567
568         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
569
570 2013-02-24  Andreas Kling  <akling@apple.com>
571
572         Reduce include graph of JSDOMBinding.h
573         <http://webkit.org/b/110709>
574
575         Reviewed by Antti Koivisto.
576
577         * Shared/WebRenderObject.cpp:
578         (WebKit::WebRenderObject::WebRenderObject):
579         * WebProcess/Storage/StorageAreaProxy.cpp:
580
581 2013-02-22  Sam Weinig  <sam@webkit.org>
582
583         Add temporary work around for 32-bit plugins not working in production builds as XPCServices
584         https://bugs.webkit.org/show_bug.cgi?id=110680
585         <rdar://problem/13236883>
586
587         Reviewed by Anders Carlsson.
588
589         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
590         (WebKit::shouldUseXPC):
591         Temporarily don't use XPC for plug-ins for Safari while we figure out why the
592         32-bit XPCService is being built universal.
593
594 2013-02-22  Tim Horton  <timothy_horton@apple.com>
595
596         [WK2] The root and page overlay layers should be the size of the view, not the content
597         https://bugs.webkit.org/show_bug.cgi?id=110660
598         <rdar://problem/13096456>
599
600         Reviewed by Simon Fraser.
601
602         Use the view size for the size of the root and page overlay layers.
603         For one, we never update these layers' sizes when the content size changes, causing size mismatches.
604         In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
605
606         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
607         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
608         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
609
610 2013-02-22  Anders Carlsson  <andersca@apple.com>
611
612         pluginLoadStrategy should take a WKDictionaryRef for extensibility
613         https://bugs.webkit.org/show_bug.cgi?id=110656
614         <rdar://problem/13265303>
615
616         Reviewed by Jessie Berlin.
617
618         Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
619         this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
620
621         * UIProcess/API/C/WKPage.cpp:
622         (WKPageGetPluginInformationBundleIdentifierKey):
623         (WKPageGetPluginInformationBundleVersionKey):
624         (WKPageGetPluginInformationDisplayNameKey):
625         (WKPageGetPluginInformationFrameURLKey):
626         (WKPageGetPluginInformationMIMETypeKey):
627         (WKPageGetPluginInformationPageURLKey):
628         * UIProcess/API/C/WKPage.h:
629         * UIProcess/WebLoaderClient.cpp:
630         (WebKit):
631         (WebKit::WebLoaderClient::pluginLoadPolicy):
632         * UIProcess/WebLoaderClient.h:
633         (WebLoaderClient):
634         * UIProcess/WebPageProxy.cpp:
635         (WebKit::WebPageProxy::getPluginPath):
636         (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
637         (WebKit):
638         (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
639         (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
640         (WebKit::WebPageProxy::pluginInformationFrameURLKey):
641         (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
642         (WebKit::WebPageProxy::pluginInformationPageURLKey):
643         * UIProcess/WebPageProxy.h:
644         (WebPageProxy):
645         * UIProcess/WebPageProxy.messages.in:
646         * WebProcess/WebPage/WebPage.cpp:
647         (WebKit::WebPage::createPlugin):
648         (WebKit::WebPage::canPluginHandleResponse):
649
650 2013-02-22  Anders Carlsson  <andersca@apple.com>
651
652         Move pluginLoadPolicy to the page loader client
653         https://bugs.webkit.org/show_bug.cgi?id=110635
654         <rdar://problem/13265303>
655         
656         Reviewed by Sam Weinig.
657
658         Move the pluginLoadPolicy callback to the page loader client where it belongs.
659
660         * UIProcess/API/C/WKPage.h:
661         * UIProcess/WebLoaderClient.cpp:
662         (WebKit::toWKPluginLoadPolicy):
663         (WebKit):
664         (WebKit::toPluginModuleLoadPolicy):
665         (WebKit::WebLoaderClient::pluginLoadPolicy):
666         * UIProcess/WebLoaderClient.h:
667         (WebLoaderClient):
668         * UIProcess/WebPageProxy.cpp:
669         (WebKit::WebPageProxy::getPluginPath):
670         * UIProcess/WebUIClient.cpp:
671         (WebKit):
672         * UIProcess/WebUIClient.h:
673         (WebUIClient):
674         * UIProcess/mac/WebInspectorProxyMac.mm:
675         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
676
677 2013-02-21  Jer Noble  <jer.noble@apple.com>
678
679         Two video contollers appear after exiting the fullscreen video when using menubar to exit.
680         https://bugs.webkit.org/show_bug.cgi?id=110506
681
682         Reviewed by Eric Carlson.
683
684         When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
685         call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
686         tearing down the fullscreen state.
687
688         * UIProcess/mac/WKFullScreenWindowController.mm:
689         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
690
691 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
692
693         Yet another unreviewed buildfix after r143714.
694
695         * UIProcess/efl/WebView.cpp:
696         (WebKit::WebView::paintToCairoSurface):
697
698 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
699
700         Unreviewed preventive buildfix after my last commit.
701
702         * UIProcess/API/efl/EwkView.cpp:
703         * UIProcess/efl/WebView.cpp:
704
705 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
706
707         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
708         https://bugs.webkit.org/show_bug.cgi?id=109824
709
710         Reviewed by Andreas Kling.
711
712         Avoid ugly ifdefs by using PlatformGraphicsContext.
713
714         * UIProcess/API/efl/EwkView.cpp:
715         (EwkView::displayTimerFired):
716
717 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
718
719         [WK2][EFL] Remove declaration of non-existent functions from EwkView
720         https://bugs.webkit.org/show_bug.cgi?id=110572
721
722         Reviewed by Kenneth Rohde Christiansen.
723
724         Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
725         EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
726         left at r143699.
727
728         * UIProcess/API/efl/EwkView.h:
729         (EwkView):
730
731 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
732
733         [WK2][EFL] Clean up PageViewportControllerClientEfl class
734         https://bugs.webkit.org/show_bug.cgi?id=110438
735
736         Reviewed by Andreas Kling.
737
738         Cleaned up PageViewportControllerClientEfl class from unused methods
739         and class members, eliminated access to WK2 internals from this class.
740
741         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
742         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
743         * UIProcess/efl/PageViewportControllerClientEfl.h:
744         (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
745         (PageViewportControllerClientEfl):
746         * UIProcess/efl/WebView.cpp:
747         (WebKit::WebView::WebView):
748         (WebKit::WebView::updateViewportSize):
749
750 2013-02-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
751
752         [WK2][EFL][GTK][Qt] Add context menu item tags for C API
753         https://bugs.webkit.org/show_bug.cgi?id=109815
754
755         Reviewed by Anders Carlsson.
756
757         This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
758         WebCore to WK2 C API.
759
760         * Shared/API/c/WKContextMenuItemTypes.h:
761         * Shared/API/c/WKSharedAPICast.h:
762         (WebKit::toAPI):
763         (WebKit::toImpl):
764
765 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
766
767         [WK2][EFL] Move AC code from EwkView to WebView
768         https://bugs.webkit.org/show_bug.cgi?id=110216
769
770         Reviewed by Anders Carlsson.
771
772         Accelerated compositing code is moved from EwkView to WebView.
773         Added new WKView API to be used from EwkView instead of direct accessing
774         to coordinated graphics scene.
775
776         * UIProcess/API/C/efl/WKView.cpp:
777         (WKViewSetUserViewportTranslation):
778         (WKViewUserViewportToContents):
779         (WKViewPaintToCurrentGLContext):
780         (WKViewPaintToCairoSurface):
781         * UIProcess/API/C/efl/WKView.h:
782
783             Added WKView API functions.
784
785         * UIProcess/API/efl/EwkView.cpp:
786         (EwkView::EwkView):
787         (EwkView::displayTimerFired):
788         (EwkView::feedTouchEvent):
789         (EwkView::createGLSurface):
790         (EwkView::handleEvasObjectCalculate):
791         (EwkView::handleEwkViewMouseWheel):
792         (EwkView::handleEwkViewMouseDown):
793         (EwkView::handleEwkViewMouseUp):
794         (EwkView::handleEwkViewMouseMove):
795         * UIProcess/API/efl/EwkView.h:
796         (EwkView):
797
798             Using new WKView API.
799
800         * UIProcess/efl/WebView.cpp:
801         (WebKit::WebView::initialize):
802         (WebKit):
803         (WebKit::WebView::paintToCurrentGLContext):
804         (WebKit::WebView::paintToCairoSurface):
805         (WebKit::WebView::userViewportToContents):
806         (WebKit::WebView::transformFromScene):
807         (WebKit::WebView::transformToScene):
808         (WebKit::WebView::coordinatedGraphicsScene):
809         (WebKit::WebView::enterAcceleratedCompositingMode):
810         (WebKit::WebView::exitAcceleratedCompositingMode):
811         * UIProcess/efl/WebView.h:
812         (WebCore):
813         (WebKit::WebView::setUserViewportTranslation):
814         (WebView):
815
816             Added WebView methods to support new WKView API.
817
818 2013-02-21  Dima Gorbik  <dgorbik@apple.com>
819
820         QuickTime plugin doesn't load when accelerated compositing is disabled
821         https://bugs.webkit.org/show_bug.cgi?id=110534
822
823         Reviewed by Anders Carlsson.
824
825         We shouldn't disable accelerated compositing for plugins, because
826         plugins such as QuickTime rely on this and will try to set other drawing
827         models that we don't support.
828
829         * WebProcess/Plugins/PluginView.cpp:
830         (WebKit::PluginView::isAcceleratedCompositingEnabled):
831
832 2013-02-21  Dean Jackson  <dino@apple.com>
833
834         Plug-in snapshotting code always accepts first snapshot
835         https://bugs.webkit.org/show_bug.cgi?id=110495
836
837         Reviewed by Tim Horton.
838
839         When we detect a plugin that can be snapshotted we start capturing
840         images until we find one that we believe isn't blank, or we timeout.
841         I introduced a regression recently where we swap renderers as
842         soon as the snapshot arrives, whether or not is is blank.
843
844         The fix was to have the embedder (currently only WK2) be the one
845         who tells the HTMLPlugInElement to start displaying snapshots.
846
847         * WebProcess/Plugins/PluginView.cpp:
848         (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
849         snapshot that we like, tell the HTMLPlugInElement to move to
850         the snapshot view.
851
852 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
853
854         Unreviewed. Fix make distcheck.
855
856         * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
857         scanner.
858         * GNUmakefile.list.am: Add missing header to compilation and
859         remove one that no longer exists.
860
861 2013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
862
863         [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
864         https://bugs.webkit.org/show_bug.cgi?id=110345
865
866         Reviewed by Andreas Kling.
867
868         WebView does not need to know about both PageViewportController and 
869         PageViewportControllerClientEfl. Considering the fact that PageViewportController
870         will stop being WK2 internal and will be based on WK2 C API, it 
871         should be owned by EwkView rather than WebView.
872
873         This patch is also a preparation for WKViewClient API extension to cover all
874         the places where PageViewportController and PageViewportControllerClientEfl
875         are accessed directly from WebView at the moment.
876
877         * UIProcess/API/efl/EwkView.cpp:
878         (EwkView::EwkView):
879         * UIProcess/API/efl/EwkView.h:
880         (WebKit):
881         (EwkView::pageViewportControllerClient):
882         (EwkView::pageViewportController):
883         (EwkView):
884         * UIProcess/efl/WebView.cpp:
885         (WebKit::WebView::didCommitLoad):
886         (WebKit::WebView::updateViewportSize):
887         (WebKit::WebView::didChangeContentsSize):
888         (WebKit::WebView::didChangeViewportProperties):
889         (WebKit::WebView::pageDidRequestScroll):
890         (WebKit::WebView::didRenderFrame):
891         (WebKit::WebView::pageTransitionViewportReady):
892         * UIProcess/efl/WebView.h:
893         (WebView):
894
895 2013-02-20  Tim Horton  <timothy_horton@apple.com>
896
897         Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
898         https://bugs.webkit.org/show_bug.cgi?id=110415
899         <rdar://problem/13095405>
900
901         Reviewed by Simon Fraser.
902
903         * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
904         (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
905         when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
906         (-[WKView beginDeferringViewInWindowChanges]):
907         (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
908         have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
909         the in-window state has actually changed.
910         (-[WKView isDeferringViewInWindowChanges]):
911         * UIProcess/API/mac/WKViewPrivate.h: 
912
913 2013-02-20  Kiran Muppala  <cmuppala@apple.com>
914
915         Disable window occlusion notifications for App Store on Mac.
916         https://bugs.webkit.org/show_bug.cgi?id=110417
917
918         Reviewed by Simon Fraser.
919
920         Temporary fix to workaround issues with window occlusion notifications
921         in App Store.
922
923         * UIProcess/API/mac/WKView.mm:
924         (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
925         if the main bundle identifier matches that of App Store.
926
927 2013-02-20  Mark Rowe  <mrowe@apple.com>
928
929         <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
930
931         This is the modern mechanism for applying entitlements to production builds,
932         and it simplifies the maintenance of entitlements going forward. It also allows
933         us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
934
935         Reviewed by Alexey Proskuryakov.
936
937         * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
938         * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
939         * Configurations/PluginService.32.xcconfig: Ditto.
940         * Configurations/PluginService.64.xcconfig: Ditto.
941         * Configurations/PluginService.Development.xcconfig: Ditto.
942         * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
943         Move the entitlements in to the Configurations directory to make them easier to find.
944         * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
945         in the script is not an issue with current versions of Xcode. If we see it again we can come
946         up with a workaround that doesn't involve performing the signing via a script phase.
947         * WebKit2.xcodeproj/project.pbxproj:
948
949 2013-02-20  Mark Rowe  <mrowe@apple.com>
950
951         <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
952
953         Reviewed by Dan Bernstein.
954
955         The only difference between the plists was the CFBundleIdentifier. Since the values are the
956         same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
957
958         * Configurations/PluginService.32.xcconfig:
959         * Configurations/PluginService.64.xcconfig:
960         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
961         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
962
963 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
964
965         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
966         https://bugs.webkit.org/show_bug.cgi?id=110379
967
968         Reviewed by Tim Horton.
969
970         Make the visible rect and exposed rects passed through
971         the drawing area to the tile cache FloatRects instead of IntRects.
972
973         * UIProcess/API/mac/WKView.mm:
974         (-[WKView setFrameSize:]):
975         (-[WKView _updateWindowAndViewFrames]):
976         (-[WKView enableFrameSizeUpdates]):
977         (-[WKView setMinimumWidthForAutoLayout:]):
978         * UIProcess/WebPageProxy.h:
979         * UIProcess/mac/WebPageProxyMac.mm:
980         (WebKit::WebPageProxy::viewExposedRectChanged):
981         * WebProcess/WebPage/DrawingArea.h:
982         (WebKit::DrawingArea::setExposedRect):
983         * WebProcess/WebPage/WebPage.cpp:
984         (WebKit::WebPage::viewExposedRectChanged):
985         * WebProcess/WebPage/WebPage.h:
986         * WebProcess/WebPage/WebPage.messages.in:
987         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
988         (TiledCoreAnimationDrawingArea):
989         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
990         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
991
992 2013-02-20  Dirk Schulze  <krit@webkit.org>
993
994         Enable CANVAS_PATH flag
995         https://bugs.webkit.org/show_bug.cgi?id=108508
996
997         Reviewed by Simon Fraser.
998
999         Enable CANVAS_PATH flag on trunk.
1000
1001         * Configurations/FeatureDefines.xcconfig:
1002
1003 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
1004
1005         Remove unnecessary includes for Platform.h from headers
1006         https://bugs.webkit.org/show_bug.cgi?id=110300
1007
1008         Reviewed by Alexey Proskuryakov.
1009
1010         wtf/Platform.h only need to be included in a few places directly    
1011         as it is included in config.h. Remove the unnecessay duplicate as    
1012         it can be confusing.
1013
1014         * Shared/PrintInfo.h:
1015
1016 2013-02-20  Huang Dongsung  <luxtella@company100.net>
1017
1018         [WK2] Remove m_viewportSize in WebPage.
1019         https://bugs.webkit.org/show_bug.cgi?id=110311
1020
1021         Reviewed by Anders Carlsson.
1022
1023         EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
1024         size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
1025         size.
1026
1027         EFL and Qt use m_viewSize as a contents size because the size of non compositing
1028         layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
1029         using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
1030         necessary to know m_viewSize when marking whole non compositing layer as dirty.
1031         So we can make EFL and Qt use m_viewSize as a viewport size also.
1032
1033         This patch removes m_viewportSize and related methods to increase readability.
1034
1035         * UIProcess/API/qt/raw/qrawwebview.cpp:
1036         (QRawWebView::setSize):
1037         * UIProcess/PageViewportController.cpp:
1038         (WebKit::PageViewportController::didChangeViewportSize):
1039         * UIProcess/WebPageProxy.cpp:
1040         (WebKit):
1041         * UIProcess/WebPageProxy.h:
1042         (WebPageProxy):
1043         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1044         (WebKit::WebChromeClient::pageRect):
1045         (WebKit::WebChromeClient::contentsSizeChanged):
1046         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1047         (WebKit::DrawingAreaImpl::updateBackingStoreState):
1048         * WebProcess/WebPage/WebPage.cpp:
1049         (WebKit::WebPage::setSize):
1050         (WebKit::WebPage::sendViewportAttributesChanged):
1051         * WebProcess/WebPage/WebPage.h:
1052         (WebPage):
1053         * WebProcess/WebPage/WebPage.messages.in:
1054
1055 2013-02-20  Huang Dongsung  <luxtella@company100.net>
1056
1057         [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
1058         https://bugs.webkit.org/show_bug.cgi?id=110299
1059
1060         Reviewed by Anders Carlsson.
1061
1062         Currently, we call setNeedsDisplay with the size of WebPage to mark whole
1063         backing store as dirty. However, the size of non compositing layer can be
1064         inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
1065         size of non compositing layer is contents size.
1066
1067         So, WebPage should not assume the size of non compositing layer, and should just
1068         call setNeedsDisplay when marking whole layer as dirty.
1069
1070         In addition, this patch renames from setNeedsDisplay() with a rect argument to
1071         setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
1072
1073         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1074         (WebKit::WebChromeClient::invalidateContentsAndRootView):
1075         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
1076         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1077         (WebKit::WebFrameLoaderClient::restoreViewState):
1078         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1079         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
1080         (WebKit):
1081         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
1082         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
1083         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1084         (CoordinatedLayerTreeHost):
1085         * WebProcess/WebPage/DrawingArea.h:
1086         (DrawingArea):
1087         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1088         (WebKit::DrawingAreaImpl::setNeedsDisplay):
1089         (WebKit):
1090         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
1091         (WebKit::DrawingAreaImpl::scroll):
1092         (WebKit::DrawingAreaImpl::forceRepaint):
1093         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
1094         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
1095         (WebKit::DrawingAreaImpl::resumePainting):
1096         * WebProcess/WebPage/DrawingAreaImpl.h:
1097         (DrawingAreaImpl):
1098         * WebProcess/WebPage/LayerTreeHost.h:
1099         (LayerTreeHost):
1100         * WebProcess/WebPage/WebPage.cpp:
1101         (WebKit::WebPage::setSize):
1102         (WebKit::WebPage::setDrawsBackground):
1103         (WebKit::WebPage::setDrawsTransparentBackground):
1104         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1105         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1106         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
1107         (WebKit):
1108         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
1109         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
1110         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1111         (LayerTreeHostGtk):
1112         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1113         (LayerTreeHostMac):
1114         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1115         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
1116         (WebKit):
1117         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
1118         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
1119         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1120         (RemoteLayerTreeDrawingArea):
1121         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1122         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
1123         (WebKit):
1124         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
1125         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1126         (TiledCoreAnimationDrawingArea):
1127         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1128         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
1129         (WebKit):
1130         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
1131
1132 2013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1133
1134         [EFL][WK2] Port EwkPopupMenuItem to the C API
1135         https://bugs.webkit.org/show_bug.cgi?id=108798
1136
1137         Reviewed by Kenneth Rohde Christiansen.
1138
1139         Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
1140         dependency on internal WebPopupItem type. Eina shared string members
1141         are now lazily initialized to make the object cheaper to construct.
1142
1143         * UIProcess/API/efl/ewk_popup_menu.cpp:
1144         (EwkPopupMenu::EwkPopupMenu):
1145         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
1146         (EwkPopupMenuItem::EwkPopupMenuItem):
1147         (EwkPopupMenuItem::type):
1148         (EwkPopupMenuItem::textDirection):
1149         (EwkPopupMenuItem::text):
1150         (EwkPopupMenuItem::tooltipText):
1151         (EwkPopupMenuItem::accessibilityText):
1152         (EwkPopupMenuItem::hasTextDirectionOverride):
1153         (EwkPopupMenuItem::isEnabled):
1154         (EwkPopupMenuItem::isLabel):
1155         (EwkPopupMenuItem::isSelected):
1156         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
1157         (EwkPopupMenuItem::create):
1158         (EwkPopupMenuItem):
1159
1160 2013-02-19  Tim Horton  <timothy_horton@apple.com>
1161
1162         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
1163         https://bugs.webkit.org/show_bug.cgi?id=110261
1164         <rdar://problem/13196122>
1165
1166         Reviewed by Simon Fraser.
1167
1168         * WebProcess/WebPage/WebPage.cpp:
1169         (WebKit::WebPage::setIsInWindow):
1170         Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
1171
1172 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
1173
1174         Allow UI clients to handle vertical wheel events.
1175         https://bugs.webkit.org/show_bug.cgi?id=110006
1176
1177         Reviewed by Tim Horton.
1178
1179         Add API to allow clients to selectively control rubber-banding at vertical page extrema.
1180
1181         * UIProcess/API/C/WKPage.cpp:
1182         (WKPageRubberBandsAtBottom):
1183         Proxy for the corresponding function in WebCore::Page.
1184         (WKPageSetRubberBandsAtBottom):
1185         Ditto.
1186         (WKPageRubberBandsAtTop):
1187         Ditto.
1188         (WKPageSetRubberBandsAtTop):
1189         Ditto.
1190
1191         * UIProcess/API/C/WKPage.h:
1192         Declare new API.
1193
1194         * UIProcess/WebPageProxy.cpp:
1195         (WebKit::WebPageProxy::WebPageProxy):
1196         Initialize new member variables.
1197         (WebKit::WebPageProxy::setRubberBandsAtBottom):
1198         New function; dispatches a matching message to the WebKit::WebPage.
1199         (WebKit::WebPageProxy::setRubberBandsAtTop):
1200         Ditto.
1201
1202         * UIProcess/WebPageProxy.h:
1203         (WebPageProxy):
1204         Declare new API.
1205         (WebKit::WebPageProxy::rubberBandsAtBottom):
1206         New accessor function.
1207         (WebKit::WebPageProxy::rubberBandsAtTop):
1208         Ditto.
1209
1210         * WebProcess/WebPage/WebPage.cpp:
1211         (WebKit::WebPage::setRubberBandsAtBottom):
1212         New function; call the matching function on the associated WebCore::Page.
1213         (WebKit::WebPage::setRubberBandsAtTop):
1214         Ditto.
1215
1216         * WebProcess/WebPage/WebPage.h:
1217         (WebPage):
1218         Declare new rubber-banding API.
1219
1220         * WebProcess/WebPage/WebPage.messages.in:
1221         Declare new rubber-banding API.
1222
1223 2013-02-19  Anders Carlsson  <andersca@apple.com>
1224
1225         StorageAreaProxy should know its quota
1226         https://bugs.webkit.org/show_bug.cgi?id=110268
1227
1228         Reviewed by Sam Weinig.
1229
1230         Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
1231
1232         * WebProcess/Storage/StorageAreaProxy.cpp:
1233         (WebKit::StorageAreaProxy::StorageAreaProxy):
1234         (WebKit::StorageAreaProxy::setItem):
1235         * WebProcess/Storage/StorageAreaProxy.h:
1236         (StorageAreaProxy):
1237         * WebProcess/Storage/StorageNamespaceProxy.cpp:
1238         (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
1239         (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
1240         * WebProcess/Storage/StorageNamespaceProxy.h:
1241         (WebKit::StorageNamespaceProxy::quota):
1242         (StorageNamespaceProxy):
1243
1244 2013-02-19  Alexey Proskuryakov  <ap@apple.com>
1245
1246         <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
1247
1248         Reviewed by Mark Rowe.
1249
1250         Don't keep a window server connection in processes that don't need it, and don't
1251         run an NSApplication run loop.
1252
1253         * Shared/ChildProcess.h:
1254         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
1255         Added a function to shut down connections, and to make sure we don't get one in the future.
1256
1257         * NetworkProcess/mac/NetworkProcessMac.mm:
1258         (WebKit::NetworkProcess::initializeProcessName):
1259         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
1260         (WebKit::OfflineStorageProcess::initializeProcessName):
1261         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
1262         (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
1263         some unused includes and forward declarations.
1264
1265 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
1266
1267         [WK2] Cannot load documents with blob urls
1268         https://bugs.webkit.org/show_bug.cgi?id=110160
1269
1270         Reviewed by Sam Weinig.
1271
1272         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
1273         Added knowledge about blobs.
1274
1275 2013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1276
1277         [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
1278         https://bugs.webkit.org/show_bug.cgi?id=110190
1279
1280         Reviewed by Anders Carlsson.
1281
1282         Add webkit_web_view_get_tls_info() and remove
1283         webkit_uri_response_get_https_status(). This way I can be sure
1284         that when called after load has been committed the certificate
1285         will be available. It also makes the API easier to use.
1286
1287         * UIProcess/API/gtk/WebKitURIResponse.cpp:
1288         * UIProcess/API/gtk/WebKitURIResponse.h:
1289         * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
1290         * UIProcess/API/gtk/WebKitWebView.cpp:
1291         (webkitWebViewLoadChanged):
1292         (mainResourceResponseChangedCallback):
1293         (webkit_web_view_get_tls_info):
1294         * UIProcess/API/gtk/WebKitWebView.h:
1295         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1296         * UIProcess/API/gtk/tests/TestSSL.cpp:
1297
1298 2013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1299
1300         [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
1301         https://bugs.webkit.org/show_bug.cgi?id=109794
1302
1303         Reviewed by Anders Carlsson.
1304
1305         * UIProcess/API/C/efl/WKView.cpp:
1306         (WKViewSetShowsAsSource):
1307         (WKViewGetShowsAsSource):
1308
1309             Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
1310             and WebPageProxy::mainFrameInViewSourceMode() calls.
1311
1312         (WKViewExitFullScreen):
1313
1314             Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
1315             calls.
1316
1317         * UIProcess/API/C/efl/WKView.h:
1318         * UIProcess/API/efl/EwkView.cpp:
1319         (EwkView::feedTouchEvent):
1320
1321             Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
1322             is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
1323             not access WebPage instance directly.
1324
1325         (EwkView::feedTouchEvents):
1326         * UIProcess/API/efl/EwkView.h:
1327         (EwkView):
1328         * UIProcess/API/efl/ewk_view.cpp:
1329         (ewk_view_feed_touch_event):
1330         (ewk_view_pagination_mode_set):
1331         (ewk_view_pagination_mode_get):
1332         (ewk_view_fullscreen_exit):
1333         (ewkViewPageContentsCallback):
1334         (ewk_view_page_contents_get):
1335         (ewk_view_source_mode_set):
1336         (ewk_view_source_mode_get):
1337
1338             Those are now using exported C API.
1339
1340         * UIProcess/efl/WebView.cpp:
1341         (WebKit::WebView::setShowsAsSource):
1342         (WebKit):
1343         (WebKit::WebView::showsAsSource):
1344         (WebKit::WebView::exitFullScreen):
1345         * UIProcess/efl/WebView.h:
1346         (WebView):
1347
1348             Added WebView methods to support added WKView API.
1349
1350 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
1351
1352         [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
1353         https://bugs.webkit.org/show_bug.cgi?id=110220
1354
1355         Reviewed by Allan Sandfeld Jensen.
1356
1357         If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
1358         no node was found for a given point, we hit ASSERT(node).
1359         We should only assert for a valid node if a zoomable area was found.
1360
1361         * WebProcess/WebPage/WebPage.cpp:
1362         (WebKit::WebPage::findZoomableAreaForPoint):
1363
1364 2013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1365
1366         Regression(r143273): Caused a lot of tests to time out
1367         https://bugs.webkit.org/show_bug.cgi?id=110212
1368
1369         Reviewed by Anders Carlsson.
1370
1371         StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
1372         should call their respective "*Internal" equivalent instead of calling themselves. This lead to
1373         a lot of time outs on our build bots.
1374
1375         * UIProcess/Storage/StorageManager.cpp:
1376         (WebKit::StorageManager::destroySessionStorageNamespace):
1377         (WebKit::StorageManager::cloneSessionStorageNamespace):
1378
1379 2013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1380
1381         [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
1382         https://bugs.webkit.org/show_bug.cgi?id=110125
1383
1384         Reviewed by Anders Carlsson.
1385
1386         This API is currently implemented caching all resources in the
1387         WebView which causes some problems in documents loading resources
1388         indefinitely. This API was used in WebKit1 mainly to implement
1389         webkit_web_view_save(), but we already have such API in
1390         WebKit2.
1391
1392         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1393         (didReceiveWebViewMessageFromInjectedBundle):
1394         * UIProcess/API/gtk/WebKitWebView.cpp:
1395         (_WebKitWebViewPrivate):
1396         (webkitWebViewLoadChanged):
1397         * UIProcess/API/gtk/WebKitWebView.h:
1398         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1399         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1400         * UIProcess/API/gtk/tests/TestResources.cpp:
1401         (testWebViewResources):
1402         (testWebResourceGetData):
1403
1404 2013-02-18  Christophe Dumez  <dchris@gmail.com>
1405
1406         [WK2][EFL] Stop using internal C++ API in ewk_error
1407         https://bugs.webkit.org/show_bug.cgi?id=108796
1408
1409         Reviewed by Benjamin Poulain.
1410
1411         Stop using internal C++ API in ewk_error and use C API instead of avoid
1412         violating API layering.
1413
1414         * UIProcess/API/efl/ewk_error.cpp:
1415         (EwkError::domain):
1416         (EwkError::isCancellation):
1417         (ewk_error_type_get):
1418         * UIProcess/API/efl/ewk_error_private.h:
1419         (EwkError):
1420
1421 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
1422
1423         Clean up the boolean argument to visibleContentRect
1424         https://bugs.webkit.org/show_bug.cgi?id=110167
1425
1426         Reviewed by Simon Fraser.
1427         
1428         Replace the boolean argument to visibleContentRect() with
1429         an enum.
1430
1431         * WebProcess/WebPage/WebFrame.cpp:
1432         (WebKit::WebFrame::visibleContentBounds):
1433         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
1434
1435 2013-02-18  Anders Carlsson  <andersca@apple.com>
1436
1437         Add a DefaultHash for RefPtr<SecurityOrigin>
1438         https://bugs.webkit.org/show_bug.cgi?id=110170
1439
1440         Reviewed by Andreas Kling.
1441
1442         Remove all explicit uses of SecurityOriginHash.
1443
1444         * UIProcess/Storage/StorageManager.cpp:
1445         (StorageManager::SessionStorageNamespace):
1446         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
1447         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
1448         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1449         (WebKit::InjectedBundle::originsWithApplicationCache):
1450         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1451         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
1452         for looking up security origins.
1453
1454         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1455         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
1456         This can just take a const reference.
1457
1458         * WebProcess/ResourceCache/WebResourceCacheManager.h:
1459
1460 2013-02-18  Anders Carlsson  <andersca@apple.com>
1461
1462         Begin stubbing out session storage classes
1463         https://bugs.webkit.org/show_bug.cgi?id=110168
1464
1465         Reviewed by Andreas Kling.
1466
1467         * UIProcess/Storage/StorageManager.cpp:
1468         (StorageManager::StorageArea):
1469         (WebKit):
1470         (WebKit::StorageManager::StorageArea::create):
1471         (WebKit::StorageManager::StorageArea::StorageArea):
1472         (WebKit::StorageManager::StorageArea::~StorageArea):
1473         (StorageManager::SessionStorageNamespace):
1474         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
1475         (WebKit::StorageManager::SessionStorageNamespace::create):
1476         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1477         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
1478         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1479         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1480         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
1481         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
1482         * UIProcess/Storage/StorageManager.h:
1483         (StorageManager):
1484
1485 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1486
1487         [EFL][WK2] Add C API for popup menu and popup item
1488         https://bugs.webkit.org/show_bug.cgi?id=109083
1489
1490         Reviewed by Anders Carlsson.
1491
1492         WK2 EFL delegates display of the popup menu to the browser which causes
1493         us to have a strong interdependency between internal C++ classes
1494         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
1495         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
1496
1497         Since we want to remove this interdependency, this patch introduces a
1498         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
1499         (WKPopupItem). It also introduces a WKPage client with callbacks for
1500         showPopupMenu and hidePopupMenu.
1501
1502         Note that the popup menu functionality is covered by ewk_popup_menu API
1503         tests and no functionality is lost.
1504
1505         * PlatformEfl.cmake: Add new files to EFL CMake config.
1506         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
1507         WKPopupMenuListenerRef.
1508         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
1509         platform.
1510         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
1511         and WKPopupMenuListenerRef API types.
1512         (WebKit):
1513         (WebKit::toAPI):
1514         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
1515         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
1516         client on the page.
1517         * UIProcess/API/C/efl/WKPageEfl.h: Added.
1518         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
1519         (WKPopupItemGetType):
1520         (WKPopupItemGetTextDirection):
1521         (WKPopupItemHasTextDirectionOverride):
1522         (WKPopupItemCopyText):
1523         (WKPopupItemCopyToolTipText):
1524         (WKPopupItemCopyAccessibilityText):
1525         (WKPopupItemIsEnabled):
1526         (WKPopupItemIsLabel):
1527         (WKPopupItemIsSelected):
1528         * UIProcess/API/C/efl/WKPopupItem.h: Added.
1529         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
1530         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
1531         client can report which popup menu item was selected.
1532         (WKPopupMenuListenerSetSelection):
1533         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
1534         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
1535         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
1536         (EwkView::requestPopupMenu):
1537         * UIProcess/API/efl/EwkView.h:
1538         (WebKit):
1539         (EwkView):
1540         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
1541         (EwkPopupMenu::EwkPopupMenu):
1542         (EwkPopupMenu::setSelectedIndex):
1543         * UIProcess/API/efl/ewk_popup_menu_private.h:
1544         (EwkPopupMenu::create):
1545         (EwkPopupMenu):
1546         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
1547         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
1548         (WebKit::WebPageProxy::close):
1549         (WebKit::WebPageProxy::showPopupMenu):
1550         (WebKit::WebPageProxy::hidePopupMenu):
1551         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
1552         corresponding initialization method.
1553         (WebPageProxy):
1554         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
1555         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
1556         for this now.
1557         (WebPopupMenuProxy):
1558         * UIProcess/efl/PageUIClientEfl.cpp:
1559         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
1560         callbacks and call corresponding EwkView methods. Previously, the EwkView
1561         methods were called by the internal WebPageProxyEfl class which is no
1562         longer needed.
1563         (WebKit::PageUIClientEfl::showPopupMenu):
1564         (WebKit):
1565         (WebKit::PageUIClientEfl::hidePopupMenu):
1566         * UIProcess/efl/PageUIClientEfl.h:
1567         (PageUIClientEfl):
1568         * UIProcess/efl/WebPageProxyEfl.cpp:
1569         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
1570         (WebKit):
1571         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
1572         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
1573         (WebKit):
1574         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
1575         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
1576         * UIProcess/efl/WebPopupItemEfl.h: Added.
1577         (WebKit):
1578         (WebPopupItemEfl):
1579         (WebKit::WebPopupItemEfl::create):
1580         (WebKit::WebPopupItemEfl::data):
1581         (WebKit::WebPopupItemEfl::itemType):
1582         (WebKit::WebPopupItemEfl::text):
1583         (WebKit::WebPopupItemEfl::textDirection):
1584         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
1585         (WebKit::WebPopupItemEfl::toolTipText):
1586         (WebKit::WebPopupItemEfl::accessibilityText):
1587         (WebKit::WebPopupItemEfl::isEnabled):
1588         (WebKit::WebPopupItemEfl::isLabel):
1589         (WebKit::WebPopupItemEfl::isSelected):
1590         (WebKit::WebPopupItemEfl::type):
1591         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
1592         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
1593         it more accurately represents its functionality now.
1594         (WebKit):
1595         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
1596         (WebKit::WebPopupMenuListenerEfl::valueChanged):
1597         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
1598         (WebKit):
1599         (WebPopupMenuListenerEfl):
1600         (WebKit::WebPopupMenuListenerEfl::create):
1601         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
1602         (WebUIPopupMenuClient::showPopupMenu):
1603         (WebUIPopupMenuClient::hidePopupMenu):
1604         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
1605         (WebKit):
1606         (WebUIPopupMenuClient):
1607         * UIProcess/efl/WebView.cpp:
1608         (WebKit::WebView::createPopupMenuProxy):
1609
1610 2013-02-18  Anders Carlsson  <andersca@apple.com>
1611
1612         Add StorageManager member functions for keeping track of session storage namespaces
1613         https://bugs.webkit.org/show_bug.cgi?id=110163
1614
1615         Reviewed by Andreas Kling.
1616
1617         * UIProcess/Storage/StorageManager.cpp:
1618         (WebKit::StorageManager::createSessionStorageNamespace):
1619         (WebKit):
1620         (WebKit::StorageManager::destroySessionStorageNamespace):
1621         (WebKit::StorageManager::cloneSessionStorageNamespace):
1622         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1623         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
1624         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
1625         * UIProcess/Storage/StorageManager.h:
1626         (StorageManager):
1627         * UIProcess/WebContext.h:
1628         (WebKit::WebContext::storageManager):
1629         (WebContext):
1630         * UIProcess/WebPageProxy.cpp:
1631         (WebKit::WebPageProxy::WebPageProxy):
1632         (WebKit::WebPageProxy::close):
1633         (WebKit::WebPageProxy::createNewPage):
1634
1635 2013-02-18  Anders Carlsson  <andersca@apple.com>
1636
1637         StorageManager message handlers should take the connection
1638         https://bugs.webkit.org/show_bug.cgi?id=110151
1639
1640         Reviewed by Andreas Kling.
1641
1642         * Platform/CoreIPC/HandleMessage.h:
1643         (CoreIPC):
1644         (CoreIPC::callMemberFunction):
1645         (CoreIPC::handleMessage):
1646         * Scripts/webkit2/messages.py:
1647         (sync_message_statement):
1648         (generate_message_handler):
1649         * UIProcess/Storage/StorageManager.cpp:
1650         (WebKit::StorageManager::createStorageArea):
1651         (WebKit::StorageManager::destroyStorageArea):
1652         (WebKit::StorageManager::getValues):
1653         * UIProcess/Storage/StorageManager.h:
1654         (StorageManager):
1655         * UIProcess/Storage/StorageManager.messages.in:
1656
1657 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
1658
1659         [EFL][WK2] Use C API inside ewk_security_origin
1660         https://bugs.webkit.org/show_bug.cgi?id=107923
1661
1662         Reviewed by Alexey Proskuryakov.
1663
1664         Use C API inside ewk_security_origin instead of accessing
1665         directly internal C++ classes, to avoid breaking API
1666         layering.
1667
1668         * UIProcess/API/efl/EwkView.cpp:
1669         (EwkView::enterFullScreen):
1670         * UIProcess/API/efl/ewk_security_origin.cpp:
1671         (EwkSecurityOrigin::EwkSecurityOrigin):
1672         * UIProcess/API/efl/ewk_security_origin_private.h:
1673         (EwkSecurityOrigin::create):
1674         (EwkSecurityOrigin):
1675
1676 2013-01-04  Jer Noble  <jer.noble@apple.com>
1677
1678         pinch-zooming webpage messes up full-screening of embedded video
1679         https://bugs.webkit.org/show_bug.cgi?id=106115
1680
1681         Reviewed by Maciej Stachowiak.
1682
1683         Reset the page scale when entering full screen, and reset to the original scale when exiting.
1684
1685         * UIProcess/mac/WKFullScreenWindowController.h:
1686         * UIProcess/mac/WKFullScreenWindowController.mm:
1687         (-[WKFullScreenWindowController enterFullScreen:]):
1688         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
1689
1690 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1691
1692         [EFL][WK2] Disable failing API tests
1693         https://bugs.webkit.org/show_bug.cgi?id=110081
1694
1695         Reviewed by Kenneth Rohde Christiansen.
1696
1697         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
1698
1699         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1700         (TEST_F):
1701
1702 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1703
1704         [Qt][WK2] Support WK2 API tests
1705         https://bugs.webkit.org/show_bug.cgi?id=109843
1706
1707         Reviewed by Jocelyn Turcotte.
1708
1709         * UIProcess/API/qt/qquickwebview_p.h:
1710         (TestWebKitAPI):
1711
1712 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
1713
1714         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
1715         https://bugs.webkit.org/show_bug.cgi?id=108337
1716
1717         Reviewed by Jocelyn Turcotte.
1718
1719         We should not ignore content position changes unless pinch zoom or bounce-back
1720         animation is ongoing.
1721         This way we notify the web process about visible rect changes if the contentX
1722         and contentY properties are used to programmatically scroll the content from QML.
1723         One important usecase for this is when implementing scrollbars.
1724
1725         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1726         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
1727         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
1728         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
1729         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
1730         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
1731         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
1732
1733 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1734
1735         [WK2][EFL] Unified text checker implementation
1736         https://bugs.webkit.org/show_bug.cgi?id=107682
1737
1738         Reviewed by Anders Carlsson.
1739
1740         * UIProcess/efl/TextCheckerEfl.cpp:
1741         (WebKit):
1742         (WebKit::nextWordOffset):
1743         Helper function to determine the word offset to do not call
1744         client's checkSpellingOfString for the word separators.
1745
1746         (WebKit::TextChecker::checkTextOfParagraph):
1747         Allow to check spelling for multiple words,
1748         their misspelling location and length are saved to the vector.
1749
1750         * WebProcess/WebCoreSupport/WebEditorClient.h:
1751         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
1752
1753         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
1754         (WebKit):
1755         (WebKit::WebEditorClient::checkTextOfParagraph):
1756         As spelling implementation is exposed to UIProcess,
1757         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
1758
1759 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1760
1761         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
1762         https://bugs.webkit.org/show_bug.cgi?id=108598
1763
1764         Reviewed by Kenneth Rohde Christiansen.
1765
1766         Refactor the Ewk_Favicon code so that it no longer relies on internal
1767         C++ API and so that it is based solely on the C API. The API is changed
1768         a little as well so that the Favicon URL is no longer exposed to the
1769         client. Also the client is now only notified of icon changes once the
1770         favicon data is actually available.
1771
1772         The API is covered by existing API tests and by MiniBrowser which are
1773         both updated accordingly in this patch.
1774
1775         * UIProcess/API/efl/EwkView.cpp:
1776         (EwkView::informURLChange):
1777         (EwkView::createFavicon):
1778         (EwkView::onFaviconChanged):
1779         * UIProcess/API/efl/EwkView.h:
1780         (EwkView):
1781         * UIProcess/API/efl/EwkViewCallbacks.h:
1782         * UIProcess/API/efl/ewk_favicon_database.cpp:
1783         Client are now notified of favicon changes only when the favicon data
1784         becomes available and make API to retrieve a favicon synchronous. NULL
1785         is returned if the favicon data is not available.
1786
1787         (EwkFaviconDatabase::EwkFaviconDatabase):
1788         (EwkFaviconDatabase::getIconSurfaceSynchronously):
1789         (EwkFaviconDatabase::iconDataReadyForPageURL):
1790         (ewk_favicon_database_icon_get):
1791         * UIProcess/API/efl/ewk_favicon_database.h:
1792         * UIProcess/API/efl/ewk_favicon_database_private.h:
1793         (EwkFaviconDatabase):
1794         * UIProcess/API/efl/ewk_view.cpp:
1795         (ewk_view_favicon_get):
1796         * UIProcess/API/efl/ewk_view.h:
1797         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
1798         consistency with the rest of the favicon API. Remove API to retrieve
1799         the favicon URL and replace it by one to retrieve the favicon image as
1800         an Evas_Object instead.
1801
1802         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
1803         Update API tests to use the new favicon API.
1804
1805 2013-02-17  Jae Hyun Park  <jae.park@company100.net>
1806
1807         Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
1808         https://bugs.webkit.org/show_bug.cgi?id=109893
1809
1810         Reviewed by Anders Carlsson.
1811
1812         DrawingAreaImpl::createGraphicsContext() is unnecessary since
1813         createGraphicsContext can be called directly using ShareableBitmap.
1814
1815         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1816         (WebKit::DrawingAreaImpl::display):
1817         * WebProcess/WebPage/DrawingAreaImpl.h:
1818         (DrawingAreaImpl):
1819
1820 2013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1821
1822         [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
1823         https://bugs.webkit.org/show_bug.cgi?id=109451
1824
1825         Reviewed by Anders Carlsson.
1826
1827         Remove fullscreen manager proxy as a message receiver on invalidate(), like
1828         other ports do after r142160.
1829
1830         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
1831         (WebKit::WebFullScreenManagerProxy::invalidate):
1832
1833 2013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1834
1835         Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
1836         https://bugs.webkit.org/show_bug.cgi?id=110053
1837
1838         Reviewed by Alexey Proskuryakov.
1839
1840         Clear m_plugins in loadPluginsIfNecessary() before populating the
1841         vector again. We get duplicates otherwise.
1842
1843         * UIProcess/Plugins/PluginInfoStore.cpp:
1844         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
1845
1846 2013-02-16  Andreas Kling  <akling@apple.com>
1847
1848         Remove multi-threading gunk from PluginInfoStore.
1849         <http://webkit.org/b/110046>
1850
1851         Reviewed by Alexey Proskuryakov.
1852
1853         PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
1854         and stop making isolated copies of everything.
1855
1856         * Shared/Plugins/PluginModuleInfo.h:
1857         (PluginModuleInfo):
1858         * UIProcess/Plugins/PluginInfoStore.cpp:
1859         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
1860         (WebKit::PluginInfoStore::plugins):
1861         (WebKit::PluginInfoStore::findPluginForMIMEType):
1862         (WebKit::PluginInfoStore::findPluginForExtension):
1863         (WebKit::PluginInfoStore::findPlugin):
1864         (WebKit::PluginInfoStore::infoForPluginWithPath):
1865         * UIProcess/Plugins/PluginInfoStore.h:
1866         (PluginInfoStore):
1867
1868 2013-02-16  Sam Weinig  <sam@webkit.org>
1869
1870         Fix non-production builds.
1871
1872         * WebKit2.xcodeproj/project.pbxproj:
1873
1874 2013-02-16  Sam Weinig  <sam@webkit.org>
1875
1876         The Plugin.32 target does not build
1877         https://bugs.webkit.org/show_bug.cgi?id=110032
1878
1879         Reviewed by Anders Carlsson.
1880
1881         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
1882         This was meant to be removed already.
1883
1884         * WebKit2.xcodeproj/project.pbxproj:
1885         Add Plugin.32 as dependency in All as it should be.
1886
1887 2013-02-16  Darin Adler  <darin@apple.com>
1888
1889         Fix WKDOMRangePrivate.h mistakes
1890         https://bugs.webkit.org/show_bug.cgi?id=110028
1891
1892         Reviewed by Ryosuke Niwa.
1893
1894         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
1895         Added include of WKDOMRangePrivate.h.
1896
1897         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
1898         Fixed class name and include to be WKDOMRange.
1899         Fixed method name, _copyBundleRangeHandleRef, to match the
1900         name in the source file.
1901
1902 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
1903
1904         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
1905         https://bugs.webkit.org/show_bug.cgi?id=109996
1906
1907         Reviewed by Simon Fraser.
1908
1909         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1910         (InitWebCoreSystemInterface):
1911
1912 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1913
1914         Unreviewed, rolling out r143088.
1915         http://trac.webkit.org/changeset/143088
1916         https://bugs.webkit.org/show_bug.cgi?id=110000
1917
1918         Breaks the build (Requested by dgorbik on #webkit).
1919
1920         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1921         (InitWebCoreSystemInterface):
1922
1923 2013-02-15  Kiran Muppala  <cmuppala@apple.com>
1924
1925         Disable sudden termination on Mac
1926         https://bugs.webkit.org/show_bug.cgi?id=109990
1927
1928         Reviewed by Mark Rowe.
1929
1930         Sudden Termination is causing WebContent XPC services to be killed in
1931         response to memory pressure.  Hence, disable it until we can identify
1932         if it is being enabled in error or not.
1933
1934         * Shared/mac/ChildProcessMac.mm:
1935         (WebKit::ChildProcess::platformInitialize): Add call to
1936         [NSProcessInfo disableSuddenTermination].
1937
1938 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
1939
1940         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
1941         https://bugs.webkit.org/show_bug.cgi?id=109996
1942
1943         Reviewed by Simon Fraser.
1944
1945         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1946         (InitWebCoreSystemInterface):
1947
1948 2013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1949
1950         [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
1951         https://bugs.webkit.org/show_bug.cgi?id=109216
1952
1953         Reviewed by Benjamin Poulain.
1954
1955         Only make calls into DrawingAreaProxy pointer after checking its state.
1956
1957         When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
1958         its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
1959         try to access the object to update the geometry and forward this information
1960         into the WebProcess. This would create a crash scenario that is fixed by this patch.
1961
1962         * UIProcess/API/qt/qquickwebview.cpp:
1963         (QQuickWebViewPrivate::didRelaunchProcess):
1964         (QQuickWebViewLegacyPrivate::updateViewportSize):
1965
1966 2013-02-15  Anders Carlsson  <andersca@apple.com>
1967
1968         Add HashMap::isValidKey and HashSet::isValidValue
1969         https://bugs.webkit.org/show_bug.cgi?id=109977
1970
1971         Reviewed by Sam Weinig and Darin Adler.
1972
1973         Just call HashMap::isValidKey directly.
1974
1975         * UIProcess/WebProcessProxy.cpp:
1976         (WebKit::generatePageID):
1977         Initialize the id to 0 and use prefix increment.
1978
1979         (WebKit::WebProcessProxy::webFrame):
1980         (WebKit::WebProcessProxy::canCreateFrame):
1981         (WebKit::WebProcessProxy::didDestroyFrame):
1982
1983 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1984
1985         Typo fix after r143064.
1986
1987         * Platform/CoreIPC/win/ConnectionWin.cpp:
1988         (CoreIPC::Connection::sendOutgoingMessage):
1989
1990 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1991
1992         One more buildfix after r143052.
1993
1994         * Platform/CoreIPC/win/ConnectionWin.cpp:
1995         (CoreIPC::Connection::sendOutgoingMessage):
1996
1997 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
1998
1999         Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
2000
2001         * Platform/unix/SharedMemoryUnix.cpp:
2002         (WebKit::SharedMemory::Handle::encode):
2003         * Platform/win/SharedMemoryWin.cpp:
2004         (WebKit::SharedMemory::Handle::encode):
2005         * Shared/Network/NetworkResourceLoadParameters.cpp:
2006         (WebKit::NetworkResourceLoadParameters::encode):
2007         * Shared/WebBatteryStatus.cpp:
2008         (WebKit::WebBatteryStatus::Data::encode):
2009         * Shared/WebNetworkInfo.cpp:
2010         (WebKit::WebNetworkInfo::Data::encode):
2011         * Shared/efl/LayerTreeContextEfl.cpp:
2012         (WebKit::LayerTreeContext::encode):
2013         * Shared/gtk/LayerTreeContextGtk.cpp:
2014         (WebKit::LayerTreeContext::encode):
2015         * Shared/qt/LayerTreeContextQt.cpp:
2016         (WebKit::LayerTreeContext::encode):
2017         * Shared/qt/QtNetworkReplyData.cpp:
2018         (WebKit::QtNetworkReplyData::encode):
2019         * Shared/qt/QtNetworkRequestData.cpp:
2020         (WebKit::QtNetworkRequestData::encode):
2021         * Shared/soup/PlatformCertificateInfo.cpp:
2022         (WebKit::PlatformCertificateInfo::encode):
2023
2024 2013-02-15  Anders Carlsson  <andersca@apple.com>
2025
2026         Make most ArgumentEncoder::encode member functions private
2027         https://bugs.webkit.org/show_bug.cgi?id=109973
2028
2029         Reviewed by Sam Weinig.
2030
2031         Make the encode overloads private; the stream operator should be used instead.
2032
2033         * Platform/CoreIPC/ArgumentEncoder.h:
2034         (ArgumentEncoder):
2035         * Platform/CoreIPC/Arguments.h:
2036         (CoreIPC::Arguments1::encode):
2037         (CoreIPC::Arguments2::encode):
2038         (CoreIPC::Arguments3::encode):
2039         (CoreIPC::Arguments4::encode):
2040         (CoreIPC::Arguments5::encode):
2041         (CoreIPC::Arguments6::encode):
2042         (CoreIPC::Arguments7::encode):
2043         (CoreIPC::Arguments8::encode):
2044         (CoreIPC::Arguments10::encode):
2045         * Platform/CoreIPC/Connection.cpp:
2046         (CoreIPC::Connection::createSyncMessageEncoder):
2047         * Platform/CoreIPC/MessageEncoder.cpp:
2048         (CoreIPC::MessageEncoder::MessageEncoder):
2049         * Scripts/webkit2/messages.py:
2050         (generate_message_handler):
2051         * Scripts/webkit2/messages_unittest.py:
2052         * Shared/Network/NetworkResourceLoadParameters.cpp:
2053         (WebKit::NetworkResourceLoadParameters::encode):
2054         * WebProcess/WebPage/EncoderAdapter.cpp:
2055         (WebKit::EncoderAdapter::EncoderAdapter):
2056         (WebKit::EncoderAdapter::encodeBytes):
2057         (WebKit::EncoderAdapter::encodeBool):
2058         (WebKit::EncoderAdapter::encodeUInt16):
2059         (WebKit::EncoderAdapter::encodeUInt32):
2060         (WebKit::EncoderAdapter::encodeUInt64):
2061         (WebKit::EncoderAdapter::encodeInt32):
2062         (WebKit::EncoderAdapter::encodeInt64):
2063         (WebKit::EncoderAdapter::encodeFloat):
2064         (WebKit::EncoderAdapter::encodeDouble):
2065         (WebKit::EncoderAdapter::encodeString):
2066
2067 2013-02-15  Anders Carlsson  <andersca@apple.com>
2068
2069         Add a synchronous GetValues message to StorageManager
2070         https://bugs.webkit.org/show_bug.cgi?id=109968
2071
2072         Reviewed by Sam Weinig.
2073
2074         * Platform/CoreIPC/Connection.cpp:
2075         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2076         Handle synchronous messages.
2077
2078         (CoreIPC::Connection::processIncomingMessage):
2079         Check for work queue message receivers before doing any other processing.
2080
2081         * UIProcess/Storage/StorageManager.cpp:
2082         (WebKit::StorageManager::getValues):
2083         Add empty stub.
2084
2085         * UIProcess/Storage/StorageManager.h:
2086         * UIProcess/Storage/StorageManager.messages.in:
2087         Add GetValues message.
2088
2089         * WebProcess/Storage/StorageAreaProxy.cpp:
2090         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
2091         Send the GetValues message.
2092
2093 2013-02-15  Anders Carlsson  <andersca@apple.com>
2094
2095         A storage area should know its storage type
2096         https://bugs.webkit.org/show_bug.cgi?id=109964
2097
2098         Reviewed by Andreas Kling.
2099
2100         * WebProcess/Storage/StorageAreaProxy.cpp:
2101         (WebKit::StorageAreaProxy::StorageAreaProxy):
2102         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
2103         * WebProcess/Storage/StorageAreaProxy.h:
2104         (StorageAreaProxy):
2105         * WebProcess/Storage/StorageNamespaceProxy.cpp:
2106         (WebKit::StorageNamespaceProxy::storageType):
2107         (WebKit):
2108         * WebProcess/Storage/StorageNamespaceProxy.h:
2109         (StorageNamespaceProxy):
2110
2111 2013-02-15  Anders Carlsson  <andersca@apple.com>
2112
2113         Implement StorageAreaProxy::length
2114         https://bugs.webkit.org/show_bug.cgi?id=109962
2115
2116         Reviewed by Andreas Kling.
2117
2118         * WebProcess/Storage/StorageAreaProxy.cpp:
2119         (WebKit::StorageAreaProxy::length):
2120         Load the values if needed and then return the length.
2121
2122         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
2123         Add helper function.
2124
2125         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
2126         Just allocate the hash map for now.
2127
2128         * WebProcess/Storage/StorageAreaProxy.h:
2129         (StorageAreaProxy):
2130
2131 2013-02-15  Anders Carlsson  <andersca@apple.com>
2132
2133         Remove const from a bunch of StorageArea member functions
2134         https://bugs.webkit.org/show_bug.cgi?id=109957
2135
2136         Reviewed by Beth Dakin.
2137
2138         Update for WebCore changes.
2139
2140         * WebProcess/Storage/StorageAreaProxy.cpp:
2141         (WebKit::StorageAreaProxy::length):
2142         (WebKit::StorageAreaProxy::key):
2143         (WebKit::StorageAreaProxy::getItem):
2144         (WebKit::StorageAreaProxy::contains):
2145         (WebKit::StorageAreaProxy::canAccessStorage):
2146         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
2147         * WebProcess/Storage/StorageAreaProxy.h:
2148         (StorageAreaProxy):
2149
2150 2013-02-15  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2151
2152         [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
2153         https://bugs.webkit.org/show_bug.cgi?id=107821
2154
2155         Reviewed by Anders Carlsson.
2156
2157         BatteryProvider and NetworkInfoProvider should use C API
2158         instead of accessing the internal C++ classes directly.
2159
2160         * UIProcess/API/efl/ewk_context.cpp:
2161         (EwkContext::EwkContext):
2162         * UIProcess/efl/BatteryProvider.cpp:
2163         (BatteryProvider::~BatteryProvider):
2164         (BatteryProvider::create):
2165         (BatteryProvider::BatteryProvider):
2166         (BatteryProvider::didChangeBatteryStatus):
2167         * UIProcess/efl/BatteryProvider.h:
2168         (BatteryProvider):
2169         * UIProcess/efl/NetworkInfoProvider.cpp:
2170         (NetworkInfoProvider::create):
2171         (NetworkInfoProvider::NetworkInfoProvider):
2172         (NetworkInfoProvider::~NetworkInfoProvider):
2173         * UIProcess/efl/NetworkInfoProvider.h:
2174         (NetworkInfoProvider):
2175
2176 2013-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2177
2178         [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
2179         https://bugs.webkit.org/show_bug.cgi?id=109038
2180
2181         Reviewed by Anders Carlsson.
2182
2183         EFL API is defensive by its nature and expects graceful handling of wrong function arguments
2184         whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
2185         which provides handling of wrong arguments, to be used within EFL API layer code.
2186
2187         * UIProcess/API/efl/EwkView.cpp:
2188         (toEwkView):
2189
2190             EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
2191             as it's used within EwkView class only.        
2192
2193         (EwkView::handleTouchMove):
2194         * UIProcess/API/efl/EwkView.h:
2195         * UIProcess/API/efl/ewk_view.cpp:
2196         (toEwkViewChecked):
2197
2198 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2199
2200         [EFL][WK2] Have WebView subclass PageClient
2201         https://bugs.webkit.org/show_bug.cgi?id=109684
2202
2203         Reviewed by Anders Carlsson.
2204
2205         Stop constructing the PageClient in EwkView. PageClient is an internal
2206         class and we should not use it directly in our Ewk implementation.
2207         Instead, have WebView subclass PageClient. The PageClient implementation
2208         just calls WebView methods otherwise.
2209
2210         * PlatformEfl.cmake:
2211         * UIProcess/API/efl/EwkView.cpp:
2212         (EwkView::EwkView):
2213         (EwkView::setSize):
2214         * UIProcess/API/efl/EwkView.h:
2215         (WebKit):
2216         (EwkView):
2217         (EwkView::webView):
2218         * UIProcess/API/efl/ewk_view.cpp:
2219         * UIProcess/efl/PageClientBase.cpp: Removed.
2220         * UIProcess/efl/PageClientBase.h: Removed.
2221         * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
2222         * UIProcess/efl/PageClientDefaultImpl.h: Removed.
2223         * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
2224         * UIProcess/efl/PageClientLegacyImpl.h: Removed.
2225         * UIProcess/efl/PageLoadClientEfl.cpp:
2226         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2227         * UIProcess/efl/PageViewportControllerClientEfl.h:
2228         * UIProcess/efl/WebPageProxyEfl.cpp:
2229         (WebKit::WebPageProxy::viewWidget):
2230         * UIProcess/efl/WebView.cpp:
2231         (WebKit::WebView::WebView):
2232         (WebKit::WebView::~WebView):
2233         (WebKit::WebView::initialize):
2234         (WebKit):
2235         (WebKit::WebView::evasObject):
2236         (WebKit::WebView::setThemePath):
2237         (WebKit::WebView::setDrawsBackground):
2238         (WebKit::WebView::drawsBackground):
2239         (WebKit::WebView::setDrawsTransparentBackground):
2240         (WebKit::WebView::drawsTransparentBackground):
2241         (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
2242         (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
2243         (WebKit::WebView::didCommitLoad):
2244         (WebKit::WebView::updateViewportSize):
2245         (WebKit::WebView::didChangeContentsSize):
2246         (WebKit::WebView::createDrawingAreaProxy):
2247         (WebKit::WebView::setViewNeedsDisplay):
2248         (WebKit::WebView::displayView):
2249         (WebKit::WebView::scrollView):
2250         (WebKit::WebView::viewSize):
2251         (WebKit::WebView::isViewWindowActive):
2252         (WebKit::WebView::isViewFocused):
2253         (WebKit::WebView::isViewVisible):
2254         (WebKit::WebView::isViewInWindow):
2255         (WebKit::WebView::processDidCrash):
2256         (WebKit::WebView::didRelaunchProcess):
2257         (WebKit::WebView::pageClosed):
2258         (WebKit::WebView::toolTipChanged):
2259         (WebKit::WebView::setCursor):
2260         (WebKit::WebView::setCursorHiddenUntilMouseMoves):
2261         (WebKit::WebView::registerEditCommand):
2262         (WebKit::WebView::clearAllEditCommands):
2263         (WebKit::WebView::canUndoRedo):
2264         (WebKit::WebView::executeUndoRedo):
2265         (WebKit::WebView::screenToWindow):
2266         (WebKit::WebView::windowToScreen):
2267         (WebKit::WebView::doneWithKeyEvent):
2268         (WebKit::WebView::doneWithTouchEvent):
2269         (WebKit::WebView::createPopupMenuProxy):
2270         (WebKit::WebView::createContextMenuProxy):
2271         (WebKit::WebView::createColorChooserProxy):
2272         (WebKit::WebView::setFindIndicator):
2273         (WebKit::WebView::enterAcceleratedCompositingMode):
2274         (WebKit::WebView::exitAcceleratedCompositingMode):
2275         (WebKit::WebView::updateAcceleratedCompositingMode):
2276         (WebKit::WebView::didCommitLoadForMainFrame):
2277         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
2278         (WebKit::WebView::customRepresentationZoomFactor):
2279         (WebKit::WebView::setCustomRepresentationZoomFactor):
2280         (WebKit::WebView::flashBackingStoreUpdates):
2281         (WebKit::WebView::findStringInCustomRepresentation):
2282         (WebKit::WebView::countStringMatchesInCustomRepresentation):
2283         (WebKit::WebView::updateTextInputState):
2284         (WebKit::WebView::handleDownloadRequest):
2285         (WebKit::WebView::convertToDeviceSpace):
2286         (WebKit::WebView::convertToUserSpace):
2287         (WebKit::WebView::didChangeViewportProperties):
2288         (WebKit::WebView::pageDidRequestScroll):
2289         (WebKit::WebView::didRenderFrame):
2290         (WebKit::WebView::pageTransitionViewportReady):
2291         * UIProcess/efl/WebView.h:
2292         (WebKit):
2293         (WebView):
2294         (WebKit::WebView::pageRef):
2295         (WebKit::WebView::page):
2296         (WebKit::WebView::canScrollView):
2297
2298 2013-02-15  Milian Wolff  <milian.wolff@kdab.com>
2299
2300         [Qt] Restore URL Scheme Delegates after QtWebProcess crash
2301         https://bugs.webkit.org/show_bug.cgi?id=108808
2302
2303         When the QtWebProcess crashes, the registered URL Scheme
2304         Delegates are not properly restored over IPC in the newly
2305         launched process instance.
2306
2307         Reviewed by Simon Hausmann.
2308
2309         * UIProcess/API/qt/qquickwebview.cpp:
2310         (QQuickWebViewPrivate::didRelaunchProcess):
2311         (QQuickWebViewPrivate::updateSchemeDelegates):
2312         * UIProcess/API/qt/qquickwebview_p_p.h:
2313         (QQuickWebViewPrivate):
2314
2315 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2316
2317         Simplify hitTestResultAtPoint and nodesFromRect APIs
2318         https://bugs.webkit.org/show_bug.cgi?id=95720
2319
2320         Reviewed by Julien Chaffraix and Maciej Stachowiak.
2321
2322         Update calls to new API and update exported symbols.
2323
2324         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
2325         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
2326         * WebProcess/WebPage/WebFrame.cpp:
2327         (WebKit::WebFrame::hitTest):
2328         * WebProcess/WebPage/WebPage.cpp:
2329         (WebKit::handleContextMenuEvent):
2330         (WebKit::WebPage::highlightPotentialActivation):
2331         (WebKit::WebPage::findZoomableAreaForPoint):
2332         * WebProcess/WebPage/mac/WebPageMac.mm:
2333         (WebKit::WebPage::characterIndexForPoint):
2334         (WebKit::WebPage::performDictionaryLookupAtLocation):
2335         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
2336         (WebKit::WebPage::acceptsFirstMouse):
2337
2338 2013-02-14  Huang Dongsung  <luxtella@company100.net>
2339
2340         [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
2341         https://bugs.webkit.org/show_bug.cgi?id=109885
2342
2343         Reviewed by Simon Fraser.
2344
2345         Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
2346         scrollOffset. So this patch corrects this misnaming.
2347
2348         In addition, all subclasses of LayerTreeHost don't use the misnamed
2349         scrollOffset in scrollNonCompositedContents(), so this patch removes the
2350         scrollOffset argument.
2351
2352         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2353         (WebKit::WebChromeClient::scroll):
2354         * WebProcess/WebCoreSupport/WebChromeClient.h:
2355         (WebChromeClient):
2356         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2357         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2358         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2359         (CoordinatedLayerTreeHost):
2360         * WebProcess/WebPage/DrawingArea.h:
2361         (DrawingArea):
2362         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2363         (WebKit::DrawingAreaImpl::scroll):
2364         * WebProcess/WebPage/DrawingAreaImpl.h:
2365         (DrawingAreaImpl):
2366         * WebProcess/WebPage/LayerTreeHost.h:
2367         (LayerTreeHost):
2368         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2369         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
2370         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2371         (LayerTreeHostGtk):
2372         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2373         (LayerTreeHostMac):
2374         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2375         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
2376         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2377         (RemoteLayerTreeDrawingArea):
2378         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2379         (WebKit::RemoteLayerTreeDrawingArea::scroll):
2380         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2381         (TiledCoreAnimationDrawingArea):
2382         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2383         (WebKit::TiledCoreAnimationDrawingArea::scroll):
2384
2385 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
2386
2387         <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
2388         when running from recovery partition
2389
2390         Reviewed by Sam Weinig.
2391
2392         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2393         * WebProcess/com.apple.WebProcess.sb.in:
2394         Re-added /private/var/db/mds/system rules lost in r141445.
2395
2396 2013-02-14  Anders Carlsson  <andersca@apple.com>
2397
2398         Add WKContextIsPlugInUpdateAvailable
2399         https://bugs.webkit.org/show_bug.cgi?id=109862
2400         <rdar://problem/13173140>
2401
2402         Reviewed by Sam Weinig.
2403
2404         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2405         * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
2406         (WKContextGetProcessSuppressionEnabled):
2407         (WKContextSetProcessSuppressionEnabled):
2408         (WKContextIsPlugInUpdateAvailable):
2409         * WebKit2.xcodeproj/project.pbxproj:
2410
2411 2013-02-14  Zan Dobersek  <zdobersek@igalia.com>
2412
2413         [GTK] Errors when building WebKit2 with Clang
2414         https://bugs.webkit.org/show_bug.cgi?id=109603
2415
2416         Reviewed by Alexey Proskuryakov.
2417
2418         * UIProcess/API/gtk/WebKitUIClient.cpp:
2419         (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
2420         * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
2421         * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
2422         RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
2423         * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
2424         The OVERRIDE keywords are thus unnecessary.
2425
2426 2013-02-14  David Kilzer  <ddkilzer@apple.com>
2427
2428         [Mac] Clean up WARNING_CFLAGS
2429         <http://webkit.org/b/109747>
2430         <rdar://problem/13208373>
2431
2432         Reviewed by Mark Rowe.
2433
2434         * Configurations/Base.xcconfig: Use
2435         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
2436         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
2437
2438 2013-02-14  Sam Weinig  <sam@webkit.org>
2439
2440         Add conversions between ObjC and C DOM wrappers
2441         <rdar://problem/13205468>
2442         https://bugs.webkit.org/show_bug.cgi?id=109851
2443
2444         Reviewed by Anders Carlsson.
2445
2446         * WebKit2.xcodeproj/project.pbxproj:
2447         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
2448         (WKBundleRangeHandleCreate):
2449         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
2450         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
2451         (-[WKDOMNode _copyBundleNodeHandleRef]):
2452         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
2453         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
2454         (-[WKDOMRange _copyBundleRangeHandleRef]):
2455         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
2456         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2457         (WebKit::InjectedBundleRangeHandle::getOrCreate):
2458         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
2459         (InjectedBundleRangeHandle):
2460
2461 2013-02-13  Anders Carlsson  <andersca@apple.com>
2462
2463         Remove StringPairVector
2464         https://bugs.webkit.org/show_bug.cgi?id=109778
2465
2466         Reviewed by Ryosuke Niwa.
2467
2468         Our message generation scripts can handle nested template parameter types now,
2469         so we no longer need to use StringPairVector.
2470
2471         * Shared/StringPairVector.h: Removed.
2472         * UIProcess/WebPageProxy.cpp:
2473         (WebKit::WebPageProxy::willSubmitForm):
2474         * UIProcess/WebPageProxy.h:
2475         (WebPageProxy):
2476         * UIProcess/WebPageProxy.messages.in:
2477         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2478         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2479
2480 2013-02-13  Dean Jackson  <dino@apple.com>
2481
2482         PlugIn Autostart should expire in 30 days, not half a day
2483         https://bugs.webkit.org/show_bug.cgi?id=109767
2484
2485         Reviewed by Brian Weinstein.
2486
2487         We forgot to multiply by 60 seconds in a minute.
2488
2489         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
2490
2491 2013-02-13  Anders Carlsson  <andersca@apple.com>
2492
2493         Message generation should handle nested templates
2494         https://bugs.webkit.org/show_bug.cgi?id=109771
2495
2496         Reviewed by Ryosuke Niwa.
2497
2498         Make it possible to have nested class template types as message parameters and
2499         correctly gather all the needed headers and argument coder headers.
2500
2501         * Scripts/webkit2/messages.py:
2502         (class_template_headers):
2503         Recursively figure out the types and template headers needed for a given type.
2504
2505         (argument_coder_headers_for_type):
2506         (headers_for_type):
2507         Call class_template_headers.
2508
2509         * Scripts/webkit2/messages_unittest.py:
2510         (CoreIPC):
2511         * Scripts/webkit2/parser.py:
2512         (split_parameters_string):
2513         (parse_parameters_string):
2514
2515 2013-02-13  David Farler  <dfarler@apple.com>
2516
2517         Make WebKit2 Derived Sources work with SDK identifiers too
2518         https://bugs.webkit.org/show_bug.cgi?id=109763
2519
2520         Reviewed by David Kilzer.
2521
2522         * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
2523
2524 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
2525
2526         One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
2527
2528         * WebProcess/WebProcess.cpp:
2529         (WebKit::WebProcess::WebProcess):
2530
2531 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
2532
2533         Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
2534
2535         * WebProcess/WebProcess.h:
2536         (WebKit):
2537
2538 2013-02-13  Adam Barth  <abarth@webkit.org>
2539
2540         Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
2541         https://bugs.webkit.org/show_bug.cgi?id=109733
2542
2543         Reviewed by Sam Weinig.
2544
2545         After http://trac.webkit.org/changeset/142555, this ASSERT is
2546         triggering on these tests:
2547
2548         fast/dom/window-load-crash.html
2549         fast/frames/seamless/seamless-hyperlink-named.html
2550         fast/frames/seamless/seamless-hyperlink.html
2551
2552         The ASSERT appears to be bogus. This patch removes it.
2553
2554         * UIProcess/WebFrameProxy.cpp:
2555         (WebKit::WebFrameProxy::didStartProvisionalLoad):
2556
2557 2013-02-13  Sam Weinig  <sam@webkit.org>
2558
2559         Consolidate main functions in WebKit2 now that they are all identical
2560         https://bugs.webkit.org/show_bug.cgi?id=109748
2561
2562         Reviewed by Anders Carlsson.
2563
2564         - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
2565         - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
2566         - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
2567         - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
2568           matching the XPCService.
2569
2570         * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
2571         * Configurations/BaseXPCService.xcconfig:
2572         * Configurations/NetworkProcess.xcconfig:
2573         * Configurations/OfflineStorageProcess.xcconfig:
2574         * Configurations/PluginProcess.xcconfig:
2575         * Configurations/SharedWorkerProcess.xcconfig:
2576         * Configurations/WebContentProcess.xcconfig: Renamed form  WebProcess.xcconfig.
2577         * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2578         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
2579         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
2580         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
2581         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
2582         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2583         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
2584         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
2585         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
2586         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
2587         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2588         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2589         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
2590         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
2591         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
2592         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 
2593         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 
2594         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
2595         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
2596         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
2597         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
2598         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
2599         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
2600         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
2601         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2602         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
2603         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
2604         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2605         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
2606         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
2607         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
2608         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
2609         * WebKit2.xcodeproj/project.pbxproj:
2610
2611 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2612
2613         [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
2614         https://bugs.webkit.org/show_bug.cgi?id=108794
2615
2616         Reviewed by Alexey Proskuryakov.
2617
2618         Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
2619         and ewk_text_checker as it is internal C++ API. WKString and
2620         WKEinaSharedString are used instead.
2621
2622         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
2623         (WKEinaSharedString::leakString): Add leakString() method to
2624         WKEinaSharedString so that we can conveniently convert a WKString to a
2625         Eina shared string and take ownership of it.
2626         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
2627         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2628         (getHostnamesWithCookiesCallback):
2629         * UIProcess/API/efl/ewk_form_submission_request.cpp:
2630         (EwkFormSubmissionRequest::copyFieldValue):
2631         (ewk_form_submission_request_field_names_get):
2632         (ewk_form_submission_request_field_value_get):
2633         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2634         (EwkFormSubmissionRequest):
2635         * UIProcess/API/efl/ewk_text_checker.cpp:
2636         (checkSpellingOfString):
2637         (guessesForWord):
2638         (learnWord):
2639         (ignoreWord):
2640         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
2641         (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
2642
2643 2013-02-13  Anders Carlsson  <andersca@apple.com>
2644
2645         Remove Connection::QueueClient
2646         https://bugs.webkit.org/show_bug.cgi?id=109744
2647
2648         Reviewed by Sam Weinig.
2649
2650         * Platform/CoreIPC/Connection.cpp:
2651         (CoreIPC::Connection::processIncomingMessage):
2652         (CoreIPC::Connection::connectionDidClose):
2653         * Platform/CoreIPC/Connection.h:
2654         (Connection):
2655
2656 2013-02-13  Anders Carlsson  <andersca@apple.com>
2657
2658         Try to fix the Lion build.
2659
2660         * WebProcess/WebPage/EventDispatcher.h:
2661         (EventDispatcher):
2662
2663 2013-02-13  Anders Carlsson  <andersca@apple.com>
2664
2665         Remove support for the DispatchOnConnectionQueue message attribute
2666         https://bugs.webkit.org/show_bug.cgi?id=109743
2667
2668         Reviewed by Sam Weinig.
2669
2670         * Platform/CoreIPC/HandleMessage.h:
2671         (CoreIPC):
2672         * Scripts/webkit2/messages.py:
2673         (handler_function):
2674         (generate_message_handler):
2675         * Scripts/webkit2/messages_unittest.py:
2676
2677 2013-02-13  Anders Carlsson  <andersca@apple.com>
2678
2679         StorageManager should be a WorkQueueMessageReceiver
2680         https://bugs.webkit.org/show_bug.cgi?id=109741
2681
2682         Reviewed by Sam Weinig.
2683
2684         * UIProcess/Storage/StorageManager.cpp:
2685         (WebKit::StorageManager::processWillOpenConnection):
2686         (WebKit::StorageManager::processWillCloseConnection):
2687         (WebKit::StorageManager::createStorageArea):
2688         (WebKit::StorageManager::destroyStorageArea):
2689         * UIProcess/Storage/StorageManager.h:
2690         (StorageManager):
2691         * UIProcess/Storage/StorageManager.messages.in:
2692
2693 2013-02-13  Anders Carlsson  <andersca@apple.com>
2694
2695         EventDispatcher should be a WorkQueueMessageReceiver
2696         https://bugs.webkit.org/show_bug.cgi?id=109736
2697
2698         Reviewed by Andreas Kling.
2699
2700         * WebProcess/WebPage/EventDispatcher.cpp:
2701         (WebKit::EventDispatcher::create):
2702         (WebKit):
2703         (WebKit::EventDispatcher::EventDispatcher):
2704         (WebKit::EventDispatcher::initializeConnection):
2705         (WebKit::EventDispatcher::wheelEvent):
2706         (WebKit::EventDispatcher::gestureEvent):
2707         * WebProcess/WebPage/EventDispatcher.h:
2708         (EventDispatcher):
2709         * WebProcess/WebPage/EventDispatcher.messages.in:
2710         * WebProcess/WebProcess.cpp:
2711         (WebKit::WebProcess::WebProcess):
2712         (WebKit::WebProcess::initializeConnection):
2713         * WebProcess/WebProcess.h:
2714         (WebKit):
2715         (WebKit::WebProcess::eventDispatcher):
2716         (WebProcess):
2717
2718 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2719
2720         Unreviewed build fix after r142768.
2721
2722         r142768 broke the EFL WK2 build due to wrong member initialization
2723         order in the WebProcess constructor initialization list.
2724
2725         * WebProcess/WebProcess.cpp:
2726         (WebKit::WebProcess::WebProcess):
2727
2728 2013-02-13  Anders Carlsson  <andersca@apple.com>
2729
2730         Make PluginProcessConnectionManager a WorkQueueMessageReceiver
2731         https://bugs.webkit.org/show_bug.cgi?id=109727
2732
2733         Reviewed by Andreas Kling.
2734
2735         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2736         (WebKit::PluginProcessConnectionManager::create):
2737         (WebKit):
2738         (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
2739         (WebKit::PluginProcessConnectionManager::initializeConnection):
2740         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2741         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2742         (PluginProcessConnectionManager):
2743         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
2744         * WebProcess/WebProcess.cpp:
2745         (WebKit::WebProcess::WebProcess):
2746         (WebKit::WebProcess::initializeConnection):
2747         (WebKit::WebProcess::pluginProcessConnectionManager):
2748         * WebProcess/WebProcess.h:
2749         (WebKit):
2750         (WebProcess):
2751
2752 2013-02-13  Anders Carlsson  <andersca@apple.com>
2753
2754         Make SecItemShimProxy be a WorkQueueMessageReceiver
2755         https://bugs.webkit.org/show_bug.cgi?id=109719
2756
2757         Reviewed by Sam Weinig.
2758
2759         This adds a WantsConnection message attribute to be used for messages whose handlers
2760         should take the connection the message was delivered to.
2761         
2762         * Platform/CoreIPC/HandleMessage.h:
2763         (CoreIPC::handleMessage):
2764         Add new handleMessage overload.
2765         
2766         * Scripts/webkit2/messages.py:
2767         (async_message_statement):
2768         (generate_message_handler):
2769         Handle the WantsMessage attribute.
2770
2771         * UIProcess/mac/SecItemShimProxy.cpp:
2772         (WebKit::SecItemShimProxy::shared):
2773         Use dispatch_once and adoptRef.
2774
2775         (WebKit::SecItemShimProxy::SecItemShimProxy):
2776         Initialize the queue.
2777
2778         (WebKit::SecItemShimProxy::initializeConnection):
2779         Add the proxy as a work queue message receiver.
2780
2781         (WebKit::SecItemShimProxy::secItemRequest):
2782         This no longer needs to call out to a dispatch queue, it's already on a queue.
2783
2784         * UIProcess/mac/SecItemShimProxy.messages.in:
2785         This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
2786
2787 2013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2788
2789         Unreviewed, rolling out r142736.
2790         http://trac.webkit.org/changeset/142736
2791         https://bugs.webkit.org/show_bug.cgi?id=109716
2792
2793         Broke ABI, nightly builds crash on launch (Requested by ap on
2794         #webkit).
2795
2796         * Shared/APIClientTraits.cpp:
2797         (WebKit):
2798         * Shared/APIClientTraits.h:
2799         * UIProcess/API/C/WKPage.h:
2800         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2801         (attachLoaderClientToView):
2802         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2803         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2804         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2805
2806 2013-02-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2807
2808         [WK2][EFL] Cleanup of graphics related code in EwkView
2809         https://bugs.webkit.org/show_bug.cgi?id=109377
2810
2811         Reviewed by Anders Carlsson.
2812
2813         * UIProcess/API/efl/EwkView.cpp:
2814         (EwkView::EwkView):
2815
2816             Initialize the evasGL dependencies here and
2817             set m_isAccelerated to false if this fails.
2818
2819             Set the coordinated graphics scene as active
2820             when using fixed layout.
2821
2822         (EwkView::setSize):
2823
2824             Add a method to set the size and user-viewport
2825             transform from the outside. The idea is moving
2826             this to our pure WK C API in the future.
2827
2828         (EwkView::transformFromScene):
2829         (EwkView::transformToScene):
2830
2831             Update the transform methods to use the user-
2832             viewport transform.
2833
2834         (EwkView::paintToCurrentGLContext):
2835         (EwkView::paintToCairoSurface):
2836
2837             Add methods to paint to either the current GL context
2838             or to a given cairo_surface_t (for software fallback
2839             cases).
2840
2841         (EwkView::displayTimerFired):
2842
2843             Clean up and use the two above methods.
2844
2845         (EwkView::scheduleUpdateDisplay):
2846
2847             Use the new size() methods instead of using the 
2848             smart-object data directly.
2849
2850         (EwkView::createGLSurface):
2851
2852             Make this method use size() to query the surface size
2853             and avoid creating the context (done in ctor now).
2854             Also avoid using the smart-object data directly.
2855
2856         (EwkView::enterAcceleratedCompositingMode):
2857         (EwkView::exitAcceleratedCompositingMode):
2858
2859             Turn on/off the use of the coord. graphics scene.
2860
2861         (EwkView::handleEvasObjectCalculate):
2862
2863             Use the new setSize and setUserViewportTransform.
2864
2865         (EwkView::takeSnapshot):
2866         * UIProcess/API/efl/EwkView.h:
2867         (WebCore):
2868         (EwkView):
2869         (EwkView::size):
2870         (EwkView::setUserViewportTransform):
2871         (EwkView::userViewportTransform):
2872
2873             Add the new method definitions and rename isHardwareAccelerated
2874             to isAccelerated which fits better with the naming in WebCore.
2875
2876 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2877
2878         [EFL][WK2] Introduce WKViewClient C API
2879         https://bugs.webkit.org/show_bug.cgi?id=109559
2880
2881         Reviewed by Anders Carlsson.
2882
2883         This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
2884         this new C API is to eventually remove the interdependency between EFL's
2885         PageClient and EwkView. When completed, PageClient should only interact with
2886         WebView and not be aware of EwkView so that we have a clean separation between
2887         internal WebKit2 classes and our EFL Ewk API implementation.
2888
2889         This patch is only a first step towards this goal as there is a lot of work
2890         to do to achieve complete separation between EwkView and PageClient. The purpose
2891         of this patch is to introduce the needed architecture which will later be
2892         extended by introducing new WKViewClient callbacks.
2893
2894         * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
2895         configuration.
2896         * UIProcess/API/C/efl/WKView.cpp:
2897         (WKViewSetViewClient):
2898         * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
2899         * UIProcess/API/efl/EwkView.cpp:
2900         (EwkView::EwkView): Initialize ViewClientEfl.
2901         * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
2902         (WebKit):
2903         (EwkView):
2904         * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
2905         accept a WKSize in parameter instead of an IntRect.
2906         * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
2907         interacting directly with EwkView to avoid violating API layering.
2908         (WebKit::PageClientBase::view):
2909         (WebKit::PageClientBase::setViewNeedsDisplay):
2910         * UIProcess/efl/PageClientBase.h:
2911         (WebKit):
2912         (PageClientBase):
2913         * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
2914         interacting directly with EwkView to avoid violating API layering.
2915         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
2916         * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
2917         interacting directly with EwkView to avoid violating API layering.
2918         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2919         * UIProcess/efl/ViewClientEfl.cpp:
2920         (WebKit):
2921         (WebKit::ViewClientEfl::toEwkView):
2922         (WebKit::ViewClientEfl::viewNeedsDisplay):
2923         (WebKit::ViewClientEfl::didChangeContentsSize):
2924         (WebKit::ViewClientEfl::ViewClientEfl):
2925         (WebKit::ViewClientEfl::~ViewClientEfl):
2926         * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
2927         and interacts with EwkView.
2928         (WebKit):
2929         (ViewClientEfl):
2930         (WebKit::ViewClientEfl::create):
2931         * UIProcess/efl/WebView.cpp:
2932         (WebKit::WebView::initializeClient):
2933         (WebKit):
2934         (WebKit::WebView::setViewNeedsDisplay):
2935         (WebKit::WebView::didChangeContentsSize):
2936         * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
2937         with it.
2938         (WebView):
2939         * UIProcess/efl/WebViewClient.cpp:
2940         (WebKit):
2941         (WebKit::WebViewClient::viewNeedsDisplay):
2942         (WebKit::WebViewClient::didChangeContentsSize):
2943         * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
2944         (WebCore):
2945         (WebKit):
2946
2947 2013-02-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2948
2949         [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
2950         https://bugs.webkit.org/show_bug.cgi?id=109456
2951
2952         Reviewed by Anders Carlsson.
2953
2954         WebView destructor now considers the situation if its WebPageProxy
2955         instance had been closed from outside the class (explicitly
2956         by client code).
2957
2958         * UIProcess/efl/WebView.cpp:
2959         (WebKit::WebView::~WebView):
2960
2961 2013-02-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2962
2963         [WK2] Remove web intents callbacks
2964         https://bugs.webkit.org/show_bug.cgi?id=109654
2965
2966         Reviewed by Benjamin Poulain.
2967
2968         Web intents was removed by r142549.
2969
2970         * Shared/APIClientTraits.cpp:
2971         (WebKit):
2972         * Shared/APIClientTraits.h:
2973         * UIProcess/API/C/WKPage.h:
2974         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2975         (attachLoaderClientToView):
2976         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2977         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2978         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2979
2980 2013-02-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2981
2982         [WK2] Page reloading will crash UIProcess after WebProcess was killed
2983         https://bugs.webkit.org/show_bug.cgi?id=109305
2984
2985         Reviewed by Benjamin Poulain.
2986
2987         Re-initialize the pointer to a WebInspectorProxy object before calling
2988         initializeWebPage().
2989
2990         When the WebProcess crashes, WebPageProxy::processDidCrash() will
2991         set WebInspectorProxy pointer to null, which later is accessed by
2992         initializeWebPage(). This patch avoids a crash scenario where
2993         calls into a null pointer would be made.
2994
2995         * UIProcess/WebPageProxy.cpp:
2996         (WebKit::WebPageProxy::reattachToWebProcess):
2997
2998 2013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
2999
3000         [iOS] Enable PAGE_VISIBILITY_API
3001         https://bugs.webkit.org/show_bug.cgi?id=109399
3002
3003         Reviewed by David Kilzer.
3004
3005         * Configurations/FeatureDefines.xcconfig:
3006
3007 2013-02-12  Brady Eidson  <beidson@apple.com>
3008
3009         Update a comment in NetworkProcess to be more accurate.
3010
3011         Rubberstamped by Sam Weinig.
3012
3013         * NetworkProcess/NetworkProcess.cpp:
3014         (WebKit::NetworkProcess::didClose):
3015
3016 2013-02-12  Anders Carlsson  <andersca@apple.com>
3017
3018         SecItemShim should be a WorkQueueMessageReceiver
3019         https://bugs.webkit.org/show_bug.cgi?id=109636
3020
3021         Reviewed by Sam Weinig.
3022
3023         * Platform/CoreIPC/Connection.cpp:
3024         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
3025         Add a helper function for dispatching a work queue message receiver message.
3026
3027         (CoreIPC::Connection::processIncomingMessage):
3028         Check if there are any work queue message receivers registered for this message.
3029
3030         * Shared/mac/SecItemShim.cpp:
3031         (WebKit::SecItemShim::shared):
3032         Use dispatch_once instead of the AtomicallyInitializedStatic macro.
3033
3034         (WebKit::SecItemShim::SecItemShim):
3035         Initialize the queue.
3036
3037         (WebKit::SecItemShim::secItemResponse):
3038         Remove the connection parameter.
3039
3040         (WebKit::SecItemShim::initializeConnection):
3041         Register the shim object as a work queue message receiver.
3042
3043         * Shared/mac/SecItemShim.h:
3044         Inherit from WorkQueueMessageReceiver.
3045
3046         * Shared/mac/SecItemShim.messages.in:
3047         Remove LegacyReceiver and DispatchOnConnectionQueue.
3048
3049 2013-02-12  Sam Weinig  <sam@webkit.org>
3050
3051         Make Plug-in XPC services "join existing sessions"
3052         <rdar://problem/13196448>
3053
3054         Reviewed by Mark Rowe.
3055
3056         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
3057         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
3058         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
3059
3060 2013-02-12  Sam Weinig  <sam@webkit.org>
3061
3062         Add skeleton of the OfflineStorageProcess
3063         https://bugs.webkit.org/show_bug.cgi?id=109615
3064
3065         Reviewed by Anders Carlsson.
3066
3067         This adds the skeleton of a new process to contain Database and Local Storage
3068         backends in (hence, offline storage). We're adding a new process, rather than
3069         using the Network or UIProcesses, to allow us to tightly sandbox these activities
3070         away from networking and full filesystem access.
3071
3072         * Configurations/OfflineStorageProcess.xcconfig: Added.
3073         * Configurations/OfflineStorageService.Development.xcconfig: Added.
3074         * Configurations/OfflineStorageService.xcconfig: Added.
3075         * DerivedSources.make:
3076         * OfflineStorageProcess: Added.
3077         * OfflineStorageProcess/EntryPoint: Added.
3078         * OfflineStorageProcess/EntryPoint/mac: Added.
3079         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
3080         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
3081         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
3082         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
3083         * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
3084         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
3085         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
3086         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
3087         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
3088         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
3089         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
3090         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
3091         * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
3092         * OfflineStorageProcess/OfflineStorageProcess.h: Added.
3093         * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
3094         * OfflineStorageProcess/mac: Added.
3095         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
3096         (WebKit::OfflineStorageProcess::initializeProcessName):
3097         (WebKit::OfflineStorageProcess::initializeSandbox):
3098         * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
3099         * Shared/OfflineStorage: Added.
3100         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
3101         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
3102
3103         * Scripts/webkit2/messages.py:
3104         (struct_or_class):
3105         Added OfflineStorageProcessCreationParameters.
3106
3107         * WebKit2.xcodeproj/project.pbxproj:
3108
3109 2013-02-12  Jinwoo Song  <jinwoo7.song@samsung.com>
3110
3111         [EFL][WK2] Fix build warning after r142579
3112         https://bugs.webkit.org/show_bug.cgi?id=109547
3113
3114         Reviewed by Alexey Proskuryakov.
3115
3116         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
3117
3118         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3119         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
3120
3121 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3122
3123         [EFL][WK2] Reenable ewk_auth_request API tests
3124         https://bugs.webkit.org/show_bug.cgi?id=108451
3125
3126         Reviewed by Benjamin Poulain.
3127
3128         ewk_auth_request API tests were temporarily disabled after
3129         the C API for resource loading was removed from WebKit2.
3130         This patches updates the tests so that they no longer rely
3131         on the resource loading events and renables them.
3132
3133         This patch also corrects the naming of the static variables
3134         in the test to follow more closely the WebKit coding style.
3135
3136         * PlatformEfl.cmake:
3137         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
3138         (serverCallback):
3139         (TEST_F):
3140         (onLoadFinished):
3141
3142 2013-02-12  Anders Carlsson  <andersca@apple.com>
3143
3144         Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
3145         https://bugs.webkit.org/show_bug.cgi?id=109612
3146
3147         Reviewed by Andreas Kling.
3148
3149         * Platform/CoreIPC/Connection.cpp:
3150         (CoreIPC::Connection::addWorkQueueMessageReceiver):
3151         (CoreIPC):
3152         (CoreIPC::Connection::removeWorkQueueMessageReceiver):
3153         (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
3154         (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
3155         * Platform/CoreIPC/Connection.h:
3156         (Connection):
3157
3158 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
3159
3160         Typo fix after r142663.
3161
3162         * GNUmakefile.list.am:
3163
3164 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
3165
3166         [WK2] Unreviewed trivial buildfix after r142630 and r142651.
3167
3168         * CMakeLists.txt:
3169         * GNUmakefile.list.am:
3170         * Target.pri:
3171         * UIProcess/Plugins/PluginProcessProxy.cpp:
3172         (WebKit::PluginProcessProxy::didFinishLaunching):
3173         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
3174         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
3175         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
3176         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
3177
3178 2013-02-12  Anders Carlsson  <andersca@apple.com>
3179
3180         Change the queue client base class to be private everywhere
3181         https://bugs.webkit.org/show_bug.cgi?id=109604
3182
3183         Reviewed by Andreas Kling.
3184
3185         Move connection queue client registration inside of the respective queue client classes.
3186
3187         Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
3188         ChildProcessProxy::connectionWillOpen instead.
3189         
3190         Finally, assert that queue clients are only being added and removed from the client thread.
3191
3192         * NetworkProcess/NetworkProcess.cpp:
3193         (WebKit::NetworkProcess::initializeConnection):
3194         * Platform/CoreIPC/Connection.cpp:
3195         (CoreIPC::Connection::addQueueClient):
3196         (CoreIPC::Connection::removeQueueClient):
3197         * Shared/mac/SecItemShim.cpp:
3198         (WebKit::SecItemShim::initializeConnection):
3199         (WebKit):
3200         * Shared/mac/SecItemShim.h:
3201         (SecItemShim):
3202         * UIProcess/Network/NetworkProcessProxy.cpp:
3203         (WebKit::NetworkProcessProxy::connectionWillOpen):
3204         (WebKit):
3205         (WebKit::NetworkProcessProxy::connectionWillClose):
3206         (WebKit::NetworkProcessProxy::didFinishLaunching):
3207         * UIProcess/Network/NetworkProcessProxy.h:
3208         (NetworkProcessProxy):
3209         * UIProcess/WebProcessProxy.cpp:
3210         (WebKit::WebProcessProxy::connectionWillOpen):
3211         (WebKit::WebProcessProxy::didFinishLaunching):
3212         * UIProcess/mac/SecItemShimProxy.cpp:
3213         (WebKit::SecItemShimProxy::initializeConnection):
3214         (WebKit):
3215         * UIProcess/mac/SecItemShimProxy.h:
3216         (SecItemShimProxy):
3217         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3218         (WebKit::PluginProcessConnectionManager::initializeConnection):
3219         (WebKit):
3220         * WebProcess/Plugins/PluginProcessConnectionManager.h:
3221         (PluginProcessConnectionManager):
3222         * WebProcess/WebPage/EventDispatcher.cpp:
3223         (WebKit::EventDispatcher::initializeConnection):
3224         (WebKit):
3225         * WebProcess/WebPage/EventDispatcher.h:
3226         (EventDispatcher):
3227         * WebProcess/WebProcess.cpp:
3228         (WebKit::WebProcess::initializeConnection):
3229
3230 2013-02-12  Brady Eidson  <beidson@apple.com>
3231
3232         Add WKContext API to retrieve basic network process statistics
3233         https://bugs.webkit.org/show_bug.cgi?id=109329
3234
3235         Reviewed by Sam Weinig.
3236
3237         This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
3238         certain types of statistics.
3239
3240         It also expands the "get statistics" callback mechanism to allow for a statistics request 
3241         to be answered by multiple child processes.
3242
3243         That mechanism still has some rough edges but will eventually allow for getting statistics
3244         from multiple web processes, as well.
3245
3246         * NetworkProcess/HostRecord.cpp:
3247         (WebKit::HostRecord::pendingRequestCount):
3248         (WebKit::HostRecord::activeLoadCount):
3249         * NetworkProcess/HostRecord.h:
3250
3251         * NetworkProcess/NetworkProcess.cpp:
3252         (WebKit::NetworkProcess::getNetworkProcessStatistics):
3253         * NetworkProcess/NetworkProcess.h:
3254         * NetworkProcess/NetworkProcess.messages.in:
3255
3256         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
3257         (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
3258         (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
3259         (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
3260         (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
3261         * NetworkProcess/NetworkResourceLoadScheduler.h:
3262
3263         * Shared/Authentication/AuthenticationManager.h:
3264         (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
3265         * Shared/Downloads/DownloadManager.h:
3266
3267         * UIProcess/API/C/WKContext.cpp:
3268         (WKContextGetStatistics):
3269         (WKContextGetStatisticsWithOptions):
3270         * UIProcess/API/C/WKContext.h:
3271
3272         * UIProcess/StatisticsRequest.cpp: Added.
3273         (WebKit::StatisticsRequest::StatisticsRequest):
3274         (WebKit::StatisticsRequest::~StatisticsRequest):
3275         (WebKit::StatisticsRequest::addOutstandingRequest):
3276         (WebKit::addToDictionaryFromHashMap):
3277         (WebKit::createDictionaryFromHashMap):
3278         (WebKit::StatisticsRequest::completedRequest):
3279         * UIProcess/StatisticsRequest.h: Added.
3280         (WebKit::StatisticsRequest::create):
3281
3282         * UIProcess/WebContext.cpp:
3283         (WebKit::WebContext::networkingProcessConnection):
3284         (WebKit::WebContext::getStatistics):
3285         (WebKit::WebContext::requestWebContentStatistics):
3286         (WebKit::WebContext::requestNetworkingStatistics):
3287         (WebKit::WebContext::didGetStatistics):
3288         * UIProcess/WebContext.h:
3289         * UIProcess/WebContext.messages.in:
3290
3291         * WebProcess/WebProcess.cpp:
3292         (WebKit::WebProcess::getWebCoreStatistics):
3293
3294         * WebKit2.xcodeproj/project.pbxproj:
3295
3296 2013-02-12  Anders Carlsson  <andersca@apple.com>
3297
3298         Build fix.
3299
3300         Add back the files to the Xcode project that were removed in r142580.
3301
3302         * WebKit2.xcodeproj/project.pbxproj:
3303         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3304
3305 2013-02-12  Jessie Berlin  <jberlin@apple.com>
3306
3307         Build fix after r142540 and r142518
3308
3309         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3310         (WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
3311         This function was added to the header in r142518 but not implemented in that revision.
3312         It wasn't a problem until r142540 started using it.
3313         Add a stub implementation for it.
3314
3315 2013-02-11  Brady Eidson  <beidson@apple.com>
3316
3317         Make PluginProcessProxy a ChildProcessProxy.
3318         https://bugs.webkit.org/show_bug.cgi?id=109513
3319
3320         Reviewed by Anders Carlsson.
3321
3322         * Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
3323         * UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
3324         * UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
3325         * UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy
3326
3327         Rely on ChildProcessProxy for process launcher management and launch options:
3328         * UIProcess/Plugins/PluginProcessProxy.cpp:
3329         (WebKit::PluginProcessProxy::PluginProcessProxy):
3330         (WebKit::PluginProcessProxy::getLaunchOptions):
3331         (WebKit::PluginProcessProxy::getPluginProcessConnection):
3332         (WebKit::PluginProcessProxy::getSitesWithData):
3333         (WebKit::PluginProcessProxy::clearSiteData):
3334         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3335         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
3336         (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
3337
3338 2013-02-11  Alexey Proskuryakov  <ap@apple.com>
3339
3340         <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control
3341
3342         Reviewed by Sam Weinig.
3343
3344         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
3345
3346 2013-02-11  Huang Dongsung  <luxtella@company100.net>
3347
3348         Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
3349         https://bugs.webkit.org/show_bug.cgi?id=108922
3350
3351         Reviewed by Noam Rosenthal.
3352         Signed off for WebKit2 by Benjamin Poulain.
3353
3354         Currently, CoordinatedGraphicsScene has two methods to know contents
3355         size: setContentsSize() and setVisibleContentsRect(). Contents size is
3356         used when adjusting a scroll position, but adjustment is not needed
3357         because EFL and Qt platform code (currently PageViewportController)
3358         already adjusts a scroll position, and it is natural for each platform
3359         to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
3360         not know contents size.
3361
3362         In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
3363         to get CoordinatedGraphicsScene.
3364
3365         * UIProcess/API/qt/qquickwebpage.cpp:
3366         (QQuickWebPagePrivate::updateSize):
3367         * UIProcess/API/qt/raw/qrawwebview.cpp:
3368         (QRawWebView::setSize):
3369         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3370         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
3371         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
3372         (CoordinatedLayerTreeHostProxy):
3373         * UIProcess/efl/PageClientLegacyImpl.cpp:
3374         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
3375         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3376         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
3377
3378 2013-02-11  Huang Dongsung  <luxtella@company100.net>
3379
3380         Coordinated Graphics: remove the DidChangeScrollPosition message.
3381         https://bugs.webkit.org/show_bug.cgi?id=108051
3382
3383         Reviewed by Noam Rosenthal.
3384         Signed off for WebKit2 by Benjamin Poulain.
3385
3386         Currently, we use the DidChangeScrollPosition message to send the scroll
3387         position that WebCore used in this frame to UI Process. We had to have
3388         some member variables for the DidChangeScrollPosition message.
3389         However, we can send a scroll position via the DidRenderFrame message,
3390         because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
3391         updated at the moment of flushing. So we can remove the
3392         DidChangeScrollPosition message and some redundant member variables.
3393
3394         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3395         (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
3396         (WebKit):
3397         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
3398         (CoordinatedLayerTreeHostProxy):
3399         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
3400           Remove the DidChangeScrollPosition message.
3401         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3402         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3403         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
3404           Send a scroll position via the DidChangeScrollPosition message.
3405         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
3406           Don't send a scroll position because flushPendingLayerChanges() does
3407           that. In addition, it is weird to check if we must send a scroll
3408           position at the moment of sending the SyncLayerState message of every
3409           layers.
3410         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3411         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3412
3413 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
3414
3415         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
3416         https://bugs.webkit.org/show_bug.cgi?id=109534
3417
3418         Reviewed by Anders Carlsson.
3419
3420         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3421         (WebKit):
3422         * WebProcess/WebCoreSupport/WebEditorClient.h:
3423
3424 2013-02-11  Jae Hyun Park  <jae.park@company100.net>
3425
3426         [EFL] Build fix
3427         https://bugs.webkit.org/show_bug.cgi?id=109518
3428
3429         Reviewed by Laszlo Gombos.
3430
3431         Fix EFL build by including PluginProcessConnectionManager.messages.in in
3432         CMakeLists.txt
3433
3434         * CMakeLists.txt:
3435
3436 2013-02-11  Anders Carlsson  <andersca@apple.com>
3437
3438         Fix build.
3439
3440         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3441         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
3442         * WebProcess/WebProcess.cpp:
3443
3444 2013-02-11  Seulgi Kim  <seulgikim@company100.net>
3445
3446         [GTK] Build fix.
3447         https://bugs.webkit.org/show_bug.cgi?id=109516
3448
3449         Reviewed by Csaba Osztrogonác.
3450
3451         PluginProcessConnectionManagerMessages are omitted from messages list.
3452
3453         * GNUmakefile.list.am:
3454
3455 2013-02-11  Tim Horton  <timothy_horton@apple.com>
3456
3457         [WK2] setMinimumLayoutWidth should bail if there's no WebProcess
3458         https://bugs.webkit.org/show_bug.cgi?id=109512
3459         <rdar://problem/13093627>
3460
3461         Reviewed by Anders Carlsson.
3462
3463         * UIProcess/WebPageProxy.cpp:
3464         (WebKit::WebPageProxy::setMinimumLayoutWidth):
3465
3466 2013-02-11  Anders Carlsson  <andersca@apple.com>
3467
3468         PluginProcessConnectionManager should be a QueueClient
3469         https://bugs.webkit.org/show_bug.cgi?id=109496
3470
3471         Reviewed by Andreas Kling.
3472
3473         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3474         (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
3475         (WebKit):
3476         (WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
3477         * WebProcess/Plugins/PluginProcessConnectionManager.h:
3478         (PluginProcessConnectionManager):
3479         * WebProcess/WebProcess.cpp:
3480         (WebKit::WebProcess::initializeConnection):
3481         * WebProcess/WebProcess.h:
3482         (WebProcess):
3483
3484 2013-02-11  Csaba Osztrogonác  <ossy@webkit.org>
3485
3486         Unreviewed WK2 buildfix after r142518.
3487
3488         * DerivedSources.pri:
3489
3490 2013-02-11  Gavin Barraclough  <barraclough@apple.com>
3491
3492         PluginProcess should quit immediately if idle in response to low-memory notifications
3493         https://bugs.webkit.org/show_bug.cgi?id=109103
3494         <rdar://problem/12679827>
3495
3496         Reviewed by Brady Eidson.
3497
3498         PluginProcess now installs a MemoryPressureHandler for the process, providing
3499         a custom callback which will call terminate if appropriate (if the plugin is not
3500         currently in use).
3501
3502         * PluginProcess/PluginProcess.cpp:
3503         (WebKit::PluginProcess::lowMemoryHandler):
3504             - Custom callback to terminate if appropriate.
3505         (WebKit::PluginProcess::initializeProcess):
3506             - Install the MemoryPressureHandler.
3507         (WebKit::PluginProcess::shouldTerminate):
3508             - This method now also needs to be callable in situations where it might return false.
3509         * PluginProcess/PluginProcess.h:
3510         (PluginProcess):
3511             - Added declaration for lowMemoryHandler.
3512
3513 2013-02-11  Anders Carlsson  <andersca@apple.com>
3514
3515         Move the PluginProcessCrashed message to PluginProcessConnectionManager
3516         https://bugs.webkit.org/show_bug.cgi?id=109493
3517
3518         Reviewed by Andreas Kling.
3519
3520         This is in preparation for making PluginProcessConnectionManager a connection queue client.
3521
3522         * DerivedSources.make:
3523         * UIProcess/Plugins/PluginProcessProxy.cpp:
3524         (WebKit::PluginProcessProxy::didClose):
3525         * WebKit2.xcodeproj/project.pbxproj:
3526         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3527         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
3528         * WebProcess/Plugins/PluginProcessConnectionManager.h:
3529         (PluginProcessConnectionManager):
3530         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
3531    &nb