[CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-12-10  Alexis Menard  <alexis@webkit.org>
2
3         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
4         https://bugs.webkit.org/show_bug.cgi?id=104539
5
6         Reviewed by Antonio Gomes.
7
8         As discussed on webkit-dev it is not needed to keep this feature flag 
9         as support for <position> type is a small feature that is already 
10         implemented by three other UAs. It was useful while landing this 
11         feature as partial bits were landed one after one.
12
13         * Configurations/FeatureDefines.xcconfig:
14
15 2012-12-10  Alberto Garcia  <agarcia@igalia.com>
16
17         WebKitWebViewBase produces a warning if compiled with gcc
18         https://bugs.webkit.org/show_bug.cgi?id=104561
19
20         Reviewed by Carlos Garcia Campos.
21
22         * UIProcess/API/gtk/WebKitWebViewBase.h:
23         since this file can be included from C code, use void to
24         explicitly specify that webkit_web_view_base_get_type() doesn't
25         have parameters. Otherwise we get "warning: function declaration
26         isn't a prototype" with -Wstrict-prototypes.
27
28 2012-12-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
29
30         [WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
31         https://bugs.webkit.org/show_bug.cgi?id=104544
32
33         Reviewed by Kenneth Rohde Christiansen.
34
35         Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
36         as it was not used by anyone.
37
38         * UIProcess/PageViewportController.cpp:
39         (WebKit::PageViewportController::didRenderFrame):
40         * UIProcess/PageViewportControllerClient.h:
41         (PageViewportControllerClient):
42         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
43         (WebKit::PageViewportControllerClientEfl::setContentsScale):
44         * UIProcess/efl/PageViewportControllerClientEfl.h:
45         (PageViewportControllerClientEfl):
46         * UIProcess/qt/PageViewportControllerClientQt.cpp:
47         (WebKit::PageViewportControllerClientQt::setContentsScale):
48         * UIProcess/qt/PageViewportControllerClientQt.h:
49         (PageViewportControllerClientQt):
50
51 2012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
52
53         Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
54         https://bugs.webkit.org/show_bug.cgi?id=103886
55
56         Reviewed by Kenneth Rohde Christiansen.
57
58         Add support for TestRunner::setViewModeMediaFeature().
59         This functionality is needed by the following LayoutTests:
60         fast/media/media-query-list-02.html
61         fast/media/media-query-list-03.html
62         fast/media/media-query-list-04.html
63         fast/media/media-query-list-05.html
64         fast/media/media-query-list-06.html
65         fast/media/media-query-list-07.html
66         fast/media/view-mode-media-feature.html
67
68         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
69         (WKBundlePageSetViewMode):
70         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
71         * WebProcess/WebPage/WebPage.cpp:
72         (WebKit::WebPage::setViewMode):
73         (WebKit):
74         * WebProcess/WebPage/WebPage.h:
75         (WebPage):
76
77 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
78
79         [Qt] Fix QtWebProcess discovery on Windows
80         https://bugs.webkit.org/show_bug.cgi?id=104552
81
82         Reviewed by Jocelyn Turcotte.
83
84         Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
85
86         * Shared/qt/ProcessExecutablePathQt.cpp:
87         (WebKit::executablePath):
88
89 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
90
91         [GTK] Bring Harfbuzz-ng support to Gtk
92         https://bugs.webkit.org/show_bug.cgi?id=92098
93
94         Reviewed by Gustavo Noronha Silva.
95
96         Add a HarfBuzz dependency.
97
98         * GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
99
100 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
101
102         [Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
103         https://bugs.webkit.org/show_bug.cgi?id=104541
104
105         Reviewed by Jocelyn Turcotte.
106
107         We now depend on a Qt 5 version that is guaranteed to have this API, so we
108         can remove the configure checks for it.
109
110         * PluginProcess.pro:
111         * Shared/qt/ProcessExecutablePathQt.cpp:
112         (WebKit::executablePath):
113         * WebProcess.pro:
114
115 2012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
116
117         [Qt] Fix build without QtQuick 2
118
119         Unreviewed trivial build fix.
120
121         This function is defined in QtWebContext, which is only used when QtQuick2 is available.
122
123         * UIProcess/qt/WebContextQt.cpp:
124         (WebKit::WebContext::platformInvalidateContext):
125
126 2012-12-10  Huang Dongsung  <luxtella@company100.net>
127
128         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
129         https://bugs.webkit.org/show_bug.cgi?id=100819
130
131         Reviewed by Kenneth Rohde Christiansen.
132
133         It is a follow-up patch of r137117.
134
135         There are two changes
136         1. Add a const qualifier to supportsAlpha().
137         2. Use << instead of encode() when using ArgumentEncoder.
138
139         * Shared/CoordinatedGraphics/CoordinatedSurface.h:
140         (WebKit::CoordinatedSurface::supportsAlpha):
141         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
142         (WebKit::WebCoordinatedSurface::Handle::encode):
143         (WebKit::WebCoordinatedSurface::copyToTexture):
144
145 2012-12-10  Huang Dongsung  <luxtella@company100.net>
146
147         Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
148         https://bugs.webkit.org/show_bug.cgi?id=100819
149
150         Reviewed by Kenneth Rohde Christiansen.
151
152         WebCoordinatedSurface::copyToTexture should return early if the backend
153         is GraphicsSurface.
154
155         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
156         (WebKit::WebCoordinatedSurface::copyToTexture):
157
158 2012-12-10  Huang Dongsung  <luxtella@company100.net>
159
160         Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
161         https://bugs.webkit.org/show_bug.cgi?id=100819
162
163         Reviewed by Noam Rosenthal.
164
165         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
166
167         It is a preparation patch for Threaded Coordinated Graphics on WK1.
168
169         Create a CoordinatedSurface class that can be the base class both for
170         the current IPC-based ShareableSurface, renamed here to
171         WebCoordinatedSurface, and to a future thread-based surface
172         implementation.
173
174         * CMakeLists.txt:
175         * Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
176         (WebCore):
177         (WebKit):
178         (CoordinatedSurface):
179         (WebKit::CoordinatedSurface::~CoordinatedSurface):
180         (WebKit::CoordinatedSurface::supportsAlpha):
181         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
182           Extends CoordinatedSurface.
183         (WebKit):
184         (WebKit::WebCoordinatedSurface::Handle::Handle):
185         (WebKit::WebCoordinatedSurface::Handle::encode):
186         (WebKit::WebCoordinatedSurface::Handle::decode):
187         (WebKit::CoordinatedSurface::create):
188         (WebKit::WebCoordinatedSurface::create):
189         (WebKit::WebCoordinatedSurface::createWithSurface):
190         (WebKit::WebCoordinatedSurface::createGraphicsContext):
191         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
192         (WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
193         (WebKit::WebCoordinatedSurface::createHandle):
194         (WebKit::WebCoordinatedSurface::copyToTexture):
195         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
196         (WebCore):
197         (WebKit):
198         (WebCoordinatedSurface):
199         (Handle):
200         (WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
201         (WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
202         * Target.pri:
203         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
204         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
205         (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
206         (WebKit::CoordinatedBackingStore::updateTile):
207         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
208         (WebKit):
209         (CoordinatedBackingStoreTile):
210         (CoordinatedBackingStore):
211         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
212         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
213         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
214         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
215         (LayerTreeCoordinatorProxy):
216         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
217         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
218         (WebKit::LayerTreeRenderer::updateImageBacking):
219         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
220         (TileUpdate):
221         (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
222         (LayerTreeRenderer):
223         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
224         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
225         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
226         (CoordinatedGraphicsLayerClient):
227         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
228         (WebKit::CoordinatedImageBacking::update):
229         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
230         (Coordinator):
231         (CoordinatedImageBacking):
232         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
233         (WebKit::LayerTreeCoordinator::updateImageBacking):
234         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
235         (WebKit::LayerTreeCoordinator::beginContentUpdate):
236         (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
237         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
238         (LayerTreeCoordinator):
239         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
240         (WebKit::UpdateAtlas::UpdateAtlas):
241         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
242         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
243         (UpdateAtlasClient):
244         (UpdateAtlas):
245         (WebKit::UpdateAtlas::supportsAlpha):
246
247 2012-12-09  Huang Dongsung  <luxtella@company100.net>
248
249         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
250         https://bugs.webkit.org/show_bug.cgi?id=103843
251
252         Reviewed by Noam Rosenthal.
253
254         Send SetRootCompositingLayer message to the UI process before
255         flushing compositing states of layer tree.
256
257         This is in preparation for refactoring TextureMapper to work in an actor
258         model (http://webkit.org/b/103854).
259
260         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
261         (WebKit::LayerTreeRenderer::setLayerState):
262         (WebKit::LayerTreeRenderer::setRootLayerID):
263         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
264         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
265         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
266         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
267         (WebKit):
268         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
269         (LayerTreeCoordinator):
270
271 2012-12-09  Jon Lee  <jonlee@apple.com>
272
273         [WK2] Move button image to injected bundle
274         https://bugs.webkit.org/show_bug.cgi?id=104107
275         <rdar://problem/12813842>
276
277         Reviewed by Simon Fraser.
278
279         Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
280
281         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
282         (WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
283         * WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
284
285         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
286         (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
287         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
288
289         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
290
291         * Shared/API/c/cg/WKImageCG.cpp:
292         (WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
293
294 2012-12-09  Kangil Han  <kangil.han@samsung.com>
295
296         Fix unused parameter compile warnings
297         https://bugs.webkit.org/show_bug.cgi?id=104463
298
299         Reviewed by Kentaro Hara.
300
301         Remove compile warning messages by omitting parameter name.
302
303         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
304         (WebKit::LayerTreeRenderer::createCanvas):
305
306 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
307
308         [EFL][WK2] Add Remote Web Inspector
309         https://bugs.webkit.org/show_bug.cgi?id=98705
310
311         Reviewed by Gyuyoung Kim.
312
313         Add Remote Web Inspector to EFL port.
314         The WebInspectorSever will be started during WebKit context initialization.
315         The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
316
317         * CMakeLists.txt:
318         * PlatformEfl.cmake:
319         * UIProcess/InspectorServer/WebInspectorServer.h:
320         (WebInspectorServer):
321         * UIProcess/InspectorServer/WebSocketServer.h:
322         (WebSocketServer):
323         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
324         (WebKit):
325         (WebKit::inspectorResourcePath):
326         (WebKit::WebInspectorServer::platformResourceForPath):
327         (WebKit::WebInspectorServer::buildPageList):
328         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
329         (WebKit::connectionCallback):
330         * UIProcess/efl/WebContextEfl.cpp:
331         (WebKit::initializeInspectorServer):
332         (WebKit):
333         (WebKit::WebContext::platformInitializeWebProcess):
334         * config.h:
335
336 2012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
337
338         Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
339
340         * GNUmakefile.am:
341
342 2012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
343
344         Remove unused headers
345         https://bugs.webkit.org/show_bug.cgi?id=104428
346
347         Reviewed by Kentaro Hara.
348
349         Header inclusion cleanup.
350         Remove <WebCore/NotImplement.h>.
351
352         * Platform/qt/WorkQueueQt.cpp:
353         * Platform/win/WorkQueueWin.cpp:
354         * Shared/qt/ShareableBitmapQt.cpp:
355         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
356         * UIProcess/win/TextCheckerWin.cpp:
357         * UIProcess/win/WebContextMenuProxyWin.cpp:
358         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
359
360 2012-12-07  Jinwoo Song  <jinwoo7.song@samsung.com>
361
362         [EFL][WK2] Remove unused source file from PlatformEfl.cmake
363         https://bugs.webkit.org/show_bug.cgi?id=104430
364
365         Reviewed by Kentaro Hara.
366
367         Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
368
369         * PlatformEfl.cmake:
370
371 2012-12-07  Jer Noble  <jer.noble@apple.com>
372
373         Allow the WebProcess access to the CoreMedia preferences file.
374         https://bugs.webkit.org/show_bug.cgi?id=104320
375         <rdar://problem/10904519>
376
377         Reviewed by Alexey Proskuryakov.
378
379         Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
380         by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
381         to access those preferences as well.
382
383         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
384         * WebProcess/com.apple.WebProcess.sb.in:
385
386 2012-12-07  Tim Horton  <timothy_horton@apple.com>
387
388         [wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
389         https://bugs.webkit.org/show_bug.cgi?id=104418
390
391         Reviewed by Simon Fraser.
392
393         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
394         (WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
395         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
396         (WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
397
398 2012-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
399
400         Unreviewed, rolling out r136993.
401         http://trac.webkit.org/changeset/136993
402         https://bugs.webkit.org/show_bug.cgi?id=104415
403
404         This patch breaks the mac build (Requested by cabanier on
405         #webkit).
406
407         * win/WebKit2.def.in:
408
409 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
410
411         There is no need to change cached resource storage policy through ResourceHandleClient
412         https://bugs.webkit.org/show_bug.cgi?id=104413
413
414         Reviewed by Brady Eidson.
415
416         * NetworkProcess/NetworkResourceLoader.cpp:
417         * NetworkProcess/NetworkResourceLoader.h:
418         Deleted overrides of the removed willCacheResponse.
419
420 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
421
422         Network process should use a correct storage session in private browsing mode
423         <rdar://problem/12838490>
424         https://bugs.webkit.org/show_bug.cgi?id=104401
425
426         Reviewed by Brady Eidson.
427
428         Notify NetworkProcess when it needs to create or destroy a private browsing session,
429         and add a NetworkResourceLoadParameters member telling if the particular resource
430         should be requested using it.
431
432         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
433         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
434         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
435         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
436         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
437         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
438         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
439         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
440         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
441         Added another dummy argument to dummy networking context.
442
443         * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
444         Ensure private browsing session if it's needed due to a persistent preference, not
445         an API call at runtime (which is handled below as ensure/destroy).
446
447         * NetworkProcess/NetworkResourceLoader.cpp:
448         (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
449         used for loading.
450         (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
451         matches WebCore, but may be not needed.
452
453         * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
454         Store privateBrowsingEnabled flag.
455
456         * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
457         Return a private session when it's in use.
458
459         * Shared/Network/NetworkProcessCreationParameters.cpp:
460         (WebKit::NetworkProcessCreationParameters::encode):
461         (WebKit::NetworkProcessCreationParameters::decode):
462         * Shared/Network/NetworkProcessCreationParameters.h:
463         Pass privateBrowsingEnabled flag to the new process.
464
465         * Shared/Network/NetworkResourceLoadParameters.cpp:
466         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
467         (WebKit::NetworkResourceLoadParameters::encode):
468         (WebKit::NetworkResourceLoadParameters::decode):
469         * Shared/Network/NetworkResourceLoadParameters.h:
470         (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
471         Pass inPrivateBrowsingMode flag for the request.
472
473         * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
474         Exposed, so that we can send messages without going through NetworkProcessManager.
475
476         * UIProcess/WebContext.cpp:
477         (WebKit::WebContext::usesNetworkProcess):
478         (WebKit::anyContextUsesNetworkProcess):
479         (WebKit::WebContext::willStartUsingPrivateBrowsing):
480         (WebKit::WebContext::willStopUsingPrivateBrowsing):
481         Notify NetworkProcess when entering or exiting private browsing.
482
483         * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
484         anyContextUsesNetworkProcess to use.
485
486         * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
487         Put current private browsing state over in NetworkResourceLoadParameters.
488
489 2012-12-07  Helder Correia  <helder.correia@nokia.com>
490
491         [CoordGfx] Variable name starts with upper case character
492         https://bugs.webkit.org/show_bug.cgi?id=104327
493
494         Reviewed by Noam Rosenthal.
495
496         Just fixing a typo.
497
498         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
499         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
500
501 2012-12-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
502
503         [WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
504         https://webkit.org/b/103519
505
506         Reviewed by Noam Rosenthal.
507
508         This patch removes the blurriness by pixel aligning the layers. It
509         does not fully remove the shaking, only minimizes it.
510
511         * UIProcess/API/efl/EwkViewImpl.cpp:
512         (EwkViewImpl::transformFromScene):
513         (EwkViewImpl::displayTimerFired):
514         * UIProcess/API/efl/EwkViewImpl.h:
515         (EwkViewImpl::pagePosition):
516
517             As the pixel alignment of the main layer is moved to the
518             PageViewportController, rename discretePagePosition to just
519             pagePosition. It now returns a FloatPoint but the positions
520             should still be discrete.
521
522         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
523         (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
524         (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
525         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
526         (LayerTreeCoordinatorProxy):
527         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
528         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
529         (WebKit::LayerTreeRenderer::didChangeScrollPosition):
530         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
531         (LayerTreeRenderer):
532         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
533         (WebKit::LayerTreeCoordinator::visibleContentsRect):
534         (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
535         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
536         (LayerTreeCoordinator):
537         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
538         * WebProcess/WebPage/LayerTreeHost.h:
539         (WebCore):
540         (WebKit::LayerTreeHost::setVisibleContentsRect):
541
542             Change the internal scroll position/visible contents rect
543             to be represented as float positions. The rounding to integer
544             values not happens just before setFixesVisibleContentsRect.
545             This makes it possible to know our exact positions and
546             calculate proper scroll deltas.
547
548         (WebKit::LayerTreeRenderer::setLayerState):
549
550             Group anchor point, position and size together.
551
552         * UIProcess/PageViewportController.h:
553         (PageViewportController):
554         * UIProcess/PageViewportController.cpp:
555         (WebKit::PageViewportController::PageViewportController):
556         (WebKit::PageViewportController::boundContentsPosition):
557         (WebKit::PageViewportController::boundContentsPositionAtScale):
558         (WebKit::PageViewportController::didRenderFrame):
559         (WebKit::PageViewportController::pageDidRequestScroll):
560         (WebKit::PageViewportController::didChangeContentsVisibility):
561         (WebKit::PageViewportController::syncVisibleContents):
562         (WebKit::PageViewportController::visibleContentsSize):
563         (WebKit::PageViewportController::applyPositionAfterRenderingContents):
564         * UIProcess/qt/PageViewportControllerClientQt.cpp:
565         (WebKit::PageViewportControllerClientQt::focusEditableArea):
566         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
567         (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
568
569             Some renaming as what was called viewportPos was actually the
570             contents position. Rename clampViewportToContents to
571             boundContentsPosition and remove scale argument which is has
572             direct access to.
573
574             Make the boundContentsPosition allow one extra pixel in each
575             orientation to allow for pixel alignment of fixed position layers
576
577         (WebKit::isIntegral):
578         (WebKit):
579         (WebKit::PageViewportController::pixelAlignedFloatPoint):
580
581             Introduce way to pixel align the main contents layer. Only in
582             use for EFL so far.
583
584         * UIProcess/efl/PageClientLegacyImpl.cpp:
585         (WebKit::PageClientLegacyImpl::updateViewportSize):
586         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
587         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
588         * UIProcess/efl/PageViewportControllerClientEfl.h:
589         (WebKit::PageViewportControllerClientEfl::contentPosition):
590         (PageViewportControllerClientEfl):
591
592             Store the contents position as a FloatPoint.
593
594         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
595         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
596         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
597         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
598         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
599         (WebCore::isIntegral):
600         (WebCore):
601         (WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
602         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
603         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
604         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
605         (CoordinatedGraphicsLayerClient):
606         (CoordinatedGraphicsLayer):
607
608             Pixel align layers when the effective scale is not an integer
609             value. This code is based on code from GraphicsLayerCA.
610
611 2012-12-07  Alexey Proskuryakov  <ap@apple.com>
612
613         REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
614         https://bugs.webkit.org/show_bug.cgi?id=104392
615
616         Reviewed by Anders Carlsson.
617
618         * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
619         back to using m_conection where it can be null.
620
621 2012-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>
622
623         [EFL][WK2] Add ewk_settings APIs for text autosizing
624         https://bugs.webkit.org/show_bug.cgi?id=103342
625
626         Reviewed by Kenneth Rohde Christiansen.
627
628         Add ewk_settings_text_autosizing_enabled_get / set() functions.
629         Text autosizing is disabled by default.
630
631         * UIProcess/API/efl/ewk_settings.cpp:
632         (ewk_settings_text_autosizing_enabled_set):
633         (ewk_settings_text_autosizing_enabled_get):
634         * UIProcess/API/efl/ewk_settings.h:
635         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
636         (TEST_F):
637
638 2012-12-06  Rick Byers  <rbyers@chromium.org>
639
640         CSS cursor property should support webkit-image-set
641         https://bugs.webkit.org/show_bug.cgi?id=99493
642
643         Reviewed by Beth Dakin.
644
645         Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
646
647         * Configurations/FeatureDefines.xcconfig:
648
649 2012-12-06  Jae Hyun Park  <jae.park@company100.net>
650
651         Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
652         https://bugs.webkit.org/show_bug.cgi?id=103983
653
654         Reviewed by Noam Rosenthal.
655
656         This patch refactors WebLayerTreeInfo in 2 areas.
657
658         1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
659         should be located in WebKit2/Shared/CoordinatedGraphics instead of
660         WebKit2/Shared.
661
662         2. The name of WebLayerTreeInfo is incorrect. Currently,
663         WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
664         what WebLayer is since we don't use that name anymore. More appropriate
665         name for WebLayerInfo would be CoordinatedLayerInfo.
666
667         No new test, because no behavioral change.
668
669         * CMakeLists.txt:
670         * Scripts/webkit2/messages.py:
671         (headers_for_type):
672         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
673         (WebKit):
674         (WebKit::CoordinatedLayerInfo::encode):
675         (WebKit::CoordinatedLayerInfo::decode):
676         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
677         (WebKit):
678         (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
679         (CoordinatedLayerInfo):
680         * Shared/LayerTreeContext.h:
681         (LayerTreeContext):
682         * Shared/efl/LayerTreeContextEfl.cpp:
683         (WebKit::LayerTreeContext::LayerTreeContext):
684         (WebKit::LayerTreeContext::encode):
685         (WebKit::LayerTreeContext::decode):
686         (WebKit::LayerTreeContext::isEmpty):
687         (WebKit::operator==):
688         * Shared/qt/LayerTreeContextQt.cpp:
689         (WebKit::LayerTreeContext::LayerTreeContext):
690         (WebKit::LayerTreeContext::encode):
691         (WebKit::LayerTreeContext::decode):
692         (WebKit::LayerTreeContext::isEmpty):
693         (WebKit::operator==):
694         * Target.pri:
695         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
696         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
697         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
698         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
699         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
700         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
701         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
702         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
703         (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
704         (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
705         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
706         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
707         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
708         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
709         (WebKit):
710         (LayerTreeCoordinatorProxy):
711         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
712         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
713         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
714         (WebKit::LayerTreeRenderer::createLayer):
715         (WebKit::LayerTreeRenderer::createCanvas):
716         (WebKit::LayerTreeRenderer::syncCanvas):
717         (WebKit::LayerTreeRenderer::destroyCanvas):
718         (WebKit::LayerTreeRenderer::setLayerChildren):
719         (WebKit::LayerTreeRenderer::setLayerFilters):
720         (WebKit::LayerTreeRenderer::setLayerState):
721         (WebKit::LayerTreeRenderer::deleteLayer):
722         (WebKit::LayerTreeRenderer::ensureLayer):
723         (WebKit::LayerTreeRenderer::setRootLayerID):
724         (WebKit::LayerTreeRenderer::createTile):
725         (WebKit::LayerTreeRenderer::removeTile):
726         (WebKit::LayerTreeRenderer::updateTile):
727         (WebKit::LayerTreeRenderer::ensureRootLayer):
728         (WebKit::LayerTreeRenderer::purgeGLResources):
729         (WebKit::LayerTreeRenderer::setLayerAnimations):
730         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
731         (WebKit):
732         (LayerTreeRenderer):
733         (WebKit::LayerTreeRenderer::layerByID):
734         * UIProcess/DrawingAreaProxy.h:
735         (WebKit):
736         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
737         (WebCore::layerByIDMap):
738         (WebCore::toCoordinatedLayerID):
739         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
740         (WebCore::CoordinatedGraphicsLayer::id):
741         (WebCore::CoordinatedGraphicsLayer::syncChildren):
742         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
743         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
744         (CoordinatedGraphicsLayerClient):
745         (CoordinatedGraphicsLayer):
746         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
747         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
748         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
749         (WebKit::LayerTreeCoordinator::syncLayerState):
750         (WebKit::LayerTreeCoordinator::syncLayerChildren):
751         (WebKit::LayerTreeCoordinator::createCanvas):
752         (WebKit::LayerTreeCoordinator::syncCanvas):
753         (WebKit::LayerTreeCoordinator::destroyCanvas):
754         (WebKit::LayerTreeCoordinator::syncLayerFilters):
755         (WebKit::LayerTreeCoordinator::createTile):
756         (WebKit::LayerTreeCoordinator::updateTile):
757         (WebKit::LayerTreeCoordinator::removeTile):
758         (WebKit::LayerTreeCoordinator::setLayerAnimations):
759         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
760         (LayerTreeCoordinator):
761
762 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
763
764         Unreviewed, rolling out r136900.
765         http://trac.webkit.org/changeset/136900
766         https://bugs.webkit.org/show_bug.cgi?id=104318
767
768         Unreviewed build for Windows port. (Requested by rfong on
769         #webkit).
770
771         * win/WebKit2.def.in:
772
773 2012-12-06  Jon Lee  <jonlee@apple.com>
774
775         Retry snapshots if they are too empty
776         https://bugs.webkit.org/show_bug.cgi?id=104174
777         <rdar://problem/12820146>
778
779         Reviewed by Simon Fraser.
780
781         * WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
782         retried to come up with a snapshot.
783         * WebProcess/Plugins/PluginView.cpp:
784         (WebKit::PluginView::PluginView): Initialize the count to 0.
785         (WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
786         a grid of dots, and calculate the differences among them. If the average color difference is greater than
787         a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
788         bitmap image format, otherwise we return early.
789         (WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
790         evaluated to be too empty, then try again.
791
792 2012-12-06  Tony Chang  <tony@chromium.org>
793
794         Unreviewed, Apple Win Debug build fix.
795
796         * win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
797
798 2012-12-06  Alexey Proskuryakov  <ap@apple.com>
799
800         Track private browsing session in network process
801         https://bugs.webkit.org/show_bug.cgi?id=104281
802
803         Reviewed by Jessie Berlin.
804
805         Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
806         ensuring a private session may happen on demand if network process has been restarted
807         after a crash, or if private browsing is enabled via a persistent preference.
808
809         Eventually, we should find a way to share code between WebFrameNetworkingContext
810         and RemoteNetworkingContext.
811
812         * NetworkProcess/NetworkProcess.cpp:
813         (WebKit::NetworkProcess::initializeNetworkProcess):
814         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
815         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
816         * NetworkProcess/NetworkProcess.h:
817         * NetworkProcess/NetworkProcess.messages.in:
818         * NetworkProcess/mac/RemoteNetworkingContext.h:
819         (RemoteNetworkingContext):
820         * NetworkProcess/mac/RemoteNetworkingContext.mm:
821         (WebKit::privateBrowsingStorageSessionIdentifierBase):
822         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
823         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
824         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
825         * Shared/Network/NetworkProcessCreationParameters.cpp:
826         (WebKit::NetworkProcessCreationParameters::encode):
827         (WebKit::NetworkProcessCreationParameters::decode):
828         * Shared/Network/NetworkProcessCreationParameters.h:
829         (NetworkProcessCreationParameters):
830         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
831         (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
832         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
833         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
834         * WebProcess/WebProcess.cpp:
835         (WebKit::WebProcess::initializeWebProcess):
836
837 2012-12-06  Laszlo Gombos  <l.gombos@samsung.com>
838
839         [EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
840         https://bugs.webkit.org/show_bug.cgi?id=104278
841
842         Reviewed by Brent Fulgham.
843
844         The guards are not required as it is always set for EFL.
845
846         * PlatformEfl.cmake:
847         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
848         (WebKit::PluginProcessProxy::scanPlugin):
849         * WebProcess/efl/WebProcessMainEfl.cpp:
850         (WebKit::WebProcessMainEfl):
851
852 2012-12-06  Tony Chang  <tony@chromium.org>
853
854         REGRESSION(r135082): Restore the ability to insert author level style sheets from script
855         https://bugs.webkit.org/show_bug.cgi?id=104042
856
857         Reviewed by Antti Koivisto.
858
859         Update exports for Internals.cpp.
860
861         * win/WebKit2.def.in:
862
863 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
864
865         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
866         https://bugs.webkit.org/show_bug.cgi?id=104269
867
868         Unreviewed, trivialy fixing last minute change.
869
870         Move signal emission to the correct place.
871
872         * UIProcess/API/qt/qquickwebview.cpp:
873         (QQuickWebViewFlickablePrivate::onComponentComplete):
874         * UIProcess/qt/PageViewportControllerClientQt.cpp:
875         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
876
877 2012-12-06  Andras Becsi  <andras.becsi@digia.com>
878
879         [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
880         https://bugs.webkit.org/show_bug.cgi?id=104269
881
882         Reviewed by Kenneth Rohde Christiansen.
883
884         Since the ViewportInfoItem of MiniBrowser is created before the
885         WebView finishes construction, thus before the viewport controller
886         has been instantiated, the shown device pixel ratio was incorrect.
887         Additionally QWebKitTest's notification signal was also not emitted
888         when the value changed.
889
890         * UIProcess/API/qt/qquickwebview.cpp:
891         (QQuickWebViewPrivate::QQuickWebViewPrivate):
892         * UIProcess/qt/PageViewportControllerClientQt.cpp:
893         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
894
895 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
896
897         Unreviewed, rolling out r136788.
898         http://trac.webkit.org/changeset/136788
899         https://bugs.webkit.org/show_bug.cgi?id=104260
900
901         Asserts on EFL WebKit2 Debug bot (Requested by yael on
902         #webkit).
903
904         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
905         (WebKit::LayerTreeRenderer::setLayerState):
906         (WebKit::LayerTreeRenderer::setRootLayerID):
907         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
908         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
909         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
910         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
911         (LayerTreeCoordinator):
912
913 2012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
914
915         Unreviewed, rolling out r136795.
916         http://trac.webkit.org/changeset/136795
917         https://bugs.webkit.org/show_bug.cgi?id=104257
918
919         Asserts on EFL WebKit2 Debug bot (Requested by yael on
920         #webkit).
921
922         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
923         (WebKit::LayerTreeRenderer::setRootLayerID):
924
925 2012-12-06  Shinya Kawanaka  <shinyak@chromium.org>
926
927         Internals.getElementByIdInShadowRoot is nonsense now.
928         https://bugs.webkit.org/show_bug.cgi?id=104241
929
930         Reviewed by Kent Tamura.
931
932         * win/WebKit2.def.in:
933
934 2012-12-06  Christophe Dumez  <christophe.dumez@intel.com>
935
936         [EFL][WK2] Context clients should unregister themselves when destroyed
937         https://bugs.webkit.org/show_bug.cgi?id=104113
938
939         Reviewed by Kenneth Rohde Christiansen.
940
941         Make sure the context clients (History and Download clients)
942         unregister themselves when destroyed to make sure their
943         callback functions are never called after the client objects
944         have been destroyed (i.e. when the parent Ewk_Context has
945         been destroyed).
946
947         This addresses crashing issues after a Ewk_Context object
948         gets unref'd and destroyed.
949
950         * UIProcess/efl/ContextHistoryClientEfl.cpp:
951         (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
952         (WebKit):
953         (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
954         * UIProcess/efl/ContextHistoryClientEfl.h:
955         (ContextHistoryClientEfl):
956         * UIProcess/efl/DownloadManagerEfl.cpp:
957         (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
958         (WebKit):
959         * UIProcess/efl/DownloadManagerEfl.h:
960         (DownloadManagerEfl):
961
962 2012-12-05  Huang Dongsung  <luxtella@company100.net>
963
964         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
965         https://bugs.webkit.org/show_bug.cgi?id=103843
966
967         Reviewed by Noam Rosenthal.
968
969         Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
970         lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
971         have the same lifecycle to WebPage and the root layer is reused even if loading
972         new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
973         than twice.
974
975         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
976         (WebKit::LayerTreeRenderer::setRootLayerID):
977
978 2012-12-05  Brent Fulgham  <bfulgham@webkit.org>
979
980         [Windows, WinCairo] Regenerate .def files on changes
981         https://bugs.webkit.org/show_bug.cgi?id=104136
982
983         Reviewed by Tim Horton.
984
985         The new .def file generator is not regenerating the link
986         export definitions once it creates the definition file
987         the first time. You must clean the build directory for
988         new symbols to be added (or removed).
989
990         * win/WebKit2.vcproj: Change the WebKit2.def file reference to
991           point to the generated version of the file.
992         * win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
993           file that participates in the build so that Visual Studio knows
994           to build the project when the file changes.
995         * win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
996           command into its own shell script.
997         * win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
998         * win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
999           and definition files to ensure a clean build.
1000
1001 2012-12-05  Halton Huo  <halton.huo@intel.com>
1002
1003         [CMake] Unify coding style for CMake files
1004         https://bugs.webkit.org/show_bug.cgi?id=103605
1005
1006         Reviewed by Laszlo Gombos.
1007
1008         Update cmake files(.cmake, CMakeLists.txt) with following style rules:
1009         1. Indentation
1010         1.1 Use spaces, not tabs.
1011         1.2 Four spaces as indent.
1012         2. Spacing
1013         2.1 Place one space between control statements and their parentheses.
1014             For eg, if (), else (), elseif (), endif (), foreach (),
1015             endforeach (), while (), endwhile (), break ().
1016         2.2 Do not place spaces between function and macro statements and
1017             their parentheses. For eg, macro(), endmacro(), function(),
1018             endfunction().
1019         2.3 Do not place spaces between a command or function or macro and its
1020             parentheses, or between a parenthesis and its content. For eg,
1021             message("testing") not message( "testing") or message ("testing" )
1022         2.4 No space at line ending.
1023         3. Lowercase when call commands macros and functions. For eg,
1024            add_executable() not ADD_EXECUTABLE(), set() not SET().
1025
1026         * CMakeLists.txt:
1027         * PlatformEfl.cmake:
1028         * win/WebKit2ExportGenerator.vcproj:
1029         * win/WebKit2ExportGeneratorCommon.vsprops:
1030
1031 2012-12-05  Huang Dongsung  <luxtella@company100.net>
1032
1033         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
1034         https://bugs.webkit.org/show_bug.cgi?id=103843
1035
1036         Reviewed by Noam Rosenthal.
1037
1038         Send SetRootCompositingLayer message to the UI process in the
1039         constructor instead of sending it on the first flush.
1040
1041         This is in preparation for refactoring TextureMapper to work in an actor
1042         model (http://webkit.org/b/103854).
1043
1044         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1045         (WebKit::LayerTreeRenderer::setLayerState):
1046         (WebKit::LayerTreeRenderer::setRootLayerID):
1047         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1048         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
1049         (WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
1050         (WebKit):
1051         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1052         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1053         (LayerTreeCoordinator):
1054
1055 2012-12-05  Jinwoo Song  <jinwoo7.song@samsung.com>
1056
1057         [EFL][WK2] Don't use the C API internally in ewk_cookie_manager
1058         https://bugs.webkit.org/show_bug.cgi?id=103243
1059
1060         Reviewed by Gyuyoung Kim.
1061
1062         Used the C++ classes directly instead of the C API wrappers
1063         to avoid a lot of toImpl/toAPI casts.
1064
1065         * UIProcess/API/efl/ewk_context.cpp:
1066         (EwkContext::cookieManager):
1067         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1068         (EwkCookieManager::EwkCookieManager):
1069         (EwkCookieManager::~EwkCookieManager):
1070         (EwkCookieManager::setPersistentStorage):
1071         (EwkCookieManager::setHTTPAcceptPolicy):
1072         (EwkCookieManager::clearHostnameCookies):
1073         (EwkCookieManager::clearAllCookies):
1074         (EwkCookieManager::watchChanges):
1075         (EwkCookieManager::getHostNamesWithCookies):
1076         (EwkCookieManager::getHTTPAcceptPolicy):
1077         * UIProcess/API/efl/ewk_cookie_manager_private.h:
1078         (EwkCookieManager::create):
1079         (EwkCookieManager):
1080
1081 2012-12-05  No'am Rosenthal  <noam@webkit.org>
1082
1083         Coordinated Graphics: Enable support for setContentsToBackgroundColor
1084         https://bugs.webkit.org/show_bug.cgi?id=104128
1085
1086         Reviewed by Kenneth Rohde Christiansen.
1087
1088         Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
1089
1090         * Shared/WebLayerTreeInfo.h:
1091         (WebLayerInfo):
1092         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1093         (WebKit::LayerTreeRenderer::setLayerState):
1094         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1095         (WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
1096         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1097         (CoordinatedGraphicsLayer):
1098
1099 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
1100
1101         <rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
1102
1103         Reviewed by Beth Dakin and Dan Bernstein.
1104
1105         * WebProcess/com.apple.WebProcess.sb.in:
1106
1107 2012-12-05  Alexey Proskuryakov  <ap@apple.com>
1108
1109         [WK2] Would like to queue messages while NetworkProcess is launching
1110         https://bugs.webkit.org/show_bug.cgi?id=104143
1111
1112         Reviewed by Anders Carlsson.
1113
1114         Factored out process launching and message sending code to a ChildProcessProxy class.
1115         Process closing and crashing code should be moved once we better understand common
1116         requirements for the processes.
1117
1118         * CMakeLists.txt:
1119         * GNUmakefile.list.am:
1120         * Target.pri:
1121         * WebKit2.xcodeproj/project.pbxproj:
1122         * win/WebKit2.vcproj:
1123         Added ChildProcessProxy files.
1124
1125         * Shared/ChildProcessProxy.cpp: Added.
1126         (WebKit::ChildProcessProxy::ChildProcessProxy):
1127         (WebKit::ChildProcessProxy::~ChildProcessProxy):
1128         (WebKit::ChildProcessProxy::fromConnection):
1129         (WebKit::ChildProcessProxy::connect):
1130         (WebKit::ChildProcessProxy::terminate):
1131         (WebKit::ChildProcessProxy::sendMessage):
1132         (WebKit::ChildProcessProxy::isLaunching):
1133         (WebKit::ChildProcessProxy::didFinishLaunching):
1134         (WebKit::ChildProcessProxy::clearConnection):
1135         * Shared/ChildProcessProxy.h: Added.
1136         (WebKit::ChildProcessProxy::connection):
1137         (WebKit::ChildProcessProxy::isValid):
1138         (WebKit::ChildProcessProxy::canSendMessage):
1139         (WebKit::ChildProcessProxy::processIdentifier):
1140         (WebKit::ChildProcessProxy::send):
1141         (WebKit::ChildProcessProxy::sendSync):
1142         Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
1143         but every one is a connection queue client, so that latter is passed as an argument.
1144
1145         * UIProcess/Network/NetworkProcessProxy.h:
1146         * UIProcess/Network/NetworkProcessProxy.cpp:
1147         Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
1148
1149         * UIProcess/Network/NetworkProcessProxy.cpp:
1150         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
1151         (WebKit::NetworkProcessProxy::getLaunchOptions):
1152         (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
1153         (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
1154         (WebKit::NetworkProcessProxy::didFinishLaunching):
1155         * UIProcess/Network/NetworkProcessProxy.h:
1156         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
1157         (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
1158         * UIProcess/WebProcessProxy.cpp:
1159         (WebKit::WebProcessProxy::WebProcessProxy):
1160         (WebKit::WebProcessProxy::~WebProcessProxy):
1161         (WebKit::WebProcessProxy::getLaunchOptions):
1162         (WebKit::WebProcessProxy::disconnect):
1163         (WebKit::WebProcessProxy::didFinishLaunching):
1164         Use shared code.
1165
1166         * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
1167         NetworkProcess inherits from conneciton client privately, so we need to do most
1168         of the work in ClientProcessProxy, and further upcast here.
1169
1170         * UIProcess/efl/WebProcessProxyEfl.cpp:
1171         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1172         * UIProcess/gtk/WebProcessProxyGtk.cpp:
1173         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1174         * UIProcess/mac/WebProcessProxyMac.mm:
1175         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1176         * UIProcess/qt/WebProcessProxyQt.cpp:
1177         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1178         * UIProcess/win/WebProcessProxyWin.cpp:
1179         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1180         Updated for renaming, platformConnect -> platformGetLaunchOptions().
1181
1182 2012-12-05  Kiran Muppala  <cmuppala@apple.com>
1183
1184         WebKit2 child processes need to initialize timer coalescing policy on Mac.
1185         https://bugs.webkit.org/show_bug.cgi?id=103613
1186
1187         Reviewed by Mark Rowe.
1188
1189         Set timer coalescing policy of WebKit2 child processes to that of visible applications
1190         until they can manage the policy based on UI process visibility.
1191
1192         * Shared/mac/ChildProcessMac.mm:
1193         (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
1194         for visible applications.
1195         (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
1196
1197 2012-12-05  Anders Carlsson  <andersca@apple.com>
1198
1199         Connection::waitForMessage shouldn't use the message ID
1200         https://bugs.webkit.org/show_bug.cgi?id=104157
1201
1202         Reviewed by Andreas Kling.
1203
1204         Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
1205         the message ID.
1206
1207         * Platform/CoreIPC/Connection.cpp:
1208         (CoreIPC::Connection::createSyncMessageEncoder):
1209         (CoreIPC::Connection::waitForMessage):
1210         (CoreIPC::Connection::processIncomingMessage):
1211         * Platform/CoreIPC/Connection.h:
1212         (CoreIPC::Connection::waitForAndDispatchImmediately):
1213
1214 2012-12-05  Jae Hyun Park  <jae.park@company100.net>
1215
1216         Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
1217         https://bugs.webkit.org/show_bug.cgi?id=103864
1218
1219         Reviewed by Noam Rosenthal.
1220
1221         AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
1222         So, these should be moved to CoordinatedGraphics to clarify the code.
1223
1224         No new test, because no change of behavior.
1225
1226         * CMakeLists.txt:
1227         * Target.pri:
1228         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
1229         (WebKit):
1230         (WebKit::AreaAllocator::AreaAllocator):
1231         (WebKit::AreaAllocator::~AreaAllocator):
1232         (WebKit::AreaAllocator::expand):
1233         (WebKit::AreaAllocator::expandBy):
1234         (WebKit::AreaAllocator::release):
1235         (WebKit::AreaAllocator::overhead):
1236         (WebKit::AreaAllocator::roundAllocation):
1237         (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
1238         (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
1239         (WebKit::GeneralAreaAllocator::freeNode):
1240         (WebKit::GeneralAreaAllocator::expand):
1241         (WebKit::fitsWithin):
1242         (WebKit::GeneralAreaAllocator::allocate):
1243         (WebKit::GeneralAreaAllocator::allocateFromNode):
1244         (WebKit::GeneralAreaAllocator::splitNode):
1245         (WebKit::GeneralAreaAllocator::updateLargestFree):
1246         (WebKit::GeneralAreaAllocator::release):
1247         (WebKit::GeneralAreaAllocator::overhead):
1248         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
1249         (WebCore::nextPowerOfTwo):
1250         (WebCore):
1251         (WebKit):
1252         (AreaAllocator):
1253         (WebKit::AreaAllocator::size):
1254         (WebKit::AreaAllocator::minimumAllocation):
1255         (WebKit::AreaAllocator::setMinimumAllocation):
1256         (WebKit::AreaAllocator::margin):
1257         (WebKit::AreaAllocator::setMargin):
1258         (GeneralAreaAllocator):
1259         (Node):
1260         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
1261         (WebKit):
1262         (WebKit::UpdateAtlas::UpdateAtlas):
1263         (WebKit::UpdateAtlas::~UpdateAtlas):
1264         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
1265         (WebKit::UpdateAtlas::didSwapBuffers):
1266         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1267         * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
1268         (WebCore):
1269         (WebKit):
1270         (UpdateAtlasClient):
1271         (UpdateAtlas):
1272         (WebKit::UpdateAtlas::size):
1273         (WebKit::UpdateAtlas::flags):
1274         (WebKit::UpdateAtlas::addTimeInactive):
1275         (WebKit::UpdateAtlas::isInactive):
1276         (WebKit::UpdateAtlas::isInUse):
1277
1278 2012-12-05  Michael Brüning  <michael.bruning@digia.com>
1279
1280         Fix compilation for Qt5.0.0 stable branch.
1281         https://bugs.webkit.org/show_bug.cgi?id=103870
1282
1283         Reviewed by Simon Hausmann.
1284
1285         QWindow::pos() and QQuickItem::pos() have been renamed to position().
1286         Patch by Lars Knoll <lars.knoll@digia.com>
1287
1288         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1289         (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
1290         (WebKit::PageViewportControllerClientQt::setViewportPosition):
1291
1292 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
1293
1294         [EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
1295         https://bugs.webkit.org/show_bug.cgi?id=104110
1296
1297         Reviewed by Laszlo Gombos.
1298
1299         Unregister the WKFaviconDatabase client in EwkFaviconDatabase
1300         destructor to avoid crashing if the callbacks get called
1301         after the EwkFaviconDatabase object has been destroyed (i.e.
1302         the parent EwkContext object was destroyed).
1303
1304         * UIProcess/API/efl/ewk_favicon_database.cpp:
1305         (EwkFaviconDatabase::~EwkFaviconDatabase):
1306
1307 2012-12-05  Andras Becsi  <andras.becsi@digia.com>
1308
1309         [Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
1310         https://bugs.webkit.org/show_bug.cgi?id=103889
1311
1312         Reviewed by Jocelyn Turcotte.
1313
1314         The client should always be notified in PageViewportController::didChangeViewportAttributes
1315         about the changed attributes not only if the minimum scale changed. This ensures that these
1316         changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
1317         Also increase precision of scale comparisons since the current value resulted in flakyness in
1318         scale related API tests.
1319
1320         * UIProcess/PageViewportController.cpp:
1321         (WebKit::PageViewportController::didChangeViewportAttributes):
1322         (WebKit::PageViewportController::updateMinimumScaleToFit):
1323
1324 2012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
1325
1326         [CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
1327         https://bugs.webkit.org/show_bug.cgi?id=103816
1328
1329         Reviewed by Jocelyn Turcotte.
1330
1331         Use unsigned integer for CoordinatedTile identifier type.
1332         CoordinatedTile was previously using signed integers for
1333         its identifier which is unsafe because the generated ID
1334         will overflow at some point and the C and C++ language
1335         standards say that overflow of a signed value is undefined
1336         behaviour.
1337
1338         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1339         (WebKit::CoordinatedBackingStore::createTile):
1340         (WebKit::CoordinatedBackingStore::removeTile):
1341         (WebKit::CoordinatedBackingStore::removeAllTiles):
1342         (WebKit::CoordinatedBackingStore::updateTile):
1343         (WebKit::CoordinatedBackingStore::texture):
1344         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
1345         (WebKit::CoordinatedBackingStore::commitTileOperations):
1346         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
1347         (CoordinatedBackingStore):
1348         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1349         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
1350         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
1351         (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
1352         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1353         (LayerTreeCoordinatorProxy):
1354         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1355         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1356         (WebKit::LayerTreeRenderer::createTile):
1357         (WebKit::LayerTreeRenderer::removeTile):
1358         (WebKit::LayerTreeRenderer::updateTile):
1359         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1360         (LayerTreeRenderer):
1361         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1362         (WebCore::CoordinatedGraphicsLayer::createTile):
1363         (WebCore::CoordinatedGraphicsLayer::updateTile):
1364         (WebCore::CoordinatedGraphicsLayer::removeTile):
1365         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1366         (CoordinatedGraphicsLayerClient):
1367         (CoordinatedGraphicsLayer):
1368         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
1369         (WebKit):
1370         (WebKit::CoordinatedTile::CoordinatedTile):
1371         (WebKit::CoordinatedTile::~CoordinatedTile):
1372         (WebKit::CoordinatedTile::updateBackBuffer):
1373         (WebKit::CoordinatedTile::isReadyToPaint):
1374         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
1375         (CoordinatedTile):
1376         (CoordinatedTileClient):
1377         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1378         (WebKit::LayerTreeCoordinator::createTile):
1379         (WebKit::LayerTreeCoordinator::updateTile):
1380         (WebKit::LayerTreeCoordinator::removeTile):
1381         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1382         (LayerTreeCoordinator):
1383
1384 2012-12-05  Yuni Jeong  <yhnet.jung@samsung.com>
1385
1386         [EFL][WK2] Add APIs to get/set private browsing.
1387         https://bugs.webkit.org/show_bug.cgi?id=102052
1388
1389         Reviewed by Gyuyoung Kim.
1390
1391         Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
1392
1393         * UIProcess/API/efl/ewk_settings.cpp:
1394         (ewk_settings_private_browsing_enabled_set):
1395         (ewk_settings_private_browsing_enabled_get):
1396         * UIProcess/API/efl/ewk_settings.h:
1397         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1398         (TEST_F):
1399
1400 2012-12-05  Joaquim Rocha  <jrocha@igalia.com>
1401
1402         URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
1403         https://bugs.webkit.org/show_bug.cgi?id=104013
1404
1405         Reviewed by Darin Adler.
1406
1407         * WebProcess/WebProcess.cpp:
1408         (WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
1409         urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
1410         urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
1411         call the respective (already existing) methods for registering them.
1412
1413 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
1414
1415         [EFL][WK2] Add APIs to get/set default font size.
1416         https://bugs.webkit.org/show_bug.cgi?id=101921
1417
1418         Reviewed by Gyuyoung Kim.
1419
1420         Add setting APIs for default font size and a unit test.
1421
1422         * UIProcess/API/efl/ewk_settings.cpp:
1423         (ewk_settings_default_font_size_set):
1424         (ewk_settings_default_font_size_get):
1425         * UIProcess/API/efl/ewk_settings.h:
1426         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1427         (TEST_F):
1428
1429 2012-12-04  Anders Carlsson  <andersca@apple.com>
1430
1431         Remove #ifs that are always true
1432         https://bugs.webkit.org/show_bug.cgi?id=104080
1433
1434         Reviewed by Andreas Kling.
1435
1436         __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
1437
1438         * PluginProcess/mac/PluginProcessMac.mm:
1439         (WebKit::initializeSandbox):
1440         (WebKit::PluginProcess::platformInitialize):
1441         * Shared/DictionaryPopupInfo.cpp:
1442         (WebKit::DictionaryPopupInfo::encode):
1443         (WebKit::DictionaryPopupInfo::decode):
1444         * Shared/DictionaryPopupInfo.h:
1445         * Shared/mac/WebEventFactory.mm:
1446         (WebKit::phaseForEvent):
1447         (WebKit::momentumPhaseForEvent):
1448         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
1449         (WebKit::initializeSandbox):
1450         (WebKit::SharedWorkerProcess::platformInitialize):
1451         * UIProcess/API/mac/PDFViewController.mm:
1452         (WebKit::PDFViewScrollView_scrollWheel):
1453         (WebKit::PDFViewController::pdfKitBundle):
1454         * UIProcess/API/mac/PageClientImpl.mm:
1455         (WebKit::PageClientImpl::didPerformDictionaryLookup):
1456         (WebKit::PageClientImpl::dismissDictionaryLookupPanel):
1457         (WebKit::PageClientImpl::recordAutocorrectionResponse):
1458         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
1459         * UIProcess/API/mac/WKView.mm:
1460         (-[WKView displayIfNeeded]):
1461         (-[WKView draggingUpdated:]):
1462         (-[WKView viewDidMoveToWindow]):
1463         (-[WKView _intrinsicDeviceScaleFactor]):
1464         (-[WKView _cacheWindowBottomCornerRect]):
1465         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1466         (+[WKView hideWordDefinitionWindow]):
1467         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
1468         * UIProcess/Launcher/mac/EnvironmentVariables.h:
1469         (EnvironmentVariables):
1470         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1471         (WebKit::addDYLDEnvironmentAdditions):
1472         (WebKit::createWebProcessServiceForWebKitDevelopment):
1473         (WebKit):
1474         (WebKit::tryPreexistingProcess):
1475         (WebKit::createProcess):
1476         (WebKit::ProcessLauncher::launchProcess):
1477         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1478         (WebKit::PluginInfoStore::shouldUsePlugin):
1479         (WebKit::PluginInfoStore::reactivateInactivePlugin):
1480         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1481         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1482         * UIProcess/WebPageProxy.cpp:
1483         (WebKit::WebPageProxy::didCommitLoadForFrame):
1484         (WebKit::WebPageProxy::pageDidScroll):
1485         (WebKit::WebPageProxy::processDidCrash):
1486         (WebKit::WebPageProxy::recordAutocorrectionResponse):
1487         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
1488         * UIProcess/WebPageProxy.h:
1489         (WebPageProxy):
1490         * UIProcess/WebPageProxy.messages.in:
1491         * UIProcess/mac/TextCheckerMac.mm:
1492         (WebKit::initializeState):
1493         (WebKit::TextChecker::getGuessesForWord):
1494         * UIProcess/mac/WKFullScreenWindowController.mm:
1495         (convertRectToScreen):
1496         * UIProcess/mac/WebContextMac.mm:
1497         (WebKit::WebContext::platformInitializeWebProcess):
1498         * WebKit2Prefix.h:
1499         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1500         (WebKit::NPN_GetValue):
1501         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1502         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1503         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1504         * WebProcess/WebCoreSupport/WebEditorClient.h:
1505         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1506         (InitWebCoreSystemInterface):
1507         * WebProcess/WebPage/WebPage.cpp:
1508         (WebKit):
1509         * WebProcess/WebPage/WebPage.h:
1510         (WebPage):
1511         * WebProcess/WebPage/WebPage.messages.in:
1512         * WebProcess/WebPage/mac/WebPageMac.mm:
1513         (WebKit::WebPage::performDictionaryLookupAtLocation):
1514         (WebKit::WebPage::performDictionaryLookupForSelection):
1515         (WebKit::WebPage::performDictionaryLookupForRange):
1516         * WebProcess/mac/SecItemShimMethods.mm:
1517         * WebProcess/mac/WebProcessMac.mm:
1518         (WebKit::WebProcess::secItemResponse):
1519         * WebProcess/mac/WebProcessMainMac.mm:
1520         (WebKit::WebProcessMain):
1521         * WebProcessService/WebProcessServiceMain.mm:
1522         (main):
1523         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
1524         (WebProcessServiceForWebKitDevelopmentEventHandler):
1525         (main):
1526
1527 2012-12-04  Anders Carlsson  <andersca@apple.com>
1528
1529         Remove more Snow Leopard only code
1530         https://bugs.webkit.org/show_bug.cgi?id=104079
1531
1532         Reviewed by Andreas Kling.
1533
1534         All of the SecKeychainItem code was Snow Leopard only.
1535
1536         * Shared/mac/SecKeychainItemRequestData.cpp: Removed.
1537         * Shared/mac/SecKeychainItemRequestData.h: Removed.
1538         * Shared/mac/SecKeychainItemResponseData.cpp: Removed.
1539         * Shared/mac/SecKeychainItemResponseData.h: Removed.
1540         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
1541         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
1542         * UIProcess/WebProcessProxy.h:
1543         (WebProcessProxy):
1544         * UIProcess/WebProcessProxy.messages.in:
1545         * UIProcess/mac/WebProcessProxyMac.mm:
1546         * WebKit2.xcodeproj/project.pbxproj:
1547         * WebProcess/WebProcess.h:
1548         * WebProcess/WebProcess.messages.in:
1549         * WebProcess/mac/KeychainItemShimMethods.h: Removed.
1550         * WebProcess/mac/KeychainItemShimMethods.mm: Removed.
1551         * WebProcess/mac/WebProcessMac.mm:
1552         (WebKit::WebProcess::initializeShim):
1553         * WebProcess/mac/WebProcessShim.mm:
1554
1555 2012-12-04  Anders Carlsson  <andersca@apple.com>
1556
1557         Remove PageClient::didChangeScrollbarsForMainFrame
1558         https://bugs.webkit.org/show_bug.cgi?id=104077
1559
1560         Reviewed by Andreas Kling.
1561
1562         The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
1563
1564         * UIProcess/API/gtk/PageClientImpl.cpp:
1565         * UIProcess/API/gtk/PageClientImpl.h:
1566         (PageClientImpl):
1567         * UIProcess/API/mac/PageClientImpl.h:
1568         (PageClientImpl):
1569         * UIProcess/API/mac/PageClientImpl.mm:
1570         * UIProcess/API/mac/WKView.mm:
1571         (-[WKView viewWillMoveToWindow:]):
1572         * UIProcess/API/mac/WKViewInternal.h:
1573         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1574         * UIProcess/PageClient.h:
1575         (PageClient):
1576         * UIProcess/WebPageProxy.cpp:
1577         (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
1578         * UIProcess/efl/PageClientBase.cpp:
1579         (WebKit):
1580         * UIProcess/efl/PageClientBase.h:
1581         (PageClientBase):
1582         * UIProcess/qt/QtPageClient.h:
1583         * UIProcess/win/WebView.cpp:
1584         * UIProcess/win/WebView.h:
1585         (WebView):
1586
1587 2012-12-04  Andy Estes  <aestes@apple.com>
1588
1589         [WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
1590         https://bugs.webkit.org/show_bug.cgi?id=104063
1591
1592         Reviewed by Sam Weinig.
1593
1594         Objective-C message graphs can include browsing context controller
1595         objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
1596         in the web process plug-in and as WKBrowsingContextControllers in the UI
1597         process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
1598         by treating them as type WKBrowsingContextControllerType.
1599
1600         * Shared/mac/ObjCObjectGraphCoders.mm:
1601         (WebKit::typeFromObject):
1602
1603 2012-12-04  Simon Fraser  <simon.fraser@apple.com>
1604
1605         Show a mini visualizer for the tile cache tiles
1606         https://bugs.webkit.org/show_bug.cgi?id=104053
1607
1608         Reviewed by Beth Dakin.
1609
1610         Plumb through a preference that controls the visibility of a tiled
1611         scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
1612
1613         * Shared/WebPreferencesStore.h:
1614         * UIProcess/API/C/WKPreferences.cpp:
1615         (WKPreferencesSetTiledScrollingIndicatorVisible):
1616         (WKPreferencesGetTiledScrollingIndicatorVisible):
1617         * UIProcess/API/C/WKPreferencesPrivate.h:
1618         * WebProcess/WebPage/WebPage.cpp:
1619         (WebKit::WebPage::updatePreferences):
1620         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1621         (TiledCoreAnimationDrawingArea):
1622         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1623         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
1624         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1625         (WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
1626         (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
1627
1628 2012-12-04  Anders Carlsson  <andersca@apple.com>
1629
1630         Set the visible process name before entering the sandbox
1631         https://bugs.webkit.org/show_bug.cgi?id=104030
1632         <rdar://problem/12800317>
1633
1634         Reviewed by Sam Weinig.
1635
1636         Pass the UI process name along as a process initialization parameter so we can set it
1637         before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
1638
1639         * Shared/WebProcessCreationParameters.cpp:
1640         (WebKit::WebProcessCreationParameters::encode):
1641         (WebKit::WebProcessCreationParameters::decode):
1642         * Shared/WebProcessCreationParameters.h:
1643         (WebProcessCreationParameters):
1644         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1645         (WebKit::connectToWebProcessServiceForWebKitDevelopment):
1646         (WebKit::createWebProcessService):
1647         (WebKit::createProcess):
1648         * UIProcess/mac/WebContextMac.mm:
1649         (WebKit::WebContext::platformInitializeWebProcess):
1650         * WebProcess/mac/WebProcessInitialization.h:
1651         (WebProcessInitializationParameters):
1652         * WebProcess/mac/WebProcessInitialization.mm:
1653         (WebKit::initializeWebProcess):
1654         * WebProcess/mac/WebProcessMac.mm:
1655         (WebKit::WebProcess::platformInitializeWebProcess):
1656         * WebProcess/mac/WebProcessMainMac.mm:
1657         (WebKit::WebProcessMain):
1658         * WebProcess/mac/WebProcessServiceEntryPoints.h:
1659         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
1660         (WebKit::WebProcessServiceEventHandler):
1661         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
1662         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
1663         (WebProcessServiceForWebKitDevelopmentEventHandler):
1664
1665 2012-12-03  Alexey Proskuryakov  <ap@apple.com>
1666
1667         [WK2] Track private browsing session explicitly
1668         <rdar://problem/12714532>
1669         https://bugs.webkit.org/show_bug.cgi?id=103953
1670
1671         Reviewed by Jessie Berlin.
1672
1673         * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
1674         Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
1675         makes no sense.
1676
1677         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
1678         This is the only place in WK2 where we can learn that private browsing got disabled -
1679         no other functions are called when there are no pages open.
1680
1681         * UIProcess/WebContext.h:
1682         * UIProcess/WebContext.cpp:
1683         (WebKit::WebContext::willStartUsingPrivateBrowsing):
1684         (WebKit::WebContext::willStopUsingPrivateBrowsing):
1685         Count the number of API calls. We only implement a single shared private browsing
1686         session, not one per page group as API implies. When private browsing gets disabled,
1687         we want to destroy its session.
1688
1689         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
1690         Ensure a private browsing session if the current page needs it.
1691
1692         * WebProcess/WebProcess.h:
1693         * WebProcess/WebProcess.messages.in:
1694         * WebProcess/WebProcess.cpp:
1695         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1696         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1697         Call through to WebFrameNetworkingContext.
1698
1699 2012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
1700
1701         [EFL][WK2] Add APIs to toggle plug-ins support.
1702         https://bugs.webkit.org/show_bug.cgi?id=101920
1703
1704         Reviewed by Gyuyoung Kim.
1705
1706         Add setting APIs to toggle plug-ins support and add corresponding API tests.
1707
1708         * UIProcess/API/efl/ewk_settings.cpp:
1709         (ewk_settings_plugins_enabled_set):
1710         (ewk_settings_plugins_enabled_get):
1711         * UIProcess/API/efl/ewk_settings.h:
1712         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1713         (TEST_F):
1714
1715 2012-12-04  Andras Becsi  <andras.becsi@digia.com>
1716
1717         [Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
1718         https://bugs.webkit.org/show_bug.cgi?id=103901
1719
1720         Reviewed by Jocelyn Turcotte.
1721
1722         Setting the specific flag instead of resetting all the flags
1723         when enabling QQuickItem::ItemAcceptsDrops.
1724         This fixes clipping of the contents of QQuickWebView.
1725
1726         * UIProcess/API/qt/qquickwebview.cpp:
1727         (QQuickWebViewPrivate::initialize):
1728
1729 2012-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1730
1731         [GTK] Avoid unnecessary heap allocations during drag and drop operations
1732         https://bugs.webkit.org/show_bug.cgi?id=87938
1733
1734         Reviewed by Martin Robinson.
1735
1736         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1737         (webkitWebViewBaseDragDataReceived): Create DragData for the given
1738         DataObjectGtk in the stack.
1739         (webkitWebViewBaseDragMotion): Ditto.
1740         (webkitWebViewBaseDragDrop): Ditto.
1741
1742 2012-12-04  Jaehun Lim  <ljaehun.lim@samsung.com>
1743
1744         [EFL][WK2] Use consistent class names inside Ewk classes
1745         https://bugs.webkit.org/show_bug.cgi?id=103015
1746
1747         Reviewed by Gyuyoung Kim.
1748
1749         WebKit EFL doesn't use '_' in class names.
1750         This patch removes the remaining uses of '_' inside Ewk classes.
1751
1752         * UIProcess/API/efl/EwkViewImpl.cpp:
1753         (EwkViewImpl::EwkViewImpl):
1754         (EwkViewImpl::~EwkViewImpl):
1755         (EwkViewImpl::informIconChange):
1756         (EwkViewImpl::requestColorPicker):
1757         (EwkViewImpl::requestPopupMenu):
1758         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1759         (EwkBackForwardList::nextItem):
1760         (EwkBackForwardList::previousItem):
1761         (EwkBackForwardList::currentItem):
1762         (EwkBackForwardList::itemAt):
1763         (EwkBackForwardList::getFromCacheOrCreate):
1764         (EwkBackForwardList::createEinaList):
1765         * UIProcess/API/efl/ewk_back_forward_list_private.h:
1766         (EwkBackForwardList):
1767         * UIProcess/API/efl/ewk_context.cpp:
1768         (EwkContext::EwkContext):
1769         (EwkContext::cookieManager):
1770         (EwkContext::databaseManager):
1771         (EwkContext::ensureFaviconDatabase):
1772         (EwkContext::faviconDatabase):
1773         (EwkContext::storageManager):
1774         * UIProcess/API/efl/ewk_context_private.h:
1775         (EwkContext):
1776         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1777         (EwkCookieManager::cookiesDidChange):
1778         (getAcceptPolicyCallback):
1779         (getHostnamesWithCookiesCallback):
1780         * UIProcess/API/efl/ewk_cookie_manager_private.h:
1781         (EwkCookieManager::create):
1782         * UIProcess/API/efl/ewk_database_manager.cpp:
1783         (EwkDatabaseManager::createOriginList):
1784         (getDatabaseOriginsCallback):
1785         * UIProcess/API/efl/ewk_database_manager_private.h:
1786         (EwkDatabaseManager):
1787         * UIProcess/API/efl/ewk_favicon_database.cpp:
1788         (EwkFaviconDatabase::didChangeIconForPageURL):
1789         (EwkFaviconDatabase::iconDataReadyForPageURL):
1790         * UIProcess/API/efl/ewk_popup_menu.cpp:
1791         (EwkPopupMenu::EwkPopupMenu):
1792         (EwkPopupMenu::~EwkPopupMenu):
1793         * UIProcess/API/efl/ewk_storage_manager.cpp:
1794         (EwkStorageManager::createOriginList):
1795         (getStorageOriginsCallback):
1796         * UIProcess/API/efl/ewk_storage_manager_private.h:
1797         (EwkStorageManager):
1798
1799 2012-12-03  Huang Dongsung  <luxtella@company100.net>
1800
1801         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
1802         https://bugs.webkit.org/show_bug.cgi?id=103843
1803
1804         Reviewed by Noam Rosenthal.
1805
1806         Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
1807         because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
1808         setting the root layer. There is no behaviour changes because setting the root
1809         layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
1810         is received.
1811
1812         This is in preparation for refactoring TextureMapper to work in an actor
1813         model (http://webkit.org/b/103854).
1814
1815         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1816         (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
1817         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1818         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1819
1820 2012-12-03  Anders Carlsson  <andersca@apple.com>
1821
1822         Make it easier to add more web process initialization parameters
1823         https://bugs.webkit.org/show_bug.cgi?id=103942
1824
1825         Reviewed by Andreas Kling.
1826
1827         Add a WebProcessInitializationParameters struct to make it easier to add more initialization
1828         parameters in the future. Also, fix naming and spelling errors.
1829
1830         * WebProcess/mac/WebProcessInitialization.h:
1831         (WebProcessInitializationParameters):
1832         (WebKit):
1833         * WebProcess/mac/WebProcessInitialization.mm:
1834         (WebKit::initializeWebProcess):
1835         * WebProcess/mac/WebProcessMainMac.mm:
1836         (WebKit::WebProcessMain):
1837         * WebProcess/mac/WebProcessServiceEntryPoints.h:
1838         * WebProcess/mac/WebProcessServiceEntryPoints.mm:
1839         (WebKit::WebProcessServiceEventHandler):
1840         (webProcessServiceMain):
1841         (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
1842         * WebProcessService/WebProcessServiceMain.mm:
1843         (main):
1844         * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
1845         (WebProcessServiceForWebKitDevelopmentEventHandler):
1846
1847 2012-12-03  Tim Horton  <timothy_horton@apple.com>
1848
1849         PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
1850         https://bugs.webkit.org/show_bug.cgi?id=103286
1851         <rdar://problem/12752315>
1852
1853         Reviewed by Dan Bernstein.
1854
1855         Style fixes after http://trac.webkit.org/changeset/136316.
1856
1857         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1858         (WebKit::PDFPlugin::isFullFramePlugin):
1859
1860 2012-12-03  Alexis Menard  <alexis@webkit.org>
1861
1862         [Mac] Enable CSS3 background-position offset by default.
1863         https://bugs.webkit.org/show_bug.cgi?id=103905
1864
1865         Reviewed by Simon Fraser.
1866
1867         Turn the flag on by default.
1868
1869         * Configurations/FeatureDefines.xcconfig:
1870
1871 2012-12-03  Ryuan Choi  <ryuan.choi@samsung.com>
1872
1873         [EFL][WK2] Add contents,size,changed signal to the ewk_view API
1874         https://bugs.webkit.org/show_bug.cgi?id=103094
1875
1876         Reviewed by Kenneth Rohde Christiansen.
1877
1878         This patch emits signal to let applications know contents size.
1879         Applications can use this signal to give some additional behavior such as
1880         minimap, external scroll for quick movement.
1881
1882         * UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
1883         * UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
1884         * UIProcess/API/efl/EwkViewImpl.h: Ditto.
1885         (EwkViewImpl):
1886         * UIProcess/API/efl/ewk_view.h: Added test case.
1887         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1888         (onContentsSizeChanged):
1889         (TEST_F):
1890         * UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
1891         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
1892         * UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
1893         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
1894         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1895         (WebKit::WebChromeClient::contentsSizeChanged):
1896         Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
1897
1898 2012-12-03  Csaba Osztrogonác  <ossy@webkit.org>
1899
1900         Unreviewed fix after r136292 to make GIT-SVN repositories happy.
1901
1902         * win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
1903         * win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
1904         * win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
1905         * win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
1906         * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
1907         * win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
1908         * win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
1909         * win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
1910         * win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
1911         * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
1912
1913 2012-12-03  Michael Brüning  <michael.bruning@digia.com>
1914
1915         [Qt][WK2] New resize tests fail
1916         https://bugs.webkit.org/show_bug.cgi?id=103875
1917
1918         Reviewed by Jocelyn Turcotte.
1919
1920         Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.   
1921
1922         * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
1923
1924 2012-12-03  Joaquim Rocha  <jrocha@igalia.com>
1925
1926         [GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
1927         https://bugs.webkit.org/show_bug.cgi?id=103729
1928
1929         Reviewed by Carlos Garcia Campos.
1930
1931         When a URI scheme is registered and the WebProcess is killed,
1932         those schemes would not work anymore after the process is relaunched.
1933
1934         This was observed in Epiphany and possibly affects any port that
1935         uses libsoup.
1936
1937         * Shared/WebProcessCreationParameters.cpp:
1938         (WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
1939         (WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
1940         * Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
1941         (WebProcessCreationParameters):
1942         * UIProcess/efl/WebContextEfl.cpp:
1943         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
1944         registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
1945         * UIProcess/gtk/WebContextGtk.cpp:
1946         (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
1947         registered in the WebSoupRequestManagerProxy.
1948         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
1949         (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
1950         * UIProcess/soup/WebSoupRequestManagerProxy.h:
1951         (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
1952         (WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
1953         * WebProcess/soup/WebProcessSoup.cpp:
1954         (WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
1955         found in the parameters.
1956         * WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
1957         (WebSoupRequestManager):
1958
1959 2012-12-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1960
1961         CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
1962         https://bugs.webkit.org/show_bug.cgi?id=103737
1963
1964         Reviewed by Kenneth Rohde Christiansen.
1965
1966         ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
1967         This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
1968         descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
1969         affected already by the viewport descriptors from the previous stylesheet.
1970
1971         New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
1972         was added to frame view so that viewport descriptors can always be applied to the reliable
1973         viewport size.
1974
1975         Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
1976         are assigned appropriately now in WebPage::sendViewportAttributesChanged().
1977
1978         * WebProcess/WebPage/WebPage.cpp:
1979         (WebKit::WebPage::sendViewportAttributesChanged):
1980
1981 2012-12-02  Huang Dongsung  <luxtella@company100.net>
1982
1983         Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
1984         https://bugs.webkit.org/show_bug.cgi?id=103843
1985
1986         Reviewed by Noam Rosenthal.
1987
1988         Send messages to the UI process by the tree order.
1989         This is in preparation for refactoring TextureMapper to work in an actor
1990         model (http://webkit.org/b/103854).
1991
1992         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1993         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
1994
1995 2012-12-02  Ryuan Choi  <ryuan.choi@gmail.com>
1996
1997         [EFL][WK2] Update comments of header files which mentions deprecated API
1998         https://bugs.webkit.org/show_bug.cgi?id=103718
1999
2000         Reviewed by Gyuyoung Kim.
2001
2002         Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
2003
2004         * UIProcess/API/efl/ewk_context.h:
2005         * UIProcess/API/efl/ewk_database_manager.h:
2006         * UIProcess/API/efl/ewk_storage_manager.h:
2007
2008 2012-12-02  Huang Dongsung  <luxtella@company100.net>
2009
2010         REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
2011         https://bugs.webkit.org/show_bug.cgi?id=103845
2012
2013         Reviewed by Noam Rosenthal.
2014
2015         flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
2016         updateContentBuffers(). It means there can be the moment that
2017         CoordinatedGraphicsLayer has m_mainBackingStore although
2018         shouldHaveBackingStore() return false.
2019         This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
2020         of m_mainBackingStore.
2021
2022         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2023         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
2024         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
2025         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
2026         (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
2027         (WebCore):
2028         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2029         (CoordinatedGraphicsLayer):
2030
2031 2012-12-02  Seokju Kwon  <seokju.kwon@gmail.com>
2032
2033         Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
2034         https://bugs.webkit.org/show_bug.cgi?id=103743
2035
2036         Reviewed by Gustavo Noronha Silva.
2037
2038         EFL port is using a GSocket based implementation as well.
2039         WebSocketServerSoup can be used together.
2040
2041         * GNUmakefile.list.am:
2042         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
2043         (WebKit):
2044         (WebKit::connectionCallback):
2045         (WebKit::WebSocketServer::platformInitialize):
2046         (WebKit::WebSocketServer::platformListen):
2047         (WebKit::WebSocketServer::platformClose):
2048
2049 2012-12-02  Christophe Dumez  <christophe.dumez@intel.com>
2050
2051         [CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
2052         https://bugs.webkit.org/show_bug.cgi?id=103815
2053
2054         Reviewed by Noam Rosenthal.
2055
2056         Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
2057         to avoid calling HashMap::find() twice. find() was called once
2058         explicitly to get an iterator and a second time to remove the
2059         value from the value from the HashMap. We could have used
2060         remove(iterator) instead of remove(key) but using take() results
2061         in simpler code.
2062
2063         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2064         (WebKit::LayerTreeRenderer::removeImageBacking):
2065
2066 2012-12-02  Huang Dongsung  <luxtella@company100.net>
2067
2068         Coordinated Graphics: Images disappear randomly
2069         https://bugs.webkit.org/show_bug.cgi?id=103522
2070
2071         Reviewed by Kenneth Rohde Christiansen.
2072
2073         Currently, we delete layers before synchronizing layer states of layers. It
2074         causes flash. This patch deletes layers after the synchronization.
2075
2076         In addiation, this patch removes updateViewport() in
2077         LayerTreeCoordinatorProxy::deleteCompositingLayer() because
2078         LayerTreeCoordinatorProxy::didRenderFrame() is always called after
2079         deleting layers.
2080
2081         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2082         (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
2083         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2084         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2085
2086 2012-12-02  Brent Fulgham  <bfulgham@webkit.org>
2087
2088         [Windows, WinCairo] Revise export definitions to match mac.
2089         https://bugs.webkit.org/show_bug.cgi?id=103687
2090
2091         Reviewed by Tim Horton.
2092
2093         Update export definition files to use the same feature exclusion
2094         macros as other generated ports.
2095
2096         * win/WebKit2.def.in: Added additional build macro guards.
2097
2098 2012-12-02  No'am Rosenthal  <noam@webkit.org>
2099
2100         [CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
2101         https://bugs.webkit.org/show_bug.cgi?id=103714
2102
2103         Reviewed by Kenneth Rohde Christiansen.
2104
2105         Remove a layer from the m_pendingSyncBackingStores map when it is deleted.
2106
2107         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2108         (WebKit::LayerTreeRenderer::deleteLayer):
2109
2110 2012-12-02  Yael Aharon  <yael.aharon@intel.com>
2111
2112         [EFL][WK2] MiniBrowser should have a legacy mode
2113         https://bugs.webkit.org/show_bug.cgi?id=103679
2114
2115         Reviewed by Kenneth Rohde Christiansen.
2116
2117         We need a way to create a web view in legacy mode, while still using the default context.
2118         WKViewCreate creates a legacy view, so change it to create a default context if a context
2119         was not passed.
2120
2121         * UIProcess/API/efl/ewk_view.cpp:
2122         (ewk_view_base_add):
2123
2124 2012-12-01  Tim Horton  <timothy_horton@apple.com>
2125
2126         PDFPlugin: Support PDF form editing in <iframe>s
2127         https://bugs.webkit.org/show_bug.cgi?id=103287
2128         <rdar://problem/10326917>
2129
2130         Reviewed by Dan Bernstein.
2131
2132         PDFPlugin form editing depends on having a Document that has the same
2133         size and position as the plugin; this is true not only in the full-main-frame
2134         case, but also in the <iframe> case. Therefore, we can enable form editing
2135         for <iframe> PDFPlugins.
2136
2137         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2138         (WebKit::PDFPlugin::supportsForms): Support form editing whenever
2139         our Document's widget is our PluginView (which will only be true in the
2140         full-main-frame or <iframe> case).
2141
2142 2012-12-01  Tim Horton  <timothy_horton@apple.com>
2143
2144         PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
2145         https://bugs.webkit.org/show_bug.cgi?id=103286
2146         <rdar://problem/12752315>
2147
2148         Reviewed by Dan Bernstein.
2149
2150         Detecting whether or not a PDFPlugin is a full-page plugin or not is not
2151         as simple as checking isMainFrame(), because <embed> and <object> will
2152         cause PDFPlugin to live in the main frame, while still not being full-page.
2153         We also have to check that the main frame's document is a PluginDocument,
2154         and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.
2155
2156         * WebProcess/Plugins/PDF/PDFPlugin.h:
2157         (PDFPlugin): Add isFullFramePlugin.
2158         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2159         (WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
2160         backed by a PluginDocument, and that that PluginDocument corresponds
2161         to this PDFPlugin.
2162         (WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
2163         (WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.
2164
2165 2012-12-01  Tim Horton  <timothy_horton@apple.com>
2166
2167         [wk2] Use spoolRect instead of snapshots for print preview
2168         https://bugs.webkit.org/show_bug.cgi?id=103798
2169         <rdar://problem/12686749>
2170
2171         Reviewed by Sam Weinig.
2172
2173         Revert to using spoolRect instead of snapshotting for printing; this was a bogus
2174         change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
2175         the core of that change, and incorrectly disregards the Frame parameter passed to
2176         beginPrinting, instead using the WebPage's current Frame.
2177
2178         * WebProcess/WebPage/WebPage.cpp:
2179         (WebKit::WebPage::drawRectToImage):
2180
2181 2012-11-30  Anders Carlsson  <andersca@apple.com>
2182
2183         Always listen for the DidFirstLayout layout milestone
2184         https://bugs.webkit.org/show_bug.cgi?id=103795
2185         <rdar://problem/12790268>
2186
2187         Reviewed by Dan Bernstein.
2188
2189         The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.
2190
2191         * WebProcess/WebPage/WebPage.cpp:
2192         (WebKit::WebPage::WebPage):
2193
2194 2012-11-30  Pierre Rossi  <pierre.rossi@gmail.com>
2195
2196         [Qt] Unreviewed speculative Mac build fix after r136232
2197
2198         cleanup an oversight from r136235
2199
2200         * PluginProcess.pro: s/webkit/webkitwidgets/
2201
2202 2012-11-30  Brent Fulgham  <bfulgham@webkit.org>
2203
2204         [Windows, WinCairo] Generate library export symbol file.
2205         https://bugs.webkit.org/show_bug.cgi?id=103687
2206
2207         Reviewed by Tim Horton.
2208
2209         Generate the export definition file based on the compile options
2210         and port settings. Get rid of the old hand-written file, and use
2211         a revised master input file that allows using conditional
2212         settings to generate the output, much like the Mac and other
2213         ports do.
2214
2215         * win/WebKit2.def: Removed.
2216         * win/WebKit2.def.in: Added.
2217         * win/WebKit2Apple.vsprops:
2218         * win/WebKit2CFLite.def: Removed.
2219         * win/WebKit2CFLite.vsprops:
2220         * win/WebKit2Common.vsprops:
2221         * win/WebKit2ExportGenerator.vcproj: Added.
2222         * win/WebKit2ExportGeneratorCommon.vsprops: Added.
2223         * win/WebKit2ExportGeneratorDebug.vsprops: Added.
2224         * win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
2225         * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
2226         * win/WebKit2ExportGeneratorPostBuild.cmd: Added.
2227         * win/WebKit2ExportGeneratorPreBuild.cmd: Added.
2228         * win/WebKit2ExportGeneratorProduction.vsprops: Added.
2229         * win/WebKit2ExportGeneratorRelease.vsprops: Added.
2230         * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
2231
2232 2012-11-30  Tim Horton  <timothy_horton@apple.com>
2233
2234         (Simple)PDFPlugin: Support conversion of PostScript documents
2235         https://bugs.webkit.org/show_bug.cgi?id=103289
2236         <rdar://problem/10235708>
2237
2238         Reviewed by Dan Bernstein.
2239
2240         SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
2241         to PDF before handing them off to their respective backends.
2242
2243         As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.
2244
2245         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
2246         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2247         (WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
2248         (WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
2249         (WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
2250         (WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
2251         (WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
2252         (WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
2253         (WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
2254         * WebProcess/WebPage/WebPage.cpp:
2255         (WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.
2256
2257 2012-11-30  Tim Horton  <timothy_horton@apple.com>
2258
2259         PDFPlugin: "Show Definition" context menu item should be implemented
2260         https://bugs.webkit.org/show_bug.cgi?id=103389
2261         <rdar://problem/12710751>
2262
2263         Reviewed by Dan Bernstein.
2264
2265         Call existing dictionary popup code when the context menu "Show Definition" item is selected.
2266
2267         * WebProcess/Plugins/PDF/PDFPlugin.h:
2268         (PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
2269         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2270         (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
2271         (WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
2272         Ask WebPageProxy to show the dictionary popup.
2273         (WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.
2274
2275 2012-11-30  Simon Hausmann  <simon.hausmann@digia.com>
2276
2277         Unreviewed trivial Qt build fix:
2278
2279         Always link against WebProcess against QT += webkit and use webkitwidgets only if available.
2280
2281         * WebProcess.pro:
2282
2283 2012-11-30  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi  <pierre.rossi@digia.com>
2284
2285         [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
2286         https://bugs.webkit.org/show_bug.cgi?id=99314
2287
2288         Reviewed by Tor Arne Vestbø.
2289
2290         This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
2291         shared libraries.
2292
2293         It's a big refactoring that mostly involves moving WebCore dependent
2294         code into QtWebKit and accessing it through exported QWebFrameAdapter
2295         and QWebPageAdapter classes.
2296
2297
2298         * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
2299         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
2300         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2301         * UIProcess/API/qt/tests/qmltests/WebView.pro:
2302         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
2303         * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
2304         * UIProcess/API/qt/tests/tests.pri:
2305
2306 2012-11-30  Joone Hur  <joone.hur@intel.com>
2307
2308         [EFL]Drawing artifacts while resizing the view
2309         https://bugs.webkit.org/show_bug.cgi?id=101288
2310
2311         Reviewed by Kenneth Rohde Christiansen.
2312
2313         An Evas GL surface is recreated when the window is resized, but the update of the surface is 
2314         asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
2315         As a result, the flickering problem happens while resizing the view.
2316         So this patch allows to create an Evas GL surface synchronously with the update of the surface.
2317
2318         * UIProcess/API/efl/EwkViewImpl.cpp:
2319         (EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
2320         (EwkViewImpl::displayTimerFired): Create an Evas GL surface.
2321         * UIProcess/API/efl/EwkViewImpl.h:
2322         (EwkViewImpl::setNeedsSurfaceResize): Added.
2323         (EwkViewImpl):
2324         * UIProcess/API/efl/ewk_view.cpp:
2325         (_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.
2326
2327 2012-11-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2328
2329         [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
2330         https://bugs.webkit.org/show_bug.cgi?id=103428
2331
2332         Reviewed by Kenneth Rohde Christiansen.
2333
2334         Set now appropriate fixed visible content rect before layout when viewport
2335         attributes change.
2336
2337         * UIProcess/PageViewportController.cpp:
2338         (WebKit::PageViewportController::syncVisibleContents):
2339         (WebKit::PageViewportController::didChangeViewportAttributes):
2340         * WebProcess/WebPage/WebPage.cpp:
2341         (WebKit::WebPage::sendViewportAttributesChanged):
2342
2343 2012-11-30  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2344
2345         [EFL] Gardening after r136031 and r136142
2346         https://bugs.webkit.org/show_bug.cgi?id=103734
2347
2348         Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
2349         is asserting after r136031. So, disabling the test until bug 103732 is
2350         fixed.
2351
2352         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2353         (TEST_F):
2354
2355 2012-11-30  Zeno Albisser  <zeno@webkit.org>
2356
2357         [Qt] Enable WebGL by default.
2358         https://bugs.webkit.org/show_bug.cgi?id=103731
2359
2360         Reviewed by Simon Hausmann.
2361
2362         * UIProcess/API/qt/qquickwebview.cpp:
2363         (QQuickWebViewPrivate::initialize):
2364
2365 2012-11-30  Mihai Maerean  <mmaerean@adobe.com>
2366
2367         [CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
2368         https://bugs.webkit.org/show_bug.cgi?id=101192
2369
2370         Reviewed by Hajime Morita.
2371
2372         Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.
2373
2374         Tests: No new tests because there is no functional change.
2375
2376         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2377         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2378         (WebKit::InjectedBundle::setCSSRegionsEnabled):
2379         (WebKit):
2380         * WebProcess/InjectedBundle/InjectedBundle.h:
2381         (InjectedBundle):
2382         * WebProcess/WebPage/WebPage.cpp:
2383         (WebKit::WebPage::updatePreferences):
2384
2385 2012-11-29  Tim Horton  <timothy_horton@apple.com>
2386
2387         PDFPlugin: Only plain text can be copied out of PDFs
2388         https://bugs.webkit.org/show_bug.cgi?id=103591
2389         <rdar://problem/12555161>
2390
2391         Reviewed by Alexey Proskuryakov.
2392
2393         Don't write zero-length data to the pasteboard, just skip the item.
2394
2395         As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
2396         so we assert that it doesn't happen in debug builds.
2397
2398         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2399         (WebKit::PDFPlugin::writeItemsToPasteboard):
2400
2401 2012-11-29  Martin Robinson  <mrobinson@igalia.com>
2402
2403         [GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
2404         https://bugs.webkit.org/show_bug.cgi?id=103476
2405
2406         Reviewed by Alejandro G. Castro.
2407
2408         Create the RedirectedXCompositeWindow with an argument specifying that it
2409         should never have a GLContext backing it.
2410
2411         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2412         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
2413
2414 2012-11-29  Rafael Weinstein  <rafaelw@chromium.org>
2415
2416         [HTMLTemplateElement] Add feature flag
2417         https://bugs.webkit.org/show_bug.cgi?id=103694
2418
2419         Reviewed by Adam Barth.
2420
2421         This flag will guard the implementation of the HTMLTemplateElement.
2422         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
2423
2424         * Configurations/FeatureDefines.xcconfig:
2425
2426 2012-11-29  Alexey Proskuryakov  <ap@apple.com>
2427
2428         [WK2] Forward cookie jar calls to NetworkProcess
2429         https://bugs.webkit.org/show_bug.cgi?id=103457
2430
2431         Reviewed by Darin Adler.
2432
2433         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2434         Added messages to maniputate CookieJar in network process.
2435
2436         * NetworkProcess/NetworkConnectionToWebProcess.h:
2437         * NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,
2438         this file has a using direcive.
2439         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
2440         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
2441         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
2442         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
2443         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
2444         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
2445         (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
2446         (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
2447         (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
2448         Added implementations that use PlatformCookieJar in the network process.
2449
2450         * Scripts/webkit2/messages.py: (struct_or_class):
2451         * Shared/WebCoreArgumentCoders.h:
2452         * Shared/WebCoreArgumentCoders.cpp:
2453         (CoreIPC::::encode):
2454         (CoreIPC::::decode):
2455         Added support for Cookie.
2456         
2457         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2458         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2459         (WebKit::WebPlatformStrategies::cookiesForDOM):
2460         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
2461         (WebKit::WebPlatformStrategies::cookiesEnabled):
2462         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
2463         (WebKit::WebPlatformStrategies::getRawCookies):
2464         (WebKit::WebPlatformStrategies::deleteCookie):
2465         (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
2466         (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
2467         (WebKit::WebPlatformStrategies::deleteAllCookies):
2468         When using the network process, forward cookie calls to it.
2469
2470 2012-11-29  Kiran Muppala  <cmuppala@apple.com>
2471
2472         Instantiate snapshot plugins in a PluginProcess with muted audio
2473         https://bugs.webkit.org/show_bug.cgi?id=101536
2474
2475         Reviewed by Anders Carlsson.
2476
2477         Plugins created for generation of a snapshot should be instantiated in a separate process with
2478         muted audio so that any sound generated during the snapshot process is not audible to the user.
2479
2480         * Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
2481         * PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and
2482         snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
2483         so that PluginProcessConnectionManager can store it in a HashMap.
2484         * PluginProcess/mac/PluginProcessMac.mm:
2485         (WebKit::muteAudio):
2486         (WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
2487         that the plugin process type is snapshot process.
2488         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2489         (WebKit::PluginProcessCreationParameters::encode):
2490         (WebKit::PluginProcessCreationParameters::decode):
2491         * Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
2492         * UIProcess/Plugins/PluginProcessManager.cpp:
2493         (WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
2494         (WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
2495         (WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
2496         (WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
2497         (WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.
2498         * UIProcess/Plugins/PluginProcessManager.h:
2499         * UIProcess/Plugins/PluginProcessProxy.cpp:
2500         (WebKit::PluginProcessProxy::create): Add process type parameter.
2501         (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
2502         (WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
2503         (WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.
2504         * UIProcess/Plugins/PluginProcessProxy.h:
2505         (WebKit::PluginProcessProxy::processType):
2506         * UIProcess/WebProcessProxy.cpp:
2507         (WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
2508         PluginProcessManager.
2509         * UIProcess/WebProcessProxy.h:
2510         (WebProcessProxy):
2511         * UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
2512         * WebProcess/Plugins/PluginProcessConnection.cpp:
2513         (WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.
2514         * WebProcess/Plugins/PluginProcessConnection.h:
2515         (WebKit::PluginProcessConnection::create): Ditto.
2516         (WebKit::PluginProcessConnection::processType): Ditto.
2517         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2518         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
2519         (WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
2520         plugin path to find the connection to remove.
2521         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.
2522         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2523         * WebProcess/Plugins/PluginProxy.cpp:
2524         (WebKit::PluginProxy::create): Ditto.
2525         (WebKit::PluginProxy::PluginProxy): Ditto.
2526         (WebKit::PluginProxy::initialize): Add process type parameter in call to
2527         PluginProcessConnectionManager::getPluginProcessConnection.
2528         * WebProcess/Plugins/PluginProxy.h:
2529         * WebProcess/WebPage/WebPage.cpp:
2530         (WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
2531         pass it to PluginProxy::create.
2532         * WebProcess/WebProcess.cpp:
2533         (WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
2534         PluginProcessConnectionManager.
2535         * WebProcess/WebProcess.h:
2536         * WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
2537
2538 2012-11-29  Anders Carlsson  <andersca@apple.com>
2539
2540         Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
2541         https://bugs.webkit.org/show_bug.cgi?id=103689
2542
2543         Reviewed by Darin Adler.
2544
2545         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2546         (CoreIPC::Connection::platformInitialize):
2547
2548 2012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
2549
2550         [CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
2551         https://bugs.webkit.org/show_bug.cgi?id=103650
2552
2553         Reviewed by Noam Rosenthal.
2554
2555         We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
2556         meaning that we need to delete them manually. This patch leverages smart
2557         pointers and stores layers as OwnPtr in the LayerMap so that the layers
2558         are owned by the HashMap and we don't have to handle memory manually.
2559
2560         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2561         (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
2562         (WebKit::LayerTreeRenderer::setLayerChildren):
2563         (WebKit::LayerTreeRenderer::deleteLayer):
2564         (WebKit::LayerTreeRenderer::ensureLayer):
2565         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2566
2567 2012-11-29  Anders Carlsson  <andersca@apple.com>
2568
2569         Add a minimumLayoutWidth WKView property
2570         https://bugs.webkit.org/show_bug.cgi?id=103660
2571         <rdar://problem/11791729>
2572
2573         Reviewed by Beth Dakin.
2574
2575         When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.
2576
2577         * UIProcess/API/mac/PageClientImpl.h:
2578         * UIProcess/API/mac/PageClientImpl.mm:
2579         (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
2580         Call the WKView.
2581
2582         * UIProcess/API/mac/WKView.mm:
2583         (-[WKView intrinsicContentSize]):
2584         Override the intrinsicContentSize getter.
2585
2586         (-[WKView _setIntrinsicContentSize:]):
2587         Update the intrinsic content size and mark it as invalid.
2588
2589         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2590         By default, the WKView should have no intrinsic size.
2591
2592         (-[WKView minimumLayoutWidth]):
2593         (-[WKView setMinimumLayoutWidth:]):
2594         Call through to the WebPageProxy object.
2595
2596         * UIProcess/API/mac/WKViewPrivate.h:
2597         Add the SPI here.
2598
2599         * UIProcess/DrawingAreaProxy.h:
2600         (WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
2601         (WebKit::DrawingAreaProxy::didUpdateGeometry):
2602         (WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
2603         Add empty stubs.
2604
2605         * UIProcess/DrawingAreaProxy.messages.in:
2606         Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.
2607
2608         * UIProcess/WebPageProxy.cpp:
2609         (WebKit::WebPageProxy::WebPageProxy):
2610         Initialize the minimum layout width.
2611
2612         (WebKit::WebPageProxy::setMinimumLayoutWidth):
2613         Update the minimum layout width and call the drawing area proxy.
2614
2615         * UIProcess/WebPageProxy.h:
2616         (WebKit::WebPageProxy::minimumLayoutWidth):
2617         Add getter.
2618
2619         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2620         (TiledCoreAnimationDrawingAreaProxy):
2621         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2622         (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
2623         Update the geometry if needed.
2624
2625         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
2626         Update the intrinsic content size.
2627
2628         (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
2629         Call through to WebPageProxy::intrinsicContentSizeDidChange.
2630
2631         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
2632         Pass along the minimum layout width.
2633
2634         * UIProcess/mac/WebPageProxyMac.mm:
2635         (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
2636         Call through to the page client.
2637
2638         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2639         (WebKit::WebChromeClient::contentsSizeChanged):
2640         Call DrawingArea::mainFrameContentSizeChanged.
2641
2642         * WebProcess/WebPage/DrawingArea.h:
2643         (WebKit::DrawingArea::mainFrameContentSizeChanged):
2644         Add empty stub.
2645
2646         (WebKit::DrawingArea::updateGeometry):
2647         Update signature.
2648
2649         * WebProcess/WebPage/DrawingArea.messages.in:
2650         Add minimumLayoutWidth to UpdateGeometry.
2651
2652         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2653         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2654         (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
2655         If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.
2656
2657         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2658         If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
2659         layout with the viewport set to that height.
2660
2661 2012-11-29  Anders Carlsson  <andersca@apple.com>
2662
2663         CoreIPC::Connection should retain its xpc_connection_t
2664         https://bugs.webkit.org/show_bug.cgi?id=103671
2665         <rdar://problem/12717331>
2666
2667         Reviewed by Beth Dakin.
2668
2669         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2670         (CoreIPC::Connection::platformInitialize):
2671         Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.
2672
2673 2012-11-29  Brent Fulgham  <bfulgham@webkit.org>
2674
2675         [Windows, WinCairo] Unreviewed build fix.  Build was failing
2676         because the export definition file included a debug-only
2677         symbol.  It's not needed and shouldn't be included for export.
2678
2679         * win/WebKit2.def: Don't require notSolidColor to be exported.
2680         * win/WebKit2CFLite.def: Ditto.
2681
2682 2012-11-29  Tim Horton  <timothy_horton@apple.com>
2683
2684         PDFPlugin: Only plain text can be copied out of PDFs
2685         https://bugs.webkit.org/show_bug.cgi?id=103591
2686         <rdar://problem/12555161>
2687
2688         Reviewed by Alexey Proskuryakov.
2689
2690         Enable rich data to be copied from PDFKit to the pasteboard.
2691
2692         * WebProcess/Plugins/PDF/PDFPlugin.h:
2693         (PDFPlugin): Add writeItemsToPasteboard.
2694         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2695         (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
2696         (WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
2697         use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
2698         (RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.
2699
2700 2012-11-29  Martin Robinson  <mrobinson@igalia.com>
2701
2702         [GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
2703         https://bugs.webkit.org/show_bug.cgi?id=103277
2704
2705         Reviewed by Carlos Garcia Campos.
2706
2707         Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
2708         of the WebKitWebViewBase container (like the web inspector).
2709
2710         We do not yet properly handle pages that require authentication for more than one resource.
2711         As that is an uncommon situation, it will be handled in another patch.
2712
2713         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
2714         (WebKit::drawSignal): We have to override the draw signal of the dialog to draw
2715         a GtkWindow background on the widget. This is required because the widget doesn't
2716         have a real GtkWindow to draw its background.
2717         (WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
2718         is so that the dialog doesn't stick around when the user chooses to navigate away from the
2719         page requiring authentication.
2720         (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
2721         and frame to hold the dialog contents. Also append the 'background' widget class to the
2722         event box, so that it can draw a GtkWindow background in the draw signal handler.
2723         (WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
2724         load status changed signal handler.
2725         (WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
2726         WebKitWebViewBase.
2727         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the
2728         embedded dialog.
2729         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2730         (didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.
2731         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2732         (_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
2733         (webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
2734         is "internal" (ie the web inspector or the authentication dialog).
2735         (webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
2736         (webkitWebViewBaseAddAuthenticationDialog): Added.
2737         (webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
2738         to the WebView. This also aligns it with the way the authentication dialog is added.
2739         (webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
2740         field in the private structure.
2741         (webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
2742         (webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
2743         (webkit_web_view_base_init): Zero out the authentication dialog member on init.
2744         (webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
2745         (resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
2746         (webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
2747         (webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
2748         to web content.
2749         (webkitWebViewBaseButtonReleaseEvent):  Ditto.
2750         (webkitWebViewBaseScrollEvent): Ditto.
2751         (webkitWebViewBaseMotionNotifyEvent): Ditto.
2752         (webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
2753         elements in the dialog works correctly.
2754         (webkit_web_view_base_class_init): Hook up the focus event.
2755         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog
2756         and the web inspector.
2757         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2758         (WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.
2759
2760 2012-11-29  Andrei Bucur  <abucur@adobe.com>
2761
2762         Fix the build after r136095
2763         https://bugs.webkit.org/show_bug.cgi?id=103629
2764
2765         Unreviewed.
2766
2767         Add a static_cast to fix the build.
2768
2769         * Shared/mac/ObjCObjectGraphCoders.mm:
2770         (WebKit::ObjCObjectGraphEncoder::baseEncode):
2771
2772 2012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
2773
2774         [CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
2775         https://bugs.webkit.org/show_bug.cgi?id=103645
2776
2777         Reviewed by Noam Rosenthal.
2778
2779         The current LayerTreeRenderer code keep calling ensureLayer() and then
2780         LayerMap::find() to retrieve the layer. Since ensureLayer() already has
2781         a pointer to the layer, we can simply have the function return it.
2782         This is slightly more efficient and it makes the code a bit simpler.
2783
2784         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2785         (WebKit::LayerTreeRenderer::setLayerChildren):
2786         (WebKit::LayerTreeRenderer::setLayerFilters):
2787         (WebKit::LayerTreeRenderer::setLayerState):
2788         (WebKit::LayerTreeRenderer::ensureLayer):
2789         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2790
2791 2012-11-29  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2792
2793         [WK2] TiledBackingStore: User events are sent to web page before it is shown
2794         https://bugs.webkit.org/show_bug.cgi?id=101753
2795
2796         Reviewed by Jocelyn Turcotte.
2797
2798         User events are suppressed on WEB process side while drawing area is frozen.
2799
2800         * WebProcess/WebPage/WebPage.cpp:
2801         (WebKit::WebPage::mouseEvent):
2802         (WebKit::WebPage::wheelEvent):
2803         (WebKit::WebPage::keyEvent):
2804         (WebKit::WebPage::gestureEvent):
2805         (WebKit::WebPage::touchEvent):
2806         (WebKit::WebPage::sendIfEventCannotBeHandled):
2807         (WebKit):
2808         (WebKit::WebPage::didCompletePageTransition):
2809         * WebProcess/WebPage/WebPage.h:
2810         (WebPage):
2811
2812 2012-11-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2813
2814         Possible to resize out of bounds 
2815         https://bugs.webkit.org/show_bug.cgi?id=103521
2816
2817         Reviewed by Jocelyn Turcotte.
2818
2819         Enforce the viewportBounds after resize, and ensure a user fitted page remains
2820         fit on viewport resize, but not on content growth.
2821
2822         * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
2823         * UIProcess/PageViewportController.cpp:
2824         (WebKit::PageViewportController::didChangeContentsSize):
2825         (WebKit::PageViewportController::didChangeViewportAttributes):
2826         (WebKit::PageViewportController::updateMinimumScaleToFit):
2827         * UIProcess/PageViewportController.h:
2828         (PageViewportController):
2829
2830 2012-11-29  Michael Brüning  <michael.bruning@digia.com>
2831
2832         [Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
2833         https://bugs.webkit.org/show_bug.cgi?id=97774
2834
2835         Reviewed by Kenneth Rohde Christiansen.
2836
2837         Implements the handler for willSetInputMethodState in WebKit2 in Qt.
2838         This is needed to tell the input method instance in Qt to commit its
2839         preedit content when the focus has moved to another node to prevent a
2840         bug where the old preedit string was kept as the preedit string and
2841         the editor moved focus back to the old node when continuing to enter
2842         text via the input method.
2843
2844         This behavior is analog to the behavior of the QtQuick text input
2845         elements.
2846
2847         * UIProcess/API/qt/raw/qrawwebview.cpp:
2848         (QRawWebViewPrivate::handleWillSetInputMethodState):
2849         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
2850         (QRawWebViewPrivate):
2851         * UIProcess/PageClient.h:
2852         (PageClient):
2853         * UIProcess/WebPageProxy.h:
2854         (WebPageProxy):
2855         * UIProcess/WebPageProxy.messages.in:
2856         * UIProcess/qt/QtPageClient.cpp:
2857         (WebKit::QtPageClient::handleWillSetInputMethodState):
2858         (WebKit):
2859         * UIProcess/qt/QtPageClient.h:
2860         (QtPageClient):
2861         * UIProcess/qt/QtWebPageEventHandler.cpp:
2862         (WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
2863         (WebKit):
2864         * UIProcess/qt/QtWebPageEventHandler.h:
2865         (QtWebPageEventHandler):
2866         * UIProcess/qt/WebPageProxyQt.cpp:
2867         (WebKit::WebPageProxy::willSetInputMethodState):
2868         (WebKit):
2869         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2870         (WebKit::WebEditorClient::willSetInputMethodState):
2871
2872 2012-11-28  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2873
2874         [Qt] The WebView should be flickable only using touch events
2875         https://bugs.webkit.org/show_bug.cgi?id=100964
2876
2877         Reviewed by Kenneth Rohde Christiansen.
2878
2879         Let a user interacting with the WebView using a mouse the same way that a
2880         desktop browser would.
2881         This allows normal behaviors like text selecting, hover events, mouse cursors
2882         as well as avoid touch highlighting and touch adjustment.
2883
2884         To do so we let all mouse events to be handled by the page directly instead
2885         of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
2886         pushed back to the PageClient like touch events does, this have the intended
2887         behavior of not letting mouse events affect QQuickFlickable.
2888
2889         * UIProcess/API/qt/qquickwebview.cpp:
2890         * UIProcess/API/qt/qquickwebview_p_p.h:
2891         (QQuickWebViewFlickablePrivate):
2892
2893 2012-11-29  Andras Becsi  <andras.becsi@digia.com>
2894
2895         [Qt] Fix installation of QtWebProcess binary
2896         https://bugs.webkit.org/show_bug.cgi?id=101735
2897
2898         Reviewed by Simon Hausmann.
2899
2900         If available use QLibraryInfo::LibraryExecutablesPath to find
2901         the web process and the plugin process and deploy both helper
2902         processes to QT_INSTALL_LIBEXECS.
2903
2904         The effective fallback used to find the helper processes becomes:
2905             1. Application directory
2906             2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
2907             3. Qt binaries directory (QLibraryInfo::BinariesPath)
2908             4. No absolute path used
2909
2910         * PluginProcess.pro:
2911         * Shared/qt/ProcessExecutablePathQt.cpp:
2912         (WebKit::executablePath):
2913         * WebProcess.pro:
2914
2915 2012-11-28  Ryuan Choi  <ryuan.choi@gmail.com>
2916
2917         [EFL] Generate big_button_theme.edj
2918         https://bugs.webkit.org/show_bug.cgi?id=103511
2919
2920         Reviewed by Gyuyoung Kim.
2921
2922         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2923         (EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
2924         (EWK2UnitTest):
2925         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2926         (EWK2UnitTestEnvironment):
2927         * UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
2928         * UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj
2929         (TEST_F):
2930
2931 2012-11-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2932
2933         Unreviewed, rolling out r135973.
2934         http://trac.webkit.org/changeset/135973
2935         https://bugs.webkit.org/show_bug.cgi?id=103604
2936
2937         It made API test crash on EFL bots (Requested by gyuyoung on
2938         #webkit).
2939
2940         * UIProcess/API/efl/ewk_view.cpp:
2941         (createEwkView):
2942
2943 2012-11-28  Michael Pruett  <michael@68k.org>
2944
2945         IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
2946         https://bugs.webkit.org/show_bug.cgi?id=103554
2947
2948         Reviewed by Kentaro Hara.
2949
2950         In r135022, duplicate createFromWire() and toWireString() methods
2951         were added to the JSC version of SerializedScriptValue. In
2952         order to allow the JSC SerializedScriptValue to compile when
2953         ENABLE(INDEXED_DATABASE) is turned on, these new methods have
2954         been removed and the old methods have been moved outside the
2955         ENABLE(INDEXED_DATABASE) guard.
2956
2957         * win/WebKit2.def:
2958         * win/WebKit2CFLite.def:
2959
2960 2012-11-28  Sam Weinig  <sam@webkit.org>
2961
2962         Fix 32bit build.
2963
2964         * Shared/mac/ObjCObjectGraphCoders.mm:
2965         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
2966         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
2967
2968 2012-11-28  Sam Weinig  <sam@webkit.org>
2969
2970         Add an objc object graph wrapper and coder for WKConnection message bodies
2971         https://bugs.webkit.org/show_bug.cgi?id=103589
2972
2973         Reviewed by Anders Carlsson.
2974
2975         Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
2976         WKBrowsingContextController across the wire.
2977
2978         * Shared/APIClient.h:
2979         (APIClient):
2980         (WebKit::APIClient::client):
2981         Add accessor for the ClientInterface.
2982
2983         * Shared/APIObject.h:
2984         Add new TypeObjCObjectGraph type.
2985
2986         * Shared/mac/ObjCObjectGraph.h: Added.
2987         (ObjCObjectGraph):
2988         (WebKit::ObjCObjectGraph::create):
2989         (WebKit::ObjCObjectGraph::root):
2990         (WebKit::ObjCObjectGraph::ObjCObjectGraph):
2991         (WebKit::ObjCObjectGraph::type):
2992         * Shared/mac/ObjCObjectGraph.mm: Added.
2993         Wraps 
2994
2995         * Shared/mac/ObjCObjectGraphCoders.h: Added.
2996         (WebContextObjCObjectGraphEncoder):
2997         (WebContextObjCObjectGraphDecoder):
2998         (InjectedBundleObjCObjectGraphEncoder):
2999         (InjectedBundleObjCObjectGraphDecoder):
3000         * Shared/mac/ObjCObjectGraphCoders.mm: Added.
3001         (WebKit::typeFromObject):
3002         (ObjCObjectGraphEncoder):
3003         (WebKit::ObjCObjectGraphEncoder::baseEncode):
3004         (WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
3005         (ObjCObjectGraphDecoder):
3006         (WebKit::ObjCObjectGraphDecoder::baseDecode):
3007         (WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
3008         (WebContextObjCObjectGraphEncoderImpl):
3009         (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
3010         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
3011         (WebContextObjCObjectGraphDecoderImpl):
3012         (WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
3013         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
3014         (InjectedBundleObjCObjectGraphEncoderImpl):
3015         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
3016         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
3017         (InjectedBundleObjCObjectGraphDecoderImpl):
3018         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
3019         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
3020         (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
3021         (WebKit::WebContextObjCObjectGraphEncoder::encode):
3022         (WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
3023         (WebKit::WebContextObjCObjectGraphDecoder::decode):
3024         (WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
3025         (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
3026         (WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
3027         (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
3028         Added.
3029
3030         * UIProcess/API/mac/WKBrowsingContextController.mm:
3031         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
3032         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
3033         Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a 
3034         new method to get a WKBrowsingContextController from a WKPageRef.
3035
3036         * UIProcess/API/mac/WKConnection.mm:
3037         (-[WKConnection sendMessageWithName:body:]):
3038         (didReceiveMessage):
3039         Switch WKConnection to use ObjCObjectGraph to encode the messageBody.
3040
3041         * UIProcess/WebContextUserMessageCoders.h:
3042         (WebKit::WebContextUserMessageEncoder::encode):
3043         (WebKit::WebContextUserMessageDecoder::decode):
3044         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
3045         (WebKit::InjectedBundleUserMessageEncoder::encode):
3046         (WebKit::InjectedBundleUserMessageDecoder::decode):
3047         Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.
3048
3049         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
3050         (-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):
3051         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
3052         Add method to get WKWebProcessPlugInController from the WKBundlePageRef.
3053
3054         * WebKit2.xcodeproj/project.pbxproj:
3055         Add new files.
3056
3057 2012-11-28  Sergio Villar Senin  <svillar@igalia.com>
3058
3059         [WK2][Qt] Add drag&drop support to Flickable webView
3060         https://bugs.webkit.org/show_bug.cgi?id=100778
3061
3062         Reviewed by Jocelyn Turcotte.
3063
3064         Enable the ItemAcceptsDrops flag in the flickable WebView. This
3065         will allow the WebView to receive drag&drop events.
3066
3067         * UIProcess/API/qt/qquickwebview.cpp:
3068         (QQuickWebViewPrivate::initialize):
3069
3070 2012-11-28  Shinya Kawanaka  <shinyak@chromium.org>
3071
3072         [Shadow] Move Distribution stuffs from ShadowRoot
3073         https://bugs.webkit.org/show_bug.cgi?id=103481
3074
3075         Reviewed by Hajime Morita.
3076
3077         * win/WebKit2.def:
3078         * win/WebKit2CFLite.def:
3079
3080 2012-11-28  Tim Horton  <timothy_horton@apple.com>
3081
3082         [mac] Dictionary lookup bubble loses intrarange formatting
3083         https://bugs.webkit.org/show_bug.cgi?id=103496
3084         <rdar://problem/12762172>
3085
3086         Reviewed by Alexey Proskuryakov.
3087
3088         Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
3089         when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
3090         highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.
3091
3092         * Shared/DictionaryPopupInfo.cpp:
3093         (WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
3094         (WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.
3095         * Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
3096         * UIProcess/API/mac/PageClientImpl.h:
3097         (PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
3098         no longer needs to take the page scale factor.
3099         * UIProcess/API/mac/PageClientImpl.mm:
3100         (WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
3101         instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.
3102         * UIProcess/PageClient.h:
3103         (PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
3104         * UIProcess/WebPageProxy.h:
3105         (WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
3106         * UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
3107         * UIProcess/mac/WebPageProxyMac.mm:
3108         (WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
3109         * WebProcess/WebPage/mac/WebPageMac.mm:
3110         (WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
3111         constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
3112         Also, scale the size of every font attribute by the current pageScaleFactor.
3113
3114 2012-11-28  peavo@outlook.com  <peavo@outlook.com>
3115
3116         [WinCairo] Crash when requesting favicon.
3117         https://bugs.webkit.org/show_bug.cgi?id=102689
3118
3119         Reviewed by Brent Fulgham.
3120
3121         * win/WebKit2CFLite.def: Link fixes.
3122         * win/WebKit2.def: Link fixes.
3123
3124 2012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
3125
3126         Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
3127         https://bugs.webkit.org/show_bug.cgi?id=103527
3128
3129         Reviewed by Jocelyn Turcotte.
3130
3131         Make sure m_pendingSyncBackingStores is cleared in
3132         LayerTreeRenderer::purgeGLResources() to avoid trying to assign
3133         backing store to layers after everything has been invalidated.
3134
3135         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3136         (WebKit::LayerTreeRenderer::purgeGLResources):
3137
3138 2012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
3139
3140         Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
3141         https://bugs.webkit.org/show_bug.cgi?id=103498
3142
3143         Reviewed by Kenneth Rohde Christiansen.
3144
3145         We hit the !m_pedningSyncBackingStores.contains(layer) assertion
3146         in LayerTreeRenderer when 2 asynchronous backing store operations
3147         are pending. The current code checks if the layer already has a
3148         backing store in its guard but this is insufficient as it is not
3149         checking the m_pendingSyncBackingStores hash for pending backing
3150         store changes.
3151
3152         In this patch, we improve the guards in createBackingStoreIfNeeded()
3153         and removeBackingStoreIfNeeded() to check not only if the layer has
3154         already a backing store but also check m_pendingSyncBackingStores
3155         for pending changes. This is safer and it allows for optimizations
3156         in the cases where we have both a removal and a creation pending.
3157         In those cases, we can simply cancel the pending operation instead
3158         of queueing a new one.
3159
3160         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3161         (WebKit::LayerTreeRenderer::getBackingStore):
3162         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
3163         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
3164         (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
3165         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3166
3167 2012-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3168
3169         [EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
3170         https://bugs.webkit.org/show_bug.cgi?id=103079
3171
3172         Reviewed by Simon Hausmann.
3173
3174         The problem was caused because we moved the page inside our viewport
3175         in non-discrete units.
3176
3177         Now instead of changing the content visible in our viewport by
3178         applying scale, and then transforming the CSS offset, we now first
3179         discretely position the page in UI coordinates.
3180
3181         This patch also removes some dead code.
3182
3183         * UIProcess/API/efl/EwkViewImpl.cpp:
3184         (EwkViewImpl::transformFromScene):
3185         (EwkViewImpl::displayTimerFired):
3186
3187            Transform according to the page position.
3188
3189         * UIProcess/API/efl/EwkViewImpl.h:
3190         (EwkViewImpl::setPagePosition): Now stores a float.
3191         (EwkViewImpl::discretePagePosition): Returns the discrete page position.
3192         (EwkViewImpl):
3193         * UIProcess/efl/PageClientLegacyImpl.cpp:
3194         (WebKit::PageClientLegacyImpl::updateViewportSize):
3195         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
3196         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3197         (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
3198         (WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
3199         (WebKit::PageViewportControllerClientEfl::setContentsScale):
3200         (WebKit::PageViewportControllerClientEfl::didResumeContent):
3201         * UIProcess/efl/PageViewportControllerClientEfl.h:
3202         (WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
3203         from the view directly.
3204         (WebKit::PageViewportControllerClientEfl::contentPosition):
3205         (PageViewportControllerClientEfl):
3206
3207 2012-11-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3208
3209         [EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
3210         https://bugs.webkit.org/show_bug.cgi?id=103505
3211
3212         Reviewed by Kenneth Rohde Christiansen.
3213
3214         No need to export GL data members from EwkViewImpl class, 
3215         those are internal implementation objects not used by anyone outside the class.
3216
3217         * UIProcess/API/efl/EwkViewImpl.cpp:
3218         (EwkViewImpl::displayTimerFired):
3219         (EwkViewImpl::createGLSurface):
3220         * UIProcess/API/efl/EwkViewImpl.h:
3221         (EwkViewImpl):
3222         (EwkViewImpl::evasGLContext):
3223         (EwkViewImpl::evasGLSurface):
3224
3225 2012-11-28  Joone Hur  <joone.hur@intel.com>
3226
3227         [EFL][WK2][AC] Clear the viewport with white color
3228         https://bugs.webkit.org/show_bug.cgi?id=103495
3229
3230         When initializing a GL surface, we should clear the buffer with white color.
3231
3232         Reviewed by Kenneth Rohde Christiansen.
3233
3234         * UIProcess/API/efl/EwkViewImpl.cpp:
3235         (EwkViewImpl::createGLSurface):
3236
3237 2012-11-27  Jinwoo Song  <jinwoo7.song@samsung.com>
3238
3239         [EFL][WK2] Duplicated WebPageGroup initialization
3240         https://bugs.webkit.org/show_bug.cgi?id=103229
3241
3242         Reviewed by Gyuyoung Kim.
3243
3244         WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
3245         because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
3246
3247         As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
3248         is created with default context.
3249
3250         * UIProcess/API/efl/ewk_view.cpp:
3251         (createEwkView):
3252
3253 2012-11-27  Huang Dongsung  <luxtella@company100.net>
3254
3255         REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
3256         https://bugs.webkit.org/show_bug.cgi?id=103171
3257
3258         Reviewed by Noam Rosenthal.
3259
3260         Ensure that TextureMapperLayer has a backing store when the layer has
3261         drawsContent and contentsVisible properties and the size of the layer is not
3262         empty.
3263
3264         LayerTreeRenderer::setLayerState() must not set a backing store to
3265         TextureMapperLayer because setLayerState() just changes states of
3266         GraphicsLayerTextureMapper instead of TextureMapperLayer.
3267
3268         Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
3269         states to TextureMapperLayer.
3270
3271         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3272         (WebKit::LayerTreeRenderer::getBackingStore):
3273         (WebKit::LayerTreeRenderer::prepareContentBackingStore):
3274         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
3275         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
3276         (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
3277         (WebKit::LayerTreeRenderer::flushLayerChanges):
3278         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3279         (WebCore):
3280
3281 2012-11-27  Tim Horton  <timothy_horton@apple.com>
3282
3283         PDFPlugin: Should not be able to edit read-only text annotations
3284         https://bugs.webkit.org/show_bug.cgi?id=103387
3285         <rdar://problem/12752313>
3286
3287         Reviewed by Alexey Proskuryakov.
3288
3289         Don't allow read-only annotations to become active.
3290
3291         * WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
3292         * WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
3293         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3294         (WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
3295         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
3296
3297 2012-11-27  Huang Dongsung  <luxtella@company100.net>
3298
3299         Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
3300         https://bugs.webkit.org/show_bug.cgi?id=103298
3301
3302         Reviewed by Noam Rosenthal.
3303
3304         This patch makes LayerTreeRenderer assign a content backing store to
3305         TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
3306         the backing store to TextureMapperLayer and it can break the invariant condition
3307         of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
3308         the layer has following conditions: drawsContent, contentsVisible and non empty
3309         size.
3310
3311         In addition, the modified code about creating and removing a backing store
3312         matches the same purpose code of CoordinatedGraphicsLayer and
3313         GraphicsLayerTextureMapepr.
3314
3315         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3316         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
3317         (CoordinatedBackingStore):
3318         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3319         (WebKit::layerShouldHaveBackingStore):
3320         (WebKit):
3321         (WebKit::LayerTreeRenderer::setLayerState):
3322         (WebKit::LayerTreeRenderer::getBackingStore):
3323         (WebKit::LayerTreeRenderer::prepareContentBackingStore):
3324         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
3325         (WebKit::LayerTreeRenderer::removeBackingStore):
3326         (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
3327         (WebKit::LayerTreeRenderer::createTile):
3328         (WebKit::LayerTreeRenderer::removeTile):
3329         (WebKit::LayerTreeRenderer::updateTile):
3330         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3331         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3332         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
3333             This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
3334             can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
3335             after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.
3336
3337 2012-11-27  James Simonsen  <simonjam@chromium.org>
3338
3339         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
3340         https://bugs.webkit.org/show_bug.cgi?id=102151
3341
3342         Reviewed by Adam Barth.
3343
3344         * WebProcess/Plugins/PluginView.cpp:
3345         (WebKit::PluginView::performFrameLoadURLRequest):
3346         * WebProcess/WebPage/WebPage.cpp:
3347         (WebKit::WebPage::loadURLRequest):
3348         (WebKit::WebPage::loadData):
3349
3350 2012-10-22  Jer Noble  <jer.noble@apple.com>
3351
3352         [WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
3353         https://bugs.webkit.org/show_bug.cgi?id=100025
3354
3355         Reviewed by Dan Bernstein.
3356
3357         Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
3358         in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with 
3359         instructions to click the placeholder to exit full screen.
3360
3361         * UIProcess/mac/WKFullScreenWindowController.h:
3362         * UIProcess/mac/WKFullScreenWindowController.mm:
3363         (-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
3364         (-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
3365         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
3366         (-[WKFullScreenWindowController enterFullScreen:]):  Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
3367         (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
3368         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
3369         (-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
3370         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
3371             from full screen mode when the full screen window is not on screen.
3372         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
3373         (-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
3374         (-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
3375         (-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
3376         (-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:
3377
3378 2012-11-27  Yael Aharon  <yael.aharon@intel.com>
3379
3380         [EFL][WK2] 3D pixel tests are failing
3381         https://bugs.webkit.org/show_bug.cgi?id=102833
3382
3383         Reviewed by Kenneth Rohde Christiansen.
3384
3385         Added an API for generating a snapshot, to be used from WebKitTestRunner.
3386
3387         * PlatformEfl.cmake:
3388         * UIProcess/API/C/efl/WKView.cpp:
3389         (WKViewGetSnapshot):
3390         * UIProcess/API/C/efl/WKView.h:
3391         * UIProcess/API/efl/EwkViewImpl.cpp:
3392         (EwkViewImpl::onFaviconChanged):
3393         (EwkViewImpl::takeSnapshot):
3394         * UIProcess/API/efl/EwkViewImpl.h:
3395         (EwkViewImpl):
3396         * UIProcess/API/efl/SnapshotImageGL.cpp: Added.
3397         (getImageFromCurrentTexture):
3398         * UIProcess/API/efl/SnapshotImageGL.h: Added.
3399
3400 2012-11-27  Tim Horton  <timothy_horton@apple.com>
3401
3402         PDFPlugin: Page scale factor should affect subframe PDFs
3403         https://bugs.webkit.org/show_bug.cgi?id=103291
3404         <rdar://problem/12555249>
3405
3406         Reviewed by Darin Adler.
3407
3408         For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
3409         so it can scale its drawing appropriately.
3410
3411         * WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
3412         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3413         (WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
3414         instead of manually updating PDFLayerController's device scale factor.
3415         (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
3416         the "underlying" (non-zoom) content scale, which is the product of the
3417         device scale and the page scale.
3418         (WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
3419         (WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
3420         PDFLayerController's notion of the page scale up to date when the plugin's
3421         geometry changes.
3422
3423 2012-11-27  Tim Horton  <timothy_horton@apple.com>
3424
3425         PDFPlugin: Scroll bars do not grow on hover
3426         https://bugs.webkit.org/show_bug.cgi?id=103382
3427         <rdar://problem/12555262>
3428
3429         Reviewed by Beth Dakin.
3430
3431         PDFPlugin needs to forward relevant mouse events to the scrollbars.
3432         In addition, it needs to implement currentMousePosition so ScrollableArea and friends
3433         can find the mouse position at arbitrary times.
3434
3435         I also took this opportunity to factor some coordinate space conversion functions out.
3436
3437         * WebProcess/Plugins/PDF/PDFPlugin.h:
3438         (WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
3439         (WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
3440         (WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
3441         (PDFPlugin):
3442         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3443         (WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
3444         (WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
3445         (WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
3446         (WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
3447         (WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
3448         Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
3449         If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
3450         If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
3451         If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
3452         If the mouse is currently over the scroll corner, bail, because nobody should get those events.
3453
3454 2012-11-27  Dan Bernstein  <mitz@apple.com>