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