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