[GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-03-07  Zan Dobersek  <zdobersek@igalia.com>
2
3         [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
4         https://bugs.webkit.org/show_bug.cgi?id=109932
5
6         Reviewed by Martin Robinson.
7
8         * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
9         They are now available by default due to the limited set of supported compilers.
10
11 2013-03-05  Gustavo Noronha Silva  <gns@gnome.org>
12
13         [GTK] Enable translations for WebKit2
14         https://bugs.webkit.org/show_bug.cgi?id=111398
15
16         Reviewed by Martin Robinson.
17
18         * GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
19         * WebProcess/gtk/WebProcessMainGtk.cpp:
20         (WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
21         we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
22         translation module can be reused, con: you can't have different versions of
23         WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
24         in that case.
25         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
26         (WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
27         the child process will already inherit the environment of the parent, which should
28         have all the variables set properly.
29
30 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
31
32         SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
33         https://bugs.webkit.org/show_bug.cgi?id=111689
34
35         Reviewed by Filip Pizlo.
36
37         * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
38         Use a function from WebCore platform layer instead of Foundation one equivalent.
39         We already do this elsewhere in this file.
40
41 2013-03-06  Tim Horton  <timothy_horton@apple.com>
42
43         [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
44         https://bugs.webkit.org/show_bug.cgi?id=111662
45         <rdar://problem/13355808>
46
47         Reviewed by Simon Fraser.
48
49         Instead of setNeedsDisplay()ing the whole page overlay layer every time through
50         TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
51         necessary to keep things painted in the right place when we scroll (the overlay
52         is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
53
54         This works with threaded scrolling because overlay installation forces us
55         into main-thread scrolling mode.
56
57         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
58         (WebKit::TiledCoreAnimationDrawingArea::scroll):
59         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
60
61 2013-03-06  Tim Horton  <timothy_horton@apple.com>
62
63         [wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
64         https://bugs.webkit.org/show_bug.cgi?id=111654
65         <rdar://problem/13364085>
66
67         Reviewed by Simon Fraser.
68
69         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
70         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
71         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
72
73 2013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
74
75         [EFL][WK2] Enable interactive form validation for email and url input type validation
76         https://bugs.webkit.org/show_bug.cgi?id=111026
77
78         Reviewed by Laszlo Gombos.
79
80         WebKit EFL can check if input value is valid by enabling this feature.
81
82         * UIProcess/API/efl/EwkView.cpp:
83         (EwkView::EwkView):
84
85 2013-03-06  Alexey Proskuryakov  <ap@apple.com>
86
87         [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
88         https://bugs.webkit.org/show_bug.cgi?id=111623
89
90         Reviewed by Brady Eidson.
91
92         * Shared/WebCoreArgumentCoders.cpp:
93         * Shared/WebCoreArgumentCoders.h:
94         (CoreIPC::::encode): Made the decision on whether to serialize WebCore data in
95         ResourceResponse dynamic. If the platform data is out of date, we need both
96         (because some platforms use encodePlatformData() to pass additional information).
97         (CoreIPC::::decode): Decode platform data first, because this overwrites the ResourceResponse.
98
99         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData): Don't
100         encode NSURLResponse if it's out of date. We may have a bad NSURLResponse with 0
101         status code given to client, but it was almost certainly the same on sending side.
102         WebCore doesn't mutate real responses - it either keeps them as is, or builds
103         entirely synthetic ones.
104
105 2013-03-04  Jer Noble  <jer.noble@apple.com>
106
107         Default mouse cursor behavior should be auto-hide for full screen video with custom controls
108         https://bugs.webkit.org/show_bug.cgi?id=107601
109
110         Reviewed by Beth Dakin.
111
112         Enable the CURSOR_VISIBILITY feature.
113
114         * Configurations/FeatureDefines.xcconfig:
115
116 2013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
117
118         [GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
119         https://bugs.webkit.org/show_bug.cgi?id=111448
120
121         Reviewed by Alexey Proskuryakov.
122
123         Implement WebInspector::localizedStringsURL() method to return the
124         file URL of the localizedStrings.js.
125
126         This prevents printing warnings about "Localized string not found" in
127         the console.
128
129         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
130         (WebKit::WebInspector::localizedStringsURL):
131
132 2013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
133
134         [EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_changed failing
135         https://bugs.webkit.org/show_bug.cgi?id=110608
136
137         Reviewed by Kenneth Rohde Christiansen.
138
139         Test was expecting ContentsSizeChanged signal from ViewClientEfl, but
140         WebView was not calling client callback if useFixedLayout() is true.
141
142         This patch prevent early return if useFixedLayout() is true and call
143         client callback didChangeContentsSize(), which will emit the signal.
144
145         * UIProcess/efl/ViewClientEfl.cpp:
146         (WebKit::ViewClientEfl::didChangeContentsSize):
147         * UIProcess/efl/WebView.cpp:
148         (WebKit::WebView::didChangeContentsSize):
149
150 2013-03-06  Manuel Rego Casasnovas  <rego@igalia.com>
151
152         [WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
153         https://bugs.webkit.org/show_bug.cgi?id=82866
154
155         Reviewed by Martin Robinson.
156
157         Test was failing because of new media controls needs more space to be
158         painted than just 10x10 pixels. This is similar to r144070.
159
160         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
161         (testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.
162
163 2013-03-06  Tim Horton  <timothy_horton@apple.com>
164
165         [wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay layer
166         https://bugs.webkit.org/show_bug.cgi?id=111547
167         <rdar://problem/13355801>
168
169         Reviewed by Simon Fraser.
170
171         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
172         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
173         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
174         Keep the page overlay layer's debug border and repaint counter settings updated.
175
176 2013-03-06  Geoffrey Garen  <ggaren@apple.com>
177
178         Joing the adoptNS/adoptCF/adoptRef club.
179         https://bugs.webkit.org/show_bug.cgi?id=111467
180
181         Reviewed by Darin Adler.
182
183         Responding to review comments by Darin Adler.
184
185         * NetworkProcess/mac/NetworkProcessMac.mm:
186         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
187         * WebProcess/mac/WebProcessMac.mm:
188         (WebKit::WebProcess::platformInitializeWebProcess): Tighten up this code
189         by reducing extraneous local variables.
190
191 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
192
193         Track sandbox extensions for blobs in NetworkProcess
194         https://bugs.webkit.org/show_bug.cgi?id=111484
195
196         Reviewed by Sam Weinig.
197
198         * WebKit2.xcodeproj/project.pbxproj:
199         * NetworkProcess/FileAPI: Added.
200         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: Added.
201         * NetworkProcess/FileAPI/NetworkBlobRegistry.h: Added.
202         Added a registry that wraps normal in-process "BlobRegistryImpl", and also tracks
203         sandbox extensions for blobs. It will also track process connections, so that
204         blobs could be removed when a process crashes.
205
206         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
207         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
208         (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
209         (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
210         Use NetworkBlobRegistry.
211
212         * NetworkProcess/SchedulableLoader.h:
213         * NetworkProcess/SchedulableLoader.cpp:
214         (WebKit::SchedulableLoader::SchedulableLoader): Add extensions for blobs, both in
215         request URL and in request data.
216         (WebKit::SchedulableLoader::consumeSandboxExtensions): Request may now have multiple
217         extensions.
218         (WebKit::SchedulableLoader::invalidateSandboxExtensions): Ditto.
219
220         * Shared/FileAPI/BlobRegistrationData.cpp: Fixed extension creation - actually
221         store the result.
222
223 2013-03-06  Andras Becsi  <andras.becsi@digia.com>
224
225         [Qt][WK2] Fix the Mac build after r144787
226         https://bugs.webkit.org/show_bug.cgi?id=111569
227
228         Reviewed by Csaba Osztrogonác.
229
230         Use uint_64 explicitly instead of size_t.
231
232         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
233         (CoreIPC::::encode):
234         (CoreIPC::::decode):
235
236 2013-03-05  Kent Tamura  <tkent@chromium.org>
237
238         Rename WebCore/editing/visible_units.* to VisibleUnits.*
239         https://bugs.webkit.org/show_bug.cgi?id=111426
240
241         Reviewed by Alexey Proskuryakov.
242
243         * WebProcess/WebPage/mac/WebPageMac.mm:
244
245 2013-03-06  Zeno Albisser  <zeno@webkit.org>
246
247         DataReference::vector() should be const.
248         https://bugs.webkit.org/show_bug.cgi?id=109928
249
250         Reviewed by Anders Carlsson.
251
252         * Platform/CoreIPC/DataReference.h:
253         (CoreIPC::DataReference::vector):
254
255 2013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
256
257         Accelerated overflow scrolling for Coordinated Graphics.
258         https://bugs.webkit.org/show_bug.cgi?id=110323
259
260         Reviewed by Noam Rosenthal.
261         Signed off for WebKit2 by Simon Fraser.
262
263         A scroll offset is applied to individual layers on UI process and the
264         web process is notified assynchronously.
265         The new API WKCoordinatedScene may be used to scroll layers in the UI process.
266
267         * CMakeLists.txt:
268
269         Encoding and decoding the new members of CoordinatedGraphicsLayerState.
270
271         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
272         (CoreIPC::::encode):
273         (CoreIPC::::decode):
274
275         Adding acceleratedCompositingForOverflowScrollEnabled to WebPreferencesStore.
276
277         * Shared/WebPreferencesStore.h:
278         * WebProcess/WebPage/WebPage.cpp:
279         (WebKit::WebPage::updatePreferences):
280
281         New API WKCoordinatedScene is used to scroll layers on UI side.
282
283         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
284         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
285         * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
286
287         A new message is used to send scroll commit messages to web process.
288
289         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
290         (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
291         (WebKit):
292         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
293         (CoordinatedLayerTreeHostProxy):
294         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
295         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
296         (WebKit::CoordinatedLayerTreeHost::detachLayer):
297         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
298         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
299         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
300         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
301         (WebKit):
302         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
303         (CoordinatedLayerTreeHost):
304         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
305
306 2013-03-06  Huang Dongsung  <luxtella@company100.net>
307
308         [EFL][WK2] Convert from device view size to UI view size only in EwkView.
309         https://bugs.webkit.org/show_bug.cgi?id=110197
310
311         Reviewed by Kenneth Rohde Christiansen.
312
313         Signed off for WebKit2 by Benjamin Poulain.
314
315         Device scale factor is a property of the physical display, so only EwkView
316         should deal with converting device view size to UI (a.k.a Density Independent Pixel)
317         view size. It increases readability because we can regard a view size in
318         other classes (e.g. WebView, PageViewportController, WebPage) except for
319         EwkView as UI size.
320
321         * UIProcess/API/efl/EwkView.cpp:
322         (EwkView::setDeviceScaleFactor):
323         (EwkView::setDeviceSize):
324         (EwkView::size):
325         (EwkView::deviceSize):
326         (EwkView::scheduleUpdateDisplay):
327         (EwkView::createGLSurface):
328         (EwkView::handleEvasObjectCalculate):
329         * UIProcess/API/efl/EwkView.h:
330         (EwkView):
331         * UIProcess/efl/WebView.cpp:
332         (WebKit::WebView::paintToCurrentGLContext):
333         (WebKit::WebView::updateViewportSize):
334
335 2013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
336
337         [EFL][WK2] Use Vector::reserveInitialCapacity() in WebEventFactory::createWebTouchEvent()
338         https://bugs.webkit.org/show_bug.cgi?id=111530
339
340         Reviewed by Benjamin Poulain.
341
342         In WebEventFactory::createWebTouchEvent(), when constructing the vector of touch points,
343         we already know in advance the total number of touch points. Therefore, we should
344         leverage WTF::Vector::reserveInitialCapacity() and WTF::Vector::uncheckedAppend() to save
345         some capacity checks.
346
347         * Shared/efl/WebEventFactory.cpp:
348         (WebKit::WebEventFactory::createWebTouchEvent):
349
350 2013-03-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
351
352         [WK2][EFL] Enable asynchronous spell checking by default
353         https://bugs.webkit.org/show_bug.cgi?id=111295
354
355         Reviewed by Benjamin Poulain.
356
357         Asynchronous spell checking feature is disabled by default for wk2 platforms.
358         It means all requests of spell checking are sent synchronously.
359
360         WebKit-EFL implements requestCheckingOfString method which allows
361         to check spelling asynchronously.
362
363         * UIProcess/API/efl/EwkView.cpp:
364         (EwkView::EwkView):
365
366 2013-03-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
367
368         [EFL] Ensure right format is used in SnapshotImageGL.
369         https://bugs.webkit.org/show_bug.cgi?id=111333
370
371         Reviewed by Benjamin Poulain.
372
373         GL_BGRA format is not standard for glReadPixels with GLES.
374         This patch ensures that GL_RGBA is used in SnapshotImageGL
375         while using GLES.
376
377         * UIProcess/API/efl/SnapshotImageGL.cpp:
378         (getImageSurfaceFromFrameBuffer):
379
380 2013-03-05  Geoffrey Garen  <ggaren@apple.com>
381
382         Each web process truncates the disk cache to zero on launch
383         https://bugs.webkit.org/show_bug.cgi?id=111467
384
385         Reviewed by Darin Adler.
386
387         Let's not do that.
388
389         * WebProcess/mac/WebProcessMac.mm:
390         (WebKit::WebProcess::platformInitializeWebProcess):
391
392 2013-03-05  Anders Carlsson  <andersca@apple.com>
393
394         Reset the values if there is a quota error
395         https://bugs.webkit.org/show_bug.cgi?id=111500
396
397         Reviewed by Beth Dakin.
398
399         * WebProcess/Storage/StorageAreaProxy.cpp:
400         (WebKit::StorageAreaProxy::didSetItem):
401         (WebKit::StorageAreaProxy::resetValues):
402         (WebKit):
403         * WebProcess/Storage/StorageAreaProxy.h:
404         (StorageAreaProxy):
405
406 2013-03-05  Anders Carlsson  <andersca@apple.com>
407
408         Keep track of pending value changes in StorageAreaProxy
409         https://bugs.webkit.org/show_bug.cgi?id=111496
410
411         Reviewed by Beth Dakin.
412
413         Add a HashCountedSet to keep track of the number of pending value
414         changes for a given key. If we get incoming storage events from other
415         processes while we have pending value changes, ignore the events.
416
417         * WebProcess/Storage/StorageAreaProxy.cpp:
418         (WebKit::StorageAreaProxy::setItem):
419         (WebKit::StorageAreaProxy::didSetItem):
420         (WebKit::StorageAreaProxy::dispatchStorageEvent):
421         (WebKit::StorageAreaProxy::shouldApplyChangesForKey):
422         (WebKit):
423         * WebProcess/Storage/StorageAreaProxy.h:
424         (StorageAreaProxy):
425
426 2013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
427
428         [EFL] Build break with latest EFL libraries
429         https://bugs.webkit.org/show_bug.cgi?id=111028
430
431         Reviewed by Dirk Pranke.
432
433         * PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.
434
435 2013-03-05  Anders Carlsson  <andersca@apple.com>
436
437         Use a named parameter for whether a quota error ocurred or not
438         https://bugs.webkit.org/show_bug.cgi?id=111490
439
440         Reviewed by Beth Dakin.
441
442         This is clearer than setItem returning true on error.
443         Also, actually set the item in the storage map.
444
445         * UIProcess/Storage/StorageManager.cpp:
446         (StorageManager::StorageArea):
447         (WebKit::StorageManager::StorageArea::setItem):
448         (WebKit::StorageManager::setItem):
449
450 2013-03-05  Kiran Muppala  <cmuppala@apple.com>
451
452         Use new assertion API for process suppression on Mac
453         https://bugs.webkit.org/show_bug.cgi?id=111387
454
455         Reviewed by Alexey Proskuryakov.
456
457         * Shared/ChildProcess.h:
458         (WebKit::ChildProcess::processSuppressionEnabled): Rename
459         m_processVisibleAssertion to m_processSuppressionAssertion.
460         * Shared/mac/ChildProcessMac.mm:
461         (WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
462         replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
463         -[NSProcessInfo beginSuspensionOfSystemBehaviors:].
464
465 2013-03-05  Anders Carlsson  <andersca@apple.com>
466
467         Move storageType() to StorageAreaProxy
468         https://bugs.webkit.org/show_bug.cgi?id=111488
469
470         Reviewed by Andreas Kling.
471
472         * WebProcess/Storage/StorageAreaProxy.cpp:
473         (WebKit::StorageAreaProxy::StorageAreaProxy):
474         (WebKit::StorageAreaProxy::storageType):
475         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
476         * WebProcess/Storage/StorageAreaProxy.h:
477         (StorageAreaProxy):
478         * WebProcess/Storage/StorageNamespaceProxy.cpp:
479         * WebProcess/Storage/StorageNamespaceProxy.h:
480
481 2013-03-05  Jeffrey Pfau  <jpfau@apple.com>
482
483         Clear associated cache partitions when deleting origins' cache
484         https://bugs.webkit.org/show_bug.cgi?id=111383
485
486         Reviewed by Maciej Stachowiak.
487
488         Clear the cache partitions associated with the origin being cleared.
489
490         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
491         (WebKit):
492         (WebKit::partitionName):
493         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
494
495 2013-03-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
496
497         [WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
498         https://bugs.webkit.org/show_bug.cgi?id=109917
499
500         Reviewed by Alexey Proskuryakov.
501
502         WebPageProxy::setThemePath() should check that the page is valid before
503         sending IPC message.
504
505         * UIProcess/efl/WebPageProxyEfl.cpp:
506         (WebKit::WebPageProxy::setThemePath):
507
508 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
509
510         <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
511         https://bugs.webkit.org/show_bug.cgi?id=111456
512
513         Reviewed by Anders Carlsson.
514
515         It's too late to be draconian about this condition here, crashing doesn't help
516         diagnose what went wrong when creating a sandbox extension.
517
518         Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
519         and so should consumePermanently().
520
521         * Shared/mac/SandboxExtensionMac.mm:
522         (WebKit::SandboxExtension::createHandle): For now, added logging when extension
523         creation fails. If that proves insufficiently helpful in practice, we can change
524         to a CRASH() later.
525         (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
526         (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
527         to consume.
528
529 2013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
530
531         Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
532         https://bugs.webkit.org/show_bug.cgi?id=108294
533
534         Reviewed by Anders Carlsson.
535
536         There are two changes in WK2.
537         1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
538         2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.
539
540         This patch is based on Dongsung Huang, and Noam's work in
541         https://bugs.webkit.org/show_bug.cgi?id=108294
542
543         No new tests, covered by existing tests.
544
545         * Scripts/webkit2/messages.py:
546         (headers_for_type):
547         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
548         (CoreIPC::::encode):
549             Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
550             encoding WebCoordinatedSurface::Handle fails, but we don't
551             recover in the case.
552         (CoreIPC::::decode):
553         (CoreIPC):
554         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
555         (WebCore):
556         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
557         (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
558         (WebKit):
559         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
560         (WebCore):
561         (CoordinatedLayerTreeHostProxy):
562         (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
563         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
564         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
565         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
566         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
567         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
568         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
569         (WebKit):
570         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
571         (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
572         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
573         (CoordinatedLayerTreeHost):
574
575 2013-03-05  Sam Weinig  <sam@webkit.org>
576
577         Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.
578
579         * WebKit2.xcodeproj/project.pbxproj:
580
581 2013-03-05  Sam Weinig  <sam@webkit.org>
582
583         Elevate accessors of C-SPI API variants to Objective-C SPI
584         https://bugs.webkit.org/show_bug.cgi?id=111453
585         <rdar://problem/13340357>
586
587         Reviewed by Alexey Proskuryakov.
588
589         * Shared/mac/ObjCObjectGraphCoders.mm:
590         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
591         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
592         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
593         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
594         * UIProcess/API/mac/WKProcessGroup.mm:
595         * UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
596         * UIProcess/API/mac/WKView.mm:
597         * WebKit2.xcodeproj/project.pbxproj:
598         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
599         (-[WKWebProcessPlugInController _bundleRef]):
600         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
601         Add access to C-SPI WebKit types as Objective-C SPI.
602
603 2013-03-04  Alexey Proskuryakov  <ap@apple.com>
604
605         Make AsyncFileReader work without ScriptExecutionContext
606         https://bugs.webkit.org/show_bug.cgi?id=111376
607
608         Reviewed by Anders Carlsson.
609
610         * NetworkProcess/NetworkResourceLoader.cpp:
611         * NetworkProcess/NetworkResourceLoader.h:
612         Removed a dummy implementation of createAsyncFileStream, which is no longer needed.
613
614 2013-03-05  Alexey Proskuryakov  <ap@apple.com>
615
616         <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
617         and temporary directories instead of private ones
618
619         Reviewed by Sam Weinig.
620
621         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
622         Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
623         containers.
624
625 2013-03-05  David Kilzer  <ddkilzer@apple.com>
626
627         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
628         <http://webkit.org/b/106742>
629
630         Fixes the following build failures:
631
632             Undefined symbols for architecture i386:
633               "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
634                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
635               NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
636               "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
637                   __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
638             ld: symbol(s) not found for architecture i386
639
640         * Configurations/FeatureDefines.xcconfig:
641         - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
642
643 2013-03-05  Tim Horton  <timothy_horton@apple.com>, Grzegorz Czajkowski  <g.czajkowski@samsung.com>
644
645         [WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
646         https://bugs.webkit.org/show_bug.cgi?id=81042
647
648         Reviewed by Enrica Casucci.
649
650         Expose WK2 setting to enable/disabled asynchronous spell checking.
651         It's used by WebKitTestRunner to reset the setting at the beginning
652         of the test.
653         WebKit2 ports might be interested in this setting if they are going
654         to enable this feature.
655
656         * Shared/WebPreferencesStore.h:
657         * UIProcess/API/C/WKPreferences.cpp:
658         (WKPreferencesSetAsynchronousSpellCheckingEnabled):
659         (WKPreferencesGetAsynchronousSpellCheckingEnabled):
660         * UIProcess/API/C/WKPreferences.h:
661         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
662         (WKBundleSetAsynchronousSpellCheckingEnabled):
663         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
664         * WebProcess/InjectedBundle/InjectedBundle.cpp:
665         (WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
666         * WebProcess/InjectedBundle/InjectedBundle.h:
667         * WebProcess/WebPage/WebPage.cpp:
668         (WebKit::WebPage::updatePreferences):
669
670 2013-03-03  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
671
672         [WK2][EFL] Add requestCheckingOfString implementation.
673         https://bugs.webkit.org/show_bug.cgi?id=108172
674
675         Reviewed by Hajime Morrita.
676
677         Provide implementation of 'requestCheckingOfString' for WK2-EFL.
678         It uses the unified text checker feature.
679
680         * UIProcess/efl/TextCheckerEfl.cpp:
681         (WebKit::TextChecker::requestCheckingOfString):
682
683 2013-03-04  Chris Fleizach  <cfleizach@apple.com>
684
685         Support WebSpeech - Speech Synthesis
686         https://bugs.webkit.org/show_bug.cgi?id=106742
687
688         Reviewed by Simon Fraser.
689
690         Enable speech synthesis for the Mac.
691
692         * Configurations/FeatureDefines.xcconfig:
693
694 2013-03-04  Anders Carlsson  <andersca@apple.com>
695
696         UI process storage areas should hold on to storage maps
697         https://bugs.webkit.org/show_bug.cgi?id=111374
698
699         Reviewed by Beth Dakin.
700
701         Pass the session storage quota size through to the storage area constructor and
702         create a StorageMap with the given quota size.
703
704         * UIProcess/Storage/StorageManager.cpp:
705         (StorageManager::StorageArea):
706         (WebKit::StorageManager::StorageArea::create):
707         (WebKit::StorageManager::StorageArea::StorageArea):
708         (StorageManager::SessionStorageNamespace):
709         (WebKit::StorageManager::SessionStorageNamespace::create):
710         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
711         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
712         (WebKit::StorageManager::createSessionStorageNamespace):
713         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
714         * UIProcess/Storage/StorageManager.h:
715         (StorageManager):
716         * UIProcess/WebPageProxy.cpp:
717         (WebKit::WebPageProxy::WebPageProxy):
718
719 2013-03-04  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
720
721         Unreviewed build fix after r144675.
722
723         Work around picky/old C++ compilers by separating the '>>' in
724         nested templates with a space.
725
726         * UIProcess/Storage/StorageManager.cpp:
727         (StorageManager::StorageArea):
728
729 2013-03-04  Anders Carlsson  <andersca@apple.com>
730
731         More work on UI side storage
732         https://bugs.webkit.org/show_bug.cgi?id=111370
733
734         Reviewed by Andreas Kling.
735
736         Add a DispatchStorageEvent message and begin hooking it up.
737
738         * UIProcess/Storage/StorageManager.cpp:
739         (StorageManager::StorageArea):
740         (WebKit::StorageManager::StorageArea::setItem):
741         (WebKit):
742         (WebKit::StorageManager::StorageArea::dispatchEvents):
743         (WebKit::StorageManager::setItem):
744         (WebKit::StorageManager::findStorageArea):
745         * UIProcess/Storage/StorageManager.h:
746         (StorageManager):
747         * UIProcess/Storage/StorageManager.messages.in:
748         * WebProcess/Storage/StorageAreaProxy.cpp:
749         (WebKit::StorageAreaProxy::setItem):
750         (WebKit::StorageAreaProxy::dispatchStorageEvent):
751         (WebKit):
752         * WebProcess/Storage/StorageAreaProxy.h:
753         (StorageAreaProxy):
754         * WebProcess/Storage/StorageAreaProxy.messages.in:
755
756 2013-03-04  Jer Noble  <jer.noble@apple.com>
757
758         Unreviewed build fix: wrap references to PluginInfoStore with 
759         guards for platforms which do not enable NETSCAPE_PLUGIN_AP.
760
761         * UIProcess/WebContext.cpp:
762         (WebKit::WebContext::WebContext):
763         (WebKit::WebContext::~WebContext):
764         * UIProcess/WebContext.h:
765
766 2013-03-04  Anders Carlsson  <andersca@apple.com>
767
768         Create and destroy storage areas in the UI process
769         https://bugs.webkit.org/show_bug.cgi?id=111361
770
771         Reviewed by Sam Weinig.
772
773         * UIProcess/Storage/StorageManager.cpp:
774         (StorageManager::StorageArea):
775         Keep track of listener connection and storage area ID pairs.
776         
777         (WebKit::StorageManager::StorageArea::~StorageArea):
778         Assert that we don't have any listeners left.
779
780         (WebKit::StorageManager::StorageArea::addListener):
781         Add the pair to the set of listeners.
782         
783         (WebKit::StorageManager::StorageArea::removeListener):
784         Remove the pair from the set of listeners.
785         
786         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
787         Given an origin, look up or create the storage area.
788
789         (WebKit::StorageManager::createStorageArea):
790         Create the storage area if it doesn't already exist.
791
792         (WebKit::StorageManager::destroyStorageArea):
793         Look up the storage area and destroy it.
794
795         * UIProcess/Storage/StorageManager.h:
796         Add a map of open storage areas.
797
798 2013-03-04  Jer Noble  <jer.noble@apple.com>
799
800         Add API to allow WK2 clients to query the list of installed plug-ins.
801         https://bugs.webkit.org/show_bug.cgi?id=111245
802
803         Reviewed by Alexey Proskuryakov.
804
805         Add API in WKContext, implemented by WebContext, that allows callers to register a callback 
806         retrieve an array containing installed plugin information. This API is exposed through WebContext 
807         because it owns the PluginInfoStore used to fulfill the request.
808
809         Bump the WKContextClient API by 1:
810         * Shared/APIClientTraits.cpp:
811         * Shared/APIClientTraits.h:
812         * UIProcess/API/C/WKContext.h:
813
814         Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
815         successfully loaded:
816         * UIProcess/Plugins/PluginInfoStore.cpp:
817         (WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
818         (WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
819         * UIProcess/Plugins/PluginInfoStore.h:
820         (WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
821         (WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
822         (WebKit::PluginInfoStore::setClient): Simple setter.
823         (WebKit::PluginInfoStore::client): Simple getter.
824
825         * UIProcess/WebContext.cpp:
826         (WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
827         (WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
828         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
829         * UIProcess/WebContext.h:
830         * UIProcess/WebContextClient.cpp:
831         (WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
832         * UIProcess/WebContextClient.h:
833
834 2013-03-04  Tim Horton  <timothy_horton@apple.com>
835
836         PDFPlugin: Hook up Services
837         https://bugs.webkit.org/show_bug.cgi?id=111246
838         <rdar://problem/13062672>
839
840         Reviewed by Alexey Proskuryakov.
841
842         Make the Application->Services menu work when the focused selection is a PDFPlugin.
843
844         * Shared/EditorState.cpp:
845         (WebKit::EditorState::encode):
846         (WebKit::EditorState::decode):
847         * Shared/EditorState.h:
848         (WebKit::EditorState::EditorState):
849         (EditorState):
850         Add isInPlugin property to EditorState.
851
852         * UIProcess/API/mac/WKView.mm:
853         (-[WKView validRequestorForSendType:returnType:]):
854         If the selection is currently in a Plugin, we only currently have the ability
855         to retrieve the selection as a plain-text string, so restrict sendType to NSStringPboardType.
856
857         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
858         * WebProcess/Plugins/Plugin.h:
859         * WebProcess/Plugins/PluginView.h:
860         * WebProcess/Plugins/PluginProxy.h:
861         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
862         Add getStringSelection.
863
864         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
865         Add pdfLayerController:didChangeSelection: delegate method.
866
867         * WebProcess/Plugins/PDF/PDFPlugin.h:
868         (PDFPlugin):
869         Add getStringSelection and notifySelectionChanged.
870
871         * WebProcess/Plugins/PDF/PDFPlugin.mm:
872         (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeSelection:]):
873         Forward selection change notifications to our PDFPlugin.
874
875         (WebKit::PDFPlugin::notifySelectionChanged):
876         Forward selection change notifications to our WebPage.
877
878         (WebKit::PDFPlugin::getStringSelection):
879         Retrieve PDFLayerController's selection as a plain text string.
880         
881         * WebProcess/Plugins/PluginView.cpp:
882         (WebKit::PluginView::countFindMatches):
883         (WebKit::PluginView::findString):
884         Drive-bys, check for existance and initialization of the plugin before using it.
885
886         (WebKit::PluginView::getStringSelection): Added.
887
888         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
889         (WebKit::WebEditorClient::respondToChangedSelection):
890         Use didChangeSelection instead of sending the EditorStateChanged message directly.
891
892         * WebProcess/WebPage/WebPage.cpp:
893         (WebKit::WebPage::editorState):
894         If a plugin is focused and has a selection, return a EditorState that reflects that.
895         Since PDFs aren't editable (when editing annotations, the plugin doesn't have focus),
896         I'm not adding support for the editing-related properties when a plugin has focus.
897
898         (WebKit::WebPage::focusedPluginViewForFrame):
899         (WebKit::WebPage::pluginViewForFrame):
900         Make these class methods instead of static functions so we can use them from
901         WebPageMac too, instead of duplicating code there.
902
903         (WebKit::WebPage::didChangeSelection): Added.
904
905         * WebProcess/WebPage/WebPage.h:
906         Add didChangeSelection and [focused]PluginViewForFrame.
907
908         * WebProcess/WebPage/mac/WebPageMac.mm:
909         (WebKit::WebPage::getStringSelectionForPasteboard):
910         Defer to the focused plugin (if it exists) when retrieving the plain-text selection.
911
912 2013-03-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
913
914         [WK2][EFL] Add callbacks to the WKViewClient to handle Web Process crash and relaunch
915         https://bugs.webkit.org/show_bug.cgi?id=109828
916
917         Reviewed by Kenneth Rohde Christiansen.
918
919         Providing WKViewClient with Web Process crash and Web Process relaunch
920         callbacks brings better design as WebView should not be aware of
921         EFL-specific code handling the corresponding events.
922
923         The implementation of the mentioned Web Process callbacks was also added.
924
925         * UIProcess/API/C/efl/WKView.cpp:
926         (WKViewSetThemePath):
927         * UIProcess/API/C/efl/WKView.h:
928         * UIProcess/efl/ViewClientEfl.cpp:
929         (WebKit::ViewClientEfl::webProcessCrashed):
930         (WebKit):
931         (WebKit::ViewClientEfl::webProcessDidRelaunch):
932         (WebKit::ViewClientEfl::ViewClientEfl):
933         * UIProcess/efl/ViewClientEfl.h:
934         (ViewClientEfl):
935         * UIProcess/efl/WebView.cpp:
936         (WebKit::WebView::setThemePath):
937
938             Accepts WTF::String instead of WKStringRef as it is
939             more appropriate for C++ API implementation class.
940
941         (WebKit::WebView::processDidCrash):
942         (WebKit::WebView::didRelaunchProcess):
943         * UIProcess/efl/WebView.h:
944         (WebView):
945         * UIProcess/efl/WebViewClient.cpp:
946         (WebKit::WebViewClient::webProcessCrashed):
947         (WebKit):
948         (WebKit::WebViewClient::webProcessDidRelaunch):
949         * UIProcess/efl/WebViewClient.h:
950
951 2013-03-04  Anders Carlsson  <andersca@apple.com>
952
953         Complete the plug-in URL string before sending it to the UI process
954         https://bugs.webkit.org/show_bug.cgi?id=111355
955         <rdar://problem/13326713>
956
957         Reviewed by Andreas Kling.
958
959         If the URL is not absolute, we won't be able to find it by path extension in the plug-in info store.
960
961         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
962         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
963
964 2013-03-04  Carlos Garcia Campos  <cgarcia@igalia.com>
965
966         [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
967         https://bugs.webkit.org/show_bug.cgi?id=111346
968
969         Reviewed by Martin Robinson.
970
971         The problem is the use of a temporary CString object in the macro
972         g_assert_cmpstr. It's a common mistake because we usually forget
973         that g_assert_cmpstr is not a function but a macro, that expands
974         to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
975         with the same implementation that g_assert_cmpstr, but using
976         CStrings instead of const char*. It fixes all the cases where a
977         temporary CString was used in g_assert_cmpstr, and uses the new
978         macro also for the cases where we were caching the CString just
979         for g_assert_cmpstr.
980
981         * UIProcess/API/gtk/tests/TestDownloads.cpp:
982         (testDownloadRemoteFile):
983         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
984         (testInspectorServerPageList):
985         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
986         * UIProcess/API/gtk/tests/TestMain.h:
987         * UIProcess/API/gtk/tests/TestResources.cpp:
988         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
989         (testGetFaviconURI):
990         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
991         (assertThatUserAgentIsSentInHeaders):
992         (testWebKitSettingsUserAgent):
993
994 2013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
995
996         Add build flag for FontLoader
997         https://bugs.webkit.org/show_bug.cgi?id=111289
998
999         Reviewed by Benjamin Poulain.
1000
1001         Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
1002
1003         * Configurations/FeatureDefines.xcconfig:
1004
1005 2013-03-03  Tim Horton  <timothy_horton@apple.com>
1006
1007         PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
1008         https://bugs.webkit.org/show_bug.cgi?id=111258
1009
1010         Reviewed by Alexey Proskuryakov.
1011
1012         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
1013         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1014         (-[WKPDFLayerControllerDelegate openWithNativeApplication]):
1015         Rename from openWithPreview to openWithNativeApplication to match PDFKit.
1016
1017 2013-03-03  Huang Dongsung  <luxtella@company100.net>
1018
1019         [EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
1020         https://bugs.webkit.org/show_bug.cgi?id=110298
1021
1022         Reviewed by Kenneth Rohde Christiansen.
1023
1024         Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
1025         fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
1026         layout. It is confusing that a platform WebView deals with device view size or
1027         DIP view size case by case. So this patch always turns on
1028         ApplyDeviceScaleFactorInCompositor.
1029
1030         In addition, move the code that turns on ScrollingCoordinatorEnabled to
1031         CoordinatedLayerTreeHost.
1032
1033         * UIProcess/API/efl/EwkView.cpp:
1034         (EwkView::setDeviceScaleFactor):
1035             We should make WebPage know new DIP size.
1036         (EwkView::setSize):
1037             When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
1038             know the DIP size as a view size.
1039         * UIProcess/efl/WebView.cpp:
1040         (WebKit::WebView::updateViewportSize):
1041         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1042         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1043         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1044         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1045         * WebProcess/WebPage/WebPage.cpp:
1046         (WebKit::WebPage::setUseFixedLayout):
1047             WebPage sends the DIP size to Web Process even when we don't use fixed layout.
1048
1049 2013-03-03  Sam Weinig  <sam@webkit.org>
1050
1051         Shared Web Workers have an incorrect visible process name
1052         https://bugs.webkit.org/show_bug.cgi?id=111277
1053
1054         Reviewed by Dan Bernstein.
1055
1056         * SharedWorkerProcess/SharedWorkerProcess.cpp:
1057         (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
1058         * SharedWorkerProcess/SharedWorkerProcess.h:
1059         (SharedWorkerProcess):
1060         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
1061         (WebKit::SharedWorkerProcess::initializeProcessName):
1062         The SharedWorkerProcess is not an internet plug-in!
1063
1064 2013-03-03  Adam Barth  <abarth@webkit.org>
1065
1066         Unreviewed attempted build fix. Adds back some includes removed in
1067         http://trac.webkit.org/changeset/144565.
1068
1069         * Shared/WebRenderLayer.cpp:
1070         * Shared/WebRenderObject.cpp:
1071         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1072         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1073         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1074         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1075         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1076         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1077         * WebProcess/Plugins/PluginView.cpp:
1078         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1079         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1080         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1081         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1082         * WebProcess/WebPage/mac/WebPageMac.mm:
1083         * WebProcess/WebProcess.cpp:
1084         * WebProcess/soup/WebProcessSoup.cpp:
1085
1086 2013-03-03  Adam Barth  <abarth@webkit.org>
1087
1088         Unreviewed rollout of http://trac.webkit.org/r144530
1089         As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
1090         https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
1091         large number of ASSERTs in chromium-win.
1092
1093         * NetworkProcess/HostRecord.h:
1094         * NetworkProcess/NetworkResourceLoadScheduler.h:
1095         * NetworkProcess/NetworkResourceLoader.h:
1096         (WebCore):
1097         * Shared/WebRenderLayer.cpp:
1098         * Shared/WebRenderObject.cpp:
1099         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1100         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1101         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1102         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1103         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1104         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1105         * WebProcess/Plugins/PluginView.cpp:
1106         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1107         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1108         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1109         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1110         * WebProcess/WebPage/mac/WebPageMac.mm:
1111         * WebProcess/WebProcess.cpp:
1112         * WebProcess/soup/WebProcessSoup.cpp:
1113
1114 2013-03-02  Sam Weinig  <sam@webkit.org>
1115
1116         WebKit2 is missing the setShowsURLsInToolTips preference
1117         https://bugs.webkit.org/show_bug.cgi?id=111259
1118         <rdar://problem/12991891>
1119
1120         Reviewed by Maciej Stachowiak.
1121
1122         * Shared/WebPreferencesStore.h:
1123         * UIProcess/API/C/WKPreferences.cpp:
1124         (WKPreferencesSetShowsURLsInToolTipsEnabled):
1125         (WKPreferencesGetShowsURLsInToolTipsEnabled):
1126         * UIProcess/API/C/WKPreferencesPrivate.h:
1127         * WebProcess/WebPage/WebPage.cpp:
1128         (WebKit::WebPage::updatePreferences):
1129         Pipe it through.
1130
1131 2013-03-02  Benjamin Poulain  <bpoulain@apple.com>
1132
1133         Move computedStyleIncludingVisitedInfo from TestRunner to Internals
1134         https://bugs.webkit.org/show_bug.cgi?id=109772
1135
1136         Reviewed by Andreas Kling.
1137
1138         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1139         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
1140         * WebProcess/WebPage/WebFrame.cpp:
1141         * WebProcess/WebPage/WebFrame.h:
1142         (WebFrame):
1143
1144 2013-03-01  Kiran Muppala  <cmuppala@apple.com>
1145
1146         Remove call to set task priority of WebKit2 processes on Mac
1147         https://bugs.webkit.org/show_bug.cgi?id=111239
1148
1149         Reviewed by Darin Adler.
1150
1151         Remove call to set task prioirty of WebKit2 processes on Mac as it
1152         is no longer necessary.
1153
1154         * Shared/mac/ChildProcessMac.mm:
1155         (WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
1156
1157 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1158
1159         Reduce amount of rebuilding when touching networking headers
1160         https://bugs.webkit.org/show_bug.cgi?id=111035
1161
1162         Reviewed by Eric Seidel.
1163
1164         Adding includes that are now necessary because WebCore headers don't have them
1165         any more.
1166
1167         * NetworkProcess/HostRecord.h:
1168         * NetworkProcess/NetworkResourceLoadScheduler.h:
1169         * NetworkProcess/NetworkResourceLoader.h:
1170         * Shared/WebRenderLayer.cpp:
1171         * Shared/WebRenderObject.cpp:
1172         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1173         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1174         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1175         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1176         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1177         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1178         * WebProcess/Plugins/PluginView.cpp:
1179         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1180         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1181         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1182         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1183         * WebProcess/WebPage/mac/WebPageMac.mm:
1184         * WebProcess/WebProcess.cpp:
1185         * WebProcess/soup/WebProcessSoup.cpp:
1186
1187 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1188
1189         Make in-memory blobs work in NetworkProcess
1190         https://bugs.webkit.org/show_bug.cgi?id=111132
1191
1192         Reviewed by Sam Weinig.
1193
1194         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1195         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
1196         (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
1197         (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
1198         * NetworkProcess/NetworkConnectionToWebProcess.h:
1199         Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
1200         WebProcess in non-PPT mode).
1201
1202         * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
1203         needed for BlobRegistry.
1204
1205         * NetworkProcess/NetworkProcess.cpp:
1206         * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
1207         * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
1208         Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
1209         Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
1210         we obviously know which registry implementation is in use in this process.
1211
1212         * Shared/FileAPI: Added.
1213         * Shared/FileAPI/BlobRegistrationData.cpp: Added.
1214         * Shared/FileAPI/BlobRegistrationData.h: Added.
1215         Added a class for passing BlobData and extension handles over IPC.
1216         This uses a trick with mutable a member to avoid copying decoded BlobStorageData.
1217
1218         * WebKit2.xcodeproj/project.pbxproj:
1219         * WebProcess/FileAPI: Added.
1220         * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
1221         * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
1222         A proxy implementation of BlobRegistry that just sends requests over IPC. We only
1223         need async ones.
1224
1225         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1226         (WebKit::WebPlatformStrategies::createBlobRegistry):
1227         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1228         Create an appropriate BlobRegistry.
1229
1230 2013-03-01  Zan Dobersek  <zdobersek@igalia.com>
1231
1232         Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
1233         against libWebCoreSVG.la when SVG is disabled.
1234
1235         Rubber-stamped by Gustavo Noronha.
1236
1237         * GNUmakefile.am:
1238
1239 2013-02-28  Sam Weinig  <sam@webkit.org>
1240
1241         Add SPI for marking a WebView as doing things on behalf of another process
1242         https://bugs.webkit.org/show_bug.cgi?id=111125
1243
1244         Reviewed by Alexey Proskuryakov.
1245
1246         * NetworkProcess/mac/RemoteNetworkingContext.h:
1247         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1248         (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
1249         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1250         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1251         (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
1252         Stub out sourceApplicationAuditData() client function.
1253
1254 2013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1255
1256         Unreviewed, rolling out r144422 and r144424.
1257         http://trac.webkit.org/changeset/144422
1258         http://trac.webkit.org/changeset/144424
1259         https://bugs.webkit.org/show_bug.cgi?id=111167
1260
1261         Caused over 20 tests to fail assertion on Chromium Win port as
1262         ASSERTION FAILED: m_platformRequestUpdated (Requested by
1263         toyoshim on #webkit).
1264
1265         * NetworkProcess/HostRecord.h:
1266         * NetworkProcess/NetworkResourceLoadScheduler.h:
1267         * NetworkProcess/NetworkResourceLoader.h:
1268         (WebCore):
1269         * Shared/WebRenderLayer.cpp:
1270         * Shared/WebRenderObject.cpp:
1271         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1272         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1273         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1274         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1275         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1276         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1277         * WebProcess/Plugins/PluginView.cpp:
1278         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1279         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1280         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1281         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1282         * WebProcess/WebPage/mac/WebPageMac.mm:
1283         * WebProcess/WebProcess.cpp:
1284         * WebProcess/soup/WebProcessSoup.cpp:
1285
1286 2013-03-01  Andras Becsi  <andras.becsi@digia.com>
1287
1288         [Qt][WK2] Fix failing API tests after r143935
1289         https://bugs.webkit.org/show_bug.cgi?id=111086
1290
1291         Reviewed by Jocelyn Turcotte.
1292
1293         Convert a leftorver resume call to the new resumeAndUpdateContent() call
1294         in PageViewportControllerClientQt so that the notifications about zoom
1295         animation state changes reach the API tests.
1296
1297         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1298         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
1299
1300 2013-03-01  Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com>
1301
1302         [WK2] Asynchronous spell checking implementation
1303         https://bugs.webkit.org/show_bug.cgi?id=109577
1304
1305         Reviewed by Enrica Casucci.
1306
1307         Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
1308         on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
1309         passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
1310         the 'TextCheckerCompletion' object with the request data and possibility to notify
1311         the WebProcess about the spelling results.
1312         Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
1313         didSuccess/didCancel method to notify the WebCore about the spelling result.
1314
1315         * CMakeLists.txt:
1316         * GNUmakefile.list.am:
1317         Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
1318         WK2-Gtk+ builds.
1319
1320         * Scripts/webkit2/messages.py:
1321         (headers_for_type):
1322         Add exception for 'TextCheckingRequestData' class to properly find header
1323         file for it.
1324
1325         * Shared/WebCoreArgumentCoders.cpp:
1326         * Shared/WebCoreArgumentCoders.h:
1327         Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.
1328
1329         * Target.pri:
1330         Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.
1331
1332         * UIProcess/TextChecker.h:
1333         Add 'requestCheckingOfString' method to the TextChecker's interface.
1334
1335         * UIProcess/TextCheckerCompletion.cpp: Added.
1336         (WebKit::TextCheckerCompletion::create):
1337         (WebKit::TextCheckerCompletion::TextCheckerCompletion):
1338
1339         (WebKit::TextCheckerCompletion::spellDocumentTag):
1340         Return the WebPageProxy's spellDocumentTag as the client might be
1341         interested in from which page the request came.
1342
1343         (WebKit::TextCheckerCompletion::textCheckingRequestData):
1344         Allow to retrieve 'TextCheckingRequestData' object.
1345
1346         (WebKit::TextCheckerCompletion::didFinishCheckingText):
1347         (WebKit::TextCheckerCompletion::didCancelCheckingText):
1348         Notify the 'WebPageProxy' object that the given request has been
1349         handled or canceled.
1350
1351         * UIProcess/TextCheckerCompletion.h: Added.
1352         Introduce a new class for WK2 to retrieve the request data and
1353         call didFinishCheckingText/didCancelCheckingText.
1354
1355         * UIProcess/WebPageProxy.cpp:
1356         (WebKit::WebPageProxy::requestCheckingOfString):
1357         Create 'TextCheckerCompletion' object and pass it
1358         to the 'TextChecker::requestCheckingOfString' method.
1359
1360         (WebKit::WebPageProxy::didFinishCheckingText):
1361         (WebKit::WebPageProxy::didCancelCheckingText):
1362         Send the messages to WebProcess that the given request has been
1363         handled or canceled.
1364
1365         * UIProcess/WebPageProxy.h:
1366         (WebPageProxy):
1367         Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
1368         Add private declarations for 'requestCheckingOfString'.
1369         Move the 'spellDocumentTag()' method to to the public section to be
1370         accessible from 'TextCheckerCompletion' class.
1371
1372         * UIProcess/WebPageProxy.messages.in:
1373         A new entry for 'RequestCheckingOfString'.
1374
1375         * UIProcess/efl/TextCheckerEfl.cpp:
1376         (WebKit::TextChecker::requestCheckingOfString):
1377         (WebKit):
1378         * UIProcess/gtk/TextCheckerGtk.cpp:
1379         (WebKit::TextChecker::requestCheckingOfString):
1380         (WebKit):
1381         * UIProcess/mac/TextCheckerMac.mm:
1382         (WebKit::TextChecker::requestCheckingOfString):
1383         (WebKit):
1384         * UIProcess/qt/TextCheckerQt.cpp:
1385         (WebKit::TextChecker::requestCheckingOfString):
1386         (WebKit):
1387         Add dummy implementations for 'requestCheckingOfString'.
1388
1389         * WebKit2.xcodeproj/project.pbxproj:
1390         Add 'TextCheckerCompletion.{h/cpp} to Mac build.
1391
1392         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1393         (WebKit::generateTextCheckingRequestID):
1394         Helper function to generate the unique identifier for the abstract
1395         'TextCheckingRequest' object.
1396
1397         (WebKit::WebEditorClient::requestCheckingOfString):
1398         Associate 'TextCheckingRequest' with the unique identifier and add them
1399         to the map object.
1400         Get the request data and send it to the UIProcess.
1401
1402         * WebProcess/WebPage/WebPage.cpp:
1403         (WebKit::WebPage::addTextCheckingRequest):
1404         Add the identifier and the request to the map object.
1405
1406         (WebKit::WebPage::didFinishCheckingText):
1407         (WebKit::WebPage::didCancelCheckingText):
1408         Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
1409         about spellcheking results.
1410         Remove the request from the map object.
1411
1412         * WebProcess/WebPage/WebPage.h:
1413         Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
1414         'didCancelCheckingText.'
1415
1416         * WebProcess/WebPage/WebPage.messages.in:
1417         Add a new entry for DidFinishCheckingText, DidCancelCheckingText.
1418
1419 2013-02-28  Alexey Proskuryakov  <ap@apple.com>
1420
1421         Reduce amount of rebuilding when touching networking headers
1422         https://bugs.webkit.org/show_bug.cgi?id=111035
1423
1424         Reviewed by Eric Seidel.
1425
1426         Adding includes that are now necessary because WebCore headers don't have them
1427         any more.
1428
1429         * NetworkProcess/HostRecord.h:
1430         * NetworkProcess/NetworkResourceLoadScheduler.h:
1431         * NetworkProcess/NetworkResourceLoader.h:
1432         * Shared/WebRenderLayer.cpp:
1433         * Shared/WebRenderObject.cpp:
1434         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1435         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1436         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1437         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1438         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1439         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1440         * WebProcess/Plugins/PluginView.cpp:
1441         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1442         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1443         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1444         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1445         * WebProcess/WebPage/mac/WebPageMac.mm:
1446         * WebProcess/WebProcess.cpp:
1447         * WebProcess/soup/WebProcessSoup.cpp:
1448
1449 2013-02-28  Seokju Kwon  <seokju.kwon@gmail.com>
1450
1451         [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
1452         https://bugs.webkit.org/show_bug.cgi?id=109925
1453
1454         Reviewed by Benjamin Poulain.
1455
1456         The contents of an outermost namespace block should not be indented.
1457         And One-line control clauses should not use braces.
1458
1459         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1460         (WebKit::WebInspectorClient::closeInspectorFrontend):
1461         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1462         (WebCore):
1463
1464 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
1465
1466         Add a pre-bootstrap message for NetworkProcess XPC service
1467         https://bugs.webkit.org/show_bug.cgi?id=111127
1468
1469         Reviewed by Sam Weinig.
1470
1471         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1472         (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
1473         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
1474         (WebKit::XPCServiceEventHandler): Ditto.
1475         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1476         (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
1477         XPC service.
1478
1479 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
1480
1481         Need API to control page underlay color
1482         https://bugs.webkit.org/show_bug.cgi?id=110918
1483
1484         Reviewed by Simon Fraser.
1485
1486         * Shared/WebPageCreationParameters.cpp:
1487         (WebKit::WebPageCreationParameters::encode):
1488         Encode underlayColor.
1489         (WebKit::WebPageCreationParameters::decode):
1490         Decode underlayColor.
1491
1492         * Shared/WebPageCreationParameters.h:
1493         (WebPageCreationParameters):
1494         Add underlayColor member.
1495
1496         * UIProcess/API/mac/WKView.mm:
1497         (-[WKView underlayColor]):
1498         Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
1499         (-[WKView setUnderlayColor:]):
1500         Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
1501
1502         * UIProcess/API/mac/WKViewPrivate.h:
1503         Add underlayColor @property.
1504
1505         * UIProcess/WebPageProxy.cpp:
1506         (WebKit::WebPageProxy::setUnderlayColor):
1507         Mutator; dispatches SetUnderlayColor to WebPage.
1508         (WebKit::WebPageProxy::creationParameters):
1509         Set the parameters' underlayColor member appropriately.
1510
1511         * UIProcess/WebPageProxy.h:
1512         Declare new member functions and variable.
1513         (WebKit::WebPageProxy::underlayColor):
1514         Accessor.
1515
1516         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1517         (WebKit::WebChromeClient::underlayColor):
1518         Return the associated WebPage's underlayColor.
1519
1520         * WebProcess/WebCoreSupport/WebChromeClient.h:
1521         (WebChromeClient):
1522         Declare underlayColor().
1523
1524         * WebProcess/WebPage/WebPage.cpp:
1525         (WebKit::WebPage::WebPage):
1526         Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
1527
1528         * WebProcess/WebPage/WebPage.h:
1529         Declare new member functions and variable.
1530         (WebKit::WebPage::underlayColor):
1531         Accessor.
1532
1533         * WebProcess/WebPage/WebPage.messages.in:
1534         Add SetUnderlayColor message.
1535
1536 2013-02-28  Anders Carlsson  <andersca@apple.com>
1537
1538         Add the notion of an allowed connection to SessionStorageNamespace
1539         https://bugs.webkit.org/show_bug.cgi?id=111122
1540
1541         Reviewed by Sam Weinig.
1542
1543         Group together each session storage namespace with an allowed connection.
1544         This will help ensure that rouge web processes will not be able to access session storage
1545         from pages in other processes.
1546         
1547         * UIProcess/Storage/StorageManager.cpp:
1548         (StorageManager::SessionStorageNamespace):
1549         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1550         (WebKit::StorageManager::SessionStorageNamespace::create):
1551         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1552         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
1553         Add an m_allowedConnection member variable, as well as setters and getters.
1554
1555         (WebKit::StorageManager::createSessionStorageNamespace):
1556         Take an optional allowed connection. (It can be null if the process has not finished launching).
1557
1558         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
1559         New function to set the allowed connection for a session storage namespace.
1560
1561         (WebKit::StorageManager::createStorageArea):
1562         Add another FIXME.
1563
1564         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1565         Pass the connection to the SessionStorageNamespace constructor.
1566
1567         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
1568         Set the allowed connection.
1569
1570         * UIProcess/WebPageProxy.cpp:
1571         (WebKit::WebPageProxy::WebPageProxy):
1572         Pass the connection to createSessionStorageNamespace.
1573
1574         (WebKit::WebPageProxy::connectionWillOpen):
1575         Call setAllowedSessionStorageNamespaceConnection.
1576         
1577         (WebKit::WebPageProxy::connectionWillClose):
1578         Call setAllowedSessionStorageNamespaceConnection with a null connection.
1579
1580         * UIProcess/WebProcessProxy.cpp:
1581         (WebKit::WebProcessProxy::connectionWillOpen):
1582         Call connectionWillOpen on all pages.
1583
1584         (WebKit::WebProcessProxy::connectionWillClose):
1585         Call connectionWillClose on all pages.
1586
1587 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
1588
1589         Add private API to disable WKView window occlusion detection
1590         https://bugs.webkit.org/show_bug.cgi?id=111107
1591
1592         Reviewed by Simon Fraser.
1593
1594         * UIProcess/API/mac/WKView.mm:
1595         (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
1596         detection is enabled before enabling notifications.
1597         (windowBecameOccluded): Ditto before changing window occlusion state.
1598         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1599         Initialize occlusion detection enabled flag to "YES".
1600         (-[WKView windowOcclusionDetectionEnabled]):
1601         (-[WKView setWindowOcclusionDetectionEnabled:]):
1602         * UIProcess/API/mac/WKViewPrivate.h:
1603
1604 2013-02-28  Anders Carlsson  <andersca@apple.com>
1605
1606         Add the notion of an allowed connection to SessionStorageNamespace
1607         https://bugs.webkit.org/show_bug.cgi?id=111122
1608
1609         Reviewed by Sam Weinig.
1610
1611         Group together each session storage namespace with an allowed connection.
1612         This will help ensure that rouge web processes will not be able to access session storage
1613         from pages in other processes.
1614         
1615         * UIProcess/Storage/StorageManager.cpp:
1616         (StorageManager::SessionStorageNamespace):
1617         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
1618         (WebKit::StorageManager::SessionStorageNamespace::create):
1619         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1620         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
1621         Add an m_allowedConnection member variable, as well as setters and getters.
1622
1623         (WebKit::StorageManager::createSessionStorageNamespace):
1624         Take an optional allowed connection. (It can be null if the process has not finished launching).
1625
1626         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
1627         New function to set the allowed connection for a session storage namespace.
1628
1629         (WebKit::StorageManager::createStorageArea):
1630         Add another FIXME.
1631
1632         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1633         Pass the connection to the SessionStorageNamespace constructor.
1634
1635         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
1636         Set the allowed connection.
1637
1638         * UIProcess/WebPageProxy.cpp:
1639         (WebKit::WebPageProxy::WebPageProxy):
1640         Pass the connection to createSessionStorageNamespace.
1641
1642         (WebKit::WebPageProxy::connectionWillOpen):
1643         Call setAllowedSessionStorageNamespaceConnection.
1644         
1645         (WebKit::WebPageProxy::connectionWillClose):
1646         Call setAllowedSessionStorageNamespaceConnection with a null connection.
1647
1648         * UIProcess/WebProcessProxy.cpp:
1649         (WebKit::WebProcessProxy::connectionWillOpen):
1650         Call connectionWillOpen on all pages.
1651
1652         (WebKit::WebProcessProxy::connectionWillClose):
1653         Call connectionWillClose on all pages.
1654
1655 2013-02-28  Anders Carlsson  <andersca@apple.com>
1656
1657         Implement more StorageAreaProxy member functions
1658         https://bugs.webkit.org/show_bug.cgi?id=111103
1659
1660         Reviewed by Sam Weinig.
1661
1662         * Shared/SecurityOriginData.cpp:
1663         (WebKit::SecurityOriginData::securityOrigin):
1664         * Shared/SecurityOriginData.h:
1665         Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
1666
1667         * WebProcess/Storage/StorageAreaProxy.cpp:
1668         (WebKit::StorageAreaProxy::key):
1669         Fill the storage map and call through to StorageMap::key.
1670
1671         (WebKit::StorageAreaProxy::contains):
1672         Fill the storage map and call through to StorageMap::contains.
1673
1674         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
1675         Return 0; this matches StorageAreaImpl.
1676
1677 2013-02-28  Tim Horton  <timothy_horton@apple.com>
1678
1679         PDFPlugin: PDF orientation isn't respected when printing or print-previewing
1680         https://bugs.webkit.org/show_bug.cgi?id=110925
1681         <rdar://problem/13008621>
1682
1683         Reviewed by Alexey Proskuryakov.
1684
1685         * WebProcess/WebPage/mac/WebPageMac.mm:
1686         (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
1687         to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
1688
1689 2013-02-28  Sam Weinig  <sam@webkit.org>
1690
1691         Don't install unused XPCServices on Lion
1692         <rdar://problem/13264712>
1693
1694         Rubber-stamped by Anders Carlsson
1695
1696         * Configurations/BaseXPCService.xcconfig:
1697
1698 2013-02-28  David Kilzer  <ddkilzer@apple.com>
1699
1700         BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
1701
1702         * WebProcess/WebPage/WebPage.messages.in: Move
1703         SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
1704
1705 2013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
1706
1707         [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
1708
1709         * CMakeLists.txt:
1710         * GNUmakefile.list.am:
1711         * Target.pri:
1712         * WebProcess/Storage/StorageNamespaceProxy.cpp:
1713         (WebKit::StorageNamespaceProxy::copy):
1714
1715 2013-02-27  Zan Dobersek  <zdobersek@igalia.com>
1716
1717         Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
1718
1719         * CMakeLists.txt:
1720         * DerivedSources.pri:
1721         * GNUmakefile.list.am:
1722         * Target.pri:
1723
1724 2013-02-27  John Bauman  <jbauman@chromium.org>
1725
1726         Plugin in iframe may not display
1727         https://bugs.webkit.org/show_bug.cgi?id=109879
1728
1729         Reviewed by Simon Fraser.
1730
1731         Update geometry when cliprect changes.
1732
1733         * WebProcess/Plugins/PluginView.cpp:
1734         (WebKit::PluginView::clipRectChanged):
1735         * WebProcess/Plugins/PluginView.h:
1736
1737 2013-02-27  Jer Noble  <jer.noble@apple.com>
1738
1739         REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
1740         https://bugs.webkit.org/show_bug.cgi?id=111003
1741
1742         Reviewed by Anders Carlsson.
1743
1744         Also query the Page's pluginData when determining whether a given MIME type can be shown.
1745
1746         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1747         (WKBundlePageCanShowMIMEType):
1748         * WebProcess/WebPage/WebPage.cpp:
1749         (WebKit::WebPage::canShowMIMEType):
1750         * WebProcess/WebPage/WebPage.h:
1751
1752 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
1753
1754         Add smartInsertDeleteEnabled setting to WebCore::Page
1755         https://bugs.webkit.org/show_bug.cgi?id=107840
1756
1757         Reviewed by Ryosuke Niwa.
1758
1759         * Shared/WebPageCreationParameters.cpp:
1760         (WebKit::WebPageCreationParameters::encode):
1761         (WebKit::WebPageCreationParameters::decode): Remove code related to
1762         isSmartInsertDeleteEnabled.
1763         * Shared/WebPageCreationParameters.h:
1764         (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
1765         * Shared/WebPreferencesStore.h:
1766         (WebKit): Add macro for smartInsertDeleteEnabled setting.
1767         * UIProcess/API/C/WKPreferences.cpp:
1768         (WKPreferencesSetSmartInsertDeleteEnabled):
1769         (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
1770         new setting.
1771         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
1772         * UIProcess/WebPageProxy.cpp:
1773         (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
1774         setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
1775         (WebKit::WebPageProxy::creationParameters): Remove usage of
1776         parameters.isSmartInsertDeleteEnabled.
1777         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1778         (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
1779         all platforms.
1780         * WebProcess/WebPage/WebPage.cpp:
1781         (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
1782         initialization.
1783         (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
1784         setting.
1785         (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
1786         settings.
1787         (WebKit):
1788         (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
1789         settings.
1790         * WebProcess/WebPage/WebPage.h:
1791         (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
1792         platforms and remove m_isSmartInsertDeleteEnabled as it will be a
1793         setting.
1794
1795
1796 2013-02-27  Anders Carlsson  <andersca@apple.com>
1797
1798         More storage scaffolding
1799         https://bugs.webkit.org/show_bug.cgi?id=110997
1800
1801         Reviewed by Andreas Kling.
1802
1803         * DerivedSources.make:
1804         Add StorageAreaProxy.
1805         
1806         * UIProcess/Storage/StorageManager.cpp:
1807         (WebKit::StorageManager::setItem):
1808         Send back a DidSetItem message.
1809         
1810         * WebKit2.xcodeproj/project.pbxproj:
1811         Add generated files.
1812
1813         * WebProcess/Storage/StorageAreaProxy.cpp:
1814         (WebKit::StorageAreaProxy::StorageAreaProxy):
1815         Add the message receiver.
1816         
1817         (WebKit::StorageAreaProxy::~StorageAreaProxy):
1818         Remove the message receiver.
1819         
1820         (WebKit::StorageAreaProxy::didSetItem):
1821         add stub.
1822
1823         * WebProcess/Storage/StorageAreaProxy.h:
1824         (StorageAreaProxy):
1825         * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
1826
1827 2013-02-27  Sam Weinig  <sam@webkit.org>
1828
1829         REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
1830         <rdar://problem/13229828>
1831
1832         Reviewed by Dan Bernstein.
1833
1834         Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
1835         unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
1836         GPU.
1837
1838         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1839         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
1840         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
1841         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1842         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
1843         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
1844         Add NSSupportsAutomaticGraphicsSwitching YES.
1845
1846         * WebKit2.xcodeproj/project.pbxproj:
1847         Re-add the PluginService.32-64.Info.plist plist to the project file.
1848
1849 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
1850
1851         Don't add a body to platform request until necessary
1852         https://bugs.webkit.org/show_bug.cgi?id=110900
1853
1854         Reviewed by Brady Eidson.
1855
1856         * NetworkProcess/NetworkResourceLoader.cpp:
1857         (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
1858         is no way for the client to change it.
1859
1860         * Shared/Downloads/mac/DownloadMac.mm:
1861         (WebKit::Download::start):
1862         (WebKit::Download::startWithHandle):
1863         Pass UpdateHTTPBody when passing a request to NSURLConnection.
1864
1865         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
1866         Never serialize the request body. It's slow, and sometimes impossible, so just
1867         keeping things consistent.
1868
1869         * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
1870         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
1871
1872         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
1873         (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
1874
1875         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
1876         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
1877         Restore existing body after a client call..
1878
1879         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
1880         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
1881
1882 2013-02-27  Glenn Adams  <glenn@skynav.com>
1883
1884         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
1885         https://bugs.webkit.org/show_bug.cgi?id=110944
1886
1887         Reviewed by Dean Jackson.
1888
1889         * Configurations/FeatureDefines.xcconfig:
1890
1891 2013-02-27  Michael Brüning  <michael.bruning@digia.com>
1892
1893         [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
1894         https://bugs.webkit.org/show_bug.cgi?id=108952
1895
1896         Reviewed by Simon Hausmann.
1897
1898         Signed off for WebKit2 by Benjamin Poulain.
1899
1900         This patch moves the view classes and preferences in the Qt API
1901         to use the C API for accessing and manipulating preferences as
1902         part of the cleanup and move towards using the C API as base for
1903         the Qt WebKit2 API.
1904
1905         Adds the function WebKit::adoptToQString for convenience when
1906         dealing with QString and copied String objects.
1907
1908         Removes the ScrollAnimatorEnabled options from QWebPreferences.
1909
1910         * UIProcess/API/cpp/qt/WKStringQt.cpp:
1911         (WebKit::adoptToQString):
1912         * UIProcess/API/cpp/qt/WKStringQt.h:
1913         (WebKit):
1914         * UIProcess/API/qt/qquickwebview.cpp:
1915         (QQuickWebViewPrivate::initialize):
1916         * UIProcess/API/qt/qwebpreferences.cpp:
1917         (QWebPreferencesPrivate::testAttribute):
1918         (QWebPreferencesPrivate::setAttribute):
1919         (QWebPreferencesPrivate::setFontFamily):
1920         (QWebPreferencesPrivate::fontFamily):
1921         (QWebPreferencesPrivate::setFontSize):
1922         (QWebPreferencesPrivate::fontSize):
1923         * UIProcess/API/qt/qwebpreferences_p.h:
1924         * UIProcess/API/qt/qwebpreferences_p_p.h:
1925
1926 2013-02-26  Anders Carlsson  <andersca@apple.com>
1927
1928         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
1929         https://bugs.webkit.org/show_bug.cgi?id=110927
1930
1931         Reviewed by Sam Weinig.
1932
1933         * UIProcess/Storage/StorageManager.cpp:
1934         (WebKit::StorageManager::setItem):
1935         * UIProcess/Storage/StorageManager.h:
1936         Add empty stub.
1937         
1938         * UIProcess/Storage/StorageManager.messages.in:
1939         Add SetItem message.
1940
1941         * WebProcess/Storage/StorageAreaProxy.cpp:
1942         (WebKit::StorageAreaProxy::getItem):
1943         Fill the storage map and get the item from it.
1944
1945         (WebKit::StorageAreaProxy::setItem):
1946         Update the storage map and send a SetItem message to the UI process.
1947
1948 2013-02-26  Anders Carlsson  <andersca@apple.com>
1949
1950         StorageAreaProxy should hold on to a StorageMap and not a HashMap
1951         https://bugs.webkit.org/show_bug.cgi?id=110919
1952
1953         Reviewed by Jessie Berlin.
1954
1955         Create a storage map instead of a hash map.
1956
1957         * WebProcess/Storage/StorageAreaProxy.cpp:
1958         (WebKit::StorageAreaProxy::length):
1959         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
1960         * WebProcess/Storage/StorageAreaProxy.h:
1961         (WebCore):
1962         (StorageAreaProxy):
1963
1964 2013-02-26  Anders Carlsson  <andersca@apple.com>
1965
1966         Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
1967         https://bugs.webkit.org/show_bug.cgi?id=110914
1968         <rdar://problem/13297581>
1969
1970         Reviewed by Beth Dakin.
1971
1972         Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
1973
1974         * UIProcess/WebLoaderClient.cpp:
1975         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1976
1977 2013-02-26  Jer Noble  <jer.noble@apple.com>
1978
1979         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
1980
1981         * Configurations/FeatureDefines.xcconfig:
1982
1983 2013-02-26  Manuel Rego Casasnovas  <rego@igalia.com>
1984
1985         [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
1986         https://bugs.webkit.org/show_bug.cgi?id=110869
1987
1988         Reviewed by Martin Robinson.
1989
1990         Test was failing because of new media controls needs more space to be
1991         painted than just 10x10 pixels.
1992
1993         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
1994         (testContextMenuDefaultMenu): Modified test in order to give more space
1995         to the media controls.
1996
1997 2013-02-26  Dean Jackson  <dino@apple.com>
1998
1999         Draw intermediate snapshots if possible
2000         https://bugs.webkit.org/show_bug.cgi?id=110811
2001
2002         Reviewed by Simon Fraser.
2003
2004         After http://webkit.org/b/110495 we delayed snapshotting until we've
2005         received a nice image, but this made the page look like it is broken.
2006         We should draw any intermediate snapshots that we find, which might
2007         include content such as progress bars/spinners.
2008
2009         * WebProcess/Plugins/PluginView.cpp:
2010         (WebKit): Reinstate 60 attempts at snapshots before giving up.
2011         (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
2012         want accelerated compositing enabled when we are trying to capture
2013         snapshots.
2014
2015 2013-02-26  Andras Becsi  <andras.becsi@digia.com>
2016
2017         Remove nonexistent StringPairVector.h from Target.pri after r142839
2018
2019         Unreviewed gardening.
2020
2021         * Target.pri:
2022
2023 2013-02-26  Simon Hausmann  <simon.hausmann@digia.com>
2024
2025         Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
2026
2027         Add an intermediate pluginName string variable instead of
2028         accessing plugin.info outside the feature #ifdef.
2029
2030         * UIProcess/WebPageProxy.cpp:
2031         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2032
2033 2013-02-25  Huang Dongsung  <luxtella@company100.net>
2034
2035         Coordinated Graphics: remove redundant update of non compositing layer.
2036         https://bugs.webkit.org/show_bug.cgi?id=110444
2037
2038         Reviewed by Noam Rosenthal.
2039
2040         Currently, we update non compositing layer when the page scrolled. However, it
2041         is not needed, because TiledBackingStore can scroll without tile update.
2042
2043         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2044         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2045         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2046         (CoordinatedLayerTreeHost):
2047
2048 2013-02-25  Jer Noble  <jer.noble@apple.com>
2049
2050         REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
2051         https://bugs.webkit.org/show_bug.cgi?id=110848
2052
2053         Reviewed by Ryosuke Niwa.
2054
2055         NULL-check the result of document->documentElement().
2056
2057         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2058         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2059
2060 2013-02-25  Anders Carlsson  <andersca@apple.com>
2061
2062         Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
2063         https://bugs.webkit.org/show_bug.cgi?id=110821
2064
2065         Reviewed by Beth Dakin.
2066
2067         * UIProcess/API/C/WKPage.cpp:
2068         (WKPageGetPluginInformationPluginspageAttributeURLKey):
2069         (WKPageGetPluginInformationPluginURLKey):
2070         Add two new API key getters.
2071         
2072         * UIProcess/API/C/WKPage.h:
2073         Add a new callback and deprecate the old callback.
2074         
2075         * UIProcess/WebLoaderClient.cpp:
2076         (WebKit::WebLoaderClient::didFailToInitializePlugin):
2077         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2078         (WebKit::WebLoaderClient::pluginLoadPolicy):
2079         Make the pluginInformationDictionary a static member function of WebPageProxy so it
2080         can be called from WebUIClient as well.
2081         
2082         * UIProcess/WebPageProxy.cpp:
2083         (WebKit::WebPageProxy::getPluginPath):
2084         Pass the bundle version as well.
2085
2086         (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
2087         (WebKit::WebPageProxy::pluginInformationPluginURLKey):
2088         Add two new keys.
2089
2090         (WebKit::WebPageProxy::pluginInformationDictionary):
2091         Handle more keys.
2092
2093         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2094         Get the plug-in bundle identifier and version.
2095
2096         * UIProcess/WebPageProxy.messages.in:
2097         Pass along more information; the frame and page URLs.
2098
2099         * UIProcess/WebUIClient.cpp:
2100         (WebKit::WebUIClient::unavailablePluginButtonClicked):
2101         Call the new callback if it's supported.
2102
2103         * UIProcess/WebUIClient.h:
2104         (WebUIClient):
2105         * UIProcess/mac/WebInspectorProxyMac.mm:
2106         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2107         Update for API changes.
2108
2109         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2110         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
2111         Ensure that the pluginspage attribute is a valid URL.
2112
2113 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
2114
2115         Optionally partition cache to prevent using cache for tracking
2116         https://bugs.webkit.org/show_bug.cgi?id=110269
2117
2118         Reviewed by Maciej Stachowiak.
2119
2120         Update WKSI bindings and add feature defines.
2121
2122         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
2123         * WebCoreSupport/WebSystemInterface.mm:
2124         (InitWebCoreSystemInterface):
2125
2126 2013-02-25  Jer Noble  <jer.noble@apple.com>
2127
2128         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
2129         https://bugs.webkit.org/show_bug.cgi?id=110806
2130
2131         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
2132
2133         Reviewed by Alexey Proskuryakov.
2134
2135         * Configurations/FeatureDefines.xcconfig:
2136
2137 2013-02-25  Jer Noble  <jer.noble@apple.com>
2138
2139         Full screen mode should not exit when application resigns active state.
2140         https://bugs.webkit.org/show_bug.cgi?id=106129
2141
2142         Reviewed by Darin Adler.
2143
2144         Now that full screen windows get their own full screen space, there is no reason to exit full
2145         screen mode when the application resigns active state. Instead, the windowserver will bring the
2146         space containing the newly active application to the foreground. The user can then swipe back
2147         to the full screen space (or use Mission Control) to get back to the full screen window.
2148
2149         * UIProcess/mac/WKFullScreenWindowController.mm:
2150         (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
2151
2152 2013-02-25  Jer Noble  <jer.noble@apple.com>
2153
2154         Safari shows empty window and paints webpage in full-screen background
2155         https://bugs.webkit.org/show_bug.cgi?id=103712
2156
2157         Reviewed by Darin Adler.
2158
2159         When canceling full screen mode due to a provisional load, exit normally instead of closing the
2160         full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
2161         frame around a full screen iframe is navigated, check to see if the navigating document contains
2162         a full screen element, rather than checking whether the document itself is full screen.
2163
2164         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2165         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2166
2167 2013-02-25  Anders Carlsson  <andersca@apple.com>
2168
2169         Fix build.
2170
2171         * UIProcess/WebPageProxy.cpp:
2172         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2173
2174 2013-02-25  Anders Carlsson  <andersca@apple.com>
2175
2176         Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
2177         https://bugs.webkit.org/show_bug.cgi?id=110793
2178         <rdar://problem/13265303>
2179
2180         Reviewed by Sam Weinig.
2181
2182         Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
2183         frame and page URLs.
2184
2185         * UIProcess/API/C/WKPage.h:
2186         * UIProcess/WebLoaderClient.cpp:
2187         (WebKit::pluginInformationDictionary):
2188         (WebKit::WebLoaderClient::didFailToInitializePlugin):
2189         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2190         (WebKit::WebLoaderClient::pluginLoadPolicy):
2191         * UIProcess/WebLoaderClient.h:
2192         * UIProcess/WebPageProxy.cpp:
2193         (WebKit::WebPageProxy::didFailToInitializePlugin):
2194         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2195         * UIProcess/WebPageProxy.h:
2196         * UIProcess/WebPageProxy.messages.in:
2197         * WebProcess/Plugins/PluginView.cpp:
2198         (WebKit::PluginView::didFailToInitializePlugin):
2199         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2200         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
2201         * WebProcess/WebPage/WebPage.cpp:
2202         (WebKit::WebPage::createPlugin):
2203
2204 2013-02-25  Tim Horton  <timothy_horton@apple.com>
2205
2206         PDFPlugin: Tab between text annotations
2207         https://bugs.webkit.org/show_bug.cgi?id=106539
2208         <rdar://problem/12751789>
2209
2210         Reviewed by Darin Adler.
2211
2212         Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
2213
2214         Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
2215
2216         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
2217         * WebProcess/Plugins/PDF/PDFPlugin.h:
2218         (PDFPlugin): Add focus(Next|Previous)Annotation.
2219         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2220         (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
2221         (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
2222         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
2223         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
2224         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
2225         (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
2226         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
2227         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
2228         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
2229         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
2230         (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
2231         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
2232         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
2233         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
2234         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
2235         (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
2236         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
2237         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
2238         the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
2239
2240 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
2241
2242         <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
2243
2244         Reviewed by Anders Carlsson.
2245
2246         * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
2247         have a "WebProcessService".
2248
2249 2013-02-25  Andras Becsi  <andras.becsi@digia.com>
2250
2251         [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
2252         https://bugs.webkit.org/show_bug.cgi?id=110751
2253
2254         Reviewed by Jocelyn Turcotte.
2255
2256         This is a clean-up in the PageViewportController clients that removes leftover
2257         code from previous design that is partially unused and unnecessary, to simplify
2258         the interaction between PageViewportController and clients.
2259
2260         * UIProcess/PageViewportController.cpp:
2261         (WebKit::PageViewportController::resumeContent):
2262         * UIProcess/PageViewportControllerClient.h:
2263         (PageViewportControllerClient):
2264         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2265         * UIProcess/efl/PageViewportControllerClientEfl.h:
2266         (PageViewportControllerClientEfl):
2267         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2268         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
2269         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
2270         (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
2271         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
2272         * UIProcess/qt/PageViewportControllerClientQt.h:
2273         (PageViewportControllerClientQt):
2274
2275 2013-02-25  Andreas Kling  <akling@apple.com>
2276
2277         Reduce amount of code that includes StylePropertySet.h
2278         <http://webkit.org/b/101149>
2279
2280         Reviewed by Antti Koivisto.
2281
2282         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2283
2284 2013-02-24  Andreas Kling  <akling@apple.com>
2285
2286         Reduce include graph of JSDOMBinding.h
2287         <http://webkit.org/b/110709>
2288
2289         Reviewed by Antti Koivisto.
2290
2291         * Shared/WebRenderObject.cpp:
2292         (WebKit::WebRenderObject::WebRenderObject):
2293         * WebProcess/Storage/StorageAreaProxy.cpp:
2294
2295 2013-02-22  Sam Weinig  <sam@webkit.org>
2296
2297         Add temporary work around for 32-bit plugins not working in production builds as XPCServices
2298         https://bugs.webkit.org/show_bug.cgi?id=110680
2299         <rdar://problem/13236883>
2300
2301         Reviewed by Anders Carlsson.
2302
2303         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2304         (WebKit::shouldUseXPC):
2305         Temporarily don't use XPC for plug-ins for Safari while we figure out why the
2306         32-bit XPCService is being built universal.
2307
2308 2013-02-22  Tim Horton  <timothy_horton@apple.com>
2309
2310         [WK2] The root and page overlay layers should be the size of the view, not the content
2311         https://bugs.webkit.org/show_bug.cgi?id=110660
2312         <rdar://problem/13096456>
2313
2314         Reviewed by Simon Fraser.
2315
2316         Use the view size for the size of the root and page overlay layers.
2317         For one, we never update these layers' sizes when the content size changes, causing size mismatches.
2318         In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
2319
2320         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2321         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2322         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2323
2324 2013-02-22  Anders Carlsson  <andersca@apple.com>
2325
2326         pluginLoadStrategy should take a WKDictionaryRef for extensibility
2327         https://bugs.webkit.org/show_bug.cgi?id=110656
2328         <rdar://problem/13265303>
2329
2330         Reviewed by Jessie Berlin.
2331
2332         Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
2333         this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
2334
2335         * UIProcess/API/C/WKPage.cpp:
2336         (WKPageGetPluginInformationBundleIdentifierKey):
2337         (WKPageGetPluginInformationBundleVersionKey):
2338         (WKPageGetPluginInformationDisplayNameKey):
2339         (WKPageGetPluginInformationFrameURLKey):
2340         (WKPageGetPluginInformationMIMETypeKey):
2341         (WKPageGetPluginInformationPageURLKey):
2342         * UIProcess/API/C/WKPage.h:
2343         * UIProcess/WebLoaderClient.cpp:
2344         (WebKit):
2345         (WebKit::WebLoaderClient::pluginLoadPolicy):
2346         * UIProcess/WebLoaderClient.h:
2347         (WebLoaderClient):
2348         * UIProcess/WebPageProxy.cpp:
2349         (WebKit::WebPageProxy::getPluginPath):
2350         (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
2351         (WebKit):
2352         (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
2353         (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
2354         (WebKit::WebPageProxy::pluginInformationFrameURLKey):
2355         (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
2356         (WebKit::WebPageProxy::pluginInformationPageURLKey):
2357         * UIProcess/WebPageProxy.h:
2358         (WebPageProxy):
2359         * UIProcess/WebPageProxy.messages.in:
2360         * WebProcess/WebPage/WebPage.cpp:
2361         (WebKit::WebPage::createPlugin):
2362         (WebKit::WebPage::canPluginHandleResponse):
2363
2364 2013-02-22  Anders Carlsson  <andersca@apple.com>
2365
2366         Move pluginLoadPolicy to the page loader client
2367         https://bugs.webkit.org/show_bug.cgi?id=110635
2368         <rdar://problem/13265303>
2369         
2370         Reviewed by Sam Weinig.
2371
2372         Move the pluginLoadPolicy callback to the page loader client where it belongs.
2373
2374         * UIProcess/API/C/WKPage.h:
2375         * UIProcess/WebLoaderClient.cpp:
2376         (WebKit::toWKPluginLoadPolicy):
2377         (WebKit):
2378         (WebKit::toPluginModuleLoadPolicy):
2379         (WebKit::WebLoaderClient::pluginLoadPolicy):
2380         * UIProcess/WebLoaderClient.h:
2381         (WebLoaderClient):
2382         * UIProcess/WebPageProxy.cpp:
2383         (WebKit::WebPageProxy::getPluginPath):
2384         * UIProcess/WebUIClient.cpp:
2385         (WebKit):
2386         * UIProcess/WebUIClient.h:
2387         (WebUIClient):
2388         * UIProcess/mac/WebInspectorProxyMac.mm:
2389         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2390
2391 2013-02-21  Jer Noble  <jer.noble@apple.com>
2392
2393         Two video contollers appear after exiting the fullscreen video when using menubar to exit.
2394         https://bugs.webkit.org/show_bug.cgi?id=110506
2395
2396         Reviewed by Eric Carlson.
2397
2398         When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
2399         call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
2400         tearing down the fullscreen state.
2401
2402         * UIProcess/mac/WKFullScreenWindowController.mm:
2403         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2404
2405 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2406
2407         Yet another unreviewed buildfix after r143714.
2408
2409         * UIProcess/efl/WebView.cpp:
2410         (WebKit::WebView::paintToCairoSurface):
2411
2412 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2413
2414         Unreviewed preventive buildfix after my last commit.
2415
2416         * UIProcess/API/efl/EwkView.cpp:
2417         * UIProcess/efl/WebView.cpp:
2418
2419 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
2420
2421         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
2422         https://bugs.webkit.org/show_bug.cgi?id=109824
2423
2424         Reviewed by Andreas Kling.
2425
2426         Avoid ugly ifdefs by using PlatformGraphicsContext.
2427
2428         * UIProcess/API/efl/EwkView.cpp:
2429         (EwkView::displayTimerFired):
2430
2431 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2432
2433         [WK2][EFL] Remove declaration of non-existent functions from EwkView
2434         https://bugs.webkit.org/show_bug.cgi?id=110572
2435
2436         Reviewed by Kenneth Rohde Christiansen.
2437
2438         Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
2439         EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
2440         left at r143699.
2441
2442         * UIProcess/API/efl/EwkView.h:
2443         (EwkView):
2444
2445 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2446
2447         [WK2][EFL] Clean up PageViewportControllerClientEfl class
2448         https://bugs.webkit.org/show_bug.cgi?id=110438
2449
2450         Reviewed by Andreas Kling.
2451
2452         Cleaned up PageViewportControllerClientEfl class from unused methods
2453         and class members, eliminated access to WK2 internals from this class.
2454
2455         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2456         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2457         * UIProcess/efl/PageViewportControllerClientEfl.h:
2458         (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
2459         (PageViewportControllerClientEfl):
2460         * UIProcess/efl/WebView.cpp:
2461         (WebKit::WebView::WebView):
2462         (WebKit::WebView::updateViewportSize):
2463
2464 2013-02-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2465
2466         [WK2][EFL][GTK][Qt] Add context menu item tags for C API
2467         https://bugs.webkit.org/show_bug.cgi?id=109815
2468
2469         Reviewed by Anders Carlsson.
2470
2471         This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
2472         WebCore to WK2 C API.
2473
2474         * Shared/API/c/WKContextMenuItemTypes.h:
2475         * Shared/API/c/WKSharedAPICast.h:
2476         (WebKit::toAPI):
2477         (WebKit::toImpl):
2478
2479 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2480
2481         [WK2][EFL] Move AC code from EwkView to WebView
2482         https://bugs.webkit.org/show_bug.cgi?id=110216
2483
2484         Reviewed by Anders Carlsson.
2485
2486         Accelerated compositing code is moved from EwkView to WebView.
2487         Added new WKView API to be used from EwkView instead of direct accessing
2488         to coordinated graphics scene.
2489
2490         * UIProcess/API/C/efl/WKView.cpp:
2491         (WKViewSetUserViewportTranslation):
2492         (WKViewUserViewportToContents):
2493         (WKViewPaintToCurrentGLContext):
2494         (WKViewPaintToCairoSurface):
2495         * UIProcess/API/C/efl/WKView.h:
2496
2497             Added WKView API functions.
2498
2499         * UIProcess/API/efl/EwkView.cpp:
2500         (EwkView::EwkView):
2501         (EwkView::displayTimerFired):
2502         (EwkView::feedTouchEvent):
2503         (EwkView::createGLSurface):
2504         (EwkView::handleEvasObjectCalculate):
2505         (EwkView::handleEwkViewMouseWheel):
2506         (EwkView::handleEwkViewMouseDown):
2507         (EwkView::handleEwkViewMouseUp):
2508         (EwkView::handleEwkViewMouseMove):
2509         * UIProcess/API/efl/EwkView.h:
2510         (EwkView):
2511
2512             Using new WKView API.
2513
2514         * UIProcess/efl/WebView.cpp:
2515         (WebKit::WebView::initialize):
2516         (WebKit):
2517         (WebKit::WebView::paintToCurrentGLContext):
2518         (WebKit::WebView::paintToCairoSurface):
2519         (WebKit::WebView::userViewportToContents):
2520         (WebKit::WebView::transformFromScene):
2521         (WebKit::WebView::transformToScene):
2522         (WebKit::WebView::coordinatedGraphicsScene):
2523         (WebKit::WebView::enterAcceleratedCompositingMode):
2524         (WebKit::WebView::exitAcceleratedCompositingMode):
2525         * UIProcess/efl/WebView.h:
2526         (WebCore):
2527         (WebKit::WebView::setUserViewportTranslation):
2528         (WebView):
2529
2530             Added WebView methods to support new WKView API.
2531
2532 2013-02-21  Dima Gorbik  <dgorbik@apple.com>
2533
2534         QuickTime plugin doesn't load when accelerated compositing is disabled
2535         https://bugs.webkit.org/show_bug.cgi?id=110534
2536
2537         Reviewed by Anders Carlsson.
2538
2539         We shouldn't disable accelerated compositing for plugins, because
2540         plugins such as QuickTime rely on this and will try to set other drawing
2541         models that we don't support.
2542
2543         * WebProcess/Plugins/PluginView.cpp:
2544         (WebKit::PluginView::isAcceleratedCompositingEnabled):
2545
2546 2013-02-21  Dean Jackson  <dino@apple.com>
2547
2548         Plug-in snapshotting code always accepts first snapshot
2549         https://bugs.webkit.org/show_bug.cgi?id=110495
2550
2551         Reviewed by Tim Horton.
2552
2553         When we detect a plugin that can be snapshotted we start capturing
2554         images until we find one that we believe isn't blank, or we timeout.
2555         I introduced a regression recently where we swap renderers as
2556         soon as the snapshot arrives, whether or not is is blank.
2557
2558         The fix was to have the embedder (currently only WK2) be the one
2559         who tells the HTMLPlugInElement to start displaying snapshots.
2560
2561         * WebProcess/Plugins/PluginView.cpp:
2562         (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
2563         snapshot that we like, tell the HTMLPlugInElement to move to
2564         the snapshot view.
2565
2566 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2567
2568         Unreviewed. Fix make distcheck.
2569
2570         * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
2571         scanner.
2572         * GNUmakefile.list.am: Add missing header to compilation and
2573         remove one that no longer exists.
2574
2575 2013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2576
2577         [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
2578         https://bugs.webkit.org/show_bug.cgi?id=110345
2579
2580         Reviewed by Andreas Kling.
2581
2582         WebView does not need to know about both PageViewportController and 
2583         PageViewportControllerClientEfl. Considering the fact that PageViewportController
2584         will stop being WK2 internal and will be based on WK2 C API, it 
2585         should be owned by EwkView rather than WebView.
2586
2587         This patch is also a preparation for WKViewClient API extension to cover all
2588         the places where PageViewportController and PageViewportControllerClientEfl
2589         are accessed directly from WebView at the moment.
2590
2591         * UIProcess/API/efl/EwkView.cpp:
2592         (EwkView::EwkView):
2593         * UIProcess/API/efl/EwkView.h:
2594         (WebKit):
2595         (EwkView::pageViewportControllerClient):
2596         (EwkView::pageViewportController):
2597         (EwkView):
2598         * UIProcess/efl/WebView.cpp:
2599         (WebKit::WebView::didCommitLoad):
2600         (WebKit::WebView::updateViewportSize):
2601         (WebKit::WebView::didChangeContentsSize):
2602         (WebKit::WebView::didChangeViewportProperties):
2603         (WebKit::WebView::pageDidRequestScroll):
2604         (WebKit::WebView::didRenderFrame):
2605         (WebKit::WebView::pageTransitionViewportReady):
2606         * UIProcess/efl/WebView.h:
2607         (WebView):
2608
2609 2013-02-20  Tim Horton  <timothy_horton@apple.com>
2610
2611         Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
2612         https://bugs.webkit.org/show_bug.cgi?id=110415
2613         <rdar://problem/13095405>
2614
2615         Reviewed by Simon Fraser.
2616
2617         * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
2618         (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
2619         when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
2620         (-[WKView beginDeferringViewInWindowChanges]):
2621         (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
2622         have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
2623         the in-window state has actually changed.
2624         (-[WKView isDeferringViewInWindowChanges]):
2625         * UIProcess/API/mac/WKViewPrivate.h: 
2626
2627 2013-02-20  Kiran Muppala  <cmuppala@apple.com>
2628
2629         Disable window occlusion notifications for App Store on Mac.
2630         https://bugs.webkit.org/show_bug.cgi?id=110417
2631
2632         Reviewed by Simon Fraser.
2633
2634         Temporary fix to workaround issues with window occlusion notifications
2635         in App Store.
2636
2637         * UIProcess/API/mac/WKView.mm:
2638         (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
2639         if the main bundle identifier matches that of App Store.
2640
2641 2013-02-20  Mark Rowe  <mrowe@apple.com>
2642
2643         <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
2644
2645         This is the modern mechanism for applying entitlements to production builds,
2646         and it simplifies the maintenance of entitlements going forward. It also allows
2647         us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
2648
2649         Reviewed by Alexey Proskuryakov.
2650
2651         * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
2652         * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
2653         * Configurations/PluginService.32.xcconfig: Ditto.
2654         * Configurations/PluginService.64.xcconfig: Ditto.
2655         * Configurations/PluginService.Development.xcconfig: Ditto.
2656         * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
2657         Move the entitlements in to the Configurations directory to make them easier to find.
2658         * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
2659         in the script is not an issue with current versions of Xcode. If we see it again we can come
2660         up with a workaround that doesn't involve performing the signing via a script phase.
2661         * WebKit2.xcodeproj/project.pbxproj:
2662
2663 2013-02-20  Mark Rowe  <mrowe@apple.com>
2664
2665         <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
2666
2667         Reviewed by Dan Bernstein.
2668
2669         The only difference between the plists was the CFBundleIdentifier. Since the values are the
2670         same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
2671
2672         * Configurations/PluginService.32.xcconfig:
2673         * Configurations/PluginService.64.xcconfig:
2674         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
2675         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
2676
2677 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
2678
2679         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
2680         https://bugs.webkit.org/show_bug.cgi?id=110379
2681
2682         Reviewed by Tim Horton.
2683
2684         Make the visible rect and exposed rects passed through
2685         the drawing area to the tile cache FloatRects instead of IntRects.
2686
2687         * UIProcess/API/mac/WKView.mm:
2688         (-[WKView setFrameSize:]):
2689         (-[WKView _updateWindowAndViewFrames]):
2690         (-[WKView enableFrameSizeUpdates]):
2691         (-[WKView setMinimumWidthForAutoLayout:]):
2692         * UIProcess/WebPageProxy.h:
2693         * UIProcess/mac/WebPageProxyMac.mm:
2694         (WebKit::WebPageProxy::viewExposedRectChanged):
2695         * WebProcess/WebPage/DrawingArea.h:
2696         (WebKit::DrawingArea::setExposedRect):
2697         * WebProcess/WebPage/WebPage.cpp:
2698         (WebKit::WebPage::viewExposedRectChanged):
2699         * WebProcess/WebPage/WebPage.h:
2700         * WebProcess/WebPage/WebPage.messages.in:
2701         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2702         (TiledCoreAnimationDrawingArea):
2703         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2704         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
2705
2706 2013-02-20  Dirk Schulze  <krit@webkit.org>
2707
2708         Enable CANVAS_PATH flag
2709         https://bugs.webkit.org/show_bug.cgi?id=108508
2710
2711         Reviewed by Simon Fraser.
2712
2713         Enable CANVAS_PATH flag on trunk.
2714
2715         * Configurations/FeatureDefines.xcconfig:
2716
2717 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
2718
2719         Remove unnecessary includes for Platform.h from headers
2720         https://bugs.webkit.org/show_bug.cgi?id=110300
2721
2722         Reviewed by Alexey Proskuryakov.
2723
2724         wtf/Platform.h only need to be included in a few places directly    
2725         as it is included in config.h. Remove the unnecessay duplicate as    
2726         it can be confusing.
2727
2728         * Shared/PrintInfo.h:
2729
2730 2013-02-20  Huang Dongsung  <luxtella@company100.net>
2731
2732         [WK2] Remove m_viewportSize in WebPage.
2733         https://bugs.webkit.org/show_bug.cgi?id=110311
2734
2735         Reviewed by Anders Carlsson.
2736
2737         EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
2738         size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
2739         size.
2740
2741         EFL and Qt use m_viewSize as a contents size because the size of non compositing
2742         layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
2743         using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
2744         necessary to know m_viewSize when marking whole non compositing layer as dirty.
2745         So we can make EFL and Qt use m_viewSize as a viewport size also.
2746
2747         This patch removes m_viewportSize and related methods to increase readability.
2748
2749         * UIProcess/API/qt/raw/qrawwebview.cpp:
2750         (QRawWebView::setSize):
2751         * UIProcess/PageViewportController.cpp:
2752         (WebKit::PageViewportController::didChangeViewportSize):
2753         * UIProcess/WebPageProxy.cpp:
2754         (WebKit):
2755         * UIProcess/WebPageProxy.h:
2756         (WebPageProxy):
2757         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2758         (WebKit::WebChromeClient::pageRect):
2759         (WebKit::WebChromeClient::contentsSizeChanged):
2760         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2761         (WebKit::DrawingAreaImpl::updateBackingStoreState):
2762         * WebProcess/WebPage/WebPage.cpp:
2763         (WebKit::WebPage::setSize):
2764         (WebKit::WebPage::sendViewportAttributesChanged):
2765         * WebProcess/WebPage/WebPage.h:
2766         (WebPage):
2767         * WebProcess/WebPage/WebPage.messages.in:
2768
2769 2013-02-20  Huang Dongsung  <luxtella@company100.net>
2770
2771         [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
2772         https://bugs.webkit.org/show_bug.cgi?id=110299
2773
2774         Reviewed by Anders Carlsson.
2775
2776         Currently, we call setNeedsDisplay with the size of WebPage to mark whole
2777         backing store as dirty. However, the size of non compositing layer can be
2778         inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
2779         size of non compositing layer is contents size.
2780
2781         So, WebPage should not assume the size of non compositing layer, and should just
2782         call setNeedsDisplay when marking whole layer as dirty.
2783
2784         In addition, this patch renames from setNeedsDisplay() with a rect argument to
2785         setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
2786
2787         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2788         (WebKit::WebChromeClient::invalidateContentsAndRootView):
2789         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
2790         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2791         (WebKit::WebFrameLoaderClient::restoreViewState):
2792         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2793         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
2794         (WebKit):
2795         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
2796         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2797         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2798         (CoordinatedLayerTreeHost):
2799         * WebProcess/WebPage/DrawingArea.h:
2800         (DrawingArea):
2801         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2802         (WebKit::DrawingAreaImpl::setNeedsDisplay):
2803         (WebKit):
2804         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
2805         (WebKit::DrawingAreaImpl::scroll):
2806         (WebKit::DrawingAreaImpl::forceRepaint):
2807         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
2808         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
2809         (WebKit::DrawingAreaImpl::resumePainting):
2810         * WebProcess/WebPage/DrawingAreaImpl.h:
2811         (DrawingAreaImpl):
2812         * WebProcess/WebPage/LayerTreeHost.h:
2813         (LayerTreeHost):
2814         * WebProcess/WebPage/WebPage.cpp:
2815         (WebKit::WebPage::setSize):
2816         (WebKit::WebPage::setDrawsBackground):
2817         (WebKit::WebPage::setDrawsTransparentBackground):
2818         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
2819         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2820         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
2821         (WebKit):
2822         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
2823         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
2824         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2825         (LayerTreeHostGtk):
2826         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2827         (LayerTreeHostMac):
2828         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2829         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
2830         (WebKit):
2831         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
2832         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
2833         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2834         (RemoteLayerTreeDrawingArea):
2835         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2836         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
2837         (WebKit):
2838         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
2839         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2840         (TiledCoreAnimationDrawingArea):
2841         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2842         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
2843         (WebKit):
2844         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
2845
2846 2013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2847
2848         [EFL][WK2] Port EwkPopupMenuItem to the C API
2849         https://bugs.webkit.org/show_bug.cgi?id=108798
2850
2851         Reviewed by Kenneth Rohde Christiansen.
2852
2853         Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
2854         dependency on internal WebPopupItem type. Eina shared string members
2855         are now lazily initialized to make the object cheaper to construct.
2856
2857         * UIProcess/API/efl/ewk_popup_menu.cpp:
2858         (EwkPopupMenu::EwkPopupMenu):
2859         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
2860         (EwkPopupMenuItem::EwkPopupMenuItem):
2861         (EwkPopupMenuItem::type):
2862         (EwkPopupMenuItem::textDirection):
2863         (EwkPopupMenuItem::text):
2864         (EwkPopupMenuItem::tooltipText):
2865         (EwkPopupMenuItem::accessibilityText):
2866         (EwkPopupMenuItem::hasTextDirectionOverride):
2867         (EwkPopupMenuItem::isEnabled):
2868         (EwkPopupMenuItem::isLabel):
2869         (EwkPopupMenuItem::isSelected):
2870         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
2871         (EwkPopupMenuItem::create):
2872         (EwkPopupMenuItem):
2873
2874 2013-02-19  Tim Horton  <timothy_horton@apple.com>
2875
2876         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
2877         https://bugs.webkit.org/show_bug.cgi?id=110261
2878         <rdar://problem/13196122>
2879
2880         Reviewed by Simon Fraser.
2881
2882         * WebProcess/WebPage/WebPage.cpp:
2883         (WebKit::WebPage::setIsInWindow):
2884         Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
2885
2886 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
2887
2888         Allow UI clients to handle vertical wheel events.
2889         https://bugs.webkit.org/show_bug.cgi?id=110006
2890
2891         Reviewed by Tim Horton.
2892
2893         Add API to allow clients to selectively control rubber-banding at vertical page extrema.
2894
2895         * UIProcess/API/C/WKPage.cpp:
2896         (WKPageRubberBandsAtBottom):
2897         Proxy for the corresponding function in WebCore::Page.
2898         (WKPageSetRubberBandsAtBottom):
2899         Ditto.
2900         (WKPageRubberBandsAtTop):
2901         Ditto.
2902         (WKPageSetRubberBandsAtTop):
2903         Ditto.
2904
2905         * UIProcess/API/C/WKPage.h:
2906         Declare new API.
2907
2908         * UIProcess/WebPageProxy.cpp:
2909         (WebKit::WebPageProxy::WebPageProxy):
2910         Initialize new member variables.
2911         (WebKit::WebPageProxy::setRubberBandsAtBottom):
2912         New function; dispatches a matching message to the WebKit::WebPage.
2913         (WebKit::WebPageProxy::setRubberBandsAtTop):
2914         Ditto.
2915
2916         * UIProcess/WebPageProxy.h:
2917         (WebPageProxy):
2918         Declare new API.
2919         (WebKit::WebPageProxy::rubberBandsAtBottom):
2920         New accessor function.
2921         (WebKit::WebPageProxy::rubberBandsAtTop):
2922         Ditto.
2923
2924         * WebProcess/WebPage/WebPage.cpp:
2925         (WebKit::WebPage::setRubberBandsAtBottom):
2926         New function; call the matching function on the associated WebCore::Page.
2927         (WebKit::WebPage::setRubberBandsAtTop):
2928         Ditto.
2929
2930         * WebProcess/WebPage/WebPage.h:
2931         (WebPage):
2932         Declare new rubber-banding API.
2933
2934         * WebProcess/WebPage/WebPage.messages.in:
2935         Declare new rubber-banding API.
2936
2937 2013-02-19  Anders Carlsson  <andersca@apple.com>
2938
2939         StorageAreaProxy should know its quota
2940         https://bugs.webkit.org/show_bug.cgi?id=110268
2941
2942         Reviewed by Sam Weinig.
2943
2944         Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
2945
2946         * WebProcess/Storage/StorageAreaProxy.cpp:
2947         (WebKit::StorageAreaProxy::StorageAreaProxy):
2948         (WebKit::StorageAreaProxy::setItem):
2949         * WebProcess/Storage/StorageAreaProxy.h:
2950         (StorageAreaProxy):
2951         * WebProcess/Storage/StorageNamespaceProxy.cpp:
2952         (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
2953         (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
2954         * WebProcess/Storage/StorageNamespaceProxy.h:
2955         (WebKit::StorageNamespaceProxy::quota):
2956         (StorageNamespaceProxy):
2957
2958 2013-02-19  Alexey Proskuryakov  <ap@apple.com>
2959
2960         <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
2961
2962         Reviewed by Mark Rowe.
2963
2964         Don't keep a window server connection in processes that don't need it, and don't
2965         run an NSApplication run loop.
2966
2967         * Shared/ChildProcess.h:
2968         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
2969         Added a function to shut down connections, and to make sure we don't get one in the future.
2970
2971         * NetworkProcess/mac/NetworkProcessMac.mm:
2972         (WebKit::NetworkProcess::initializeProcessName):
2973         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
2974         (WebKit::OfflineStorageProcess::initializeProcessName):
2975         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
2976         (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
2977         some unused includes and forward declarations.
2978
2979 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
2980
2981         [WK2] Cannot load documents with blob urls
2982         https://bugs.webkit.org/show_bug.cgi?id=110160
2983
2984         Reviewed by Sam Weinig.
2985
2986         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
2987         Added knowledge about blobs.
2988
2989 2013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2990
2991         [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
2992         https://bugs.webkit.org/show_bug.cgi?id=110190
2993
2994         Reviewed by Anders Carlsson.
2995
2996         Add webkit_web_view_get_tls_info() and remove
2997         webkit_uri_response_get_https_status(). This way I can be sure
2998         that when called after load has been committed the certificate
2999         will be available. It also makes the API easier to use.
3000
3001         * UIProcess/API/gtk/WebKitURIResponse.cpp:
3002         * UIProcess/API/gtk/WebKitURIResponse.h:
3003         * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
3004         * UIProcess/API/gtk/WebKitWebView.cpp:
3005         (webkitWebViewLoadChanged):
3006         (mainResourceResponseChangedCallback):
3007         (webkit_web_view_get_tls_info):
3008         * UIProcess/API/gtk/WebKitWebView.h:
3009         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3010         * UIProcess/API/gtk/tests/TestSSL.cpp:
3011
3012 2013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3013
3014         [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
3015         https://bugs.webkit.org/show_bug.cgi?id=109794
3016
3017         Reviewed by Anders Carlsson.
3018
3019         * UIProcess/API/C/efl/WKView.cpp:
3020         (WKViewSetShowsAsSource):
3021         (WKViewGetShowsAsSource):
3022
3023             Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
3024             and WebPageProxy::mainFrameInViewSourceMode() calls.
3025
3026         (WKViewExitFullScreen):
3027
3028             Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
3029             calls.
3030
3031         * UIProcess/API/C/efl/WKView.h:
3032         * UIProcess/API/efl/EwkView.cpp:
3033         (EwkView::feedTouchEvent):
3034
3035             Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
3036             is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
3037             not access WebPage instance directly.
3038
3039         (EwkView::feedTouchEvents):
3040         * UIProcess/API/efl/EwkView.h:
3041         (EwkView):
3042         * UIProcess/API/efl/ewk_view.cpp:
3043         (ewk_view_feed_touch_event):
3044         (ewk_view_pagination_mode_set):
3045         (ewk_view_pagination_mode_get):
3046         (ewk_view_fullscreen_exit):
3047         (ewkViewPageContentsCallback):
3048         (ewk_view_page_contents_get):
3049         (ewk_view_source_mode_set):
3050         (ewk_view_source_mode_get):
3051
3052             Those are now using exported C API.
3053
3054         * UIProcess/efl/WebView.cpp:
3055         (WebKit::WebView::setShowsAsSource):
3056         (WebKit):
3057         (WebKit::WebView::showsAsSource):
3058         (WebKit::WebView::exitFullScreen):
3059         * UIProcess/efl/WebView.h:
3060         (WebView):
3061
3062             Added WebView methods to support added WKView API.
3063
3064 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
3065
3066         [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
3067         https://bugs.webkit.org/show_bug.cgi?id=110220
3068
3069         Reviewed by Allan Sandfeld Jensen.
3070
3071         If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
3072         no node was found for a given point, we hit ASSERT(node).
3073         We should only assert for a valid node if a zoomable area was found.
3074
3075         * WebProcess/WebPage/WebPage.cpp:
3076         (WebKit::WebPage::findZoomableAreaForPoint):
3077
3078 2013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3079
3080         Regression(r143273): Caused a lot of tests to time out
3081         https://bugs.webkit.org/show_bug.cgi?id=110212
3082
3083         Reviewed by Anders Carlsson.
3084
3085         StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
3086         should call their respective "*Internal" equivalent instead of calling themselves. This lead to
3087         a lot of time outs on our build bots.
3088
3089         * UIProcess/Storage/StorageManager.cpp:
3090         (WebKit::StorageManager::destroySessionStorageNamespace):
3091         (WebKit::StorageManager::cloneSessionStorageNamespace):
3092
3093 2013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3094
3095         [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
3096         https://bugs.webkit.org/show_bug.cgi?id=110125
3097
3098         Reviewed by Anders Carlsson.
3099
3100         This API is currently implemented caching all resources in the
3101         WebView which causes some problems in documents loading resources
3102         indefinitely. This API was used in WebKit1 mainly to implement
3103         webkit_web_view_save(), but we already have such API in
3104         WebKit2.
3105
3106         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
3107         (didReceiveWebViewMessageFromInjectedBundle):
3108         * UIProcess/API/gtk/WebKitWebView.cpp:
3109         (_WebKitWebViewPrivate):
3110         (webkitWebViewLoadChanged):
3111         * UIProcess/API/gtk/WebKitWebView.h:
3112         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3113         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3114         * UIProcess/API/gtk/tests/TestResources.cpp:
3115         (testWebViewResources):
3116         (testWebResourceGetData):
3117
3118 2013-02-18  Christophe Dumez  <dchris@gmail.com>
3119
3120         [WK2][EFL] Stop using internal C++ API in ewk_error
3121         https://bugs.webkit.org/show_bug.cgi?id=108796
3122
3123         Reviewed by Benjamin Poulain.
3124
3125         Stop using internal C++ API in ewk_error and use C API instead of avoid
3126         violating API layering.
3127
3128         * UIProcess/API/efl/ewk_error.cpp:
3129         (EwkError::domain):
3130         (EwkError::isCancellation):
3131         (ewk_error_type_get):
3132         * UIProcess/API/efl/ewk_error_private.h:
3133         (EwkError):
3134
3135 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
3136
3137         Clean up the boolean argument to visibleContentRect
3138         https://bugs.webkit.org/show_bug.cgi?id=110167
3139
3140         Reviewed by Simon Fraser.
3141         
3142         Replace the boolean argument to visibleContentRect() with
3143         an enum.
3144
3145         * WebProcess/WebPage/WebFrame.cpp:
3146         (WebKit::WebFrame::visibleContentBounds):
3147         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
3148
3149 2013-02-18  Anders Carlsson  <andersca@apple.com>
3150
3151         Add a DefaultHash for RefPtr<SecurityOrigin>
3152         https://bugs.webkit.org/show_bug.cgi?id=110170
3153
3154         Reviewed by Andreas Kling.
3155
3156         Remove all explicit uses of SecurityOriginHash.
3157
3158         * UIProcess/Storage/StorageManager.cpp:
3159         (StorageManager::SessionStorageNamespace):
3160         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
3161         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
3162         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3163         (WebKit::InjectedBundle::originsWithApplicationCache):
3164         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
3165         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
3166         for looking up security origins.
3167
3168         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
3169         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
3170         This can just take a const reference.
3171
3172         * WebProcess/ResourceCache/WebResourceCacheManager.h:
3173
3174 2013-02-18  Anders Carlsson  <andersca@apple.com>
3175
3176         Begin stubbing out session storage classes
3177         https://bugs.webkit.org/show_bug.cgi?id=110168
3178
3179         Reviewed by Andreas Kling.
3180
3181         * UIProcess/Storage/StorageManager.cpp:
3182         (StorageManager::StorageArea):
3183         (WebKit):
3184         (WebKit::StorageManager::StorageArea::create):
3185         (WebKit::StorageManager::StorageArea::StorageArea):
3186         (WebKit::StorageManager::StorageArea::~StorageArea):
3187         (StorageManager::SessionStorageNamespace):
3188         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
3189         (WebKit::StorageManager::SessionStorageNamespace::create):
3190         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
3191         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
3192         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
3193         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
3194         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
3195         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
3196         * UIProcess/Storage/StorageManager.h:
3197         (StorageManager):
3198
3199 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3200
3201         [EFL][WK2] Add C API for popup menu and popup item
3202         https://bugs.webkit.org/show_bug.cgi?id=109083
3203
3204         Reviewed by Anders Carlsson.
3205
3206         WK2 EFL delegates display of the popup menu to the browser which causes
3207         us to have a strong interdependency between internal C++ classes
3208         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
3209         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
3210
3211         Since we want to remove this interdependency, this patch introduces a
3212         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
3213         (WKPopupItem). It also introduces a WKPage client with callbacks for
3214         showPopupMenu and hidePopupMenu.
3215
3216         Note that the popup menu functionality is covered by ewk_popup_menu API
3217         tests and no functionality is lost.
3218
3219         * PlatformEfl.cmake: Add new files to EFL CMake config.
3220         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
3221         WKPopupMenuListenerRef.
3222         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
3223         platform.
3224         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
3225         and WKPopupMenuListenerRef API types.
3226         (WebKit):
3227         (WebKit::toAPI):
3228         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
3229         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
3230         client on the page.
3231         * UIProcess/API/C/efl/WKPageEfl.h: Added.
3232         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
3233         (WKPopupItemGetType):
3234         (WKPopupItemGetTextDirection):
3235         (WKPopupItemHasTextDirectionOverride):
3236         (WKPopupItemCopyText):
3237         (WKPopupItemCopyToolTipText):
3238         (WKPopupItemCopyAccessibilityText):
3239         (WKPopupItemIsEnabled):
3240         (WKPopupItemIsLabel):
3241         (WKPopupItemIsSelected):
3242         * UIProcess/API/C/efl/WKPopupItem.h: Added.
3243         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
3244         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
3245         client can report which popup menu item was selected.
3246         (WKPopupMenuListenerSetSelection):
3247         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
3248         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
3249         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
3250         (EwkView::requestPopupMenu):
3251         * UIProcess/API/efl/EwkView.h:
3252         (WebKit):
3253         (EwkView):
3254         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
3255         (EwkPopupMenu::EwkPopupMenu):
3256         (EwkPopupMenu::setSelectedIndex):
3257         * UIProcess/API/efl/ewk_popup_menu_private.h:
3258         (EwkPopupMenu::create):
3259         (EwkPopupMenu):
3260         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
3261         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
3262         (WebKit::WebPageProxy::close):
3263         (WebKit::WebPageProxy::showPopupMenu):
3264         (WebKit::WebPageProxy::hidePopupMenu):
3265         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
3266         corresponding initialization method.
3267         (WebPageProxy):
3268         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
3269         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
3270         for this now.
3271         (WebPopupMenuProxy):
3272         * UIProcess/efl/PageUIClientEfl.cpp:
3273         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
3274         callbacks and call corresponding EwkView methods. Previously, the EwkView
3275         methods were called by the internal WebPageProxyEfl class which is no
3276         longer needed.
3277         (WebKit::PageUIClientEfl::showPopupMenu):
3278         (WebKit):
3279         (WebKit::PageUIClientEfl::hidePopupMenu):
3280         * UIProcess/efl/PageUIClientEfl.h:
3281         (PageUIClientEfl):
3282         * UIProcess/efl/WebPageProxyEfl.cpp:
3283         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
3284         (WebKit):
3285         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
3286         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
3287         (WebKit):
3288         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
3289         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
3290         * UIProcess/efl/WebPopupItemEfl.h: Added.
3291         (WebKit):
3292         (WebPopupItemEfl):
3293         (WebKit::WebPopupItemEfl::create):
3294         (WebKit::WebPopupItemEfl::data):
3295         (WebKit::WebPopupItemEfl::itemType):
3296         (WebKit::WebPopupItemEfl::text):
3297         (WebKit::WebPopupItemEfl::textDirection):
3298         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
3299         (WebKit::WebPopupItemEfl::toolTipText):
3300         (WebKit::WebPopupItemEfl::accessibilityText):
3301         (WebKit::WebPopupItemEfl::isEnabled):
3302         (WebKit::WebPopupItemEfl::isLabel):
3303         (WebKit::WebPopupItemEfl::isSelected):
3304         (WebKit::WebPopupItemEfl::type):
3305         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
3306         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
3307         it more accurately represents its functionality now.
3308         (WebKit):
3309         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
3310         (WebKit::WebPopupMenuListenerEfl::valueChanged):
3311         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
3312         (WebKit):
3313         (WebPopupMenuListenerEfl):
3314         (WebKit::WebPopupMenuListenerEfl::create):
3315         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
3316         (WebUIPopupMenuClient::showPopupMenu):
3317         (WebUIPopupMenuClient::hidePopupMenu):
3318         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
3319         (WebKit):
3320         (WebUIPopupMenuClient):
3321         * UIProcess/efl/WebView.cpp:
3322         (WebKit::WebView::createPopupMenuProxy):
3323
3324 2013-02-18  Anders Carlsson  <andersca@apple.com>
3325
3326         Add StorageManager member functions for keeping track of session storage namespaces
3327         https://bugs.webkit.org/show_bug.cgi?id=110163
3328
3329         Reviewed by Andreas Kling.
3330
3331         * UIProcess/Storage/StorageManager.cpp:
3332         (WebKit::StorageManager::createSessionStorageNamespace):
3333         (WebKit):
3334         (WebKit::StorageManager::destroySessionStorageNamespace):
3335         (WebKit::StorageManager::cloneSessionStorageNamespace):
3336         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
3337         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
3338         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
3339         * UIProcess/Storage/StorageManager.h:
3340         (StorageManager):
3341         * UIProcess/WebContext.h:
3342         (WebKit::WebContext::storageManager):
3343         (WebContext):
3344         * UIProcess/WebPageProxy.cpp:
3345         (WebKit::WebPageProxy::WebPageProxy):
3346         (WebKit::WebPageProxy::close):
3347         (WebKit::WebPageProxy::createNewPage):
3348
3349 2013-02-18  Anders Carlsson  <andersca@apple.com>
3350
3351         StorageManager message handlers should take the connection
3352         https://bugs.webkit.org/show_bug.cgi?id=110151
3353
3354         Reviewed by Andreas Kling.
3355
3356         * Platform/CoreIPC/HandleMessage.h:
3357         (CoreIPC):
3358         (CoreIPC::callMemberFunction):
3359         (CoreIPC::handleMessage):
3360         * Scripts/webkit2/messages.py:
3361         (sync_message_statement):
3362         (generate_message_handler):
3363         * UIProcess/Storage/StorageManager.cpp:
3364         (WebKit::StorageManager::createStorageArea):
3365         (WebKit::StorageManager::destroyStorageArea):
3366         (WebKit::StorageManager::getValues):
3367         * UIProcess/Storage/StorageManager.h:
3368         (StorageManager):
3369         * UIProcess/Storage/StorageManager.messages.in:
3370
3371 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
3372
3373         [EFL][WK2] Use C API inside ewk_security_origin
3374         https://bugs.webkit.org/show_bug.cgi?id=107923
3375
3376         Reviewed by Alexey Proskuryakov.
3377
3378         Use C API inside ewk_security_origin instead of accessing
3379         directly internal C++ classes, to avoid breaking API
3380         layering.
3381
3382         * UIProcess/API/efl/EwkView.cpp:
3383         (EwkView::enterFullScreen):
3384         * UIProcess/API/efl/ewk_security_origin.cpp:
3385         (EwkSecurityOrigin::EwkSecurityOrigin):
3386         * UIProcess/API/efl/ewk_security_origin_private.h:
3387         (EwkSecurityOrigin::create):
3388         (EwkSecurityOrigin):
3389
3390 2013-01-04  Jer Noble  <jer.noble@apple.com>
3391
3392         pinch-zooming webpage messes up full-screening of embedded video
3393         https://bugs.webkit.org/show_bug.cgi?id=106115
3394
3395         Reviewed by Maciej Stachowiak.
3396
3397         Reset the page scale when entering full screen, and reset to the original scale when exiting.
3398
3399         * UIProcess/mac/WKFullScreenWindowController.h:
3400         * UIProcess/mac/WKFullScreenWindowController.mm:
3401         (-[WKFullScreenWindowController enterFullScreen:]):
3402         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
3403
3404 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3405
3406         [EFL][WK2] Disable failing API tests
3407         https://bugs.webkit.org/show_bug.cgi?id=110081
3408
3409         Reviewed by Kenneth Rohde Christiansen.
3410
3411         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
3412
3413         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3414         (TEST_F):
3415
3416 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3417
3418         [Qt][WK2] Support WK2 API tests
3419         https://bugs.webkit.org/show_bug.cgi?id=109843
3420
3421         Reviewed by Jocelyn Turcotte.
3422
3423         * UIProcess/API/qt/qquickwebview_p.h:
3424         (TestWebKitAPI):
3425
3426 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
3427
3428         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
3429         https://bugs.webkit.org/show_bug.cgi?id=108337
3430
3431         Reviewed by Jocelyn Turcotte.
3432
3433         We should not ignore content position changes unless pinch zoom or bounce-back
3434         animation is ongoing.
3435         This way we notify the web process about visible rect changes if the contentX
3436         and contentY properties are used to programmatically scroll the content from QML.
3437         One important usecase for this is when implementing scrollbars.
3438
3439         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3440         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
3441         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
3442         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
3443         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
3444         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
3445         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
3446
3447 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3448
3449         [WK2][EFL] Unified text checker implementation
3450         https://bugs.webkit.org/show_bug.cgi?id=107682
3451
3452         Reviewed by Anders Carlsson.
3453
3454         * UIProcess/efl/TextCheckerEfl.cpp:
3455         (WebKit):
3456         (WebKit::nextWordOffset):
3457         Helper function to determine the word offset to do not call
3458         client's checkSpellingOfString for the word separators.
3459
3460         (WebKit::TextChecker::checkTextOfParagraph):
3461         Allow to check spelling for multiple words,
3462         their misspelling location and length are saved to the vector.
3463
3464         * WebProcess/WebCoreSupport/WebEditorClient.h:
3465         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
3466
3467         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
3468         (WebKit):
3469         (WebKit::WebEditorClient::checkTextOfParagraph):
3470         As spelling implementation is exposed to UIProcess,
3471         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
3472
3473 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3474
3475         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
3476         https://bugs.webkit.org/show_bug.cgi?id=108598
3477
3478         Reviewed by Kenneth Rohde Christiansen.
3479
3480         Refactor the Ewk_Favicon code so that it no longer relies on internal
3481         C++ API and so that it is based solely on the C API. The API is changed
3482         a little as well so that the Favicon URL is no longer exposed to the
3483         client. Also the client is now only notified of icon changes once the
3484         favicon data is actually available.
3485
3486         The API is covered by existing API tests and by MiniBrowser which are
3487         both updated accordingly in this patch.
3488
3489         * UIProcess/API/efl/EwkView.cpp:
3490         (EwkView::informURLChange):
3491         (EwkView::createFavicon):
3492         (EwkView::onFaviconChanged):
3493         * UIProcess/API/efl/EwkView.h:
3494         (EwkView):
3495         * UIProcess/API/efl/EwkViewCallbacks.h:
3496         * UIProcess/API/efl/ewk_favicon_database.cpp:
3497         Client are now notified of favicon changes only when the favicon data
3498         becomes available and make API to retrieve a favicon synchronous. NULL
3499         is returned if the favicon data is not available.
3500
3501         (EwkFaviconDatabase::EwkFaviconDatabase):
3502         (EwkFaviconDatabase::getIconSurfaceSynchronously):
3503         (EwkFaviconDatabase::iconDataReadyForPageURL):
3504         (ewk_favicon_database_icon_get):
3505         * UIProcess/API/efl/ewk_favicon_database.h:
3506         * UIProcess/API/efl/ewk_favicon_database_private.h:
3507         (EwkFaviconDatabase):
3508         * UIProcess/API/efl/ewk_view.cpp:
3509         (ewk_view_favicon_get):
3510         * UIProcess/API/efl/ewk_view.h:
3511         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
3512         consistency with the rest of the favicon API. Remove API to retrieve
3513         the favicon URL and replace it by one to retrieve the favicon image as
3514         an Evas_Object instead.
3515
3516         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: