Add custom vtable struct to ClassInfo struct
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2
3         Add custom vtable struct to ClassInfo struct
4         https://bugs.webkit.org/show_bug.cgi?id=68567
5
6         Reviewed by Oliver Hunt.
7
8         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
9         specified class in its ClassInfo.  Also added to it the first function to use 
10         this macro, visitChildren.  This is part of the process of getting rid of all 
11         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
12         that can't easily be converted to non-virtual functions will be put into 
13         this custom vtable structure.
14
15         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
16         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
17
18 2011-09-25  Adam Barth  <abarth@webkit.org>
19
20         Finish removing PLATFORM(BREWMP) by removing associated code
21         https://bugs.webkit.org/show_bug.cgi?id=68779
22
23         Reviewed by Sam Weinig.
24
25         * Scripts/generate-forwarding-headers.pl:
26
27 2011-09-25  Adam Barth  <abarth@webkit.org>
28
29         Remove PLATFORM(HAIKU) and associated code
30         https://bugs.webkit.org/show_bug.cgi?id=68774
31
32         Reviewed by Sam Weinig.
33
34         * Scripts/generate-forwarding-headers.pl:
35
36 2011-09-24  Adam Barth  <abarth@webkit.org>
37
38         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
39         https://bugs.webkit.org/show_bug.cgi?id=68767
40
41         Reviewed by Eric Seidel.
42
43         * Configurations/FeatureDefines.xcconfig:
44         * UIProcess/qt/WebContextQt.cpp:
45         (WebKit::WebContext::applicationCacheDirectory):
46         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
47         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
48         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
49         (WebKit::WebApplicationCacheManager::deleteAllEntries):
50         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
51         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
52         * WebProcess/WebCoreSupport/WebChromeClient.h:
53         * WebProcess/WebProcess.cpp:
54         (WebKit::WebProcess::initializeWebProcess):
55         (WebKit::WebProcess::clearApplicationCache):
56         * WebProcess/WebProcess.h:
57
58 2011-09-23  Adam Klein  <adamk@chromium.org>
59
60         Add ENABLE_MUTATION_OBSERVERS feature flag
61         https://bugs.webkit.org/show_bug.cgi?id=68732
62
63         Reviewed by Ojan Vafai.
64
65         This flag will guard an implementation of the "Mutation Observers" proposed in
66         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
67
68         * Configurations/FeatureDefines.xcconfig:
69
70 2011-09-23  Varun Jain  <varunjain@google.com>
71
72         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
73         https://bugs.webkit.org/show_bug.cgi?id=68198
74
75         Reviewed by Dimitri Glazkov.
76
77         * win/WebKit2.def:
78         * win/WebKit2CFLite.def:
79
80 2011-09-23  Chang Shu  <cshu@webkit.org>
81
82         [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
83         https://bugs.webkit.org/show_bug.cgi?id=68556
84
85         Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
86
87         Reviewed by Darin Adler.
88
89         * Shared/API/c/WKGeometry.h:
90         (operator==):
91         * WebProcess/WebPage/WebPage.cpp:
92         (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
93
94 2011-09-23  Anders Carlsson  <andersca@apple.com>
95
96         Move WebHitTestResult files to Shared/ in the Xcode project
97         https://bugs.webkit.org/show_bug.cgi?id=68718
98
99         Reviewed by Sam Weinig.
100
101         * WebKit2.xcodeproj/project.pbxproj:
102
103 2011-09-23  Anders Carlsson  <andersca@apple.com>
104
105         Add OVERRIDE to overrides of virtual member functions in client classes
106         https://bugs.webkit.org/show_bug.cgi?id=68702
107
108         Reviewed by Darin Adler.
109
110         Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
111         and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
112         WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
113         they have been removed from their respective base classes.
114         
115         * Configurations/Base.xcconfig:
116         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
117         * WebProcess/WebCoreSupport/WebChromeClient.h:
118         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
119         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
120         * WebProcess/WebCoreSupport/WebDragClient.h:
121         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
122         * WebProcess/WebCoreSupport/WebEditorClient.h:
123         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
124         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
125         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
126         * WebProcess/WebCoreSupport/WebInspectorClient.h:
127         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
128         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
129         * WebProcess/WebCoreSupport/WebPopupMenu.h:
130         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
131         * win/WebKit2Common.vsprops:
132
133 2011-09-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
134
135         [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead()
136         https://bugs.webkit.org/show_bug.cgi?id=68696
137
138         Reviewed by Andreas Kling.
139
140         Instead of connecting signals and calling QtFileDownloader::onReadyRead()
141         on its constructor, QtFileDownloader will now handle this in start().
142
143         * WebProcess/Downloads/qt/DownloadQt.cpp:
144         (WebKit::Download::start):
145         * WebProcess/Downloads/qt/QtFileDownloader.cpp:
146         (WebKit::QtFileDownloader::QtFileDownloader):
147         (WebKit::QtFileDownloader::start):
148         * WebProcess/Downloads/qt/QtFileDownloader.h:
149
150 2011-09-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
151
152         [Qt] TouchWebView load test not running
153         https://bugs.webkit.org/show_bug.cgi?id=68620
154
155         Reviewed by Chang Shu.
156
157         Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro
158
159         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
160
161 2011-09-22  Dean Jackson  <dino@apple.com>
162
163         Add ENABLE_CSS_FILTERS
164         https://bugs.webkit.org/show_bug.cgi?id=68652
165
166         Reviewed by Simon Fraser.
167
168         * Configurations/FeatureDefines.xcconfig:
169
170 2011-09-22  Simon Fraser  <simon.fraser@apple.com>
171
172         Add APIObjects for Size, Point, Rect
173         https://bugs.webkit.org/show_bug.cgi?id=68644
174
175         Reviewed by Sam Weinig.
176         
177         Make APIObjects for size, point and rect so that they can be
178         used in WKArrayRefs.
179         
180         Make some inline helper methods to create WKSize, WKPoint and WKRect
181         types.
182
183         * GNUmakefile.am:
184         * Shared/API/c/WKBase.h:
185         * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h.
186         (WKSizeGetTypeID):
187         (WKPointGetTypeID):
188         (WKRectGetTypeID):
189         (WKPointCreate):
190         (WKSizeCreate):
191         (WKRectCreate):
192         (WKSizeGetValue):
193         (WKPointGetValue):
194         (WKRectGetValue):
195         * Shared/API/c/WKGeometry.h:
196         (WKPoint::WKPointMake):
197         (WKPoint::WKSizeMake):
198         (WKPoint::WKRectMake):
199         * Shared/API/c/WKSharedAPICast.h:
200         * Shared/APIObject.h:
201         * Shared/UserMessageCoders.h:
202         (WebKit::UserMessageEncoder::baseEncode):
203         (WebKit::UserMessageDecoder::baseDecode):
204         * Shared/WebGeometry.h: Added.
205         (WebKit::WebSize::create):
206         (WebKit::WebSize::size):
207         (WebKit::WebSize::WebSize):
208         (WebKit::WebSize::type):
209         (WebKit::WebPoint::create):
210         (WebKit::WebPoint::point):
211         (WebKit::WebPoint::WebPoint):
212         (WebKit::WebPoint::type):
213         (WebKit::WebRect::create):
214         (WebKit::WebRect::rect):
215         (WebKit::WebRect::WebRect):
216         (WebKit::WebRect::type):
217         * WebKit2.pro:
218         * WebKit2.xcodeproj/project.pbxproj:
219         * WebKit2API.pri:
220         * win/WebKit2.vcproj:
221
222 2011-09-22  Alexey Proskuryakov  <ap@apple.com>
223
224         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
225         https://bugs.webkit.org/show_bug.cgi?id=68573
226
227         Reviewed by Anders Carlsson.
228
229         Re-landing with a slightly less aggressive check.
230
231         * UIProcess/API/mac/WKView.mm:
232         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
233         an extension actually needed to be created
234         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
235         universal file read sandbox extension.
236
237         * UIProcess/WebContext.cpp:
238         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
239         (WebKit::WebContext::didPerformServerRedirect): Ditto.
240         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
241         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
242         assume that a string coming from WebProcess is a ParsedURLString.
243
244         * UIProcess/WebPageProxy.cpp:
245         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
246         is going to get universal file read sandbox extension.
247         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
248         telling the caller whether an extension actually needed to be created.
249         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
250         (WebKit::WebPageProxy::loadURLRequest): Ditto.
251         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
252         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
253         (typically, one where error page resources live), and can load from it.
254         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
255         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
256         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
257         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
258         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
259         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
260         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
261         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
262         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
263         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
264         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
265         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
266         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
267         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
268
269         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
270         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
271
272         * UIProcess/WebProcessProxy.cpp:
273         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
274         It's going to be true if we ever granted an extension for "/".
275         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
276         that WebProcess will load subresources from it.
277         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
278         WebProcess send us a URL like this.
279         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
280
281         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
282
283         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
284         Tell process proxy when the process is going to get universal file read sandbox extension.
285
286 2011-09-22  Alpha Lam  <hclam@chromium.org>
287
288         https://bugs.webkit.org/show_bug.cgi?id=68081
289         Fix scroll in page scaling mode.
290
291         Reviewed by Simon Fraser.
292
293         * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor.
294         (WebKit::PluginView::handleEvent):
295         (WebKit::PluginView::viewGeometryDidChange):
296         (WebKit::PluginView::clipRectInWindowCoordinates):
297
298 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
299
300         [Qt] Redirection overflow errors have wrong error domain
301         https://bugs.webkit.org/show_bug.cgi?id=68612
302
303         Reviewed by Andreas Kling.
304
305         Redirection overflow currently puts the URL hostname in the errorDomain field
306         and therefore are treated as a QWebError::EngineError. From now on they
307         will be treated as QWebError::HttpError, since their error domain was modified
308         to "HTTP" in QNetworkReplyHandler::redirect().
309
310         * UIProcess/API/qt/qweberror.cpp:
311         (QWebError::type):
312
313 2011-09-22  Csaba Osztrogonác  <ossy@webkit.org>
314
315         REGRESSION(r95679): It broke everything.
316         https://bugs.webkit.org/show_bug.cgi?id=68611
317
318         Unreviewed rolling out r95679 and r95690, because it broke everything.
319
320         * UIProcess/API/mac/WKView.mm:
321         (maybeCreateSandboxExtensionFromPasteboard):
322         (-[WKView performDragOperation:]):
323         * UIProcess/WebContext.cpp:
324         (WebKit::WebContext::didPerformClientRedirect):
325         (WebKit::WebContext::didPerformServerRedirect):
326         (WebKit::WebContext::didUpdateHistoryTitle):
327         (WebKit::WebContext::getPluginPath):
328         * UIProcess/WebPageProxy.cpp:
329         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
330         (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
331         (WebKit::WebPageProxy::loadURL):
332         (WebKit::WebPageProxy::loadURLRequest):
333         (WebKit::WebPageProxy::loadHTMLString):
334         (WebKit::WebPageProxy::loadAlternateHTMLString):
335         (WebKit::WebPageProxy::goForward):
336         (WebKit::WebPageProxy::goBack):
337         (WebKit::WebPageProxy::goToBackForwardItem):
338         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
339         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
340         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
341         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
342         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
343         (WebKit::WebPageProxy::decidePolicyForResponse):
344         (WebKit::WebPageProxy::didInitiateLoadForResource):
345         (WebKit::WebPageProxy::didSendRequestForResource):
346         (WebKit::WebPageProxy::didReceiveResponseForResource):
347         (WebKit::WebPageProxy::missingPluginButtonClicked):
348         * UIProcess/WebPageProxy.h:
349         * UIProcess/WebProcessProxy.cpp:
350         (WebKit::WebProcessProxy::WebProcessProxy):
351         (WebKit::WebProcessProxy::addBackForwardItem):
352         * UIProcess/WebProcessProxy.h:
353         * UIProcess/cf/WebPageProxyCF.cpp:
354         (WebKit::WebPageProxy::restoreFromSessionStateData):
355
356 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
357
358         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
359         https://bugs.webkit.org/show_bug.cgi?id=68573
360
361         Unreviewed follow-up fix.
362
363         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
364         Just like we allow null URLs, also allow empty strings.
365
366 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
367
368         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
369         https://bugs.webkit.org/show_bug.cgi?id=68133
370
371         Reviewed by Darin Adler.
372
373         * win/WebKit2.def:
374         * win/WebKit2CFLite.def:
375         Exported the new FrameView::paintControlTints function.
376
377 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
378
379         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
380         https://bugs.webkit.org/show_bug.cgi?id=68573
381
382         Reviewed by Anders Carlsson.
383
384         * UIProcess/API/mac/WKView.mm:
385         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
386         an extension actually needed to be created
387         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
388         universal file read sandbox extension.
389
390         * UIProcess/WebContext.cpp:
391         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
392         (WebKit::WebContext::didPerformServerRedirect): Ditto.
393         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
394         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
395         assume that a string coming from WebProcess is a ParsedURLString.
396
397         * UIProcess/WebPageProxy.cpp:
398         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
399         is going to get universal file read sandbox extension.
400         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
401         telling the caller whether an extension actually needed to be created.
402         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
403         (WebKit::WebPageProxy::loadURLRequest): Ditto.
404         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
405         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
406         (typically, one where error page resources live), and can load from it.
407         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
408         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
409         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
410         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
411         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
412         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
413         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
414         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
415         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
416         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
417         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
418         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
419         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
420         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
421
422         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
423         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
424
425         * UIProcess/WebProcessProxy.cpp:
426         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
427         It's going to be true if we ever granted an extension for "/".
428         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
429         that WebProcess will load subresources from it.
430         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
431         WebProcess send us a URL like this.
432         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
433
434         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
435
436         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
437         Tell process proxy when the process is going to get universal file read sandbox extension.
438
439 2011-09-19  Jer Noble  <jer.noble@apple.com>
440
441         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
442         https://bugs.webkit.org/show_bug.cgi?id=68382
443
444         Add support for the webAudioEnabled preference in WebKit2.
445
446         Reviewed by Darin Adler.
447
448         * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
449         * UIProcess/API/C/WKPreferences.cpp:
450         (WKPreferencesSetWebAudioEnabled): Added.
451         (WKPreferencesGetWebAudioEnabled): Added.
452         * UIProcess/API/C/WKPreferences.h:
453         * WebProcess/WebPage/WebPage.cpp:
454         (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
455
456 2011-09-21  Dan Bernstein  <mitz@apple.com>
457
458         Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2.
459
460         Reviewed by Anders Carlsson.
461
462         Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter.
463         Renamed WebInspectorWKView to WKWebInspectorWKView.
464         Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation.
465         Renamed WebFindIndicatorView to WKFindIndicatorView.
466         Renamed WebUserDataWrapper to WKUserDataWrapper.
467
468         Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix
469         "Web" and only allow "WK".
470
471         * UIProcess/API/mac/FindIndicatorWindow.h:
472         * UIProcess/API/mac/FindIndicatorWindow.mm:
473         (WebKit::FindIndicatorWindow::setFindIndicator):
474         (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
475         * UIProcess/WebInspectorProxy.h:
476         * UIProcess/mac/WebContextMenuProxyMac.mm:
477         (-[WKMenuTarget forwardContextMenuAction:]):
478         (WebKit::nsMenuItemVector):
479         * UIProcess/mac/WebInspectorProxyMac.mm:
480         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
481         (WebKit::WebInspectorProxy::platformOpen):
482         * WebKit2.xcodeproj/project.pbxproj:
483         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
484         (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac):
485
486 2011-09-21  Chang Shu  <cshu@webkit.org>
487
488         [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
489         https://bugs.webkit.org/show_bug.cgi?id=68108
490
491         This patch implements the event sender mouse events through WebKit2 UIProcess which is
492         closer to the real simulation than a WebProcess-only approach. The patch only supports Mac
493         platform as the first step so the existing code is still kept for other platforms.
494
495         Reviewed by Darin Adler.
496
497         * UIProcess/API/C/WKPage.cpp:
498         (WKPageSetShouldSendEventsSynchronously):
499         * UIProcess/API/C/WKPagePrivate.h:
500         * UIProcess/WebPageProxy.cpp:
501         (WebKit::WebPageProxy::WebPageProxy):
502         (WebKit::WebPageProxy::handleMouseEvent):
503         (WebKit::WebPageProxy::handleKeyboardEvent):
504         * UIProcess/WebPageProxy.h:
505         (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
506         * WebProcess/WebPage/WebPage.cpp:
507         (WebKit::WebPage::mouseEventSyncForTesting):
508         * WebProcess/WebPage/WebPage.h:
509         * WebProcess/WebPage/WebPage.messages.in:
510
511 2011-09-21  Dan Bernstein  <mitz@apple.com>
512
513         WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
514         https://bugs.webkit.org/show_bug.cgi?id=68451
515
516         Reviewed by Darin Adler.
517
518         * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
519         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
520
521 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
522
523         [Qt][WK2] Implement Download support in WebProcess
524         https://bugs.webkit.org/show_bug.cgi?id=68153
525
526         Reviewed by Andreas Kling.
527
528         We implement the necessary functions of Download.h, and our QtFileDownloader
529         to handle all network communication and call the necessary functions of Download.
530
531         We use the download policy for any MIME type not supported by WebKit. This
532         behaves like Qt non-WebKit2 except that we don't force download when
533         we encounter Content-Disposition: attachment. We still use the "filename="
534         field for file name suggestion though.
535
536         Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
537         Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
538         and Zalan Bujtas <zalan.bujtas@nokia.com>.
539
540         * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
541         (QWebError::type):
542         * UIProcess/API/qt/qweberror.h: Adding DownloadError
543         * WebKit2.pro:
544         * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
545         (WebKit::Download::Download):
546         * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
547         * WebProcess/Downloads/qt/DownloadQt.cpp:
548         (WebKit::Download::start):
549         (WebKit::Download::startWithHandle):
550         (WebKit::Download::cancel):
551         (WebKit::Download::platformInvalidate):
552         (WebKit::Download::didDecideDestination):
553         * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
554         (WebKit::QtFileDownloader::QtFileDownloader):
555         (WebKit::QtFileDownloader::~QtFileDownloader):
556         (WebKit::QtFileDownloader::determineFilename):
557         (WebKit::QtFileDownloader::decidedDestination):
558         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
559         (WebKit::QtFileDownloader::onReadyRead):
560         (WebKit::QtFileDownloader::onFinished):
561         (WebKit::QtFileDownloader::onError):
562         (WebKit::QtFileDownloader::cancel):
563         * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
564
565 2011-09-21  Mark Rowe  <mrowe@apple.com>
566
567         <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
568
569         The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
570         file name if a file of the suggested name already exists was incorrect. It was appending
571         the template used by mkstemps to the directory name component of the path rather than
572         using it as a prefix on the filename portion of the path. This resulted in a template path
573         like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
574
575         Reviewed by Jon Honeycutt.
576
577         * UIProcess/API/mac/PDFViewController.mm:
578         (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
579         then append the suggested file name to that component.
580
581 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
582
583         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
584         https://bugs.webkit.org/show_bug.cgi?id=67702
585
586         Reviewed by Csaba Osztrogonác.
587
588         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
589         (WebKit::WebPlatformStrategies::isLinkVisited):
590         (WebKit::WebPlatformStrategies::addVisitedLink):
591         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
592
593 2011-09-20  Anders Carlsson  <andersca@apple.com>
594
595         Get rid of PluginView::setBoundsSize from WebKit2
596         https://bugs.webkit.org/show_bug.cgi?id=68489
597
598         Reviewed by Dan Bernstein.
599
600         Remove m_boundsSize and the setter since they aren't used anywhere.
601
602         * WebProcess/Plugins/PluginView.cpp:
603         * WebProcess/Plugins/PluginView.h:
604
605 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
606
607         [Qt] QTouchWebView missing signal tests for loadProgress
608         https://bugs.webkit.org/show_bug.cgi?id=68442
609
610         Reviewed by Chang Shu.
611
612         Added test case to check load progress signal for QTouchWebView
613
614         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
615         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
616
617 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
618
619         Unreviewed, rolling out r95565.
620         http://trac.webkit.org/changeset/95565
621         https://bugs.webkit.org/show_bug.cgi?id=68470
622
623         Broke builds (Requested by andersca on #webkit).
624
625         * GNUmakefile.am:
626         * Shared/API/c/WKHitTestResult.cpp: Removed.
627         * Shared/API/c/WKHitTestResult.h: Removed.
628         * UIProcess/API/C/WebKit2.h:
629
630 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
631
632         [Qt] [WK2] Implement a persistent cookie storage.
633         https://bugs.webkit.org/show_bug.cgi?id=65309
634
635         Reviewed by Chang Shu.
636
637         Add parameter to the WebProcess creation to specify where cookies should be saved.
638         It also use the new cookie storage implementation and set it to our network stack
639         so cookies are used when using it.
640
641         * Shared/WebProcessCreationParameters.cpp:
642         (WebKit::WebProcessCreationParameters::encode):
643         (WebKit::WebProcessCreationParameters::decode):
644         * Shared/WebProcessCreationParameters.h:
645         * UIProcess/qt/WebContextQt.cpp:
646         (WebKit::WebContext::platformInitializeWebProcess):
647         * WebProcess/qt/WebProcessQt.cpp:
648         (WebKit::WebProcess::platformInitializeWebProcess):
649         (WebKit::WebProcess::platformTerminate):
650
651 2011-09-20  Nayan Kumar K  <nayankk@motorola.com>
652
653         Added WKHitTestResult API's.
654
655         WKHitTestResult API's are added. These API's can be used to
656         get the hover'ed link/image/media URL as well as link lable and
657         title.
658         https://bugs.webkit.org/show_bug.cgi?id=68426
659
660         Reviewed by Anders Carlsson.
661
662         * GNUmakefile.am:
663         * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
664         (WKHitTestResultGetTypeID):
665         (WKHitTestResultCopyAbsoluteImageURL):
666         (WKHitTestResultCopyAbsoluteLinkURL):
667         (WKHitTestResultCopyAbsoluteMediaURL):
668         (WKHitTestResultCopyLinkLabel):
669         (WKHitTestResultCopyLinkTitle):
670         * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
671         * UIProcess/API/C/WebKit2.h:
672
673 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
674
675         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
676         https://bugs.webkit.org/show_bug.cgi?id=68444
677
678         Reviewed by Andreas Kling.
679
680         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
681
682         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
683         (WebKit::WebFullScreenManagerProxy::invalidate):
684         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
685         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
686         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
687         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
688         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
689         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
690         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
691         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
692         (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
693         * WebKit2.pro:
694         * WebProcess/FullScreen/qt: Added.
695         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
696         (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
697         (WebKit::WebFullScreenManager::create):
698         (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
699         (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
700         (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
701         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
702
703 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
704
705         [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
706         https://bugs.webkit.org/show_bug.cgi?id=68401
707
708         Reviewed by Simon Hausmann.
709
710         Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
711         as the error code when the load fails. It is not used in the QtQuick module therefore
712         the QML team thinks it should belong here. Also added some auto-tests to cover the
713         loading errors.
714
715         * UIProcess/API/qt/qmlplugin/plugin.cpp:
716         (WebKit2QmlPlugin::registerTypes):
717         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
718         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
719
720 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
721
722         [Qt][Mac] Buildfix after r95513.
723
724         Rubber-stamped by Andras Becsi.
725
726         * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
727
728 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
729
730         [Qt] QDesktopWebView missing loadProgress tests
731         https://bugs.webkit.org/show_bug.cgi?id=68280
732
733         Reviewed by Andreas Kling.
734
735         Added test case to check load progress property and signal for QDesktopWebView
736
737         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
738         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
739         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
740
741 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
742
743         [GTK] WebProcess shouldn't use the GTK+ API
744         https://bugs.webkit.org/show_bug.cgi?id=68062
745
746         Reviewed by Martin Robinson.
747
748         Use WebCore API to create errors in WebProcess.
749
750         * GNUmakefile.am: Don't use webkit/webkierror.h.
751         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
752         (WebKit::cancelledError):
753         (WebKit::blockedError):
754         (WebKit::cannotShowURLError):
755         (WebKit::interruptedForPolicyChangeError):
756         (WebKit::cannotShowMIMETypeError):
757         (WebKit::fileDoesNotExistError):
758         (WebKit::pluginWillHandleLoadError):
759
760 2011-09-19  Mark Rowe  <mrowe@apple.com>
761
762         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
763
764         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
765         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
766         a NoIdleSleep assertion as the latter is implied by the former.
767
768         Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
769
770         Reviewed by Dan Bernstein.
771
772         * UIProcess/mac/WKFullScreenWindowController.h:
773         * UIProcess/mac/WKFullScreenWindowController.mm:
774         (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
775         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
776         disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
777
778 2011-09-19  Adam Barth  <abarth@webkit.org>
779
780         Always enable ENABLE(EVENTSOURCE)
781         https://bugs.webkit.org/show_bug.cgi?id=68414
782
783         Reviewed by Eric Seidel.
784
785         * Configurations/FeatureDefines.xcconfig:
786
787 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
788
789         [Qt] Unreviewed coding style fix.
790
791         * UIProcess/API/qt/qdesktopwebview.h:
792         * UIProcess/API/qt/qtouchwebpage.h:
793         * UIProcess/API/qt/qweberror.h:
794
795 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
796
797         [Qt][WK2] Make loading errors API easier to use.
798         https://bugs.webkit.org/show_bug.cgi?id=68357
799
800         Reviewed by Tor Arne Vestbø.
801
802         Make the API to get loading errors easier to use. 95197 introduced
803         a QJSValue API that is a bit opaque for the client code. Rather than
804         using a dedicated object, we can just pass the needed information as
805         parameters of the slot.
806
807         * UIProcess/API/qt/qdesktopwebview.cpp:
808         (QDesktopWebViewPrivate::loadDidFail):
809         * UIProcess/API/qt/qdesktopwebview.h:
810         * UIProcess/API/qt/qdesktopwebview_p.h:
811         * UIProcess/API/qt/qtouchwebpage.h:
812         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
813         (tst_CommonViewTests::loadNonexistentFileUrl):
814         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
815         (WebViewAbstraction::WebViewAbstraction):
816         (WebViewAbstraction::touchViewLoadFailed):
817         (WebViewAbstraction::desktopViewLoadFailed):
818         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
819         * UIProcess/qt/QtWebPageProxy.cpp:
820         (QtWebPageProxy::loadDidFail):
821         * UIProcess/qt/TouchViewInterface.cpp:
822         (WebKit::TouchViewInterface::loadDidFail):
823         * UIProcess/qt/TouchViewInterface.h:
824         * UIProcess/qt/ViewInterface.h:
825
826 2011-09-19  Dan Bernstein  <mitz@apple.com>
827
828         WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
829         https://bugs.webkit.org/show_bug.cgi?id=68323
830
831         Reviewed by Sam Weinig.
832
833         Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
834         Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
835
836         * WebKit2.xcodeproj/project.pbxproj:
837         * WebProcess/WebPage/WebPage.h:
838         * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
839         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
840         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
841         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
842         * WebProcess/WebPage/mac/WebPageMac.mm:
843         (WebKit::WebPage::platformInitialize):
844         (WebKit::WebPage::accessibilityRemoteObject):
845         * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
846         * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
847         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
848         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
849         (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
850         * WebProcess/mac/WebProcessMac.mm:
851         (WebKit::WebProcess::fullKeyboardAccessEnabled):
852
853 2011-09-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
854
855         [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
856         https://bugs.webkit.org/show_bug.cgi?id=67938
857
858         Reviewed by Andreas Kling.
859
860         Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
861         have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
862         explicitly avoids running a nested mainloop.
863
864         * UIProcess/WebPageProxy.cpp:
865         (WebKit::WebPageProxy::showPopupMenu):
866         Since we don't run a nested mainloop, we need to keep the client pointer to call
867         valueChangedForPopupMenu().
868
869         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
870         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
871         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
872         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
873         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
874         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
875         (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
876         (WebKit::WebPopupMenuProxyQtDesktop::populate):
877         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
878         (WebKit::WebPopupMenuProxyQtDesktop::create):
879         * UIProcess/qt/qdesktopwebpageproxy.cpp:
880         (QDesktopWebPageProxy::createPopupMenuProxy):
881         * UIProcess/qt/qdesktopwebpageproxy.h:
882         * WebKit2.pro:
883
884 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
885
886         [GTK] Fix distcheck build
887         https://bugs.webkit.org/show_bug.cgi?id=68241
888
889         Reviewed by Martin Robinson.
890
891         * GNUmakefile.am:
892
893 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
894
895         FrameLoaderClient BackForwardList-related methods are unsued
896         https://bugs.webkit.org/show_bug.cgi?id=68293
897
898         Reviewed by Darin Adler.
899
900         Remove FrameLoaderClient methods that were added by r51629, since only        
901         the old (since-deleted) Android port needed them.
902
903         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
904         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
905
906 2011-09-16  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
907         [Qt] QTouchWebView missing loadProgress tests
908         https://bugs.webkit.org/show_bug.cgi?id=68183
909
910         Reviewed by Chang Shu.
911
912         Added test case to check load progress for QTouchWebView
913
914         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
915         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
916
917 2011-09-16  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
918
919         Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
920         https://bugs.webkit.org/show_bug.cgi?id=68249
921
922         Reviewed by Martin Robinson.
923
924         * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
925         * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
926         * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
927         * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
928         * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
929         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
930         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
931         * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
932         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
933         * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
934
935 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
936
937         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
938         https://bugs.webkit.org/show_bug.cgi?id=68134
939
940         Reviewed by Sam Weinig.
941
942         Hook up a private preference that enables the mock scrollbar theme.
943
944         * Shared/WebPreferencesStore.h:
945         * UIProcess/API/C/WKPreferences.cpp:
946         (WKPreferencesSetMockScrollbarsEnabled):
947         (WKPreferencesGetMockScrollbarsEnabled):
948         * UIProcess/API/C/WKPreferencesPrivate.h:
949         * WebProcess/WebPage/WebPage.cpp:
950         (WebKit::WebPage::updatePreferences):
951
952 2011-09-16  Mark Rowe  <mrowe@apple.com>
953
954         Stop installing source and header files in to WebKit2.framework after r95303.
955
956         * WebKit2.xcodeproj/project.pbxproj:
957
958 2011-09-16  Anders Carlsson  <andersca@apple.com>
959
960         Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
961         https://bugs.webkit.org/show_bug.cgi?id=68269
962
963         Reviewed by Geoffrey Garen.
964
965         Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
966
967         * UIProcess/API/C/WKPage.h:
968         * UIProcess/WebUIClient.cpp:
969         (WebKit::WebUIClient::mouseDidMoveOverElement):
970
971 2011-09-16  Alexey Proskuryakov  <ap@apple.com>
972
973         Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
974         https://bugs.webkit.org/show_bug.cgi?id=68268
975
976         Reviewed by Darin Adler.
977
978         * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds.  The empty
979         value for production resulted in WebKit not adding the key to plist at all, which is what
980         we want (but I don't know if it's a supported feature).
981         Also, don't copy the icon file to built framework in production builds.
982
983         * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
984
985         * WebProcess/Info.plist: Added a key for the icon.
986
987         * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
988
989 2011-09-16  Anders Carlsson  <andersca@apple.com>
990
991         Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
992         https://bugs.webkit.org/show_bug.cgi?id=68266
993
994         Reviewed by John Sullivan.
995
996         * UIProcess/API/C/WKPage.h:
997         * UIProcess/WebUIClient.cpp:
998         (WebKit::WebUIClient::mouseDidMoveOverElement):
999
1000 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
1001
1002         DFG JIT should inline Math.abs
1003         https://bugs.webkit.org/show_bug.cgi?id=68227
1004
1005         Reviewed by Oliver Hunt.
1006
1007         Added JavaScriptCore/dfg to include path path.
1008
1009         * CMakeLists.txt:
1010
1011 2011-09-16  Igor Oliveira  <igor.oliveira@openbossa.org>
1012
1013         [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
1014         https://bugs.webkit.org/show_bug.cgi?id=68125
1015
1016         This patch implements support for the UiProcess to know what is the link url of a hovered element.
1017
1018         Reviewed by Anders Carlsson.
1019
1020         * CMakeLists.txt:
1021         * GNUmakefile.am:
1022         * Shared/API/c/WKBase.h:
1023         * Shared/APIObject.h:
1024         * Shared/WebHitTestResult.cpp: Added.
1025
1026         WebHitTestResult has hovered element information.
1027
1028         (WebKit::WebHitTestResult::create):
1029         (WebKit::WebHitTestResult::Data::encode):
1030         (WebKit::WebHitTestResult::Data::decode):
1031         * Shared/WebHitTestResult.h: Added.
1032         (WebKit::WebHitTestResult::absoluteImageURL):
1033         (WebKit::WebHitTestResult::absoluteLinkURL):
1034         (WebKit::WebHitTestResult::absoluteMediaURL):
1035         (WebKit::WebHitTestResult::linkLabel):
1036         (WebKit::WebHitTestResult::linkTitle):
1037         (WebKit::WebHitTestResult::WebHitTestResult):
1038         (WebKit::WebHitTestResult::type):
1039         * UIProcess/API/C/WKAPICast.h:
1040         * UIProcess/API/C/WKPage.h:
1041         * UIProcess/WebPageProxy.cpp:
1042         (WebKit::WebPageProxy::mouseDidMoveOverElement):
1043         * UIProcess/WebPageProxy.h:
1044         * UIProcess/WebPageProxy.messages.in:
1045         * UIProcess/WebUIClient.cpp:
1046         (WebKit::WebUIClient::mouseDidMoveOverElement):
1047         * UIProcess/WebUIClient.h:
1048         * WebKit2.pro:
1049         * WebKit2.xcodeproj/project.pbxproj:
1050         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1051         (WebKit::WebChromeClient::mouseDidMoveOverElement):
1052         * win/WebKit2.vcproj:
1053
1054 2011-09-15  Adam Roben  <aroben@apple.com>
1055
1056         Add support for attributes on message parameters
1057
1058         Parameter attributes are specified as a space-separated list inside square brackets before
1059         the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
1060         would like to.
1061
1062         Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
1063         parameters
1064
1065         Reviewed by Sam Weinig.
1066
1067         * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
1068
1069         * Scripts/webkit2/model.py:
1070         (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
1071         property.
1072         (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
1073
1074         * Scripts/webkit2/parser.py:
1075         (parse): Moved attributes-parsing code from here...
1076         (parse_attributes_string): ...to here.
1077         (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
1078         attributes.
1079
1080 2011-09-15  Adam Roben  <aroben@apple.com>
1081
1082         Make WebKit2's message-generation model and parser scripts accessible to other projects
1083
1084         We copy them into the build products directory so other projects can find them.
1085
1086         Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
1087         scripts in other projects
1088
1089         Reviewed by Darin Adler.
1090
1091         * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
1092
1093         * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
1094         tools/scripts, like WebCore does.
1095
1096         * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
1097         WebCore does for its bindings scripts.
1098
1099 2011-09-15  Adam Roben  <aroben@apple.com>
1100
1101         Split some of the message-generation code into separate modules
1102
1103         This is in preparation for making these modules scripts usable by other projects.
1104
1105         Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
1106         message-generation scripts is trapped inside a much larger module
1107
1108         Reviewed by Darin Adler.
1109
1110         * DerivedSources.make:
1111         * DerivedSources.pro:
1112         * GNUmakefile.am:
1113         * WebKit2.xcodeproj/project.pbxproj:
1114         * win/WebKit2.vcproj:
1115         * win/WebKit2Generated.vcproj:
1116         Added new files.
1117
1118         * Scripts/webkit2/messages.py: Moved some code from here...
1119
1120         * Scripts/webkit2/model.py: Added.
1121         * Scripts/webkit2/parser.py: Added.
1122         ...to here. MessageReceiver.parse was split out into a function in the new parser module.
1123
1124         * Scripts/webkit2/messages_unittest.py: Updated for renames.
1125
1126 2011-09-16  Martin Robinson  <mrobinson@igalia.com>
1127
1128         [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
1129         https://bugs.webkit.org/show_bug.cgi?id=68178
1130
1131         Reviewed by Xan Lopez.
1132
1133         * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
1134         for WebKit2.
1135
1136 2011-09-15  Adam Barth  <abarth@webkit.org>
1137
1138         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
1139         https://bugs.webkit.org/show_bug.cgi?id=68205
1140
1141         Reviewed by Eric Seidel.
1142
1143         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1144         * WebProcess/WebCoreSupport/WebChromeClient.h:
1145         * WebProcess/WebPage/WebPage.cpp:
1146         (WebKit::WebPage::updatePreferences):
1147         * WebProcess/WebProcess.cpp:
1148         (WebKit::WebProcess::initializeWebProcess):
1149
1150 2011-09-15  Eric Seidel  <eric@webkit.org>
1151
1152         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
1153         https://bugs.webkit.org/show_bug.cgi?id=68182
1154
1155         Reviewed by Adam Barth.
1156
1157         * Configurations/FeatureDefines.xcconfig:
1158
1159 2011-09-15  Eric Seidel  <eric@webkit.org>
1160
1161         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
1162         https://bugs.webkit.org/show_bug.cgi?id=68022
1163
1164         Reviewed by Ryosuke Niwa.
1165
1166         * Configurations/FeatureDefines.xcconfig:
1167
1168 2011-09-15  Alexis Menard  <alexis.menard@openbossa.org>
1169
1170         [Qt][WK2] Make QWebError more friendly to QML.
1171         https://bugs.webkit.org/show_bug.cgi?id=67785
1172
1173         Reviewed by Simon Hausmann.
1174
1175         Make sure that we can use the loading errors in QML. We send it via a QJSValue which
1176         has the properties needed to get the error code, the url and the type of error.
1177
1178         * UIProcess/API/qt/qdesktopwebview.cpp:
1179         (QDesktopWebViewPrivate::loadDidFail):
1180         (QDesktopWebViewPrivate::engine):
1181         * UIProcess/API/qt/qdesktopwebview.h:
1182         * UIProcess/API/qt/qdesktopwebview_p.h:
1183         * UIProcess/API/qt/qtouchwebpage.h:
1184         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
1185         (tst_CommonViewTests::loadNonexistentFileUrl):
1186         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1187         (WebViewAbstraction::WebViewAbstraction):
1188         (WebViewAbstraction::touchViewLoadFailed):
1189         (WebViewAbstraction::desktopViewLoadFailed):
1190         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
1191         * UIProcess/API/qt/tests/testwindow.h:
1192         * UIProcess/qt/QtWebPageProxy.cpp:
1193         (QtWebPageProxy::loadDidFail):
1194         * UIProcess/qt/QtWebPageProxy.h:
1195         * UIProcess/qt/TouchViewInterface.cpp:
1196         (WebKit::TouchViewInterface::loadDidFail):
1197         (WebKit::TouchViewInterface::engine):
1198         * UIProcess/qt/TouchViewInterface.h:
1199         * UIProcess/qt/ViewInterface.h:
1200
1201 2011-09-15  Adam Roben  <aroben@apple.com>
1202
1203         Remove WebKit2-specific knowledge from the Message class
1204
1205         This is in preparation for making some of our message-generations scripts usable by other
1206         projects.
1207
1208         Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
1209         too much about WebKit2 details
1210
1211         Reviewed by Anders Carlsson.
1212
1213         * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
1214         (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
1215         attributes into a set and pass it to the Message constructor.
1216         (Message.__init__): Changed to take a generic set of attributes instead of individual
1217         attributes.
1218         (Message.has_attribute): Added. Returns true if the message has an attribute.
1219         (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
1220         Message.__init__, which set the old message.is_variadic property.
1221
1222         (decode_type):
1223         (message_to_struct_declaration):
1224         (forward_declarations_and_headers):
1225         (async_case_statement):
1226         (sync_case_statement):
1227         (generate_message_handler):
1228         Updated to use Message.has_attribute and message_is_variadic.
1229
1230 2011-09-14  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
1231
1232         Eliminate WebKit2 compilation warnings.
1233         https://bugs.webkit.org/show_bug.cgi?id=65025
1234
1235         Warnings found with gcc on linux.
1236
1237         Reviewed by Sam Weinig.
1238
1239         * Platform/CoreIPC/ArgumentEncoder.cpp:
1240         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1241         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1242         (WebKit::WebFrameLoaderClient::createPlugin):
1243
1244 2011-09-14  Ada Chan  <adachan@apple.com>
1245
1246         Implement WKBundleFrameCopyWebArchive().
1247         http://bugs.webkit.org/show_bug.cgi?id=67857
1248
1249         Reviewed by Anders Carlsson.
1250
1251         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1252         (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
1253         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1254         * WebProcess/WebPage/WebFrame.cpp:
1255         (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
1256         * WebProcess/WebPage/WebFrame.h:
1257         * WebProcess/WebPage/WebPage.cpp:
1258         (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
1259
1260 2011-09-14  Alexey Proskuryakov  <ap@apple.com>
1261
1262         Web Process doesn't need a permission to look up WebProcess service any more
1263         https://bugs.webkit.org/show_bug.cgi?id=68101
1264
1265         Reviewed by Anders Carlsson.
1266
1267         * WebProcess/com.apple.WebProcess.sb:
1268
1269 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1270
1271         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
1272         https://bugs.webkit.org/show_bug.cgi?id=67692
1273
1274         Reviewed by Geoffrey Garen.
1275
1276         Completed the sixth level of the refactoring to add finishCreation() 
1277         methods to all classes within the JSCell hierarchy with non-trivial 
1278         constructor bodies.
1279
1280         This primarily consists of pushing the calls to finishCreation() down 
1281         into the constructors of the subclasses of the fifth level of the hierarchy 
1282         as well as pulling the finishCreation() calls out into the class's corresponding
1283         create() method if it has one.  Doing both simultaneously allows us to 
1284         maintain the invariant that the finishCreation() method chain is called exactly 
1285         once during the creation of an object, since calling it any other number of 
1286         times (0, 2, or more) will cause an assertion failure.
1287
1288         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1289         (WebKit::JSNPMethod::JSNPMethod):
1290         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1291         (WebKit::JSNPMethod::create):
1292
1293 2011-09-13  Eric Seidel  <eric@webkit.org>
1294
1295         Remove ENABLE_SVG_USE as <use> is required by HTML5
1296         https://bugs.webkit.org/show_bug.cgi?id=68019
1297
1298         Reviewed by Ryosuke Niwa.
1299
1300         * Configurations/FeatureDefines.xcconfig:
1301
1302 2011-09-13  Anders Carlsson  <andersca@apple.com>
1303
1304         Disable C++ exceptions when building with clang
1305         https://bugs.webkit.org/show_bug.cgi?id=68031
1306         <rdar://problem/9556880>
1307
1308         Reviewed by Mark Rowe.
1309
1310         * Configurations/Base.xcconfig:
1311
1312 2011-09-13  Eric Seidel  <eric@webkit.org>
1313
1314         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
1315         https://bugs.webkit.org/show_bug.cgi?id=68018
1316
1317         Reviewed by Ryosuke Niwa.
1318
1319         * Configurations/FeatureDefines.xcconfig:
1320
1321 2011-09-13  Chang Shu  <cshu@webkit.org>
1322
1323         [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
1324         https://bugs.webkit.org/show_bug.cgi?id=57515
1325
1326         The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
1327
1328         Reviewed by Darin Adler.
1329
1330         * UIProcess/API/C/WKPage.cpp:
1331         (WKPageSetShouldSendKeyboardEventSynchronously):
1332         * UIProcess/API/C/WKPagePrivate.h:
1333         * UIProcess/WebPageProxy.cpp:
1334         (WebKit::WebPageProxy::WebPageProxy):
1335         (WebKit::WebPageProxy::handleKeyboardEvent):
1336         * UIProcess/WebPageProxy.h:
1337         (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
1338         * WebProcess/WebPage/WebPage.cpp:
1339         (WebKit::WebPage::keyEventSyncForTesting):
1340         * WebProcess/WebPage/WebPage.h:
1341         * WebProcess/WebPage/WebPage.messages.in:
1342
1343 2011-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
1344
1345         Reviewed by Eric Seidel.
1346
1347         [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
1348         https://bugs.webkit.org/show_bug.cgi?id=62692
1349
1350         * CMakeLists.txt: define WTF_USE_JSC=1.
1351         * config.h: add cmakeconfig.h and define necessary macros for CMake build.
1352
1353 2011-09-12  Igor Oliveira  <igor.oliveira@openbossa.org>
1354
1355         [Qt] [WK2] implement support to upload files in Qt WebKit2
1356         https://bugs.webkit.org/show_bug.cgi?id=67228
1357
1358         This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
1359
1360         Reviewed by Andreas Kling.
1361
1362         * Shared/WebOpenPanelParameters.h:
1363         (WebKit::WebOpenPanelParameters::selectedFileNames):
1364         * UIProcess/API/qt/qdesktopwebview.cpp:
1365         (QDesktopWebViewPrivate::chooseFiles):
1366         (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
1367         (QDesktopWebViewPrivate::onOpenPanelFinished):
1368         * UIProcess/API/qt/qdesktopwebview_p.h:
1369         * UIProcess/qt/ClientImpl.cpp:
1370
1371         qt_wk_runOpenPanel supports single and multiple files selection.
1372
1373         (qt_wk_runOpenPanel):
1374         * UIProcess/qt/ClientImpl.h:
1375         * UIProcess/qt/QtWebPageProxy.cpp:
1376         (QtWebPageProxy::init):
1377         * UIProcess/qt/TouchViewInterface.h:
1378         (WebKit::TouchViewInterface::chooseFiles):
1379         * UIProcess/qt/ViewInterface.h:
1380
1381 2011-09-12  Alexis Menard  <alexis.menard@openbossa.org>
1382
1383         [Qt]Style error fix.
1384
1385         Reviewed by Andreas Kling.
1386
1387         * UIProcess/qt/QtWebPageProxy.cpp:
1388
1389 2011-09-11  Mark Rowe  <mrowe@apple.com>
1390
1391         <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
1392
1393         It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
1394         interrupt a nested invocation of -run without also causing outer invocations to exit after processing
1395         their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
1396         of the main runloop, while using CFRunLoopRun for any nested invocations.
1397
1398         Reviewed by Anders Carlsson.
1399
1400         * Platform/RunLoop.h:
1401         * Platform/mac/RunLoopMac.mm:
1402         (RunLoop::RunLoop): Initialize the nesting level to 0.
1403         (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
1404         runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
1405         left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
1406         (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
1407
1408 2011-09-11  Balazs Kelemen  <kbalazs@webkit.org>
1409
1410         [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
1411         https://bugs.webkit.org/show_bug.cgi?id=67094
1412
1413         Reviewed by Andreas Kling.
1414
1415         * UIProcess/qt/QtWebPageProxy.cpp:
1416         (QtWebPageProxy::init):
1417
1418 2011-09-09  Oliver Hunt  <oliver@apple.com>
1419
1420         Remove support for anonymous storage from jsobjects
1421         https://bugs.webkit.org/show_bug.cgi?id=67881
1422
1423         Reviewed by Sam Weinig.
1424
1425         Remove the use of AnonymousSlotCount.
1426
1427         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1428         (WebKit::JSNPMethod::createStructure):
1429         * WebProcess/Plugins/Netscape/JSNPObject.h:
1430         (WebKit::JSNPObject::createStructure):
1431
1432 2011-09-09  Chris Marrin  <cmarrin@apple.com>
1433
1434         requestAnimationFrame doesn't throttle on Mac
1435         https://bugs.webkit.org/show_bug.cgi?id=67171
1436
1437         Reviewed by Simon Fraser.
1438
1439         Removed runLoopObserver for requestAnimationFrame. It's now
1440         done by a Timer in ScriptedAnimationController in WebCore.
1441
1442         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1443         * WebProcess/WebCoreSupport/WebChromeClient.h:
1444         * WebProcess/WebPage/WebPage.cpp:
1445         (WebKit::WebPage::~WebPage):
1446         * WebProcess/WebPage/WebPage.h:
1447         * WebProcess/WebPage/mac/WebPageMac.mm:
1448
1449 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
1450
1451         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
1452         https://bugs.webkit.org/show_bug.cgi?id=67250
1453
1454         Reviewed by Simon Fraser.
1455
1456         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1457         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1458         * WebProcess/WebPage/WebPage.cpp:
1459         (WebKit::WebPage::scalePage):
1460         (WebKit::WebPage::pageScaleFactor):
1461
1462 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
1463
1464         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1465         https://bugs.webkit.org/show_bug.cgi?id=67420
1466
1467         Reviewed by Geoffrey Garen.
1468
1469         Completed the fifth level of the refactoring to add finishCreation() 
1470         methods to all classes within the JSCell hierarchy with non-trivial 
1471         constructor bodies.
1472
1473         This primarily consists of pushing the calls to finishCreation() down 
1474         into the constructors of the subclasses of the second level of the hierarchy 
1475         as well as pulling the finishCreation() calls out into the class's corresponding
1476         create() method if it has one.  Doing both simultaneously allows us to 
1477         maintain the invariant that the finishCreation() method chain is called exactly 
1478         once during the creation of an object, since calling it any other number of 
1479         times (0, 2, or more) will cause an assertion failure.
1480
1481         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1482         (WebKit::JSNPMethod::JSNPMethod):
1483         (WebKit::JSNPMethod::finishCreation):
1484         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1485         (WebKit::JSNPMethod::create):
1486         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1487         (WebKit::JSNPObject::JSNPObject):
1488         * WebProcess/Plugins/Netscape/JSNPObject.h:
1489         (WebKit::JSNPObject::create):
1490
1491 2011-09-08  Mark Rowe  <mrowe@apple.com>
1492
1493         <rdar://problem/9742393> Spell checking a text area causes the page to reload
1494
1495         Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
1496         executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
1497         is expecting to be called, and will not turn around and terminate the web process.
1498
1499         Reviewed by Anders Carlsson.
1500
1501         * UIProcess/WebPageProxy.cpp:
1502         (WebKit::WebPageProxy::executeEditCommand):
1503
1504 2011-09-08  Sam Weinig  <sam@webkit.org>
1505
1506         Remove accidentally committed typo.
1507
1508         * Platform/CoreIPC/Connection.cpp:
1509         (CoreIPC::Connection::waitForSyncReply):
1510
1511 2011-09-08  Brian Weinstein  <bweinstein@apple.com>
1512
1513         WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
1514         https://bugs.webkit.org/show_bug.cgi?id=67794
1515         <rdar://problem/9892024>
1516         
1517         Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
1518         is empty or null.
1519         
1520         If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
1521         it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
1522
1523         Reviewed by Brady Eidson.
1524
1525         * UIProcess/WebContext.cpp:
1526         (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
1527         (WebKit::WebContext::didPerformServerRedirect): Ditto.
1528
1529 2011-09-08  Sam Weinig  <sam@webkit.org>
1530
1531         Remove the Completion object from JSC, I have never liked it
1532         https://bugs.webkit.org/show_bug.cgi?id=67755
1533
1534         Reviewed by Gavin Barraclough.
1535
1536         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1537         (WebKit::NPRuntimeObjectMap::evaluate):
1538
1539 2011-09-08  Anders Carlsson  <andersca@apple.com>
1540
1541         Don't release the modal placeholder window if it's closed
1542         https://bugs.webkit.org/show_bug.cgi?id=67801
1543         <rdar://problem/10088059>
1544
1545         Reviewed by Adam Roben.
1546
1547         This is a speculative fix - nothing should really be able to close the modal placeholder window.
1548
1549         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1550         (WebKit::PluginProcessProxy::beginModal):
1551
1552 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
1553
1554         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
1555         https://bugs.webkit.org/show_bug.cgi?id=67511
1556
1557         Reviewed by Dimitri Glazkov.
1558
1559         * win/WebKit2.def:
1560         * win/WebKit2CFLite.def:
1561
1562 2011-09-06  Oliver Hunt  <oliver@apple.com>
1563
1564         Remove JSObjectWithGlobalObject
1565         https://bugs.webkit.org/show_bug.cgi?id=67689
1566
1567         Reviewed by Geoff Garen.
1568
1569         Remove JSObjectWithGlobalObject usage.
1570
1571         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1572         (WebKit::JSNPObject::JSNPObject):
1573         (WebKit::JSNPObject::finishCreation):
1574         * WebProcess/Plugins/Netscape/JSNPObject.h:
1575
1576 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1577
1578         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
1579         https://bugs.webkit.org/show_bug.cgi?id=67606
1580
1581         TiledBackingStore previously used different values for horizontal and vertial multiplication
1582         to calculate the cover area. 
1583         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
1584         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
1585         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
1586         of the viewport.
1587
1588         * UIProcess/API/qt/qtouchwebview.cpp:
1589         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1590         (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
1591         * UIProcess/API/qt/qtouchwebview.h:
1592         * UIProcess/API/qt/qtouchwebview_p.h:
1593         * UIProcess/TiledDrawingAreaProxy.cpp:
1594         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
1595         * UIProcess/TiledDrawingAreaProxy.h:
1596         * UIProcess/qt/ViewportInteractionEngine.cpp:
1597         (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
1598         (WebKit::ViewportInteractionEngine::panGestureEnded):
1599         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
1600         * UIProcess/qt/ViewportInteractionEngine.h:
1601         * UIProcess/qt/qtouchwebpageproxy.cpp:
1602         (QTouchWebPageProxy::setVisibleContentRectMotionVector):
1603         * UIProcess/qt/qtouchwebpageproxy.h:
1604         * WebProcess/WebPage/DrawingArea.h:
1605         (WebKit::DrawingArea::setVisibleContentRectMotionVector):
1606         * WebProcess/WebPage/DrawingArea.messages.in:
1607         * WebProcess/WebPage/TiledDrawingArea.cpp:
1608         (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
1609         * WebProcess/WebPage/TiledDrawingArea.h:
1610
1611 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1612
1613         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
1614         https://bugs.webkit.org/show_bug.cgi?id=67416
1615
1616         Reviewed by Kenneth Rohde Christiansen.
1617
1618         Original code by Antti Koivisto.
1619         With the current code, when the page is layouted during load, edge tiles will
1620         get removed instead of continuing to show their front buffer while the tile
1621         is being rendered for the new size.
1622
1623         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1624         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1625         (WebKit::TiledBackingStoreRemoteTile::resize):
1626         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
1627
1628 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1629
1630         TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
1631         https://bugs.webkit.org/show_bug.cgi?id=67390
1632
1633         Reviewed by Tor Arne Vestbø.
1634
1635         The two issues addresssed are:
1636         - The previous instance of the tile backing store would be destroyed in createTile which
1637           would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
1638         - When quickly changing the scale a second time after a scale change, the previous tile set would
1639           be replaced by the current incomplete tile set which may contain no tiles at all.
1640         * WebProcess/WebPage/TiledDrawingArea.cpp:
1641         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
1642         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1643         (WebKit::TiledDrawingArea::createTile):
1644
1645 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1646
1647         [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
1648         https://bugs.webkit.org/show_bug.cgi?id=67195
1649
1650         Reviewed by Tor Arne Vestbø.
1651
1652         Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
1653         and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
1654         This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
1655
1656         Introduce a bool to send DidRenderFrame only when dirty content was rendered.
1657
1658         * WebProcess/WebPage/TiledDrawingArea.cpp:
1659         (WebKit::TiledDrawingArea::TiledDrawingArea):
1660         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
1661         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
1662         * WebProcess/WebPage/TiledDrawingArea.h:
1663
1664 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1665
1666         [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
1667         https://bugs.webkit.org/show_bug.cgi?id=67189
1668
1669         Reviewed by Kenneth Rohde Christiansen.
1670
1671         The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
1672         create, and since the visible content rect is given in page coordinates, the contents scale is
1673         necessary to calculate the viewport size.
1674         Both the rect and the scale then need to arrive to the web process at the same time to prevent
1675         picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
1676         and create/render an insane amount of tiles.
1677
1678         Things this patch does:
1679         - Merge the visible contents rect and content scale handling together.
1680         - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
1681         - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
1682
1683         * UIProcess/API/qt/qtouchwebpage.cpp:
1684         * UIProcess/API/qt/qtouchwebpage.h:
1685         * UIProcess/API/qt/qtouchwebpage_p.h:
1686         * UIProcess/API/qt/qtouchwebview.cpp:
1687         (QTouchWebViewPrivate::QTouchWebViewPrivate):
1688         (QTouchWebViewPrivate::_q_viewportUpdated):
1689         (QTouchWebView::geometryChanged):
1690         * UIProcess/API/qt/qtouchwebview.h:
1691         * UIProcess/API/qt/qtouchwebview_p.h:
1692         * UIProcess/TiledDrawingAreaProxy.cpp:
1693         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
1694         * UIProcess/TiledDrawingAreaProxy.h:
1695         * UIProcess/qt/ViewportInteractionEngine.cpp:
1696         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
1697         (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
1698         (WebKit::ViewportInteractionEngine::setConstraints):
1699         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
1700         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
1701         (WebKit::ViewportInteractionEngine::contentViewportChanged):
1702         * UIProcess/qt/ViewportInteractionEngine.h:
1703         * UIProcess/qt/qtouchwebpageproxy.cpp:
1704         (QTouchWebPageProxy::setVisibleContentRectAndScale):
1705         * UIProcess/qt/qtouchwebpageproxy.h:
1706         * WebProcess/WebPage/DrawingArea.h:
1707         (WebKit::DrawingArea::setVisibleContentRectAndScale):
1708         * WebProcess/WebPage/DrawingArea.messages.in:
1709         * WebProcess/WebPage/TiledDrawingArea.cpp:
1710         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
1711         * WebProcess/WebPage/TiledDrawingArea.h:
1712
1713 2011-08-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1714
1715         [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
1716         https://bugs.webkit.org/show_bug.cgi?id=67122
1717
1718         Reviewed by Tor Arne Vestbø.
1719
1720         * UIProcess/API/qt/qtouchwebpage.cpp:
1721         (QTouchWebPage::updatePaintNode):
1722         (QTouchWebPagePrivate::QTouchWebPagePrivate):
1723         * UIProcess/API/qt/qtouchwebpage_p.h:
1724         * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
1725         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
1726         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
1727         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
1728         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
1729         (WebKit::SGUpdateQueue::SGUpdateQueue):
1730         (WebKit::SGUpdateQueue::createTileNode):
1731         (WebKit::SGUpdateQueue::removeTileNode):
1732         (WebKit::SGUpdateQueue::setNodeBackBuffer):
1733         (WebKit::SGUpdateQueue::swapTileBuffers):
1734         (WebKit::SGUpdateQueue::applyUpdates):
1735         (WebKit::SGUpdateQueue::getScaleNode):
1736         * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
1737         (WebKit::SGUpdateQueue::isSwapPending):
1738         (WebKit::NodeUpdate::NodeUpdate):
1739         (WebKit::NodeUpdate::~NodeUpdate):
1740         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
1741         (WebKit::TiledDrawingAreaProxy::updateWebView):
1742         (WebKit::TiledDrawingAreaProxy::createTile):
1743         (WebKit::TiledDrawingAreaProxy::updateTile):
1744         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
1745         (WebKit::TiledDrawingAreaProxy::removeTile):
1746         * UIProcess/qt/TouchViewInterface.cpp:
1747         (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
1748         * UIProcess/qt/TouchViewInterface.h:
1749         * WebKit2.pro:
1750
1751 2011-09-07  Alexis Menard  <alexis.menard@openbossa.org>
1752
1753         [Qt] Unreviewed suppression of an unnecessary debug output. 
1754
1755         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1756
1757 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1758
1759         Unreviewed, rolling out r94627 and r94632.
1760         http://trac.webkit.org/changeset/94627
1761         http://trac.webkit.org/changeset/94632
1762         https://bugs.webkit.org/show_bug.cgi?id=67698
1763
1764         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
1765
1766         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1767         (WebKit::JSNPMethod::JSNPMethod):
1768         (WebKit::JSNPMethod::create):
1769         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1770         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1771         (WebKit::JSNPObject::JSNPObject):
1772         (WebKit::JSNPObject::create):
1773         * WebProcess/Plugins/Netscape/JSNPObject.h:
1774
1775 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1776
1777         fast/forms/suggested-value-crash.html crashes on Windows
1778         https://bugs.webkit.org/show_bug.cgi?id=67688
1779
1780         Reviewed by Adam Barth.
1781
1782         Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
1783
1784         * win/WebKit2.def:
1785         * win/WebKit2CFLite.def:
1786
1787 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
1788
1789         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1790         https://bugs.webkit.org/show_bug.cgi?id=67420
1791
1792         Reviewed by Geoffrey Garen.
1793
1794         Completed the fifth level of the refactoring to add finishCreation() 
1795         methods to all classes within the JSCell hierarchy with non-trivial 
1796         constructor bodies.
1797
1798         This primarily consists of pushing the calls to finishCreation() down 
1799         into the constructors of the subclasses of the second level of the hierarchy 
1800         as well as pulling the finishCreation() calls out into the class's corresponding
1801         create() method if it has one.  Doing both simultaneously allows us to 
1802         maintain the invariant that the finishCreation() method chain is called exactly 
1803         once during the creation of an object, since calling it any other number of 
1804         times (0, 2, or more) will cause an assertion failure.
1805
1806         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1807         (WebKit::JSNPMethod::JSNPMethod):
1808         (WebKit::JSNPMethod::finishCreation):
1809         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1810         (WebKit::JSNPMethod::create):
1811         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1812         (WebKit::JSNPObject::JSNPObject):
1813         * WebProcess/Plugins/Netscape/JSNPObject.h:
1814         (WebKit::JSNPObject::create):
1815
1816 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1817
1818         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
1819         https://bugs.webkit.org/show_bug.cgi?id=67569
1820
1821         Reviewed by Antonio Gomes.
1822
1823         * UIProcess/API/mac/WKView.mm:
1824         (-[WKView resignFirstResponder]):
1825         (-[WKView _updateTextInputStateIncludingSecureInputState:]):
1826         * UIProcess/WebPageProxy.h:
1827         * UIProcess/mac/WebPageProxyMac.mm:
1828         (WebKit::WebPageProxy::cancelComposition):
1829         * WebProcess/WebPage/WebPage.h:
1830         * WebProcess/WebPage/WebPage.messages.in:
1831         * WebProcess/WebPage/mac/WebPageMac.mm:
1832         (WebKit::WebPage::cancelComposition):
1833
1834 2011-09-05  Oliver Hunt  <oliver@apple.com>
1835
1836         An object's structure should reference the global object responsible for its creation
1837         https://bugs.webkit.org/show_bug.cgi?id=67624
1838
1839         Reviewed by Gavin Barraclough.
1840
1841         Update for new Structure::create globalObject parameter.
1842
1843         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1844         (WebKit::JSNPMethod::create):
1845         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1846         (WebKit::JSNPMethod::createStructure):
1847         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1848         (WebKit::JSNPObject::create):
1849         * WebProcess/Plugins/Netscape/JSNPObject.h:
1850         (WebKit::JSNPObject::createStructure):
1851
1852 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1853
1854         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
1855         https://bugs.webkit.org/show_bug.cgi?id=67453
1856
1857         Reviewed by Kent Tamura.
1858
1859         Add symbols for internals.
1860
1861         * win/WebKit2.def:
1862         * win/WebKit2CFLite.def:
1863
1864 2011-09-06  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
1865
1866         [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
1867         https://bugs.webkit.org/show_bug.cgi?id=67593
1868
1869         Reviewed by Martin Robinson.
1870
1871         Using soup_session_add_feature_by_type for adding all soup features 
1872         instead of adding using GRefPtr.
1873
1874         * WebProcess/gtk/WebProcessMainGtk.cpp:
1875         (WebKit::WebProcessMainGtk):
1876
1877 2011-09-05  Balazs Kelemen  <kbalazs@webkit.org>
1878
1879         [Qt][WK2] Add pixel test support
1880         https://bugs.webkit.org/show_bug.cgi?id=66283
1881
1882         Reviewed by Andreas Kling.
1883
1884         * Shared/API/c/qt/WKImageQt.cpp: Added.
1885         (WKImageCreateQImage):  C style (private) API to get the contents of the backing
1886         store as an image.
1887         * Shared/API/c/qt/WKImageQt.h: Added.
1888         * Shared/qt/ShareableBitmapQt.cpp:
1889         (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
1890         * WebKit2API.pri:
1891
1892 2011-09-05  Andras Becsi  <andras.becsi@nokia.com>
1893
1894         [Qt][WK2] Fix the build
1895
1896         Rubber-stamped by Csaba Osztrogonác.
1897
1898         * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
1899
1900 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1901
1902         Unreviewed, rolling out r94473.
1903         http://trac.webkit.org/changeset/94473
1904         https://bugs.webkit.org/show_bug.cgi?id=67547
1905
1906         Putting http://trac.webkit.org/changeset/94454 back in as
1907         http://trac.webkit.org/changeset/94472 fixed the problem
1908         (Requested by msaboff on #webkit).
1909
1910         * UIProcess/API/C/WKContext.cpp:
1911         (WKContextGarbageCollectJavaScriptObjects):
1912         * UIProcess/API/C/WKContext.h:
1913         * UIProcess/WebContext.cpp:
1914         (WebKit::WebContext::garbageCollectJavaScriptObjects):
1915         * UIProcess/WebContext.h:
1916         * WebProcess/WebProcess.cpp:
1917         (WebKit::WebProcess::garbageCollectJavaScriptObjects):
1918         * WebProcess/WebProcess.h:
1919         * WebProcess/WebProcess.messages.in:
1920
1921 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1922
1923         Unreviewed, rolling out r94454.
1924         http://trac.webkit.org/changeset/94454
1925         https://bugs.webkit.org/show_bug.cgi?id=67546
1926
1927         "Broke Windows and SnowLeopard, also no reply on the bug."
1928         (Requested by jchaffraix on #webkit).
1929
1930         * UIProcess/API/C/WKContext.cpp:
1931         * UIProcess/API/C/WKContext.h:
1932         * UIProcess/WebContext.cpp:
1933         * UIProcess/WebContext.h:
1934         * WebProcess/WebProcess.cpp:
1935         * WebProcess/WebProcess.h:
1936         * WebProcess/WebProcess.messages.in:
1937
1938 2011-09-02  Michael Saboff  <msaboff@apple.com>
1939
1940         Fixed release build by removing #ifndef NDEBUG to
1941         allow definition of gcController().
1942
1943         Rubber-stamp by Sam Weinig.
1944
1945         * WebProcess/WebProcess.cpp:
1946
1947 2011-09-02  Anders Carlsson  <andersca@apple.com>
1948
1949         NPN_SetException doesn't work with OOP plug-ins
1950         https://bugs.webkit.org/show_bug.cgi?id=67524
1951
1952         Reviewed by Sam Weinig.
1953
1954         * DerivedSources.make:
1955         Add PluginProcessConnection.messages.in.
1956
1957         * GNUmakefile.am:
1958         Add generated files.
1959
1960         * Platform/CoreIPC/MessageID.h:
1961         Add MessageClassPluginProcessConnection.
1962
1963         * PluginProcess/PluginProcess.cpp:
1964         (WebKit::PluginProcess::initialize):
1965         Set the set exception function.
1966
1967         * PluginProcess/WebProcessConnection.cpp:
1968         (WebKit::ConnectionStack::current):
1969         (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
1970         (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
1971         Add a helper class for managing a stack of CoreIPC connections, along with a RAII
1972         object to push/pop connections onto it.
1973
1974         (WebKit::connectionStack):
1975         Add getter.
1976
1977         (WebKit::WebProcessConnection::setGlobalException):
1978         Get the current connection and send a PluginProcessConnection::SetException message to it.
1979
1980         (WebKit::WebProcessConnection::didReceiveMessage):
1981         (WebKit::WebProcessConnection::didReceiveSyncMessage):
1982         Create connection pushers.
1983
1984         * PluginProcess/WebProcessConnection.h:
1985         Add setGlobalException.
1986
1987         * WebKit2.pro:
1988         * WebKit2.xcodeproj/project.pbxproj:
1989         Add new files.
1990
1991         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1992         (WebKit::NetscapePlugin::setSetExceptionFunction):
1993         New function for setting the 'setException' function.
1994
1995         (WebKit::NetscapePlugin::setException):
1996         Call the 'setException' function.
1997
1998         * WebProcess/Plugins/PluginProcessConnection.cpp:
1999         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
2000         Call the message receiver function.
2001
2002         (WebKit::PluginProcessConnection::setException):
2003         Call the NPRuntimeObjectMap.
2004         
2005         * WebProcess/Plugins/PluginProcessConnection.messages.in:
2006         Add new messages file.
2007
2008         * WebProcess/WebPage/WebPage.cpp:
2009         (WebKit::WebPage::createPlugin):
2010         When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
2011
2012 2011-09-02  Ada Chan  <adachan@apple.com>
2013
2014         Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
2015         https://bugs.webkit.org/show_bug.cgi?id=67526
2016
2017         Reviewed by Darin Adler.
2018
2019         * UIProcess/API/C/WKContext.cpp:
2020         (WKContextGarbageCollectJavaScriptObjects):
2021         * UIProcess/API/C/WKContext.h:
2022         * UIProcess/WebContext.cpp:
2023         (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
2024         * UIProcess/WebContext.h:
2025         * WebProcess/WebProcess.cpp:
2026         (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
2027         * WebProcess/WebProcess.h:
2028         * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
2029
2030 2011-09-02  Anders Carlsson  <andersca@apple.com>
2031
2032         Remove plug-in paths from web process sandbox
2033         https://bugs.webkit.org/show_bug.cgi?id=67518
2034
2035         Reviewed by Adam Roben.
2036
2037         Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
2038
2039         * WebProcess/com.apple.WebProcess.sb:
2040
2041 2011-09-02  Anders Carlsson  <andersca@apple.com>
2042
2043         Assertion/crash when running netscape-plugin-property-access-exception.html test
2044         https://bugs.webkit.org/show_bug.cgi?id=67517
2045
2046         Reviewed by Adam Roben.
2047
2048         Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
2049         but doesn't set the result NPVariant to anything.
2050
2051         * Shared/Plugins/NPObjectMessageReceiver.cpp:
2052         (WebKit::NPObjectMessageReceiver::getProperty):
2053
2054 2011-09-02  Anders Carlsson  <andersca@apple.com>
2055
2056         The private browsing state isn't saved when it changes
2057         https://bugs.webkit.org/show_bug.cgi?id=67508
2058
2059         Reviewed by Sam Weinig.
2060
2061         Store the new private browsing state so subsequent queries for it
2062         will return the right value.
2063
2064         * PluginProcess/PluginControllerProxy.cpp:
2065         (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
2066
2067 2011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
2068
2069         [WK2] Anchor elements doesn't get focus on TAB key press.
2070         https://bugs.webkit.org/show_bug.cgi?id=66949
2071
2072         Reviewed by Adam Roben.
2073
2074         Setting the default property value of TabsToLinks to true
2075         only for GTK platform since Win & Mac platforms doesn't want 
2076         it to be set to true by default.
2077
2078         * Shared/WebPreferencesStore.h:
2079         Set the default value of key TabsToLinks to true for GTK platform only.
2080
2081 2011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
2082
2083         [Qt][WK2] Cannot gathering glyph page statistics
2084         https://bugs.webkit.org/show_bug.cgi?id=67475
2085
2086         Rubber stamped by Csaba Osztrogonác.
2087
2088         Fix Qt WK2 build without having QRAWFONT.
2089
2090         * WebProcess/WebProcess.cpp:
2091         (WebKit::WebProcess::getWebCoreStatistics):
2092
2093 2011-09-02  Mark Rowe  <mrowe@apple.com>
2094
2095         <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
2096         leak the results of the APIs they wrap.
2097
2098         Reviewed by Dan Bernstein.
2099
2100         * UIProcess/mac/WebProcessProxyMac.mm:
2101         (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
2102         RetainPtr to ensure it gets released at the appropriate time.
2103         (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
2104
2105 2011-09-01  Ada Chan  <adachan@apple.com>
2106
2107         Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
2108         MemoryCache::Statistics always has the xslStyleSheets field.
2109
2110         Reviewed by Darin Adler.
2111
2112         * WebProcess/WebProcess.cpp:
2113         (WebKit::getWebCoreMemoryCacheStatistics):
2114
2115 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
2116
2117         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
2118         https://bugs.webkit.org/show_bug.cgi?id=67174
2119
2120         Reviewed by Oliver Hunt.
2121
2122         Completed the fourth level of the refactoring to add finishCreation() 
2123         methods to all classes within the JSCell hierarchy with non-trivial 
2124         constructor bodies.
2125
2126         This primarily consists of pushing the calls to finishCreation() down 
2127         into the constructors of the subclasses of the second level of the hierarchy 
2128         as well as pulling the finishCreation() calls out into the class's corresponding
2129         create() method if it has one.  Doing both simultaneously allows us to 
2130         maintain the invariant that the finishCreation() method chain is called exactly 
2131         once during the creation of an object, since calling it any other number of 
2132         times (0, 2, or more) will cause an assertion failure.
2133
2134         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2135         (WebKit::JSNPObject::JSNPObject):
2136         (WebKit::JSNPObject::finishCreation):
2137         * WebProcess/Plugins/Netscape/JSNPObject.h:
2138
2139 2011-09-01  Ada Chan  <adachan@apple.com>
2140
2141         Gather memory cache statistics in WebProcess::getWebCoreStatistics().
2142         https://bugs.webkit.org/show_bug.cgi?id=67160
2143
2144         Reviewed by Darin Adler.
2145
2146         Encode and decode webCoreCacheStatistics data member in StatisticsData.
2147         * Shared/StatisticsData.cpp:
2148         (WebKit::StatisticsData::encode):
2149         (WebKit::StatisticsData::decode):
2150         * Shared/StatisticsData.h:
2151
2152         Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
2153         * UIProcess/WebContext.cpp:
2154         (WebKit::WebContext::didGetWebCoreStatistics):
2155
2156         Store memory cache statistics into the StatisticsData object.
2157         * WebProcess/WebProcess.cpp:
2158         (WebKit::getWebCoreMemoryCacheStatistics):
2159         (WebKit::WebProcess::getWebCoreStatistics):
2160
2161 2011-09-01  Tim Horton  <timothy_horton@apple.com>
2162
2163         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
2164         https://bugs.webkit.org/show_bug.cgi?id=53055
2165         <rdar://problem/8910917>
2166
2167         Reviewed by Simon Fraser.
2168
2169         Introduce wkCGPatternCreateWithImageAndTransform.
2170
2171         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2172         (InitWebCoreSystemInterface):
2173
2174 2011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2175
2176         [Qt] TouchWebView crashes with segmentation fault
2177         https://bugs.webkit.org/show_bug.cgi?id=67308
2178
2179         Reviewed by Benjamin Poulain.
2180
2181         If you instantiate TouchWebView element with height and width in a qml file and
2182         load a url it crashes.
2183         The functions setWidth() and setHeight() are called sequentially therefore it can happen
2184         that computeViewportAttributes was called with a size like (width, 0) breaking the
2185         assumption of the function that the size is valid. The patch makes sure we compute the
2186         viewport when both height and width are valid.
2187
2188         * UIProcess/API/qt/qtouchwebview.cpp:
2189         (QTouchWebViewPrivate::updateViewportConstraints):
2190         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
2191         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
2192         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
2193         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2194
2195 2011-09-01  Ada Chan  <adachan@apple.com>
2196
2197         Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
2198         https://bugs.webkit.org/show_bug.cgi?id=67160
2199
2200         Reviewed by Darin Adler.
2201
2202         Encode and decode the data members in StatisticsData.
2203         * Shared/StatisticsData.cpp:
2204         (WebKit::StatisticsData::encode):
2205         (WebKit::StatisticsData::decode):
2206         (WebKit::StatisticsData::StatisticsData):
2207
2208         Add three data members to StatisticsData:
2209         - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
2210         JavaScriptObjectsCount, CachedFontDataCount, etc.
2211         - javaScriptProtectedObjectTypeCounts
2212         - javaScriptObjectTypeCounts
2213         * Shared/StatisticsData.h:
2214
2215         Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
2216         in WebContext::didGetWebCoreStatistics().
2217         * UIProcess/WebContext.cpp:
2218         (WebKit::createDictionaryFromHashMap):
2219         (WebKit::WebContext::didGetWebCoreStatistics):
2220
2221         Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
2222         and send it to the UIProcess.
2223         * WebProcess/WebProcess.cpp:
2224         (WebKit::fromCountedSetToHashMap):
2225         (WebKit::WebProcess::getWebCoreStatistics):
2226
2227 2011-09-01  Xan Lopez  <xlopez@igalia.com>
2228
2229         [GTK] Add XRender lib dependencies explicitly
2230
2231         Reviewed by Philippe Normand.
2232
2233         This is needed when using the GNU/Gold linker, since we use
2234         XRender directly.
2235
2236         * GNUmakefile.am:
2237
2238 2011-08-31  Anders Carlsson  <andersca@apple.com>
2239
2240         Jagged text shown in find-in-page highlight
2241         https://bugs.webkit.org/show_bug.cgi?id=67347
2242         <rdar://problem/9870444>
2243
2244         Reviewed by Dan Bernstein.
2245
2246         When painting each text line in the find indicator, make sure to clip it against
2247         the text rect and not paint the entire rect over and over.
2248
2249         * UIProcess/FindIndicator.cpp:
2250         (WebKit::FindIndicator::draw):
2251
2252 2011-08-31  Beth Dakin  <bdakin@apple.com>
2253
2254         https://bugs.webkit.org/show_bug.cgi?id=67322
2255         Re-name overrideBackingScaleFactor
2256
2257         Reviewed by John Sullivan.
2258
2259         API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
2260         which returns the custom scale factor if one was set, and the intrinsic scale 
2261         factor otherwise. 
2262         * UIProcess/API/C/WKPage.cpp:
2263         (WKPageGetBackingScaleFactor):
2264         (WKPageSetCustomBackingScaleFactor):
2265         * UIProcess/API/C/WKPage.h:
2266
2267         Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
2268         refers to the intrinsic value.
2269         * UIProcess/API/mac/WKView.mm:
2270         (-[WKView viewDidMoveToWindow]):
2271         (-[WKView _windowDidChangeResolution:]):
2272         (-[WKView _intrinsicDeviceScaleFactor]):
2273
2274         WebPageProxy stores both the customDeviceScaleFactor and the 
2275         intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
2276         should be the one used. 
2277         * UIProcess/WebPageProxy.cpp:
2278         (WebKit::WebPageProxy::WebPageProxy):
2279         (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
2280         (WebKit::WebPageProxy::deviceScaleFactor):
2281         (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
2282         (WebKit::WebPageProxy::creationParameters):
2283         * UIProcess/WebPageProxy.h:
2284
2285 2011-08-31  Anders Carlsson  <andersca@apple.com>
2286
2287         REGRESSION(r93902): Can't open external links on gmail
2288         https://bugs.webkit.org/show_bug.cgi?id=67234
2289         <rdar://problem/10053636>
2290
2291         Reviewed by Alexey Proskuryakov.
2292
2293         * Shared/cf/ArgumentCodersCF.cpp:
2294         (CoreIPC::decode):
2295         If we encounter an empty URL string, create an empty url by using NSURL, just
2296         like we do in WebCore when converting an empty KURL to an NSURL.
2297
2298         * WebKit2.xcodeproj/project.pbxproj:
2299         Compile ArgumentCodersCF.cpp as Objective-C++ for now.
2300
2301 2011-08-30  Beth Dakin  <bdakin@apple.com>
2302
2303         https://bugs.webkit.org/show_bug.cgi?id=67150
2304         Would like API to use a custom device scale factor for a particular WebView/WKView
2305         -and corresponding-
2306         <rdar://problem/10041016>
2307
2308         Reviewed by Darin Adler.
2309
2310         New API is setOverrideBackingScaleFactor() on WKPage
2311         * UIProcess/API/C/WKPage.cpp:
2312         (WKPageGetOverrideBackingScaleFactor):
2313         (WKPageSetOverrideBackingScaleFactor):
2314         * UIProcess/API/C/WKPage.h:
2315         * UIProcess/WebPageProxy.cpp:
2316         (WebKit::WebPageProxy::WebPageProxy):
2317         (WebKit::WebPageProxy::deviceScaleFactor):
2318         (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
2319         * UIProcess/WebPageProxy.h:
2320         (WebKit::WebPageProxy::overrideBackingScaleFactor):
2321
2322 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
2323
2324         Add MediaSource API to HTMLMediaElement
2325         https://bugs.webkit.org/show_bug.cgi?id=64731
2326
2327         Reviewed by Eric Carlson.
2328
2329         * Configurations/FeatureDefines.xcconfig:
2330
2331 2011-08-30  Ada Chan  <adachan@apple.com>
2332
2333         Laying some groundwork to fetch performance statistics from WebProcess.
2334         https://bugs.webkit.org/show_bug.cgi?id=67160
2335
2336         Reviewed by Darin Adler.
2337
2338         Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
2339         * UIProcess/API/C/WKContext.cpp:
2340         (WKContextGetStatistics):
2341         * UIProcess/API/C/WKContext.h:
2342         * UIProcess/WebContext.cpp:
2343         (WebKit::WebContext::~WebContext):
2344         (WebKit::WebContext::getWebCoreStatistics):
2345         (WebKit::WebContext::didGetWebCoreStatistics):
2346         * UIProcess/WebContext.h:
2347         * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
2348         the performance statistics ready.
2349
2350         Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
2351         It will gather the performance statistics to store in the StatisticsData object in a future patch.
2352         * WebProcess/WebProcess.cpp:
2353         (WebKit::WebProcess::getWebCoreStatistics):
2354         * WebProcess/WebProcess.h:
2355         * WebProcess/WebProcess.messages.in:
2356
2357         Add the skeleton for StatisticsData.
2358         * Scripts/webkit2/messages.py:
2359         * Shared/StatisticsData.cpp: Added.
2360         (WebKit::StatisticsData::encode):
2361         (WebKit::StatisticsData::decode):
2362         (WebKit::StatisticsData::StatisticsData):
2363         * Shared/StatisticsData.h: Added.
2364
2365         Add StatisticsData.h/cpp to project.
2366         * CMakeLists.txt:
2367         * GNUmakefile.am:
2368         * WebKit2.pro:
2369         * WebKit2.xcodeproj/project.pbxproj:
2370         * win/WebKit2.vcproj:
2371
2372 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
2373
2374         DumpRenderTree should begin each test with an empty cookie store
2375         https://bugs.webkit.org/show_bug.cgi?id=63545
2376         <rdar://problem/5666907>
2377
2378         Reviewed by Darin Adler.
2379
2380         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2381         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2382         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2383         Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
2384
2385         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2386         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2387         There is no no need to access cookie storage through session manually - we already have code
2388         for that in WebCore.
2389
2390         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2391         (WKBundleSwitchNetworkLoaderToNewTestingSession):
2392         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2393         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2394         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
2395         * WebProcess/InjectedBundle/InjectedBundle.h:
2396         Exposed bundle SPI to use a private default session. It's separate from private browsing,
2397         because some tests enable the latter, and we don't want to mix them up.
2398
2399         * WebProcess/WebPage/mac/WebPageMac.mm:
2400         (WebKit::WebPage::platformHasLocalDataForURL):
2401         (WebKit::cachedResponseForURL):
2402         Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
2403
2404         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
2405         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
2406
2407 2011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
2408
2409         [Qt][WK2] Make mouse over work again for QDesktopWebView.
2410         https://bugs.webkit.org/show_bug.cgi?id=67200
2411
2412         Reviewed by Noam Rosenthal.
2413
2414         The API has changed after QGraphicsView, SceneGraph sends
2415         QHoverEvents now.
2416
2417         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2418         (QDesktopWebPageProxy::handleEvent):
2419         (QDesktopWebPageProxy::handleHoverMoveEvent):
2420         * UIProcess/qt/qdesktopwebpageproxy.h:
2421
2422 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2423
2424         The unused ScrollView* argument can and should be removed from
2425         scrollRectIntoView.
2426         https://bugs.webkit.org/show_bug.cgi?id=67117
2427
2428         Reviewed by Darin Adler.
2429
2430         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2431         (WebKit::WebChromeClient::scrollRectIntoView):
2432         * WebProcess/WebCoreSupport/WebChromeClient.h:
2433
2434 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
2435
2436         Another Windows build fix after r94047.
2437
2438         * win/WebKit2.def:
2439         * win/WebKit2CFLite.def:
2440
2441 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
2442
2443         Export more symbols for r94038.
2444
2445         * win/WebKit2.def:
2446         * win/WebKit2CFLite.def:
2447
2448 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
2449
2450         Windows build fix for r94038.
2451
2452         * win/WebKit2.def:
2453         * win/WebKit2CFLite.def:
2454
2455 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2456
2457
2458         [Qt] QTouchWebView url property test missing
2459         https://bugs.webkit.org/show_bug.cgi?id=67159
2460
2461         Reviewed by Noam Rosenthal.
2462
2463         Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
2464
2465         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
2466
2467 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
2468
2469         [Qt] QDesktopWebView url property test missing
2470         https://bugs.webkit.org/show_bug.cgi?id=67155
2471
2472         Reviewed by Noam Rosenthal.
2473
2474         Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
2475
2476         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
2477
2478 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2479
2480         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
2481         r93999.
2482         http://trac.webkit.org/changeset/93987
2483         http://trac.webkit.org/changeset/93992
2484         http://trac.webkit.org/changeset/93995
2485         http://trac.webkit.org/changeset/93998
2486         http://trac.webkit.org/changeset/93999
2487         https://bugs.webkit.org/show_bug.cgi?id=67147
2488
2489         Many failing tests (Requested by ap on #webkit).
2490
2491         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2492         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2493         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2494         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2495         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2496         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2497         * WebProcess/InjectedBundle/InjectedBundle.h:
2498         * WebProcess/win/WebProcessWin.cpp:
2499         (WebKit::WebProcess::platformInitializeWebProcess):
2500
2501 2011-08-26  Martin Robinson  <mrobinson@igalia.com>
2502
2503         Reviewed by Xan Lopez.
2504
2505         [GTK] Build WebKit2 unconditionally
2506         https://bugs.webkit.org/show_bug.cgi?id=62749
2507
2508         Build WebKit2 by default. This will make the bots build it and catch
2509         build errors when they occur.
2510
2511         * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
2512         PC file, which should not be shipped until WebKit2 is actually shipped officially.
2513
2514 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
2515
2516         Windows build fix.
2517
2518         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2519         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2520         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2521         Updated for new function name and signature: currentCFHTTPCookieStorage().
2522
2523 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
2524
2525         DumpRenderTree should begin each test with an empty cookie store
2526         https://bugs.webkit.org/show_bug.cgi?id=63545
2527         <rdar://problem/5666907>
2528
2529         Reviewed by Darin Adler.
2530
2531         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
2532         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
2533
2534         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
2535         (WKBundleUsePrivateSessionForNetworkLoading):
2536         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
2537         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2538         (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
2539         * WebProcess/InjectedBundle/InjectedBundle.h:
2540         Exposed bundle SPI to use a private default session. It's separate from private browsing,
2541         because some tests enable the latter, and we don't want to mix them up.
2542
2543 2011-08-29  Chris Marrin  <cmarrin@apple.com>
2544
2545         Fixed a build problem caused by http://trac.webkit.org/changeset/93980
2546
2547         Unreviewed.
2548
2549         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2550
2551 2011-08-23  Chris Marrin  <cmarrin@apple.com>
2552
2553         [mac] requestAnimationFrame support for mac port
2554         https://bugs.webkit.org/show_bug.cgi?id=59146
2555
2556         Reviewed by Simon Fraser.
2557
2558         Implement requestAnimationFrame for WebKit2. Add a
2559         CFRunLoopObserver to WebPage, which runs just before
2560         the syncCompositingState RLO and calls into the 
2561         ScriptedAnimationController if scheduleAnimation() has
2562         been called.
2563
2564         * Configurations/FeatureDefines.xcconfig:
2565         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2566         (WebKit::WebChromeClient::scheduleAnimation):
2567         * WebProcess/WebCoreSupport/WebChromeClient.h:
2568         * WebProcess/WebPage/WebPage.cpp:
2569         (WebKit::WebPage::WebPage):
2570         (WebKit::WebPage::~WebPage):
2571         * WebProcess/WebPage/WebPage.h:
2572         * WebProcess/WebPage/mac/WebPageMac.mm:
2573         (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
2574         (WebKit::WebPage::scheduleAnimation):
2575         (WebKit::WebPage::unscheduleAnimation):
2576         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
2577         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2578
2579 2011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
2580
2581         [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
2582         https://bugs.webkit.org/show_bug.cgi?id=67123
2583
2584         We could simply use the defines already in place for this.
2585
2586         Reviewed by Andreas Kling.
2587
2588         * WebKit2.pro:
2589
2590 2011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
2591
2592         [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
2593         https://bugs.webkit.org/show_bug.cgi?id=67111
2594
2595         Reviewed by Martin Robinson.
2596
2597         WebKit2 GTK build error.
2598
2599         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
2600         Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
2601         inclusion error.
2602
2603 2011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
2604
2605         [Qt][WK2] Unreviewed build fix.
2606
2607         * UIProcess/qt/QtWebPageProxy.cpp:
2608         (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
2609         to avoid missing initializer warning. The missing initializer is the
2610         result of using a version 0 WKPageUIClient while it has newer version (1).
2611         We have nothing to do with the callbacks in the new version so I voted
2612         for memset.
2613         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
2614
2615 2011-08-26  Sam Weinig  <sam@webkit.org>
2616
2617         Stop using custom NSErrors for WebKit2 WebErrors
2618         https://bugs.webkit.org/show_bug.cgi?id=67075
2619
2620         Reviewed by Anders Carlsson.
2621
2622         * WebProcess/WebCoreSupport/WebErrors.h:
2623         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2624         (WebKit::createNSError):
2625         (WebKit::cancelledError):
2626         (WebKit::fileDoesNotExistError):
2627         (WebKit::blockedError):
2628         (WebKit::cannotShowURLError):
2629         (WebKit::interruptedForPolicyChangeError):
2630         (WebKit::cannotShowMIMETypeError):
2631         (WebKit::pluginWillHandleLoadError):
2632         There is no reason to use custom registered NSErrors anymore, so don't.
2633
2634 2011-08-26  Anders Carlsson  <andersca@apple.com>
2635
2636         Fix build.
2637
2638         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2639
2640 2011-08-26  Sam Weinig  <sam@webkit.org>
2641
2642         Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
2643         https://bugs.webkit.org/show_bug.cgi?id=67063
2644
2645         Reviewed by Anders Carlsson.
2646
2647         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2648         (+[NSError _webkit_errorWithDomain:code:URL:]):
2649
2650 2011-08-26  Anders Carlsson  <andersca@apple.com>
2651
2652         Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
2653         https://bugs.webkit.org/show_bug.cgi?id=67062
2654
2655         Reviewed by Sam Weinig.
2656
2657         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2658         (WebKit::NPN_ScheduleTimer):
2659         Call NetscapePlugin::scheduleTimer.
2660
2661         (WebKit::NPN_UnscheduleTimer):
2662         Call NetscapePlugin::unscheduleTimer.
2663
2664         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2665         (WebKit::NetscapePlugin::NetscapePlugin):
2666         Initialize m_nextTimerID.
2667
2668         (WebKit::NetscapePlugin::Timer::start):
2669         Start the timer.
2670
2671         (WebKit::NetscapePlugin::Timer::stop):
2672         Stop the timer.
2673
2674         (WebKit::NetscapePlugin::Timer::timerFired):
2675         Call the right callback and unschedule the timer object if it's not a repeating timer.
2676
2677         (WebKit::NetscapePlugin::scheduleTimer):
2678         Create a new timer and start it.
2679
2680         (WebKit::NetscapePlugin::unscheduleTimer):
2681         Get the timer from the map and destroy it.
2682         
2683         (WebKit::NetscapePlugin::destroy):
2684         Destroy all timers.
2685
2686         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2687         Add Timer class.
2688
2689 2011-08-26  Sam Weinig  <sam@webkit.org>
2690
2691         Fix typo in Connection.cpp
2692         https://bugs.webkit.org/show_bug.cgi?id=67060
2693
2694         Reviewed by Anders Carlsson.
2695
2696         * Platform/CoreIPC/Connection.cpp:
2697         (CoreIPC::Connection::waitForSyncReply):
2698         We want timedOut, not timeout.  There is not a current way to cause this
2699         to be an issue. This issue was caught by the Clang Static Analyzer.
2700
2701 2011-08-26  Alice Liu  <alice.liu@apple.com>
2702
2703         https://bugs.webkit.org/show_bug.cgi?id=66823
2704         Add the request info to the WebPageProxy::CreateNewPage message
2705
2706         Reviewed by Anders Carlsson.
2707
2708         Update function declarations with additional ResourceRequest parameter:
2709         * UIProcess/API/C/WKPage.h:
2710         * UIProcess/WebPageProxy.cpp:
2711         (WebKit::WebPageProxy::createNewPage):
2712         * UIProcess/WebPageProxy.h:
2713         * UIProcess/WebPageProxy.messages.in:
2714         * UIProcess/WebUIClient.cpp:
2715         (WebKit::WebUIClient::createNewPage):
2716         * UIProcess/WebUIClient.h:
2717
2718         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2719         (WebKit::WebChromeClient::createWindow): 
2720         Pass the ResourceRequest within the FrameLoadRequest.
2721
2722 2011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
2723
2724         [Qt][WK2]REGRESSION(r93784): It made many tests crash
2725         https://bugs.webkit.org/show_bug.cgi?id=66958
2726
2727         Reviewed by Anders Carlsson.
2728
2729         Don't try to make sure the WebContext is deleted, for now the leak
2730         is intended and when multiple processes per context will be supported
2731         this leak should be fixed. This was the cause of DRT crashing on the bot,
2732         the context was deleted after the first test, letting other tests with nothing
2733         but a bad context.
2734
2735         * UIProcess/qt/QtWebPageProxy.cpp:
2736         (QtWebPageProxy::~QtWebPageProxy):
2737
2738 2011-08-26  Anders Carlsson  <andersca@apple.com>
2739
2740         Fix handling of keyup events in the new Cocoa text input model
2741         https://bugs.webkit.org/show_bug.cgi?id=67045
2742
2743         Reviewed by Sam Weinig.
2744
2745         Use a counter instead of a boolean for deciding when to ignore keyup events, because
2746         if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
2747
2748         Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
2749         in that case.
2750
2751         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2752         (WebKit::NetscapePlugin::NetscapePlugin):
2753         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2754         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2755         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2756
2757 2011-08-26  Jessie Berlin  <jberlin@apple.com>
2758
2759         Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
2760         https://bugs.webkit.org/show_bug.cgi?id=66979.
2761
2762         Removing the function altogether would break the nightlies.
2763         This patch removes the code behind it so that it is clear that
2764         WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
2765         left rotting in the tree.
2766
2767         Reviewed by Brian Weinstein.
2768
2769         * UIProcess/API/C/WKPage.cpp:
2770         (WKPageCreateSnapshotOfVisibleContent):
2771         Return 0.
2772         * UIProcess/API/C/WKPagePrivate.h:
2773         Update the comment and add a link to the bug.
2774
2775         * UIProcess/WebPageProxy.cpp:
2776         * UIProcess/WebPageProxy.h:
2777
2778         * WebProcess/WebPage/WebPage.cpp:
2779         * WebProcess/WebPage/WebPage.h:
2780         * WebProcess/WebPage/WebPage.messages.in:
2781
2782 2011-08-25  Anders Carlsson  <andersca@apple.com>
2783
2784         kNPEventStartIME doesn't work correctly for NPAPI
2785         https://bugs.webkit.org/show_bug.cgi?id=65264
2786         <rdar://problem/9996476>
2787
2788         Reviewed by Sam Weinig.
2789
2790         In order to remain compatible with older plug-ins, the updated input model won't
2791         be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
2792         this before any keyboard events have been processed.
2793
2794         * PluginProcess/mac/PluginControllerProxyMac.mm:
2795         (WebKit::PluginControllerProxy::setComplexTextInputState):
2796         Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
2797         the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
2798         synchronous message.
2799
2800         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2801         (WebKit::NPN_GetValue):
2802         Implement the logic for when to turn off the legacy Cocoa text input model support.
2803
2804         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2805         (WebKit::NetscapePlugin::NetscapePlugin):
2806         Initialize m_ignoreNextKeyUpEvent to false.
2807
2808         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2809         Add m_ignoreNextKeyUpEvent member variable.
2810
2811         (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
2812         Add a getter.
2813
2814         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2815         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2816         Don't send keydown and keyup events when complex text input is enabled in the updated model.
2817
2818 2011-08-25  Anders Carlsson  <andersca@apple.com>
2819
2820         Correctly handle events in the updated Cocoa text input model
2821         https://bugs.webkit.org/show_bug.cgi?id=67005
2822
2823         Reviewed by Sam Weinig.
2824
2825         * UIProcess/API/mac/WKTextInputWindowController.mm:
2826         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
2827         When using the updated model, always return a string even for 'simple' characters.
2828
2829         * UIProcess/API/mac/WKView.mm:
2830         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2831         Only let the input method have a crack at the event in the legacy model.
2832
2833 2011-08-25  Jeff Miller  <jeffm@apple.com>
2834
2835         Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
2836         https://bugs.webkit.org/show_bug.cgi?id=67002
2837
2838         Reviewed by Brian Weinstein.
2839
2840         * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
2841         
2842         * UIProcess/win/WebPageProxyWin.cpp:
2843         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
2844         (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
2845         (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
2846         (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
2847         (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
2848         (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
2849         (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
2850         (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
2851         (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
2852         (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
2853
2854 2011-08-25  Anders Carlsson  <andersca@apple.com>
2855
2856         Handle key-down events in the updated Cocoa text input model
2857         https://bugs.webkit.org/show_bug.cgi?id=67001
2858
2859         Reviewed by Sam Weinig.
2860
2861         * UIProcess/API/mac/WKView.mm:
2862         (-[WKView performKeyEquivalent:]):
2863         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
2864         input has been disabled.
2865
2866         (-[WKView _disableComplexTextInputIfNecessary]):
2867         If the plug-in is using the updated Cocoa text input model specification, disable text input
2868         if the text input window has been dismissed for whatever reason.
2869
2870         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2871         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
2872         input has been disabled.
2873         
2874         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
2875         If the plug-in is using the updated Cocoa text input model specification, let the input methods
2876         have a go at the keyboard event.
2877
2878         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2879         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2880         Actually set m_isComplexTextInputEnabled to the right value.
2881
2882 2011-08-25  Anders Carlsson  <andersca@apple.com>
2883
2884         Factor code to send a key-down event to the plug-in out into a new function
2885         https://bugs.webkit.org/show_bug.cgi?id=66999
2886
2887         Reviewed by Darin Adler.
2888
2889         * UIProcess/API/mac/WKView.mm:
2890         (-[WKView _handlePluginComplexTextInputKeyDown:]):
2891         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
2892
2893 2011-08-25  Anders Carlsson  <andersca@apple.com>
2894
2895         WKView should keep track of the plug-in complex text input state
2896         https://bugs.webkit.org/show_bug.cgi?id=66990
2897
2898         Reviewed by Sam Weinig.
2899
2900         * UIProcess/API/mac/WKView.mm:
2901         Add a _pluginComplexTextInputState ivar to WKViewData.
2902
2903         (-[WKView _setPluginComplexTextInputState:]):
2904         Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
2905
2906         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
2907         Call -[WKView _setPluginComplexTextInputState:].
2908
2909 2011-08-25  Anders Carlsson  <andersca@apple.com>
2910
2911         Move file internal methods to a class continuation in WKView
2912         https://bugs.webkit.org/show_bug.cgi?id=66983
2913
2914         Reviewed by Dan Bernstein.
2915
2916         * UIProcess/API/mac/WKView.mm:
2917         (-[WKView _deviceScaleFactor]):
2918         (-[WKView _setDrawingAreaSize:]):
2919
2920 2011-08-25  Anders Carlsson  <andersca@apple.com>
2921
2922         More work on the updated Cocoa text input specification
2923         https://bugs.webkit.org/show_bug.cgi?id=66977
2924
2925         Reviewed by Sam Weinig.
2926
2927         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2928         (WebKit::NetscapePlugin::NetscapePlugin):
2929         Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2930
2931         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2932         Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
2933         
2934         (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
2935         Add setter. Not called yet.
2936
2937         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2938         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
2939         Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
2940
2941         (WebKit::NetscapePlugin::sendComplexTextInput):
2942         If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
2943
2944         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
2945         If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
2946         the plug-in is focused.
2947
2948         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
2949         Set the right text input state based on whether the plug-in is using the updated spec or not.
2950
2951 2011-08-25  Anders Carlsson  <andersca@apple.com>
2952
2953         Return the correct value for NPNVsupportsCarbonBool
2954         https://bugs.webkit.org/show_bug.cgi?id=66964
2955
2956         Reviewed by Adam Roben.
2957
2958         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2959         (WebKit::NPN_GetValue):
2960         Remove a FIXME and set the value to true.
2961
2962 2011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
2963
2964         [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
2965         https://bugs.webkit.org/show_bug.cgi?id=66886
2966
2967         Reviewed by Benjamin Poulain.
2968
2969         Remove QWKContext class from Qt APIs as it is too low level for the vision
2970         of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
2971         or default created one. This patch also ensure that the WebProcessProxy is correctly
2972         destroyed at application exit by removing the circular references between the WebContext,
2973         WebProcessProxy, and WebPageProxy.
2974
2975         * UIProcess/API/qt/qdesktopwebview.cpp:
2976         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2977         * UIProcess/API/qt/qtouchwebview.cpp:
2978         (QTouchWebViewPrivate::QTouchWebViewPrivate):
2979         * UIProcess/qt/ClientImpl.cpp:
2980         (qt_wk_setStatusText):
2981         * UIProcess/qt/ClientImpl.h:
2982         * UIProcess/qt/QtWebPageProxy.cpp:
2983         (QtWebPageProxy::defaultWKContext):
2984         (QtWebPageProxy::QtWebPageProxy):
2985         (QtWebPageProxy::~QtWebPageProxy):
2986         * UIProcess/qt/QtWebPageProxy.h:
2987         * UIProcess/qt/qdesktopwebpageproxy.cpp:
2988         (QDesktopWebPageProxy::QDesktopWebPageProxy):
2989         * UIProcess/qt/qdesktopwebpageproxy.h:
2990         * UIProcess/qt/qtouchwebpageproxy.cpp:
2991         (QTouchWebPageProxy::QTouchWebPageProxy):
2992         * UIProcess/qt/qtouchwebpageproxy.h:
2993         * UIProcess/qt/qwkcontext.cpp: Removed.
2994         * UIProcess/qt/qwkcontext.h: Removed.
2995         * UIProcess/qt/qwkcontext_p.h: Removed.
2996         * WebKit2.pro:
2997
2998 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2999
3000         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
3001         https://bugs.webkit.org/show_bug.cgi?id=66771
3002
3003         Reviewed by Tor Arne Vestbø.
3004
3005         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
3006         rendered with the same layout. This also allows the web process to render tiles into
3007         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
3008         to use the TiledBackingStore in WebCore to have only one tiling implementation.
3009
3010         Before this patch:
3011         - TiledDrawingAreaProxy manages tiles from the UI process.
3012         - TiledDrawingArea received rendering requests for a rect and returns the result
3013           to the proxy through shared memory.
3014
3015         After this patch:
3016         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
3017         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
3018         - TiledDrawingAreaProxy updates the scene graph directly from requests.
3019
3020         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
3021         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
3022         notify us when the last rendered frame is ready to make it to the screen.
3023         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
3024
3025         * UIProcess/API/qt/qtouchwebpage.cpp:
3026         (QTouchWebPage::updatePaintNode):
3027         * UIProcess/API/qt/qtouchwebview.cpp:
3028         (QTouchWebViewPrivate::updateViewportState):
3029         * UIProcess/DrawingAreaProxy.h:
3030         (WebKit::DrawingAreaProxy::createTile):
3031         (WebKit::DrawingAreaProxy::updateTile):
3032         (WebKit::DrawingAreaProxy::didRenderFrame):
3033         (WebKit::DrawingAreaProxy::removeTile):
3034         * UIProcess/DrawingAreaProxy.messages.in:
3035         * UIProcess/TiledDrawingAreaProxy.cpp:
3036         (WebKit::TiledDrawingAreaProxy::create):
3037         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
3038         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
3039         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
3040         (WebKit::TiledDrawingAreaProxy::setContentsScale):
3041         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
3042         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
3043         (WebKit::TiledDrawingAreaProxy::paint):
3044         * UIProcess/TiledDrawingAreaProxy.h:
3045         * UIProcess/TiledDrawingAreaTile.h: Removed.
3046         * UIProcess/qt/SGAgent.cpp:
3047         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
3048         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
3049         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
3050         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
3051         (WebKit::SGAgent::SGAgent):
3052         (WebKit::SGAgent::createTileNode):
3053         (WebKit::SGAgent::removeTileNode):
3054         (WebKit::SGAgent::setNodeBackBuffer):
3055         (WebKit::SGAgent::swapTileBuffers):
3056         (WebKit::SGAgent::updatePaintNode):
3057         (WebKit::SGAgent::getScaleNode):
3058         Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
3059         Delete the scale node when the last of its child tiles has been removed.
3060
3061         * UIProcess/qt/SGAgent.h:
3062         (WebKit::SGAgent::isSwapPending):
3063
3064         * UIProcess/qt/SGTileNode.cpp:
3065         (WebKit::SGTileNode::SGTileNode):
3066         (WebKit::SGTileNode::setBackBuffer):
3067         (WebKit::SGTileNode::swapIfNeeded):
3068         Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
3069         This allows all those values to be used only when swapIfNeeded is called later.
3070
3071         * UIProcess/qt/SGTileNode.h:
3072         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
3073         (WebKit::TiledDrawingAreaProxy::createTile):
3074         (WebKit::TiledDrawingAreaProxy::updateTile):
3075         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
3076         (WebKit::TiledDrawingAreaProxy::removeTile):
3077         * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
3078         * UIProcess/qt/qtouchwebpageproxy.cpp:
3079         (QTouchWebPageProxy::renderNextFrame):
3080         * UIProcess/qt/qtouchwebpageproxy.h:
3081         * WebKit2.pro:
3082         * WebProcess/WebPage/DrawingArea.h:
3083         (WebKit::DrawingArea::setVisibleContentRect):
3084         (WebKit::DrawingArea::setContentsScale):
3085         (WebKit::DrawingArea::renderNextFrame):
3086         * WebProcess/WebPage/DrawingArea.messages.in:
3087         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
3088         (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
3089         (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
3090         (WebKit::TiledBackingStoreRemoteTile::isDirty):
3091         (WebKit::TiledBackingStoreRemoteTile::invalidate):
3092         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3093         (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
3094         (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
3095         (WebKit::TiledBackingStoreRemoteTile::paint):
3096         (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
3097         (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
3098         (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
3099         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
3100         (WebKit::TiledBackingStoreRemoteTile::create):
3101         (WebKit::TiledBackingStoreRemoteTile::coordinate):
3102         (WebKit::TiledBackingStoreRemoteTile::rect):
3103         (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
3104         (WebKit::TiledBackingStoreRemoteTileBackend::create):
3105         * WebProcess/WebPage/TiledDrawingArea.cpp:
3106         (WebKit::TiledDrawingArea::TiledDrawingArea):
3107         (WebKit::TiledDrawingArea::setNeedsDisplay):
3108         (WebKit::TiledDrawingArea::setSize):
3109         (WebKit::TiledDrawingArea::setVisibleContentRect):
3110         (WebKit::TiledDrawingArea::setContentsScale):
3111         (WebKit::TiledDrawingArea::renderNextFrame):
3112         (WebKit::TiledDrawingArea::suspendPainting):
3113         (WebKit::TiledDrawingArea::resumePainting):
3114         (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
3115         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
3116         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
3117         (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
3118         (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
3119         (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
3120         (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
3121         (WebKit::TiledDrawingArea::createTile):
3122         (WebKit::TiledDrawingArea::updateTile):
3123         (WebKit::TiledDrawingArea::removeTile):
3124         * WebProcess/WebPage/TiledDrawingArea.h:
3125         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
3126
3127 2011-08-24  Michael Saboff  <msaboff@apple.com>
3128
3129         Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
3130         https://bugs.webkit.org/show_bug.cgi?id=66912
3131
3132         Updated the comment in ArgumentEncoder::grow to reflect that system malloc
3133         currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
3134
3135         Reviewed by Mark Rowe.
3136
3137         * Platform/CoreIPC/ArgumentEncoder.cpp:
3138         (CoreIPC::ArgumentEncoder::grow):
3139
3140 2011-08-24  Anders Carlsson  <andersca@apple.com>
3141
3142         Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
3143         https://bugs.webkit.org/show_bug.cgi?id=66883
3144
3145         Reviewed by Beth Dakin.
3146
3147         * UIProcess/API/mac/WKTextInputWindowController.h:
3148         * UIProcess/API/mac/WKTextInputWindowController.mm:
3149         (-[WKTextInputPanel _unmarkText]):
3150         (-[WKTextInputWindowController unmarkText]):
3151         * UIProcess/API/mac/WKView.mm:
3152         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
3153
3154 2011-08-24  Oliver Hunt  <oliver@apple.com>
3155
3156         JSNPObject and JSNPMethod create their structure in their constructors
3157         https://bugs.webkit.org/show_bug.cgi?id=66879
3158
3159         Reviewed by Anders Carlsson.
3160
3161         It's not safe to create the Structure for an object inside its constructor
3162         so we hoist construction out into their ::create methods and move the methods
3163         into the cpp file.
3164
3165         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3166         (WebKit::JSNPMethod::JSNPMethod):
3167         (WebKit::JSNPMethod::create):
3168         * WebProcess/Plugins/Netscape/JSNPMethod.h:
3169         (WebKit::JSNPMethod::create):
3170         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3171         (WebKit::JSNPObject::JSNPObject):
3172         (WebKit::JSNPObject::create):
3173         * WebProcess/Plugins/Netscape/JSNPObject.h:
3174         (WebKit::JSNPObject::create):
3175
3176 2011-08-24  Anders Carlsson  <andersca@apple.com>
3177
3178         More plug-in complex text input scaffolding
3179         https://bugs.webkit.org/show_bug.cgi?id=66865
3180
3181         Reviewed by Sam Weinig.
3182
3183         Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
3184         add methods for handling plug-in text input key-down events.
3185
3186         * UIProcess/API/mac/PageClientImpl.mm:
3187         (WebKit::PageClientImpl::doneWithKeyEvent):
3188         * UIProcess/API/mac/WKView.mm:
3189         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
3190         (-[WKView keyDown:]):
3191         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
3192         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
3193         * UIProcess/API/mac/WKViewInternal.h:
3194
3195 2011-08-24  Amruth Raj  <amruthraj@motorola.com>
3196
3197         [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
3198         https://bugs.webkit.org/show_bug.cgi?id=66640
3199
3200         Reviewed by Martin Robinson.
3201
3202         The crash happens when a new timer is created in an existing timer callback. Since 
3203         TimerBase has a single GSource* it gets overridden and the old timer can never get
3204         stopped. To handle this, keep a copy of the old timer and use it for destruction.
3205
3206         * Platform/RunLoop.h:
3207         * Platform/gtk/RunLoopGtk.cpp:
3208         (RunLoop::TimerBase::timerFiredCallback):
3209         Store the timerSource so that even if it is modified by the timer callback,
3210         it can be restored for freeing it.
3211         (RunLoop::TimerBase::start):
3212         Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
3213
3214 2011-08-23  Anders Carlsson  <andersca@apple.com>
3215
3216         Prepare WKTextInputWindowController for the new text input model
3217         https://bugs.webkit.org/show_bug.cgi?id=66826
3218
3219         Reviewed by Sam Weinig.
3220
3221         Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
3222         additional usingLegacyCocoaTextInput flag. No functionality change.
3223
3224         * UIProcess/API/mac/WKTextInputWindowController.h:
3225         * UIProcess/API/mac/WKTextInputWindowController.mm:
3226         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3227         (-[WKTextInputPanel _hasMarkedText]):
3228         (-[WKTextInputWindowController hasMarkedText]):
3229         (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3230         * UIProcess/API/mac/WKView.mm:
3231         (-[WKView keyDown:]):
3232
3233 2011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3234
3235         [Qt] Unnecessary folders in WebKit2.
3236         https://bugs.webkit.org/show_bug.cgi?id=66583
3237
3238         Reviewed by Benjamin Poulain.
3239
3240         Remove empty autotest folders that were left over from QGraphicsWKView times.
3241
3242         * UIProcess/API/qt/tests/qgraphicswkview: Removed.
3243         * UIProcess/API/qt/tests/qwkhistory: Removed.
3244         * UIProcess/API/qt/tests/qwkpage: Removed.
3245
3246 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3247
3248         [Qt][WK2] Fix an awful memory leak introduced in r92376.
3249         https://bugs.webkit.org/show_bug.cgi?id=65528
3250
3251         Reviewed by Benjamin Poulain.
3252
3253         The non-virtual destructor would create a leak of the tile update buffer because
3254         the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
3255
3256         * UIProcess/qt/SGAgent.h:
3257         (WebKit::NodeUpdate::~NodeUpdate):
3258
3259 2011-08-23  Steve Block  <steveblock@google.com>
3260
3261         Remove all mention of removed Android files from build scripts
3262         https://bugs.webkit.org/show_bug.cgi?id=66755
3263
3264         Reviewed by Tony Gentilcore.
3265
3266         * Scripts/generate-forwarding-headers.pl:
3267
3268 2011-08-23  Benjamin Poulain  <benjamin@webkit.org>
3269
3270         [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
3271         https://bugs.webkit.org/show_bug.cgi?id=66672
3272
3273         Reviewed by Kenneth Rohde Christiansen.
3274
3275         Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
3276         This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
3277
3278         The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
3279
3280         * UIProcess/qt/ViewportInteractionEngine.cpp:
3281         (WebKit::ViewportInteractionEngine::panGestureEnded):
3282         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
3283         (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
3284         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
3285         (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
3286         * UIProcess/qt/ViewportInteractionEngine.h:
3287
3288 2011-08-22  Oliver Hunt  <oliver@apple.com>
3289
3290         Delay GC triggered NP object destruction to the next runloop cycle
3291         https://bugs.webkit.org/show_bug.cgi?id=66717
3292
3293         Reviewed by Anders Carlsson.
3294
3295         Delay destruction of plugin objects caused by GC until the next
3296         runloop cycle so that they can execute JS in their finalizers.
3297         We do this using a zero delay timer coupled with a queue of
3298         objects to be finalised.
3299
3300         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3301         (WebKit::JSNPObject::releaseObject):
3302         * WebProcess/Plugins/Netscape/JSNPObject.h:
3303         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3304         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
3305         (WebKit::NPRuntimeObjectMap::invalidate):
3306         (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
3307         (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
3308         (WebKit::NPRuntimeObjectMap::finalize):
3309         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
3310         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
3311         (WebKit::trySafeReleaseNPObject):
3312         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
3313
3314 2011-08-22  Anders Carlsson  <andersca@apple.com>
3315
3316         Move code from PageClientImpl::doneWithKeyEvent to WKView
3317         https://bugs.webkit.org/show_bug.cgi?id=66722
3318
3319         Reviewed by Darin Adler.
3320
3321         * UIProcess/API/mac/PageClientImpl.mm:
3322         (WebKit::PageClientImpl::doneWithKeyEvent):
3323         * UIProcess/API/mac/WKView.mm:
3324         (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
3325         * UIProcess/API/mac/WKViewInternal.h:
3326
3327 2011-08-22  Anders Carlsson  <andersca@apple.com>
3328
3329         Update the text input context when the plug-in focus changes and not when the complex text input state changes
3330         https://bugs.webkit.org/show_bug.cgi?id=66716
3331
3332         Reviewed by Darin Adler.
3333
3334         * UIProcess/API/mac/WKView.mm:
3335         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
3336         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3337
3338 2011-08-22  Michael Saboff  <msaboff@apple.com>
3339
3340         REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
3341         https://bugs.webkit.org/show_bug.cgi?id=66464
3342
3343         Changed ArgumentEncoder to use system malloc instead of fastMalloc.
3344         FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
3345         mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
3346         The system malloc has no such limitation.
3347         Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
3348         doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
3349         
3350         Reviewed by Anders Carlsson.
3351
3352         * Platform/CoreIPC/ArgumentEncoder.cpp:
3353         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
3354         (CoreIPC::ArgumentEncoder::grow):
3355         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3356         (CoreIPC::Connection::sendOutgoingMessage):
3357
3358 2011-08-22  Anders Carlsson  <andersca@apple.com>
3359
3360         Use -[NSApplication updateWindows] to update the current input context
3361         https://bugs.webkit.org/show_bug.cgi?id=66715
3362
3363         Reviewed by Alexey Proskuryakov.
3364
3365         * UIProcess/API/mac/WKView.mm:
3366         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3367
3368 2011-08-22  Anders Carlsson  <andersca@apple.com>
3369
3370         The UI process should keep track of whether a plug-in has focus or not
3371         https://bugs.webkit.org/show_bug.cgi?id=66712
3372
3373         Reviewed by Darin Adler.
3374
3375         This is in preparation for implementing the updated Cocoa text input model.
3376
3377         Pipe through whether a plug-in and its containing window has focus or not, from the
3378         plug-in process and all the way to the UI process.
3379
3380         * PluginProcess/PluginControllerProxy.h:
3381         * PluginProcess/mac/PluginControllerProxyMac.mm:
3382         (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
3383         * UIProcess/API/mac/PageClientImpl.h:
3384         * UIProcess/API/mac/PageClientImpl.mm:
3385         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
3386         * UIProcess/API/mac/WKView.mm:
3387         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
3388         * UIProcess/API/mac/WKViewInternal.h:
3389         * UIProcess/PageClient.h:
3390         * UIProcess/WebPageProxy.h:
3391         * UIProcess/WebPageProxy.messages.in:
3392         * UIProcess/mac/WebPageProxyMac.mm:
3393         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
3394         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3395         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3396         (WebKit::NetscapePlugin::platformSetFocus):
3397         (WebKit::NetscapePlugin::windowFocusChanged):
3398         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
3399         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
3400         (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
3401         * WebProcess/Plugins/PluginController.h:
3402         * WebProcess/Plugins/PluginProxy.h:
3403         * WebProcess/Plugins/PluginProxy.messages.in:
3404         * WebProcess/Plugins/PluginView.cpp:
3405         (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
3406         * WebProcess/Plugins/PluginView.h:
3407
3408 2011-08-22  Anders Carlsson  <andersca@apple.com>
3409
3410         Update the current NSTextInputContext whenever the plug-in complex text input state changes
3411         https://bugs.webkit.org/show_bug.cgi?id=66709
3412
3413         Reviewed by Sam Weinig.
3414
3415         Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
3416         context. Fixes a rare case when the out-of-line editing window wouldn't appear.
3417
3418         * UIProcess/API/mac/WKView.mm:
3419         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3420
3421 2011-08-19  Anders Carlsson  <andersca@apple.com>
3422
3423         Another attempt at fixing the Windows build.
3424
3425         * UIProcess/PageClient.h:
3426
3427 2011-08-19  Anders Carlsson  <andersca@apple.com>
3428
3429         Fix Windows build.
3430
3431         * WebProcess/Plugins/PluginController.h:
3432
3433 2011-08-19  Anders Carlsson  <andersca@apple.com>
3434
3435         Make the complex text input state a tri-state enum instead of a boolean
3436         https://bugs.webkit.org/show_bug.cgi?id=62245
3437
3438         Reviewed by Sam Weinig.
3439
3440         This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
3441
3442         * PluginProcess/PluginControllerProxy.cpp:
3443         * PluginProcess/PluginControllerProxy.h:
3444         * PluginProcess/mac/PluginControllerProxyMac.mm:
3445         (WebKit::PluginControllerProxy::setComplexTextInputState):
3446         (WebKit::PluginControllerProxy::compositingRenderServerPort):
3447         * Shared/Plugins/mac: Added.
3448         * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
3449         (WebKit::isValidPluginComplexTextInputState):
3450         * UIProcess/API/mac/PageClientImpl.h:
3451         * UIProcess/API/mac/PageClientImpl.mm:
3452         (WebKit::PageClientImpl::setPluginComplexTextInputState):
3453         * UIProcess/API/mac/WKView.mm:
3454         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
3455         * UIProcess/API/mac/WKViewInternal.h:
3456         * UIProcess/PageClient.h:
3457         * UIProcess/WebPageProxy.h:
3458         * UIProcess/WebPageProxy.messages.in:
3459         * UIProcess/mac/WebPageProxyMac.mm:
3460         (WebKit::WebPageProxy::setPluginComplexTextInputState):
3461         * WebKit2.xcodeproj/project.pbxproj:
3462         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3463         (WebKit::NetscapePlugin::NetscapePlugin):
3464         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3465         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3466         (WebKit::NetscapePlugin::platformSetFocus):
3467         (WebKit::NetscapePlugin::windowFocusChanged):
3468         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
3469         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
3470         (WebKit::PluginProxy::setComplexTextInputState):
3471         * WebProcess/Plugins/PluginController.h:
3472         * WebProcess/Plugins/PluginProxy.cpp:
3473         * WebProcess/Plugins/PluginProxy.h:
3474         * WebProcess/Plugins/PluginProxy.messages.in:
3475         * WebProcess/Plugins/PluginView.cpp:
3476         (WebKit::PluginView::~PluginView):
3477         (WebKit::PluginView::setComplexTextInputState):
3478         (WebKit::PluginView::compositingRenderServerPort):
3479         * WebProcess/Plugins/PluginView.h:
3480
3481 2011-08-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3482
3483         [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
3484         https://bugs.webkit.org/show_bug.cgi?id=65920
3485
3486         Reviewed by Benjamin Poulain.
3487
3488         This patch makes QDesktopWebView delegate the decision of whether a navigation
3489         should proceed to a slot in QML. The user of the DesktopWebView must implement a
3490         'navigationPolicyForUrl()' if it wants to use the feature.
3491
3492         Such feature is useful for implementing opening links in "new tab" by using a
3493         specific mouse button or mouse button plus keyboard modifiers.
3494
3495         The patch introduces a internal Qt-level interface called PolicyInterface, that
3496         is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
3497         provided for QDesktopWebView.
3498
3499         * Shared/qt/WebCoreArgumentCodersQt.cpp:
3500         (CoreIPC::::encode):
3501         (CoreIPC::::decode):
3502         Implement the serialization of the Request URL, which is the only data
3503         we exposing from the Request.
3504
3505         * WebKit2.pro:
3506         * UIProcess/qt/PolicyInterface.h: Added.
3507         * UIProcess/qt/QtWebPageProxy.cpp: