Extra whitespace in blank line in PlatformPopupMenuData.cpp
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-06-17  Santosh Mahto  <santosh.ma@samsung.com>
2
3         Extra whitespace in blank line in PlatformPopupMenuData.cpp
4         https://bugs.webkit.org/show_bug.cgi?id=117627
5
6         Reviewed by Brent Fulgham.
7
8         * Shared/PlatformPopupMenuData.cpp:
9         (WebKit::PlatformPopupMenuData::decode):
10         Removing extra space
11
12 2013-06-17  Beth Dakin  <bdakin@apple.com>
13
14         PageBanners appear over HTML5 video when media element is in full screen mode
15         https://bugs.webkit.org/show_bug.cgi?id=117721
16         -and corresponding-
17         <rdar://problem/13686998>
18
19         Reviewed by Sam Weinig.
20
21         When an element enters fullscreen, hide the banners. Show them again when the 
22         element exits fullscreen.
23         * WebProcess/FullScreen/WebFullScreenManager.cpp:
24         (WebKit::WebFullScreenManager::willEnterFullScreen):
25         (WebKit::WebFullScreenManager::willExitFullScreen):
26
27         Handle hiding and showing by removing or re-creating a parent layer for m_layer.
28         * WebProcess/WebPage/PageBanner.cpp:
29         (WebKit::PageBanner::hide):
30         (WebKit::PageBanner::showIfHidden):
31         * WebProcess/WebPage/PageBanner.h:
32         * WebProcess/WebPage/mac/PageBannerMac.mm:
33         (WebKit::PageBanner::PageBanner):
34         (WebKit::PageBanner::hide):
35         (WebKit::PageBanner::showIfHidden):
36         (WebKit::PageBanner::mouseEvent):
37         * WebProcess/WebPage/WebPage.cpp:
38         (WebKit::WebPage::hidePageBanners):
39         (WebKit::WebPage::showPageBanners):
40         * WebProcess/WebPage/WebPage.h:
41
42 2013-06-17  Ruth Fong  <ruth_fong@apple.com>
43
44         REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
45         https://bugs.webkit.org/show_bug.cgi?id=20599
46
47         Add a "Download Video"/"Download Audio" context menu item to download media
48         elements.
49
50         Reviewed by Beth Dakin.
51
52         * Shared/API/c/WKContextMenuItemTypes.h: Updated to include
53         an enum type for the "Download Video/Audio" context menu item.
54
55         * Shared/API/c/WKSharedAPICast.h: Updated to associate
56         the enums in WebKit and WebCore that handle the "Download Video/Audio"
57         context menu item.
58
59         * UIProcess/API/efl/ewk_context_menu.cpp:
60         * UIProcess/API/efl/ewk_context_menu_item.cpp:
61         * UIProcess/API/efl/ewk_context_menu_item.h:
62         Updated to include new EWK enum type for "Download Video/Audio" context menu item.
63
64         * UIProcess/WebPageProxy.cpp: Updated to 
65         handle the "Download Video/Audio" context menu item mouse click
66         and download the media item in the UI process.
67
68 2013-06-17  Ralph Thomas  <ralpht@gmail.com>
69
70         [CoordinatedGraphics][CSS Shaders] Use forwarding header for TextureMapperPlatformCompiledProgram.h
71         https://bugs.webkit.org/show_bug.cgi?id=117712
72
73         Reviewed by Noam Rosenthal.
74
75         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
76
77 2013-06-17  Mark Rowe  <mrowe@apple.com>
78
79         <rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts
80
81         Transmitting the importance boost from the UI process to the web process is particularly
82         important when disabling process suppression on a web process, as it will minimize the
83         delays that can occur before the message instructing process suppression to be disabled
84         is processed by the web process.
85
86         We keep the importance boost alive for the duration of the CoreIPC message handler. We
87         achieve this by having an ImportanceAssertion object that owns the assertion, and whose
88         lifetime is tied to that of the MessageDecoder.
89
90         Reviewed by Anders Carlsson.
91
92         * Platform/CoreIPC/MessageDecoder.cpp:
93         (CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion
94         with this message.
95         * Platform/CoreIPC/MessageDecoder.h:
96         * Platform/CoreIPC/mac/ConnectionMac.cpp:
97         (CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received.
98         (CoreIPC::Connection::receiveSourceEventHandler):
99         * Platform/CoreIPC/mac/ImportanceAssertion.h:
100         (CoreIPC::ImportanceAssertion::create):
101         (CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion.
102         (CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in
103         the Mach message.
104
105 2013-06-17  Mark Rowe  <mrowe@apple.com>
106
107         <rdar://problem/14051357> Web processes sometimes remain in a suppressed
108         state after their window is unoccluded.
109
110         The code in WKView that responds to occlusion notifications was incorrectly
111         treating the window's occlusion state as being an enum rather than the set of
112         flags that it is.
113
114         Reviewed by Oliver Hunt.
115
116         * UIProcess/API/mac/WKView.mm:
117         (-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state.
118         (-[WKView setWindowOcclusionDetectionEnabled:]): Ditto.
119
120 2013-06-17  Michael Brüning  <michael.bruning@digia.com>
121
122         [Qt] Remove Qt specific QTKIT flagged code.
123         https://bugs.webkit.org/show_bug.cgi?id=117635
124
125         Reviewed by Simon Hausmann.
126
127         Due to disabling QTKIT for Qt in r151546, the
128         code the flags that are not taken into account
129         anymore and the code that has been rendered
130         unreachable by this are removed.
131
132         * Target.pri:
133         * UIProcess/qt/WebContextQt.cpp:
134         (WebKit::WebContext::platformInitializeWebProcess):
135         * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Removed.
136         * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Removed.
137         * WebProcess/WebPage/WebPage.cpp:
138         (WebKit::WebPage::updatePreferences):
139         * WebProcess/qt/WebProcessMainQt.cpp:
140         (WebKit::WebProcessMainQt):
141
142 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
143
144         Unreviewed, rolling out r151632.
145         http://trac.webkit.org/changeset/151632
146         https://bugs.webkit.org/show_bug.cgi?id=117585
147
148         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
149         platforms
150
151         * Shared/API/c/WKSharedAPICast.h:
152         (WebKit::toAPI):
153         (WebKit::toImpl):
154         * UIProcess/API/efl/ewk_context_menu_item.cpp:
155         (getEwkActionFromWKTag):
156         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
157         (onContextMenuShow):
158         (TEST_F):
159         * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
160         (webkitContextMenuActionGetActionTag):
161         (webkitContextMenuActionGetForContextMenuItem):
162         (webkitContextMenuActionGetLabel):
163         * UIProcess/WebPageProxy.cpp:
164         (WebKit::WebPageProxy::contextMenuItemSelected):
165
166 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
167
168         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
169         https://bugs.webkit.org/show_bug.cgi?id=117585
170
171         Reviewed by Anders Carlsson.
172
173         Add GRAMMAR_CHECKING guard to the context menu grammar items.
174
175         * Shared/API/c/WKSharedAPICast.h:
176         (WebKit::toAPI):
177         (WebKit::toImpl):
178         * UIProcess/API/efl/ewk_context_menu_item.cpp:
179         (getEwkActionFromWKTag):
180         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
181         (checkSpellingItemsAvailability):
182         Change callback name, to be consistent with a newly added.
183
184         (checkSpellingAndGrammarSubmenuAvailability):
185         (checkGrammarWithSpellingItemAvailability):
186         Add two unit tests for EFL to check whether context menu grammar items are
187         available only when GRAMMAR_CHECKING macro is enabled.
188
189         * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
190         (webkitContextMenuActionGetActionTag):
191         (webkitContextMenuActionGetForContextMenuItem):
192         (webkitContextMenuActionGetLabel):
193         * UIProcess/WebPageProxy.cpp:
194         (WebKit::WebPageProxy::contextMenuItemSelected):
195
196 2013-06-14  Dean Jackson  <dino@apple.com>
197
198         Crash in supportsSnapshotting
199         https://bugs.webkit.org/show_bug.cgi?id=117670
200         <rdar://problem/14059711>
201
202         Reviewed by Darin Adler.
203
204         Speculative fix for deferencing a null RefPtr in supportsSnapshotting.
205         It seems like it was possible to get in a state where the plugin machinery
206         would fire up and attempt to get a screenshot before there was an active
207         connection to the plugin process (usually under periods of high load, such
208         as opening a lot of tabs at once). In this case we're now returning false
209         from supportsSnapshotting, which will trigger the plugin to restart, but
210         that's better than requesting a snapshot on something that doesn't yet exist.
211
212         * WebProcess/Plugins/PluginProxy.cpp:
213         (WebKit::PluginProxy::supportsSnapshotting): Guard for an empty connection object.
214
215 2013-06-14  Enrica Casucci  <enrica@apple.com>
216
217         WKPageFindStringMatches ignores the kWKFindOptionsBackwards option.
218         https://bugs.webkit.org/show_bug.cgi?id=117647
219         <rdar://problem/13881024>
220
221         Reviewed by Darin Adler.
222         
223         The API returns the matched ranges in the DOM order regardless of the
224         find direction, but the index of the first match after the user selection
225         should take the find direction into account.
226
227         Extended existing test in TestWebKitAPI.
228
229         * Shared/API/c/WKFindOptions.h: Added enum for the case where there are
230         no matches after the user selection in the direction of the find.
231
232 2013-06-14  Andres Gomez  <agomez@igalia.com>
233
234         [GTK] Compilation problems - hb.h not found
235         https://bugs.webkit.org/show_bug.cgi?id=117636
236
237         Unreviewed GTK+ build fix.
238
239         * GNUmakefile.am: Added freetype cflags for WebKit2 GTK+ Platform
240         library.
241
242 2013-06-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
243
244         [EFL][WK2] Wrong context menu and popup menu positions when scroll is applied
245         https://bugs.webkit.org/show_bug.cgi?id=116610
246
247         Reviewed by Noam Rosenthal.
248
249         WebKit2 EFL uses fixed layout - because of this ScrollView::contentsToWindow, does
250         not take scroll into account, as it is meant to be handled by UI application.
251         When popup and context menu are created, after calling contentsToWindow their position
252         are not adjusted to page scroll.
253         Added two functions to EwkView and WKView, converting contents position to user viewport
254         coordinates, to adjust popup and context menu positions.
255
256         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
257         (WKViewContentsToUserViewport):
258         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
259         * UIProcess/API/efl/EwkView.cpp:
260         (EwkView::showContextMenu):
261         (EwkView::requestPopupMenu):
262         * UIProcess/CoordinatedGraphics/WebView.cpp:
263         (WebKit::WebView::contentsToUserViewport):
264         * UIProcess/CoordinatedGraphics/WebView.h:
265
266 2013-06-12  Anders Carlsson  <andersca@apple.com>
267
268         Remove the notion of inactive plug-ins
269         https://bugs.webkit.org/show_bug.cgi?id=117570
270         <rdar://problem/13484213>
271
272         Reviewed by Tim Horton.
273
274         Remove code that deals with inactive plug-ins. We still keep around the kWKPluginLoadPolicyInactive API enum for now.
275
276         * Shared/Plugins/PluginModuleInfo.h:
277         * UIProcess/API/C/WKAPICast.h:
278         (WebKit::toWKPluginLoadPolicy):
279         (WebKit::toPluginModuleLoadPolicy):
280         * UIProcess/Plugins/PluginInfoStore.cpp:
281         * UIProcess/Plugins/PluginInfoStore.h:
282         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
283         (WebKit::PluginInfoStore::shouldUsePlugin):
284         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
285         * UIProcess/WebPageProxy.cpp:
286         (WebKit::WebPageProxy::findPlugin):
287         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
288         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
289         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
290         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
291         * WebProcess/WebPage/WebPage.cpp:
292         (WebKit::WebPage::createPlugin):
293
294 2013-06-12  Hugo Parente Lima  <hugo.lima@openbossa.org>
295
296         [GTK] Explicit include glib.h to avoid compilation errors if libsoup isn't used.
297         https://bugs.webkit.org/show_bug.cgi?id=117564
298
299         Reviewed by Martin Robinson.
300
301         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
302
303 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
304
305         [GTK] Move more build targets for source code that's free of layer violations into libPlatform
306         https://bugs.webkit.org/show_bug.cgi?id=115936
307
308         Reviewed by Martin Robinson.
309
310         * GNUmakefile.am: Add GStreamer dependency's CFLAGS to the list of libPlatformGtk2 CPPFLAGS.
311
312 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
313
314         "Open Video in New Window" doesn't make sense in fullscreen
315         https://bugs.webkit.org/show_bug.cgi?id=117556
316
317         Reviewed by Beth Dakin.
318
319         Adds method mediaIsInFullscreen() that checks if a media element is in
320         fullscreen mode, which is needed to decide when to display the
321         "Open Video in New Window" context menu item.
322
323         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
324         (WKBundleHitTestResultMediaIsInFullscreen): Added.
325         Hooks into new InjectedBundleHitTestResult::mediaIsInFullscreen() method.
326         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
327         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
328         (WebKit::InjectedBundleHitTestResult::mediaIsInFullscreen): Added.
329         Checks if media element is in fullscreen.
330         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
331
332 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
333
334         Allow for toggling fullscreen on <video> elements
335         https://bugs.webkit.org/show_bug.cgi?id=117220
336
337         Reviewed by Dean Jackson.
338
339         * Shared/API/c/WKContextMenuItemTypes.h:
340         * Shared/API/c/WKSharedAPICast.h:
341         Added variables to support the toggle-ability of the fullscreen
342         video context menu item.
343
344 2013-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
345
346         [GTK] Invalidate the ProcessLauncher when the process is terminated before it has finished launching
347         https://bugs.webkit.org/show_bug.cgi?id=117412
348
349         Reviewed by Anders Carlsson.
350
351         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
352         (WebKit::ProcessLauncher::terminateProcess): If process is still
353         launching just invalidate the launcher. Reset the process
354         identifier after killing the process.
355
356 2013-06-12  Jae Hyun Park  <jae.park@company100.net>
357
358         [Coordinated Graphics] Remove unused headers in CoordinatedLayerTreeHostProxy
359         https://bugs.webkit.org/show_bug.cgi?id=117539
360
361         Reviewed by Noam Rosenthal.
362
363         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
364         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
365
366 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
367
368         [GTK] Remove the WebCoreLayer(Gtk2).a archives before regenerating them
369         https://bugs.webkit.org/show_bug.cgi?id=116723
370
371         Reviewed by Carlos Garcia Campos.
372
373         * GNUmakefile.am: When generating the WebCoreLayerGtk2.a archive from all the dependency archives, remove the
374         current archive (if any). Updating an existent archive in an incremental build is not bulletproof and can lead
375         to corrupt archives and subsequent build failures. On the other hand, the archive generation is not expensive
376         and produces a working archive without problems even on incremental builds.
377
378 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
379
380         Unreviewed GTK build fix.
381
382         * GNUmakefile.list.am: Adding missing build targets to the plugin process after r151480.
383
384 2013-06-11  Gavin Barraclough  <barraclough@apple.com>
385
386         Add NSSupportsAppNap keys to WebProcess, PluginProcess
387         https://bugs.webkit.org/show_bug.cgi?id=117528
388
389         Reviewed by Mark Rowe.
390
391         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
392         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
393         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
394         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
395         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
396         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
397             - add NSSupportsAppNap key.
398
399 2013-06-11  Oliver Hunt  <oliver@apple.com>
400
401         Make sure we aren't throttling plugin timers during initialisation and destruction
402         https://bugs.webkit.org/show_bug.cgi?id=117522
403
404         Reviewed by Darin Adler.
405
406         Add a new ActivityAssertion RAII class to handle allowing/disallowing
407         timer throttling.  Then make use of it during plugin initialisation
408         and destruction, as well as any synchronous messages (on the basis
409         that if another process is waiting for the plugin we shouldn't be
410         throttling timers).
411
412         * CMakeLists.txt:
413         * GNUmakefile.list.am:
414         * PluginProcess/WebProcessConnection.cpp:
415         (WebKit::WebProcessConnection::didReceiveSyncMessage):
416         (WebKit::WebProcessConnection::destroyPlugin):
417         (WebKit::WebProcessConnection::createPlugin):
418         * Shared/ActivityAssertion.cpp: Added.
419         (WebKit::ActivityAssertion::ActivityAssertion):
420         (WebKit::ActivityAssertion::~ActivityAssertion):
421         * Shared/ActivityAssertion.h: Added.
422         * Target.pri:
423         * WebKit2.xcodeproj/project.pbxproj:
424
425 2013-06-06  Timothy Hatcher  <timothy@apple.com>
426
427         Update the framework bundle identifier for the Web Inspector.
428
429         Reviewed by Mark Rowe.
430
431         * UIProcess/mac/WebInspectorProxyMac.mm:
432         (WebKit::inspectorReallyUsesWebKitUserInterface):
433         (WebKit::WebInspectorProxy::inspectorPageURL):
434         (WebKit::WebInspectorProxy::inspectorBaseURL):
435         * WebProcess/WebPage/mac/WebInspectorMac.mm:
436         (WebKit::inspectorReallyUsesWebKitUserInterface):
437         (WebKit::WebInspector::localizedStringsURL):
438
439 2013-06-11  Jer Noble  <jer.noble@apple.com>
440
441         Do not filter cookies requested through the CookieStorageShim.
442         https://bugs.webkit.org/show_bug.cgi?id=117511
443         <rdar://problem/13603433>
444
445         Reviewed by Beth Dakin.
446
447         Since the shim function is called when the underlying media engine is
448         creating an HTTPRequest, use CookieRequestHeaderFieldValue (which does
449         not filter out HTTP-only cookies) rather than CookiesForDOM (which does).
450
451         * Shared/mac/CookieStorageShim.cpp:
452         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
453
454 2013-06-11  Seokju Kwon  <seokju.kwon@gmail.com>
455
456         Remove leftover wxWebkit code
457         https://bugs.webkit.org/show_bug.cgi?id=117471
458
459         Reviewed by Andreas Kling.
460
461         * Scripts/generate-forwarding-headers.pl:
462
463 2013-06-11  Changhyup Jwa  <ch.jwa@samsung.com>
464
465         [EFL][WK2] Add fallback for EWK2UnitTestBase if opengl is not available.
466         https://bugs.webkit.org/show_bug.cgi?id=117504
467
468         Reviewed by Christophe Dumez.
469
470         There're many fails on efl webkit2 unit test if opengl is not available.
471         So, add fallback to non-opengl evas engine.
472
473         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
474         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
475
476 2013-06-11  Csaba Osztrogonác  <ossy@webkit.org>
477
478         Make WTR use its own temporary directory for application cache
479         https://bugs.webkit.org/show_bug.cgi?id=117143
480
481         Reviewed by Alexey Proskuryakov.
482
483         * UIProcess/API/C/WKContext.cpp:
484         (WKContextSetApplicationCacheDirectory):
485         * UIProcess/API/C/WKContextPrivate.h:
486         * UIProcess/WebContext.cpp:
487         (WebKit::WebContext::applicationCacheDirectory):
488         * UIProcess/WebContext.h:
489         (WebKit::WebContext::setApplicationCacheDirectory):
490         * UIProcess/efl/WebContextEfl.cpp:
491         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
492         * UIProcess/gtk/WebContextGtk.cpp:
493         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
494         * UIProcess/mac/WebContextMac.mm:
495         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
496         * UIProcess/qt/WebContextQt.cpp:
497         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
498
499 2013-06-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
500
501         [EFL][WK2] Fix test_ewk2_context_menu
502         https://bugs.webkit.org/show_bug.cgi?id=116601
503
504         Reviewed by Gyuyoung Kim.
505
506         test_ewk2_context_menu is always passing, it does not test any context menu feature
507         as it ends before context menu is called.
508         One single test was divided into two tests: testing WebKit2 created context menu and
509         testing menus and items created by application.
510
511         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
512         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTrue): added function introducing internal loop until boolean value is changed to true
513         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
514         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
515         (customItemSelected):
516         (showContextMenu):
517         (showContextMenuForRemoveAndAppend):
518         (showContextMenuForSubmenu):
519         (hideContextMenu):
520         (TEST_F):
521
522 2013-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
523
524         [EFL][WK2] Add ewk_view_navigate API
525         https://bugs.webkit.org/show_bug.cgi?id=117467
526
527         Reviewed by Christophe Dumez.
528
529         The applications will use this API to navigate history more than one step.
530
531         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
532         (EwkBackForwardListItem::wkItem): Return WKBackForwardListItemRef for page to navigate.
533         * UIProcess/API/efl/ewk_view.cpp:
534         (ewk_view_navigate_to): Added new API.
535         * UIProcess/API/efl/ewk_view.h:
536         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
537         (TEST_F): Added more test case for navigation.
538
539 2013-06-10  Jae Hyun Park  <jae.park@company100.net>
540
541         [CoordinatedGraphics] Typos in custom shader support
542         https://bugs.webkit.org/show_bug.cgi?id=117413
543
544         Reviewed by Noam Rosenthal.
545
546         Wrong keyframe is passed when assigning filterValue.
547
548         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
549         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
550
551 2013-06-10  Seokju Kwon  <seokju.kwon@gmail.com>
552
553         [Qt][GTK] Build fix after r151403
554         https://bugs.webkit.org/show_bug.cgi?id=117452
555
556         Reviewed by Csaba Osztrogonác.
557
558         * UIProcess/API/gtk/PageClientImpl.cpp:
559         (WebKit::PageClientImpl::preferencesDidChange):
560         * UIProcess/API/gtk/PageClientImpl.h:
561         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
562         (QRawWebViewPrivate::preferencesDidChange):
563         * UIProcess/qt/QtPageClient.h:
564         (WebKit::QtPageClient::preferencesDidChange):
565
566 2013-06-10  Commit Queue  <commit-queue@webkit.org>
567
568         Unreviewed, rolling out r151411.
569         http://trac.webkit.org/changeset/151411
570         https://bugs.webkit.org/show_bug.cgi?id=117453
571
572         because it is duplicated with Bug 117441 (Requested by
573         gyuyoung_ on #webkit).
574
575         * UIProcess/efl/WebViewEfl.cpp:
576         * UIProcess/efl/WebViewEfl.h:
577
578 2013-06-10  Jaehun Lim  <ljaehun.lim@samsung.com>
579
580         Fix build error and warning
581         https://bugs.webkit.org/show_bug.cgi?id=117441
582
583         Reviewed by Anders Carlsson.
584
585         * UIProcess/CoordinatedGraphics/WebView.cpp:
586         (WebKit::WebView::preferencesDidChange): Added.
587         (WebKit::WebView::createPopupMenuProxy): Remove 'page'.
588         * UIProcess/CoordinatedGraphics/WebView.h:
589
590 2013-06-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
591
592         Unreviewed, EFL Build fix after r151403.
593
594         Added preferencesDidChange to WebViewEfl.
595
596         * UIProcess/efl/WebViewEfl.cpp:
597         (WebKit::WebViewEfl::preferencesDidChange):
598         * UIProcess/efl/WebViewEfl.h:
599
600 2013-06-10  Anders Carlsson  <andersca@apple.com>
601
602         Crash in StorageAreaMap::applyChange when clearing local storage in another web process
603         https://bugs.webkit.org/show_bug.cgi?id=117440
604         <rdar://problem/13961548>
605
606         Reviewed by Tim Horton.
607
608         Add an early return so we won't try to look up a null key in the m_pendingValueChanges map.
609         Also, fix an assertion - it's fine for m_storageMap to be null in applyChange.
610
611         * WebProcess/Storage/StorageAreaMap.cpp:
612         (WebKit::StorageAreaMap::applyChange):
613
614 2013-06-10  Sergio Correia  <sergio.correia@openbossa.org>
615
616         [WK2][CoordinatedGraphics] Add default case to switches to fix strict build
617         https://bugs.webkit.org/show_bug.cgi?id=117416
618
619         Reviewed by Noam Rosenthal.
620
621         This patch fixes a strict build by asserting on the default case of two
622         switch statements where gcc was previously complaining of unhandled cases.
623
624         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
625         (CoreIPC::::encode):
626         (CoreIPC::::decode):
627
628 2013-06-10  Anders Carlsson  <andersca@apple.com>
629
630         -[WKView _updateWindowAndViewFrames] should avoid updating the view frame in window coordinates if we don't have plugins
631         https://bugs.webkit.org/show_bug.cgi?id=117420
632         <rdar://problem/14073034>
633
634         Reviewed by Tim Horton.
635
636         If plug-ins are disabled there's no need for the web process to know about the view frame in window coordinates so only
637         send it when plug-ins are enabled. In addition, if accessibility is disabled we don't need to send a message at all.
638
639         * UIProcess/API/mac/PageClientImpl.h:
640         * UIProcess/API/mac/PageClientImpl.mm:
641         (WebKit::PageClientImpl::preferencesDidChange):
642         Call through to -[WKView _preferencesDidChange].
643
644         * UIProcess/API/mac/WKView.mm:
645         (-[WKView _updateWindowAndViewFrames]):
646         Don't compute viewFrameInWindowCoordinates or accessibilityPosition unless they're required. If neither are required,
647         don't even send a message to the web process.
648
649         (-[WKView _preferencesDidChange]):
650         Update _needsViewFrameInWindowCoordinates and call -[WKView _updateWindowAndViewFrames] if needed.
651
652         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
653         Set _needsViewFrameInWindowCoordinates based on whether plug-ins are enabled or not.
654
655         * UIProcess/WebPageProxy.cpp:
656         (WebKit::WebPageProxy::preferencesDidChange):
657         Call the page client.
658
659 2013-06-10  Bear Travis  <betravis@adobe.com>
660
661         [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
662         https://bugs.webkit.org/show_bug.cgi?id=117162
663
664         Reviewed by Alexandru Chiculita.
665
666         Adding the WebCore/rendering/shapes directory to the include list.
667
668         * CMakeLists.txt:
669
670 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
671
672         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
673         https://bugs.webkit.org/show_bug.cgi?id=116717
674
675         Reviewed by Martin Robinson.
676
677         Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
678         depending on whether we are running on X11 or not. Select Cairo
679         implementation when not running in X11.
680
681         * UIProcess/cairo/BackingStoreCairo.cpp:
682         (WebKit):
683         (WebKit::createBackingStoreForGTK):
684         (WebKit::BackingStore::incorporateUpdate):
685
686 2013-06-09  Jae Hyun Park  <jae.park@company100.net>
687
688         [CoordinatedGraphics] Typo in argument decoder for CoordinatedGraphicsState
689         https://bugs.webkit.org/show_bug.cgi?id=117384
690
691         Reviewed by Noam Rosenthal.
692
693         For CSS Shaders, it must decode state.customFiltersToRemove instead of
694         state.updateAtlasesToRemove.
695
696         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
697         (CoreIPC::::decode):
698
699 2013-06-08  Jae Hyun Park  <jae.park@company100.net>
700
701         [Coordinated Graphics] Pass the ownership of GraphicsSurface explicitly
702         https://bugs.webkit.org/show_bug.cgi?id=117379
703
704         Reviewed by Noam Rosenthal.
705
706         When creating WebCoordinatedSurface with GraphicsSurface, it is clearer
707         to pass the ownership of the created GraphicsSurface explicitly.
708
709         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
710         (WebKit::WebCoordinatedSurface::create):
711
712 2013-06-07  Anders Carlsson  <andersca@apple.com>
713
714         Coalesce multiple calls to WebPageProxy::windowAndViewFramesChanged
715         https://bugs.webkit.org/show_bug.cgi?id=117364
716         <rdar://problem/14042099>
717
718         Reviewed by Geoffrey Garen.
719
720         -[WKView _updateWindowAndViewFrames] can be called many times per run loop iteration so coalesce calls
721         to WebPageProxy::windowAndViewFrames using dispatch_async.
722
723         * UIProcess/API/mac/WKView.mm:
724         (-[WKView _updateWindowAndViewFrames]):
725
726 2013-06-07  Thomas Deniau  <deniau@apple.com>
727
728         Reproducible crash with triple-finger-tap "define word" gesture on a Netflix video
729         https://bugs.webkit.org/show_bug.cgi?id=117020
730
731         Reviewed by Ryosuke Niwa.
732
733         * WebProcess/WebPage/mac/WebPageMac.mm:
734         (WebKit::WebPage::performDictionaryLookupAtLocation):
735         Don't invoke the Dictionary lookup when we failed to extract the range of the token
736         surrounding the tapped position.
737
738 2013-06-07  Enrique Ocana Gonzalez  <eocanha@igalia.com>
739
740         [GTK] Weird behaviour and no clues to the user when the shared memory file can't be opened
741         https://bugs.webkit.org/show_bug.cgi?id=117063
742
743         Reviewed by Anders Carlsson.
744
745         Log error message when the shared memory file can't be opened in
746         Unix platform using a release build
747
748         * Platform/unix/SharedMemoryUnix.cpp:
749         (WebKit::SharedMemory::create):
750
751 2013-06-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
752
753         [EFL][WK2] Context menu spellchecking items are not available when "Check Spelling While Typing" is off
754         https://bugs.webkit.org/show_bug.cgi?id=117190
755
756         Reviewed by Christophe Dumez.
757
758         Context menu items (suggestions, learn and ignore word) are not available
759         due to missing dictionary. To get the suggestions for the misspelled word,
760         the dictionary has to be loaded first.
761
762         WebKit loads the default dictionary when check spelling while typing is being enabled.
763         However, context menu spellchecking items should be present even if this setting is off.
764
765         * UIProcess/API/efl/ewk_context.cpp:
766         (EwkContext::EwkContext):
767         Load the user's default dictionary to ensure context menu spellchecking items.
768         The dictionary is loaded asynchronously so it shouldn't delay application.
769
770         * UIProcess/API/efl/ewk_text_checker.h:
771         Update doc. Spelling suggestions, learn and ignore word should be available
772         independently of checking spelling while typing setting.
773
774         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
775         (onContextMenuShow):
776         (TEST_F):
777         Add two unit tests to check whether the default dictionary is loaded and
778         whether the context menu spelling items are available.
779
780         * UIProcess/efl/TextCheckerEfl.cpp:
781         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
782         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
783         Not set the default dictionary while enabling the setting, it's already loaded.
784
785 2013-06-07  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
786
787         [EFL][WK2] Implement customContextMenuItemSelected
788         https://bugs.webkit.org/show_bug.cgi?id=117298
789
790         Reviewed by Christophe Dumez.
791
792         When custom context menu item is selected using ewk API, the feedback is not
793         sent back to application, as customContextMenuItemSelected was unimplemented in
794         contextMenuClientEfl.
795
796         * UIProcess/API/efl/EwkView.cpp:
797         (EwkView::customContextMenuItemSelected):
798         * UIProcess/API/efl/EwkView.h:
799         * UIProcess/API/efl/ewk_view.h: added custom_item_selected callback.
800         * UIProcess/efl/ContextMenuClientEfl.cpp:
801         (customContextMenuItemSelected):
802         (ContextMenuClientEfl::ContextMenuClientEfl):
803
804 2013-06-06  Oliver Hunt  <oliver@apple.com>
805
806         Completely initialize ChildProcess state on launch
807         https://bugs.webkit.org/show_bug.cgi?id=117328
808
809         Reviewed by Sam Weinig.
810
811         Use setProcessSuppressionEnabledInternal to avoid setProcessSuppressionEnabled
812         "optimizing" our initialization away.
813
814         * Shared/mac/ChildProcessMac.mm:
815         (WebKit::ChildProcess::platformInitialize):
816
817 2013-06-06  Rafael Brandao  <rafael.lobo@openbossa.org>
818
819         [Gtk] Connection is leaking when WebProcess is terminated
820         https://bugs.webkit.org/show_bug.cgi?id=117293
821
822         Reviewed by Martin Robinson.
823
824         Connection is leaking because WorkQueue::SocketEventSource inherits from
825         WorkQueue::EventSource but when it is destroyed, the actual destructor running
826         is the one from base class; however, subclass contains a function binded from
827         Connection (m_closeFunction) and we need to do this extra cleanup, otherwise
828         WorkQueue will keep Connection alive. A better explanation of this fix is provided
829         on http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors
830
831         A quick way to see the leak is to change WK2 test "ReloadPageAfterCrash" to terminate
832         WebProcess N times and add a printf on Connection destructor.
833
834         * Platform/gtk/WorkQueueGtk.cpp:
835         (WorkQueue::EventSource::~EventSource): Adds a virtual destructor to enable
836         the subclass to do its own cleanup.
837
838 2013-06-06  Jae Hyun Park  <jae.park@company100.net>
839
840         Coordinated Graphics : Refactor CoordinatedSurface to manage the lifecycle of GraphicsContext
841         https://bugs.webkit.org/show_bug.cgi?id=108899
842
843         Reviewed by Noam Rosenthal.
844
845         This is a preparation patch for Threaded Coordinated Graphics.
846
847         This patch changes CoordinatedSurface to be responsible for the
848         lifecycle of GraphicsContext used in Coordinated Graphics System.
849         CoordinatedImageBacking and UpdateAtlas do not ask for the ownership
850         of GraphicsContext anymore. Instead, those classes use client pattern to
851         ask the CoordiantedSurface to paint to the GraphicsContext.
852
853         This refactoring is needed to implement CoordinatedSurface for Threaded
854         Coordinated Graphics.
855
856         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
857         (WebKit::WebCoordinatedSurface::paintToSurface):
858         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
859         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
860         (WebKit::CoordinatedLayerTreeHost::paintToSurface):
861         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
862
863 2013-06-05  Kangil Han  <kangil.han@samsung.com>
864
865         [EFL][WK2] Fix test_ewk2_view unit test timed out issue
866         https://bugs.webkit.org/show_bug.cgi?id=117251
867
868         Reviewed by Christophe Dumez.
869
870         'ewk_view_contents_size_changed' unit test case has been timed out since r150802 because
871         same size is filtered by WebView class. So create one different test html string that has
872         different size to continue unit tests.
873
874         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
875         (onContentsSizeChangedPortrait):
876         (onContentsSizeChangedLandscape):
877         (TEST_F):
878
879 2013-06-05  Bear Travis  <betravis@adobe.com>
880
881         [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
882         https://bugs.webkit.org/show_bug.cgi?id=117172
883
884         Reviewed by Alexandru Chiculita.
885
886         Adding the CSS_SHAPES compile flag.
887
888         * Configurations/FeatureDefines.xcconfig:
889
890 2013-06-05  Anders Carlsson  <andersca@apple.com>
891
892         Crash if an IPC connection is invalidated before it's completely set up
893         https://bugs.webkit.org/show_bug.cgi?id=117274
894         <rdar://problem/13319035>
895
896         Reviewed by Andreas Kling.
897
898         Resume our dispatch sources on the connection queue so we won't get invalidation callbacks before
899         all sources have been set up.
900
901         * Platform/CoreIPC/mac/ConnectionMac.cpp:
902         (CoreIPC::Connection::open):
903         (CoreIPC::Connection::sendOutgoingMessage):
904         (CoreIPC::Connection::initializeDeadNameSource):
905         (CoreIPC::Connection::receiveSourceEventHandler):
906
907 2013-06-05  Tim Horton  <timothy_horton@apple.com>
908
909         [wk2] WebProcess' page-in-window count can be wrong
910         https://bugs.webkit.org/show_bug.cgi?id=117106
911         <rdar://problem/14040991>
912
913         Reviewed by Anders Carlsson.
914
915         If we're using a single WebProcess and a window is closed, we were
916         not decrementing the page-in-window count (because we apparently don't
917         setIsInWindow(false) a WebPage in a closing window before tearing it down).
918
919         Turn the page-in-window count into a HashSet of pageIDs instead.
920
921         * WebProcess/WebPage/WebPage.cpp:
922         (WebKit::WebPage::WebPage):
923         (WebKit::WebPage::setIsInWindow):
924         Send the pageID instead (this change is just so that I don't need to
925         fetch the WebPage in WebProcess::removeWebPage).
926
927         * WebProcess/WebProcess.cpp:
928         (WebKit::WebProcess::WebProcess):
929         Remove m_inWindowPageCount.
930
931         (WebKit::WebProcess::removeWebPage):
932         Ensure that WebPages being torn-down are removed from the in-window WebPage set.
933
934         (WebKit::WebProcess::pageDidEnterWindow):
935         (WebKit::WebProcess::pageWillLeaveWindow):
936         Use our new HashSet instead of a count.
937
938         (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
939         Make sure that we don't have any visible pages before doing cleanup.
940
941         * WebProcess/WebProcess.h:
942         Remove m_inWindowPageCount.
943         Add m_inWindowPageSet.
944         Make pageDidEnterWindow/pageWillLeaveWindow take pageID instead of WebPage.
945
946 2013-06-05  Tim Horton  <timothy_horton@apple.com>
947
948         REGRESSION (r148713): Crash under waitForDidUpdateInWindowState
949         https://bugs.webkit.org/show_bug.cgi?id=117268
950         <rdar://problem/13822353>
951
952         Reviewed by Anders Carlsson.
953
954         Check if the WebProcess is valid before waiting for a message from it.
955         Reset the bool that tells us that we have an outstanding didUpdateInWindowState message if the WebProcess quits.
956
957         * UIProcess/WebPageProxy.cpp:
958         (WebKit::WebPageProxy::waitForDidUpdateInWindowState):
959         (WebKit::WebPageProxy::resetStateAfterProcessExited):
960
961 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
962
963         [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer
964         https://bugs.webkit.org/show_bug.cgi?id=117222
965
966         Reviewed by Noam Rosenthal.
967
968         CoordinatedGraphicsLayer::flushCompositingState() will cross frame
969         boundaries if the GraphicsLayers are connected. In this case,
970         updateContentBuffers will invoke a painting of a sub-frame that causes
971         flushCompositingState recursively.
972
973         To prevent this behavior this patch extracts updateContentBuffers from
974         flushCompositingState, and places it in
975         updateContentBuffersIncludeSublayers, which traverses the tree
976         separately from flushing the state for painting.
977
978         No new tests, covered by existing tests.
979
980         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
981         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
982
983 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
984
985         [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas.
986         https://bugs.webkit.org/show_bug.cgi?id=111948
987
988         Reviewed by Noam Rosenthal.
989
990         This patch renames CoordinatedImageBacking::Coordinator to
991         CoordinatedImageBacking::Client, and UpdateAtlasClient to
992         UpdateAtlas::Client for naming consistency and clarification.
993
994         No new tests, covered by existing tests.
995
996         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
997
998 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
999
1000         [Coordinated Graphics] Unify messages related object's lifecycles into CoordinatedGraphicsState.
1001         https://bugs.webkit.org/show_bug.cgi?id=111919
1002
1003         Reviewed by Noam Rosenthal.
1004
1005         CoordinatedLayerTreeHostProxy has several methods, which simply passes
1006         these calls to CoordinatedGraphicsScene.
1007
1008         This patch removes methods in CoordinatedLayerTreeHostProxy just for
1009         message chaining. Instead of that, messages for creation/deletion of objects
1010         (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into
1011         CommitCoordinatedGraphicsState.
1012
1013         And this patch also removes codes for WebCoordinatedSurface in
1014         CoordinatedLayerTreeHost, except for a factory method.
1015         CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself
1016         using WebCoordinatedSurface.
1017
1018         No new tests, covered by existing tests.
1019
1020         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1021         (CoreIPC::encodeCoordinatedSurface):
1022         (CoreIPC::decodeCoordinatedSurface):
1023         (CoreIPC::::encode):
1024         (CoreIPC::::decode):
1025         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1026         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1027         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
1028         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1029         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
1030         (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges):
1031         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
1032         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
1033         (WebKit::CoordinatedLayerTreeHost::detachLayer):
1034         (WebKit::CoordinatedLayerTreeHost::createImageBacking):
1035         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
1036         (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
1037         (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
1038         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
1039         (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
1040         (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
1041         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1042
1043 2013-06-04  Simon Cooper  <scooper@apple.com>
1044
1045         Tighten plugin sandbox profiles against symlink attacks
1046         https://bugs.webkit.org/show_bug.cgi?id=117219
1047         <rdar://problem/13044569>
1048
1049         Reviewed by Sam Weinig.
1050
1051         This inserts deny rules for creating symbolic links. The rules are
1052         inserted at the end of sandbox profile compilation by overriding the
1053         finalizer.  The initial value of %finalize must be the last function
1054         called.
1055
1056         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1057
1058 2013-06-04  Chris Fleizach  <cfleizach@apple.com>
1059
1060         AX: WK2: accessibility position is calculated every time window frame is updated
1061         https://bugs.webkit.org/show_bug.cgi?id=117201
1062
1063         Reviewed by Tim Horton.
1064
1065         Only calculate the AX position if AX has already been enabled when updating the
1066         WKView's window and frame.
1067
1068         * UIProcess/API/mac/WKView.mm:
1069         (-[WKView _updateWindowAndViewFrames]):
1070         (-[WKView _accessibilityRegisterUIProcessTokens]):
1071             Don't call accessibilityAttributeValue: here because it could enable accessibility prematurely.
1072         (-[WKView enableAccessibilityIfNecessary]):
1073             After enabling AX for the first time, also update the frame so that the AX position is correct.
1074         (-[WKView accessibilityFocusedUIElement]):
1075         (-[WKView accessibilityHitTest:]):
1076         (-[WKView accessibilityAttributeValue:]):
1077             Tell the AXObjectCache that AX is now enabled.
1078
1079 2013-06-04  Mark Rowe  <mrowe@apple.com>
1080
1081         REGRESSION (r151043): Frequent crashes inside WebPageProxy::getPlugInInformation
1082         <http://webkit.org/b/117180>
1083
1084         Reviewed by Brady Eidson.
1085
1086         * UIProcess/mac/WebPageProxyMac.mm:
1087         (WebKit::WebPageProxy::getPlugInInformation): Return early when plugInProcessProxy is null
1088         since there's nothing we can do.
1089
1090 2013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1091
1092         [EFl][WK2] Sub menu items should be of EWK_SUBMENU_TYPE and not checkable
1093         https://bugs.webkit.org/show_bug.cgi?id=116959
1094
1095         Reviewed by Gyuyoung Kim.
1096
1097         Currently using ewk API it is possible to create a sub menu item which is not an EWK_SUBMENU_TYPE
1098         or set checkable flag for it, while it is not possible for items created by WebKit. 
1099         This patch changes ewk context menu API to match WebKit2 behaviour, by creating sub menus with
1100         proper type and checkable flags.
1101
1102         * UIProcess/API/efl/ewk_context_menu_item.cpp:
1103         (ewk_context_menu_item_new_with_submenu):
1104         * UIProcess/API/efl/ewk_context_menu_item.h:
1105         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
1106         (showContextMenu):
1107
1108 2013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1109
1110         [EFL][WK2] Custom context menu items cannot be selected
1111         https://bugs.webkit.org/show_bug.cgi?id=116830
1112
1113         Reviewed by Gyuyoung Kim.
1114
1115         Custom item added using ewk_context_menu_item_append had no
1116         pointer to parent menu, and custom submenu added using with the
1117         the same function had no pointer to EwkView. Both issues
1118         prevented items to be selected.
1119
1120         * UIProcess/API/efl/ewk_context_menu.cpp:
1121         (EwkContextMenu::appendItem):
1122         (EwkContextMenu::contextMenuItemSelected):
1123         (ewk_context_menu_item_append):
1124         (ewk_context_menu_item_select):
1125         * UIProcess/API/efl/ewk_context_menu_private.h:
1126         (EwkContextMenu):
1127         (EwkContextMenu::setEwkView):
1128
1129 2013-06-03  Simon Cooper  <scooper@apple.com>
1130
1131         Unable to play videos in Safari using QuickTime plug-in until I've played those videos in Chrome first
1132         https://bugs.webkit.org/show_bug.cgi?id=117174
1133         <rdar://problem/13711687>
1134
1135         Reviewed by Alexey Proskuryakov.
1136
1137         Pull in fixes that allow https connections within the plugin
1138         environment.
1139
1140         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1141
1142 2013-06-03  Marcelo Lira  <marcelo.lira@openbossa.org>
1143
1144         [WK2] REGRESSION(r150798): scrolling coordinator is not being enabled when WebPage is set to use fixed layout
1145         https://bugs.webkit.org/show_bug.cgi?id=117163
1146
1147         Reviewed by Darin Adler.
1148
1149         Moved call to WebPage::settings()->setScrollingCoordinatorEnabled()
1150         from CoordinatedLayerTreeHost constructor to WebPage::setUseFixedLayout().
1151         The scrolling coordinator must be enabled or disabled following the
1152         WebPage's use of fixed layout.
1153
1154         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1155         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1156         * WebProcess/WebPage/WebPage.cpp:
1157         (WebKit::WebPage::setUseFixedLayout):
1158
1159 2013-06-03  Anders Carlsson  <andersca@apple.com>
1160
1161         Send mouse events to the banner for as long as the mouse button is down
1162         https://bugs.webkit.org/show_bug.cgi?id=117161
1163         <rdar://problem/13821220>
1164
1165         Reviewed by Beth Dakin.
1166
1167         Keep track of whether the mouse was pressed in a banner and keep sending mouse events to it,
1168         even if they are outside the banner's bounds for as long as the mouse is down.
1169
1170         * WebProcess/WebPage/PageBanner.h:
1171         * WebProcess/WebPage/mac/PageBannerMac.mm:
1172         (WebKit::PageBanner::PageBanner):
1173         (WebKit::PageBanner::mouseEvent):
1174
1175 2013-06-03  Sergio Correia  <sergio.correia@openbossa.org>
1176
1177         [EFL][WK2] Process launcher uses system() for wrapping the WebProcess when using WEB_PROCESS_CMD_PREFIX
1178         https://bugs.webkit.org/show_bug.cgi?id=105156
1179
1180         Reviewed by Christophe Dumez.
1181
1182         When using WEB_PROCESS_CMD_PREFIX - which allows us for instance to analyze
1183         WebProcess under tools like valgrind or gdb -, the ProcessLauncher would
1184         spawn the new process using system(), which would, among other things, keep
1185         an extra UIProcess waiting and executing the shell.
1186
1187         This patch handles the normal case and the case where we have something to
1188         prefix WebProcess (i.e., by using WEB_PROCESS_CMD_PREFIX in a debug build)
1189         the same way, through a call to execvp().
1190
1191         To achieve this a function was introduced to create an array with the given
1192         arguments to the full command to be executed, to be used by execvp(). We use
1193         a Vector<OwnArrayPtr<char>>, so that we can take advantage of the destructor
1194         of OwnArrayPtr to handle the memory deallocation when it goes out of scope.
1195
1196         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
1197         (WebKit::createArgsArray):  This function creates the array to be used by
1198         execvp(), out of the Strings given as arguments.
1199         (WebKit::ProcessLauncher::launchProcess): Rework the logic to accomodate
1200         both the cases with and without WEB_PROCESS_CMD_PREFIX. The execl() call
1201         was replaced with an execvp() call, since now we should deal with having
1202         a variable number of arguments (WEB_PROCESS_CMD_PREFIX) as well.
1203
1204 2013-06-02  Arunprasad Rajkumar  <arurajku@cisco.com>
1205
1206         [Qt] Move Qt port off legacy clipboard
1207         https://bugs.webkit.org/show_bug.cgi?id=116416
1208
1209         Reviewed by Darin Adler.
1210
1211         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
1212         (WebKit::WebDragClient::startDrag):
1213
1214 2013-06-02  Sergio Correia  <sergio.correia@openbossa.org>
1215
1216         [WK2][CoordinatedGraphics]: Use a properly initialized WebPage when creating a PageClient
1217         https://bugs.webkit.org/show_bug.cgi?id=117116
1218
1219         Reviewed by Tim Horton.
1220
1221         Valgrind reported a "conditional jump or move depends on uninitialised value"
1222         at WebPageProxy constructor, when checking the m_isVisible variable inside
1223         the ENABLE(PAGE_VISIBILITY_API) guard.
1224
1225         The issue was tracked down to the WebView constructor, which was creating a
1226         WebKit::PageClient* making use of `this' before having initialized all of its
1227         attributes.
1228
1229         The solution was to move the initialization of the `page' member to inside the
1230         constructor itself - out of the initialization list -, where we can guarantee
1231         all the relevant stuff has already been properly initialized.
1232
1233         Here's the relevant valgrind trace for reference:
1234
1235         Conditional jump or move depends on uninitialised value(s)
1236             at 0x65A35A4: WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient*,
1237                           WTF::PassRefPtr<WebKit::WebProcessProxy>,
1238                           WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:322)
1239             by 0x65A2BA2: WebKit::WebPageProxy::create(WebKit::PageClient*,
1240                           WTF::PassRefPtr<WebKit::WebProcessProxy>,
1241                           WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:233)
1242             by 0x65E94BB: WebKit::WebProcessProxy::createWebPage(WebKit::PageClient*,
1243                           WebKit::WebContext*, WebKit::WebPageGroup*)
1244                           (WebProcessProxy.cpp:172)
1245             by 0x6570957: WebKit::WebContext::createWebPage(WebKit::PageClient*,
1246                           WebKit::WebPageGroup*, WebKit::WebPageProxy*)
1247                           (WebContext.cpp:735)
1248             by 0x67673E3: WebKit::WebView::WebView(WebKit::WebContext*,
1249                           WebKit::WebPageGroup*) (WebView.cpp:52)
1250             by 0x6775F18: WebKit::WebViewEfl::WebViewEfl(WebKit::WebContext*,
1251                           WebKit::WebPageGroup*) (WebViewEfl.cpp:54)
1252             by 0x6775EB4: WebKit::WebView::create(WebKit::WebContext*,
1253                           WebKit::WebPageGroup*) (WebViewEfl.cpp:49)
1254             by 0x673E13D: WKViewCreate (WKView.cpp:33)
1255             by 0x6763ECE: EWKViewCreate (ewk_view.cpp:92)
1256
1257         * UIProcess/CoordinatedGraphics/WebView.cpp:
1258         (WebKit::WebView::WebView):
1259
1260 2013-05-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1261
1262         [EFL][WK2] Add a null checking condition to in hide() of EwkContextMenu
1263         https://bugs.webkit.org/show_bug.cgi?id=117014
1264
1265         Reviewed by Christophe Dumez.
1266
1267         m_viewImpl is able to be null. So, we need to protect this function against such case.
1268
1269         * UIProcess/API/efl/ewk_context_menu.cpp:
1270         (EwkContextMenu::hide):
1271         (ewk_context_menu_hide):
1272         * UIProcess/API/efl/ewk_context_menu_private.h:
1273         (EwkContextMenu):
1274
1275 2013-05-31  Oliver Hunt  <oliver@apple.com>
1276
1277         Fix bug in active page tracking that lead to plugins hanging during destruction
1278         https://bugs.webkit.org/show_bug.cgi?id=117099
1279
1280         Reviewed by Anders Carlsson.
1281
1282         NPRuntimeObjectMap no longer keeps its own reference to the
1283         throttler, and no longer reports activity during destruction.
1284
1285         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1286         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
1287         (WebKit::NPRuntimeObjectMap::evaluate):
1288         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1289         * WebProcess/Plugins/PluginView.cpp:
1290         (WebKit::PluginView::PluginView):
1291
1292 2013-05-31  Tim Horton  <timothy_horton@apple.com>
1293
1294         [wk2] All intrinsic content size changes should go through the 0-delay timer
1295         https://bugs.webkit.org/show_bug.cgi?id=117058
1296         <rdar://problem/13935042>
1297
1298         Reviewed by Anders Carlsson.
1299
1300         In r146913, I added a 0-delay timer so that we'd coalesce intrinsic
1301         content size changes. However, didUpdateGeometry was still immediately
1302         invalidating the intrinsic content size without coalescing.
1303
1304         Move that update to the WebProcess to share the timer.
1305
1306         * UIProcess/DrawingAreaProxy.h:
1307         (WebKit::DrawingAreaProxy::didUpdateGeometry):
1308         * UIProcess/DrawingAreaProxy.messages.in:
1309         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1310         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1311         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
1312         Remove the newIntrinsicContentSize argument, and don't invalidate intrinsic
1313         content size inside didUpdateGeometry.
1314
1315         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1316         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1317         Start the intrinsic content size update timer when we finish updateGeometry.
1318
1319 2013-05-31  Alexey Proskuryakov  <ap@apple.com>
1320
1321         Sandbox violations when trying to access fonts in non-standard locations
1322         https://bugs.webkit.org/show_bug.cgi?id=117097
1323         <rdar://problem/9264746>
1324
1325         Reviewed by Anders Carlsson.
1326
1327         The issue was that lack of a main xib was resulting in font machinery being
1328         initialized too early, before we entered sandbox.
1329
1330         * Resources/WebContentProcess.xib: Added.
1331         * WebKit2.xcodeproj/project.pbxproj:
1332         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
1333         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
1334         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
1335
1336 2013-05-31  Alexey Proskuryakov  <ap@apple.com>
1337
1338         <rdar://problem/14036464> Sandbox violation when using Web SpeechSynthesis
1339
1340         Reviewed by Anders Carlsson
1341
1342         * WebProcess/com.apple.WebProcess.sb.in: Allow com.apple.speech.synthesis.console.
1343
1344 2013-05-31  Jessie Berlin  <jberlin@apple.com>
1345
1346         Need the ability to get the information for a plug-in with a particular process id that may
1347         be running on a page
1348         https://bugs.webkit.org/show_bug.cgi?id=117090
1349
1350         Rubber-stamped by Anders Carlsson.
1351
1352         Follow-up to r151043 incorprating some feedback I got from Darin after I had already
1353         committed the patch.
1354
1355         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1356         (callGetPlugInInformationBlockAndDispose):
1357         Renamed to be less wordy.
1358         (WKPageGetPlugInInformation):
1359         Ditto.
1360         * UIProcess/API/C/mac/WKPagePrivateMac.h:
1361         Ditto.
1362
1363         * UIProcess/Plugins/PluginProcessManager.h:
1364         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
1365         (WebKit::PluginProcessManager::findPlugInProcessByID):
1366         Renamed to not use "Cocoa method style" in non-Cocoa functions.
1367         (WebKit::PluginProcessManager::findPlugInProcessByToken):
1368         Ditto.
1369
1370         * UIProcess/WebPageProxy.h:
1371         * UIProcess/mac/WebPageProxyMac.mm:
1372         (WebKit::WebPageProxy::getPlugInInformation):
1373         Reduce ref count churn and fix a variable name.
1374         Updated for the change to findPlugInProcessByID.
1375         (WebKit::WebPageProxy::containsPlugInCallback):
1376         Updated for the change to findPlugInProcessByToken.
1377
1378         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1379         Move the override of a virtual function to the private section.
1380
1381 2013-05-31  Jessie Berlin  <jberlin@apple.com>
1382
1383         Need the ability to get the information for a plug-in with a particular process id that may
1384         be running on a page
1385         https://bugs.webkit.org/show_bug.cgi?id=117090
1386
1387         Reviewed by Anders Carlsson.
1388
1389         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1390         (callGetInformationForPlugInWithProcessIDBlockAndDispose):
1391         Get the block from the context, invoke it with the result, and dispose of it.
1392         (WKPageGetInformationForPlugInWithProcessID):
1393         Ask the WebPageProxy and provide it with a dictionary callback that uses the
1394         above function to invoke the passed in block.
1395         * UIProcess/API/C/mac/WKPagePrivateMac.h:
1396         Add WKPageGetInformationForPlugInWithProcessID and a typedef for the callback block.
1397
1398         * UIProcess/Plugins/PluginProcessManager.h:
1399         Add ways to get the PluginProcessProxy associated with a process id or process token.
1400         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
1401         (WebKit::PluginProcessManager::plugInProcessWithProcessID):
1402         Return the first PluginProcessProxy with the passed in process ID.
1403         (WebKit::PluginProcessManager::plugInProcessWithToken):
1404         Return the first PluginProcessProxy with the passed in process token.
1405
1406         * UIProcess/WebPageProxy.cpp:
1407         (WebKit::WebPageProxy::close):
1408         Invalidate any outstanding requests for plug-in information.
1409         * UIProcess/WebPageProxy.h:
1410         Keep track of the callbacks for the requests for plug-in information.
1411         * UIProcess/WebPageProxy.messages.in:
1412         * UIProcess/mac/WebPageProxyMac.mm:
1413         (WebKit::WebPageProxy::getInformationForPlugInWithProcessID):
1414         If there are no known plug-ins with the provided process ID, invoke the callback with a null
1415         dictionary of plug-in information.
1416         Otherwise, keep track of the callback and send a message to the web process asking for the
1417         information.
1418         (WebKit::WebPageProxy::containsPlugInCallback):
1419         If the page did not contain the plug-in, invoke the callback with a null dictionary of
1420         plug-in information.
1421         Invoke the callback with a dictionary containing the PlugInModuleInfo.
1422
1423         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1424         Return 0 for the plugInProcessToken.
1425         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1426         Ditto.
1427         * WebProcess/Plugins/Plugin.h:
1428         Add a pure virtual method for plugInProcessToken so it can be accessed from from the Plugin
1429         on the PluginView.
1430         * WebProcess/Plugins/PluginProxy.h:
1431         Return the actual plug-in process token.
1432
1433         * WebProcess/Plugins/PluginView.h:
1434         (WebKit::PluginView::plugIn):
1435         Make it possible to get at the plug-in process token through the Plugin.
1436
1437         * WebProcess/WebPage/WebPageMac.mm:
1438         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
1439         If there is an instance of the plug-in with that token, send a confirmation to the ui
1440         process.
1441         * WebProcess/WebPage/WebPage.h:
1442         * WebProcess/WebPage/WebPage.messages.in:
1443
1444 2013-05-31  Alexey Proskuryakov  <ap@apple.com>
1445
1446         REGRESSION (r141445): MPEG-4 videos do not play on certain hardware configurations
1447         https://bugs.webkit.org/show_bug.cgi?id=117089
1448         <rdar://problem/13839717>
1449
1450         Reviewed by Mark Rowe.
1451
1452         * Configurations/WebContentProcess.xcconfig: Statically link to a framework that
1453         uses an XPC service to work around a libxpc limitation on Lion.
1454
1455 2013-05-31  Dean Jackson  <dino@apple.com>
1456
1457         Don't create an accelerated compositing layer unless we have to for snapshotting plug-ins
1458         https://bugs.webkit.org/show_bug.cgi?id=117076
1459         <rdar://problem/14030364>
1460
1461         Reviewed by Beth Dakin and Anders Carlsson.
1462
1463         If a plug-in can support software snapshotting, then don't create an
1464         accelerated compositing layer for it while in snapshot mode. This is a
1465         better user experience -- otherwise the page/plug-in looks like it broke.
1466
1467         * WebProcess/Plugins/PluginView.cpp:
1468         (WebKit::PluginView::isAcceleratedCompositingEnabled): If we are in snapshotting mode
1469         and we are a Flash plugin (the only one that supports software snapshots at the moment)
1470         then do not create an accelerated compositing layer.
1471
1472 2013-05-30  Tim Horton  <timothy_horton@apple.com>
1473
1474         It's easy to hit ASSERT_NOT_REACHED in WKDOMNodeClass
1475         https://bugs.webkit.org/show_bug.cgi?id=117051
1476
1477         Reviewed by Anders Carlsson.
1478
1479         Re-add the ASSERT_NOT_REACHED, and return [WKDOMNode class] in the case
1480         where we don't have a specific subclass.
1481
1482         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
1483         (WebKit::WKDOMNodeClass):
1484
1485 2013-05-31  Stephanie Lewis  <slewis@apple.com>
1486
1487         Update low memory handler to use new memory pressure notifications on new OS versions.
1488         <rdar://problem/14027095>
1489
1490         Reviewed by Mark Rowe.
1491
1492         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1493         (InitWebCoreSystemInterface):
1494
1495 2013-05-30  Tim Horton  <timothy_horton@apple.com>
1496
1497         Remove ASSERT_NOT_REACHED from WKDOMNodeClass
1498         https://bugs.webkit.org/show_bug.cgi?id=117051
1499
1500         Reviewed by Anders Carlsson.
1501
1502         It's easy to fail this assertion in seemingly-legitimate cases.
1503
1504         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
1505         (WebKit::WKDOMNodeClass):
1506
1507 2013-05-29  Jeffrey Pfau  <jpfau@apple.com>
1508
1509         [Mac] Enable cache partitioning and the public suffix list on 10.8
1510         <rdar://problem/13679019>
1511
1512         Rubber-stamped by David Kilzer.
1513
1514         * Configurations/FeatureDefines.xcconfig:
1515
1516 2013-05-30  Andreas Kling  <akling@apple.com>
1517
1518         Fix double hash lookup in WebPage::determinePrimarySnapshottedPlugIn() loop.
1519         <http://webkit.org/b/117032>
1520
1521         Reviewed by Anders Carlsson.
1522
1523         * WebProcess/WebPage/WebPage.cpp:
1524         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
1525
1526 2013-05-29  Tim Horton  <timothy_horton@apple.com>
1527
1528         Expose incrementalRenderingSuppressionTimeout via WK2
1529         https://bugs.webkit.org/show_bug.cgi?id=117015
1530         <rdar://problem/13992853>
1531
1532         Reviewed by Darin Adler.
1533
1534         * Shared/WebPreferencesStore.h:
1535         * UIProcess/API/C/WKPreferencesPrivate.h:
1536         Add IncrementalRenderingSuppressionTimeout preference.
1537
1538         * UIProcess/API/C/WKPreferences.cpp:
1539         (WKPreferencesSetIncrementalRenderingSuppressionTimeout): Added.
1540         (WKPreferencesGetIncrementalRenderingSuppressionTimeout): Added.
1541
1542         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1543         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1544         (WebKit::WebFrameLoaderClient::forcePageTransitionIfNeeded): Added.
1545         Call didCompletePageTransition, which un-freezes the layer tree.
1546
1547         * WebProcess/WebPage/WebPage.cpp:
1548         (WebKit::WebPage::didCompletePageTransition):
1549         Fix some indentation.
1550
1551         (WebKit::WebPage::updatePreferences):
1552         Forward the timeout value through to WebCore.
1553
1554 2013-05-29  Simon Fraser  <simon.fraser@apple.com>
1555
1556         Fix paint-related milestones to not fire when the layer tree is frozen
1557         https://bugs.webkit.org/show_bug.cgi?id=117012
1558
1559         Reviewed by Tim Horton.
1560         
1561         Implement ChromeClient::layerTreeStateIsFrozen() to return
1562         the frozen state of the drawing area.
1563
1564         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1565         (WebKit::WebChromeClient::layerTreeStateIsFrozen):
1566         * WebProcess/WebCoreSupport/WebChromeClient.h:
1567         (WebChromeClient):
1568
1569 2013-05-29  Anders Carlsson  <andersca@apple.com>
1570
1571         WebKit should expose HSTS APIs to determine whether a host is in the HSTS cache and to reset HSTS policies
1572         https://bugs.webkit.org/show_bug.cgi?id=117010
1573         <rdar://problem/13689666>
1574
1575         Reviewed by Tim Horton.
1576
1577         * UIProcess/API/C/mac/WKContextPrivateMac.h:
1578         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1579         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1580         * UIProcess/API/C/mac/WKPagePrivateMac.h:
1581         * UIProcess/WebContext.h:
1582         (WebContext):
1583         * UIProcess/mac/WebContextMac.mm:
1584         (WebKit):
1585         (WebKit::privateBrowsingSession):
1586         (WebKit::WebContext::isURLKnownHSTSHost):
1587         (WebKit::WebContext::resetHSTSHosts):
1588
1589 2013-05-29  Tim Horton  <timothy_horton@apple.com>
1590
1591         WKViews using shouldClipToVisibleRect=YES should respect prepareContentInRect: if called
1592         https://bugs.webkit.org/show_bug.cgi?id=116989
1593         <rdar://problem/14007440>
1594
1595         Reviewed by Anders Carlsson.
1596
1597         * UIProcess/API/mac/WKView.mm:
1598         (-[WKView prepareContentInRect:]):
1599         If prepareContentInRect: is called, save the rect and set a flag so we know we should use it.
1600
1601         (-[WKView _updateViewExposedRect]):
1602         Give the WebPage (and later the DrawingArea) the union of the rect handed to prepareContentInRect:
1603         and the WKView's visibleRect, if we're in that mode, so that applications that do their own scrolling
1604         can cause tiles to be created in currently offscreen views (for overdraw).
1605
1606         (-[WKView setFrameSize:]):
1607         (-[WKView _updateWindowAndViewFrames]):
1608         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1609         (-[WKView enableFrameSizeUpdates]):
1610         (-[WKView setShouldClipToVisibleRect:]):
1611         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
1612         Use [_updateViewExposedRect].
1613
1614 2013-05-28  Oliver Hunt  <oliver@apple.com>
1615
1616         Add more accurate activity state tracking
1617         https://bugs.webkit.org/show_bug.cgi?id=116893
1618
1619         Reviewed by Gavin Barraclough.
1620
1621         This extends the logic in WebCore from a Page to Process
1622         granularity, so we will avoid lowering the child process
1623         priority if there is active content.  This also plumbs in
1624         the logic to allow plugins to report that they have done
1625         something "interesting".  Currently this is somewhat conservative
1626         but even this is sufficient to fix some stuttering issues
1627         that we've seen.
1628
1629         * Shared/ChildProcess.cpp:
1630         (WebKit::ChildProcess::ChildProcess):
1631         * Shared/ChildProcess.h:
1632         (ChildProcess):
1633         (WebKit::ChildProcess::processSuppressionEnabled):
1634         (WebKit::ChildProcess::incrementActiveTaskCount):
1635         (WebKit::ChildProcess::decrementActiveTaskCount):
1636         * Shared/mac/ChildProcessMac.mm:
1637         (WebKit):
1638         (WebKit::ChildProcess::setProcessSuppressionEnabledInternal):
1639         (WebKit::ChildProcess::setProcessSuppressionEnabled):
1640         (WebKit::ChildProcess::incrementActiveTaskCount):
1641         (WebKit::ChildProcess::decrementActiveTaskCount):
1642         (WebKit::ChildProcess::suspensionHysteresisTimerFired):
1643         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1644         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
1645         (WebKit::NPRuntimeObjectMap::evaluate):
1646         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1647         (WebCore):
1648         (NPRuntimeObjectMap):
1649         * WebProcess/Plugins/PluginView.cpp:
1650         (WebKit::PluginView::PluginView):
1651         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1652         (WebKit::WebChromeClient::incrementActivePageCount):
1653         (WebKit):
1654         (WebKit::WebChromeClient::decrementActivePageCount):
1655         * WebProcess/WebCoreSupport/WebChromeClient.h:
1656         (WebChromeClient):
1657
1658 2013-05-29  Anders Carlsson  <andersca@apple.com>
1659
1660         Return earlier if there's no session storage namespace
1661         https://bugs.webkit.org/show_bug.cgi?id=116984
1662         <rdar://problem/13976781>
1663
1664         Reviewed by Tim Horton.
1665
1666         If we can't find a session storage namespace, return before creating an entry in the m_storageAreasByConnection
1667         hash map since then we'll crash trying to remove it later.
1668
1669         * UIProcess/Storage/StorageManager.cpp:
1670         (WebKit::StorageManager::createSessionStorageMap):
1671
1672 2013-05-29  Martin Robinson  <mrobinson@igalia.com>
1673
1674         Fix more CMake GTK+ build issues after r150336
1675
1676         * CMakeLists.txt: We need to allow for setting the WebProcess output name, since
1677         WebKitGTK+ expects it to be called WebKitWebProcess.
1678         * PlatformGTK.cmake: No longer set WebProcess_EXECUTABLE_NAME as it's been replaced
1679         by WebKit2_WebProcess_OUTPUT_NAME.
1680
1681 2013-05-29  Marcelo Lira  <marcelo.lira@openbossa.org>
1682
1683         [WK2][CoordinatedGraphics][EFL] WKViewUserViewportToContents() function doesn't do what it says
1684         https://bugs.webkit.org/show_bug.cgi?id=116683
1685
1686         Reviewed by Noam Rosenthal.
1687
1688         WKViewUserViewportToContents now converts WebView coordinates to
1689         page contents coordinates, taking into account factors as content
1690         scale and scroll, and also device scale.
1691
1692         The function WKViewUserViewportToScene was added to convert WebView
1693         coordinates to the coordinates of the canvas/scene where the view
1694         is drawn, and EwkView was fixed to use it, instead of
1695         WKViewUserViewportToContents.
1696
1697         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1698         (WKViewUserViewportToScene):
1699         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1700         * UIProcess/API/efl/EwkView.cpp:
1701         (EwkView::createGLSurface):
1702         * UIProcess/CoordinatedGraphics/WebView.cpp:
1703         (WebKit::WebView::userViewportToContents):
1704         (WebKit):
1705         (WebKit::WebView::userViewportToScene):
1706         (WebKit::WebView::transformToScene):
1707         * UIProcess/CoordinatedGraphics/WebView.h:
1708         (WebView):
1709
1710 2013-05-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1711
1712         Unreviewed. Fix make distcheck.
1713
1714         * GNUmakefile.am: Add WebCoreLayerGtk2.a to DISTCLEANFILES.
1715
1716 2013-05-29  Seokju Kwon  <seokju.kwon@gmail.com>
1717
1718         [GTK] Clean up WebKit2 GNUmakefile.am
1719         https://bugs.webkit.org/show_bug.cgi?id=116907
1720
1721         Reviewed by Martin Robinson.
1722
1723         Removed WebNotificationManagerProxy.messages.in after r150785.
1724
1725         * GNUmakefile.am:
1726
1727 2013-05-28  Alexey Proskuryakov  <ap@apple.com>
1728
1729         Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled
1730         https://bugs.webkit.org/show_bug.cgi?id=116887
1731         <rdar://problem/12965959>
1732
1733         Reviewed by Darin Adler.
1734
1735         * Shared/cf/ArgumentCodersCF.cpp:
1736         (CoreIPC::encode):
1737         (CoreIPC::decode):
1738         Fix for the bug: use good shared WebCore code to manipulate CFURLs. Also, added
1739         a FIXME about empty URLs.
1740
1741         * Shared/API/c/cf/WKURLCF.cpp: (WKURLCreateWithCFURL): Fixed to not use
1742         CFURLGetString, as that could prevent loading certain resources, like ones with
1743         curly braces in resource specifiers. We want KURL normalization, not CFURL one.
1744
1745 2013-05-28  Tim Horton  <timothy_horton@apple.com>
1746
1747         Rendering suppression extension tokens shouldn't be 0, should handle overflow
1748         https://bugs.webkit.org/show_bug.cgi?id=116886
1749         <rdar://problem/14004474>
1750
1751         Reviewed by Darin Adler.
1752
1753         Don't use invalid HashSet values as tokens, and ensure that
1754         we're not already using a token before returning it.
1755
1756         * WebProcess/WebPage/WebPage.cpp:
1757         (WebKit::WebPage::extendIncrementalRenderingSuppression):
1758
1759 2013-05-28  Lauro Neto <lauro.neto@openbossa.org>
1760
1761         [GTK] Connection issues in repeated WebProcess crash/reloads.
1762         https://bugs.webkit.org/show_bug.cgi?id=115880
1763
1764         Reviewed by Anders Carlsson.
1765
1766         When stressing the WebProcess creation/destruction, WebKitGTK can
1767         often run into socket issues like bad file descriptor errors or
1768         polling a socket indefinitely.
1769
1770         Currently WebKitGTK has three places where a socket can be
1771         closed.
1772
1773         - childFinishedFunction (in ProcessLauncherGtk.cpp)
1774         - Connection::platformInvalidate (in ConnectionUnix.cpp)
1775         - WorkQueue EventSource destruction (in WorkQueueGtk.cpp)
1776
1777         To avoid these race conditions, socket closing will be handled
1778         by the event source callback in WorkQueueGtk.cpp.
1779
1780         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
1781         (CoreIPC::Connection::platformInvalidate): Do not close the socket
1782         when the connection is invalidated, the socket event source is
1783         unregistered in this method and the socket is closed when the
1784         GSocket associated to the event source is destroyed.
1785         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1786         (WebKit::ProcessLauncher::launchProcess): Do not monitor child
1787         process to close the connection on termination. This was needed in
1788         the past when we used DGRAM sockets, we currently use always
1789         connection oriented sockets, so that when the other end closes
1790         the connection we are notified and the connection is invalidated.
1791
1792 2013-05-28  Martin Robinson  <mrobinson@igalia.com>
1793
1794         Fix GTK+ CMake build
1795
1796         * PlatformGTK.cmake: After r150336, the name of the WebKit2
1797         library target is simply "WebKit2."
1798
1799 2013-05-28  Marcelo Lira  <marcelo.lira@openbossa.org>
1800
1801         [WK2][CoordinatedGraphics] DrawingArea's visible content area must be updated when contents size changes
1802         https://bugs.webkit.org/show_bug.cgi?id=116845
1803
1804         Reviewed by Noam Rosenthal.
1805
1806         * UIProcess/CoordinatedGraphics/WebView.cpp:
1807         (WebKit::WebView::didChangeContentsSize):
1808
1809 2013-05-28  Noam Rosenthal  <noam@webkit.org>
1810
1811         [Qt] REGRESSION(r149292): broke scrolling in Qt WK2 desktop mode
1812         https://bugs.webkit.org/show_bug.cgi?id=116597
1813
1814         ScrollingCoordinatorCoordinatedGraphics is tailored specifically for
1815         fixedLayout mode. When fixedLayout is not set, it should be turned off.
1816
1817         Reviewed by Allan Sandfeld Jensen.
1818
1819         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1820         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1821
1822 2013-05-28  Andreas Kling  <akling@apple.com>
1823
1824         Document::setFocusedNode() should be setFocusedElement().
1825         <http://webkit.org/b/116857>
1826
1827         Reviewed by Antti Koivisto.
1828
1829         * WebProcess/Plugins/PluginView.cpp:
1830         (WebKit::PluginView::focusPluginElement):
1831         * WebProcess/WebPage/WebPage.cpp:
1832         (WebKit::WebPage::focusedPluginViewForFrame):
1833         (WebKit::WebPage::setInitialFocus):
1834
1835 2013-05-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1836
1837         [EFL][WK2] Clean up duplicated include files.
1838         https://bugs.webkit.org/show_bug.cgi?id=116851
1839
1840         Reviewed by Christophe Dumez.
1841
1842         Remove some of duplicated include file in ewk files.
1843
1844         * UIProcess/API/efl/EwkView.h:
1845         * UIProcess/API/efl/ewk_color_picker.cpp:
1846         * UIProcess/API/efl/ewk_context_menu.cpp:
1847         * UIProcess/API/efl/ewk_security_origin_private.h:
1848
1849 2013-05-28  Ryuan Choi  <ryuan.choi@samsung.com>
1850
1851         [EFL] pc files should have harfbuzz dependency.
1852         https://bugs.webkit.org/show_bug.cgi?id=116852
1853
1854         Reviewed by Gyuyoung Kim.
1855
1856         * efl/ewebkit2.pc.in: Added harfbuzz as Required package.
1857
1858 2013-05-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1859
1860         [EFL][WK2] Remove unneeded WebCore namespace use in ewk
1861         https://bugs.webkit.org/show_bug.cgi?id=116707
1862
1863         Reviewed by Christophe Dumez.
1864
1865         * UIProcess/API/efl/ewk_security_origin.cpp: Remove "using namespace WebCore".
1866         * UIProcess/API/efl/ewk_text_checker.cpp: ditto.
1867
1868 2013-05-26  Jon Lee  <jonlee@apple.com>
1869
1870         [WK2] Notifications clobber each other with multiple processes
1871         https://bugs.webkit.org/show_bug.cgi?id=116428
1872         <rdar://problem/13935191>
1873
1874         Reviewed by Darin Adler.
1875
1876         With multiple processes, the notification IDs, when passed up to the UI process, can clobber
1877         each other. To fix this, we need to maintain a global map of notification IDs. This map is
1878         keyed by its own unique notification ID, and maps to a pair containing the web page ID and that
1879         web page's ID for the notification.
1880
1881         Now that we maintain groups of notifications based on the web page, we no longer send IPC messages
1882         from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the
1883         WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver.
1884
1885         When a page closes, all of the web notifications are cleared out. However, by the time the
1886         WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since
1887         the WebPage is told to close from the UI process anyway, we clear out the notifications separately,
1888         instead of waiting for a message from the WebPage.
1889
1890         * UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the
1891         notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message
1892         handlers as public functions, since they will be called from WebPageProxy. Add a new map that
1893         associates a global ID with a notification ID that came from a web page.
1894             There are now two flavors of clearNotifications(). One clears out all notifications associated
1895         with a web page. This is called when the page is closed. The other clears out a subset of
1896         notifications associated with a web page. This is called when notifications associated with a sub-frame
1897         is closed.
1898         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from
1899         the web process go to WebPageProxy now.
1900
1901         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the
1902         notification's web page.
1903
1904         (WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification
1905         ID generator.
1906         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a
1907         message receiver. Remove code that registers it as such.
1908
1909         (WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID
1910         that came from the web process, and the global notification ID the proxy maintains. Add the mapping
1911         from the global ID to the (web page ID, notification ID) pair.
1912         (WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page.
1913         (WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration
1914         the web page. Fixes a leak where we did not remove the item from the maps. This function is called
1915         from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps
1916         before we pass the message along to the provider.
1917
1918         Helper functions that evaluate when a given notification in the map matches the desired parameters.
1919         (WebKit::pageIDsMatch): The notification is associated with the provided page.
1920         (WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is
1921         contained within the list of provided notifications.
1922
1923         (WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications
1924         associated with the provided web page, and could include a specific list of notifications. This latter
1925         situation occurs if notifications were associated with an iframe, and that iframe was removed.
1926         There is an O(n) walk that could be make more efficient using another hash map, but that's overhead
1927         for a map that should be small in size anyway.
1928
1929         (WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into
1930         consideration the web page.
1931         (WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into
1932         consideration the web page.
1933         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through
1934         the list of global IDs and put them in buckets based on the notification's web pages. After that
1935         is done we can send the DidCloseNotifications() to those pages' processes. There is a possible
1936         extra optimization here where we group based on the page's process instead, to reduce the number
1937         of messages sent to processes.
1938
1939         * UIProcess/WebPageProxy.cpp:
1940         (WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated
1941         with the page.
1942         (WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy.
1943         (WebKit::WebPageProxy::clearNotifications): Ditto.
1944         (WebKit::WebPageProxy::didDestroyNotification): Ditto.
1945         * UIProcess/WebPageProxy.h:
1946         * UIProcess/WebPageProxy.messages.in:
1947
1948         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1949         * WebProcess/Notifications/WebNotificationManager.cpp:
1950         (WebKit::WebNotificationManager::cancel):
1951         (WebKit::WebNotificationManager::clearNotifications):
1952         (WebKit::WebNotificationManager::didDestroyNotification):
1953         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include.
1954
1955         * CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files.
1956         * DerivedSources.pri: Ditto.
1957         * DerivedSources.make: Ditto.
1958         * GNUmakefile.list.am: Ditto.
1959         * WebKit2.xcodeproj/project.pbxproj: Ditto.
1960
1961 2013-05-27  Tim Horton  <timothy_horton@apple.com>
1962
1963         Unreviewed build fix take 2.
1964
1965         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1966
1967 2013-05-27  Tim Horton  <timothy_horton@apple.com>
1968
1969         Unreviewed build fix.
1970
1971         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1972
1973 2013-05-27  Tim Horton  <timothy_horton@apple.com>
1974
1975         PDFPlugin: Main-frame PDFPlugin Accessibility
1976         https://bugs.webkit.org/show_bug.cgi?id=116563
1977         <rdar://problem/13458534>
1978
1979         Reviewed by Sam Weinig.
1980
1981         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
1982         Forward-declare a variety of accessibility methods.
1983
1984         * WebProcess/Plugins/PDF/PDFPlugin.h:
1985         Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and
1986         storage for our accessibility wrapper.
1987         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1988         Add WKPDFPluginAccessibilityObject.
1989
1990         (-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]):
1991         We want to be included in the accessibility tree.
1992
1993         (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
1994         (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
1995         Grab values for accessibility attributes from the relevant sources
1996         (mostly from PDFLayerController).
1997
1998         (-[WKPDFPluginAccessibilityObject readingModel]): Ditto.
1999         (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
2000         (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
2001         (-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
2002         Return the set of accessibility attributes, actions, and parameterized
2003         attributes that we support.
2004
2005         (-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]):
2006         (-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]):
2007         Forward some other accessibility methods to PDFLayerController.
2008
2009         (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
2010         (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
2011         We have no children, so if a hit test makes it to us, it's ours.
2012
2013         (WebKit::PDFPlugin::PDFPlugin):
2014         Make a WKPDFPluginAccessibilityObject and hook it up.
2015         [FIXME: this could use some de-crapifying]
2016
2017         (WebKit::PDFPlugin::convertFromPluginToPDFView):
2018         Transform a point from plugin space to PDFLayerController space.
2019
2020         (WebKit::PDFPlugin::convertFromPDFViewToRootView):
2021         (WebKit::PDFPlugin::convertFromPDFViewToScreen): Added.
2022         (WebKit::PDFPlugin::boundsOnScreen):
2023         Return the PDFPlugin's frame in screen coordinates.
2024
2025         (WebKit::PDFPlugin::accessibilityObject):
2026         Return our accessibility wrapper.
2027
2028         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2029         * WebProcess/Plugins/Plugin.h:
2030         (WebKit::Plugin::accessibilityObject):
2031         * WebProcess/Plugins/PluginView.cpp:
2032         (WebKit::PluginView::accessibilityObject):
2033         * WebProcess/Plugins/PluginView.h:
2034         Add accessibilityObject(), to acquire accessibility wrappers from plugins.
2035
2036         * WebProcess/WebPage/WebPage.h:
2037         (WebPage): Add accessibilityObjectForMainFramePlugin();
2038         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2039         (-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]):
2040         If the main frame has a PluginDocument that has an accessibilityObject,
2041         use that one instead of the WebPage's.
2042
2043         * WebProcess/WebPage/mac/WebPageMac.mm:
2044         (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
2045         Return the accessibilityObject from the main-frame PluginDocument, if
2046         there is one.
2047
2048 2013-05-27  Marcelo Lira  <marcelo.lira@openbossa.org>
2049
2050         [WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize()
2051         https://bugs.webkit.org/show_bug.cgi?id=116688
2052
2053         Reviewed by Noam Rosenthal.
2054
2055         Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect()
2056         must be calculated including the page scale factor and avoid crossing the
2057         boundaries of the page contents size. In other words the DrawingArea
2058         must know the actual dimensions of what it being drawn. If the
2059         DrawingArea thinks the visible rectangle is bigger than it is, the
2060         contents will be drawn pixelated and blurry.
2061
2062         * UIProcess/CoordinatedGraphics/WebView.cpp:
2063         (WebKit::WebView::didChangeContentsSize):
2064         (WebKit::WebView::updateViewportSize):
2065         (WebKit::WebView::visibleContentsSize):
2066         (WebKit):
2067         * UIProcess/CoordinatedGraphics/WebView.h:
2068         (WebKit::WebView::contentsSize):
2069         (WebView):
2070
2071 2013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2072
2073         [GTK] WebKitWebView child widgets are not rendered with recent GTK+
2074         https://bugs.webkit.org/show_bug.cgi?id=116794
2075
2076         Reviewed by Xan Lopez.
2077
2078         Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
2079         events are not propagated to child GdkWindows anymore, and child
2080         widgets are rendered via gtk_container_propagate_draw(). Since all
2081         our children have its own GdkWindow (auth widget, inspector view
2082         and windowed plugins) we don't propagate the draw signal making
2083         them invisible with current GTK+.
2084
2085         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2086         (webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
2087         propagated to the children. This shouldn't have any effect in
2088         previous versions of GTK+ because gtk_container_propagate_draw()
2089         returned early when the child widget had its own GdkWindow.
2090
2091 2013-05-27  Xan Lopez  <xlopez@igalia.com>
2092
2093         Reset all clients on WebPage close
2094         https://bugs.webkit.org/show_bug.cgi?id=112334
2095
2096         Reviewed by Anders Carlsson.
2097
2098         We do not reset the clients on WebPage::close(), so there's a
2099         small chance that someone will try to access them after that. This
2100         won't work and will generally cause runtime warnings, crashes or
2101         other issues. Reset them all to null to prevent this situation.
2102
2103         * WebProcess/WebPage/WebPage.cpp:
2104         (WebKit::WebPage::close):
2105
2106 2013-05-27  Manuel Rego Casasnovas  <rego@igalia.com>
2107
2108         [GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream
2109         https://bugs.webkit.org/show_bug.cgi?id=114347
2110
2111         Reviewed by Carlos Garcia Campos.
2112
2113         While processing a WebKitURISchemeRequest if there is any error reading
2114         the InputStream provided by the user (for example the stream is already
2115         closed) we have to notify the WebProcess that the request has failed.
2116
2117         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2118         (webkitURISchemeRequestReadCallback): Get the error from
2119         g_input_stream_read_finish() and use it to call
2120         webkit_uri_scheme_request_finish_error() in order to finish the failing
2121         WebKitURISchemeRequest properly.
2122         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2123         (testWebContextURIScheme): Modify test to check the new situation using
2124         an already closed InputStream.
2125
2126 2013-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2127
2128         Unreviewed. Fix make distcheck.
2129
2130         * GNUmakefile.list.am: Add missing header file.
2131
2132 2013-05-26  Changhun Kang  <temoochin@company100.net>
2133
2134         The public WK header file should not include WKAPICast.h
2135         https://bugs.webkit.org/show_bug.cgi?id=115230
2136
2137         Reviewed by Darin Adler.
2138
2139         Otherwise, WebKit internal headers are exposed.
2140         No new tests. No change in behavior.
2141         * UIProcess/API/C/soup/WKSoupRequestManager.h:
2142         * UIProcess/soup/WebSoupRequestManagerClient.h:
2143
2144 2013-05-26  Andreas Kling  <akling@apple.com>
2145
2146         FocusController::setFocusedNode() should be setFocusedElement().
2147         <http://webkit.org/b/116780>
2148
2149         Reviewed by Antti Koivisto.
2150
2151         * WebProcess/Plugins/PluginView.cpp:
2152         (WebKit::PluginView::focusPluginElement):
2153
2154 2013-05-25  Andreas Kling  <akling@apple.com>
2155
2156         PluginDocument::pluginNode() should be pluginElement() instead.
2157         <http://webkit.org/b/116774>
2158
2159         Reviewed by Anders Carlsson.
2160
2161         * WebProcess/WebPage/WebPage.cpp:
2162         (WebKit::WebPage::focusedPluginViewForFrame):
2163
2164 2013-05-25  Simon Fraser  <simon.fraser@apple.com>
2165
2166         Unprefix Page Visibility API
2167         https://bugs.webkit.org/show_bug.cgi?id=102340
2168
2169         Reviewed by Tim Horton.
2170         
2171         Renaming of the "preview" state to "unloaded".
2172
2173         * Shared/API/c/WKPageVisibilityTypes.h:
2174         * Shared/API/c/WKSharedAPICast.h:
2175         (WebKit::toPageVisibilityState):
2176
2177 2013-05-25  Andreas Kling  <akling@apple.com>
2178
2179         Move Node::isMouseFocusable() to Element.
2180         <http://webkit.org/b/116762>
2181
2182         Reviewed by Anders Carlsson.
2183
2184         * WebProcess/WebPage/WebPage.cpp:
2185         (WebKit::WebPage::highlightPotentialActivation):
2186
2187             Check that the potentially activated Node is an Element before asking if it's mouse-focusable.
2188
2189 2013-05-25  Andreas Kling  <akling@apple.com>
2190
2191         REGRESSION: WebProcess is terminated when all Safari windows are closed.
2192         <rdar://problem/13990901>
2193         <http://webkit.org/b/116766>
2194
2195         Reviewed by Alexey Proskuryakov.
2196
2197         When closing the last page, only disconnect the web process if we're using a network process.
2198         Otherwise there might be session state in the web process getting lost.
2199
2200         * UIProcess/WebProcessProxy.cpp:
2201         (WebKit::WebProcessProxy::removeWebPage):
2202
2203 2013-05-25  Santosh Mahto  <santosh.ma@samsung.com>
2204
2205         WebFrameProxy::didFailLoad clears frame title for no apparent reason
2206         https://bugs.webkit.org/show_bug.cgi?id=116655
2207
2208         Reviewed by Alexey Proskuryakov.
2209
2210         * UIProcess/WebFrameProxy.cpp:
2211         (WebKit::WebFrameProxy::didFailLoad):
2212
2213 2013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
2214
2215         [Qt][GTK] Build fix after r150669
2216         https://bugs.webkit.org/show_bug.cgi?id=116751
2217
2218         Reviewed by Christophe Dumez.
2219
2220         * GNUmakefile.list.am:
2221         * Target.pri:
2222         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2223         (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
2224
2225 2013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
2226
2227         [EFL] Build fix after r150669
2228         https://bugs.webkit.org/show_bug.cgi?id=116750
2229
2230         Reviewed by Anders Carlsson.
2231
2232         * CMakeLists.txt:
2233         * WebProcess/Battery/WebBatteryManager.cpp:
2234         (WebKit::WebBatteryManager::registerWebPage):
2235         (WebKit::WebBatteryManager::unregisterWebPage):
2236         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2237         (WebKit::WebNetworkInfoManager::registerWebPage):
2238         (WebKit::WebNetworkInfoManager::unregisterWebPage):
2239         (WebKit::WebNetworkInfoManager::bandwidth):
2240         (WebKit::WebNetworkInfoManager::metered):
2241         * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
2242         (WebKit::WebVibrationClient::vibrate):
2243         (WebKit::WebVibrationClient::cancelVibration):
2244         * WebProcess/soup/WebSoupRequestManager.cpp:
2245         (WebKit::WebSoupRequestManager::didReceiveURIRequestData):
2246         (WebKit::WebSoupRequestManager::send):
2247
2248 2013-05-24  Anders Carlsson  <andersca@apple.com>
2249
2250         MessageSender shouldn't be a class template
2251         https://bugs.webkit.org/show_bug.cgi?id=116743
2252
2253         Reviewed by Andreas Kling.
2254
2255         Change MessageSender to be a proper abstract base class. Subclasses of MessageSender must
2256         implement messageSenderConnection() as well as messageSenderDestinationID().
2257
2258         This reduces code size and will allow us to be more flexible with MessageSender in the future.
2259
2260         * NetworkProcess/NetworkResourceLoader.cpp:
2261         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
2262         (WebKit::NetworkResourceLoader::messageSenderConnection):
2263         (WebKit):
2264         (WebKit::NetworkResourceLoader::messageSenderDestinationID):
2265         * NetworkProcess/NetworkResourceLoader.h:
2266         (NetworkResourceLoader):
2267         * NetworkProcess/mac/DiskCacheMonitor.h:
2268         (DiskCacheMonitor):
2269         * NetworkProcess/mac/DiskCacheMonitor.mm:
2270         (WebKit::DiskCacheMonitor::messageSenderConnection):
2271         (WebKit::DiskCacheMonitor::messageSenderDestinationID):
2272         (WebKit):
2273         * Platform/CoreIPC/MessageSender.h:
2274         (CoreIPC):
2275         (MessageSender):
2276         (CoreIPC::MessageSender::send):
2277         (CoreIPC::MessageSender::sendSync):
2278         * Shared/ChildProcess.cpp:
2279         (WebKit::ChildProcess::messageSenderConnection):
2280         (WebKit):
2281         (WebKit::ChildProcess::messageSenderDestinationID):
2282         * Shared/ChildProcess.h:
2283         (ChildProcess):
2284         * Shared/Downloads/Download.cpp:
2285         (WebKit::Download::messageSenderConnection):
2286         (WebKit):
2287         (WebKit::Download::messageSenderDestinationID):
2288         * Shared/Downloads/Download.h:
2289         (Download):
2290         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2291         (WebKit::CustomProtocolManager::initialize):
2292         * Shared/WebConnection.h:
2293         (WebConnection):
2294         * Shared/mac/SecItemShim.cpp:
2295         (WebKit::sendSecItemRequest):
2296         * UIProcess/WebConnectionToWebProcess.cpp:
2297         (WebKit::WebConnectionToWebProcess::hasValidConnection):
2298         (WebKit::WebConnectionToWebProcess::messageSenderConnection):
2299         (WebKit::WebConnectionToWebProcess::messageSenderDestinationID):
2300         * UIProcess/WebConnectionToWebProcess.h:
2301         (WebConnectionToWebProcess):
2302         * WebKit2.xcodeproj/project.pbxproj:
2303         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2304         (WebKit::WebGeolocationManager::registerWebPage):
2305         (WebKit::WebGeolocationManager::unregisterWebPage):
2306         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
2307         (WebKit::WebIconDatabaseProxy::retainIconForPageURL):
2308         (WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
2309         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
2310         (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
2311         (WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
2312         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
2313         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2314         (WebKit::InjectedBundle::postMessage):
2315         (WebKit::InjectedBundle::postSynchronousMessage):
2316         * WebProcess/Network/WebResourceLoader.cpp:
2317         (WebKit::WebResourceLoader::messageSenderConnection):
2318         (WebKit::WebResourceLoader::messageSenderDestinationID):
2319         * WebProcess/Network/WebResourceLoader.h:
2320         (WebResourceLoader):
2321         * WebProcess/Notifications/WebNotificationManager.cpp:
2322         (WebKit::WebNotificationManager::show):
2323         (WebKit::WebNotificationManager::cancel):
2324         (WebKit::WebNotificationManager::clearNotifications):
2325         (WebKit::WebNotificationManager::didDestroyNotification):
2326         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2327         (WebKit::PDFPlugin::writeItemsToPasteboard):
2328         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2329         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
2330         * WebProcess/Storage/StorageAreaMap.cpp:
2331         (WebKit::StorageAreaMap::StorageAreaMap):
2332         (WebKit::StorageAreaMap::~StorageAreaMap):
2333         (WebKit::StorageAreaMap::setItem):
2334         (WebKit::StorageAreaMap::removeItem):
2335         (WebKit::StorageAreaMap::clear):
2336         (WebKit::StorageAreaMap::loadValuesIfNeeded):
2337         * WebProcess/WebConnectionToUIProcess.cpp:
2338         (WebKit::WebConnectionToUIProcess::hasValidConnection):
2339         (WebKit::WebConnectionToUIProcess::messageSenderConnection):
2340         (WebKit::WebConnectionToUIProcess::messageSenderDestinationID):
2341         * WebProcess/WebConnectionToUIProcess.h:
2342         (WebConnectionToUIProcess):
2343         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2344         (WebKit::WebChromeClient::windowRect):
2345         (WebKit::WebChromeClient::focusedFrameChanged):
2346         (WebKit::WebChromeClient::createWindow):
2347         (WebKit::WebChromeClient::toolbarsVisible):
2348         (WebKit::WebChromeClient::statusbarVisible):
2349         (WebKit::WebChromeClient::menubarVisible):
2350         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
2351         (WebKit::WebChromeClient::runJavaScriptAlert):
2352         (WebKit::WebChromeClient::runJavaScriptConfirm):
2353         (WebKit::WebChromeClient::runJavaScriptPrompt):
2354         (WebKit::WebChromeClient::shouldInterruptJavaScript):
2355         (WebKit::WebChromeClient::exceededDatabaseQuota):
2356         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
2357         (WebKit::WebColorChooser::WebColorChooser):
2358         (WebKit::WebColorChooser::setSelectedColor):
2359         (WebKit::WebColorChooser::endChooser):
2360         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2361         (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon):
2362         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
2363         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
2364         (WebKit::WebFrameLoaderClient::setTitle):
2365         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2366         (WebKit::WebPlatformStrategies::populatePluginCache):
2367         (WebKit::WebPlatformStrategies::getTypes):
2368         (WebKit::WebPlatformStrategies::bufferForType):
2369         (WebKit::WebPlatformStrategies::getPathnamesForType):
2370         (WebKit::WebPlatformStrategies::stringForType):
2371         (WebKit::WebPlatformStrategies::copy):
2372         (WebKit::WebPlatformStrategies::changeCount):
2373         (WebKit::WebPlatformStrategies::uniqueName):
2374         (WebKit::WebPlatformStrategies::color):
2375         (WebKit::WebPlatformStrategies::url):
2376         (WebKit::WebPlatformStrategies::addTypes):
2377         (WebKit::WebPlatformStrategies::setTypes):
2378         (WebKit::WebPlatformStrategies::setBufferForType):
2379         (WebKit::WebPlatformStrategies::setPathnamesForType):
2380         (WebKit::WebPlatformStrategies::setStringForType):
2381         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
2382         (WebKit::WebPopupMenu::show):
2383         (WebKit::WebPopupMenu::hide):
2384         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
2385         (WebKit::WebSearchPopupMenu::saveRecentSearches):
2386         (WebKit::WebSearchPopupMenu::loadRecentSearches):
2387         * WebProcess/WebPage/EventDispatcher.cpp:
2388         (WebKit::EventDispatcher::sendDidReceiveEvent):
2389         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2390         (WebKit::updateBackForwardItem):
2391         (WebKit::WebBackForwardListProxy::itemAtIndex):
2392         (WebKit::WebBackForwardListProxy::backListCount):
2393         (WebKit::WebBackForwardListProxy::forwardListCount):
2394         * WebProcess/WebPage/WebInspector.cpp:
2395         (WebKit::WebInspector::createInspectorPage):
2396         (WebKit::WebInspector::didClose):
2397         (WebKit::WebInspector::bringToFront):
2398         (WebKit::WebInspector::inspectedURLChanged):
2399         (WebKit::WebInspector::save):
2400         (WebKit::WebInspector::append):
2401         (WebKit::WebInspector::attachBottom):
2402         (WebKit::WebInspector::attachRight):
2403         (WebKit::WebInspector::detach):
2404         (WebKit::WebInspector::setAttachedWindowHeight):
2405         (WebKit::WebInspector::setAttachedWindowWidth):
2406         (WebKit::WebInspector::setToolbarHeight):
2407         (WebKit::WebInspector::updateDockingAvailability):
2408         (WebKit::WebInspector::sendMessageToRemoteFrontend):
2409         * WebProcess/WebPage/WebPage.cpp:
2410         (WebKit::WebPage::messageSenderConnection):
2411         (WebKit):
2412         (WebKit::WebPage::messageSenderDestinationID):
2413         * WebProcess/WebPage/WebPage.h:
2414         (WebPage):
2415         * WebProcess/WebPage/mac/WebPageMac.mm:
2416         (WebKit::WebPage::executeKeypressCommandsInternal):
2417         (WebKit::WebPage::handleEditingKeyboardEvent):
2418         * WebProcess/WebProcess.cpp:
2419         (WebKit::WebProcess::ensureNetworkProcessConnection):
2420         (WebKit::WebProcess::shouldTerminate):
2421
2422 2013-05-24  Tim Horton  <timothy_horton@apple.com>
2423
2424         Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting
2425         https://bugs.webkit.org/show_bug.cgi?id=116744
2426         <rdar://problem/13973514>
2427
2428         Reviewed by Simon Fraser.
2429
2430         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2431         (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
2432         Force WebCore to repaint animated images when painting is resumed.
2433
2434 2013-05-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2435
2436         Remove custom code for webkitAudioContext global constructor getter
2437         https://bugs.webkit.org/show_bug.cgi?id=116530
2438
2439         Reviewed by Geoffrey Garen.
2440
2441         Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support.
2442
2443         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2444         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2445         * WebProcess/WebPage/WebPage.cpp:
2446         (WebKit::WebPage::updatePreferences):
2447
2448 2013-05-24  Thomas Deniau  <deniau@apple.com>
2449
2450         Add more lines to the context during Dictionary lookups
2451         https://bugs.webkit.org/show_bug.cgi?id=115256
2452
2453         Reviewed by Ryosuke Niwa.
2454
2455         * WebProcess/WebPage/mac/WebPageMac.mm:
2456         (WebKit::WebPage::performDictionaryLookupAtLocation):
2457         Instead of using the current paragraph as the context (which stops at
2458         line breaks), get a few lines before and after the point, so that the
2459         context contains at least four lines in each direction.
2460         This way the Dictionary will be able to look up things that extend past
2461         the current line.
2462
2463 2013-05-24  Anders Carlsson  <andersca@apple.com>
2464
2465         Intermittent crash when typing in Address Bar
2466         https://bugs.webkit.org/show_bug.cgi?id=116728
2467         <rdar://problem/13976781>
2468
2469         Reviewed by Sam Weinig.
2470
2471         If a web process connection has been removed from the storage manager because we disconnected it
2472         since there were no more active pages associated with the web process, we'll fail to find it here
2473         so just return early instead of crashing.
2474
2475         * UIProcess/Storage/StorageManager.cpp:
2476         (WebKit::StorageManager::destroyStorageMap):
2477
2478 2013-05-24  Andreas Kling  <akling@apple.com>
2479
2480         Typing in Safari's unified field causes unnecessary web content repaints.
2481         <http://webkit.org/b/116703>
2482
2483         Reviewed by Andy Estes.
2484
2485         * WebProcess/WebPage/FindController.cpp:
2486         (WebKit::FindController::countStringMatches):
2487
2488             Call WebCore::Page::countMatchesForText() instead of markAllMatchesForText(). If the search string
2489             is found inside the page content, the renderer containing that text will no longer be repainted.
2490
2491 2013-05-23  Ryuan Choi  <ryuan.choi@samsung.com>
2492
2493         [WK2][EFL][QT] Build break after r150610
2494         https://bugs.webkit.org/show_bug.cgi?id=116699
2495
2496         Reviewed by Csaba Osztrogonác.
2497
2498         * UIProcess/WebPageProxy.cpp:
2499         (WebKit::WebPageProxy::findPlugin): Initialized pluginProcessSandboxPolicy.
2500
2501 2013-05-23  Anders Carlsson  <andersca@apple.com>
2502
2503         Shim Flash plug-in to allow its updater to run
2504         https://bugs.webkit.org/show_bug.cgi?id=116692
2505         <rdar://problem/13938510>
2506
2507         Reviewed by Sam Weinig.
2508
2509         * PluginProcess/PluginProcess.h:
2510         * PluginProcess/mac/PluginProcessMac.mm:
2511         (WebKit::replacedNSConcreteTask_launch):
2512         (WebKit::initializeCocoaOverrides):
2513         Patch -[NSConcreteTask launch] to call PluginProcess::launchProcess.
2514
2515         (WebKit::PluginProcess::launchProcess):
2516         Send a LaunchProcess message to the UI process.
2517
2518         * UIProcess/Plugins/PluginProcessProxy.cpp:
2519         * UIProcess/Plugins/PluginProcessProxy.h:
2520         Remove PluginProcessProxy::didReceiveMessage.
2521
2522         (PluginProcessProxy):
2523         * UIProcess/Plugins/PluginProcessProxy.messages.in:
2524         Add LaunchProcess message and remove LegacyReceiver attribute.
2525
2526         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2527         (WebKit::isFlashUpdater):
2528         Helper function to determine whether the process is the flash updater.
2529
2530         (WebKit::shouldLaunchProcess):
2531         Return whether we should launch this process.
2532
2533         (WebKit::PluginProcessProxy::launchProcess):
2534         Determine if we should launch this process and then do so.
2535
2536 2013-05-23  Anders Carlsson  <andersca@apple.com>
2537
2538         Don't run all plug-ins unsandboxed
2539         https://bugs.webkit.org/show_bug.cgi?id=116690
2540         <rdar://problem/13975569>
2541
2542         Reviewed by Jessie Berlin.
2543
2544         Remove debugging code.
2545
2546         * UIProcess/WebPageProxy.cpp:
2547         (WebKit::WebPageProxy::findPlugin):
2548
2549 2013-05-23  Anders Carlsson  <andersca@apple.com>
2550
2551         Crash in convertMainResourceLoadToDownload when downloading file by option-return
2552         https://bugs.webkit.org/show_bug.cgi?id=116451
2553
2554         Reviewed by Andreas Kling.
2555
2556         If the main resource loader is null, create a new download instead since there's no existing loader to convert.
2557
2558         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2559         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2560         * WebProcess/WebPage/WebFrame.cpp:
2561         (WebKit::WebFrame::convertMainResourceLoadToDownload):
2562
2563 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
2564
2565         <rdar://problem/13849260> Sandbox violations reading .CFUserTextEncoding
2566
2567         Reviewed by Dan Bernstein.
2568
2569         * WebProcess/com.apple.WebProcess.sb.in: Allow this.
2570
2571 2013-05-23  Gavin Barraclough  <barraclough@apple.com>
2572
2573         Move posix_spawn onto a zero delay timer
2574         https://bugs.webkit.org/show_bug.cgi?id=116682
2575
2576         Reviewed by Anders Carlson.
2577
2578         <rdar://problem/13973468>
2579
2580         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
2581         (ReexecInfo):
2582             - struct to hold info from the XPC message.
2583         (WebKit::reexec):
2584             - moved call to posix_spawn out to this helper.
2585         (WebKit::reexecCallBack):
2586             - calls reexec.
2587         (WebKit::XPCServiceEventHandler):
2588             - removed call to posix_spawn; schedule a call to reexecCallBack.
2589
2590 2013-05-23  Csaba Osztrogonác  <ossy@webkit.org>
2591
2592         [cmake] Fix generating-forwarding-headers rule after r150460
2593         https://bugs.webkit.org/show_bug.cgi?id=116659
2594
2595         Reviewed by Christophe Dumez.
2596
2597         * CMakeLists.txt: Typo fix.
2598
2599 2013-05-23  Anton Obzhirov  <a.obzhirov@samsung.com>
2600
2601         [GTK] Remote Web Inspector sometimes won't serve any content
2602         https://bugs.webkit.org/show_bug.cgi?id=116225
2603
2604         Reviewed by Gustavo Noronha Silva.
2605
2606         Added an option to use environment variable to set up path to
2607         inspector server files. Implementation is similar to InspectorClientGtk
2608         implementation.
2609
2610         * UIProcess/InspectorServer/WebInspectorServer.h:
2611         (WebInspectorServer):
2612         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2613         (WebKit::WebInspectorServer::platformResourceForPath):
2614         (WebKit::WebInspectorServer::inspectorServerFilesPath):
2615         (WebKit):
2616
2617 2013-05-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2618
2619         [EFL][WK2] Use WK2 C API in ewk_view_pagination_mode_set|get
2620         https://bugs.webkit.org/show_bug.cgi?id=116657
2621
2622         Reviewed by Christophe Dumez.
2623
2624         WKPageGet|SetPaginationMode APIs is present in WK2 C APIs. So, we need to use them for
2625         ewk_view_pagination_mode_set|get.
2626
2627         Besides we don't need to use WebCore namespace anymore.
2628
2629         * UIProcess/API/efl/ewk_view.cpp:
2630         (ewk_view_pagination_mode_set):
2631         (ewk_view_pagination_mode_get):
2632
2633 2013-05-23  Roland Takacs  <rtakacs@inf.u-szeged.hu>
2634
2635         Support frame instrumentation for coordinated graphics
2636         https://bugs.webkit.org/show_bug.cgi?id=115260
2637
2638         Reviewed by Andreas Kling.
2639
2640         Enabled supportsFrameInstrumentation on ports that use coordinated graphics
2641         by calling didBeginFrame().
2642
2643         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2644         (WebKit::WebInspectorClient::supportsFrameInstrumentation):
2645         (WebKit):
2646         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2647         (WebInspectorClient):
2648         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2649         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
2650
2651 2013-05-22  Dean Jackson  <dino@apple.com>
2652
2653         Don't snapshot plugins that can't be snapshotted
2654         https://bugs.webkit.org/show_bug.cgi?id=116490
2655
2656         Reviewed by Tim Horton.
2657
2658         Some plugins, such as QuickTime, don't support snapshotting. We're
2659         planning on another way to capture snapshots, but in the meantime make
2660         sure that they don't fail to initialise because they were told to
2661         not use accelerated rendering.
2662
2663         Expose a new message on the plugins so that they can tell the PluginView
2664         if they support snapshotting or not.
2665
2666         * PluginProcess/PluginControllerProxy.cpp:
2667         (WebKit::PluginControllerProxy::supportsSnapshotting): New method.
2668         * PluginProcess/PluginControllerProxy.h: Ditto.
2669         * PluginProcess/PluginControllerProxy.messages.in: Message signature.
2670
2671         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add supportsSnapshotting.
2672         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Ditto.
2673         * WebProcess/Plugins/Plugin.h: Ditto - pure virtual here.
2674
2675         * WebProcess/Plugins/PluginProxy.cpp:
2676         (WebKit::PluginProxy::supportsSnapshotting): Send the message to the plugin process and return the results.
2677         * WebProcess/Plugins/PluginProxy.h:
2678
2679         * WebProcess/Plugins/PluginView.cpp:
2680         (WebKit::PluginView::didInitializePlugin): If the snapshotting plugin has a layer, make
2681             sure to add it to the tree.
2682         (WebKit::PluginView::isAcceleratedCompositingEnabled): Snapshotting plugins can use
2683             accelerated compositing, just like normal plugins.
2684         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin doesn't allow snapshotting,
2685             immediately restart it.
2686
2687 2013-05-22  Anders Carlsson  <andersca@apple.com>
2688
2689         Fix crash when closing a page that's trying to access session storage
2690         https://bugs.webkit.org/show_bug.cgi?id=116634
2691         <rdar://problem/13904054>
2692
2693         Reviewed by Geoffrey Garen.
2694
2695         It is possible for the StorageManager to get messages from a web page that has already been closed by the UI process.
2696         If that happens, just ignore the messages.
2697
2698         * UIProcess/Storage/StorageManager.cpp:
2699         (WebKit::StorageManager::createSessionStorageMap):
2700         (WebKit::StorageManager::getValues):
2701         (WebKit::StorageManager::setItem):
2702         (WebKit::StorageManager::removeItem):
2703         (WebKit::StorageManager::clear):
2704         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
2705
2706 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
2707
2708         Crashes in NetworkProcess due to incorrect private browsing session tracking
2709         https://bugs.webkit.org/show_bug.cgi?id=116628
2710
2711         Reviewed by Brady Eidson.
2712
2713         The current API for private browsing makes it extremely difficult to track sessions.
2714         Private browsing is enabled via WKPreferences, but the session is shared, so it
2715         has to be maintained while there is any chance that any page group anywhere still
2716         needs it.
2717
2718         This patch fixes some of the issues, but ultimately, I think that we'll just need
2719         to deprecate and replace the API.
2720
2721         * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::storageSession):
2722         There are valid scenarios where privateBrowsingEnabled is true, but there is no
2723         private browsing session. Handle that without crashing, although this unfortunately
2724         means that it will be harder to spot logic errors when using a wrong session.
2725         (WebKit::NetworkConnectionToWebProcess::registerBlobURL): Removed an obsolete FIXME.
2726
2727         * NetworkProcess/mac/RemoteNetworkingContext.h: Changed privateBrowsingSession()
2728         to return a pointer, as no caller could know when it was safe to call it.
2729
2730         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2731         (WebKit::RemoteNetworkingContext::storageSession): Handle the case where private
2732         browsing session is unexpectedly missing without crashing.
2733         (WebKit::RemoteNetworkingContext::privateBrowsingSession): Changed to return a pointer.
2734
2735         * UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess):
2736         Actually initialize privateBrowsingEnabled creation parameter. It would be very
2737         difficult to figure out 100% reliably whether NetworkProcess needs a private browsing
2738         session with the current API, but for existing clients, looking at
2739         m_privateBrowsingEnterCount is good enough. Certainly better than not initializing.
2740
2741         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2742         (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Added a FIXME.
2743
2744 2013-05-22  Tim Horton  <timothy_horton@apple.com>
2745
2746         [wk2] Should be able to make tiled WKViews clip to the view's exposed rect without using autolayout
2747         https://bugs.webkit.org/show_bug.cgi?id=116625
2748         <rdar://problem/13962816>
2749
2750         Reviewed by Anders Carlsson.
2751
2752         The two modes are not dependent; it should be possible to enable
2753         clips-to-exposed-rect without using autolayout. This enables apps to
2754         make very large tiled WKViews that don't create tiles for the whole
2755         area of the view (and also disables scrolling, since that is currently
2756         incompatible with clipping to the exposed rect).
2757
2758         * UIProcess/API/mac/WKView.mm:
2759         (-[WKView setFrameSize:]):
2760         (-[WKView _updateWindowAndViewFrames]):
2761         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2762         (-[WKView enableFrameSizeUpdates]):
2763         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
2764         Rename _expandsToFitContentViaAutoLayout to _clipsToVisibleRect for accuracy.
2765
2766         (-[WKView setMinimumWidthForAutoLayout:]):
2767         Factor clips-to-sisible-rect toggle out into setShouldClipToVisibleRect.
2768
2769         (-[WKView shouldClipToVisibleRect]):
2770         (-[WKView setShouldClipToVisibleRect:]):
2771         Allow setting clips-to-visible-rect without autolayout.
2772
2773         * UIProcess/API/mac/WKViewPrivate.h:
2774         Add shouldClipToVisibleRect property.
2775
2776 2013-05-22  Alexey Proskuryakov  <ap@apple.com>
2777
2778         Remove unused private browsing override support
2779         <rdar://problem/11969491>
2780
2781         Rubber-stamped by Sam Weinig.
2782
2783         Private browsing override is unused, and it complicates tracking of private
2784         browsing sessions in UI process (in fact, it doesn't plug into this tracking at all,
2785         so we would just assert if we used the API).
2786
2787         * Shared/WebPageCreationParameters.cpp:
2788         (WebKit::WebPageCreationParameters::encode):
2789         (WebKit::WebPageCreationParameters::decode):
2790         * Shared/WebPageCreationParameters.h:
2791         * UIProcess/API/C/WKPage.cpp:
2792         * UIProcess/API/C/WKPagePrivate.h:
2793         * UIProcess/WebPageProxy.cpp:
2794         (WebKit::WebPageProxy::WebPageProxy):
2795         (WebKit::WebPageProxy::creationParameters):
2796         * UIProcess/WebPageProxy.h:
2797         * WebProcess/WebPage/WebPage.cpp:
2798         (WebKit::WebPage::WebPage):
2799         (WebKit::WebPage::updatePreferences):
2800         * WebProcess/WebPage/WebPage.h:
2801         * WebProcess/WebPage/WebPage.messages.in:
2802
2803 2013-05-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2804
2805         [EFL][WK2] Change Ewk_Context_Menu_Item's parent menu to raw pointer
2806         https://bugs.webkit.org/show_bug.cgi?id=116549
2807
2808         Reviewed by Christophe Dumez.
2809
2810         A context menu item should have only a pointer to parent menu instead
2811         of owning parent menu.
2812
2813         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2814         (EwkContextMenuItem::EwkContextMenuItem):
2815         * UIProcess/API/efl/ewk_context_menu_item_private.h:
2816         (EwkContextMenuItem::create):
2817         (EwkContextMenuItem::parentMenu):
2818         (EwkContextMenuItem):
2819
2820 2013-05-22  Csaba Osztrogonác  <ossy@webkit.org>
2821
2822         [Qt][WK2] Unreviewed buildfix after r150484.
2823
2824         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
2825         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2826
2827 2013-05-21  Andreas Kling  <akling@apple.com>
2828
2829         REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess().
2830         <http://webkit.org/b/116588>
2831
2832         Reviewed by Sam Weinig.
2833
2834         Do an early return from WebProcessProxy::requestTermination() if there is no child process
2835         connection to terminate.
2836
2837         * UIProcess/WebProcessProxy.cpp:
2838         (WebKit::WebProcessProxy::requestTermination):
2839
2840 2013-05-21  Mark Rowe  <mrowe@apple.com>
2841
2842         <rdar://problem/13915556> Sluggish scrolling in web content
2843
2844         Reviewed by Gavin Barraclough.
2845
2846         * Shared/mac/ChildProcessMac.mm:
2847         (WebKit::ChildProcess::setProcessSuppressionEnabled): When process suppression is disabled, low latency is important.
2848
2849 2013-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2850
2851         Fix build break after r150484
2852
2853         Unreviewed, fix build break on EFL, GTK.
2854
2855         * UIProcess/Plugins/PluginInfoStore.cpp:
2856         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
2857         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2858         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2859
2860 2013-05-21  Andreas Kling  <akling@apple.com>
2861
2862         PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
2863         <http://webkit.org/b/116464>
2864         <rdar://problem/10103795>
2865
2866         Reviewed by Anders Carlsson.
2867
2868         Simplify the web process sacrifice ritual. Instead of murderizing the process when its last tab closes,
2869         just shut down the CoreIPC connection from the UI process. The web process, upon noticing this,
2870         will start a 10 second watchdog timer, and if it hasn't shut down by the time it fires, well, it'll shut down.
2871
2872         (WebKit::WebProcessProxy::removeWebPage):
2873
2874             When the last page is removed from a WebProcessProxy, disconnect the process so that it'll die off
2875             eventually, even if the WebPage::Close message never gets properly handled.
2876
2877         * Shared/ChildProcessProxy.h:
2878         * Shared/ChildProcessProxy.cpp:
2879         (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):
2880
2881             Added a helper to abort any in-progress launch of a new web process. Otherwise we'll have a race
2882             where the exiting web process may get re-used for a new tab.
2883
2884         * UIProcess/WebProcessProxy.h:
2885         * UIProcess/WebProcessProxy.cpp:
2886         (WebKit::WebProcessProxy::WebProcessProxy):
2887         (WebKit::WebProcessProxy::enableSuddenTermination):
2888         (WebKit::WebProcessProxy::disableSuddenTermination):
2889
2890             Remove WebProcessProxy's sudden termination counter. The web process will do what it needs in
2891             response to the WebPage::Close message. We still forward these calls to NSProcessInfo on Mac though.
2892
2893 2013-05-21  Anders Carlsson  <andersca@apple.com>
2894
2895         Fix build.
2896
2897         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2898         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
2899         Stop using lambdas :(
2900
2901 2013-05-21  Anders Carlsson  <andersca@apple.com>
2902
2903         Provide an API to run sandboxed plug-ins outside of their sandbox
2904         https://bugs.webkit.org/show_bug.cgi?id=116578
2905
2906         Reviewed by Andreas Kling.
2907
2908         * Platform/CoreIPC/HandleMessage.h:
2909         (CoreIPC::callMemberFunction):
2910         Add new overload.
2911
2912         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2913         (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
2914         Handle "disable-sandbox".
2915
2916         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
2917         (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
2918         Handle "disable-sandbox".
2919         
2920         * PluginProcess/PluginProcess.h:
2921         Move Type to PluginProcessAttributes and remove hash traits for type.
2922         
2923         * PluginProcess/mac/PluginProcessMac.mm:
2924         (WebKit::PluginProcess::platformInitializePluginProcess):
2925         Update for new type name.
2926
2927         (WebKit::PluginProcess::initializeSandbox):
2928         Return early if the sandbox is disabled.
2929
2930         * Shared/Plugins/Netscape/PluginInformation.cpp:
2931         (WebKit::getPluginModuleInformation):
2932         PluginInfoStore::policyForPlugin has been renamed to PluginInfoStore::defaultLoadPolicyForPlugin.
2933
2934         * Shared/Plugins/PluginModuleInfo.h:
2935         Add PluginModuleLoadUnsandboxed.
2936
2937         * Shared/Plugins/PluginProcessAttributes.h: Added.
2938         Add new header with various plug-in process attributes.
2939
2940         * Shared/Plugins/PluginProcessCreationParameters.h:
2941         Change type enum.
2942
2943         * UIProcess/API/C/WKAPICast.h:
2944         (WebKit::toWKPluginLoadPolicy):
2945         (WebKit::toPluginModuleLoadPolicy):
2946         Handle the unsandboxed enum.
2947
2948         * UIProcess/API/C/WKPage.h:
2949         Add kWKPluginLoadPolicyLoadUnsandboxed.
2950
2951         * UIProcess/Plugins/PluginInfoStore.h:
2952         Rename policyForPlugin to defaultLoadPolicyForPlugin.
2953
2954         * UIProcess/Plugins/PluginProcessManager.cpp:
2955         (WebKit::PluginProcessManager::pluginProcessToken):
2956         Add new helper function for getting a token given plug-in attributes.
2957
2958         (WebKit::PluginProcessManager::getPluginProcessConnection):
2959         This now takes a pluginProcessToken.
2960
2961         (WebKit::PluginProcessManager::getSitesWithData):
2962         Make sure to call pluginProcessToken.
2963
2964         (WebKit::PluginProcessManager::clearSiteData):
2965         Ditto.
2966
2967         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
2968         This now takes a token.
2969
2970         * UIProcess/Plugins/PluginProcessProxy.cpp:
2971         (WebKit::PluginProcessProxy::create):
2972         (WebKit::PluginProcessProxy::PluginProcessProxy):
2973         Pass the PluginProcessAttributes as well as the plug-in process token.
2974
2975         (WebKit::PluginProcessProxy::getLaunchOptions):
2976         Pass the plug-in process attributes to platformGetLaunchOptions.
2977
2978         (WebKit::PluginProcessProxy::didClose):
2979         Pass the token to PluginProcessCrashed.
2980
2981         (WebKit::PluginProcessProxy::didFinishLaunching):
2982         Update for type change.
2983
2984         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2985         (WebKit::shouldBlockPlugin):
2986         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
2987         Rename policyForPlugin to defaultLoadPolicyForPlugin.
2988
2989         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2990         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2991         Set the "disable-sandbox" data if needed.
2992
2993         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2994         (WebKit::PluginProcessProxy::openPluginPreferencePane):
2995         Get the module info from m_pluginProcessAttributes.
2996
2997         * UIProcess/WebPageProxy.cpp:
2998         (WebKit::WebPageProxy::findPlugin):
2999         This now returns a token.
3000
3001         * UIProcess/WebPageProxy.messages.in:
3002         FindPlugin now returns a token instead of the path.
3003
3004         * UIProcess/WebProcessProxy.cpp:
3005         (WebKit::WebProcessProxy::getPluginProcessConnection):
3006         Pass the token to the plug-in process manager.
3007
3008         * UIProcess/WebProcessProxy.messages.in:
3009         This now takes a token.
3010
3011         * WebKit2.xcodeproj/project.pbxproj:
3012         Add new files.
3013
3014         * WebProcess/Plugins/PluginProcessConnection.cpp:
3015         (WebKit::PluginProcessConnection::PluginProcessConnection):
3016         This now takes a token.
3017
3018         * WebProcess/Plugins/PluginProcessConnection.h:
3019         (WebKit::PluginProcessConnection::create):
3020         (WebKit::PluginProcessConnection::pluginProcessToken):
3021         Create this with a token instead of a path and process type.
3022
3023         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3024         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
3025         This now takes a token.
3026
3027         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
3028         Ditto.
3029
3030         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
3031         PluginProcessCrashed now takes a token.
3032
3033         * WebProcess/Plugins/PluginProxy.cpp:
3034         (WebKit::PluginProxy::create):
3035         (WebKit::PluginProxy::PluginProxy):
3036         These now take tokens.
3037
3038         (WebKit::PluginProxy::initialize):
3039         Pass the token when getting the connection.
3040
3041         * WebProcess/WebPage/WebPage.cpp:
3042         (WebKit::WebPage::createPlugin):
3043         Get the token from the UI process and pass it to the PluginProxy.
3044
3045         (WebKit::WebPage::canPluginHandleResponse):
3046         Update now that FindPlugin returns a token.
3047
3048 2013-05-21  Martin Robinson  <mrobinson@igalia.com>
3049
3050         [GTK] [CMake] Add support for building WebKit2
3051         https://bugs.webkit.org/show_bug.cgi?id=116372
3052
3053         Reviewed by Gustavo Noronha Silva.
3054
3055         * CMakeLists.txt: Add common directories to the common include list and remove UIProcess/PageViewportController.cpp
3056         from the source list since it should only be compiled for WebKitEFL. Instead of taking explicit forwarding-header
3057         dependencies accept a list of "tacked-on" dependencies for WebKit2. This allows GTK+ to specify its extra fake
3058         installed header step.
3059         * PlatformEfl.cmake: Remove common include directories and add UIProcess/PageViewportController.cpp to the source
3060         list. Fix up forwarding header dependencies now.
3061         * PlatformGTK.cmake: Added.
3062         * config.h: First check whether this is a CMake build and then fall back to the autotools header.
3063
3064 2013-05-21  Zan Dobersek  <zdobersek@igalia.com>
3065
3066         [GTK] Compile everything in C++11 mode
3067         https://bugs.webkit.org/show_bug.cgi?id=116452
3068
3069         Reviewed by Anders Carlsson.
3070
3071         * GNUmakefile.am: Remove the -std=c++11 flags from the various CPPFLAGS lists, the mode is now specified
3072         by default for all the C++ source code in SetupCompilerFlags.m4.
3073
3074 2013-05-21  Jessie Berlin  <jberlin@apple.com>
3075
3076         Expose a way to know when forms are added to a page or when form controls are added to a form
3077         in the injected bundle
3078         https://bugs.webkit.org/show_bug.cgi?id=116334
3079
3080         Reviewed by Alexey Proskuryakov.
3081
3082         Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
3083
3084         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3085         Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
3086
3087         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
3088         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
3089         Pass the message along to the client if the client has a handler.
3090         (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
3091         Ditto.
3092         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
3093
3094         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3095         (WebKit::WebChromeClient::didAssociateFormControls):
3096         Tell the injected bundle form client for the page.
3097         (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
3098         Ditto.
3099         * WebProcess/WebCoreSupport/WebChromeClient.h:
3100
3101 2013-05-21  Michael Brüning  <michael.bruning@digia.com>
3102
3103         [Qt][WK2] Fix Mountain Lion builds after r150277.
3104         https://bugs.webkit.org/show_bug.cgi?id=116467
3105
3106         Reviewed by Jocelyn Turcotte.
3107
3108         * Shared/API/c/WKBase.h:
3109
3110 2013-05-20  Lucas Forschler  <lforschler@apple.com>
3111
3112     Rollout r150398.
3113
3114 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
3115
3116         [GTK] Fix concatenations of string literals that are not C++11-compliant
3117         https://bugs.webkit.org/show_bug.cgi?id=116449
3118
3119         Reviewed by Martin Robinson.
3120
3121         Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
3122         is simply a matter of separating the string and the string literal that are being concatenated with a space.
3123
3124         * UIProcess/API/gtk/tests/TestPrinting.cpp:
3125         (testPrintOperationPrint):
3126         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
3127         (methodCallCallback):
3128
3129 2013-05-20  Commit Queue  <commit-queue@webkit.org>
3130
3131         Unreviewed, rolling out r150384.
3132         http://trac.webkit.org/changeset/150384
3133         https://bugs.webkit.org/show_bug.cgi?id=116513
3134
3135         Not ready for primetime. (Requested by kling on #webkit).
3136
3137         * UIProcess/WebProcessProxy.cpp:
3138         (WebKit::WebProcessProxy::WebProcessProxy):
3139         (WebKit::WebProcessProxy::removeWebPage):
3140         * UIProcess/WebProcessProxy.h:
3141         (WebProcessProxy):
3142
3143 2013-05-20  Martin Robinson  <mrobinson@igalia.com>
3144
3145         Remove SharedMemoryGtk.cpp
3146         https://bugs.webkit.org/show_bug.cgi?id=116457
3147
3148         Reviewed by Andreas Kling.
3149
3150         * Platform/gtk/SharedMemoryGtk.cpp: Removed.
3151
3152 2013-05-20  Jessie Berlin  <jberlin@apple.com>
3153
3154         Expose a way to know when forms are added to a page or when form controls are added to a form
3155         in the injected bundle
3156         https://bugs.webkit.org/show_bug.cgi?id=116334
3157
3158         Reviewed by Alexey Proskuryakov.
3159
3160         Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
3161
3162         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3163         Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
3164
3165         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
3166         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
3167         Pass the message along to the client if the client has a handler.
3168         (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
3169         Ditto.
3170         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
3171
3172         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3173         (WebKit::WebChromeClient::didAssociateFormControls):
3174         Tell the injected bundle form client for the page.
3175         (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
3176         Ditto.
3177         * WebProcess/WebCoreSupport/WebChromeClient.h:
3178
3179 2013-05-20  Tim Horton  <timothy_horton@apple.com>
3180
3181         Clients should have a way to extend rendering suppression
3182         https://bugs.webkit.org/show_bug.cgi?id=116463
3183         <rdar://problem/13738496>
3184
3185         Reviewed by Andy Estes.
3186
3187         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3188         (WKBundlePageExtendIncrementalRenderingSuppression): Added.
3189         (WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.
3190         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3191         These only have any effect if SuppressesIncrementalRendering is also enabled.
3192
3193         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3194         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3195         Inform the FrameView if there are any outstanding rendering suppression tokens.
3196
3197         * WebProcess/WebPage/WebPage.cpp:
3198         (WebKit::WebPage::WebPage):
3199         (WebKit::WebPage::extendIncrementalRenderingSuppression):
3200         Return the next available rendering suppression token.
3201         Add it to the list of active tokens.
3202         Inform the FrameView that we want to suppress rendering.
3203
3204         (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
3205         Remove the given token from the list of active tokens.
3206         Un-suppress rendering if appropriate.
3207
3208         * WebProcess/WebPage/WebPage.h:
3209         (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
3210         Return if there are any active rendering suppression tokens.
3211
3212 2013-05-20  Andreas Kling  <akling@apple.com>
3213
3214         PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
3215         <http://webkit.org/b/116464>
3216         <rdar://problem/10103795>
3217
3218         Reviewed by Anders Carlsson.
3219
3220         Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
3221         This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
3222         preventing the UI process from killing it right away.
3223
3224         * UIProcess/WebProcessProxy.cpp:
3225         (WebKit::WebProcessProxy::WebProcessProxy):
3226         (WebKit::WebProcessProxy::removeWebPage):
3227         (WebKit::WebProcessProxy::forcefulTerminationTimerFired):
3228         * UIProcess/WebProcessProxy.h:
3229         (WebProcessProxy):
3230
3231 2013-05-20  Anders Carlsson  <andersca@apple.com>
3232
3233         Add helper function for converting a KeyedCodingValue to a CFTypeRef
3234         https://bugs.webkit.org/show_bug.cgi?id=116461
3235
3236         Reviewed by Tim Horton.
3237
3238         * Shared/cf/KeyedCodingValueCF.cpp: Added.
3239         * Shared/cf/KeyedCodingValueCF.h: Added.
3240
3241         * WebKit2.xcodeproj/project.pbxproj:
3242
3243 2013-05-20  Anders Carlsson  <andersca@apple.com>
3244
3245         Begin stubbing out a new KeyedEncoder class
3246         https://bugs.webkit.org/show_bug.cgi?id=116456
3247
3248         Reviewed by Sam Weinig.
3249
3250         This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
3251         object graphs to a tree-like structure of dictionaries. It is up to individual ports to
3252         serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).
3253         
3254         This will be used for serializing session storage state but I hope that it can be used for serializing
3255         back forward state in the future as our current implementation of back forward state serialization
3256         is fragile and depends on our IPC layer's binary encoding(!).
3257         
3258         * Shared/KeyedCodingValue.h: Added.
3259         * Shared/KeyedEncoder.cpp: Added.
3260         * Shared/KeyedEncoder.h: Added.
3261
3262         * WebKit2.xcodeproj/project.pbxproj:
3263
3264 2013-05-19  Sam Weinig  <sam@webkit.org>
3265
3266         Bump WKBundlePageLoaderClient version number so as not to break some clients
3267         https://bugs.webkit.org/show_bug.cgi?id=116426
3268
3269         Reviewed by Anders Carlsson.
3270
3271         * Shared/APIClientTraits.cpp:
3272         (WebKit):
3273         * Shared/APIClientTraits.h:
3274         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3275
3276 2013-05-19  Anders Carlsson  <andersca@apple.com>
3277
3278         Remove link prerendering code
3279         https://bugs.webkit.org/show_bug.cgi?id=116415
3280
3281         Reviewed by Darin Adler.
3282
3283         This code was only used by Chromium and is dead now.
3284
3285         * Configurations/FeatureDefines.xcconfig:
3286
3287 2013-05-18  Anders Carlsson  <andersca@apple.com>
3288
3289         Simplify the StorageArea setter functions
3290         https://bugs.webkit.org/show_bug.cgi?id=116402
3291
3292         Reviewed by Sam Weinig.
3293
3294         Remove security checking code that lives in Storage now.
3295
3296         * WebProcess/Storage/StorageAreaImpl.cpp:
3297         (WebKit::StorageAreaImpl::setItem):
3298         (WebKit::StorageAreaImpl::removeItem):
3299         (WebKit::StorageAreaImpl::clear):
3300         * WebProcess/Storage/StorageAreaImpl.h:
3301
3302 2013-05-18  Sam Weinig  <sam@webkit.org>
3303
3304         Fix some builds.
3305
3306         * UIProcess/API/mac/WKTypeRefWrapper.mm:
3307
3308 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3309
3310         REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
3311         https://bugs.webkit.org/show_bug.cgi?id=116389
3312
3313         Reviewed by Martin Robinson.
3314
3315         There's no longer WebKeyValueStorageManager in the web process
3316         after r150305.
3317
3318         * WebProcess/WebPage/WebPageGroupProxy.cpp:
3319         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
3320
3321 2013-05-17  Sam Weinig  <sam@webkit.org>
3322
3323         Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
3324         https://bugs.webkit.org/show_bug.cgi?id=116345
3325
3326         Reviewed by Anders Carlsson.
3327
3328         In order to efficiently send a WKImageRef to another process when using the
3329         Objective-C WKConnection (or other user data messages), we need a way to encode
3330         WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.
3331
3332         * Shared/mac/ObjCObjectGraphCoders.mm:
3333         (WebKit::typeFromObject):
3334         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
3335         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
3336         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
3337         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
3338         * UIProcess/API/mac/WKTypeRefWrapper.h: Added.
3339         * UIProcess/API/mac/WKTypeRefWrapper.mm: Added.
3340         (-[WKTypeRefWrapper initWithObject:]):
3341         (-[WKTypeRefWrapper object]):
3342         * WebKit2.xcodeproj/project.pbxproj:
3343
3344 2013-05-18  Anders Carlsson  <andersca@apple.com>
3345
3346         Simplify StorageArea getter functions
3347         https://bugs.webkit.org/show_bug.cgi?id=116399
3348
3349         Reviewed by Sam Weinig.
3350
3351         Remove security and private browsing checks.
3352
3353         * WebProcess/Storage/StorageAreaImpl.cpp:
3354         (WebKit::StorageAreaImpl::key):
3355         (WebKit::StorageAreaImpl::item):
3356         (WebKit::StorageAreaImpl::contains):
3357         * WebProcess/Storage/StorageAreaImpl.h:
3358
3359 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
3360
3361         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
3362         https://bugs.webkit.org/show_bug.cgi?id=114554
3363
3364         Reviewed by Gyuyoung Kim.
3365
3366         Using variables as target names is very uncommon in CMake.
3367         The usual way to specify the name of the resulting binary
3368         is to set the OUTPUT_NAME target property.
3369
3370         * CMakeLists.txt:
3371         * PlatformEfl.cmake:
3372         * efl/ewebkit2.pc.in:
3373
3374 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3375
3376         [GTK] Move GTK port off legacy clipboard
3377         https://bugs.webkit.org/show_bug.cgi?id=116221
3378
3379         Reviewed by Martin Robinson.
3380
3381         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
3382         include.
3383         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
3384         (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
3385         Pasteboard associated to the given Clipboard.
3386
3387 2013-05-18  Jinwoo Song  <jinwoo7.song@samsung.com>
3388
3389         [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
3390         https://bugs.webkit.org/show_bug.cgi?id=116386
3391
3392         Reviewed by Christophe Dumez.
3393
3394         Refactor the API to handle 'const char*' parameter in right way and
3395         enable the unit test which was disabled in r136230 as there is no assertion now.
3396
3397         * UIProcess/API/efl/EwkView.cpp:
3398         (EwkView::setCustomTextEncodingName):
3399         * UIProcess/API/efl/EwkView.h:
3400         (EwkView::customTextEncodingName):
3401         (EwkView):
3402         * UIProcess/API/efl/ewk_view.cpp:
3403         (ewk_view_custom_encoding_set):
3404         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3405         (TEST_F):
3406
3407 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
3408
3409         [CMake] Unreviewed speculative build fix after r150305 and r150306.
3410
3411         * CMakeLists.txt:
3412
3413 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
3414
3415         [Qt][WK2] Unreviewed build fix after r150305 and r150306.
3416
3417         * DerivedSources.pri:
3418         * Target.pri:
3419
3420 2013-05-18  Zan Dobersek  <zdobersek@igalia.com>
3421
3422         Unreviewed build fix for the GTK port after r150305 and r150306.
3423
3424         * GNUmakefile.list.am:
3425
3426 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
3427
3428         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
3429         https://bugs.webkit.org/show_bug.cgi?id=116359
3430
3431         The condition was accidentally negated, fixing.
3432
3433         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3434         (WebKit::WebPlatformStrategies::isAvailable):
3435
3436 2013-05-17  Gavin Barraclough  <barraclough@apple.com>
3437
3438         Only allow 1 WebProcess to hold a PageCache
3439         https://bugs.webkit.org/show_bug.cgi?id=116368
3440         <rdar://problem/13392600>
3441
3442         Reviewed by Geoff Garen & Anders Carlson.
3443
3444         * UIProcess/WebContext.cpp:
3445         (WebKit::WebContext::WebContext):
3446         (WebKit::WebContext::processDidSaveToPageCache):
3447         (WebKit):
3448         (WebKit::WebContext::disconnectProcess):
3449         * UIProcess/WebContext.h:
3450             - Added m_processWithPageCache, only allow one process to keep a PageCache.
3451         (WebContext):
3452         * UIProcess/WebPageProxy.cpp:
3453         (WebKit::WebPageProxy::didSaveToPageCache):
3454         (WebKit):
3455         * UIProcess/WebPageProxy.h:
3456         (WebPageProxy):
3457         * UIProcess/WebPageProxy.messages.in:
3458             - Forward didSaveToPageCache to the WebProcessProxy.
3459         * UIProcess/WebProcessProxy.cpp:
3460         (WebKit::WebProcessProxy::addBackForwardItem):
3461         (WebKit::WebProcessProxy::didSaveToPageCache):
3462         (WebKit):
3463         (WebKit::WebProcessProxy::releasePageCache):
3464             - Forward releasePageCache to the WebProcess.
3465             - Forward didSaveToPageCache to the WebContext.
3466         * UIProcess/WebProcessProxy.h:
3467         (WebProcessProxy):
3468         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3469         (WebKit::WebFrameLoaderClient::didSaveToPageCache):
3470             - Forward didSaveToPageCache to the WebPageProxy.
3471         * WebProcess/WebProcess.cpp:
3472         (WebKit::WebProcess::releasePageCache):
3473         (WebKit):
3474         * WebProcess/WebProcess.h:
3475         (WebProcess):
3476         * WebProcess/WebProcess.messages.in:
3477             - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
3478
3479 2013-05-17  Anders Carlsson  <andersca@apple.com>
3480
3481         Share code between WebKit1 and WebKit2 StorageArea subclasses
3482         https://bugs.webkit.org/show_bug.cgi?id=116367
3483
3484         Reviewed by Andreas Kling.
3485
3486         * WebProcess/Storage/StorageAreaImpl.cpp:
3487         (WebKit::StorageAreaImpl::length):
3488         Remove code that's now in Storage::length.
3489
3490         (WebKit::StorageAreaImpl::storageType):
3491         Make this a virtual member function.
3492
3493         * WebProcess/Storage/StorageAreaImpl.h:
3494
3495 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
3496
3497         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
3498         https://bugs.webkit.org/show_bug.cgi?id=116359
3499
3500         Reviewed by Anders Carlsson.
3501
3502         Implement SharedWorkerStrategy::isAvailable.
3503
3504         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3505         (WebKit::WebPlatformStrategies::isAvailable):