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