Fixed an off-by-(sizeof(char*) - 1) bug.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-08-12  Dan Bernstein  <mitz@apple.com>
2
3         Fixed an off-by-(sizeof(char*) - 1) bug.
4
5         Reviewed by Sam Weinig.
6
7         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
8         (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.
9
10 2013-08-12  Beth Dakin  <bdakin@apple.com>
11
12         Remove didNewFirstVisuallyNonEmptyLayout from WebKit2
13         https://bugs.webkit.org/show_bug.cgi?id=119658
14
15         Reviewed by Darin Adler.
16
17         Removing this function entirely will change some functionality in the Nightlies, 
18         but we think that is an acceptable difference for the Nightlies. If is does cause 
19         a problem though, we can roll out this patch and deprecate the function instead.
20
21         * UIProcess/API/C/WKPage.h:
22         * UIProcess/WebLoaderClient.cpp:
23         * UIProcess/WebLoaderClient.h:
24         * UIProcess/WebPageProxy.cpp:
25         (WebKit::WebPageProxy::initializeLoaderClient):
26         * UIProcess/WebPageProxy.h:
27         * UIProcess/WebPageProxy.messages.in:
28         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
29         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
31         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
33         * WebProcess/WebPage/WebPage.cpp:
34         (WebKit::WebPage::initializeInjectedBundleLoaderClient):
35
36 2013-08-12  Arunprasad Rajkumar  <arurajku@cisco.com>
37
38         [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize()
39         https://bugs.webkit.org/show_bug.cgi?id=119663
40
41         Reviewed by Sam Weinig.
42
43         * WebProcess/qt/WebProcessQt.cpp:
44         (WebKit::WebProcess::platformSetCacheModel):
45
46 2013-08-12  Anton Obzhirov  <a.obzhirov@samsung.com>
47
48         [GTK] Don't load GAIL when using GTK 3.2 or greater
49         https://bugs.webkit.org/show_bug.cgi?id=72735
50
51         Reviewed by Carlos Garcia Campos.
52
53         * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp:
54         (main):
55
56 2013-08-09  Beth Dakin  <bdakin@apple.com>
57
58         AX: Not able to use arrow keys to read text in a WK2 app
59         https://bugs.webkit.org/show_bug.cgi?id=119605
60         -and corresponding-
61         <rdar://problem/14281275>
62
63         Reviewed by Darin Adler.
64
65         Make all of these scrolling functions actually return the WebCore bools that 
66         indicate whether or not scrolling happened. 
67         * WebProcess/WebPage/WebPage.cpp:
68         (WebKit::WebPage::scroll):
69         (WebKit::WebPage::logicalScroll):
70         (WebKit::WebPage::scrollBy):
71         * WebProcess/WebPage/WebPage.h:
72         * WebProcess/WebPage/mac/WebPageMac.mm:
73         (WebKit::WebPage::executeKeypressCommandsInternal):
74
75         This function now gives accessibility a chance to handle the event too. And it 
76         also actually tracks whether or not the event was handled by scrolling instead of 
77         assuming that it was and universally returning true.
78         (WebKit::WebPage::performNonEditingBehaviorForSelector):
79
80 2013-08-09  Brian Holt  <brian.holt@samsung.com>
81
82         [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
83         https://bugs.webkit.org/show_bug.cgi?id=99352
84
85         Reviewed by Carlos Garcia Campos.
86
87         Add a new public class to the API, WebKitAuthenticationRequest, to be
88         emitted along with a new WebKitWebView::authenticate signal to
89         let client applications to provide their own authentication
90         when the user is challenged with HTTP authentication. The
91         credential is exposed through a new class WebKitCredential.
92
93         * GNUmakefile.list.am:
94         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
95         (okButtonClicked): Use new API for authentication.
96         (cancelButtonClicked): Ditto.
97         (webkitAuthenticationDialogInitialize):Get
98         authenticationChallenge from request object.
99         (webkitAuthenticationDialogNew): Ditto.
100         * UIProcess/API/gtk/WebKitAuthenticationDialog.h:
101         * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
102         class representing a HTTP authentication request.
103         (webkitAuthenticationRequestDispose):
104         (webkit_authentication_request_class_init):
105         (webkitAuthenticationRequestCreate):
106         (webkitAuthenticationRequestGetAuthenticationChallenge):
107         (webkit_authentication_request_can_save_credentials):
108         (webkit_authentication_request_get_proposed_credential):
109         (webkit_authentication_request_get_host):
110         (webkit_authentication_request_get_port):
111         (webkit_authentication_request_get_realm):
112         (webkit_authentication_request_get_scheme):
113         (webkit_authentication_request_is_for_proxy):
114         (webkit_authentication_request_is_retry):
115         (webkit_authentication_request_authenticate):
116         (webkit_authentication_request_cancel):
117         * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
118         * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
119         * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
120         support credentials for HTTP authentication.
121         (_WebKitCredential::_WebKitCredential):
122         (webkitCredentialCreate):
123         (webkitCredentialGetCredential):
124         (webkit_credential_new):
125         (webkit_credential_copy):
126         (webkit_credential_free):
127         (webkit_credential_get_username):
128         (webkit_credential_get_password):
129         (webkit_credential_has_password):
130         (webkit_credential_get_persistence):
131         * UIProcess/API/gtk/WebKitCredential.h: Added.
132         * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
133         * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
134         (webkitWebViewAuthenticate): Default signal handler for authenticate.
135         (webkit_web_view_class_init): Ditto.
136         (webkitWebViewHandleAuthenticationChallenge): Create an
137         authentication request and emit it with authenticate signal.
138         * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
139         pointer slot with for WebViewClass with function pointer to
140         authenticate signal handler.
141         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
142         the authentication request.
143         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
144         * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
145         request and credential types.
146         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
147         unit test for HTTP authentication. A libsoup server callback
148         handler is installed that creates soup messages with appropriate
149         headers and body to test HTTP authentication.
150         (testWebViewAuthenticationRequest): Test the authentication
151         request and credential API.
152         (testWebViewAuthenticationCancel): Test cancelled authentication.
153         (testWebViewAuthenticationFailure): Test repeated authentication failures.
154         (testWebViewAuthenticationNoCredential): Test continue without
155         credentials.
156         (testWebViewAuthenticationStorage): Test credential storage.
157         (testWebViewAuthenticationSuccess): Test successful authentication.
158         (beforeAll): Added tests.
159         * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
160         WebKitCredential headers.
161
162 2013-08-09  Tim Horton  <timothy_horton@apple.com>
163
164         PDFPlugin is disabled by default in nightlies on Mac accidentally
165         https://bugs.webkit.org/show_bug.cgi?id=119615
166
167         Rubber-stamped by Andreas Kling.
168
169         Enable PDFPlugin by default on Mac at the WebKit2 level.
170
171         * Shared/WebPreferencesStore.h:
172         * UIProcess/API/C/WKPreferencesPrivate.h:
173
174 2013-08-08  Tim Horton  <timothy_horton@apple.com>
175
176         navigator.plugins has plugins in it when plugins are disabled
177         https://bugs.webkit.org/show_bug.cgi?id=119607
178         <rdar://problem/14678030>
179
180         Reviewed by Anders Carlsson.
181
182         * UIProcess/WebProcessProxy.cpp:
183         (WebKit::WebProcessProxy::getPlugins):
184         Return a list of all plugins, and a list of only application plugins.
185
186         * UIProcess/WebProcessProxy.h:
187         * UIProcess/WebProcessProxy.messages.in:
188         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
189         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
190         (WebKit::WebPlatformStrategies::getPluginInfo):
191         Add applicationPlugin parameter to getPlugins, and storage for the returned list.
192
193         (WebKit::WebPlatformStrategies::populatePluginCache):
194         If plugins are disabled for the given page, give WebCore the list that
195         only includes application plugins. Otherwise, give it the whole list
196         as we are doing currently.
197
198 2013-08-08  Gavin Barraclough  <barraclough@apple.com>
199
200         Disable suppression of plugin process for Java
201         https://bugs.webkit.org/show_bug.cgi?id=119604
202
203         Reviewed by Sam Weinig.
204
205         Workaround, the Java plugin doesn't like this.
206
207         * PluginProcess/mac/PluginProcessMac.mm:
208         (WebKit::PluginProcess::platformInitializeProcess):
209             - +1 active task count on the java plugin, to inhibit supression.
210
211 2013-08-08  Dean Jackson  <dino@apple.com>
212
213         Add logging to the primary plugin detection
214         https://bugs.webkit.org/show_bug.cgi?id=119594
215
216         Reviewed by Tim Horton.
217
218         Add some simple logging to our primary plug-in detection.
219
220         * WebProcess/WebPage/WebPage.cpp:
221         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
222
223 2013-08-08  Alexey Proskuryakov  <ap@apple.com>
224
225         WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
226         https://bugs.webkit.org/show_bug.cgi?id=119587
227
228         Reviewed by Darin Adler.
229
230         * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
231         check, like we already have in WebFrame::url().
232
233 2013-08-07  Antti Koivisto  <antti@apple.com>
234
235         Try to fix EFL build.
236         
237         Not reviewed.
238
239         * CMakeLists.txt:
240
241 2013-08-06  Jer Noble  <jer.noble@apple.com>
242
243         Crash when entering fullscreen video playback from a WebView using WebKit2
244         https://bugs.webkit.org/show_bug.cgi?id=119531
245
246         Reviewed by Tim Horton.
247
248         Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface.
249
250         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
251         (InitWebCoreSystemInterface):
252
253 2013-08-06  Stephanie Lewis  <slewis@apple.com>
254
255         Update Order Files for Safari
256         <rdar://problem/14517392>
257
258         Unreviewed.
259
260         * mac/WebKit2.order:
261
262 2013-08-04  Sam Weinig  <sam@webkit.org>
263
264         Remove support for HTML5 MicroData
265         https://bugs.webkit.org/show_bug.cgi?id=119480
266
267         Reviewed by Anders Carlsson.
268
269         * Configurations/FeatureDefines.xcconfig:
270
271 2013-08-06  Eunmi Lee  <eunmi15.lee@samsung.com>
272
273         [EFL][WK2] Implement gesture recognizer.
274         https://bugs.webkit.org/show_bug.cgi?id=102643
275
276         Reviewed by Gyuyoung Kim.
277
278         Recognize tap, pan and pinch gestures using touch events.
279         The tap gesture is separated into single tap, double tap and
280         'tap and hold'.
281
282         This patch references the webkit NIX port.
283         https://github.com/WebKitNix/webkitnix
284
285         * PlatformEfl.cmake:
286         * UIProcess/API/efl/EwkView.cpp:
287         (EwkView::EwkView):
288         (EwkView::doneWithTouchEvent):
289         * UIProcess/API/efl/EwkView.h:
290         * UIProcess/API/efl/GestureRecognizer.cpp: Added.
291         (WebKit::GestureHandler::create):
292         (WebKit::GestureHandler::GestureHandler):
293         (WebKit::GestureHandler::handleSingleTap):
294         (WebKit::GestureHandler::handleDoubleTap):
295         (WebKit::GestureHandler::handleTapAndHold):
296         (WebKit::GestureHandler::handlePanStarted):
297         (WebKit::GestureHandler::handlePan):
298         (WebKit::GestureHandler::handlePanFinished):
299         (WebKit::GestureHandler::handlePinchStarted):
300         (WebKit::GestureHandler::handlePinch):
301         (WebKit::GestureHandler::handlePinchFinished):
302         (WebKit::GestureRecognizer::GestureRecognizer):
303         (WebKit::GestureRecognizer::~GestureRecognizer):
304         (WebKit::GestureRecognizer::processTouchEvent):
305         (WebKit::GestureRecognizer::doubleTapTimerCallback):
306         (WebKit::GestureRecognizer::tapAndHoldTimerCallback):
307         (WebKit::GestureRecognizer::exceedsPanThreshold):
308         (WebKit::GestureRecognizer::exceedsDoubleTapThreshold):
309         (WebKit::getPointAtIndex):
310         (WebKit::createVectorWithWKArray):
311         (WebKit::GestureRecognizer::noGesture):
312         (WebKit::GestureRecognizer::singleTapGesture):
313         (WebKit::GestureRecognizer::doubleTapGesture):
314         (WebKit::GestureRecognizer::panGesture):
315         (WebKit::GestureRecognizer::pinchGesture):
316         (WebKit::GestureRecognizer::reset):
317         (WebKit::GestureRecognizer::stopTapTimers):
318         * UIProcess/API/efl/GestureRecognizer.h: Added.
319         (WebKit::GestureRecognizer::create):
320
321 2013-07-23  David Farler  <dfarler@apple.com>
322
323         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
324         https://bugs.webkit.org/show_bug.cgi?id=117762
325
326         Reviewed by Mark Rowe.
327
328         * Configurations/DebugRelease.xcconfig:
329         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
330         * Configurations/WebContentProcess.xcconfig:
331         Add ASAN_OTHER_LDFLAGS.
332         * Configurations/WebKit2.xcconfig:
333         Add ASAN_OTHER_LDFLAGS.
334
335 2013-08-06  Andreas Kling  <akling@apple.com>
336
337         REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed.
338         <http://webkit.org/b/119516>
339         <rdar://problem/14648086>
340
341         Reviewed by Simon Fraser.
342
343         The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy
344         of the window rect for fast access from DOMWindow APIs.
345
346         We retain part of the optimization introduced in r151403, namely not computing the
347         viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them.
348
349         * UIProcess/API/mac/WKView.mm:
350         (-[WKView _updateWindowAndViewFrames]):
351
352 2013-07-26  Mark Rowe  <mrowe@apple.com>
353
354         Logging should be configurable using human-readable channel names rather than crazy bitmasks
355         <http://webkit.org/b/119031>
356
357         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
358         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
359
360         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
361         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
362         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
363         for history and loading being enabled.
364
365         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
366         the old user defaults to remain set for those people that need to switch between version of WebKit before and
367         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
368         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
369
370         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
371         consistency with the other platforms and to enable more code sharing.
372
373         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
374         adding a new logging channel. Now only the header in the relevant project needs to be updated.
375
376         Reviewed by Sam Weinig.
377
378         * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
379         * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
380         (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
381         that handles the initialization.
382         (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
383         to find a log channel rather than repeating the names of the log channels a further two times each.
384         (WebKit::logLevelString): Provide a no-op implementation.
385         * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
386         across the set of all logging channels. Use this macro to declare the logging channels.
387         * Platform/efl/LoggingEfl.cpp:
388         (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
389         * Platform/gtk/LoggingGtk.cpp:
390         (WebKit::logLevelString): Ditto.
391         * Platform/mac/Logging.mac.mm:
392         (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
393         * Platform/qt/LoggingQt.cpp:
394         (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
395         * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
396         * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
397
398 2013-08-05  Anders Carlsson  <andersca@apple.com>
399
400         Ignore the Apple Java placeholder plug-in
401         https://bugs.webkit.org/show_bug.cgi?id=119494
402         <rdar://problem/14610818>
403
404         Reviewed by Beth Dakin.
405
406         Never attempt to load the Java placeholder plug-in.
407
408         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
409         (WebKit::PluginInfoStore::shouldUsePlugin):
410
411 2013-08-03  Tim Horton  <timothy_horton@apple.com>
412
413         Unreviewed, build and style fix for r153693.
414
415         * UIProcess/WebProcessProxy.cpp:
416         * WebProcess/Plugins/PDF/PDFPlugin.h:
417         * WebProcess/WebPage/WebPage.cpp:
418
419 2013-08-03  Tim Horton  <timothy_horton@apple.com>
420
421         Remove SimplePDFPlugin
422         https://bugs.webkit.org/show_bug.cgi?id=119437
423
424         Reviewed by Alexey Proskuryakov.
425
426         * UIProcess/WebProcessProxy.cpp:
427         (WebKit::WebProcessProxy::getPlugins):
428         * WebProcess/WebPage/WebPage.cpp:
429         (WebKit::WebPage::createPlugin):
430         Don't add SimplePDFPlugin, nor try to instantiate it.
431
432         * WebProcess/Plugins/PDF/PDFPlugin.h:
433         * WebProcess/Plugins/PDF/PDFPlugin.mm:
434         Merge previously inherited behavior in from SimplePDFPlugin.
435
436         * WebKit2.xcodeproj/project.pbxproj:
437         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
438         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
439         Remove SimplePDFPlugin.
440
441 2013-08-03  Tim Horton  <timothy_horton@apple.com>
442
443         Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
444         https://bugs.webkit.org/show_bug.cgi?id=119411
445
446         Reviewed by Simon Fraser.
447
448         Mac is the only holdout that performs non-composited fades of page
449         overlays. We should adopt that mechanism (as a precursor to doing a
450         CA-accelerated fade) and remove the now-unnecessary property.
451
452         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
453         (WKBundlePageOverlayFractionFadedIn):
454         Always return 1 (fully-faded-in) so that clients who attempt to use this
455         to bake the fade opacity into their painting will paint at full opacity,
456         allowing us to do the composited fade separately.
457
458         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
459         * WebProcess/WebPage/DrawingArea.h:
460         * WebProcess/WebPage/DrawingAreaImpl.cpp:
461         * WebProcess/WebPage/DrawingAreaImpl.h:
462         * WebProcess/WebPage/LayerTreeHost.h:
463         * WebProcess/WebPage/PageOverlay.cpp:
464         (WebKit::PageOverlay::PageOverlay):
465         (WebKit::PageOverlay::setPage):
466         (WebKit::PageOverlay::setNeedsDisplay):
467         (WebKit::PageOverlay::fadeAnimationTimerFired):
468         * WebProcess/WebPage/PageOverlay.h:
469         Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
470
471         * WebProcess/WebPage/FindController.cpp:
472         (WebKit::FindController::drawRect):
473         Draw the find overlay without taking the PageOverlay's fade into account.
474
475         * WebProcess/WebPage/TapHighlightController.cpp:
476         (WebKit::TapHighlightController::drawRect):
477         Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
478         "false" for all ports now, take the second path here.
479
480         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
481         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
482         (WebKit::LayerTreeHostMac::setPageOverlayOpacity):
483         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
484         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
485         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
486         Implement setPageOverlayOpacity for DrawingAreaImpl
487         and TiledCoreAnimationDrawingArea.
488
489 2013-08-02  Gavin Barraclough  <barraclough@apple.com>
490
491         Remove no-arguments constructor to PropertySlot
492         https://bugs.webkit.org/show_bug.cgi?id=119460
493
494         Reviewed by Geoff Garen.
495
496         This constructor was unsafe if getValue is subsequently called,
497         and the property is a getter. Simplest to just remove it.
498
499         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
500         (WebKit::JSNPObject::getOwnPropertyDescriptor):
501
502 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
503
504         [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
505         <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419
506
507         Reviewed by Tim Horton.
508
509         * UIProcess/mac/WebColorPickerMac.mm:
510         (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
511           is not null, then properly destroy it first before destroying WebColorPickerMac object.
512
513 2013-08-02  Ruth Fong  <ruth_fong@apple.com>
514
515         [Forms: color] The positioning of the popover color well is inverted
516         <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455
517
518         Reviewed by Tim Horton.
519
520         This patch converts the coordinates of the <input type='color'> element to
521         the window's base coordinate system.
522
523         * UIProcess/mac/WebColorPickerMac.mm:
524         (-[WKColorPopoverMac initWithFrame:inView:]):
525
526 2013-08-01  Ruth Fong  <ruth_fong@apple.com>
527
528         [Forms: color] <input type='color'> popover color well implementation
529         <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
530
531         Reviewed by Benjamin Poulain.
532
533         This patch adds an popover implementation of <input type='color'>.
534
535         * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
536
537         * UIProcess/API/mac/PageClientImpl.mm:
538         (WebKit::PageClientImpl::createColorPicker): Updated to pass the 
539           coordinates of the <input type='color'> element and the WKView 
540           object for the window.
541
542         * UIProcess/WebPageProxy.cpp:
543         (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color 
544           picker when the view is resized.
545         (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
546           picker when the view is no longer in the window.
547         (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
548           or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.
549
550         * UIProcess/mac/WebColorPickerMac.h:
551         * UIProcess/mac/WebColorPickerMac.mm:
552         (WebKit::WebColorPickerMac::create):
553         (WebKit::WebColorPickerMac::~WebColorPickerMac):
554         (WebKit::WebColorPickerMac::WebColorPickerMac):
555         (WebKit::WebColorPickerMac::endPicker):
556         (WebKit::WebColorPickerMac::setSelectedColor):
557         (WebKit::WebColorPickerMac::showColorPicker):
558         Methods updated to handle both the color panel implementation and 
559           the popover implementation; also renamed m_panel to m_colorPickerUI. 
560
561         (-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
562         (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
563         (-[WKColorPopoverMac dealloc]):
564         (-[WKColorPopoverMac invalidate]):
565         (-[WKColorPopoverMac windowWillClose:]):
566         (-[WKColorPopoverMac didChooseColor:]):
567         (-[WKColorPopoverMac setColor:]):
568         WKColorPopoverMac provides the popover implementation of <input type='color'>.
569
570         (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of 
571           WKColorPickerMac::didChooseColor.
572
573 2013-08-01  Anders Carlsson  <andersca@apple.com>
574
575         Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
576         https://bugs.webkit.org/show_bug.cgi?id=119412
577
578         Reviewed by Simon Fraser.
579
580         For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
581         expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
582         we don't leak the array if there is no WKContextClient.
583         
584         * UIProcess/WebContext.cpp:
585         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
586         * UIProcess/WebContextClient.cpp:
587         (WebKit::WebContextClient::plugInInformationBecameAvailable):
588
589 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
590
591         Remove return statement in void function
592         https://bugs.webkit.org/show_bug.cgi?id=119379
593
594         Reviewed by Darin Adler.
595
596         It does not make sense to return a value in void function.
597
598         * WebProcess/WebProcess.cpp:
599         (WebKit::addCaseFoldedCharacters):
600
601 2013-08-01  Kwang Yul Seo  <skyul@company100.net>
602
603         [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession
604         https://bugs.webkit.org/show_bug.cgi?id=119381
605
606         Reviewed by Darin Adler.
607
608         The is a followup to r153355. I missed to add USE(SOUP) guard in
609         WebProcess::destroyPrivateBrowsingSession.
610
611         * WebProcess/WebProcess.cpp:
612         (WebKit::WebProcess::destroyPrivateBrowsingSession):
613
614 2013-08-01  Milian Wolff  <milian.wolff@kdab.com>
615
616         [Qt] Enable QML handling of crashed/unresponsive QtWebProcess
617         https://bugs.webkit.org/show_bug.cgi?id=108474
618
619         Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive
620         and processDidBecomeResponsive signals to QML's WebView.experimental.
621
622         Reviewed by Jocelyn Turcotte.
623
624         * UIProcess/API/qt/qquickwebview.cpp:
625         (QQuickWebViewPrivate::processDidCrash):
626         (QQuickWebViewPrivate::didRelaunchProcess):
627         (QQuickWebViewPrivate::processDidBecomeUnresponsive):
628         (QQuickWebViewPrivate::processDidBecomeResponsive):
629         * UIProcess/API/qt/qquickwebview_p.h:
630         * UIProcess/API/qt/qquickwebview_p_p.h:
631         (QQuickWebViewPrivate):
632
633 2013-07-31  Kwang Yul Seo  <skyul@company100.net>
634
635         Use emptyString instead of String("")
636         https://bugs.webkit.org/show_bug.cgi?id=119335
637
638         Reviewed by Darin Adler.
639
640         Use emptyString() instead of String("") because it is better style and
641         faster. This is a followup to r116908, removing all occurrences of
642         String("") from WebKit.
643
644         * Shared/mac/WebEventFactory.mm:
645         (WebKit::textFromEvent):
646         (WebKit::unmodifiedTextFromEvent):
647
648 2013-07-31  Ruth Fong  <ruth_fong@apple.com>
649
650         <input type=color> Mac UI behaviour
651         <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
652
653         Implemented <input type='color'> on Mac using the native color picker. 
654
655         Reviewed by Brady Eidson.
656
657         Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm:
658         https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm
659
660         * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
661
662         * UIProcess/API/mac/PageClientImpl.mm:
663         (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation
664           and return a WebColorPickerMac object.
665
666         * UIProcess/WebColorPicker.cpp:
667         (WebKit::WebColorPicker::invalidate): Updated to call endChooser().
668         (WebKit::WebColorPicker::showColorPicker): Added stub implementation.
669         * UIProcess/WebColorPicker.h:
670
671         * UIProcess/WebPageProxy.cpp:
672         (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects.
673         (WebKit::WebPageProxy::showColorPicker): Updated so that it works for
674           multiple <input type='color'> elements on a page.
675         (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects.
676         (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects.
677
678         * UIProcess/mac/WebColorPickerMac.h: Added.
679         * UIProcess/mac/WebColorPickerMac.mm: Added.
680         (WebKit::WebColorPickerMac::create):
681         (WebKit::WebColorPickerMac::~WebColorPickerMac):
682         (WebKit::WebColorPickerMac::WebColorPickerMac):
683         (WebKit::WebColorPickerMac::endPicker):
684         (WebKit::WebColorPickerMac::setSelectedColor):
685         (WebKit::WebColorPickerMac::didChooseColor):
686         (WebKit::WebColorPickerMac::showColorPicker):
687         WebColorPickerMac contains a reference to a WKColorPanelMac object
688           and is responsible for maintaining the color picker UI.
689
690         (-[WKColorPanelMac setAndShowPicker:withColor:]):
691         (-[WKColorPanelMac invalidate]):
692         (-[WKColorPanelMac windowWillClose:]):
693         (-[WKColorPanelMac didChooseColor:]):
694         (-[WKColorPanelMac setColor:]):
695         WKColorPanelMac is a wrapper for a NSColorPanel object and 
696           is responsible for the color picker UI.
697
698         * WebKit2.xcodeproj/project.pbxproj:
699
700         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
701         (WebKit::WebChromeClient::createColorChooser): Updated to always create a 
702           WebColorChooser object.
703
704         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
705         (WebKit::WebColorChooser::reattachColorChooser): Sets the page's 
706           active color chooser to the current object and pings the UIProcess
707           to show the color picker.
708         (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the
709           color picker if the WebColorChooser object is the active color element.
710         * WebProcess/WebCoreSupport/WebColorChooser.h:
711
712 2013-07-30  Gavin Barraclough  <barraclough@apple.com>
713
714         Some cleanup in JSValue::get
715         https://bugs.webkit.org/show_bug.cgi?id=119343
716
717         Reviewed by Geoff Garen.
718
719         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
720         (WebKit::JSNPObject::getOwnPropertySlot):
721         * WebProcess/Plugins/Netscape/JSNPObject.h:
722             - getOwnPropertySlot, JSCell -> JSObject
723
724 2013-07-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
725
726         [Qt] Build WebKit with C++11
727         https://bugs.webkit.org/show_bug.cgi?id=119337
728
729         Reviewed by Csaba Osztrogonác.
730
731         We no longer need to enable C++11 specifically for WebKit2.
732
733         * WebKit2.pri:
734
735 2013-07-30  Tim Horton  <timothy_horton@apple.com>
736
737         DHTML drag can result in a null-deref under WebDragClient::startDrag
738         https://bugs.webkit.org/show_bug.cgi?id=119297
739         <rdar://problem/14213012>
740
741         Reviewed by Simon Fraser.
742
743         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
744         (WebKit::convertImageToBitmap):
745         ShareableBitmap::createShareable can return null, but shouldn't dereference that.
746
747 2013-07-30  Ruth Fong  <ruth_fong@apple.com>
748
749         Rename <input type='color'> functions in WebPageProxy, WebColorPicker
750         <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097
751
752         Reviewed by Tim Horton.
753
754         In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent
755         by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker.
756
757         * UIProcess/WebColorPicker.cpp:
758         (WebKit::WebColorPicker::endPicker):
759         * UIProcess/WebColorPicker.h:
760         * UIProcess/WebColorPickerResultListenerProxy.cpp:
761         (WebKit::WebColorPickerResultListenerProxy::setColor):
762         * UIProcess/WebPageProxy.cpp:
763         (WebKit::WebPageProxy::showColorPicker):
764         (WebKit::WebPageProxy::setColorPickerColor):
765         (WebKit::WebPageProxy::endColorPicker):
766         (WebKit::WebPageProxy::didEndColorPicker):
767         * UIProcess/WebPageProxy.h:
768         * UIProcess/WebPageProxy.messages.in:
769         * UIProcess/qt/WebColorPickerQt.cpp:
770         (WebKit::WebColorPickerQt::createItem):
771         (WebKit::WebColorPickerQt::notifyColorSelected):
772         (WebKit::WebColorPickerQt::endPicker):
773         * UIProcess/qt/WebColorPickerQt.h:
774         * WebProcess/WebCoreSupport/WebColorChooser.cpp:
775         (WebKit::WebColorChooser::WebColorChooser):
776         (WebKit::WebColorChooser::setSelectedColor):
777         (WebKit::WebColorChooser::endChooser):
778         * WebProcess/WebPage/WebPage.cpp:
779         (WebKit::WebPage::didEndColorPicker):
780         * WebProcess/WebPage/WebPage.h:
781         * WebProcess/WebPage/WebPage.messages.in:
782
783 2013-07-30  Anders Carlsson  <andersca@apple.com>
784
785         Speculative fix for crash due to string access on multiple threads
786         https://bugs.webkit.org/show_bug.cgi?id=119279
787         <rdar://problem/14267833>
788
789         Reviewed by Darin Adler.
790
791         We can't use String::isolatedCopy for passing the local storage directory to the storage thread since
792         that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window
793         where the refcount can be accessed simultaneously from two threads.
794
795         Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will
796         clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null.
797
798         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
799         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
800         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
801         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
802
803 2013-07-30  Tim Horton  <timothy_horton@apple.com>
804
805         Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot")
806         https://bugs.webkit.org/show_bug.cgi?id=119275
807
808         Reviewed by Simon Fraser.
809
810         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
811         (WebKit::imageForRect):
812         * WebProcess/WebPage/WebPage.cpp:
813         (WebKit::WebPage::scaledSnapshotWithOptions):
814         Fix typo.
815
816 2013-07-30  Anders Carlsson  <andersca@apple.com>
817
818         Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate
819         https://bugs.webkit.org/show_bug.cgi?id=119270
820         <rdar://problem/13368226>
821
822         Reviewed by Darin Adler.
823
824         Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while
825         they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this
826         since we don't know the plug-in or connection. 
827         
828         Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in
829         destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector).
830
831         * Platform/CoreIPC/Connection.cpp:
832         (CoreIPC::Connection::Connection):
833         (CoreIPC::Connection::sendSyncMessage):
834         * Platform/CoreIPC/Connection.h:
835         (CoreIPC::Connection::inSendSync):
836         * PluginProcess/PluginControllerProxy.cpp:
837         (WebKit::PluginControllerProxy::destroy):
838
839 2013-07-30  Tim Horton  <timothy_horton@apple.com>
840
841         Null deref under WebPage::scaledSnapshotWithOptions
842         https://bugs.webkit.org/show_bug.cgi?id=119243
843         <rdar://problem/14502050>
844
845         Reviewed by Darin Adler.
846
847         * WebProcess/WebPage/WebPage.cpp:
848         (WebKit::WebPage::scaledSnapshotWithOptions):
849         WebFrame::coreFrame() can be null (if the Frame is already torn down),
850         so we should check it.
851
852 2013-07-30  Tim Horton  <timothy_horton@apple.com>
853
854         Null deref under PluginView::handlesPageScaleFactor()
855         https://bugs.webkit.org/show_bug.cgi?id=119231
856         <rdar://problem/14440207>
857
858         Reviewed by Darin Adler.
859
860         Null-check the PluginView in the caller as well.
861
862         * WebProcess/WebPage/WebFrame.cpp:
863         (WebKit::WebFrame::handlesPageScaleGesture):
864
865 2013-07-30  Patrick Gansterer  <paroga@webkit.org>
866
867         Remove unused Download*.cpp files
868         https://bugs.webkit.org/show_bug.cgi?id=119248
869
870         Reviewed by Anders Carlsson.
871
872         * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed.
873         * Shared/Downloads/curl/DownloadCurl.cpp: Removed.
874
875 2013-07-30  Jeff Miller  <jeffm@apple.com>
876
877         Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0
878         https://bugs.webkit.org/show_bug.cgi?id=119269
879         <rdar://problem/14582393>
880
881         Reviewed by Anders Carlsson.
882
883         * UIProcess/WebPageProxy.cpp:
884         (WebKit::WebPageProxy::processIdentifier):
885         Return 0 if the page is closed instead of requiring isValid().
886
887 2013-07-30  Kwang Yul Seo  <skyul@company100.net>
888
889         [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp
890         https://bugs.webkit.org/show_bug.cgi?id=119034
891
892         Reviewed by Anders Carlsson.
893
894         The Mac and EFL ports use the same implementation of
895         WebEditorClient::checkTextOfParagraph and GTK will use the same
896         implementation too. So rather than duplicating the same code in
897         platform specific files, move the implementation to platform agnostic
898         WebProcess/WebCoreSupport/WebEditorClient.cpp.
899
900         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
901         (WebKit::WebEditorClient::checkTextOfParagraph):
902         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
903         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
904
905 2013-07-30  Brian Holt  <brian.holt@samsung.com>
906
907         [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect
908         https://bugs.webkit.org/show_bug.cgi?id=119258
909
910         Reviewed by Martin Robinson.
911
912         Corrected the installed URI response property from PROP_REQUEST to
913         PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to
914         WEBKIT_TYPE_URI_RESPONSE.
915
916         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
917         (webkit_response_policy_decision_class_init):
918
919 2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
920
921         Unreviewed. Fix make distcheck.
922
923         * GNUmakefile.list.am: Add missing header file to compilation.
924
925 2013-07-29  Tim Horton  <timothy_horton@apple.com>
926
927         [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync
928         https://bugs.webkit.org/show_bug.cgi?id=119225
929         <rdar://problem/14568841>
930
931         Reviewed by Simon Fraser.
932
933         Tell CoreAnimation to flush the implicit transaction before replying
934         when using endDeferringViewInWindowChangesSync, as that method's contract
935         is that the WebProcess is totally ready to be in-window when it returns.
936
937         * UIProcess/API/mac/WKView.mm:
938         (-[WKView endDeferringViewInWindowChanges]):
939         Adopt viewInWindowStateDidChange.
940
941         (-[WKView endDeferringViewInWindowChangesSync]):
942         Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one.
943
944         * UIProcess/WebPageProxy.cpp:
945         (WebKit::WebPageProxy::viewInWindowStateDidChange):
946         (WebKit::WebPageProxy::viewStateDidChange):
947         Pull viewInWindowStateDidChange out of viewStateDidChange.
948         Request a reply from SetIsInWindow if we're told to.
949
950         * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange.
951         * WebProcess/WebPage/WebPage.cpp:
952         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
953         Don't build this version on Mac, we'll have a WebPageMac version.
954
955         (WebKit::WebPage::setIsInWindow):
956         Only start the timer to send the didUpdateInWindowState reply if we're asked to.
957
958         * WebProcess/WebPage/WebPage.h:
959         * WebProcess/WebPage/WebPage.messages.in:
960         Add an argument to the SetIsInWindow message for whether the WebProcess
961         should inform the UIProcess when SetIsInWindow completes or not.
962
963         * WebProcess/WebPage/mac/WebPageMac.mm:
964         (WebKit::WebPage::didUpdateInWindowStateTimerFired):
965         Tell CA to flush the implicit transaction before telling the UIProcess that
966         we're finished moving in-window.
967
968 2013-07-29  Tim Horton  <timothy_horton@apple.com>
969
970         Null deref under PluginView::handlesPageScaleFactor()
971         https://bugs.webkit.org/show_bug.cgi?id=119231
972         <rdar://problem/14440207>
973
974         Reviewed by Simon Fraser.
975
976         * WebProcess/Plugins/PluginView.cpp:
977         (WebKit::PluginView::handlesPageScaleFactor):
978         * WebProcess/Plugins/PluginView.h:
979         Null-check m_plugin and check m_isInitialized.
980         Make pageScaleFactor() and handlesPageScaleFactor const.
981
982 2013-07-29  Anders Carlsson  <andersca@apple.com>
983
984         Remove setUnderlayPage() and associated code
985         https://bugs.webkit.org/show_bug.cgi?id=119220
986         <rdar://problem/14392426>
987
988         Reviewed by Jessie Berlin.
989
990         This is dead code, get rid of it.
991
992         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
993         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
994         * WebProcess/WebPage/WebPage.cpp:
995         (WebKit::WebPage::close):
996         (WebKit::WebPage::layoutIfNeeded):
997         (WebKit::WebPage::drawRect):
998         * WebProcess/WebPage/WebPage.h:
999
1000 2013-07-29  Sergio Correia  <sergio.correia@openbossa.org>
1001
1002         CoordinatedGraphics: Add API to get and set the active state of a WebView
1003         https://bugs.webkit.org/show_bug.cgi?id=119067
1004
1005         Reviewed by Noam Rosenthal.
1006
1007         A view being in the "active" state generally means that it is not in the
1008         "background", although this definition can vary depending on the platform
1009         under consideration.
1010
1011         This patch adds the following APIs to WKView:
1012         - bool WKViewIsActive(WKViewRef)
1013         This API accepts a WKViewRef as parameter and returns a boolean indicating
1014         whether the given view is active.
1015
1016         - void WKViewSetIsActive(WKViewRef, bool)
1017         This API accepts a WKViewRef and a boolean as parameteres, and it sets the
1018         active state of the given view to the given boolean argument.
1019
1020         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1021         (WKViewIsActive): API added.
1022         (WKViewSetIsActive): Ditto.
1023         * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API.
1024         * UIProcess/CoordinatedGraphics/WebView.cpp:
1025         (WebKit::WebView::initialize): Use new setActive method.
1026         (WebKit::WebView::setActive): Added method to set the active state of the
1027         view.
1028         (WebKit::WebView::isActive): Added method to return the active state of
1029         view.
1030         (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive
1031         method.
1032         (WebKit::WebView::exitAcceleratedCompositingMode): Ditto.
1033         * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive
1034         and setActive.
1035
1036 2013-07-29  Jae Hyun Park  <jae.park@company100.net>
1037
1038         Remove duplicated LayerTreeHost::supportsAcceleratedCompositing
1039         https://bugs.webkit.org/show_bug.cgi?id=118949
1040
1041         Reviewed by Noam Rosenthal.
1042
1043         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1044         * WebProcess/WebPage/LayerTreeHost.h:
1045         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1046
1047 2013-07-29  Zan Dobersek  <zdobersek@igalia.com>
1048
1049         [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables
1050         https://bugs.webkit.org/show_bug.cgi?id=119212
1051
1052         Reviewed by Carlos Garcia Campos.
1053
1054         * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS)
1055         variables that are not defined during the configuration process.
1056
1057 2013-07-28  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1058
1059         [EFL][WK2] Simplify context_menu_spelling_items_availability unit test
1060         https://bugs.webkit.org/show_bug.cgi?id=119085
1061
1062         Reviewed by Gyuyoung Kim.
1063
1064         Use findContextMenuItem method to check whether the item
1065         appears in context menu.
1066
1067         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1068         (EWK2TextCheckerTest::findContextMenuItem):
1069         Do not report failure inside the method.
1070         It doesn't allow to test the negative test cases.
1071
1072         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
1073         Use findContextMenuItem method.
1074
1075         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
1076         (EWK2TextCheckerTest::selectLearnSpelling):
1077         (EWK2TextCheckerTest::selectIgnoreSpelling):
1078         Verify the return value of findContextMenuItem.
1079
1080         (TEST_F):
1081         Reset wasContextMenuShown variable, it's needed after r152153.
1082         Use waitUntilTrue method.
1083
1084 2013-07-27  Jacky Jiang  <zhajiang@blackberry.com>
1085
1086         Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory
1087         https://bugs.webkit.org/show_bug.cgi?id=119186
1088
1089         Reviewed by Anders Carlsson.
1090
1091         * UIProcess/mac/RemoteLayerTreeHost.mm:
1092         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
1093
1094 2013-07-27  Chris Fleizach  <cfleizach@apple.com>
1095
1096         AX: VoiceOver not working with data detection page overlays
1097         https://bugs.webkit.org/show_bug.cgi?id=118680
1098
1099         Reviewed by Sam Weinig.
1100
1101         Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay.
1102         This requires two methods in a new callback struct. One to copy the attribute names, and the other to 
1103         copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method
1104         with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the
1105         overlay at this time as there are no clients with such a need.
1106
1107         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1108         (PageOverlayClientImpl::setAccessibilityClient):
1109         (PageOverlayClientImpl::PageOverlayClientImpl):
1110         (PageOverlayClientImpl::copyAccessibilityAttributeValue):
1111         (PageOverlayClientImpl::copyAccessibilityAttributeNames):
1112         (WKBundlePageOverlaySetAccessibilityClient):
1113         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
1114         * WebProcess/WebPage/PageOverlay.cpp:
1115         (WebKit::PageOverlay::copyAccessibilityAttributeValue):
1116         (WebKit::PageOverlay::copyAccessibilityAttributeNames):
1117         * WebProcess/WebPage/PageOverlay.h:
1118         (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue):
1119         (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames):
1120         (WebKit::PageOverlay::client):
1121         * WebProcess/WebPage/WebPage.cpp:
1122         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue):
1123         (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames):
1124         * WebProcess/WebPage/WebPage.h:
1125         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1126         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
1127         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
1128         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
1129
1130 2013-07-27  Simon Fraser  <simon.fraser@apple.com>
1131
1132         If entering fullscreen for a window fails, don't leave things in a bad state
1133         https://bugs.webkit.org/show_bug.cgi?id=119179
1134
1135         Reviewed by Sam Weinig.
1136         
1137         On Lion, attempting to take a video fullscreen when the Safari window is already
1138         fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen:
1139         
1140         When this happens we have to undo the work done when entering fullscreen, to
1141         avoid leaving things in a bad state.
1142
1143         * UIProcess/mac/WKFullScreenWindowController.mm:
1144         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
1145
1146 2013-07-26  Tim Horton  <timothy_horton@apple.com>
1147
1148         Add a mode where autosizing fixes the FrameView height to at least the WKView height
1149         https://bugs.webkit.org/show_bug.cgi?id=119104
1150         <rdar://problem/14549021>
1151
1152         Reviewed by Anders Carlsson.
1153
1154         * Shared/WebPageCreationParameters.cpp:
1155         (WebKit::WebPageCreationParameters::encode):
1156         (WebKit::WebPageCreationParameters::decode):
1157         * Shared/WebPageCreationParameters.h:
1158         Add autoSizingShouldExpandToViewHeight parameter.
1159
1160         * UIProcess/API/mac/WKView.mm:
1161         (-[WKView minimumWidthForAutoLayout]):
1162         (-[WKView setMinimumWidthForAutoLayout:]):
1163         Un-deprecate these as they're still useful if not sending a height.
1164
1165         (-[WKView shouldExpandToViewHeightForAutoLayout]):
1166         (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
1167         * UIProcess/API/mac/WKViewPrivate.h:
1168         New property, forward to WebPageProxy.
1169
1170         * UIProcess/WebPageProxy.cpp:
1171         (WebKit::WebPageProxy::WebPageProxy):
1172         (WebKit::WebPageProxy::creationParameters):
1173         (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
1174         * UIProcess/WebPageProxy.h:
1175         (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight):
1176         New property, forward to WebPage.
1177
1178         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1179         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1180         If enabled, update the FrameView's autoSizeFixedMinimumHeight.
1181
1182         * WebProcess/WebPage/WebPage.cpp:
1183         (WebKit::WebPage::WebPage):
1184         (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight):
1185         * WebProcess/WebPage/WebPage.h:
1186         (WebKit::WebPage::autoSizingShouldExpandToViewHeight):
1187         New property; if enabled, set FrameView's autoSizeFixedMinimumHeight,
1188         otherwise reset it to 0.
1189
1190         * WebProcess/WebPage/WebPage.messages.in:
1191         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1192         (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
1193         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1194         Retrieve intrinsic content size explicitly from the FrameView, as
1195         it may not have used it as its final contentsSize if
1196         autoSizeFixedMinimumHeight is set.
1197
1198         Set the WebPage's size in case the load is committed so that the
1199         WebFrameLoaderClient doesn't reset us to the wrong size.
1200
1201         Update autoSizeFixedMinimumHeight if enabled when the view size changes.
1202
1203 2013-07-25  Andreas Kling  <akling@apple.com>
1204
1205         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
1206         <http://webkit.org/b/119110>
1207
1208         Reviewed by Anders Carlsson.
1209
1210         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1211         (WebKit::WebChromeClient::focusedElementChanged):
1212         * WebProcess/WebCoreSupport/WebChromeClient.h:
1213
1214 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1215
1216         [WK2][Soup] Add private browsing support
1217         https://bugs.webkit.org/show_bug.cgi?id=118657
1218
1219         Reviewed by Gustavo Noronha Silva.
1220
1221         Support private browsing in WK2 by implementing private browsing
1222         related methods in WebFrameNetworkingContext.
1223
1224         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1225         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1226         Add USE(SOUP) guard.
1227
1228         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1229         Add private browsing support methods. Copied from the Mac port.
1230         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1231         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1232         (WebKit::WebFrameNetworkingContext::storageSession):
1233         Check if the frame enables private browsing and return the private
1234         browsing session.
1235         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1236
1237         * WebProcess/WebProcess.cpp:
1238         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1239         Add USE(SOUP) guard.
1240
1241 2013-07-25  Kwang Yul Seo  <skyul@company100.net>
1242
1243         Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder
1244         https://bugs.webkit.org/show_bug.cgi?id=118228
1245
1246         Reviewed by Anders Carlsson.
1247
1248         Build fails on some platforms where int64_t and long long are different types.
1249
1250         * Shared/FileAPI/BlobRegistrationData.cpp:
1251         (WebKit::BlobRegistrationData::encode):
1252         Add explicit casts to int64_t.
1253         (WebKit::BlobRegistrationData::decode):
1254         Use int64_t instead of long long.
1255
1256 2013-07-25  Anders Carlsson  <andersca@apple.com>
1257
1258         Remove lastModifiedDate from ResourceResponse
1259         https://bugs.webkit.org/show_bug.cgi?id=119092
1260
1261         Reviewed by Andreas Kling.
1262
1263         Update for WebCore changes.
1264
1265         * WebProcess/Plugins/PluginView.cpp:
1266         (WebKit::lastModifiedDate):
1267         Use ResourceResponse::lastModified() to get the last modified date.
1268
1269         (WebKit::PluginView::Stream::didReceiveResponse):
1270         Call the static lastModified function.
1271
1272         (WebKit::PluginView::manualLoadDidReceiveResponse):
1273         Ditto.
1274
1275 2013-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1276
1277         [GTK] Add support for running unit tests in the web process
1278         https://bugs.webkit.org/show_bug.cgi?id=118427
1279
1280         Reviewed by Gustavo Noronha Silva.
1281
1282         Some tests, like GObject DOM bindings API tests, run entirely in
1283         the WebProcess, so we just need to start the test from the UI
1284         process and wait until the test finishes running in the
1285         WebProcess. Tests are split in two files, one containing the
1286         actual test that runs in the WebProcess and another one to add the
1287         tests to the glib test system that works as a
1288         proxy. WebProcessTestRunner class starts a private DBus session
1289         bus and starts the tests sending a message to the WebExtension
1290         waiting until it finishes or fails. WebProcess tests are created
1291         by defining a class derived from WebProcessTest class and
1292         implementing the static create method and the virtual runTest
1293         method. The macro REGISTER_TEST is used by the web process tests
1294         to register their test cases. This patch includes the migration
1295         of the WebKitDOMNode test, all other GObject DOM bindings tests
1296         will be migrated in the same way in follow up patches.
1297
1298         * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added.
1299         (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest.
1300         (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter
1301         from the arguments dictionary.
1302         (WebKitDOMNodeTest::testHierarchyNavigation):
1303         (WebKitDOMNodeTest::testInsertion):
1304         (WebKitDOMNodeTest::runTest): Run the given test.
1305         (registerTests): Register test cases.
1306         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
1307         compilation.
1308         * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added.
1309         (testWebKitDOMNodeHierarchyNavigation):
1310         (testWebKitDOMNodeInsertion):
1311         (beforeAll):
1312         (afterAll):
1313         * UIProcess/API/gtk/tests/TestMain.cpp:
1314         (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to
1315         make sure that the GLib bus singleton is initialized by the
1316         private DBus session bus created by the tests.
1317         * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added.
1318         (testsMap): Initialize and get the global map of tests.
1319         (WebProcessTest::add): Add a new test to the map, keeping a
1320         function to create the test.
1321         (WebProcessTest::create): Create a test for the given name.
1322         (methodCallCallback): Handle RunTest DBus method. It creates and
1323         runs the given test.
1324         (webkit_web_extension_initialize):Register the DBus service for
1325         this WebExtension.
1326         * UIProcess/API/gtk/tests/WebProcessTest.h: Added.
1327         * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added.
1328         (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus
1329         session bus and get a connection to it.
1330         (WebProcessTestRunner::~WebProcessTestRunner): Stop the private
1331         DBus session bus.
1332         (WebProcessTestRunner::proxyCreatedCallback):
1333         (WebProcessTestRunner::proxy): Create a new proxy to send messages
1334         to the WebExtension if it doesn't exists.
1335         (WebProcessTestRunner::onNameAppeared): Called when the DBus
1336         service has been registered in the WebExtension and it's safe to
1337         create a proxy.
1338         (WebProcessTestRunner::onNameVanished): Called when the DBus
1339         service is unregistered. This happens when the web process crash,
1340         so we just exit here, because the g_asserts in the web process
1341         have already registered the error message.
1342         (WebProcessTestRunner::testFinishedCallback): Called when the
1343         WebProcess tests has finished.
1344         (WebProcessTestRunner::runTest): Send a message to the
1345         WebExtension to start the given test and monitor the service.
1346         (WebProcessTestRunner::finishTest): Save the test result and
1347         finish the main loop.
1348         * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added.
1349
1350 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
1351
1352         Rolled back in r149527 with crash fixed.
1353
1354         Reviewed by Oliver Hunt.
1355
1356             Rationalized 'this' value conversion
1357             https://bugs.webkit.org/show_bug.cgi?id=115542
1358
1359 2013-07-24  Ruth Fong  <ruth_fong@apple.com>
1360
1361         Rename WebColorChooserProxy
1362         <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025
1363
1364         Reviewed by Brady Eidson.
1365
1366         Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy
1367         implies that it represents the same object as WebColorChooser, which is not true.
1368         Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and 
1369         platform-equivalent versions of it.
1370
1371         * CMakeLists.txt:
1372         * GNUmakefile.list.am:
1373         * Target.pri:
1374         * UIProcess/API/gtk/PageClientImpl.cpp:
1375         (WebKit::PageClientImpl::createColorPicker):
1376         * UIProcess/API/gtk/PageClientImpl.h:
1377         * UIProcess/API/mac/PageClientImpl.h:
1378         * UIProcess/API/mac/PageClientImpl.mm:
1379         (WebKit::PageClientImpl::createColorPicker):
1380         * UIProcess/API/qt/raw/qrawwebview.cpp:
1381         (QRawWebViewPrivate::createColorPicker):
1382         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1383         * UIProcess/CoordinatedGraphics/WebView.cpp:
1384         (WebKit::WebView::createColorPicker):
1385         * UIProcess/CoordinatedGraphics/WebView.h:
1386         * UIProcess/PageClient.h:
1387         * UIProcess/WebColorChooserProxy.cpp: Removed.
1388         * UIProcess/WebColorChooserProxy.h: Removed.
1389         * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp.
1390         (WebKit::WebColorPicker::WebColorPicker):
1391         (WebKit::WebColorPicker::~WebColorPicker):
1392         (WebKit::WebColorPicker::endChooser):
1393         (WebKit::WebColorPicker::setSelectedColor):
1394         * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h.
1395         (WebKit::WebColorPicker::create):
1396         * UIProcess/WebPageProxy.cpp:
1397         (WebKit::WebPageProxy::close):
1398         (WebKit::WebPageProxy::showColorChooser):
1399         (WebKit::WebPageProxy::setColorChooserColor):
1400         (WebKit::WebPageProxy::endColorChooser):
1401         (WebKit::WebPageProxy::didEndColorChooser):
1402         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1403         * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker.
1404         * UIProcess/qt/QtPageClient.cpp:
1405         (WebKit::QtPageClient::createColorPicker):
1406         * UIProcess/qt/QtPageClient.h:
1407         * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed.
1408         * UIProcess/qt/WebColorChooserProxyQt.h: Removed.
1409         * UIProcess/qt/WebColorPickerQt.cpp: Added.
1410         (WebKit::ColorChooserContextObject::ColorChooserContextObject):
1411         (WebKit::ColorChooserContextObject::currentColor):
1412         (WebKit::ColorChooserContextObject::elementRect):
1413         (WebKit::ColorChooserContextObject::accept):
1414         (WebKit::ColorChooserContextObject::reject):
1415         (WebKit::WebColorPickerQt::WebColorPickerQt):
1416         (WebKit::WebColorPickerQt::~WebColorPickerQt):
1417         (WebKit::WebColorPickerQt::createItem):
1418         (WebKit::WebColorPickerQt::createContext):
1419         (WebKit::WebColorPickerQt::setSelectedColor):
1420         (WebKit::WebColorPickerQt::notifyColorSelected):
1421         (WebKit::WebColorPickerQt::endChooser):
1422         * UIProcess/qt/WebColorPickerQt.h: Added.
1423         (WebKit::WebColorPickerQt::create):
1424         * WebKit2.xcodeproj/project.pbxproj:
1425
1426 2013-07-24  Anders Carlsson  <andersca@apple.com>
1427
1428         Crash when calling WKPageGetProcessIdentifier after aborted process launch
1429         https://bugs.webkit.org/show_bug.cgi?id=119069
1430         <rdar://problem/14494064>
1431
1432         Reviewed by Andreas Kling.
1433
1434         * UIProcess/WebPageProxy.cpp:
1435         (WebKit::WebPageProxy::processIdentifier):
1436         Check if the page is closed instead of checking whether we have a process - We'll always have a process.
1437         
1438         (WebKit::WebPageProxy::isValid):
1439         Make this const.
1440
1441         * UIProcess/WebPageProxy.h:
1442
1443 2013-07-24  Kwang Yul Seo  <skyul@company100.net>
1444
1445         [WK2][Soup] Add entry point for network process
1446         https://bugs.webkit.org/show_bug.cgi?id=110136
1447
1448         Reviewed by Gustavo Noronha Silva.
1449
1450         Original patch by Balazs Kelemen <kbalazs@webkit.org>.
1451
1452         Added a common entry point for non-Mac Unix ports.
1453
1454         * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added.
1455         (WebKit::NetworkProcessMain):
1456         * NetworkProcess/unix/NetworkProcessMainUnix.h: Added.
1457         * unix/NetworkMainUnix.cpp: Added.
1458         (main):
1459
1460 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1461
1462         Remove WKPageGetPlugInInformation - it is not used anymore
1463         https://bugs.webkit.org/show_bug.cgi?id=119047
1464
1465         Reviewed by Alexey Proskuryakov.
1466
1467         Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming
1468         and ref-churn issues introduced in r151043, and r151043, which added
1469         WKPageGetPlugInInformation.
1470
1471         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
1472         (WKPageIsURLKnownHSTSHost):
1473         * UIProcess/API/C/mac/WKPagePrivateMac.h:
1474         * UIProcess/Plugins/PluginProcessManager.h:
1475         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
1476         * UIProcess/WebPageProxy.cpp:
1477         (WebKit::WebPageProxy::close):
1478         * UIProcess/WebPageProxy.h:
1479         * UIProcess/WebPageProxy.messages.in:
1480         * UIProcess/mac/WebPageProxyMac.mm:
1481         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1482         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1483         * WebProcess/Plugins/Plugin.h:
1484         * WebProcess/Plugins/PluginProxy.h:
1485         * WebProcess/Plugins/PluginView.h:
1486         * WebProcess/WebPage/WebPage.h:
1487         * WebProcess/WebPage/WebPage.messages.in:
1488         * WebProcess/WebPage/mac/WebPageMac.mm:
1489
1490 2013-07-24  Jessie Berlin  <jberlin@apple.com>
1491
1492         Remove WKPageGetPlugInInformation - it is not used anymore
1493         https://bugs.webkit.org/show_bug.cgi?id=119047
1494
1495         Rubber-stamped by Alexey Proskuryakov.
1496
1497         Revert r152328, which added a key used only in the callback info for
1498         WKPageGetPlugInInformation.
1499
1500         * Shared/API/c/WKPluginInformation.cpp:
1501         * Shared/API/c/WKPluginInformation.h:
1502         * Shared/Plugins/Netscape/PluginInformation.cpp:
1503         * Shared/Plugins/Netscape/PluginInformation.h:
1504         * UIProcess/WebPageProxy.h:
1505         * UIProcess/WebPageProxy.messages.in:
1506         * UIProcess/mac/WebPageProxyMac.mm:
1507         (WebKit::WebPageProxy::containsPlugInCallback):
1508         * WebProcess/WebPage/mac/WebPageMac.mm:
1509         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
1510
1511 2013-07-24  Anton Obzhirov  <a.obzhirov@samsung.com>
1512
1513         [GTK] TestInspectorServer unit test is timing out
1514         https://bugs.webkit.org/show_bug.cgi?id=105866
1515
1516         Reviewed by Gustavo Noronha Silva.
1517
1518         The test failed because it couldn't find inspector resources in default folder
1519         (make install step was missing). It uses now resources available in
1520         WebKitBuild folder. WebInspectorServerGtk was refactored as well to make
1521         easier to use WEBKIT_INSPECTOR_SERVER_PATH variable.
1522
1523         * UIProcess/API/gtk/tests/GNUmakefile.am:
1524         * UIProcess/API/gtk/tests/InspectorTestServer.cpp:
1525         (main):
1526         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
1527         (testInspectorServerPageList):
1528         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1529         (WebKit::WebInspectorServer::platformResourceForPath):
1530         (WebKit::WebInspectorServer::buildPageList):
1531         (WebKit::WebInspectorServer::inspectorServerFilesPath):
1532
1533 2013-07-23  Simon Cooper  <scooper@apple.com>
1534
1535         10.7: Java applets do not work due to sandbox violation/exception
1536         https://bugs.webkit.org/show_bug.cgi?id=118920
1537         <rdar://problem/14471541&12910934&14223830&14260729&14267679>
1538
1539         Reviewed by Alexey Proskuryakov.
1540
1541         Introduce versioning into the common profile and use it to fix
1542         a number of issues with Java on 10.7 and 10.8. Allow writing the
1543         com.apple.java.util.prefs preference file. This change also
1544         introduces a "/Library/Application Support/Java/PublicFiles"
1545         area which Java can read without any restrictions. Files written
1546         to this location will need to be created and written to by
1547         a privileged process.
1548
1549         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1550         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
1551
1552 2013-07-23  Eunmi Lee  <eunmi15.lee@samsung.com>
1553
1554         [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient.
1555         https://bugs.webkit.org/show_bug.cgi?id=110085
1556
1557         Reviewed by Kenneth Rohde Christiansen.
1558
1559         Add doneWithTouchEvent callback to the WKViewClient in order to get the
1560         result of touch events in the EwkView. The result will be used to
1561         recognize gestures in the Bug 102643.
1562
1563         APIs to get values from WKTouchEventRef and WKTouchPointRef are added
1564         because WKTypeRef is opaque to the applications.
1565
1566         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1567         * UIProcess/API/C/efl/WKAPICastEfl.h:
1568         (WebKit::toAPI):
1569         * UIProcess/API/C/efl/WKEventEfl.cpp:
1570         (WKTouchEventGetType):
1571         (WKTouchEventGetTouchPoints):
1572         (WKTouchEventGetModifiers):
1573         (WKTouchEventGetTimestamp):
1574         (WKTouchPointGetID):
1575         (WKTouchPointGetState):
1576         (WKTouchPointGetScreenPosition):
1577         (WKTouchPointGetPosition):
1578         (WKTouchPointGetRadius):
1579         (WKTouchPointGetRotationAngle):
1580         (WKTouchPointGetForceFactor):
1581         * UIProcess/API/C/efl/WKEventEfl.h:
1582         * UIProcess/API/efl/EwkView.cpp:
1583         (EwkView::doneWithTouchEvent):
1584         * UIProcess/API/efl/EwkView.h:
1585         * UIProcess/CoordinatedGraphics/WebView.cpp:
1586         (WebKit::WebView::doneWithTouchEvent):
1587         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
1588         (WebKit::WebViewClient::doneWithTouchEvent):
1589         * UIProcess/CoordinatedGraphics/WebViewClient.h:
1590         * UIProcess/efl/ViewClientEfl.cpp:
1591         (WebKit::ViewClientEfl::doneWithTouchEvent):
1592         (WebKit::ViewClientEfl::ViewClientEfl):
1593         * UIProcess/efl/ViewClientEfl.h:
1594
1595 2013-07-22  Alexey Proskuryakov  <ap@apple.com>
1596
1597         Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent
1598         https://bugs.webkit.org/show_bug.cgi?id=118976
1599         <rdar://problem/14155030>
1600
1601         Reviewed by Sam Weinig.
1602
1603         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited):
1604         Clear m_gestureEventQueue, just like we clear all other event queues here.
1605
1606 2013-07-21  Anders Carlsson  <andersca@apple.com>
1607
1608         Java Updater not launched on Lion and Mountain Lion
1609         https://bugs.webkit.org/show_bug.cgi?id=118953
1610         <rdar://problem/14496721>
1611
1612         Reviewed by Sam Weinig.
1613
1614         On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of
1615         them has "localhost" specified, even if the paths are otherwise equal. Work around this by
1616         comparing the paths directly.
1617
1618         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1619         (WebKit::isJavaUpdaterURL):
1620
1621 2013-07-19  Morten Stenshorne  <mstensho@opera.com>
1622
1623         [GTK] Need a way to enable region based columns from the command line
1624         https://bugs.webkit.org/show_bug.cgi?id=116611
1625
1626         Reviewed by Martin Robinson.
1627
1628         Add an environment variable to enable experimental features.
1629
1630         This provides a means to enable experimental features without polluting
1631         the public API.
1632
1633         Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES
1634
1635         Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..."
1636         Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all
1637
1638         So far the only feature is region based columns (implement multicol using
1639         the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS.
1640
1641         Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1"
1642
1643         * GNUmakefile.list.am:
1644         * PlatformGTK.cmake:
1645         * UIProcess/API/gtk/WebKitSettings.cpp:
1646         (webKitSettingsConstructed):
1647         (webkit_settings_class_init):
1648         * UIProcess/gtk/ExperimentalFeatures.cpp: Added.
1649         (WebKit):
1650         (Setting):
1651         (WebKit::ExperimentalFeatures::ExperimentalFeatures):
1652         (WebKit::ExperimentalFeatures::isEnabled):
1653         (WebKit::ExperimentalFeatures::setEnableByName):
1654         (WebKit::ExperimentalFeatures::parseEnvironment):
1655         * UIProcess/gtk/ExperimentalFeatures.h: Added.
1656         (WebKit):
1657         (ExperimentalFeatures):
1658
1659 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
1660
1661         [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics.
1662         https://bugs.webkit.org/show_bug.cgi?id=118585
1663
1664         Reviewed by Anders Carlsson.
1665
1666         The function to find zoomable area is needed in order to implement the
1667         feature to scale for double-tap gesture. The WK2 EFL and NIX port want
1668         to use that function, so extract the code from the Qt port, make it
1669         usable in the CoordinatedGraphics and add API and callback.
1670
1671         * CMakeLists.txt:
1672         * Target.pri:
1673         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1674         (WKViewFindZoomableAreaForRect):
1675         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1676         * UIProcess/API/efl/EwkView.cpp:
1677         (EwkView::didFindZoomableArea):
1678         * UIProcess/API/efl/EwkView.h:
1679         * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added.
1680         (WebKit::WebPageProxy::findZoomableAreaForPoint):
1681         (WebKit::WebPageProxy::didFindZoomableArea):
1682         * UIProcess/CoordinatedGraphics/WebView.cpp:
1683         (WebKit::WebView::didFindZoomableArea):
1684         (WebKit::WebView::findZoomableAreaForPoint):
1685         * UIProcess/CoordinatedGraphics/WebView.h:
1686         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
1687         (WebKit::WebViewClient::didFindZoomableArea):
1688         * UIProcess/CoordinatedGraphics/WebViewClient.h:
1689         * UIProcess/PageClient.h:
1690         * UIProcess/WebPageProxy.h:
1691         * UIProcess/WebPageProxy.messages.in:
1692         * UIProcess/efl/ViewClientEfl.cpp:
1693         (WebKit::ViewClientEfl::didFindZoomableArea):
1694         (WebKit::ViewClientEfl::ViewClientEfl):
1695         * UIProcess/efl/ViewClientEfl.h:
1696         * UIProcess/qt/WebPageProxyQt.cpp:
1697         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added.
1698         (WebKit::WebPage::findZoomableAreaForPoint):
1699         * WebProcess/WebPage/WebPage.cpp:
1700         * WebProcess/WebPage/WebPage.h:
1701         * WebProcess/WebPage/WebPage.messages.in:
1702
1703 2013-07-18  Simon Cooper  <scooper@apple.com>
1704
1705         Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg
1706         https://bugs.webkit.org/show_bug.cgi?id=118874
1707         <rdar://problem/14271327>
1708
1709         Reviewed by Alexey Proskuryakov.
1710
1711         Silently deny access to FlashAuthor.cfg. This location contains
1712         files containing lists of paths that Flash Player will
1713         "allow" access to (without asking the user). Since the plugin
1714         sandbox won't permit the access to the listed paths it is better
1715         to silently block attempts to read this "whitelist".
1716
1717         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
1718
1719 2013-07-18  Tim Horton  <timothy_horton@apple.com>
1720
1721         [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes
1722         https://bugs.webkit.org/show_bug.cgi?id=118862
1723
1724         Reviewed by Anders Carlsson.
1725
1726         * WebProcess/Plugins/PluginView.cpp:
1727         (WebKit::PluginView::PluginView):
1728         Add m_pluginProcessHasCrashed.
1729
1730         (WebKit::PluginView::platformLayer):
1731         Don't return the plugin's layer if it has crashed.
1732
1733         (WebKit::PluginView::pluginProcessCrashed):
1734         Set m_pluginProcessHasCrashed.
1735         Cause a style recalc so that we rebuild the layer tree; our layer won't be included.
1736
1737         * WebProcess/Plugins/PluginView.h:
1738         Add m_pluginProcessHasCrashed.
1739
1740 2013-07-18  Alexey Proskuryakov  <ap@apple.com>
1741
1742         <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
1743         <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
1744         https://bugs.webkit.org/show_bug.cgi?id=118855
1745
1746         Reviewed by Brady Eidson.
1747
1748         * NetworkProcess/NetworkResourceLoader.cpp:
1749         (WebKit::NetworkResourceLoader::cleanup):
1750         (WebKit::NetworkResourceLoader::didFinishLoading):
1751         (WebKit::NetworkResourceLoader::didFail):
1752         Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
1753         do this when aborting a loader that currently loading from network.
1754     
1755         * NetworkProcess/SchedulableLoader.cpp:
1756         (WebKit::SchedulableLoader::SchedulableLoader):
1757         (WebKit::SchedulableLoader::consumeSandboxExtensions):
1758         (WebKit::SchedulableLoader::invalidateSandboxExtensions):
1759         * NetworkProcess/SchedulableLoader.h:
1760         Keep track of whether sandbox extensions are consumed, we don't want to revoke
1761         extensions that were never consumed (as used to be the case with sync loaders,
1762         and would be with async ones after the above fix). Also, get rid of extensions
1763         immediately when invalidating, we won't need them again.
1764
1765 2013-07-18  Tim Horton  <timothy_horton@apple.com>
1766
1767         Remove PDFViewController and WKView "custom representations"
1768         https://bugs.webkit.org/show_bug.cgi?id=118720
1769
1770         Reviewed by Alexey Proskuryakov.
1771
1772         PDFViewController was the only implementation of
1773         a "custom representation" for a WKView. As it has
1774         been superceded by PDFPlugin, we can remove both
1775         PDFViewController and the notion of a WKView custom
1776         representation.
1777
1778         * UIProcess/API/gtk/PageClientImpl.cpp:
1779         * UIProcess/API/gtk/PageClientImpl.h:
1780         * UIProcess/API/mac/PDFViewController.h: Removed.
1781         * UIProcess/API/mac/PDFViewController.mm: Removed.
1782         * UIProcess/API/mac/PageClientImpl.h:
1783         * UIProcess/API/mac/PageClientImpl.mm:
1784         * UIProcess/API/mac/WKView.mm:
1785         (-[WKView accessibilityFocusedUIElement]):
1786         (-[WKView accessibilityHitTest:]):
1787         (-[WKView accessibilityAttributeValue:]):
1788         (-[WKView printOperationWithPrintInfo:forFrame:]):
1789         * UIProcess/API/mac/WKViewInternal.h:
1790         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
1791         * UIProcess/CoordinatedGraphics/WebView.cpp:
1792         * UIProcess/CoordinatedGraphics/WebView.h:
1793         * UIProcess/DrawingAreaProxy.h:
1794         * UIProcess/DrawingAreaProxyImpl.cpp:
1795         * UIProcess/DrawingAreaProxyImpl.h:
1796         * UIProcess/PageClient.h:
1797         * UIProcess/WebPageProxy.cpp:
1798         (WebKit::WebPageProxy::WebPageProxy):
1799         (WebKit::WebPageProxy::supportsTextEncoding):
1800         (WebKit::WebPageProxy::supportsTextZoom):
1801         (WebKit::WebPageProxy::setTextZoomFactor):
1802         (WebKit::WebPageProxy::setPageZoomFactor):
1803         (WebKit::WebPageProxy::setPageAndTextZoomFactors):
1804         (WebKit::WebPageProxy::findString):
1805         (WebKit::WebPageProxy::countStringMatches):
1806         (WebKit::WebPageProxy::didCommitLoadForFrame):
1807         * UIProcess/WebPageProxy.h:
1808         (WebKit::WebPageProxy::textZoomFactor):
1809         (WebKit::WebPageProxy::pageZoomFactor):
1810         * UIProcess/WebPageProxy.messages.in:
1811         * UIProcess/qt/QtPageClient.h:
1812         * WebKit2.xcodeproj/project.pbxproj:
1813         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1814         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
1815         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1816         (WebKit::WebFrameLoaderClient::committedLoad):
1817         (WebKit::WebFrameLoaderClient::finishedLoading):
1818         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
1819         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1820         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1821         * WebProcess/WebPage/DrawingArea.h:
1822         * WebProcess/WebPage/DrawingArea.messages.in:
1823         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1824         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
1825         (WebKit::DrawingAreaImpl::scroll):
1826         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
1827         (WebKit::DrawingAreaImpl::display):
1828         * WebProcess/WebPage/DrawingAreaImpl.h:
1829         * WebProcess/WebPage/WebPage.cpp:
1830         * WebProcess/WebPage/WebPage.h:
1831         * WebProcess/WebPage/mac/WebPageMac.mm:
1832         (WebKit::WebPage::platformPreferencesDidChange):
1833         * mac/WebKit2.order:
1834
1835 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1836
1837         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
1838         https://bugs.webkit.org/show_bug.cgi?id=118797
1839
1840         Reviewed by Christophe Dumez.
1841
1842         Some mouseClick methods are used in test_ewk2_color_picker.cpp.
1843         But it is difficult to understand what they mean.
1844         So i would like to replace those with more meaningful method for readability.
1845
1846         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1847         (EWK2ColorPickerTest::clickButton):
1848         (TEST_F):
1849
1850 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
1851
1852         [WK2] Replace getRect() to pixelSnappedBoundingBox().
1853         https://bugs.webkit.org/show_bug.cgi?id=118588
1854
1855         Reviewed by Noam Rosenthal.
1856
1857         The Node::getRect() function was removed in the
1858         http://trac.webkit.org/changeset/128006, so use
1859         pixelSnappedBoundingBox() instead.
1860
1861         * WebProcess/WebPage/WebPage.cpp:
1862         (WebKit::WebPage::findZoomableAreaForPoint):
1863
1864 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1865
1866         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
1867         https://bugs.webkit.org/show_bug.cgi?id=118796
1868
1869         Reviewed by Christophe Dumez.
1870
1871         Some mouseClick methods are used in test_ewk2_context_menu.cpp.
1872         But it is difficult to understand what they mean.
1873         So i would like to replace those with more meaningful method for readability.
1874
1875         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
1876         (EWK2ContextMenuTest::testContextMenu):
1877         (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
1878         (EWK2ContextMenuTest::testContextMenuForSubmenu):
1879         (EWK2ContextMenuTest::finishTest):
1880         (EWK2ContextMenuTest::showContextMenu):
1881         (TEST_F):
1882
1883 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1884
1885         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
1886         https://bugs.webkit.org/show_bug.cgi?id=118792
1887
1888         Reviewed by Christophe Dumez.
1889
1890         Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
1891         But it is difficult to understand what they mean.
1892         So i would like to replace those with more meaningful method for readability.
1893
1894         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1895         (EWK2FileChooserRequestTest::clickFileInput):
1896         (TEST_F):
1897
1898 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
1899
1900         [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
1901         https://bugs.webkit.org/show_bug.cgi?id=118790
1902
1903         Reviewed by Christophe Dumez.
1904
1905         All the static methods should be moved to EWK2TextCheckerTest.
1906
1907         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1908         (EWK2TextCheckerTest::resetCallbacksExecutionStats):
1909         (EWK2TextCheckerTest::onTimeout):
1910         (EWK2TextCheckerTest::onSettingChange):
1911         (EWK2TextCheckerTest::onSpellDocumentTag):
1912         (EWK2TextCheckerTest::onSpellDocumentTagClose):
1913         (EWK2TextCheckerTest::onSpellingCheck):
1914         (EWK2TextCheckerTest::onSpellingForKnownWord):
1915         (EWK2TextCheckerTest::onWordGuesses):
1916         (EWK2TextCheckerTest::onWordLearn):
1917         (EWK2TextCheckerTest::onWordIgnore):
1918         (EWK2TextCheckerTest::findContextMenuItem):
1919         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
1920         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
1921         (EWK2TextCheckerTest::checkClientSuggestionsForWord):
1922         (EWK2TextCheckerTest::selectLearnSpelling):
1923         (EWK2TextCheckerTest::selectIgnoreSpelling):
1924         (EWK2TextCheckerTest::countContextMenuItems):
1925         (EWK2TextCheckerTest::clickButton):
1926         (EWK2TextCheckerTest::showContextMenu):
1927         (EWK2TextCheckerTest::selectFirstWord):
1928
1929 2013-07-17  Tim Horton  <timothy_horton@apple.com>
1930
1931         Update blocked/missing plug-in UI
1932         https://bugs.webkit.org/show_bug.cgi?id=118347
1933         <rdar://problem/14209318>
1934
1935         Reviewed by Sam Weinig.
1936
1937         * Platform/CoreIPC/HandleMessage.h:
1938         (CoreIPC::callMemberFunction):
1939         Add a 6 argument -> 4 reply message handler.
1940         (It seems that FindPlugin is getting a little out of hand.)
1941
1942         * Shared/APIClientTraits.cpp:
1943         * Shared/APIClientTraits.h:
1944         * UIProcess/API/C/WKPage.h:
1945         * UIProcess/WebLoaderClient.cpp:
1946         (WebKit::WebLoaderClient::pluginLoadPolicy):
1947         * UIProcess/WebLoaderClient.h:
1948         Add an unavailability description out-argument to a new version of
1949         pluginLoadPolicy, so clients can override the text of the unavailable
1950         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
1951
1952         * UIProcess/WebPageProxy.cpp:
1953         (WebKit::WebPageProxy::findPlugin):
1954         * UIProcess/WebPageProxy.h:
1955         * UIProcess/WebPageProxy.messages.in:
1956         Plumb the unavailability description through to the WebProcess via
1957         the FindPlugin message.
1958
1959         * WebProcess/WebPage/WebPage.cpp:
1960         (WebKit::WebPage::createPlugin):
1961         Acquire the unavailability description from the client
1962         (via FindPlugin) and hand it to the RenderEmbeddedObject.
1963
1964 2013-07-17  Commit Queue  <commit-queue@webkit.org>
1965
1966         Unreviewed, rolling out r152701, r152703, r152739, r152754,
1967         and r152756.
1968         http://trac.webkit.org/changeset/152701
1969         http://trac.webkit.org/changeset/152703
1970         http://trac.webkit.org/changeset/152739
1971         http://trac.webkit.org/changeset/152754
1972         http://trac.webkit.org/changeset/152756
1973         https://bugs.webkit.org/show_bug.cgi?id=118821
1974
1975         this was a buggy fix and we're going to try something
1976         different (Requested by thorton on #webkit).
1977
1978         * Platform/CoreIPC/HandleMessage.h:
1979         * Shared/APIClientTraits.cpp:
1980         * Shared/APIClientTraits.h:
1981         * UIProcess/API/C/WKPage.h:
1982         * UIProcess/WebLoaderClient.cpp:
1983         (WebKit::WebLoaderClient::pluginLoadPolicy):
1984         * UIProcess/WebLoaderClient.h:
1985         * UIProcess/WebPageProxy.cpp:
1986         (WebKit::WebPageProxy::findPlugin):
1987         * UIProcess/WebPageProxy.h:
1988         * UIProcess/WebPageProxy.messages.in:
1989         * WebProcess/Plugins/PluginProcessConnection.cpp:
1990         (WebKit::PluginProcessConnection::didClose):
1991         * WebProcess/Plugins/PluginView.cpp:
1992         (WebKit::PluginView::pluginProcessCrashed):
1993         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1994         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1995         * WebProcess/WebCoreSupport/WebChromeClient.h:
1996         * WebProcess/WebPage/WebPage.cpp:
1997         (WebKit::WebPage::createPlugin):
1998         (WebKit::WebPage::canPluginHandleResponse):
1999
2000 2013-07-17  Alexey Proskuryakov  <ap@apple.com>
2001
2002         [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
2003         https://bugs.webkit.org/show_bug.cgi?id=118814
2004         <rdar://problem/14173389>
2005
2006         Reviewed by Brady Eidson.
2007
2008         Speculative fix. It's unclear how we end up with an invalid URL when committing
2009         a load.
2010
2011         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
2012         Added a null check.
2013
2014 2013-07-17  Commit Queue  <commit-queue@webkit.org>
2015
2016         Unreviewed, rolling out r152786 and r152789.
2017         http://trac.webkit.org/changeset/152786
2018         http://trac.webkit.org/changeset/152789
2019         https://bugs.webkit.org/show_bug.cgi?id=118807
2020
2021         overly platform specific and dirty API (and Sam says no)
2022         (Requested by thorton on #webkit).
2023
2024         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2025         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2026         * WebProcess/WebPage/PageOverlay.cpp:
2027         * WebProcess/WebPage/PageOverlay.h:
2028         * WebProcess/WebPage/WebPage.cpp:
2029         * WebProcess/WebPage/WebPage.h:
2030         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2031
2032 2013-07-17  Tim Horton  <timothy_horton@apple.com>
2033
2034         AX: VoiceOver not working with data detection page overlays
2035         https://bugs.webkit.org/show_bug.cgi?id=118680
2036
2037         Reviewed by Anders Carlsson.
2038
2039         Bump the API version after r152786.
2040
2041         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2042
2043 2013-07-17  Simon Cooper  <scooper@apple.com>
2044
2045         YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
2046         https://bugs.webkit.org/show_bug.cgi?id=118787
2047         <rdar://problem/14418799>
2048
2049         Reviewed by Alexey Proskuryakov.
2050
2051         Add support for built-in cameras, including the original iSight.
2052
2053         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2054         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2055
2056 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
2057
2058         AX: VoiceOver not working with data detection page overlays
2059         https://bugs.webkit.org/show_bug.cgi?id=118680
2060
2061         Reviewed by Tim Horton.
2062
2063         Expose API methods so that a client implementing data detectors is able to respond
2064         to the needs of accessibility clients like VoiceOver.
2065
2066         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2067         (PageOverlayClientImpl::supportsDataDetection):
2068         (PageOverlayClientImpl::dataDetectorExistsAtPoint):
2069         (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
2070         (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
2071         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2072         * WebProcess/WebPage/PageOverlay.cpp:
2073         (WebKit::PageOverlay::supportsDataDetection):
2074         (WebKit::PageOverlay::dataDetectorExistsAtPoint):
2075         (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
2076         (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
2077         * WebProcess/WebPage/PageOverlay.h:
2078         (WebKit::PageOverlay::Client::supportsDataDetection):
2079         (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
2080         (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
2081         (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
2082         * WebProcess/WebPage/WebPage.cpp:
2083         (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
2084         (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
2085         (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
2086         (WebKit::WebPage::pageOverlaySupportsDataDetection):
2087         * WebProcess/WebPage/WebPage.h:
2088         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2089         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
2090         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
2091         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2092
2093 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2094
2095         [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
2096         https://bugs.webkit.org/show_bug.cgi?id=118721
2097
2098         Reviewed by Christophe Dumez.
2099
2100         It should be defined as relevant test class specific to each test file for more readability.
2101         It could be helpful to remove unnecessary static methods.
2102
2103         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
2104         (compareHostNames):
2105         (onCookiesChanged):
2106         (EWK2CookieManagerTest::getAcceptPolicy):
2107         (EWK2CookieManagerTest::getHostnamesWithCookies):
2108         (EWK2CookieManagerTest::freeHostNames):
2109         (EWK2CookieManagerTest::countHostnamesWithCookies):
2110         (TEST_F):
2111
2112 2013-07-16  Balazs Kelemen  <kbalazs@webkit.org>
2113
2114         [CMake] Undefined references should be detected at build time
2115         https://bugs.webkit.org/show_bug.cgi?id=110236
2116
2117         Reviewed by Christophe Dumez.
2118
2119         Add library dependencies that were not defined explicitly before.
2120
2121         * CMakeLists.txt:
2122         * PlatformEfl.cmake:
2123
2124 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2125
2126         [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
2127         https://bugs.webkit.org/show_bug.cgi?id=118780
2128
2129         Reviewed by Christophe Dumez.
2130
2131         It should be defined as relevant test class specific to each test file for more readability.
2132         It could be helpful to remove unnecessary static methods.
2133
2134         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
2135         (EWK2WindowFeaturesTest::createDefaultWindow):
2136         (EWK2WindowFeaturesTest::createWindow):
2137         (TEST_F):
2138
2139 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2140
2141         [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
2142         https://bugs.webkit.org/show_bug.cgi?id=118779
2143
2144         Reviewed by Christophe Dumez.
2145
2146         It should be defined as relevant test class specific to each test file for more readability.
2147         It could be helpful to remove unnecessary static methods.
2148
2149         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2150         (EWK2ViewTest::onLoadFinishedForRedirection):
2151         (EWK2ViewTest::serverCallbackNavigation):
2152         (EWK2ViewTest::onFormAboutToBeSubmitted):
2153         (EWK2ViewTest::fullScreenCallback):
2154         (EWK2ViewTest::fullScreenExitCallback):
2155         (EWK2ViewTest::checkAlert):
2156         (EWK2ViewTest::checkConfirm):
2157         (EWK2ViewTest::checkPrompt):
2158         (EWK2ViewTest::onTextFound):
2159         (EWK2ViewTest::onVibrate):
2160         (EWK2ViewTest::onCancelVibration):
2161         (EWK2ViewTest::loadVibrationHTMLString):
2162         (EWK2ViewTest::onContentsSizeChangedPortrait):
2163         (EWK2ViewTest::onContentsSizeChangedLandscape):
2164         (EWK2ViewTest::PageContentsAsMHTMLCallback):
2165         (EWK2ViewTest::PageContentsAsStringCallback):
2166         (TEST_F):
2167
2168 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2169
2170         [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
2171         https://bugs.webkit.org/show_bug.cgi?id=118777
2172
2173         Reviewed by Christophe Dumez.
2174
2175         It should be defined as relevant test class specific to each test file for more readability.
2176         It could be helpful to remove unnecessary static methods.
2177
2178         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
2179         (EWK2StorageManagerTest::OriginData::OriginData):
2180         (EWK2StorageManagerTest::getStorageOriginsCallback):
2181         (EWK2StorageManagerTest::timerCallback):
2182         (EWK2StorageManagerTest::checkOrigin):
2183         (TEST_F):
2184
2185 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2186
2187         [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
2188         https://bugs.webkit.org/show_bug.cgi?id=118775
2189
2190         Reviewed by Christophe Dumez.
2191
2192         It should be defined as relevant test class specific to each test file for more readability.
2193         It could be helpful to remove unnecessary static methods.
2194
2195         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
2196         (EWK2PopupMenuTest::checkBasicPopupMenuItem):
2197         (EWK2PopupMenuTest::selectItemAfterDelayed):
2198         (EWK2PopupMenuTest::showPopupMenu):
2199         (TEST_F):
2200
2201 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2202
2203         [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
2204         https://bugs.webkit.org/show_bug.cgi?id=118773
2205
2206         Reviewed by Christophe Dumez.
2207
2208         It should be defined as relevant test class specific to each test file for more readability.
2209         It could be helpful to remove unnecessary static methods.
2210
2211         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
2212         (EWK2FileChooserRequestTest::onFileChooserRequest):
2213         (EWK2FileChooserRequestTest::compareStrings):
2214         (EWK2FileChooserRequestTest::freeStringList):
2215         (TEST_F):
2216
2217 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2218
2219         [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase.
2220         https://bugs.webkit.org/show_bug.cgi?id=118772
2221
2222         Reviewed by Christophe Dumez.
2223
2224         It should be defined as relevant test class specific to each test file for more readability.
2225         It could be helpful to remove unnecessary static methods.
2226
2227         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2228         (EWK2FaviconDatabaseTest::serverCallback):
2229         (EWK2FaviconDatabaseTest::requestFaviconData):
2230         (TEST_F):
2231
2232 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2233
2234         [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase.
2235         https://bugs.webkit.org/show_bug.cgi?id=118771
2236
2237         Reviewed by Christophe Dumez.
2238
2239         It should be defined as relevant test class specific to each test file for more readability.
2240         It could be helpful to remove unnecessary static methods.
2241
2242         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
2243         (EWK2EinaSharedStringTest::checkString):
2244         (TEST_F):
2245
2246 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2247
2248         [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase.
2249         https://bugs.webkit.org/show_bug.cgi?id=118769
2250
2251         Reviewed by Christophe Dumez.
2252
2253         It should be defined as relevant test class specific to each test file for more readability.
2254         It could be helpful to remove unnecessary static methods.
2255
2256         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
2257         (EWK2DownloadJobTest::fileExists):
2258         (EWK2DownloadJobTest::serverCallback):
2259         (EWK2DownloadJobTest::on_download_requested):
2260         (EWK2DownloadJobTest::on_download_cancelled):
2261         (EWK2DownloadJobTest::on_download_failed):
2262         (EWK2DownloadJobTest::on_download_finished):
2263         (TEST_F):
2264
2265 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2266
2267         [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase.
2268         https://bugs.webkit.org/show_bug.cgi?id=118766
2269
2270         Reviewed by Christophe Dumez.
2271
2272         It should be defined as relevant test class specific to each test file for more readability.
2273         It could be helpful to remove unnecessary static methods.
2274
2275         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2276         (EWK2AuthRequestTest::serverCallback):
2277         (EWK2AuthRequestTest::onAuthenticationRequest):
2278         (EWK2AuthRequestTest::onLoadFinished):
2279         (TEST_F):
2280
2281 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2282
2283         [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase.
2284         https://bugs.webkit.org/show_bug.cgi?id=118767
2285
2286         Reviewed by Christophe Dumez.
2287
2288         It should be defined as relevant test class specific to each test file for more readability.
2289         It could be helpful to remove unnecessary static methods.
2290
2291         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
2292         (EWK2ContextMenuTest::checkBasicContextMenuItem):
2293         (EWK2ContextMenuTest::customItemSelected):
2294         (EWK2ContextMenuTest::showContextMenu):
2295         (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend):
2296         (EWK2ContextMenuTest::showContextMenuForSubmenu):
2297         (EWK2ContextMenuTest::hideContextMenu):
2298         (TEST_F):
2299
2300 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2301
2302         [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase.
2303         https://bugs.webkit.org/show_bug.cgi?id=118763
2304
2305         Reviewed by Christophe Dumez.
2306
2307         It should be defined as relevant test class specific to each test file for more readability.
2308         It could be helpful to remove unnecessary static methods.
2309
2310         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2311         (EWK2ContextTest::schemeRequestCallback):
2312         (TEST_F):
2313
2314 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2315
2316         [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase
2317         https://bugs.webkit.org/show_bug.cgi?id=118726
2318
2319         Reviewed by Christophe Dumez.
2320
2321         It should be defined as relevant test class specific to each test file for more readability.
2322         It could be helpful to remove unnecessary static methods.
2323
2324         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
2325         (EWK2DatabaseManagerTest::OriginData::OriginData):
2326         (EWK2DatabaseManagerTest::databaseOriginsCallback):
2327         (EWK2DatabaseManagerTest::timerCallback):
2328         (TEST_F):
2329
2330 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2331
2332         [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase.
2333         https://bugs.webkit.org/show_bug.cgi?id=118762
2334
2335         Reviewed by Christophe Dumez.
2336
2337         It should be defined as relevant test class specific to each test file for more readability.
2338         It could be helpful to remove unnecessary static methods.
2339
2340         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
2341         (EWK2ColorPickerTest::onColorPickerDone):
2342         (EWK2ColorPickerTest::setColorPickerColor):
2343         (EWK2ColorPickerTest::showColorPicker):
2344         (EWK2ColorPickerTest::hideColorPicker):
2345         (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
2346         (TEST_F):
2347
2348 2013-07-16  Gordon Sheridan  <gordon_sheridan@apple.com>
2349
2350         setPluginUnavailabilityReason can destroy renderObject before obscurity check
2351         https://bugs.webkit.org/show_bug.cgi?id=118770
2352         <rdar://problem/14462331>
2353
2354         Reviewed by Tim Horton.
2355
2356         * WebProcess/WebPage/WebPage.cpp:
2357         (WebKit::WebPage::createPlugin):
2358         Moved obscurity check to before renderObject is potentially destroyed.
2359
2360 2013-07-16  Alexey Proskuryakov  <ap@apple.com>
2361
2362         REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
2363         https://bugs.webkit.org/show_bug.cgi?id=118739
2364         <rdar://problem/14300350>
2365
2366         Reviewed by Daniel Bates.
2367
2368         EditorState tracking on UI side is very fragile. This is a targeted fix just for
2369         this specific scenario.
2370
2371         The issue was that we had a stale m_temporarilyClosedComposition flag, which was
2372         making UI process believe that a composition was closed from WebProcess side,
2373         and notify input method about that. It shouldn't have been a problem, because there
2374         is no composition at this point indeed, but this extra call is a problem for
2375         predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).
2376
2377         * UIProcess/mac/WebPageProxyMac.mm:
2378         (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when
2379         getting new EditorState in response to performing this action. There is certainly
2380         no composition after insertText, and all interested parties are on the same page
2381         already.
2382
2383 2013-07-16  Jessie Berlin  <jberlin@apple.com>
2384
2385         Fix some NSDictionary misuse pointed out by the clang static analyzer
2386         https://bugs.webkit.org/show_bug.cgi?id=118736
2387
2388         Reviewed by Anders Carlsson.
2389
2390         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2391         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
2392         Do not put a key with a nil value pair into the NSDictionary.
2393
2394 2013-07-16  Michael Brüning  <michael.bruning@digia.com>
2395
2396         [Qt] Replace Nokia with Qt Project in service name.
2397         https://bugs.webkit.org/show_bug.cgi?id=118729
2398
2399         Reviewed by Simon Hausmann.
2400
2401         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2402         (WebKit::ProcessLauncher::launchProcess):
2403
2404 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2405
2406         EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
2407         https://bugs.webkit.org/show_bug.cgi?id=118717
2408
2409         Reviewed by Christophe Dumez.
2410
2411         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2412         (EWK2BackForwardListTest::checkItem):
2413         (EWK2BackForwardListTest::urlFromTitle):
2414         (EWK2BackForwardListTest::freeEinaList):
2415         (TEST_F):
2416
2417 2013-07-16  Kangil Han  <kangil.han@samsung.com>
2418
2419         Use toHTMLSelectElement and dismiss isHTMLSelectElement
2420         https://bugs.webkit.org/show_bug.cgi?id=118714
2421
2422         Reviewed by Ryosuke Niwa.
2423
2424         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2425         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
2426
2427         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
2428         (WebKit::PDFPluginChoiceAnnotation::commit):
2429
2430 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2431
2432         Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
2433         https://bugs.webkit.org/show_bug.cgi?id=118699
2434
2435         Reviewed by Christophe Dumez.
2436
2437         Many mouseClick methods are used in test_ewk2_text_checker.cpp.
2438         But it is difficult to understand what they mean.
2439         So i would like to replace those with more meaningful method for readability.
2440
2441         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2442         (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
2443         (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
2444         (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
2445         (EWK2TextCheckerTest::showContextMenuWithFirstLineText):
2446         (EWK2TextCheckerTest::showContextMenuWithSecondLineText):
2447         (EWK2TextCheckerTest::selectFirstWordInFirstLineText):
2448         (EWK2TextCheckerTest::selectFirstWordInSecondLineText):
2449         (TEST_F):
2450
2451 2013-07-15  Kangil Han  <kangil.han@samsung.com>
2452
2453         Introduce toHTMLIFrameElement
2454         https://bugs.webkit.org/show_bug.cgi?id=118672
2455
2456         Reviewed by Ryosuke Niwa.
2457
2458         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
2459
2460         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2461         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
2462
2463 2013-07-15  Tim Horton  <timothy_horton@apple.com>
2464
2465         Update blocked/missing plug-in UI
2466         https://bugs.webkit.org/show_bug.cgi?id=118347
2467         <rdar://problem/14209318>
2468
2469         Reviewed by Sam Weinig.
2470         Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
2471
2472         * Platform/CoreIPC/HandleMessage.h:
2473         (CoreIPC::callMemberFunction):
2474         Add a 6 argument -> 4 reply message handler.
2475         (It seems that FindPlugin is getting a little out of hand.)
2476
2477         * Shared/APIClientTraits.cpp:
2478         * Shared/APIClientTraits.h:
2479         * UIProcess/API/C/WKPage.h:
2480         * UIProcess/WebLoaderClient.cpp:
2481         (WebKit::WebLoaderClient::pluginLoadPolicy):
2482         * UIProcess/WebLoaderClient.h:
2483         Add an unavailability description out-argument to a new version of
2484         pluginLoadPolicy, so clients can override the text of the unavailable
2485         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
2486
2487         * UIProcess/WebPageProxy.cpp:
2488         (WebKit::WebPageProxy::findPlugin):
2489         * UIProcess/WebPageProxy.h:
2490         * UIProcess/WebPageProxy.messages.in:
2491         Plumb the unavailability description through to the WebProcess via
2492         the FindPlugin message.
2493
2494         * WebProcess/Plugins/PluginProcessConnection.cpp:
2495         (WebKit::PluginProcessConnection::didClose):
2496         Make a strongly referencing copy of the list of PluginProxies, so we can
2497         throw them away without the HashMap being mutated underneath us (see the comment).
2498
2499         * WebProcess/Plugins/PluginView.cpp:
2500         (WebKit::PluginView::pluginProcessCrashed):
2501         Invalidate the plug-in's widget before setting the plugin unavailability reason,
2502         because doing so would cause the plug-in's renderer to be torn down, making
2503         invalidate() crash.
2504
2505         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2506         (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
2507         * WebProcess/WebCoreSupport/WebChromeClient.h:
2508         Rename from shouldUnavailablePluginMessageBeButton to
2509         shouldUnavailablePluginMessageIncludeButton for accuracy.
2510
2511         * WebProcess/WebPage/WebPage.cpp:
2512         (WebKit::WebPage::createPlugin):
2513         Acquire the unavailability description from the client
2514         (via FindPlugin) and hand it to the RenderEmbeddedObject.
2515         (WebKit::WebPage::canPluginHandleResponse):
2516         Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.
2517
2518 2013-07-15  Simon Cooper  <scooper@apple.com>
2519
2520         PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
2521         https://bugs.webkit.org/show_bug.cgi?id=118690
2522         <rdar://problem/14255963>
2523
2524         Reviewed by Dean Jackson.
2525
2526         Silently deny access to FlashPlayerTrust. This location contains
2527         files containing lists of paths that Flash Player will
2528         "allow" access to (without asking the user). Since the plugin
2529         sandbox won't permit the access to the listed paths it is better
2530         to silently block attempts to read these "whitelists". The
2531         "whitelists" are created by other Adobe "installer" like
2532         applications.
2533
2534         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2535
2536 2013-07-14  Jon Lee  <jonlee@apple.com>
2537
2538         Calling Notification.requestPermission() without a callback crashes
2539         https://bugs.webkit.org/show_bug.cgi?id=118654
2540         <rdar://problem/14293352>
2541
2542         Reviewed by Alexey Proskuryakov.
2543
2544         When requestPermission() is called, we short-circuit if we know the permission was already set.
2545         The callback handler gets invoked. But now that callbacks are optional, we need to check to make
2546         sure a callback was provided.
2547
2548         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2549         (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.
2550
2551 2013-07-15  Anton Obzhirov  <a.obzhirov@samsung.com>
2552
2553         [GTK] Remote inspector server should send an error page if resources not found
2554         https://bugs.webkit.org/show_bug.cgi?id=117137
2555
2556         Reviewed by Gustavo Noronha Silva.
2557
2558         Sometimes it is difficult to understand why remote inspector fails to deliver the content.
2559         This patch gives an option to show error page with some basic explanation.
2560
2561         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2562         (WebKit::WebInspectorServer::platformResourceForPath):
2563
2564 2013-07-15  Simon Pena  <simon.pena@samsung.com>
2565
2566         [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
2567         https://bugs.webkit.org/show_bug.cgi?id=118530
2568
2569         Reviewed by Carlos Garcia Campos.
2570
2571         When a key event is started in the WebProcess (e.g. in the inspector)
2572         it doesn't have an associated GdkEvent queued. Adding a check in 
2573         WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
2574         key event to process.
2575
2576         In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
2577         this fix is in place. 
2578
2579         * UIProcess/gtk/WebPageProxyGtk.cpp:
2580         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
2581         not empty.
2582
2583 2013-07-15  Alberto Garcia  <berto@igalia.com>
2584
2585         [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
2586         https://bugs.webkit.org/show_bug.cgi?id=118052
2587
2588         Reviewed by Carlos Garcia Campos.
2589
2590         We don't need to check whether the drawing area is empty or not in
2591         order to set needsResizeOnMap.
2592
2593         It can also happen that the drawing area pointer is null (if
2594         e.g. the web process crashes), which is the reason for this
2595         SIGSEGV.
2596
2597         A test to prevent this was added in r88646 but was later moved to
2598         resizeWebKitWebViewBaseFromAllocation().
2599
2600         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2601         (webkitWebViewBaseSizeAllocate):
2602
2603 2013-07-10  Roger Fong  <roger_fong@apple.com>
2604
2605         Plugins that don't support snapshotting should not all autostart.
2606         https://bugs.webkit.org/show_bug.cgi?id=118572
2607         <rdar://problem/14324391>.
2608
2609         Reviewed by Dean Jackson.
2610
2611         * WebProcess/Plugins/PluginView.cpp:
2612         (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
2613         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
2614         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
2615         to the the DisplayingSnapshot state.
2616         * WebProcess/Plugins/PluginView.h:
2617
2618 2013-07-11  Jessie Berlin  <jberlin@apple.com>
2619
2620         WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the
2621         clang static analyzer)
2622         https://bugs.webkit.org/show_bug.cgi?id=118533
2623
2624         Reviewed by Anders Carlsson.
2625
2626         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
2627         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
2628
2629 2013-07-11  Sergio Correia  <sergio.correia@openbossa.org>
2630
2631         Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable
2632         https://bugs.webkit.org/show_bug.cgi?id=118568
2633
2634         Reviewed by Martin Robinson.
2635
2636         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2637         (WebKit::PluginProcessProxy::scanPlugin):
2638
2639 2013-07-11  Timothy Hatcher  <timothy@apple.com>
2640
2641         Revert r152267 and soft link WebInspectorUI.framework again.
2642
2643         https://bugs.webkit.org/show_bug.cgi?id=118544
2644
2645         Reviewed by David Kilzer.
2646
2647         * Configurations/WebKit2.xcconfig:
2648         * UIProcess/mac/WebInspectorProxyMac.mm:
2649         (WebKit::inspectorReallyUsesWebKitUserInterface):
2650         * WebKit2.xcodeproj/project.pbxproj:
2651         * WebProcess/WebPage/mac/WebInspectorMac.mm:
2652         (WebKit::inspectorReallyUsesWebKitUserInterface):
2653
2654 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
2655
2656         [Coordinated Graphics] Parameter of commitSceneState should be const
2657         https://bugs.webkit.org/show_bug.cgi?id=118564
2658
2659         Reviewed by Noam Rosenthal.
2660
2661         Parameter of commitSceneState should be const as there should not be any
2662         modifications to the passed CoordinatedGraphicsState.
2663
2664         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2665         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
2666         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2667
2668 2013-07-10  Mark Rowe  <mrowe@apple.com>
2669
2670         <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework.
2671
2672         Reviewed by Alexey Proskuryakov.
2673
2674         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2675         (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables
2676         specified in dynamic linker load commands are passed to the subprocess that we spawn to create
2677         the MIME type property list.
2678
2679 2013-07-10  Brady Eidson  <beidson@apple.com>
2680
2681         Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy.
2682         <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535
2683
2684         Reviewed by Alexey Proskuryakov.
2685
2686         * Shared/Plugins/NPObjectProxy.cpp:
2687         (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread.
2688         (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread.
2689
2690 2013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
2691
2692         Remove the meshType from CoordinatedCustomFilterOperation
2693         https://bugs.webkit.org/show_bug.cgi?id=118529
2694
2695         Reviewed by Noam Rosenthal.
2696
2697         Following the removal of the meshType from CustomFilterOperation in r149153,
2698         remove also the meshType from CoordinatedCustomFilterOperation.
2699
2700         No new tests, no new functionality.
2701
2702         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2703         (CoreIPC::::encode): Remove dead comment.
2704         (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation
2705         call.
2706
2707 2013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
2708
2709         [EFL] tooltip callback doesn't work.
2710         https://bugs.webkit.org/show_bug.cgi?id=118522
2711
2712         Reviewed by Christophe Dumez.
2713
2714         Add missing code to connect didChangeTooltip callback.
2715
2716         * UIProcess/efl/ViewClientEfl.cpp:
2717         (WebKit::ViewClientEfl::ViewClientEfl):
2718
2719 2013-07-09  Jer Noble  <jer.noble@apple.com>
2720
2721         Reviewed by Simon Fraser.
2722
2723         Remember the scroll position and restore after exiting full-screen mode.
2724         https://bugs.webkit.org/show_bug.cgi?id=61956
2725         <rdar://problem/9544461>
2726
2727         Call into the main FrameView to save the scroll position before swapping the
2728         WebView into the full-screen window, and restore the scroll position after 
2729         swapping the WebView back into the browser window.
2730
2731         * UIProcess/mac/WKFullScreenWindowController.mm:
2732         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2733         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
2734
2735         In WebKit2, this requires some communication between the WebProcess and the
2736         UIProcess, so add two new messages to WebFullScreenManager to be called by
2737         its proxy.
2738
2739         * UIProcess/WebFullScreenManagerProxy.h:
2740         * UIProcess/WebFullScreenManagerProxy.cpp:
2741         (WebKit::WebFullScreenManagerProxy::saveScrollPosition):
2742         (WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
2743         * WebProcess/FullScreen/WebFullScreenManager.h:
2744         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
2745         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2746         (WebKit::WebFullScreenManager::saveScrollPosition):
2747         (WebKit::WebFullScreenManager::restoreScrollPosition):
2748
2749 2013-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2750
2751         [GTK] Runtime critical warning when unloading a module that failed to load
2752         https://bugs.webkit.org/show_bug.cgi?id=118425
2753
2754         Reviewed by Martin Robinson.
2755
2756         * Platform/gtk/ModuleGtk.cpp:
2757         (WebKit::Module::load): Show an error message when the module
2758         fails to load.
2759         (WebKit::Module::unload): Check module pointer before calling
2760         unload method.
2761
2762 2013-07-05  Tim Horton  <timothy_horton@apple.com>
2763
2764         [wk2] Add API to lock the scroll position at the top or bottom of the page
2765         https://bugs.webkit.org/show_bug.cgi?id=118429
2766         <rdar://problem/14120323>
2767
2768         Reviewed by Anders Carlsson.
2769
2770         * Shared/WebPageCreationParameters.cpp:
2771         (WebKit::WebPageCreationParameters::encode):
2772         (WebKit::WebPageCreationParameters::decode):
2773         * Shared/WebPageCreationParameters.h:
2774         Pass the current ScrollPinningBehavior across to the WebPage upon creation.
2775
2776         * UIProcess/API/C/WKPage.cpp:
2777         (WKPageGetScrollPinningBehavior):
2778         (WKPageSetScrollPinningBehavior):
2779         * UIProcess/API/C/WKPagePrivate.h:
2780         SPI to get/set the WebPageProxy's current ScrollPinningBehavior.
2781         Convert between WK API type and WebCore enum.
2782
2783         * UIProcess/WebPageProxy.cpp:
2784         (WebKit::WebPageProxy::WebPageProxy):
2785         (WebKit::WebPageProxy::creationParameters):
2786         Send ScrollPinningBehavior when creating a WebPage.
2787
2788         (WebKit::WebPageProxy::setScrollPinningBehavior):
2789         Pass ScrollPinningBehavior changes across to the WebProcess (and save it
2790         in WebPageProxy so it can be sent back across if the WebProcess crashes).
2791
2792         * UIProcess/WebPageProxy.h:
2793         (WebKit::WebPageProxy::scrollPinningBehavior):
2794         Getter/setter and storage for m_scrollPinningBehavior.
2795
2796         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2797         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2798         Inform new FrameViews of the current ScrollPinningBehavior.
2799
2800         * WebProcess/WebPage/WebPage.cpp:
2801         (WebKit::WebPage::WebPage):
2802         Set our ScrollPinningBehavior based on our creation parameters.
2803
2804         (WebKit::WebPage::setScrollPinningBehavior):
2805         Inform the FrameView of ScrollPinningBehavior changes.
2806
2807         * WebProcess/WebPage/WebPage.h:
2808         (WebKit::WebPage::scrollPinningBehavior): Added.
2809         (WebKit::WebPage::setScrollPinningBehavior): Added.
2810         Add storage for m_scrollPinningBehavior.
2811
2812         * WebProcess/WebPage/WebPage.messages.in:
2813         Add SetScrollPinningBehavior message.
2814
2815 2013-07-05  Krzysztof Wolanski  <k.wolanski@samsung.com>
2816
2817         [EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
2818         https://bugs.webkit.org/show_bug.cgi?id=118392
2819
2820         Reviewed by Christophe Dumez.
2821
2822         Simulate behavior of Learn and Ignore Word in the text field.
2823
2824         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2825         (EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick):
2826         Select the entire word in the text field.
2827
2828         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2829         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2830         (onSpellingForKnownWord):
2831         (onWordLearn):
2832         (onWordIgnore):
2833         (selectLearnSpelling):
2834         (selectIgnoreSpelling):
2835
2836 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2837
2838         [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
2839         https://bugs.webkit.org/show_bug.cgi?id=111434
2840
2841         Reviewed by Carlos Garcia Campos.
2842
2843         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
2844         (testNotInitialized):
2845         (testSetDirectory):
2846         (testClearDatabase):
2847         (testGetFavicon):
2848         (testGetFaviconURI): Removed gconstpointer parameter.
2849         (testWebViewFavicon): Fixed to make it work together with the
2850         other tests and removed gconstpointer parameter.
2851         (testFaviconDatabase): Created to call all tests in the proper
2852         order.
2853         (beforeAll): Changed to call only testFaviconDatabase instead of
2854         the separate tests.
2855
2856 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2857
2858         TestWebKitFaviconDatabase/clear-database is not testing things properly
2859         https://bugs.webkit.org/show_bug.cgi?id=118404
2860
2861         Reviewed by Carlos Garcia Campos.
2862
2863         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
2864         (testClearDatabase): Check for an existing icon that can make the
2865         test fail if clear database is not working.
2866
2867 2013-07-04  Anders Carlsson  <andersca@apple.com>
2868
2869         Paint the page background if we haven't received our first update
2870         https://bugs.webkit.org/show_bug.cgi?id=118402
2871         <rdar://problem/13893308>
2872
2873         Reviewed by Simon Fraser.
2874
2875         Make sure that we always paint something when we haven't received our first update from the web process.
2876
2877         * UIProcess/API/mac/WKView.mm:
2878         (-[WKView drawRect:]):
2879         * UIProcess/DrawingAreaProxyImpl.h:
2880         (WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate):
2881
2882 2013-07-04  Anders Carlsson  <andersca@apple.com>
2883
2884         Crash when createPluginInternal ends up destroying the plug-in
2885         https://bugs.webkit.org/show_bug.cgi?id=118397
2886         <rdar://problem/14155051>
2887
2888         Reviewed by Simon Fraser.
2889
2890         Keep the WebProcessConnection object alive while calling createPluginInternal and handle
2891         the IPC connection going away.
2892
2893         * PluginProcess/WebProcessConnection.cpp:
2894         (WebKit::WebProcessConnection::createPluginAsynchronously):
2895
2896 2013-07-03  Gordon Sheridan  <gordon_sheridan@apple.com>
2897
2898         Implement mechanism to detect (partially) hidden blocked plugins.
2899         https://bugs.webkit.org/show_bug.cgi?id=117998
2900
2901         Reviewed by Dean Jackson.
2902
2903         * Shared/Plugins/Netscape/PluginInformation.h:
2904         * Shared/Plugins/Netscape/PluginInformation.cpp:
2905         (WebKit::plugInInformationReplacementObscuredKey):
2906         Add key for plugInInformation dictionaries.
2907
2908         (WebKit::createPluginInformationDictionary):
2909         Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary.
2910
2911         * Shared/API/c/WKPluginInformation.h:
2912         * Shared/API/c/WKPluginInformation.cpp:
2913         (WKPluginInformationReplacementObscuredKey):
2914         Provide the C API for the plugInInformationReplacementObscuredKey().
2915
2916         * UIProcess/WebPageProxy.h:
2917         * UIProcess/WebPageProxy.cpp:
2918         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2919         Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary().
2920
2921         * UIProcess/WebPageProxy.messages.in:
2922         Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message.
2923
2924         * WebProcess/WebPage/WebPage.cpp:
2925         (WebKit::WebPage::createPlugin):
2926         Invoke isReplacementObscured() method for blocked plugins.
2927
2928 2013-07-03  Alexey Proskuryakov  <ap@apple.com>
2929
2930         <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
2931         <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites
2932
2933         Reviewed by Sam Weinig.
2934
2935         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2936         semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now).
2937
2938 2013-07-03  Simon Pena  <simon.pena@samsung.com>
2939
2940         WebTextCheckerClient doesn't initialize output arguments.
2941         https://bugs.webkit.org/show_bug.cgi?id=83683
2942
2943         Reviewed by Martin Robinson.
2944
2945         Callers of checkSpellingOfString and checkGrammarOfString expect
2946         certain default values when no misspelled (or bad grammar) string
2947         is found. They try to do that by initialising the reply arguments
2948         that go into the IPC calls, but these values are ultimately ignored (see
2949         HandleMessage.h, where the replyArguments are declared).
2950
2951         In the past, this seems to have led to various issues, (see
2952         TextCheckingHelper::findFirstMisspelling in TextCheckingHelper.cpp),
2953         where these return values are asserted and checked to be in the right range.
2954
2955         This patch initialises the values, so even if no available client
2956         implements the methods (or if the implementation forgets to do it) the callers
2957         will have their expected output.
2958
2959         However, and for a general case, we probably need a way to tell the caller
2960         that any existing value in the output arguments will be ignored.
2961
2962         * UIProcess/WebTextCheckerClient.cpp:
2963         (WebKit::WebTextCheckerClient::checkSpellingOfString):
2964         (WebKit::WebTextCheckerClient::checkGrammarOfString):
2965
2966
2967 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
2968
2969         [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected
2970         https://bugs.webkit.org/show_bug.cgi?id=116867
2971
2972         Reviewed by Anders Carlsson.
2973
2974         We did not reset the clients on WebPageProxy::close(), so right
2975         clicking on a link after starting the navigation to some other
2976         page was causing crashes because code was trying to access an
2977         already freed m_contextMenuClient.
2978
2979         There were some other clients that could potentially trigger the
2980         same issues. Reset them all to null to prevent this situation.
2981
2982         * UIProcess/WebPageProxy.cpp:
2983         (WebKit::WebPageProxy::close):
2984
2985 2013-07-03  Simon Pena  <simon.pena@samsung.com>
2986
2987         Output arguments used in IPC calls should be returned initialised
2988         https://bugs.webkit.org/show_bug.cgi?id=118354
2989
2990         Reviewed by Anders Carlsson.
2991
2992         When Download::shouldDecodeSourceDataOfMIMEType and Download::retrieveDestinationWithSuggestedFilename
2993         call DownloadProxy::shouldDecodeSourceDataOfMIMEType and DownloadProxy::decideDestinationWithSuggestedFilename
2994         through IPC, they assume the output arguments result and allowOverwrite have
2995         been initialised.
2996
2997         This patch initialises these arguments also in the unlikely event that a
2998         m_webContext is not available.
2999
3000         * UIProcess/Downloads/DownloadProxy.cpp:
3001         (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
3002         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
3003
3004 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
3005
3006         [WK2][GTK] Invalid ASSERTs in WebResources loading code
3007         https://bugs.webkit.org/show_bug.cgi?id=118352
3008
3009         Reviewed by Carlos Garcia Campos.
3010
3011         The WebKitWebView keeps track of the resources being loaded in a
3012         map. A couple of ASSERTs verify that every loaded resource is
3013         stored in that map.
3014
3015         The map that is cleared each time a new load starts so there is a
3016         small chance that we get notifications for resources that
3017         correspond to previous page loads
3018         (and thus are not stored in the map). We should remove the ASSERT
3019         which is not valid anymore.
3020
3021         * UIProcess/API/gtk/WebKitWebView.cpp:
3022         (webkitWebViewGetLoadingWebResource):
3023
3024 2013-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3025
3026         [GTK] Migrate WebKitWebContext to GTask
3027         https://bugs.webkit.org/show_bug.cgi?id=117153
3028
3029         Reviewed by Gustavo Noronha Silva.
3030
3031         * UIProcess/API/gtk/WebKitWebContext.cpp:
3032         (webkitWebContextGetPluginThread):
3033         (webkit_web_context_get_plugins):
3034         (webkit_web_context_get_plugins_finish):
3035
3036 2013-07-02  Zan Dobersek  <zdobersek@igalia.com>
3037
3038         [WK2] Invalidate FontCache before purging MemoryCache upon WebProcess termination/closure
3039         https://bugs.webkit.org/show_bug.cgi?id=118280
3040
3041         Reviewed by Darin Adler.
3042
3043         Invalidate the FontCache before disabling and purging the MemoryCache in WebProcess::didClose
3044         and WebProcess::terminate. This frees up additional references to objects that were held
3045         by the FontCache, reducing the amount of 'LEAK: *' output when exiting MiniBrowser or
3046         WebKitTestRunner in debug builds.
3047
3048         * WebProcess/WebProcess.cpp:
3049         (WebKit::WebProcess::terminate):
3050         (WebKit::WebProcess::didClose):
3051
3052 2013-07-02  Jessie Berlin  <jberlin@apple.com>
3053
3054         The callback for WKPageGetPlugInInformation needs info about whether or not there are any
3055         non-playing instances of the plug-in on the page
3056         https://bugs.webkit.org/show_bug.cgi?id=118330
3057
3058         Reviewed by Anders Carlsson.
3059
3060         Add another key value pair to the dictionary passed to the callback.
3061
3062         * Shared/API/c/WKPluginInformation.cpp:
3063         (WKPlugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
3064         * Shared/API/c/WKPluginInformation.h:
3065
3066         * Shared/Plugins/Netscape/PluginInformation.cpp:
3067         (WebKit::plugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
3068         (WebKit::createPlugInInformationDictionary):
3069         Add the information about whether or not the page contains a non-playing instance of that
3070         plug-in to the plug-in information dictionary.
3071         * Shared/Plugins/Netscape/PluginInformation.h:
3072
3073         * UIProcess/WebPageProxy.h:
3074         * UIProcess/WebPageProxy.messages.in:
3075         * UIProcess/mac/WebPageProxyMac.mm:
3076         (WebKit::WebPageProxy::containsPlugInCallback):
3077         Check if any of the MIME types of the plug-in instances that are present on the page but are
3078         not playing match the instance of plug-in being searched for.
3079         * WebProcess/WebPage/mac/WebPageMac.mm:
3080         (WebKit::addPlugInMimeTypesFromNodeListForNonPlayingPlugIns):
3081         Based roughly off of addPlugInsFromNodeListMatchingPlugInOrigin in
3082         HTMLPlugInImageElement.cpp.
3083         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
3084         Based roughly off of HTMLPlugInImageElement::restartSimilarPlugIns.
3085
3086 2013-07-02  Alexey Proskuryakov  <ap@apple.com>
3087
3088         security/block-test.html fails when NetworkProcess is enabled
3089         https://bugs.webkit.org/show_bug.cgi?id=118320
3090         <rdar://problem/14309423>
3091
3092         Reviewed by Geoff Garen.
3093
3094         * NetworkProcess/NetworkResourceLoader.cpp:
3095         (WebKit::NetworkResourceLoader::wasBlocked):
3096         (WebKit::NetworkResourceLoader::cannotShowURL):
3097         Implemented missing ResourceHandleClient functions.
3098
3099 2013-07-02  Ada Chan  <adachan@apple.com>
3100
3101         Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage().
3102         https://bugs.webkit.org/show_bug.cgi?id=118268
3103
3104         Reviewed by Beth Dakin.
3105
3106         * WebProcess/WebPage/mac/PageBannerMac.mm:
3107         (WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage()
3108         can be null if this method is called after the web page is closed.
3109
3110 2013-07-02  Jae Hyun Park  <jae.park@company100.net>
3111
3112         Implement CoordinatedSurface for Threaded Coordinated Graphics
3113         https://bugs.webkit.org/show_bug.cgi?id=109661
3114
3115         Reviewed by Noam Rosenthal.
3116
3117         This is a preparation patch for Threaded Coordianted Graphics.
3118
3119         This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
3120         backend. Also, this patch moves common implementation to CoordinatedSurface to
3121         prevent duplication of code.
3122
3123         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
3124         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
3125         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
3126
3127 2013-07-01  Alexey Proskuryakov  <ap@apple.com>
3128
3129         Clean up private browsing session tracking
3130         https://bugs.webkit.org/show_bug.cgi?id=118266
3131         <rdar://problem/13078036>
3132
3133         Reviewed by Brady Eidson.
3134
3135         Instead of counting API calls, we now watch actual WebPreferences objects.
3136
3137         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
3138         Removed code that used to notify WebContext. It's now done by WebPreferences.
3139
3140         * UIProcess/WebContext.h:
3141         * UIProcess/WebContext.cpp:
3142         (WebKit::WebContext::ensureNetworkProcess): Instead of counting the number of times
3143         API was called, rely on WebPreferences tracking.
3144         (WebKit::WebContext::willStartUsingPrivateBrowsing): Ditto. This function is
3145         now only called when we detect a change in private browsing state.
3146         (WebKit::WebContext::willStopUsingPrivateBrowsing): Ditto.
3147         (WebKit::WebContext::createNewWebProcess): Tell the new process to create a private
3148         browsing session if needed.
3149
3150         * UIProcess/WebPreferences.h:
3151         * UIProcess/WebPreferences.cpp:
3152         (WebKit::WebPreferences::addPageGroup): Count how many page groups use private
3153         browsing, and notify WebContext when a session is needed. Note that we don't notify
3154         WebContext about WebPreferences without any page groups, because it's likely
3155         that preferences will be updated by the client before groups are associated.
3156         (WebKit::WebPreferences::removePageGroup): Ditto.
3157         (WebKit::WebPreferences::updateBoolValueForKey): Perform special handling for
3158         private browsing mode changes.
3159         (WebKit::WebPreferences::updatePrivateBrowsingValue): Notify WebContext when
3160         it's time to create or destroy a private browsing session.
3161         (WebKit::WebPreferences::anyPageGroupsAreUsingPrivateBrowsing): A getter for
3162         WebContext to know when any page groups are in private browsing mode.
3163
3164         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
3165         Don't create a private browsing session implicitly, UI process takes care of it.
3166
3167 2013-07-01  Timothy Hatcher  <timothy@apple.com>
3168
3169         Link to WebInspectorUI.framework at build time instead of soft linking.
3170
3171         https://bugs.webkit.org/show_bug.cgi?id=118261
3172
3173         Reviewed by Joseph Pecoraro.
3174
3175         * Configurations/WebKit2.xcconfig:
3176         * UIProcess/mac/WebInspectorProxyMac.mm:
3177         (WebKit::inspectorReallyUsesWebKitUserInterface):
3178         * WebKit2.xcodeproj/project.pbxproj:
3179         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3180         (WebKit::inspectorReallyUsesWebKitUserInterface):
3181
3182 2013-07-01  Tim Horton  <timothy_horton@apple.com>
3183
3184         [wk2] TiledCoreAnimationDrawingArea should support scrolling its exposed rect
3185         https://bugs.webkit.org/show_bug.cgi?id=118173
3186         <rdar://problem/14301166>
3187
3188         Reviewed by Anders Carlsson.
3189
3190         Offset the exposed rect passed from the WKView by the main frame's current scroll position
3191         before sending it to our TiledBackings, so that it is in the same coordinate space as their
3192         ordinary visibleRects.
3193
3194         This has the side effect of making clips-to-exposed-rect testable (though useless) in Safari.
3195
3196         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3197         Add updateScrolledExposedRect() and m_scrolledExposedRect.
3198
3199         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3200         (WebKit::TiledCoreAnimationDrawingArea::scroll):
3201         Call updateScrolledExposedRect when the main frame scrolls.
3202
3203         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
3204         Remove a FIXME about this change.
3205         Call updateScrolledExposedRect instead of passing down the unscrolled rect.
3206
3207         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
3208         Call updateScrolledExposedRect, because that method will short-circuit if
3209         setClipsToExposedRect is false, so we need to update here for correctness
3210         if we get a setExposedRect(), setClipsToExposedRect(true) pair.
3211
3212         (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
3213         Update m_scrolledExposedRect and propagate it to our TiledBackings.
3214
3215         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3216         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3217         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3218         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
3219         Use the scrolled exposed rect.
3220
3221 2013-07-01  Ada Chan  <adachan@apple.com>
3222
3223         Properly hide the header and footer banners if they are set to null.
3224         https://bugs.webkit.org/show_bug.cgi?id=118219
3225
3226         Reviewed by Beth Dakin.
3227         
3228         Call Page::addFooterWithHeight(0) to remove the parent layer that hosts the banner when
3229         the footer banner is detached. Similarly for the header banner.
3230
3231         * WebProcess/WebPage/mac/PageBannerMac.mm:
3232         (WebKit::PageBanner::detachFromPage):
3233
3234 2013-07-01  Jochen Eisinger  <jochen@chromium.org>
3235
3236         Remove support for consumable user gestures
3237         https://bugs.webkit.org/show_bug.cgi?id=118247
3238
3239         Reviewed by Geoffrey Garen.
3240
3241         * WebProcess/Notifications/WebNotificationManager.cpp:
3242         (WebKit::WebNotificationManager::didClickNotification):
3243         * WebProcess/Plugins/PluginView.cpp:
3244         (WebKit::PluginView::performFrameLoadURLRequest):
3245         (WebKit::PluginView::evaluate):
3246         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3247         (WebKit::WebContextMenuClient::searchWithGoogle):
3248
3249 2013-06-27  Jer Noble  <jer.noble@apple.com>
3250
3251         Audio in apps which embed WebViews is corrupted.
3252         https://bugs.webkit.org/show_bug.cgi?id=118163
3253
3254         Reviewed by Maciej Stachowiak.
3255
3256         Expose the WebCore lowPowerVideoAudioBufferSizeEnabled setting to WebKit2 clients.
3257
3258         * Shared/WebPreferencesStore.h:
3259         * WebProcess/WebPage/WebPage.cpp:
3260         (WebKit::WebPage::updatePreferences):
3261
3262 2013-07-01  Sam Weinig  <sam@webkit.org>
3263
3264         WKPageLoadDataWithUserData neglects to set the base URL that is passed in
3265         <rdar://problem/14306784>
3266         https://bugs.webkit.org/show_bug.cgi?id=118256
3267
3268         Reviewed by Anders Carlsson.
3269
3270         * WebProcess/WebPage/WebPage.cpp:
3271         (WebKit::WebPage::loadData):
3272         Pass the baseURL, not blankURL(), and remove an unnecessary multiplication by sizeof(uint8_t) which is always 1.
3273
3274 2013-07-01  Kangil Han  <kangil.han@samsung.com>
3275
3276         Adopt toHTMLTextAreaElement for code cleanup
3277         https://bugs.webkit.org/show_bug.cgi?id=118226
3278
3279         Reviewed by Andreas Kling.
3280
3281         To enhance readability, this patch adopts toHTMLTextAreaElement.
3282         This also helps out to reduce duplicated use of static_cast.
3283
3284         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3285         (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
3286         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
3287         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
3288         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3289         (WebKit::WebEditorClient::textDidChangeInTextArea):
3290         * WebProcess/WebPage/WebFrame.cpp:
3291         (WebKit::WebFrame::containsAnyFormControls):
3292
3293 2013-06-28  Andreas Kling  <akling@apple.com>
3294
3295         Fix Windows builds after deprecatedCharactersWithNullTermination() removal.
3296
3297         * Platform/CoreIPC/win/ConnectionWin.cpp:
3298         (CoreIPC::Connection::createServerAndClientIdentifiers):
3299
3300 2013-06-28  Tim Horton  <timothy_horton@apple.com>
3301
3302         [wk2] WKView shouldn't force scrolling off if shouldClipToVisibleRect is set
3303         https://bugs.webkit.org/show_bug.cgi?id=118174
3304         <rdar://problem/14301175>
3305
3306         Reviewed by Anders Carlsson.
3307
3308         * UIProcess/API/mac/WKView.mm:
3309         (-[WKView _updateViewExposedRect]):
3310         Pass whether or not clips-to-visibleRect is enabled down to the WebPageProxy.
3311
3312         (-[WKView setMinimumSizeForAutoLayout:]):
3313         Disable scrolling when using autolayout instead of when using clips-to-visibleRect.
3314
3315         (-[WKView setShouldClipToVisibleRect:]):
3316         Clipping to the WKView's visibleRect does not strictly require scrolling to be disabled,
3317         and in fact there are cases (RTL/TB pagination) where we *must* scroll, even when the view
3318         is big enough to fit the content (the case clip-to-visibleRect was added for).
3319
3320         * UIProcess/WebPageProxy.cpp:
3321         (WebKit::WebPageProxy::WebPageProxy):
3322         * UIProcess/WebPageProxy.h:
3323         * UIProcess/mac/WebPageProxyMac.mm:
3324         (WebKit::WebPageProxy::viewExposedRectChanged):
3325         (WebKit::WebPageProxy::exposedRectChangedTimerFired):
3326         Keep track of and forward to the drawing area whether or not clips-to-visibleRect is enabled.
3327
3328         * WebProcess/WebPage/DrawingArea.h:
3329         (WebKit::DrawingArea::setClipsToExposedRect): Added.
3330         (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame): Added a missing space.
3331
3332         * WebProcess/WebPage/WebPage.cpp:
3333         (WebKit::WebPage::viewExposedRectChanged):
3334         * WebProcess/WebPage/WebPage.h:
3335         * WebProcess/WebPage/WebPage.messages.in:
3336         Forward clips-to-visibleRect enabled state to the drawing area.
3337
3338         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3339         Add storage for m_clipsToExposedRect.
3340
3341         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3342         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3343         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3344         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
3345         (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
3346         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3347         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
3348         Check m_clipsToExposedRect instead of the main-frame's isScrollable() to determine
3349         whether we should tell our TiledBackings to clip to the exposed rect we provide.
3350
3351         We don't need to listen to mainFrameScrollabilityChanged anymore.
3352
3353 2013-06-28  Gavin Barraclough  <barraclough@apple.com>
3354
3355         Stale occlusion state after moving page back into window
3356         https://bugs.webkit.org/show_bug.cgi?id=118202
3357
3358         Reviewed by Anders Carlsson.
3359         
3360         We need to update the occlusion state when the page goes back into the window.
3361
3362         * UIProcess/API/mac/WKView.mm:
3363         (-[WKView viewDidMoveToWindow]):
3364             - update occlusion state.
3365
3366 2013-06-28  Gwang Yoon Hwang  <ryumiel@company100.net>
3367
3368         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
3369         https://bugs.webkit.org/show_bug.cgi?id=104360
3370
3371         Reviewed by Noam Rosenthal.
3372
3373         The CoordinatedLayerTreeHost has too many responsibilities. It
3374         implements LayerTreeHost, GraphicsLayerClient,
3375         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
3376         UpdateAtlas::Client, GraphicsLayerFactory and
3377         WebCustomFilterProgramProxyClient.
3378
3379         This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
3380
3381         This patch introduces a new class called CompositingCoordinator, which
3382         takes the responsibility of managing compositing resources in
3383         WebProcess.
3384
3385         CoordinatedLayerTreeHost is responsible only for the scheduling and
3386         IPC-specific stuff, which are relevant only for WebKit2.
3387
3388         No new tests, covered by existing tests.
3389
3390         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3391         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
3392         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3393         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
3394         (WebKit::CoordinatedLayerTreeHost::invalidate):
3395         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
3396         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
3397         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3398         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
3399         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
3400         (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
3401         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
3402         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
3403         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
3404         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
3405         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
3406         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
3407         (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
3408         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
3409         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
3410         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
3411         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
3412         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
3413         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
3414         * WebProcess/WebPage/LayerTreeHost.h:
3415
3416 2013-06-28  Anders Carlsson  <andersca@apple.com>
3417
3418         Make the UI process run the Java Updater
3419         https://bugs.webkit.org/show_bug.cgi?id=118197
3420         <rdar://problem/14255677>
3421
3422         Reviewed by Sam Weinig.
3423
3424         Patch the relevant NSWorkspace method and pipe through the request to launch the Java updater to the UI process.
3425
3426         * PluginProcess/PluginProcess.h:
3427         * PluginProcess/mac/PluginProcessMac.mm:
3428         (WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
3429         (WebKit::initializeCocoaOverrides):
3430         (WebKit::PluginProcess::launchApplicationAtURL):
3431         * UIProcess/Plugins/PluginProcessProxy.h:
3432         * UIProcess/Plugins/PluginProcessProxy.messages.in:
3433         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3434         (WebKit::isJavaUpdaterURL):
3435         (WebKit::shouldLaunchApplicationAtURL):
3436         (WebKit::PluginProcessProxy::launchApplicationAtURL):
3437
3438 2013-06-28  Tim Horton  <timothy_horton@apple.com>
3439
3440         WARN_UNUSED_RESULT can't be used in API headers, but WKBundlePageExtendIncrementalRenderingSuppression tries to
3441         https://bugs.webkit.org/show_bug.cgi?id=118196
3442         <rdar://problem/14303613>
3443
3444         Reviewed by Anders Carlsson.
3445
3446         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3447
3448 2013-06-28  Andreas Kling  <akling@apple.com>
3449
3450         Don't fire process-became-responsive callback when disconnecting it.
3451         <http://webkit.org/b/118166>
3452
3453         Reviewed by Anders Carlsson.
3454
3455         When disconnecting from a web process, call ResponsivenessTimer::invalidate() instead of
3456         stop() to avoid firing the didBecomeResponsive() callback.
3457
3458         This lets the UI process react faster to actually unresponsive processes.
3459
3460         * UIProcess/WebProcessProxy.cpp:
3461         (WebKit::WebProcessProxy::disconnect):
3462
3463 2013-06-28  Sergio Villar Senin  <svillar@igalia.com>
3464
3465         [WK2][GTK] 100% CPU usage rendering a page with animations
3466         https://bugs.webkit.org/show_bug.cgi?id=117703
3467
3468         Reviewed by Martin Robinson.
3469
3470         Unconditionally update the value of m_lastFlushTime in
3471         ::flushAndRenderLayers. By doing that we avoid a neverending
3472         sequence of layer flushes that happened when m_lastFlushTime==0
3473         and flushPendingLayerChanges() was false. In that situation the
3474         value m_lastFlushTime was never updated so a new flush was always
3475         rescheduled.
3476
3477         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3478         (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
3479
3480 2013-06-28  Andres Gomez  <agomez@igalia.com>
3481
3482         [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings
3483         https://bugs.webkit.org/show_bug.cgi?id=117538
3484
3485         Reviewed by Carlos Garcia Campos.
3486
3487         If the XDG specification is not working for the "Downloads"
3488         directory, let's use HOME as fallback.
3489
3490         * UIProcess/API/gtk/WebKitDownload.cpp:
3491         (webkitDownloadDecideDestination):
3492
3493 2013-06-28  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
3494