46034bf2819c7c1db5d373cf68efe8dbece35f8d
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-11-27  Kyungjin Kim  <gen.kim@samsung.com>
2
3         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
4         https://bugs.webkit.org/show_bug.cgi?id=103008
5
6         Reviewed by Gyuyoung Kim.
7
8         Fix API names in WKPreferences from 2d to 2D.
9
10         * UIProcess/API/C/WKPreferences.cpp:
11         (WKPreferencesSetAccelerated2DCanvasEnabled):
12         (WKPreferencesGetAccelerated2DCanvasEnabled):
13         * UIProcess/API/C/WKPreferencesPrivate.h:
14
15 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
16
17         Unreviewed, rolling out r135786.
18         http://trac.webkit.org/changeset/135786
19         https://bugs.webkit.org/show_bug.cgi?id=103379
20
21         It made 3 plugin tests timeout on several platforms (Requested
22         by Ossy on #webkit).
23
24         * WebProcess/Plugins/PluginView.cpp:
25         (WebKit::PluginView::performFrameLoadURLRequest):
26         * WebProcess/WebPage/WebPage.cpp:
27         (WebKit::WebPage::loadURLRequest):
28         (WebKit::WebPage::loadData):
29         (WebKit::WebPage::linkClicked):
30
31 2012-11-27  Huang Dongsung  <luxtella@company100.net>
32
33         Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
34         https://bugs.webkit.org/show_bug.cgi?id=103297
35
36         Reviewed by Noam Rosenthal.
37
38         Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
39
40         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
41         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
42         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
43         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
44         (CoordinatedGraphicsLayer):
45
46 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
47
48         Unreviewed, rolling out r135822.
49         http://trac.webkit.org/changeset/135822
50         https://bugs.webkit.org/show_bug.cgi?id=103369
51
52         Undo the revert of r135818, since that change does not affect
53         code used by Chromium (Requested by apavlov on #webkit).
54
55         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
56         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
57         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
58
59 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
60
61         Unreviewed, rolling out r135818.
62         http://trac.webkit.org/changeset/135818
63         https://bugs.webkit.org/show_bug.cgi?id=103368
64
65         platform/chromium/virtual/threaded/compositing/visibility
66         /visibility-simple-webgl-layer.html crash on Mountain Lion
67         (Requested by apavlov on #webkit).
68
69         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
70         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
71         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
72
73 2012-11-26  Dan Bernstein  <mitz@apple.com>
74
75         <rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
76         https://bugs.webkit.org/show_bug.cgi?id=103358
77
78         Reviewed by Adele Peterson.
79
80         To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
81         prevent media from starting automatically when the view is put in a window.
82
83         * Shared/WebPageCreationParameters.cpp:
84         (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
85         (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
86         * Shared/WebPageCreationParameters.h:
87         (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
88         * UIProcess/API/C/WKPage.cpp:
89         (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
90         * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
91         * UIProcess/WebPageProxy.cpp:
92         (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
93         to true, the value matching the current behavior.
94         (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
95         m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
96         (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
97         process creation parameters.
98         * UIProcess/WebPageProxy.h:
99         (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
100         m_mayStartMediaWhenInWindow.
101         * WebProcess/WebPage/WebPage.cpp:
102         (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
103         parameters.
104         (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
105         conditional on m_mayStartMediaWhenInWindow.
106         (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
107         already in a window when changing from false to true, starts m_setCanStartMediaTimer.
108         * WebProcess/WebPage/WebPage.h:
109         (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
110         * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
111
112 2012-11-26  Huang Dongsung  <luxtella@company100.net>
113
114         Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
115         https://bugs.webkit.org/show_bug.cgi?id=103297
116
117         Reviewed by Noam Rosenthal.
118
119         GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
120         mask layer in setContentsVisible() and setMaskLayer() like setting a size.
121         This patch is needed because RenderLayerBacking does not set the visibility to a
122         mask layer like the size.
123
124         This patch does not change user experience because an invisible layer is not
125         rendered although the mask layer is rendered. In that sense, it is an
126         optimization patch.
127
128         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
129         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
130         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
131
132 2012-11-26  Kyungjin Kim  <gen.kim@samsung.com>
133
134         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
135         https://bugs.webkit.org/show_bug.cgi?id=103008
136
137         Reviewed by Gyuyoung Kim.
138
139         Add setting APIs for accelerated 2d canvas in WebKit2.
140
141         * Shared/WebPreferencesStore.h:
142         (WebKit):
143         * UIProcess/API/C/WKPreferences.cpp:
144         (WKPreferencesSetAccelerated2dCanvasEnabled):
145         (WKPreferencesGetAccelerated2dCanvasEnabled):
146         * UIProcess/API/C/WKPreferencesPrivate.h:
147         * WebProcess/WebPage/WebPage.cpp:
148         (WebKit::WebPage::updatePreferences):
149
150 2012-11-26  Tim Horton  <timothy_horton@apple.com>
151
152         Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
153         https://bugs.webkit.org/show_bug.cgi?id=103288
154
155         Reviewed by Dan Bernstein.
156
157         Other PluginView methods that use m_plugin null-check m_plugin and check
158         that the plugin has finished initializing before using it. These three
159         should do the same thing.
160
161         * WebProcess/Plugins/PluginView.cpp:
162         (WebKit::PluginView::handleEditingCommand):
163         (WebKit::PluginView::isEditingCommandEnabled):
164         (WebKit::PluginView::shouldAllowScripting):
165
166 2012-11-26  Tim Horton  <timothy_horton@apple.com>
167
168         PDFPlugin: Subframe PDF context menus are in the wrong place
169         https://bugs.webkit.org/show_bug.cgi?id=103284
170         <rdar://problem/12727972>
171
172         Reviewed by Dan Bernstein.
173
174         Event position is in window coordinates, not content coordinates.
175         Since we have no windowToScreen(), use windowToContents and contentsToScreen
176         to get to screen coordinate space, which WKPopupContextMenu wants.
177
178         * WebProcess/Plugins/PDF/PDFPlugin.mm:
179         (WebKit::PDFPlugin::handleContextMenuEvent):
180
181 2012-11-26  Tim Horton  <timothy_horton@apple.com>
182
183         PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
184         https://bugs.webkit.org/show_bug.cgi?id=103282
185         <rdar://problem/12710892>
186
187         Reviewed by Dan Bernstein.
188
189         Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
190
191         * WebProcess/Plugins/PDF/PDFPlugin.mm:
192         (WebKit::PDFPlugin::handleMouseEvent):
193
194 2012-11-26  Ryuan Choi  <ryuan.choi@gmail.com>
195
196         [EFL] Unreviewed build fix after r135767 without Tiled Backing Store
197         https://bugs.webkit.org/show_bug.cgi?id=103320
198
199         Unreviewed build fix.
200
201         * WebProcess/Plugins/Plugin.cpp:
202         * WebProcess/Plugins/Plugin.h:
203         (WebCore):
204
205 2012-11-26  James Simonsen  <simonjam@chromium.org>
206
207         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
208         https://bugs.webkit.org/show_bug.cgi?id=102151
209
210         Reviewed by Adam Barth.
211
212         * WebProcess/Plugins/PluginView.cpp:
213         (WebKit::PluginView::performFrameLoadURLRequest):
214         * WebProcess/WebPage/WebPage.cpp:
215         (WebKit::WebPage::loadURLRequest):
216         (WebKit::WebPage::loadData):
217
218 2012-11-26  Jon Lee  <jonlee@apple.com>
219
220         Pass clicks through to the restarted plugin
221         https://bugs.webkit.org/show_bug.cgi?id=102150
222         <rdar://problem/12695575>
223
224         Reviewed by Simon Fraser.
225
226         Expose convertToRootView() as a public function for all plugins. It converts the click point
227         from local plugin coordinates to root view coordinates. When the events are sent to the
228         plugin, the coordinate gets converted back to the local reference frame.
229         * WebProcess/Plugins/Plugin.cpp:
230         (WebKit::Plugin::convertToRootView): Default implementation should not be reached.
231         * WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
232         * WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
233         method virtual.
234         * WebProcess/Plugins/PluginProxy.h:
235         * WebProcess/Plugins/PluginProxy.cpp:
236         (WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
237         a point in root view coordinates.
238
239         Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
240         the earliest state where the plugin is playing.
241         * WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
242         (WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
243         element to dispatch the pending mouse click.
244         (WebKit::PluginView::paint):
245         (WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
246         WebMouseEvent.
247         (WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
248         the UI process. So we fabricate one based on the simulated event.
249         (WebKit::PluginView::invalidateRect):
250         (WebKit::PluginView::isAcceleratedCompositingEnabled):
251         * WebProcess/Plugins/PluginView.h:
252
253 2012-11-26  Kalev Lember  <kalevlember@gmail.com>
254
255         [GTK] Explicitly link against librt
256         https://bugs.webkit.org/show_bug.cgi?id=103194
257
258         Reviewed by Martin Robinson.
259
260         Fixes broken build with undefined references to shm_open / shm_unlink
261         symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
262
263         * GNUmakefile.am:
264
265 2012-11-26  Christophe Dumez  <christophe.dumez@intel.com>
266
267         [EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
268         https://bugs.webkit.org/show_bug.cgi?id=103224
269
270         Reviewed by Laszlo Gombos.
271
272         Add API to ewk_settings to enable / disable the HTML5
273         local storage functionality. The functionality is
274         enabled by default.
275
276         * UIProcess/API/efl/ewk_settings.cpp:
277         (ewk_settings_local_storage_enabled_set):
278         (ewk_settings_local_storage_enabled_get):
279         * UIProcess/API/efl/ewk_settings.h:
280         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
281         (TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
282
283 2012-11-26  Rafael Brandao  <rafael.lobo@openbossa.org>
284
285         [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
286         https://bugs.webkit.org/show_bug.cgi?id=101341
287
288         Reviewed by Noam Rosenthal.
289
290         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
291         (WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
292         vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
293         can be harmful as we've already released the lock.
294
295 2012-11-26  Jaehun Lim  <ljaehun.lim@samsung.com>
296
297         Text Autosizing: Add Text Autosizing APIs for WK2
298         https://bugs.webkit.org/show_bug.cgi?id=100633
299
300         Reviewed by Sam Weinig.
301
302         Implement basic Text Autosizing APIs for WK2.
303         Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
304         of text in wide columns, and makes text more legible.
305         This patch adds setting APIs for Text Autosizing in WK2.
306
307         * Shared/WebPreferencesStore.h:
308         (WebKit):
309         * UIProcess/API/C/WKPreferences.cpp:
310         (WKPreferencesSetTextAutosizingEnabled):
311         (WKPreferencesGetTextAutosizingEnabled):
312         * UIProcess/API/C/WKPreferences.h:
313         * WebProcess/WebPage/WebPage.cpp:
314         (WebKit::WebPage::updatePreferences):
315
316 2012-11-26  Pierre Rossi  <pierre.rossi@gmail.com>
317
318         [Qt] REGRESSION(r135575): It made all tests assert
319         https://bugs.webkit.org/show_bug.cgi?id=103169
320
321         Reviewed by Simon Hausmann.
322
323         This fixes another regression introduced in r135515:
324         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
325         since it can be called from WebKit2 to initialize QStyle for testing.
326         This would then lead to things such as PlatformStrategies being
327         initialized twice.
328
329         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
330         (WebKit):
331         (main):
332
333 2012-11-26  Huang Dongsung  <luxtella@company100.net>
334
335         REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
336         https://bugs.webkit.org/show_bug.cgi?id=103217
337
338         Reviewed by Noam Rosenthal.
339
340         It is possible for CoordinatedBackingStore of directed composited image to not
341         have tiles, because CoordinatedImageBacking does not create tiles when the image
342         is invisible.
343
344         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
345         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
346
347 2012-11-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
348
349         [WK2] TiledBackingStore: page contents is scaled wrongly
350         https://bugs.webkit.org/show_bug.cgi?id=103090
351
352         Reviewed by Kenneth Rohde Christiansen.
353
354         Before this change the page contents scaling in PageViewportController was
355         defined all the times by m_rawAttributes.initialScale. If initial scale had not
356         been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
357         PageViewportController::didChangeViewportAttributes().
358
359         The problem was that m_minimumScaleToFit could have wrong value as contents size
360         might have not be updated by the time PageViewportController::didChangeViewportAttributes()
361         was invoked.
362
363         The solution is to use m_minimumScaleToFit for contents scaling if initial scale
364         is not specified in the viewport meta tag, as it is updated all the time. 
365         Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
366         whether m_minimumScaleToFit should be used for scaling.
367
368         * UIProcess/PageViewportController.cpp:
369         (WebKit::PageViewportController::PageViewportController):
370         (WebKit::PageViewportController::didChangeContentsSize):
371         (WebKit::PageViewportController::pageTransitionViewportReady):
372         (WebKit::PageViewportController::didChangeViewportAttributes):
373         * UIProcess/PageViewportController.h:
374         (PageViewportController):
375
376 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
377
378         [EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
379         https://bugs.webkit.org/show_bug.cgi?id=103187
380
381         Reviewed by Kenneth Rohde Christiansen.
382
383         Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the 
384         same arg type s/he wants to have in the Ewk_View callback.
385
386         * UIProcess/API/efl/EwkViewCallbacks.h:
387         (EvasObjectHolder):
388         (EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
389         (EwkViewCallbacks):
390
391 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
392
393         [EFL][WK2] Check errors in EwkView callbacks usage at compile time
394         https://bugs.webkit.org/show_bug.cgi?id=103177
395
396         Reviewed by Kenneth Rohde Christiansen.
397
398         Errors in EwkView callbacks usage are now checked at compile time.
399
400         * UIProcess/API/efl/EwkViewCallbacks.h:
401         (CallBack):
402         (EwkViewCallbacks::CallBack::CallBack):
403         (EwkViewCallbacks::CallBack::call):
404
405 2012-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
406
407         Unreviewed, rolling out r135575.
408         http://trac.webkit.org/changeset/135575
409         https://bugs.webkit.org/show_bug.cgi?id=103169
410
411         It made all tests assert (Requested by Ossy on #webkit).
412
413         * qt/MainQt.cpp:
414         (WebKit):
415         (main):
416
417 2012-11-23  Alexis Menard  <alexis@webkit.org>
418
419         [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
420         https://bugs.webkit.org/show_bug.cgi?id=102104
421
422         Reviewed by Julien Chaffraix.
423
424         Protect the new feature behind a feature flag.
425
426         * Configurations/FeatureDefines.xcconfig:
427
428 2012-11-23  Huang Dongsung  <luxtella@company100.net>
429
430         Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
431         https://bugs.webkit.org/show_bug.cgi?id=103097
432
433         Reviewed by Noam Rosenthal.
434
435         CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
436         not check its ancestor. This patch makes this method check its ancestor
437         to match its name.
438
439         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
440         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
441
442 2012-11-23  Huang Dongsung  <luxtella@company100.net>
443
444         Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
445         https://bugs.webkit.org/show_bug.cgi?id=103030
446
447         Reviewed by Noam Rosenthal.
448
449         LayerTreeRenderer::removeTile() must add a backing store into
450         m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
451
452         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
453         (WebKit::LayerTreeRenderer::removeTile):
454
455 2012-11-23  Huang Dongsung  <luxtella@company100.net>
456
457         [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
458         https://bugs.webkit.org/show_bug.cgi?id=103046
459
460         Reviewed by Noam Rosenthal.
461
462         This patch makes GraphicsLayerTextureMapper create its own backing
463         store. However, LayerTreeRenderer also creates its own backing store. So
464         when LayerTreeRenderer uses GraphicsLayerTextureMapper,
465         LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
466         backing store.
467
468         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
469         (WebKit::LayerTreeRenderer::createLayer):
470         (WebKit::LayerTreeRenderer::getBackingStore):
471
472 2012-11-23  Huang Dongsung  <luxtella@company100.net>
473
474         REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
475         https://bugs.webkit.org/show_bug.cgi?id=103077
476
477         Reviewed by Noam Rosenthal.
478
479         Currently, the painting thread uses purgeGLResources() and setActive().
480         QQuickWebPage::updatePaintNode() indirectly calls both methods after
481         locking the main thread.
482
483         This patch changes two points.
484         1. Remove ASSERT(isMainThread()) in methods that the painting thread can
485         call.
486         2. Make purgeGLResources() and setActive() call methods of
487         LayerTreeCoordinatorProxy via dispatchOnMainThread().
488
489         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
490         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
491         (WebKit::LayerTreeRenderer::renderNextFrame):
492         (WebKit::LayerTreeRenderer::purgeGLResources):
493         (WebKit):
494         (WebKit::LayerTreeRenderer::purgeBackingStores):
495         (WebKit::LayerTreeRenderer::setActive):
496         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
497         (LayerTreeRenderer):
498
499 2012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
500
501         [EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
502         https://bugs.webkit.org/show_bug.cgi?id=103133
503
504         Reviewed by Kenneth Rohde Christiansen.
505
506         If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
507         attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
508         and only fall back to ecore_evas_software_x11_window_get().
509
510         * UIProcess/API/efl/EwkViewImpl.cpp:
511         (EwkViewImpl::transformToScreen):
512
513 2012-11-23  Wojciech Bielawski  <w.bielawski@samsung.com>
514
515         [WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
516         https://bugs.webkit.org/show_bug.cgi?id=86881
517
518         Reviewed by Kenneth Rohde Christiansen.
519
520         InjectedBundle API extended to retrieve contextMenu entries names.
521         WebContextMenu exteded with function to retrieve menu items.
522         This API is required by layout tests.
523         Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
524         Behaviour of dependend methods is unchanged.
525
526         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
527         (WKBundlePageGetContextMenuEntriesNames):
528         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
529         * WebProcess/WebPage/WebContextMenu.cpp:
530         (WebKit::WebContextMenu::items):
531         (WebKit):
532         * WebProcess/WebPage/WebContextMenu.h:
533         (WebContextMenu):
534
535 2012-11-22  Pierre Rossi  <pierre.rossi@gmail.com>
536
537         [Qt] Avoid initializing PlatformStrategies twice.
538
539         Rubber-stamped by Simon Hausmann.
540
541         This fixes another regression introduced in r135515:
542         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
543         since it can be called from WebKit2 to initialize QStyle for testing.
544         This would then lead to things such as PlatformStrategies being
545         initialized twice.
546
547         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
548         (WebKit):
549         (main):
550
551 2012-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
552
553         [GTK] Use custom private macros to define GObjects
554         https://bugs.webkit.org/show_bug.cgi?id=99705
555
556         Reviewed by Martin Robinson.
557
558         Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
559         G_DEFINE_TYPE macros, to define GObject types. These macros also
560         define the init and finalize functions reducing the GObject
561         boilerplate and hiding the placement new syntax that causes some
562         confusion. The patch replaces the use of G_DEFINE_TYPE macros by
563         WEBKIT_DEFINE_TYPE ones and removes the init and finalize
564         implementations, moving custom code when needed to the private
565         struct constructor/destructor or constructed/dispose virtual
566         methods when appropriate.
567
568         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
569         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
570         (webkit_back_forward_list_item_class_init):
571         * UIProcess/API/gtk/WebKitContextMenu.cpp:
572         (webkitContextMenuDispose):
573         (webkit_context_menu_class_init):
574         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
575         (_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
576         (_WebKitContextMenuItemPrivate):
577         (webkit_context_menu_item_class_init):
578         * UIProcess/API/gtk/WebKitCookieManager.cpp:
579         (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
580         (_WebKitCookieManagerPrivate):
581         * UIProcess/API/gtk/WebKitDownload.cpp:
582         (webkit_download_class_init):
583         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
584         (webkit_favicon_database_class_init):
585         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
586         (webkitFileChooserRequestDispose):
587         (webkit_file_chooser_request_class_init):
588         * UIProcess/API/gtk/WebKitFindController.cpp:
589         (webkit_find_controller_class_init):
590         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
591         (webkitFormSubmissionRequestDispose):
592         (webkit_form_submission_request_class_init):
593         * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
594         (webkitGeolocationPermissionRequestDispose):
595         (webkit_geolocation_permission_request_class_init):
596         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
597         (webkit_hit_test_result_class_init):
598         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
599         (webkit_navigation_policy_decision_class_init):
600         * UIProcess/API/gtk/WebKitPlugin.cpp:
601         (_WebKitPluginPrivate::~_WebKitPluginPrivate):
602         (_WebKitPluginPrivate):
603         (webkit_plugin_class_init):
604         * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
605         (webkitPolicyDecisionDispose):
606         (webkit_policy_decision_class_init):
607         (webkit_policy_decision_use):
608         (webkit_policy_decision_ignore):
609         (webkit_policy_decision_download):
610         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
611         (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
612         (_WebKitPrintOperationPrivate):
613         (webkit_print_operation_class_init):
614         * UIProcess/API/gtk/WebKitPrivate.h:
615         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
616         (webkit_response_policy_decision_class_init):
617         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
618         (webkit_security_manager_class_init):
619         * UIProcess/API/gtk/WebKitSettings.cpp:
620         (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
621         (_WebKitSettingsPrivate):
622         (webkit_settings_class_init):
623         * UIProcess/API/gtk/WebKitURIRequest.cpp:
624         (webkit_uri_request_class_init):
625         * UIProcess/API/gtk/WebKitURIResponse.cpp:
626         (webkit_uri_response_class_init):
627         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
628         (webkit_uri_scheme_request_class_init):
629         * UIProcess/API/gtk/WebKitWebContext.cpp:
630         * UIProcess/API/gtk/WebKitWebInspector.cpp:
631         (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
632         (_WebKitWebInspectorPrivate):
633         (webkit_web_inspector_class_init):
634         * UIProcess/API/gtk/WebKitWebResource.cpp:
635         (webkit_web_resource_class_init):
636         * UIProcess/API/gtk/WebKitWebView.cpp:
637         (_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
638         (_WebKitWebViewPrivate):
639         (webkitWebViewConstructed):
640         (webkitWebViewDispose):
641         (webkit_web_view_class_init):
642         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
643         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
644         (_WebKitWebViewBasePrivate):
645         (_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
646         (webkitWebViewBaseDispose):
647         (webkitWebViewBaseConstructed):
648         (webkit_web_view_base_class_init):
649         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
650         (webkit_web_view_base_accessible_class_init):
651         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
652         (webkit_window_properties_class_init):
653
654 2012-11-22  KwangYong Choi  <ky0.choi@samsung.com>
655
656         [EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
657         https://bugs.webkit.org/show_bug.cgi?id=103044
658
659         Reviewed by Kentaro Hara.
660
661         enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
662         So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
663
664         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
665         (WebKit::ProcessLauncher::launchProcess):
666
667 2012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
668
669         [GTK] Split SVG from WebCore to work-around make limitation
670         https://bugs.webkit.org/show_bug.cgi?id=97735
671
672         Reviewed by Carlos Garcia Campos.
673
674         Add a new libtool convenience library, libWebCoreSVG.la, to work-around
675         make limitation when linking libWebCore.
676
677         * GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
678
679 2012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
680
681         [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
682         https://bugs.webkit.org/show_bug.cgi?id=102800
683
684         Reviewed by Tor Arne Vestbø.
685
686         This patch separates code that needs to use QWidget related APIs in
687         WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
688         example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
689         while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
690         static library. WebKit1 is compiled without QT += widgets and therefore
691         any widget related dependency has been moved "up" and out of WebKit1 into
692         the WebKitWidgets library.
693
694         Between the code in WebKit.a and WebKitWidgets.a new adapters and
695         interfaces have been introduced, such as QWebPageAdapter and
696         QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
697         call out into the API layer, implemented by QWebPage (QWebPagePrivate).
698         The other way around if QWebPage wants to access WebCore or
699         WebCoreSupport related functionality, it will go through
700         QWebPageAdapater (as base class). The separation in the direction up
701         into the API layer is complete with this patch, no code in WebKit1
702         depends on QtWidgets. The separation the other way around, code in the
703         API layer not using any WebCore types, is not complete yet.
704
705         Some classes such as QWebSettings, QWebElement or
706         DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
707         they do not depend on widget related Qt APIs and they make much more
708         use of WebCore internal APIs and therefore are easier to keep in
709         WebKit1.
710
711         In the future we plan to place a real shared library boundary between
712         WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
713         part of the QtWebKit shared library and by turning the WebKitWidgets
714         static library into a shared one.
715
716         * qt/MainQt.cpp:
717         (WebKit):
718         (main):
719
720 2012-11-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
721
722         [WK2][EFL] No need to remove surface before replacing
723         https://bugs.webkit.org/show_bug.cgi?id=103055
724
725         Rubberstamped by Simon Hausmann.
726
727         The surface is stored in a OwnPtr which automatically
728         frees the existing surface after replacing it with a new
729         one. For some reason, this also fixes resizing issues on
730         my Nvidia driver.
731
732         * UIProcess/API/efl/EwkViewImpl.cpp:
733         (EwkViewImpl::createGLSurface):
734         * UIProcess/API/efl/EwkViewImpl.h:
735         * UIProcess/API/efl/ewk_view.cpp:
736         (_ewk_view_smart_calculate):
737
738 2012-11-22  Christophe Dumez  <christophe.dumez@intel.com>
739
740         WebKitTestRunner needs layoutTestController.setCacheModel
741         https://bugs.webkit.org/show_bug.cgi?id=42684
742
743         Reviewed by Kenneth Rohde Christiansen.
744
745         Add Bundle C API for WebKitTestRunner to set the
746         cache model.
747
748         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
749         (WKBundleSetCacheModel):
750         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
751         * WebProcess/InjectedBundle/InjectedBundle.cpp:
752         (WebKit::InjectedBundle::setCacheModel):
753         (WebKit):
754         * WebProcess/InjectedBundle/InjectedBundle.h:
755         (InjectedBundle):
756         * WebProcess/WebProcess.h:
757         (WebProcess):
758
759 2012-11-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
760
761         REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
762         https://bugs.webkit.org/show_bug.cgi?id=102971
763
764         Reviewed by Kenneth Rohde Christiansen.
765
766         m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
767         it's value.
768
769         * UIProcess/PageViewportController.cpp:
770         (WebKit::PageViewportController::didChangeViewportAttributes):
771
772 2012-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
773
774         [EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
775         https://bugs.webkit.org/show_bug.cgi?id=102865
776
777         Reviewed by Kenneth Rohde Christiansen.
778
779         Set the screen position as a third parameter and contents position as
780         a fourth parameter of WebPlatformTouchPoint().
781
782         * Shared/efl/WebEventFactory.cpp:
783         (WebKit::WebEventFactory::createWebTouchEvent):
784
785 2012-11-22  Huang Dongsung  <luxtella@company100.net>
786
787         Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
788         https://bugs.webkit.org/show_bug.cgi?id=102894
789
790         Reviewed by Kenneth Rohde Christiansen.
791
792         CoordinatedGraphicsLayer does not need to have a backing store
793         if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
794
795         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
796         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
797
798 2012-11-22  Huang Dongsung  <luxtella@company100.net>
799
800         Coordinated Graphics: refactor LayerTreeRenderer.
801         https://bugs.webkit.org/show_bug.cgi?id=103004
802
803         Reviewed by Noam Rosenthal.
804
805         This patch changes two subjects.
806         1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
807         In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
808         function) instead of its own implementation.
809
810         2. Remove setAccelerationMode() because we don't use m_accelerationMode member
811         except for the setter.
812
813         * UIProcess/API/efl/EwkViewImpl.cpp:
814         (EwkViewImpl::createGLSurface):
815         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
816         (WebKit):
817         (WebKit::LayerTreeRenderer::dispatchOnMainThread):
818         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
819         (WebKit::LayerTreeRenderer::animationFrameReady):
820         (WebKit::LayerTreeRenderer::updateViewport):
821         (WebKit::LayerTreeRenderer::renderNextFrame):
822         (WebKit::LayerTreeRenderer::purgeGLResources):
823         (WebKit::LayerTreeRenderer::detach):
824         (WebKit::LayerTreeRenderer::setActive):
825         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
826         (LayerTreeRenderer):
827         * UIProcess/efl/PageClientBase.cpp:
828         (WebKit::PageClientBase::createDrawingAreaProxy):
829
830 2012-11-21  Jinwoo Song  <jinwoo7.song@samsung.com>
831
832         [EFL][WK2] Use consistent class names in the clients
833         https://bugs.webkit.org/show_bug.cgi?id=102684
834
835         Reviewed by Gyuyoung Kim.
836
837         WebKit EFL classes do not use '_' since r135117 but '_' is still remained
838         in some clients classes. This patch removed the '_' to make class names
839         to be consistent.
840
841         * UIProcess/efl/ContextHistoryClientEfl.cpp:
842         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
843         * UIProcess/efl/DownloadManagerEfl.cpp:
844         (WebKit::DownloadManagerEfl::didFail):
845         * UIProcess/efl/FormClientEfl.cpp:
846         (WebKit::FormClientEfl::willSubmitForm):
847         * UIProcess/efl/PageLoadClientEfl.cpp:
848         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
849         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
850         (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
851         (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
852         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
853         * UIProcess/efl/PagePolicyClientEfl.cpp:
854         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
855         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
856         * UIProcess/efl/PageUIClientEfl.cpp:
857         (WebKit::PageUIClientEfl::runOpenPanel):
858         * UIProcess/efl/RequestManagerClientEfl.cpp:
859         (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
860         (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
861         (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
862         * UIProcess/efl/RequestManagerClientEfl.h:
863         (RequestManagerClientEfl):
864         * UIProcess/efl/ResourceLoadClientEfl.cpp:
865         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
866         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
867         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
868         (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
869         (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
870         * UIProcess/efl/ResourceLoadClientEfl.h:
871         (ResourceLoadClientEfl):
872
873 2012-11-21  Jaehun Lim  <ljaehun.lim@samsung.com>
874
875         [EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
876         https://bugs.webkit.org/show_bug.cgi?id=102773
877
878         Reviewed by Gyuyoung Kim.
879
880         PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
881
882         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
883
884 2012-11-21  Huang Dongsung  <luxtella@company100.net>
885
886         Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
887         https://bugs.webkit.org/show_bug.cgi?id=102896
888
889         Reviewed by Noam Rosenthal.
890
891         When changing children, we don't need to sync a layer state because
892         there is no more need to send the parent ID every time the layer tree
893         hierarchy changes. So this patch removes didChangeLayerState() in
894         methods which change children.
895
896         In addition, purgeBackingStores() does not need to call didChangeChildren()
897         because purgeBackingStores() does not change children.
898
899         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
900         (WebCore::CoordinatedGraphicsLayer::setChildren):
901         (WebCore::CoordinatedGraphicsLayer::addChild):
902         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
903         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
904         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
905         (WebCore::CoordinatedGraphicsLayer::replaceChild):
906         (WebCore::CoordinatedGraphicsLayer::removeFromParent):
907         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
908
909 2012-11-21  Huang Dongsung  <luxtella@company100.net>
910
911         REGRESSION(r135212): Fix crash due to an infinite rect.
912         https://bugs.webkit.org/show_bug.cgi?id=102891
913
914         Reviewed by Noam Rosenthal.
915
916         When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
917         can calculate an infinite rect. However, TiledBackingStore cannot handle the
918         infinite rect. This patch clamps the infinite rect to avoid crash in
919         TiledBackingStore.
920
921         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
922         (WebCore::clampToContentsRectIfRectIsInfinite):
923         (WebCore):
924         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
925
926 2012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
927
928         Disambiguate innerNodeFramePoint and mainFramePoint
929         https://bugs.webkit.org/show_bug.cgi?id=98139
930
931         Reviewed by Julien Chaffraix.
932
933         Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
934
935         * WebProcess/WebPage/WebContextMenu.cpp:
936         (WebKit::WebContextMenu::show):
937         * WebProcess/WebPage/mac/WebPageMac.mm:
938         (WebKit::WebPage::characterIndexForPoint):
939
940 2012-11-21  Simon Hausmann  <simon.hausmann@digia.com>
941
942         Unreviewed Qt/Windows build fix.
943         https://bugs.webkit.org/show_bug.cgi?id=102787
944
945         Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
946         defines a member function called "interface". Since windows headers also define a pre-processor
947         macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
948         which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
949         the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
950         and just slows down the build, this patch removes it.
951
952         * UIProcess/API/qt/qwebkittest_p.h:
953
954 2012-11-21  Huang Dongsung  <luxtella@company100.net>
955
956         Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
957         https://bugs.webkit.org/show_bug.cgi?id=102900
958
959         Reviewed by Noam Rosenthal.
960
961         Currently, QQuickWebPage::updatePaintNode() calls
962         LayerTreeRenderer::syncRemoteContent() with locking the main thread.
963         syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
964         updatePaintNode(). Calling syncRemoteContent() in the painting thread is
965         thread-safe because syncRemoteContent() does not access any data
966         structures, which the main thread use.
967
968         After this patch, syncRemoteContent() is used only internally, so
969         syncRemoteContent() becomes private.
970
971         * UIProcess/API/efl/EwkViewImpl.cpp:
972         (EwkViewImpl::displayTimerFired):
973         * UIProcess/API/qt/qquickwebpage.cpp:
974         (QQuickWebPage::updatePaintNode):
975         * UIProcess/API/qt/raw/qrawwebview.cpp:
976         (QRawWebView::paint):
977         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
978         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
979         (WebKit::LayerTreeRenderer::ensureRootLayer):
980         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
981         (LayerTreeRenderer):
982
983 2012-11-21  Andras Becsi  <andras.becsi@digia.com>
984
985         [WK2] Viewport meta tag broken after r134801
986         https://bugs.webkit.org/show_bug.cgi?id=102801
987
988         Reviewed by Kenneth Rohde Christiansen.
989
990         If the initial-scale attribute is not explicitly specified it is left -1 by the
991         viewport meta algorithm and if the content is not scalable the min and max scales
992         are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
993         in negative scales on the UI side.
994         Make sure that the minimum scale to fit the viewport is calculated before restricting
995         the scales and use this scale as the initial scale if no explicit initial scale was set.
996
997         * UIProcess/PageViewportController.cpp:
998         (WebKit::PageViewportController::PageViewportController):
999         (WebKit::PageViewportController::pageTransitionViewportReady):
1000         (WebKit::PageViewportController::didChangeViewportAttributes):
1001         (WebKit::PageViewportController::updateMinimumScaleToFit):
1002
1003 2012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1004
1005         [EFL][WK2] Support Context Menu
1006         https://bugs.webkit.org/show_bug.cgi?id=96200
1007
1008         Reviewed by Laszlo Gombos.
1009
1010         This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
1011         Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
1012         For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
1013
1014         In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
1015
1016         * PlatformEfl.cmake:
1017         * UIProcess/API/efl/EWebKit2.h:
1018         * UIProcess/API/efl/EwkViewImpl.cpp:
1019         (EwkViewImpl::EwkViewImpl):
1020         (EwkViewImpl::showContextMenu):
1021         (EwkViewImpl::hideContextMenu):
1022         * UIProcess/API/efl/EwkViewImpl.h:
1023         (WebKit):
1024         (EwkViewImpl):
1025         * UIProcess/API/efl/ewk_context_menu.cpp: Added.
1026         (EwkContextMenu::EwkContextMenu):
1027         (EwkContextMenu::~EwkContextMenu):
1028         (EwkContextMenu::hide):
1029         (Ewk_Context_Menu::appendItem):
1030         (Ewk_Context_Menu::removeItem):
1031         (EwkContextMenu::contextMenuItemSelected):
1032         (ewk_context_menu_new):
1033         (ewk_context_menu_new_with_items):
1034         (ewk_context_menu_item_append):
1035         (ewk_context_menu_item_remove):
1036         (ewk_context_menu_hide):
1037         (ewk_context_menu_items_get):
1038         (ewk_context_menu_item_select):
1039         * UIProcess/API/efl/ewk_context_menu.h: Added.
1040         * UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
1041         (EwkContextMenuItem::EwkContextMenuItem):
1042         (ewk_context_menu_item_new):
1043         (ewk_context_menu_item_new_with_submenu):
1044         (ewk_context_menu_item_type_get):
1045         (ewk_context_menu_item_type_set):
1046         (ewk_context_menu_item_action_get):
1047         (ewk_context_menu_item_action_set):
1048         (ewk_context_menu_item_title_get):
1049         (ewk_context_menu_item_title_set):
1050         (ewk_context_menu_item_checked_get):
1051         (ewk_context_menu_item_checked_set):
1052         (ewk_context_menu_item_enabled_get):
1053         (ewk_context_menu_item_enabled_set):
1054         * UIProcess/API/efl/ewk_context_menu_item.h: Added.
1055         * UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
1056         (EwkContextMenuItem):
1057         (EwkContextMenuItem::create):
1058         (EwkContextMenuItem::action):
1059         (EwkContextMenuItem::setAction):
1060         (EwkContextMenuItem::title):
1061         (EwkContextMenuItem::setTitle):
1062         (EwkContextMenuItem::type):
1063         (EwkContextMenuItem::setType):
1064         (EwkContextMenuItem::checked):
1065         (EwkContextMenuItem::setChecked):
1066         (EwkContextMenuItem::enabled):
1067         (EwkContextMenuItem::setEnabled):
1068         * UIProcess/API/efl/ewk_context_menu_private.h: Added.
1069         (WebKit):
1070         (EwkContextMenu):
1071         (EwkContextMenu::create):
1072         (EwkContextMenu::items):
1073         * UIProcess/API/efl/ewk_defines.h: Added.
1074         * UIProcess/API/efl/ewk_view.h:
1075         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
1076         (checkBasicContextMenuItem):
1077         (showContextMenu):
1078         (TEST_F):
1079         * UIProcess/efl/ContextMenuClientEfl.cpp: Added.
1080         (toContextClientEfl):
1081         (ContextMenuClientEfl::ContextMenuClientEfl):
1082         (ContextMenuClientEfl::getContextMenuFromProposedMenu):
1083         * UIProcess/efl/ContextMenuClientEfl.h: Added.
1084         (WebKit):
1085         (ContextMenuClientEfl):
1086         (WebKit::ContextMenuClientEfl::create):
1087         * UIProcess/efl/PageClientBase.cpp:
1088         (WebKit::PageClientBase::createContextMenuProxy):
1089         * UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
1090         (WebKit):
1091         (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
1092         (WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
1093         (WebKit::WebContextMenuProxyEfl::showContextMenu):
1094         (WebKit::WebContextMenuProxyEfl::hideContextMenu):
1095         (WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
1096         * UIProcess/efl/WebContextMenuProxyEfl.h: Added.
1097         (WebKit):
1098         (WebContextMenuProxyEfl):
1099         (WebKit::WebContextMenuProxyEfl::create):
1100
1101 2012-11-21  Jongseok Yang  <js45.yang@samsung.com>
1102
1103         [EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
1104         https://bugs.webkit.org/show_bug.cgi?id=102867
1105
1106         Reviewed by Gyuyoung Kim.
1107
1108         Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
1109
1110         ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
1111         because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
1112         And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
1113
1114         * UIProcess/API/efl/ewk_view.cpp:
1115         (ewk_view_encoding_custom_get):
1116         (ewk_view_encoding_custom_set):
1117         * UIProcess/API/efl/ewk_view.h:
1118         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1119         (TEST_F):
1120
1121 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1122
1123         [EFL][WK2] Remove unnecessary #include in API test
1124         https://bugs.webkit.org/show_bug.cgi?id=102674
1125
1126         Reviewed by Laszlo Gombos.
1127
1128         Removed duplicated header files from the API test cases.
1129         Now, EWK2UnitTestBase.h includes the basic header files, 
1130         so test cases may only include this one and add the addtional
1131         header files if necessary.
1132
1133         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1134         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
1135         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
1136         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
1137         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1138         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1139         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1140         * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
1141         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1142         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
1143         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
1144         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
1145         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
1146         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1147         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
1148         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
1149         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
1150         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
1151         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1152         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
1153         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1154         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1155
1156 2012-11-19  Sam Weinig  <sam@webkit.org>
1157
1158         Simplify WebConnection by removing its underlying CoreIPC::Connection
1159         https://bugs.webkit.org/show_bug.cgi?id=102771
1160
1161         Reviewed by Anders Carlsson.
1162
1163         Instead of having WebConnection subclasses own the CoreIPC::Connection,
1164         move back to having the WebProcess and WebProcessProxy own it (and be
1165         its Connection::Client) and use the new MessageReceiver class to vend
1166         messages to the WebConnection.
1167
1168         * Shared/WebConnection.cpp:
1169         (WebKit::WebConnection::WebConnection):
1170         (WebKit::WebConnection::postMessage):
1171         (WebKit::WebConnection::didClose):
1172         (WebKit::WebConnection::didReceiveMessage):
1173         * Shared/WebConnection.h:
1174         Make WebConnection both a MessageReceiver and MessageSender
1175         and add virtual functions for derived classes to fill in.
1176
1177         * UIProcess/WebConnectionToWebProcess.cpp:
1178         (WebKit::WebConnectionToWebProcess::create):
1179         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
1180         (WebKit::WebConnectionToWebProcess::invalidate):
1181         (WebKit::WebConnectionToWebProcess::decodeMessageBody):
1182         (WebKit::WebConnectionToWebProcess::connection):
1183         (WebKit::WebConnectionToWebProcess::destinationID):
1184         (WebKit::WebConnectionToWebProcess::hasValidConnection):
1185         * UIProcess/WebConnectionToWebProcess.h:
1186         * UIProcess/WebProcessProxy.cpp:
1187         (WebKit::WebProcessProxy::~WebProcessProxy):
1188         (WebKit::WebProcessProxy::fromConnection):
1189         (WebKit::WebProcessProxy::disconnect):
1190         (WebKit::WebProcessProxy::addMessageReceiver):
1191         (WebKit::WebProcessProxy::didClose):
1192         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
1193         (WebKit::WebProcessProxy::didFinishLaunching):
1194         * UIProcess/WebProcessProxy.h:
1195         (WebKit::WebProcessProxy::connection):
1196         (WebProcessProxy):
1197         (WebKit::WebProcessProxy::webConnection):
1198         * WebProcess/WebConnectionToUIProcess.cpp:
1199         (WebKit::WebConnectionToUIProcess::create):
1200         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
1201         (WebKit):
1202         (WebKit::WebConnectionToUIProcess::invalidate):
1203         (WebKit::WebConnectionToUIProcess::connection):
1204         (WebKit::WebConnectionToUIProcess::destinationID):
1205         (WebKit::WebConnectionToUIProcess::hasValidConnection):
1206         * WebProcess/WebConnectionToUIProcess.h:
1207         (WebConnectionToUIProcess):
1208         * WebProcess/WebProcess.cpp:
1209         (WebKit::WebProcess::initialize):
1210         (WebKit::WebProcess::terminate):
1211         * WebProcess/WebProcess.h:
1212         (WebKit::WebProcess::connection):
1213         (WebKit::WebProcess::webConnectionToUIProcess):
1214         Move the CoreIPC::Connection back to the processes.
1215
1216 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1217
1218         [EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
1219         https://bugs.webkit.org/show_bug.cgi?id=99114
1220
1221         Reviewed by Gyuyoung Kim.
1222
1223         Added Ewk_Window_Features API so that we can create new windows
1224         with various window features such as location, size, toolbar, menubar,
1225         statusbar, locationbar, scrollbar, resizable, and fullscreen.
1226
1227         UI client callbacks related to window features also implemented
1228         so that it is possible to retrieve the window object property values.
1229
1230         * PlatformEfl.cmake:
1231         * UIProcess/API/efl/EWebKit2.h:
1232         * UIProcess/API/efl/EwkViewCallbacks.h:
1233         (EwkViewCallbacks):
1234         * UIProcess/API/efl/EwkViewImpl.cpp:
1235         (EwkViewImpl::windowFeatures):
1236         (EwkViewImpl::createNewPage):
1237         (EwkViewImpl::closePage):
1238         * UIProcess/API/efl/EwkViewImpl.h:
1239         (EwkViewImpl):
1240         * UIProcess/API/efl/ewk_view.h:
1241         * UIProcess/efl/PageUIClientEfl.cpp:
1242         (WebKit::PageUIClientEfl::createNewPage):
1243         (WebKit::PageUIClientEfl::toolbarsAreVisible):
1244         (WebKit):
1245         (WebKit::PageUIClientEfl::setToolbarsAreVisible):
1246         (WebKit::PageUIClientEfl::menuBarIsVisible):
1247         (WebKit::PageUIClientEfl::setMenuBarIsVisible):
1248         (WebKit::PageUIClientEfl::statusBarIsVisible):
1249         (WebKit::PageUIClientEfl::setStatusBarIsVisible):
1250         (WebKit::PageUIClientEfl::isResizable):
1251         (WebKit::PageUIClientEfl::setIsResizable):
1252         (WebKit::PageUIClientEfl::PageUIClientEfl):
1253         * UIProcess/efl/PageUIClientEfl.h:
1254         (PageUIClientEfl):
1255
1256 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1257
1258         Unreviewed, rolling out r135295.
1259         http://trac.webkit.org/changeset/135295
1260         https://bugs.webkit.org/show_bug.cgi?id=102834
1261
1262         This patch causes assertion to some layout tests on chromium
1263         (Requested by jianli on #webkit).
1264
1265         * WebProcess/Plugins/PluginView.cpp:
1266         (WebKit::PluginView::performFrameLoadURLRequest):
1267         * WebProcess/WebPage/WebPage.cpp:
1268         (WebKit::WebPage::loadURLRequest):
1269         (WebKit::WebPage::loadData):
1270         (WebKit::WebPage::linkClicked):
1271
1272 2012-11-20  James Simonsen  <simonjam@chromium.org>
1273
1274         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
1275         https://bugs.webkit.org/show_bug.cgi?id=102151
1276
1277         Reviewed by Adam Barth.
1278
1279         * WebProcess/Plugins/PluginView.cpp:
1280         (WebKit::PluginView::performFrameLoadURLRequest):
1281         * WebProcess/WebPage/WebPage.cpp:
1282         (WebKit::WebPage::loadURLRequest):
1283         (WebKit::WebPage::loadData):
1284
1285 2012-11-20  peavo@outlook.com  <peavo@outlook.com>
1286
1287         WinCairo build fails to link.
1288         https://bugs.webkit.org/show_bug.cgi?id=102804
1289
1290         Reviewed by Alexey Proskuryakov.
1291
1292         * win/WebKit2CFLite.def:
1293
1294 2012-11-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1295
1296         [WTR] WebKitTestRunner should be able to run tests using fixed layout
1297         https://bugs.webkit.org/show_bug.cgi?id=102517
1298
1299         Reviewed by Kenneth Rohde Christiansen.
1300
1301         Update EFL private API so we can create a view with fixed layout. We
1302         can keep this as private as I don't see a real life use case for it
1303         outside WTR and the WebInspector.
1304
1305         * UIProcess/API/C/efl/WKView.cpp:
1306         (WKViewCreate):
1307         (WKViewCreateWithFixedLayout):
1308         * UIProcess/API/C/efl/WKView.h:
1309         * UIProcess/API/efl/ewk_view.cpp:
1310         (ewk_view_base_add):
1311         * UIProcess/API/efl/ewk_view_private.h:
1312         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1313         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1314
1315 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1316
1317         [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
1318         https://bugs.webkit.org/show_bug.cgi?id=102790
1319
1320         Reviewed by Kenneth Rohde Christiansen.
1321
1322         Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
1323         but instead return whether it has changed the minimumScaleToFit.
1324
1325         * UIProcess/PageViewportController.cpp:
1326         (WebKit::PageViewportController::didChangeContentsSize):
1327         (WebKit::PageViewportController::updateMinimumScaleToFit):
1328         * UIProcess/PageViewportController.h:
1329         (PageViewportController):
1330
1331 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1332
1333         [Qt] No test of double-click to zoom out
1334         https://bugs.webkit.org/show_bug.cgi?id=102810
1335
1336         Reviewed by Kenneth Rohde Christiansen.
1337
1338         Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
1339         that zoom out always goes to lower zoom levels.
1340
1341         * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
1342
1343 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1344
1345         [Qt] Large areas highlighted on touch
1346         https://bugs.webkit.org/show_bug.cgi?id=97216
1347
1348         Reviewed by Simon Hausmann.
1349
1350         Restrict highlighting of scripted event-handlers to inline elements only.
1351
1352         * WebProcess/WebPage/WebPage.cpp:
1353         (WebKit::WebPage::highlightPotentialActivation):
1354
1355 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1356
1357         [Qt] Zoom logic confused by page and pinch resize
1358         https://bugs.webkit.org/show_bug.cgi?id=102803
1359
1360         Reviewed by Kenneth Rohde Christiansen.
1361
1362         Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
1363         zoom-out and zoom-back when the zoom-out stack is empty.
1364
1365         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1366         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1367         (WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
1368         (WebKit::PageViewportControllerClientQt::setContentsScale):
1369         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
1370         (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
1371         * UIProcess/qt/PageViewportControllerClientQt.h:
1372         (PageViewportControllerClientQt):
1373
1374 2012-11-19  KyungTae Kim  <ktf.kim@samsung.com>
1375
1376         [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
1377         https://bugs.webkit.org/show_bug.cgi?id=102760
1378
1379         Reviewed by Laszlo Gombos.
1380
1381         Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
1382         use UNUSED_PARAM macro to fix build warning -Wunused-parameter
1383
1384         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1385         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
1386
1387 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1388
1389         Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
1390         https://bugs.webkit.org/show_bug.cgi?id=102313
1391
1392         Reviewed by Noam Rosenthal.
1393
1394         Currently, we don't remove tiles of the layer with the special properties: a
1395         transform animation and non affine transform. If a page has a lot of layers with
1396         a transform animation, we will encounter OOM. So this patch removes the
1397         privilege of the layer.
1398
1399         There are two changes.
1400         1. computeTransformedVisibleRect() calculates a layer transform using the
1401         current local transform which a transform animation applied.
1402         2. tiledBackingStoreVisibleRect() calculates a visible
1403         rect of all layers, even if the layer includes the property: a transform
1404         animation or non affine transform.
1405
1406         Test: animations/animation-offscreen-to-onscreen.html
1407
1408         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1409         (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
1410         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
1411         (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
1412         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1413         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
1414         (WebCore):
1415         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1416         (CoordinatedGraphicsLayer):
1417
1418 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1419
1420         Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
1421         https://bugs.webkit.org/show_bug.cgi?id=102449
1422
1423         Reviewed by Noam Rosenthal.
1424
1425         Currently, once uploading textures for composited images, Coordinated Graphics
1426         does not release the textures until all layers using images are destroyed.
1427
1428         This patch removes a texture if we don't need to render an image. This mechanism
1429         is similar how TiledBackingStore removes invisible tiles.
1430
1431         When all layers are invisible, we wait 3 seconds to remove the content
1432         of the image, because we want to prevent a transform animation from
1433         creating and destroying a texture over and over again.
1434
1435         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1436         (WebKit::CoordinatedBackingStore::removeAllTiles):
1437         (WebKit):
1438         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
1439         (CoordinatedBackingStore):
1440         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1441         (WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
1442         (WebKit):
1443         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1444         (LayerTreeCoordinatorProxy):
1445         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1446         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1447         (WebKit::LayerTreeRenderer::clearImageBackingContents):
1448         (WebKit):
1449         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1450         (LayerTreeRenderer):
1451         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1452         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
1453         (WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
1454         (WebCore):
1455         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
1456         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1457         (CoordinatedGraphicsLayer):
1458         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
1459         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
1460         (WebKit::CoordinatedImageBacking::addHost):
1461         (WebKit::CoordinatedImageBacking::removeHost):
1462         (WebKit::CoordinatedImageBacking::update):
1463         (WebKit):
1464         (WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
1465         (WebKit::CoordinatedImageBacking::clearContentsTimerFired):
1466         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
1467         (Coordinator):
1468         (Host):
1469         (CoordinatedImageBacking):
1470         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1471         (WebKit::LayerTreeCoordinator::clearImageBackingContents):
1472         (WebKit):
1473         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1474         (LayerTreeCoordinator):
1475
1476 2012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1477
1478         Unreviewed, rolling out r135201.
1479         http://trac.webkit.org/changeset/135201
1480         https://bugs.webkit.org/show_bug.cgi?id=102725
1481
1482         Broke all non-Mac WK2 builds. (Requested by rakuco on
1483         #webkit).
1484
1485         * Shared/mac/PlatformCertificateInfo.h:
1486         * Shared/mac/PlatformCertificateInfo.mm:
1487         (WebKit):
1488         * WebKit2.xcodeproj/project.pbxproj:
1489         * WebProcess/Authentication/AuthenticationManager.cpp:
1490         * WebProcess/Authentication/AuthenticationManager.h:
1491         (AuthenticationManager):
1492         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
1493         (WebKit):
1494         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
1495
1496 2012-11-19  Brady Eidson  <beidson@apple.com>
1497
1498         Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
1499         https://bugs.webkit.org/show_bug.cgi?id=102718
1500
1501         Reviewed by Sam Weinig.
1502
1503         Add the shared PlatformCertificateInfo version of the method:
1504         * Shared/mac/PlatformCertificateInfo.h:
1505         * Shared/mac/PlatformCertificateInfo.mm:
1506         (WebKit::tryUsePlatformCertificateInfoForChallenge):
1507
1508         Use the new shared version:
1509         * WebProcess/Authentication/AuthenticationManager.cpp:
1510
1511         Remove the old member version:
1512         * WebProcess/Authentication/AuthenticationManager.h:
1513         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
1514         * WebKit2.xcodeproj/project.pbxproj:
1515
1516 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1517
1518         Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
1519         https://bugs.webkit.org/show_bug.cgi?id=102664
1520
1521         Reviewed by Noam Rosenthal.
1522
1523         This patch makes sync canvas code handle the lifecycle of the canvas
1524         GraphicsSurface in the similar style to a directly image compositing and
1525         an update atlas code. This patch moves the canvas lifecycle handling
1526         code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
1527         CoordinatedGraphicsLayer knows best when to create and remove the canvas
1528         GraphicsSurface.
1529
1530         After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
1531         as the canvas platform layer is unset in Web Process.
1532
1533         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1534         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
1535         (WebKit):
1536         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1537         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
1538         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1539         (LayerTreeCoordinatorProxy):
1540         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1541         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1542         (WebKit::LayerTreeRenderer::createCanvas):
1543         (WebKit):
1544         (WebKit::LayerTreeRenderer::syncCanvas):
1545         (WebKit::LayerTreeRenderer::destroyCanvas):
1546         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1547         (LayerTreeRenderer):
1548         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1549         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1550         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
1551         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
1552         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
1553         (WebCore):
1554         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
1555         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
1556         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1557         (CoordinatedGraphicsLayerClient):
1558         (CoordinatedGraphicsLayer):
1559         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1560         (WebKit::LayerTreeCoordinator::createCanvas):
1561         (WebKit):
1562         (WebKit::LayerTreeCoordinator::syncCanvas):
1563         (WebKit::LayerTreeCoordinator::destroyCanvas):
1564         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1565         (LayerTreeCoordinator):
1566
1567 2012-11-19  Brady Eidson  <beidson@apple.com>
1568
1569         Replace an unneeded #include with a forward declaration after r135179.
1570
1571         Reviewed by nobody, but suggested by Alexey Proskuryakov.
1572
1573         * WebProcess/Network/WebResourceLoader.h:
1574
1575 2012-11-19  Martin Robinson  <mrobinson@igalia.com>
1576
1577         [GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
1578         https://bugs.webkit.org/show_bug.cgi?id=102613
1579
1580         Unreviewed build fix.
1581
1582         * GNUmakefile.am: Fix the build after one of my previous patches introduced
1583         a link dependency on libsecret.
1584
1585 2012-11-19  Yael Aharon  <yael.aharon@intel.com>
1586
1587         [EFL][WK2] Web Inspector crashes if evas_gl is not available
1588         https://bugs.webkit.org/show_bug.cgi?id=102531
1589
1590         Reviewed by Kenneth Rohde Christiansen.
1591
1592         Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
1593
1594         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1595         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1596
1597 2012-11-19  Brady Eidson  <beidson@apple.com>
1598
1599         Remove the source files for NetworkRequest from the repository.
1600         They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
1601
1602         Unreviewed.
1603
1604         * NetworkProcess/NetworkRequest.cpp: Removed.
1605         * NetworkProcess/NetworkRequest.h: Removed.
1606
1607 2012-11-19  Brady Eidson  <beidson@apple.com>
1608
1609         Add 64-bit specializations for atomicIncrement and atomicDecrement
1610         https://bugs.webkit.org/show_bug.cgi?id=102702
1611
1612         Reviewed by Eric Carlson.
1613
1614         Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
1615
1616         * NetworkProcess/NetworkResourceLoader.cpp:
1617         (WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
1618         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
1619
1620         * WebProcess/mac/KeychainItemShimMethods.mm:
1621         (WebKit::generateSecKeychainItemRequestID): Ditto.
1622
1623         * WebProcess/mac/SecItemShimMethods.mm:
1624         (WebKit::generateSecItemRequestID): Ditto.
1625
1626 2012-11-19  Brady Eidson  <beidson@apple.com>
1627
1628         NetworkProcess Authentication.
1629         https://bugs.webkit.org/show_bug.cgi?id=102592
1630
1631         Reviewed by Alexey Proskuryakov.
1632
1633         This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
1634         related events to the WebProcess and relying on existing client APIs to answer them.
1635
1636         Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
1637         Also implement messaging back from the WebProcess to response to those auth challenges:
1638         * NetworkProcess/NetworkResourceLoader.cpp:
1639         (WebKit::willSendRequestResponseMap):
1640         (WebKit::NetworkResourceLoader::willSendRequest):
1641         (WebKit::NetworkResourceLoader::willSendRequestHandled):
1642         (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
1643         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
1644         (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
1645         (WebKit::NetworkResourceLoader::receivedCancellation):
1646         (WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
1647         (WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
1648         (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
1649         (WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
1650         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
1651         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
1652         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
1653         * NetworkProcess/NetworkResourceLoader.h:
1654         * NetworkProcess/NetworkResourceLoader.messages.in:
1655
1656         Implement messaging to response to auth challenges from the NetworkProcess, and implement
1657         AuthenticationClient to response to auth responses from WebProcess clients:
1658         * WebProcess/Network/WebResourceLoader.cpp:
1659         (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
1660         (WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
1661         (WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
1662         (WebKit::WebResourceLoader::receivedCredential):
1663         (WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
1664         (WebKit::WebResourceLoader::receivedCancellation):
1665         * WebProcess/Network/WebResourceLoader.h:
1666         (WebKit::WebResourceLoader::refAuthenticationClient):
1667         (WebKit::WebResourceLoader::derefAuthenticationClient):
1668         * WebProcess/Network/WebResourceLoader.messages.in:
1669
1670         Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
1671         * Shared/BlockingResponseMap.h:
1672         (BlockingBoolResponseMap::waitForResponse):
1673         (BlockingBoolResponseMap::didReceiveResponse):
1674
1675         Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
1676         already has the answer when the question is asked:
1677         * Shared/Network/NetworkResourceLoadParameters.cpp:
1678         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
1679         (WebKit::NetworkResourceLoadParameters::encode):
1680         (WebKit::NetworkResourceLoadParameters::decode):
1681         * Shared/Network/NetworkResourceLoadParameters.h:
1682         (WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
1683
1684         Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
1685         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1686         (WebKit::WebResourceLoadScheduler::scheduleLoad):
1687
1688         Add a FIXME for client certs:
1689         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
1690         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
1691
1692         Add a FIXME for downloads:
1693         * WebProcess/Downloads/mac/DownloadMac.mm:
1694
1695         Remove unused messaging related methods:
1696         * WebProcess/Network/NetworkProcessConnection.cpp:
1697         * WebProcess/Network/NetworkProcessConnection.h:
1698
1699 2012-11-19  Kihong Kwon  <kihong.kwon@samsung.com>
1700
1701         Add PROXIMITY_EVENTS feature
1702         https://bugs.webkit.org/show_bug.cgi?id=102658
1703
1704         Reviewed by Kentaro Hara.
1705
1706         Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
1707
1708         * Configurations/FeatureDefines.xcconfig:
1709
1710 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1711
1712         [EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
1713         https://bugs.webkit.org/show_bug.cgi?id=102682
1714
1715         Reviewed by Kenneth Rohde Christiansen.
1716
1717         Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
1718         in displayTimerFired() to avoid crashing if those have already
1719         been destroyed by the time to timer is fired.
1720
1721         * UIProcess/API/efl/EwkViewImpl.cpp:
1722         (EwkViewImpl::layerTreeRenderer):
1723         (EwkViewImpl::displayTimerFired):
1724         (EwkViewImpl::createGLSurface):
1725         (EwkViewImpl::enterAcceleratedCompositingMode):
1726         * UIProcess/API/efl/EwkViewImpl.h:
1727         (WebKit):
1728         (EwkViewImpl):
1729
1730 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1731
1732         [WK2][WTR] Memory leak in TestController::initialize()
1733         https://bugs.webkit.org/show_bug.cgi?id=102616
1734
1735         Reviewed by Kenneth Rohde Christiansen.
1736
1737         Export a few additional WTF symbols for windows port.
1738
1739         * win/WebKit2.def:
1740
1741 2012-11-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1742
1743         [GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
1744         https://bugs.webkit.org/show_bug.cgi?id=102668
1745
1746         Reviewed by Philippe Normand.
1747
1748         Check only that window properties match when creating a new window
1749         if the expected window properties has been set. Also remove a
1750         FIXME and actually check that x and y are equal to the expected
1751         one, now that the issue is fixed.
1752
1753         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1754
1755 2012-11-19  Balazs Kelemen  <kbalazs@webkit.org>
1756
1757         Unreviewed buildfix.
1758
1759         Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
1760
1761         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
1762         (WebCustomFilterProgramProxy): This is a polymorphic derived class
1763         so the destructor should be virtual.
1764
1765 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1766
1767         [CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
1768         https://bugs.webkit.org/show_bug.cgi?id=102652
1769
1770         Reviewed by Kenneth Rohde Christiansen.
1771
1772         Handle null return of nativeImageForCurrentFrame similarly to Chromium
1773         port in r130610. This can happen if there is an error early in the
1774         decoding of an image.
1775
1776         Test: Already covered by compositing/images/truncated-direct-png-image.html
1777
1778         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1779         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
1780
1781 2012-11-18  Jaehun Lim  <ljaehun.lim@samsung.com>
1782
1783         [EFL][WK2] Remove underscore characters in Ewk class names.
1784         https://bugs.webkit.org/show_bug.cgi?id=102641
1785
1786         Reviewed by Gyuyoung Kim.
1787
1788         WebKit EFL doesn't use '_' in C++ class names.
1789
1790         * UIProcess/API/efl/EwkViewCallbacks.h:
1791         * UIProcess/API/efl/EwkViewImpl.h:
1792         (EwkViewImpl::settings):
1793         (EwkViewImpl::backForwardList):
1794         (EwkViewImpl):
1795         * UIProcess/API/efl/ewk_auth_request.h:
1796         * UIProcess/API/efl/ewk_auth_request_private.h:
1797         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1798         (EwkBackForwardList::EwkBackForwardList):
1799         (EwkBackForwardList::nextItem):
1800         (EwkBackForwardList::previousItem):
1801         (EwkBackForwardList::currentItem):
1802         (EwkBackForwardList::itemAt):
1803         (EwkBackForwardList::size):
1804         (EwkBackForwardList::backList):
1805         (EwkBackForwardList::forwardList):
1806         (EwkBackForwardList::getFromCacheOrCreate):
1807         (EwkBackForwardList::createEinaList):
1808         (EwkBackForwardList::update):
1809         * UIProcess/API/efl/ewk_back_forward_list.h:
1810         * UIProcess/API/efl/ewk_back_forward_list_item.h:
1811         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
1812         * UIProcess/API/efl/ewk_back_forward_list_private.h:
1813         (EwkBackForwardList::create):
1814         (EwkBackForwardList):
1815         * UIProcess/API/efl/ewk_color_picker.cpp:
1816         (EwkColorPicker::EwkColorPicker):
1817         (EwkColorPicker::setColor):
1818         (EwkColorPicker::color):
1819         * UIProcess/API/efl/ewk_color_picker.h:
1820         * UIProcess/API/efl/ewk_color_picker_private.h:
1821         (EwkColorPicker::create):
1822         (EwkColorPicker):
1823         * UIProcess/API/efl/ewk_context.h:
1824         * UIProcess/API/efl/ewk_context_private.h:
1825         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1826         (EwkCookieManager::EwkCookieManager):
1827         (EwkCookieManager::~EwkCookieManager):
1828         (EwkCookieManager::setPersistentStorage):
1829         (EwkCookieManager::setHTTPAcceptPolicy):
1830         (EwkCookieManager::clearHostnameCookies):
1831         (EwkCookieManager::clearAllCookies):
1832         (EwkCookieManager::watchChanges):
1833         (EwkCookieManager::isWatchingForChanges):
1834         (EwkCookieManager::getHostNamesWithCookies):
1835         (EwkCookieManager::getHTTPAcceptPolicy):
1836         (EwkCookieManager::cookiesDidChange):
1837         * UIProcess/API/efl/ewk_cookie_manager.h:
1838         * UIProcess/API/efl/ewk_cookie_manager_private.h:
1839         (EwkCookieManager::create):
1840         (EwkCookieManager):
1841         * UIProcess/API/efl/ewk_database_manager.cpp:
1842         (EwkDatabaseManager::EwkDatabaseManager):
1843         (EwkDatabaseManager::getDatabaseOrigins):
1844         (EwkDatabaseManager::createOriginList):
1845         * UIProcess/API/efl/ewk_database_manager.h:
1846         * UIProcess/API/efl/ewk_database_manager_private.h:
1847         (EwkDatabaseManager::create):
1848         (EwkDatabaseManager):
1849         * UIProcess/API/efl/ewk_download_job.h:
1850         * UIProcess/API/efl/ewk_download_job_private.h:
1851         * UIProcess/API/efl/ewk_error.cpp:
1852         (EwkError::EwkError):
1853         (EwkError::url):
1854         (EwkError::description):
1855         (EwkError::domain):
1856         (EwkError::errorCode):
1857         (EwkError::isCancellation):
1858         * UIProcess/API/efl/ewk_error.h:
1859         * UIProcess/API/efl/ewk_error_private.h:
1860         (EwkError::create):
1861         (EwkError):
1862         * UIProcess/API/efl/ewk_favicon_database.cpp:
1863         (EwkFaviconDatabase::EwkFaviconDatabase):
1864         (EwkFaviconDatabase::~EwkFaviconDatabase):
1865         (EwkFaviconDatabase::iconURLForPageURL):
1866         (EwkFaviconDatabase::watchChanges):
1867         (EwkFaviconDatabase::unwatchChanges):
1868         (EwkFaviconDatabase::iconForPageURL):
1869         (EwkFaviconDatabase::didChangeIconForPageURL):
1870         (EwkFaviconDatabase::getIconSurfaceSynchronously):
1871         (EwkFaviconDatabase::iconDataReadyForPageURL):
1872         * UIProcess/API/efl/ewk_favicon_database.h:
1873         * UIProcess/API/efl/ewk_favicon_database_private.h:
1874         (EwkFaviconDatabase::create):
1875         (EwkFaviconDatabase):
1876         * UIProcess/API/efl/ewk_file_chooser_request.h:
1877         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
1878         * UIProcess/API/efl/ewk_form_submission_request.h:
1879         * UIProcess/API/efl/ewk_form_submission_request_private.h:
1880         * UIProcess/API/efl/ewk_intent.h:
1881         * UIProcess/API/efl/ewk_intent_private.h:
1882         * UIProcess/API/efl/ewk_intent_service.h:
1883         * UIProcess/API/efl/ewk_intent_service_private.h:
1884         * UIProcess/API/efl/ewk_navigation_data.h:
1885         * UIProcess/API/efl/ewk_navigation_data_private.h:
1886         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
1887         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
1888         * UIProcess/API/efl/ewk_object.h:
1889         * UIProcess/API/efl/ewk_object_private.h:
1890         (EwkObject::~EwkObject):
1891         (ewk_object_is_of_type):
1892         (ewk_object_cast_check):
1893         (ewk_object_cast):
1894         * UIProcess/API/efl/ewk_popup_menu.cpp:
1895         (EwkPopupMenu::EwkPopupMenu):
1896         (EwkPopupMenu::~EwkPopupMenu):
1897         (EwkPopupMenu::close):
1898         (EwkPopupMenu::items):
1899         (EwkPopupMenu::selectedIndex):
1900         (EwkPopupMenu::setSelectedIndex):
1901         * UIProcess/API/efl/ewk_popup_menu.h:
1902         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
1903         (EwkPopupMenuItem::EwkPopupMenuItem):
1904         (EwkPopupMenuItem::type):
1905         (EwkPopupMenuItem::textDirection):
1906         (EwkPopupMenuItem::text):
1907         (EwkPopupMenuItem::tooltipText):
1908         (EwkPopupMenuItem::accessibilityText):
1909         (EwkPopupMenuItem::hasTextDirectionOverride):
1910         (EwkPopupMenuItem::isEnabled):
1911         (EwkPopupMenuItem::isLabel):
1912         (EwkPopupMenuItem::isSelected):
1913         * UIProcess/API/efl/ewk_popup_menu_item.h:
1914         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
1915         (EwkPopupMenuItem::create):
1916         (EwkPopupMenuItem):
1917         * UIProcess/API/efl/ewk_popup_menu_private.h:
1918         (EwkPopupMenu::create):
1919         (EwkPopupMenu):
1920         * UIProcess/API/efl/ewk_resource.h:
1921         * UIProcess/API/efl/ewk_resource_private.h:
1922         * UIProcess/API/efl/ewk_security_origin.h:
1923         * UIProcess/API/efl/ewk_security_origin_private.h:
1924         * UIProcess/API/efl/ewk_settings.cpp:
1925         (EwkSettings::preferences):
1926         * UIProcess/API/efl/ewk_settings.h:
1927         * UIProcess/API/efl/ewk_settings_private.h:
1928         (EwkSettings::create):
1929         (EwkSettings::EwkSettings):
1930         * UIProcess/API/efl/ewk_storage_manager.cpp:
1931         (EwkStorageManager::EwkStorageManager):
1932         (EwkStorageManager::getStorageOrigins):
1933         (EwkStorageManager::createOriginList):
1934         * UIProcess/API/efl/ewk_storage_manager.h:
1935         * UIProcess/API/efl/ewk_storage_manager_private.h:
1936         (EwkStorageManager::create):
1937         (EwkStorageManager):
1938         * UIProcess/API/efl/ewk_url_request.h:
1939         * UIProcess/API/efl/ewk_url_request_private.h:
1940         * UIProcess/API/efl/ewk_url_response.h:
1941         * UIProcess/API/efl/ewk_url_response_private.h:
1942         * UIProcess/API/efl/ewk_url_scheme_request.h:
1943         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
1944         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
1945         (TEST_F):
1946
1947 2012-11-18  Yael Aharon  <yael.aharon@intel.com>
1948
1949         [EFL][WK2] Wrong transform when using software path.
1950         https://bugs.webkit.org/show_bug.cgi?id=102549
1951
1952         Reviewed by Kenneth Rohde Christiansen.
1953
1954         When using the software path, our transform is not correct and results 
1955         in drawing the wrong part of the page. This becomes more obvious after scrolling.
1956
1957         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1958         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1959
1960 2012-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1961
1962         [WK2] REGRESSION: After web process crash a new web process is created for every existing page
1963         https://bugs.webkit.org/show_bug.cgi?id=102520
1964
1965         Reviewed by Alexey Proskuryakov.
1966
1967         When process model is SharedSecondaryProcess a new shared process
1968         should be created instead of a new process per page.
1969
1970         * UIProcess/WebContext.cpp:
1971         (WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
1972         process and return it.
1973         (WebKit::WebContext::createWebPage): Update to change in
1974         ensureSharedWebProcess() that returns the shared web process now.
1975         * UIProcess/WebContext.h:
1976         (WebContext): Remove relaunchProcessIfNecessary().
1977         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
1978         Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
1979         * UIProcess/WebPageProxy.cpp:
1980         (WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
1981         process for SharedSecondaryProcess model or create a new web
1982         process for multi-process models.
1983
1984 2012-11-17  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1985
1986         Remove 8-bit related assertion from NetscapePluginModuleX11.
1987         https://bugs.webkit.org/show_bug.cgi?id=102588
1988
1989         Reviewed by Andreas Kling.
1990
1991         Follow-up to r135043: since String::fromUTF8() is not guaranteed
1992         to give us a 16-bit string, the assertion in
1993         truncateToSingleLine() will fail in that case.
1994
1995         This should make the EFL WK2 Debug bot stop failing all
1996         plugin-related tests because "WebKit Test Plugin" is returned as
1997         an 8-bit string.
1998
1999         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2000         (WebKit::truncateToSingleLine):
2001
2002 2012-11-17  Alexandru Chiculita  <achicu@adobe.com>
2003
2004         [Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
2005         https://bugs.webkit.org/show_bug.cgi?id=101801
2006
2007         Reviewed by Noam Rosenthal.
2008
2009         Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
2010         LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
2011         LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
2012         The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
2013         LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
2014         about the removed CustomFilterProgram.
2015
2016         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2017         (CoreIPC::::encode):
2018         (CoreIPC::::decode):
2019         (CoreIPC):
2020         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2021         (WebCore):
2022         * Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
2023         (WebCore):
2024         (WebCustomFilterOperation):
2025         (WebCore::WebCustomFilterOperation::create):
2026         (WebCore::WebCustomFilterOperation::programID):
2027         (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
2028         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
2029         (WebKit::WebCustomFilterProgramProxy::create):
2030         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
2031         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2032         (WebKit):
2033         (WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
2034         (WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
2035         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2036         (LayerTreeCoordinatorProxy):
2037         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2038         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2039         (WebKit::LayerTreeRenderer::setLayerFilters):
2040         (WebKit):
2041         (WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
2042         (WebKit::LayerTreeRenderer::createCustomFilterProgram):
2043         (WebKit::LayerTreeRenderer::removeCustomFilterProgram):
2044         (WebKit::LayerTreeRenderer::setLayerAnimations):
2045         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2046         (WebCore):
2047         (LayerTreeRenderer):
2048         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2049         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
2050         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
2051         (WebKit::LayerTreeCoordinator::setLayerAnimations):
2052
2053 2012-11-17  Brady Eidson  <beidson@apple.com>
2054
2055         Add an integer identifier field to AuthenticationChallengeBase.
2056         https://bugs.webkit.org/show_bug.cgi?id=102593
2057
2058         Reviewed by Darin Adler.
2059
2060         Properly encode/decode the identifier when sending the challenge over CoreIPC.
2061
2062         * Shared/WebCoreArgumentCoders.cpp:
2063         (CoreIPC::::encode):
2064         (CoreIPC::::decode):
2065
2066 2012-11-17  Balazs Kelemen  <kbalazs@webkit.org>
2067
2068         8bit-unaware String usage in NetscapePluginModuleX11.cpp
2069         https://bugs.webkit.org/show_bug.cgi?id=102482
2070
2071         Reviewed by Michael Saboff.
2072
2073         String::fromUTF8 is not guaranteed to give a 16 bit string.
2074
2075         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2076         (WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
2077
2078 2012-11-16  Jaehun Lim  <ljaehun.lim@samsung.com>
2079
2080         [EFL][WK2] Remove unnecessary #include statemtns
2081         https://bugs.webkit.org/show_bug.cgi?id=102577
2082
2083         Reviewed by Anders Carlsson.
2084
2085         ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
2086
2087         * UIProcess/API/efl/ewk_auth_request_private.h:
2088         * UIProcess/API/efl/ewk_database_manager.cpp:
2089         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
2090         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2091         * UIProcess/API/efl/ewk_navigation_data_private.h:
2092         * UIProcess/API/efl/ewk_resource_private.h:
2093         * UIProcess/API/efl/ewk_storage_manager.cpp:
2094
2095 2012-11-16  Sam Weinig  <weinig@apple.com>
2096
2097         Fix the windows build.
2098
2099         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2100         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2101         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2102         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2103         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2104         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
2105         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2106         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2107         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
2108         (WebFrameNetworkingContext):
2109         * WebProcess/WebPage/WebPage.cpp:
2110         (WebKit::WebPage::updatePreferences):
2111         * WebProcess/WebPage/win/WebPageWin.cpp:
2112         (WebKit::cachedResponseForURL):
2113         * WebProcess/WebProcess.cpp:
2114         (WebKit::WebProcess::initializeWebProcess):
2115         * WebProcess/win/WebProcessWin.cpp:
2116         (WebKit::WebProcess::platformSetCacheModel):
2117         (WebKit::WebProcess::platformClearResourceCaches):
2118         (WebKit::WebProcess::platformInitializeWebProcess):
2119
2120 2012-11-16  Alec Flett  <alecflett@chromium.org>
2121
2122         Add tests for explicit serialization values
2123         https://bugs.webkit.org/show_bug.cgi?id=96818
2124
2125         Reviewed by Adam Barth.
2126
2127         Add exports for SerializedScriptValue changes.
2128
2129         * win/WebKit2.def:
2130         * win/WebKit2CFLite.def:
2131
2132 2012-11-16  Kiran Muppala  <cmuppala@apple.com>
2133
2134         Set task priority of WebKit2 processes to zero on Mac
2135         https://bugs.webkit.org/show_bug.cgi?id=102567
2136
2137         Reviewed by Mark Rowe.
2138
2139         Explicitly set task priority of WebKit2 processes to zero, to
2140         override automatic priority determination by the system.
2141
2142         * Shared/ChildProcess.cpp:
2143         (WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
2144         move MAC specific call to disableProcessSuppression to platformInitialize.
2145         (WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
2146         * Shared/ChildProcess.h:
2147         * Shared/mac/ChildProcessMac.mm:
2148         (WebKit::ChildProcess::platformInitialize): Add call to setpriority().
2149
2150 2012-11-16  Brady Eidson  <beidson@apple.com>
2151
2152         Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
2153         https://bugs.webkit.org/show_bug.cgi?id=102570
2154
2155         Reviewed by Alexey Proskuryakov.
2156
2157         This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
2158
2159         This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
2160         loader related messaging going forward.
2161
2162         Build/infrastructure stuff:
2163         * Platform/CoreIPC/MessageID.h:
2164         * WebKit2.xcodeproj/project.pbxproj:
2165         * DerivedSources.make:
2166
2167         Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
2168         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2169         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
2170         * NetworkProcess/NetworkConnectionToWebProcess.h:
2171         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2172
2173         Hang on to a master map of identifiers to NetworkResourceLoaders:
2174         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2175         (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
2176         (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
2177         (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
2178         * NetworkProcess/NetworkResourceLoadScheduler.h:
2179
2180         Change the way "willSendRequestHandled" comes in to be a direct message:
2181         * NetworkProcess/NetworkResourceLoader.cpp:
2182         (WebKit::NetworkResourceLoader::willSendRequest):
2183         (WebKit::NetworkResourceLoader::willSendRequestHandled):
2184         * NetworkProcess/NetworkResourceLoader.h:
2185         * NetworkProcess/NetworkResourceLoader.messages.in:
2186
2187         Make WebResourceLoader a MessageSender:
2188         * WebProcess/Network/WebResourceLoader.cpp:
2189         (WebKit::WebResourceLoader::connection):
2190         (WebKit::WebResourceLoader::destinationID):
2191         (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
2192         * WebProcess/Network/WebResourceLoader.h:
2193
2194 2012-11-16  Tony Chang  <tony@chromium.org>
2195
2196         Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
2197         https://bugs.webkit.org/show_bug.cgi?id=102554
2198
2199         Reviewed by Andreas Kling.
2200
2201         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
2202         we're going to revist this feature once additional vendor support is
2203         achieved.
2204
2205         * Configurations/FeatureDefines.xcconfig:
2206
2207 2012-11-16  Brent Fulgham  <bfulgham@webkit.org>
2208
2209         [WinCairo] Build correction after r134960.
2210
2211         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:  Stub out
2212         calls to CFNetwork-based implementation.
2213
2214 2012-11-16  Martin Robinson  <mrobinson@igalia.com>
2215
2216         Move authentication dialog to the UIProcess
2217
2218         [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
2219         https://bugs.webkit.org/show_bug.cgi?id=101843
2220
2221         Reviewed by Gustavo Noronha Silva.
2222
2223         Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
2224         the GTK+ widgets. This will allow us to to embed the dialog into the WebView
2225         in the future and to test authentication with the WebKit2 C API.
2226
2227         * GNUmakefile.list.am: Add the new class to the source list and remove the
2228         GTK+-only WebFrameLoader implementation file.
2229         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
2230         which uses the WebKit2 classes to do the UIProcess-side authentication.
2231         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
2232         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
2233         (didReceiveAuthenticationChallengeInFrame): Added.
2234         (attachLoaderClientToView): Use the new callback.
2235         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
2236         (WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
2237         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2238         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
2239         again.
2240         * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
2241
2242 2012-11-15  Alexey Proskuryakov  <ap@apple.com>
2243
2244         Private Browsing is a per-page setting that sets a global value
2245         https://bugs.webkit.org/show_bug.cgi?id=67870
2246
2247         Reviewed by Sam Weinig.
2248
2249         * NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
2250
2251         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2252         (WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
2253         so far.
2254
2255         * WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
2256         code that uses Objective C.
2257
2258         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2259         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
2260         instead of hardcoding access to sessiosn here.
2261
2262         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2263         (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
2264         browsing session as appropriate.
2265         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
2266         instead of hardcoding access to sessiosn here.
2267
2268         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2269         * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
2270         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2271         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2272         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2273         Implemented defaultCookieStorage() through WebFrameNetworkingContext.
2274
2275         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2276         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2277         Moved code for dealing with global contexts here from WebCore.
2278
2279         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
2280         Create a global private session when any page enters private browsing, and
2281         delete it when any page exits private browsing. This is handling a preference
2282         change, so all pages get it once.
2283
2284         * WebProcess/WebPage/mac/WebPageMac.mm:
2285         (WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
2286         (WebKit::cachedResponseForURL): Ditto.
2287
2288         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
2289         to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
2290
2291 2012-11-16  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
2292
2293         [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
2294         https://bugs.webkit.org/show_bug.cgi?id=102000
2295
2296         Reviewed by Kenneth Rohde Christiansen.
2297
2298         Add matching of view background color to the page background. This helps to reduce 
2299         visibility of flicker during scrolling/scaling/repainting where page tiles are not
2300         ready. View background color matching is disabled by default and can be enabled 
2301         with new API function ewk_view_draws_page_background_set .
2302         View background color can interfere with semi-transparent pages and should be
2303         disabled by default.
2304         Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
2305
2306         * UIProcess/API/efl/EwkViewImpl.cpp:
2307         (EwkViewImpl::EwkViewImpl):
2308         (EwkViewImpl::displayTimerFired):
2309         * UIProcess/API/efl/EwkViewImpl.h:
2310         (EwkViewImpl::setDrawsBackground):
2311         (EwkViewImpl):
2312         * UIProcess/API/efl/ewk_view.cpp:
2313         (ewk_view_draws_page_background_set):
2314         * UIProcess/API/efl/ewk_view.h:
2315         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2316         (WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
2317         (WebKit):
2318         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2319         (LayerTreeCoordinatorProxy):
2320         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2321         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2322         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
2323         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
2324         (WebKit::LayerTreeRenderer::paintToGraphicsContext):
2325         (WebKit::LayerTreeRenderer::setBackgroundColor):
2326         (WebKit):
2327         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2328         (LayerTreeRenderer):
2329         (WebKit::LayerTreeRenderer::setDrawsBackground):
2330         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2331         (WebKit::LayerTreeCoordinator::setBackgroundColor):
2332         (WebKit):
2333         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2334         (LayerTreeCoordinator):
2335         * WebProcess/WebPage/LayerTreeHost.h:
2336         (WebKit::LayerTreeHost::setBackgroundColor):
2337         * WebProcess/WebPage/WebPage.cpp:
2338         (WebKit::WebPage::WebPage):
2339         (WebKit::WebPage::mainFrameDidLayout):
2340         * WebProcess/WebPage/WebPage.h:
2341         (WebPage):
2342
2343 2012-11-16  Krzysztof Czech  <k.czech@samsung.com>
2344
2345         [WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
2346         https://bugs.webkit.org/show_bug.cgi?id=101748
2347
2348         Reviewed by Martin Robinson.
2349
2350         Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
2351
2352         * GNUmakefile.am:
2353         * GNUmakefile.list.am:
2354         * WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
2355         (WebKit):
2356         (_WebPageAccessibilityObject):
2357         (_WebPageAccessibilityObjectClass):
2358         * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
2359         (accessibilityRootObjectWrapper):
2360         (webPageAccessibilityObjectInitialize):
2361         (webPageAccessibilityObjectGetIndexInParent):
2362         (webPageAccessibilityObjectGetNChildren):
2363         (webPageAccessibilityObjectRefChild):
2364         (web_page_accessibility_object_init):
2365         (web_page_accessibility_object_class_init):
2366         (webPageAccessibilityObjectNew):
2367         (webPageAccessibilityObjectRefresh):
2368
2369 2012-11-16  Alexandru Chiculita  <achicu@adobe.com>
2370
2371         [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
2372         https://bugs.webkit.org/show_bug.cgi?id=102414
2373
2374         Reviewed by Noam Rosenthal.
2375
2376         This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
2377         In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
2378         of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
2379         filters are not needed anymore.
2380
2381         The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
2382         will fix that and try to reuse existing custom filters.
2383
2384         * CMakeLists.txt:
2385         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2386         (CoreIPC::::encode):
2387         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
2388         (WebKit):
2389         (WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
2390         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
2391         (WebKit):
2392         (WebCustomFilterProgramProxyClient):
2393         (WebCustomFilterProgramProxy):
2394         (WebKit::WebCustomFilterProgramProxy::create):
2395         (WebKit::WebCustomFilterProgramProxy::id):
2396         (WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
2397         (WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
2398         (WebKit::WebCustomFilterProgramProxy::setClient):
2399         (WebKit::WebCustomFilterProgramProxy::client):
2400         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
2401         * Target.pri:
2402         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2403         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
2404         (WebKit::LayerTreeCoordinator::syncLayerFilters):
2405         (WebKit):
2406         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
2407         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
2408         (WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
2409         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2410         (LayerTreeCoordinator):
2411
2412 2012-11-16  Peter Gal  <galpeter@inf.u-szeged.hu>
2413
2414         [Qt][Mac] Fix the build after r124873
2415         https://bugs.webkit.org/show_bug.cgi?id=102475
2416
2417         Reviewed by Noam Rosenthal.
2418
2419         Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
2420
2421         * Shared/WebLayerTreeInfo.h:
2422         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2423
2424 2012-11-16  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2425
2426         [EFL][WK2] Unset the tooltip when the web process has crashed
2427         https://bugs.webkit.org/show_bug.cgi?id=102232
2428
2429         Reviewed by Gyuyoung Kim.
2430
2431         Emit 'tooltip,text,unset' signal to unset the tooltip
2432         when the web process has crashed.
2433
2434         * UIProcess/efl/PageClientBase.cpp:
2435         (WebKit::PageClientBase::processDidCrash):
2436
2437 2012-11-16  Helder Correia  <helder.correia@nokia.com>
2438
2439         [CoordGfx] Follow coding style on explicit constructors
2440         https://bugs.webkit.org/show_bug.cgi?id=102451
2441
2442         Reviewed by Noam Rosenthal.
2443
2444         Use the explicit keyword on single argument constructors.
2445
2446         No new tests needed.
2447
2448         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
2449         (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
2450         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
2451         (CoordinatedTileBackend):
2452
2453 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2454
2455         Unreviewed, rolling out r134908.
2456         http://trac.webkit.org/changeset/134908
2457         https://bugs.webkit.org/show_bug.cgi?id=102473
2458
2459         Broke the Apple Windows Debug build. (Requested by dydx on
2460         #webkit).
2461
2462         * win/WebKit2.def:
2463         * win/WebKit2CFLite.def:
2464
2465 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2466
2467         Unreviewed, rolling out r134913.
2468         http://trac.webkit.org/changeset/134913
2469         https://bugs.webkit.org/show_bug.cgi?id=102472
2470
2471         Incorrect fix. (Requested by dydx on #webkit).
2472
2473         * win/WebKit2.def:
2474         * win/WebKit2CFLite.def:
2475
2476 2012-11-16  Daniel Bates  <dbates@webkit.org>
2477
2478         Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
2479         (https://bugs.webkit.org/show_bug.cgi?id=102354).
2480
2481         Add symbol.
2482
2483         * win/WebKit2.def:
2484         * win/WebKit2CFLite.def:
2485
2486 2012-11-16  KyungTae Kim  <ktf.kim@samsung.com>
2487
2488         [WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
2489         https://bugs.webkit.org/show_bug.cgi?id=102465
2490
2491         Reviewed by Noam Rosenthal.
2492
2493         The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
2494
2495         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2496         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
2497
2498 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2499
2500         Unreviewed, rolling out r134865.
2501         http://trac.webkit.org/changeset/134865
2502         https://bugs.webkit.org/show_bug.cgi?id=102466
2503
2504         Broke the Apple Windows Debug build. (Requested by dydx on
2505         #webkit).
2506
2507         * win/WebKit2.def:
2508         * win/WebKit2CFLite.def:
2509
2510 2012-11-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2511
2512         Avoid copying of ViewportArguments in computeViewportAttributes function
2513         https://bugs.webkit.org/show_bug.cgi?id=102354
2514
2515         Reviewed by Kenneth Rohde Christiansen.
2516
2517         Update exported symbols.
2518
2519         * win/WebKit2.def:
2520         * win/WebKit2CFLite.def:
2521
2522 2012-11-15  Huang Dongsung  <luxtella@company100.net>
2523
2524         Coordinated Graphics: Refactor code related to directly composited images.
2525         https://bugs.webkit.org/show_bug.cgi?id=101023
2526
2527         Reviewed by Noam Rosenthal.
2528
2529         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
2530
2531         Currently, LayerTreeCoordinator manages composited images using
2532         ShareableBitmap. This patch introduces CoordinatedImageBacking which
2533         plays a role in managing composited images. CoordinatedImageBacking makes us
2534         gather code related to a directly composited image into a single class.
2535
2536         We create only one CoordinatedImageBacking per image. For example, in the leaves
2537         demo, we create only 3 textures of leaves.
2538
2539         * CMakeLists.txt:
2540         * Shared/WebLayerTreeInfo.h:
2541         (WebKit::WebLayerInfo::WebLayerInfo):
2542         (WebLayerInfo):
2543         * Target.pri:
2544         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2545         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
2546         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2547         (WebKit::LayerTreeCoordinatorProxy::createImageBacking):
2548         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
2549         (WebKit):
2550         (WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
2551         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2552         (LayerTreeCoordinatorProxy):
2553         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2554         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2555         (WebKit::LayerTreeRenderer::setLayerState):
2556         (WebKit::LayerTreeRenderer::createImageBacking):
2557         (WebKit::LayerTreeRenderer::updateImageBacking):
2558         (WebKit::LayerTreeRenderer::removeImageBacking):
2559         (WebKit):
2560         (WebKit::LayerTreeRenderer::assignImageBackingToLayer):
2561         (WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
2562         (WebKit::LayerTreeRenderer::flushLayerChanges):
2563         (WebKit::LayerTreeRenderer::purgeGLResources):
2564         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2565         (LayerTreeRenderer):
2566         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2567         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
2568         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
2569         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
2570         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
2571         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2572         (CoordinatedGraphicsLayerClient):
2573         (CoordinatedGraphicsLayer):
2574         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
2575         (WebKit):
2576         (WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
2577         (WebKit::CoordinatedImageBacking::create):
2578         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
2579         (WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
2580         (WebKit::CoordinatedImageBacking::addLayerClient):
2581         (WebKit::CoordinatedImageBacking::removeLayerClient):
2582         (WebKit::CoordinatedImageBacking::markDirty):
2583         (WebKit::CoordinatedImageBacking::update):
2584         (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
2585         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
2586         (WebCore):
2587         (WebKit):
2588         (CoordinatedImageBacking):
2589         (Coordinator):
2590         (WebKit::CoordinatedImageBacking::id):
2591         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2592         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2593         (WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
2594         (WebKit::LayerTreeCoordinator::createImageBacking):
2595         (WebKit::LayerTreeCoordinator::updateImageBacking):
2596         (WebKit::LayerTreeCoordinator::removeImageBacking):
2597         (WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
2598         (WebKit::LayerTreeCoordinator::purgeBackingStores):
2599         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2600         (LayerTreeCoordinator):
2601
2602 2012-11-15  Huang Dongsung  <luxtella@company100.net>
2603
2604         Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
2605         https://bugs.webkit.org/show_bug.cgi?id=102309
2606
2607         We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
2608         a TiledBackingStore and every tiles.
2609         This patch caches the inverse transform to reuse it.
2610
2611         Reviewed by Noam Rosenthal.
2612
2613         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2614         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
2615         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2616         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2617         (CoordinatedGraphicsLayer):
2618
2619 2012-11-15  Alec Flett  <alecflett@chromium.org>
2620
2621         Add tests for explicit serialization values
2622         https://bugs.webkit.org/show_bug.cgi?id=96818
2623
2624         Reviewed by Adam Barth.
2625
2626         Add exports for SerializedScriptValue changes.
2627
2628         * win/WebKit2.def:
2629         * win/WebKit2CFLite.def:
2630
2631 2012-11-15  Gustavo Noronha Silva  <gns@gnome.org>
2632
2633         [GTK] Split WebCore/platform into a separate library
2634         https://bugs.webkit.org/show_bug.cgi?id=94435
2635
2636         Reviewed by Martin Robinson.
2637
2638         More people have been reporting problems when linking WebCore because
2639         the command line limit is being exceeded. Splitting WebCore a bit more
2640         is in order.
2641
2642         * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
2643
2644 2012-11-15  Anders Carlsson  <andersca@apple.com>
2645
2646         Consolidate four accelerated compositing WKView methods into a single method
2647         https://bugs.webkit.org/show_bug.cgi?id=102419
2648
2649         Reviewed by Andreas Kling.
2650
2651         Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
2652         the existing PageClientImpl member functions call it. Also, add a new
2653         PageClient member function, setAcceleratedCompositingRootLayer.
2654
2655         * UIProcess/API/mac/PageClientImpl.h:
2656         * UIProcess/API/mac/PageClientImpl.mm:
2657         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
2658         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
2659         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
2660         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
2661         * UIProcess/API/mac/WKView.mm:
2662         (-[WKView _processDidCrash]):
2663         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
2664         * UIProcess/API/mac/WKViewInternal.h:
2665         * UIProcess/PageClient.h:
2666         * UIProcess/WebPageProxy.h:
2667         * UIProcess/mac/RemoteLayerTreeHost.mm:
2668         (WebKit::RemoteLayerTreeHost::commit):
2669         * UIProcess/mac/WebPageProxyMac.mm:
2670         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
2671
2672 2012-11-15  Rick Byers  <rbyers@chromium.org>
2673
2674         No tests for changing mouse cursors
2675         https://bugs.webkit.org/show_bug.cgi?id=100550
2676
2677         Reviewed by Brent Fulgham.
2678
2679         Add necessary exports for Internals::getCurrentCursorInfo
2680
2681         * win/WebKit2.def:
2682         * win/WebKit2CFLite.def:
2683
2684 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2685
2686         Remove initiallyFitToViewport attribute
2687         https://bugs.webkit.org/show_bug.cgi?id=102392
2688
2689         Reviewed by Noam Rosenthal.
2690
2691         Remove the initiallyFitToViewport which shouldn't have been
2692         added in the first place. We now reset userScalable to auto (-1)
2693         in case it was not explicitly set by the web author.
2694
2695         Same behavior, covered by existing tests.
2696
2697         * UIProcess/PageViewportController.cpp:
2698         (WebKit::PageViewportController::PageViewportController):
2699         (WebKit::PageViewportController::pageTransitionViewportReady):
2700         * WebProcess/WebPage/WebPage.cpp:
2701         (WebKit::WebPage::sendViewportAttributesChanged):
2702
2703 2012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
2704
2705         Coordinated Graphics: support the "freeze animations" API
2706         https://bugs.webkit.org/show_bug.cgi?id=100703
2707
2708         Reviewed by Noam Rosenthal.
2709
2710         Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
2711
2712         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2713         (WebCore::CoordinatedGraphicsLayer::suspendAnimations):
2714         (WebCore):
2715         (WebCore::CoordinatedGraphicsLayer::resumeAnimations):
2716         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2717         (CoordinatedGraphicsLayer):
2718
2719 2012-11-15  Yuni Jeong  <yhnet.jung@samsung.com>
2720
2721         [EFL][WK2] Add APIs to get/set whether scripts can open new windows.
2722         https://bugs.webkit.org/show_bug.cgi?id=102054
2723
2724         Reviewed by Gyuyoung Kim.
2725
2726         Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
2727
2728         * UIProcess/API/efl/ewk_settings.cpp:
2729         (ewk_settings_scripts_can_open_windows_set):
2730         (ewk_settings_scripts_can_open_windows_get):
2731         * UIProcess/API/efl/ewk_settings.h:
2732         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2733         (TEST_F):
2734
2735 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2736
2737         Unreviewed, rolling out r134691, r134703, r134715, r134716,
2738         and r134733.
2739         http://trac.webkit.org/changeset/134691
2740         http://trac.webkit.org/changeset/134703
2741         http://trac.webkit.org/changeset/134715
2742         http://trac.webkit.org/changeset/134716
2743         http://trac.webkit.org/changeset/134733
2744         https://bugs.webkit.org/show_bug.cgi?id=102342
2745
2746         "Broke the Apple Windows Debug and GTK builds." (Requested by
2747         dydx on #webkit).
2748
2749         * win/WebKit2.def:
2750         * win/WebKit2CFLite.def:
2751
2752 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2753
2754         Unreviewed, rolling out r134741.
2755         http://trac.webkit.org/changeset/134741
2756         https://bugs.webkit.org/show_bug.cgi?id=102337
2757
2758         "Change is incorrect." (Requested by dydx on #webkit).
2759
2760         * win/WebKit2.def:
2761         * win/WebKit2CFLite.def:
2762
2763 2012-11-14  Daniel Bates  <dbates@webkit.org>
2764
2765         Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
2766         (https://bugs.webkit.org/show_bug.cgi?id=96818)
2767
2768         Export symbols of the form:
2769         ?deserializeBuffer@Internals@WebCore[...]
2770         ?serializeObject@Internals@WebCore[...]
2771
2772         * win/WebKit2.def:
2773         * win/WebKit2CFLite.def:
2774
2775 2012-11-14  Alec Flett  <alecflett@chromium.org>
2776
2777         Fix windows build exports (again)
2778         https://bugs.webkit.org/show_bug.cgi?id=102324
2779
2780         Unreviewed windows-only build fix.
2781
2782         Add one more export that was causing unit tests to fail to link.
2783
2784         * win/WebKit2.def:
2785         * win/WebKit2CFLite.def:
2786
2787 2012-11-14  Brent Fulgham  <bfulgham@webkit.org>
2788
2789         [WinCairo] Build correction after r134703.
2790
2791         * win/WebKit2CFLite.def: Add exports to CFLite version of
2792         Windows build to match Alec's last update.
2793
2794 2012-11-14  Alec Flett  <alecflett@chromium.org>
2795
2796         Fix Windows exports for TestWebKit
2797         https://bugs.webkit.org/show_bug.cgi?id=102302
2798
2799         Unreviewed, fixing Safari Win build.
2800
2801         Add missing exports.
2802
2803         * win/WebKit2.def:
2804
2805 2012-11-14  Huang Dongsung  <luxtella@company100.net>
2806
2807         Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
2808         https://bugs.webkit.org/show_bug.cgi?id=102172
2809
2810         Reviewed by Noam Rosenthal.
2811
2812         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2813         (CoordinatedGraphicsLayer):
2814
2815 2012-11-14  Brady Eidson  <beidson@apple.com>
2816
2817         Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
2818         https://bugs.webkit.org/show_bug.cgi?id=102259
2819
2820         Reviewed by Alexey Proskuryakov.
2821
2822         Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
2823         WebResourceLoaders directly.
2824
2825         Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
2826         directly into WebResourceLoader.
2827
2828         Build-system infrastructure stuff:
2829         * DerivedSources.make:
2830         * Platform/CoreIPC/MessageID.h:
2831         * WebKit2.xcodeproj/project.pbxproj:
2832
2833         Message directly to WebResourceLoader instead of NetworkProcessConnection:
2834         * NetworkProcess/NetworkResourceLoader.cpp:
2835         (WebKit::NetworkResourceLoader::connection):
2836         (WebKit::NetworkResourceLoader::didReceiveResponse):
2837         (WebKit::NetworkResourceLoader::didReceiveData):
2838         (WebKit::NetworkResourceLoader::didFinishLoading):
2839         (WebKit::NetworkResourceLoader::didFail):
2840         (WebKit::NetworkResourceLoader::willSendRequest):
2841         * NetworkProcess/NetworkResourceLoader.h:
2842         (WebKit::NetworkResourceLoader::destinationID):
2843
2844         For now handle the only relevant message class which is the WebResourceLoader class:
2845         * WebProcess/Network/NetworkProcessConnection.cpp:
2846         (WebKit::NetworkProcessConnection::didReceiveMessage):
2847         * WebProcess/Network/NetworkProcessConnection.h:
2848         * WebProcess/Network/NetworkProcessConnection.messages.in:
2849
2850         Allow access to WebResourceLoaders by identifier:
2851         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2852         * WebProcess/Network/WebResourceLoadScheduler.h:
2853         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
2854
2855         Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
2856         * WebProcess/Network/WebResourceLoader.cpp:
2857         (WebKit::WebResourceLoader::willSendRequest):
2858         (WebKit::WebResourceLoader::didReceiveResponse):
2859         (WebKit::WebResourceLoader::didReceiveData):
2860         (WebKit::WebResourceLoader::didFinishResourceLoad):
2861         (WebKit::WebResourceLoader::didFailResourceLoad):
2862         (WebKit::WebResourceLoader::didReceiveResource):
2863         * WebProcess/Network/WebResourceLoader.h:
2864         * WebProcess/Network/WebResourceLoader.messages.in:
2865
2866 2012-11-14  Andy Estes  <aestes@apple.com>
2867
2868         Fix the Lion build after r134681.
2869
2870         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2871
2872 2012-11-08  Andy Estes  <aestes@apple.com>
2873
2874         [WebKit2] Need API in UIProcess to enable loading of custom protocols
2875         https://bugs.webkit.org/show_bug.cgi?id=101674
2876
2877         Reviewed by Brady Eidson.
2878
2879         Enable clients of WebKit2 to implement NSURLProtocol subclasses to
2880         control the loading of resources with schemes that WebKit2 cannot
2881         handle natively. Since loading happens in a different process, we
2882         accomplish this by registering a global NSURLProtocol in the web
2883         process and proxying NSURLProtocol and NSURLProtocolClient calls to
2884         the client's NSURLProtocol in the UI process.
2885
2886         * DerivedSources.make: Addded new .messages.in files.
2887         * Platform/CoreIPC/MessageID.h:
2888         * Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
2889         (WebKit::WebProcessCreationParameters::encode):
2890         (WebKit::WebProcessCreationParameters::decode):
2891         * Shared/WebProcessCreationParameters.h:
2892         * UIProcess/API/mac/WKBrowsingContextController.h:
2893         * UIProcess/API/mac/WKBrowsingContextController.mm:
2894         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
2895         Added a class method where a client can register a scheme that it supports.
2896         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
2897         Added a class method where a client can unregister a scheme that it no longer supports.
2898         (+[WKBrowsingContextController customSchemes]):
2899         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
2900         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
2901         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
2902         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
2903
2904         Implemented an NSURLConnectionDelegate that proxies messages to the
2905         equivalent NSURLProtocolClient in the web process:
2906         (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
2907         (-[WKCustomProtocolLoader dealloc]):
2908         (-[WKCustomProtocolLoader connection:didFailWithError:]):
2909         (-[WKCustomProtocolLoader connection:willCacheResponse:]):
2910         (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
2911         (-[WKCustomProtocolLoader connection:didReceiveData:]):
2912         (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
2913         (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
2914
2915         Implemented a proxy that recieves -startLoading and -stopLoading
2916         messages from the NSURLProtocol in the web process and starts an
2917         NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
2918         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2919         (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
2920         (WebKit::CustomProtocolManagerProxy::startLoading):
2921         (WebKit::CustomProtocolManagerProxy::stopLoading):
2922
2923         * UIProcess/WebContext.h: Declared strings that store names of
2924         NSNotifications used for scheme registration in the UI process.
2925         * UIProcess/WebProcessProxy.cpp:
2926         (WebKit::WebProcessProxy::WebProcessProxy):
2927         (WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
2928         CustomProtocolManagerProxy.
2929         * UIProcess/WebProcessProxy.h:
2930         * UIProcess/mac/WebContextMac.mm:
2931         (WebKit::WebContext::platformInitializeWebProcess): Added the currently
2932         registered schemes to the WebProcessCreationParameters and register
2933         NSNotification observers for new scheme registration that forwards to
2934         the context's web processes.
2935         * WebKit2.xcodeproj/project.pbxproj:
2936         * WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
2937         * WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
2938         * WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
2939         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
2940         (generateCustomProtocolID): Generate a per-WebProcess unique ID.
2941
2942         Implemented a global NSURLProtocol that claims to support all schemes
2943         registered in the UI process. When NSURLConnection calls -startLoading
2944         and -stopLoading, we forward these messages to the client's NSURLProtocol
2945         in the UI process:
2946         (+[WKCustomProtocol canInitWithRequest:]):
2947         (+[WKCustomProtocol canonicalRequestForRequest:]):
2948         (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
2949         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
2950         (-[WKCustomProtocol startLoading]):
2951         (-[WKCustomProtocol stopLoading]):
2952
2953         Implemented a manager that receives NSURLConnectionDelegate messages
2954         forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
2955         (WebKit::CustomProtocolManager::shared):
2956         (WebKit::CustomProtocolManager::registerCustomProtocolClass):
2957         (WebKit::CustomProtocolManager::addCustomProtocol):
2958         (WebKit::CustomProtocolManager::removeCustomProtocol):
2959         (WebKit::CustomProtocolManager::registerScheme):
2960         (WebKit::CustomProtocolManager::unregisterScheme):
2961         (WebKit::CustomProtocolManager::supportsScheme):
2962         (WebKit::CustomProtocolManager::didReceiveMessage):
2963         (WebKit::CustomProtocolManager::didFailWithError):
2964         (WebKit::CustomProtocolManager::didLoadData):
2965         (WebKit::CustomProtocolManager::didReceiveResponse):
2966         (WebKit::CustomProtocolManager::didFinishLoading):
2967         (WebKit::CustomProtocolManager::protocolForID):
2968
2969         * WebProcess/WebProcess.cpp:
2970         (WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
2971         shared CustomProtocolManager.
2972         (WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
2973         scheme received from the UI process.
2974         (WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
2975         scheme received from the UI process.
2976         * WebProcess/WebProcess.h:
2977         * WebProcess/WebProcess.messages.in: Declared messages for passing
2978         supported schemes from the UI process the web process.
2979         * WebProcess/mac/WebProcessMac.mm:
2980         (WebKit::WebProcess::platformInitializeWebProcess): Register the
2981         schemes contained in the WebProcessCreationParameters.
2982
2983 2012-11-14  Helder Correia  <helder.correia@nokia.com>
2984
2985         [TexMap][Cairo] Accelerated compositing debug visuals
2986         https://bugs.webkit.org/show_bug.cgi?id=101883
2987
2988         Reviewed by Kenneth Rohde Christiansen.
2989
2990         No new tests, just introducing a debug feature.
2991
2992         Add a Cairo implementation to complement the patch from bug 90116
2993         (http://trac.webkit.org/changeset/122275).
2994
2995         For this feature to be enabled, the environment variable
2996         WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
2997         both repaint counters and tile borders will be painted.
2998
2999         A Cairo-specific drawRepaintCounter() implementation was added to
3000         TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
3001         the counters. It is then uploaded to a BitmapTexture acquired
3002         from the pool and finally draw by TextureMapper. The actual compositing
3003         happens inside LayerBackingStore::paintToTextureMapper(). Each
3004         LayerBackingStoreTile has a repaint counter which gets incremented in
3005         LayerBackingStore::updateTile().
3006
3007         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3008         (WebKit::shouldShowTileDebugVisuals):
3009
3010 2012-11-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3011
3012         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
3013         https://bugs.webkit.org/show_bug.cgi?id=102133
3014
3015         Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
3016         Also, there is no need for calling setCoordinator every time the tree changes,
3017         since we can call it once when the layer is created, now that LayerTreeCoordinator
3018         is the GraphicsLayerFactory.
3019
3020         Reviewed by Kenneth Rohde Christiansen
3021
3022         No change in functionality.
3023
3024         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3025         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3026         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3027         (WebCore::CoordinatedGraphicsLayer::setChildren):
3028         (WebCore::CoordinatedGraphicsLayer::addChild):
3029         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3030         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3031         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3032         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3033         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
3034         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3035         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3036         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3037         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3038         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3039         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3040         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3041         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3042         (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
3043         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3044         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3045         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3046         (WebCore::CoordinatedGraphicsLayer::createTile):
3047         (WebCore::CoordinatedGraphicsLayer::updateTile):
3048         (WebCore::CoordinatedGraphicsLayer::removeTile):
3049         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
3050         (WebCore::CoordinatedGraphicsLayer::setCoordinator):
3051         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3052         (CoordinatedGraphicsLayer):
3053         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3054         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3055         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3056         (WebKit::LayerTreeCoordinator::paintContents):
3057
3058 2012-11-14  Anders Carlsson  <andersca@apple.com>
3059
3060         More steps towards actually hosting layers in the UI process
3061         https://bugs.webkit.org/show_bug.cgi?id=102275
3062
3063         Reviewed by Andreas Kling.
3064
3065         * Shared/mac/RemoteLayerTreeTransaction.h:
3066         (WebKit::RemoteLayerTreeTransaction::rootLayerID):
3067         Add a getter for the root layer ID.
3068
3069         * UIProcess/mac/RemoteLayerTreeHost.h:
3070         (RemoteLayerTreeHost):
3071         Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
3072
3073         * UIProcess/mac/RemoteLayerTreeHost.mm:
3074         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
3075         Initialize the root layer to null.
3076
3077         (WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
3078         (WebKit::RemoteLayerTreeHost::notifyFlushRequired):
3079         (WebKit::RemoteLayerTreeHost::paintContents):
3080         Add empty stubs.
3081
3082         (WebKit::RemoteLayerTreeHost::commit):
3083         Try to get the root layer.
3084
3085         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
3086         Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
3087
3088 2012-11-14  Brady Eidson  <beidson@apple.com>
3089
3090         Fix the Production build after r134640 broke it.
3091
3092         * WebProcess/Network/WebResourceLoader.h:
3093         (WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
3094
3095 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3096
3097         PDFPlugin should make use of PDFKit's fluid zooming
3098         https://bugs.webkit.org/show_bug.cgi?id=101962
3099         <rdar://problem/12555229>
3100
3101         Reviewed by Anders Carlsson.
3102
3103         Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
3104         The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
3105         backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
3106
3107         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3108         (WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
3109         inform the injected bundle whether or not the frame handles scaling itself.
3110         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
3111         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3112         (WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
3113         the scale factor immediately.
3114         * WebProcess/WebPage/WebFrame.cpp:
3115         (WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
3116         gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
3117         * WebProcess/WebPage/WebFrame.h:
3118         (WebFrame):
3119
3120 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3121
3122         PDFPlugin should support downloading PDFs
3123         https://bugs.webkit.org/show_bug.cgi?id=102152
3124         <rdar://problem/12555313>
3125
3126         Reviewed by Alexey Proskuryakov.
3127
3128         Clicking on the "Download PDF" HUD button should download the current
3129         PDF to the Downloads folder.
3130
3131         * UIProcess/WebPageProxy.cpp:
3132         (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
3133         PDF data to disk, in the Downloads folder. This will only save files with
3134         the .pdf extension, and of MIME type "application/pdf".
3135         * UIProcess/WebPageProxy.h:
3136         (WebPageProxy): Add savePDFToFileInDownloadsFolder.
3137         * UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
3138         * WebProcess/Plugins/PDF/PDFPlugin.h:
3139         (PDFPlugin): Add saveToPDF().
3140         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3141         (-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
3142         (WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
3143         current PDF, which it will save to the Downloads folder. We receive
3144         the suggested filename during loading.
3145         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
3146         (WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
3147         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3148         (WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
3149
3150 2012-11-14  Brady Eidson  <beidson@apple.com>
3151
3152         Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
3153         https://bugs.webkit.org/show_bug.cgi?id=102259
3154
3155         Reviewed by Alexey Proskuryakov.
3156
3157         WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
3158
3159         We should create a WebResourceLoader that will eventually act as an intermediary between
3160         WebCore::ResourceLoader and NetworkResourceLoader.
3161
3162         This patch is prep-work: It adds a new skeleton class to the WebProcess.
3163
3164         * WebKit2.xcodeproj/project.pbxproj:
3165
3166         Add the new WebResourceLoader class which is a very thin skeleton for now:
3167         * WebProcess/Network/WebResourceLoader.cpp: Added.
3168         (WebKit::WebResourceLoader::create):
3169         (WebKit::WebResourceLoader::WebResourceLoader):
3170         (WebKit::WebResourceLoader::~WebResourceLoader):
3171         * WebProcess/Network/WebResourceLoader.h: Added.
3172         (WebKit::WebResourceLoader::coreLoader):
3173
3174         Adapt WebResourceLoadScheduler to use this new class where appropriate:
3175         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3176         (WebKit::WebResourceLoadScheduler::scheduleLoad):
3177         (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
3178         (WebKit::WebResourceLoadScheduler::remove):
3179         (WebKit::WebResourceLoadScheduler::willSendRequest):
3180         (WebKit::WebResourceLoadScheduler::didReceiveResponse):
3181         (WebKit::WebResourceLoadScheduler::didReceiveData):
3182         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3183         (WebKit::WebResourceLoadScheduler::didReceiveResource):
3184         (WebKit::WebResourceLoadScheduler::didFailResourceLoad):
3185         * WebProcess/Network/WebResourceLoadScheduler.h:
3186
3187
3188 2012-11-14  Brady Eidson  <beidson@apple.com>
3189
3190         Deliver data from NetworkProcess to resources progressively.
3191         https://bugs.webkit.org/show_bug.cgi?id=102171
3192
3193         Reviewed by Alexey Proskuryakov.
3194
3195         Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
3196         to deliver data progressively.
3197
3198         This allows progressive parsing of textual resources and progressive rendering of images,
3199         as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
3200
3201         * NetworkProcess/NetworkResourceLoader.cpp:
3202         (WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
3203           pass it straight through to the WebProcess.
3204         (WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
3205           delivering a chunk of buffered data.
3206         (WebKit::NetworkResourceLoader::didFail):
3207         * NetworkProcess/NetworkResourceLoader.h:
3208
3209         * WebProcess/Network/NetworkProcessConnection.cpp:
3210         (WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
3211         (WebKit::NetworkProcessConnection::didFinishResourceLoad):
3212         (WebKit::NetworkProcessConnection::didFailResourceLoad):
3213         * WebProcess/Network/NetworkProcessConnection.h:
3214         * WebProcess/Network/NetworkProcessConnection.messages.in:
3215
3216         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3217         (WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
3218         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3219         * WebProcess/Network/WebResourceLoadScheduler.h:
3220
3221 2012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
3222
3223         Add platform implementation of remote web inspector server for GTK port.
3224         https://bugs.webkit.org/show_bug.cgi?id=88094 
3225
3226         Reviewed by Gustavo Noronha Silva.
3227
3228         The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
3229         The server listens on port 2999 by default. IP address of the server can be set
3230         in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
3231         The server is started during WebKit context initialization.
3232         Once a page is loaded insector server can be accessed via other WebKit based browser.
3233         New WebKit API gtk tests have beed added.
3234         inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
3235
3236         Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
3237
3238         * GNUmakefile.am:
3239         * GNUmakefile.list.am:
3240         * Platform/Logging.cpp:
3241         (WebKit):
3242         (WebKit::getChannelFromName):
3243         (WebKit::initializeLogChannelsIfNecessary):
3244         * Platform/Logging.h:
3245         (WebKit):
3246         * UIProcess/API/gtk/tests/GNUmakefile.am:
3247         * UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
3248         (loadChangedCallback):
3249         (main):
3250         * UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
3251         (stopTestServer):
3252         (sigAbortHandler):
3253         (testServerMonitorThreadFunc):
3254         (startTestServerMonitor):
3255         (startTestServer):
3256         (testInspectorServerPageList):
3257         (testRemoteDebuggingMessage):
3258         (openRemoteDebuggingSession):
3259         (beforeAll):
3260         (afterAll):
3261         * UIProcess/InspectorServer/WebInspectorServer.h:
3262         (WebInspectorServer):
3263         * UIProcess/InspectorServer/WebSocketServer.h:
3264         (WebSocketServer):
3265         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
3266         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
3267         (WebKit::WebSocketServerConnection::shutdownNow):
3268         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
3269         (WebKit::WebSocketServerConnection::didCloseSocketStream):
3270         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
3271         (WebKit):
3272         (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
3273         * UIProcess/InspectorServer/WebSocketServerConnection.h:
3274         (WebSocketServerConnection):
3275         * UIProcess/InspectorServer/front-end: Added.
3276         * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
3277         * UIProcess/InspectorServer/gtk: Added.
3278         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
3279         (WebKit):
3280         (WebKit::WebInspectorServer::platformResourceForPath):
3281         (WebKit::WebInspectorServer::buildPageList):
3282         * UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
3283         (WebKit):
3284         (WebKit::connectionCallback):
3285         (WebKit::WebSocketServer::platformInitialize):
3286         (WebKit::WebSocketServer::platformListen):
3287         (WebKit::WebSocketServer::platformClose):
3288         * UIProcess/gtk/WebContextGtk.cpp:
3289         (WebKit::initInspectorServer):
3290         (WebKit):
3291         (WebKit::WebContext::platformInitializeWebProcess):
3292         * WebKit2.qrc:
3293         * config.h:
3294         * qt/Resources/inspectorPageIndex.html: Removed.
3295
3296 2012-11-14  Christophe Dumez  <christophe.dumez@intel.com>
3297
3298         [EFL][WK2][AC] Print out warning if we fallback back to software mode
3299         https://bugs.webkit.org/show_bug.cgi?id=102188
3300
3301         Reviewed by Kenneth Rohde Christiansen.
3302
3303         Print out a warning if accelerated compositing is enabled but the
3304         implementation is falling back to software mode for some reason.
3305
3306         * UIProcess/API/efl/EwkViewImpl.cpp:
3307         (EwkViewImpl::createGLSurface):
3308
3309 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3310
3311         Unreviewed, rolling out r134531.
3312         http://trac.webkit.org/changeset/134531
3313         https://bugs.webkit.org/show_bug.cgi?id=102193
3314
3315         Makes >70 tests crash on EFL and Qt bots. (Requested by drott
3316         on #webkit).
3317
3318         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3319         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3320         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3321         (WebCore::CoordinatedGraphicsLayer::setChildren):
3322         (WebCore::CoordinatedGraphicsLayer::addChild):
3323         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3324         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3325         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3326         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3327         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3328         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3329         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3330         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3331         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3332         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
3333         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3334         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3335         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3336         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
3337         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3338         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3339         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3340         (WebCore::CoordinatedGraphicsLayer::createTile):
3341         (WebCore::CoordinatedGraphicsLayer::updateTile):
3342         (WebCore::CoordinatedGraphicsLayer::removeTile):
3343         (WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
3344         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3345         (CoordinatedGraphicsLayer):
3346         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3347         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3348         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3349         (WebKit::LayerTreeCoordinator::createGraphicsLayer):
3350
3351 2012-11-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3352
3353         [EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
3354         https://bugs.webkit.org/show_bug.cgi?id=102065
3355
3356         Reviewed by Laszlo Gombos.
3357
3358         mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
3359         However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
3360         to simulate a right mouse button. So, button type parameter needs to be added for it.
3361
3362         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3363         (EWK2UnitTest::EWK2UnitTestBase::mouseClick):
3364         (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
3365         (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
3366         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3367         (EWK2UnitTestBase):
3368
3369 2012-11-13  Yael Aharon  <yael.aharon@intel.com>
3370
3371         [EFL][WK2] New window size should consult the window attributes
3372         https://bugs.webkit.org/show_bug.cgi?id=102122
3373
3374         Reviewed by Kenneth Rohde Christiansen.
3375
3376         Pass the size that was specified in window.open to the embedder.
3377
3378         * UIProcess/API/efl/EwkViewImpl.cpp:
3379         (EwkViewImpl::createNewPage):
3380         * UIProcess/API/efl/EwkViewImpl.h:
3381         (EwkViewImpl):
3382         * UIProcess/API/efl/ewk_view.h:
3383         * UIProcess/efl/PageUIClientEfl.cpp:
3384         (WebKit::PageUIClientEfl::createNewPage):
3385
3386 2012-11-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
3387
3388         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
3389         https://bugs.webkit.org/show_bug.cgi?id=102133
3390
3391         Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
3392         Also, there is no need for calling setCoordinator every time the tree changes,
3393         since we can call it once when the layer is created, now that LayerTreeCoordinator
3394         is the GraphicsLayerFactory.
3395
3396         Reviewed by Kenneth Rohde Christiansen.
3397
3398         No change in functionality.
3399
3400         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3401         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3402         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3403         (WebCore::CoordinatedGraphicsLayer::setChildren):
3404         (WebCore::CoordinatedGraphicsLayer::addChild):
3405         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3406         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3407         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3408         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3409         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
3410         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3411         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3412         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3413         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3414         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3415         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3416         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3417         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3418         (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
3419         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3420         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3421         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3422         (WebCore::CoordinatedGraphicsLayer::createTile):
3423         (WebCore::CoordinatedGraphicsLayer::updateTile):
3424         (WebCore::CoordinatedGraphicsLayer::removeTile):
3425         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
3426         (WebCore::CoordinatedGraphicsLayer::setCoordinator):
3427         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3428         (CoordinatedGraphicsLayer):
3429         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3430         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3431         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3432         (WebKit::LayerTreeCoordinator::paintContents):
3433
3434 2012-11-13  Brady Eidson  <beidson@apple.com>
3435
3436         REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
3437         https://bugs.webkit.org/show_bug.cgi?id=102167
3438
3439         Reviewed by Simon Fraser.
3440
3441         willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.
3442
3443         So we'll just dispatch the receivedRedirect call to the main thread RunLoop.
3444
3445         * NetworkProcess/NetworkResourceLoader.cpp:
3446         (WebKit::NetworkResourceLoader::willSendRequest):
3447
3448 2012-11-13  Timothy Hatcher  <timothy@apple.com>
3449
3450         Make InspectorFrontendHost.moveWindowBy work in WebKit2 for Mac.
3451
3452         https://bugs.webkit.org/show_bug.cgi?id=102154
3453
3454         Reviewed by Joseph Pecoraro.
3455
3456         * UIProcess/WebInspectorProxy.h:
3457         * UIProcess/mac/WebInspectorProxyMac.mm:
3458         (WebKit::getWindowFrame): Added. Call setInspectorWindowFrame.
3459         (WebKit::setWindowFrame): Added. Call inspectorWindowFrame.
3460         (WebKit::WebInspectorProxy::setInspectorWindowFrame): Added.
3461         (WebKit::WebInspectorProxy::inspectorWindowFrame): Added.
3462         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create and set the WKPageUIClient
3463         with getWindowFrame and setWindowFrame.
3464
3465 2012-11-13  Jon Lee  <jonlee@apple.com>
3466
3467         Reduce snapshot waiting time
3468         https://bugs.webkit.org/show_bug.cgi?id=102147
3469         <rdar://problem/12695539>
3470
3471         Reviewed by Brian Weinstein.
3472
3473         * WebProcess/Plugins/PluginView.cpp: Reduce to 1 second. Improves impressions of responsiveness.
3474
3475 2012-11-13  Anders Carlsson  <andersca@apple.com>
3476
3477         Factor the code to enter accelerated compositing given a layer out into a separate method
3478         https://bugs.webkit.org/show_bug.cgi?id=102155
3479
3480         Reviewed by Andreas Kling.
3481