12013-04-24  Claudio Saavedra  <csaavedra@igalia.com>
2
3        Build break after r149004
4        https://bugs.webkit.org/show_bug.cgi?id=115091
5
6        Reviewed by Csaba Osztrogonác.
7
8        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
9        (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
10        (WebKit): Add dummy method for new virtual method.
11        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
12        (LayerTreeHostGtk): Ditto.
13
142013-04-23  Ryuan Choi  <ryuan.choi@samsung.com>
15
16        [EFL][WK2] Build break after r149004
17        https://bugs.webkit.org/show_bug.cgi?id=115066
18
19        Reviewed by Tim Horton.
20
21        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
22        (WebKit::CoordinatedLayerTreeHost::pageBackgroundTransparencyChanged):
23        Added dummy method for new virtual method.
24        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
25        (CoordinatedLayerTreeHost): Ditto.
26
272013-04-23  Simon Fraser  <simon.fraser@apple.com>
28
29        Turn off tiled drawing in the Web Inspector
30        https://bugs.webkit.org/show_bug.cgi?id=115064
31
32        Reviewed by Tim Horton.
33        
34        We get little benefit from making the Web Inspector use tiled drawing;
35        it doesn't scroll the main frame, so doesn't benefit from the ScrollingCoordinator.
36        Not using tiled drawing also means that we won't make compositing
37        layers for position: -webkit-sticky, which avoids a number of issues
38        with compositing layer proliferation in the inspector.
39        
40        Also turn off accelerated drawing, since that pref will force a single
41        compositing layer.
42
43        * UIProcess/WebInspectorProxy.cpp:
44        (WebKit::createInspectorPageGroup):
45        * UIProcess/mac/WebInspectorProxyMac.mm:
46
472013-04-23  Simon Fraser  <simon.fraser@apple.com>
48
49        When the web page transparency changes, DrawingAreaImpl needs to know about it
50        https://bugs.webkit.org/show_bug.cgi?id=115062
51
52        Reviewed by Tim Horton.
53        
54        The non-composited contents layer owned by LayerTreeHostMac needs to
55        be marked as opaque or not depending on whether the WebPage draws
56        a background (or transparent background). It computed this at creation,
57        but did not dynamically update the state. Fix it so it does.
58        
59        This fixes cases of garbage pixels in the Web Inspector toolbar area
60        in some configurations.
61
62        * WebProcess/WebPage/DrawingAreaImpl.cpp:
63        (WebKit::DrawingAreaImpl::pageBackgroundTransparencyChanged):
64        * WebProcess/WebPage/DrawingAreaImpl.h:
65        (DrawingAreaImpl):
66        * WebProcess/WebPage/LayerTreeHost.h:
67        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
68        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
69        (WebKit::LayerTreeHostMac::pageBackgroundTransparencyChanged):
70
712013-04-23  Anders Carlsson  <andersca@apple.com>
72
73        REGRESSION(r148922): Crash opening web archives or loading web pages
74        https://bugs.webkit.org/show_bug.cgi?id=115061
75        <rdar://problem/13714228>
76
77        Reviewed by Sam Weinig.
78
79        * WebProcess/Network/WebResourceLoader.cpp:
80        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
81        Calling ResourceLoader::didReceiveResponse can cause the WebResourceLoader object to go away,
82        so protect it here and guard against a null core loader.
83
842013-04-23  Tim Horton  <timothy_horton@apple.com>
85
86        Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
87        https://bugs.webkit.org/show_bug.cgi?id=115056
88        <rdar://problem/13719543>
89
90        Reviewed by Simon Fraser.
91
92        Stop the primary plugin detection timer if the WebPage is torn down.
93
94        * WebProcess/WebPage/WebPage.cpp:
95        (WebKit::WebPage::close):
96
972013-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
98
99        [GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
100        https://bugs.webkit.org/show_bug.cgi?id=112160
101
102        Reviewed by Andreas Kling.
103
104        It allows to load requests with custom headers, or to update the
105        headers of a request before being sent to the server in the
106        WebKitWebPage::send-request callback.
107
108        * UIProcess/API/gtk/WebKitURIRequest.cpp:
109        (_WebKitURIRequestPrivate): Add SoupMessageHeaders.
110        (webkit_uri_request_get_http_headers): Return the HTTP headers of
111        the request as a SoupMessageHeaders if the request is HTTP. A new
112        SoupMessageHeaders is created on demand using the existing headers
113        of the request.
114        (webkitURIRequestGetResourceRequest): Instead of returning a const
115        reference of the internal ResourceRequest, set a request passed as
116        a reference and update its HTTP headers using the
117        SoupMessageHeaders if present.
118        * UIProcess/API/gtk/WebKitURIRequest.h:
119        * UIProcess/API/gtk/WebKitURIRequestPrivate.h:
120        * UIProcess/API/gtk/WebKitWebView.cpp:
121        (webkit_web_view_load_request): Update to the new
122        webkitURIRequestGetResourceRequest API.
123        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
124        webkit_uri_request_get_http_headers symbol.
125        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
126        (testWebPageURI):
127        (testURIRequestHTTPHeaders):
128        (serverCallback):
129        (beforeAll):
130        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
131        (willSendRequestForFrame): Update to the new
132        webkitURIRequestGetResourceRequest API.
133
1342013-04-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
135
136        [WK2] Make EFL WKView API shareable between ports
137        https://bugs.webkit.org/show_bug.cgi?id=114734
138
139        Reviewed by Anders Carlsson.
140
141        EFL-independent part of WKView API (and its implementation) is now
142        shareable between ports that use Coordinated Graphics and put to
143        CoordinatedGraphics folders.
144
145        * PlatformEfl.cmake:
146        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.cpp.
147        (WKViewCreate):
148        (WKViewInitialize):
149        (WKViewGetSize):
150        (WKViewSetSize):
151        (WKViewSetViewClient):
152        (WKViewIsFocused):
153        (WKViewSetIsFocused):
154        (WKViewIsVisible):
155        (WKViewSetIsVisible):
156        (WKViewGetContentScaleFactor):
157        (WKViewSetContentScaleFactor):
158        (WKViewGetContentPosition):
159        (WKViewSetContentPosition):
160        (WKViewSetUserViewportTranslation):
161        (WKViewUserViewportToContents):
162        (WKViewPaintToCurrentGLContext):
163        (WKViewGetPage):
164        (WKViewSetDrawsBackground):
165        (WKViewGetDrawsBackground):
166        (WKViewSetDrawsTransparentBackground):
167        (WKViewGetDrawsTransparentBackground):
168        (WKViewSetThemePath):
169        (WKViewSuspendActiveDOMObjectsAndAnimations):
170        (WKViewResumeActiveDOMObjectsAndAnimations):
171        (WKViewSetShowsAsSource):
172        (WKViewGetShowsAsSource):
173        (WKViewExitFullScreen):
174        * UIProcess/API/C/CoordinatedGraphics/WKView.h: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.h.
175        * UIProcess/API/C/efl/WKViewEfl.cpp: Added.
176        (WKViewPaintToCairoSurface):
177        (WKViewCreateSnapshot):
178        * UIProcess/API/C/efl/WKViewEfl.h: Added.
179        * UIProcess/API/efl/EwkView.cpp:
180        (EwkView::EwkView):
181        * UIProcess/API/efl/EwkView.h:
182        * UIProcess/CoordinatedGraphics/WebView.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebView.cpp.
183        (WebKit):
184        (WebKit::WebView::WebView):
185        (WebKit::WebView::~WebView):
186        (WebKit::WebView::initialize):
187        (WebKit::WebView::setSize):
188        (WebKit::WebView::setFocused):
189        (WebKit::WebView::setVisible):
190        (WebKit::WebView::setUserViewportTranslation):
191        (WebKit::WebView::userViewportToContents):
192        (WebKit::WebView::paintToCurrentGLContext):
193        (WebKit::WebView::setThemePath):
194        (WebKit::WebView::setDrawsBackground):
195        (WebKit::WebView::drawsBackground):
196        (WebKit::WebView::setDrawsTransparentBackground):
197        (WebKit::WebView::drawsTransparentBackground):
198        (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
199        (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
200        (WebKit::WebView::setShowsAsSource):
201        (WebKit::WebView::showsAsSource):
202        (WebKit::WebView::exitFullScreen):
203        (WebKit::WebView::initializeClient):
204        (WebKit::WebView::didChangeContentsSize):
205        (WebKit::WebView::transformFromScene):
206        (WebKit::WebView::transformToScene):
207        (WebKit::WebView::coordinatedGraphicsScene):
208        (WebKit::WebView::updateViewportSize):
209        (WebKit::WebView::dipSize):
210        (WebKit::WebView::createDrawingAreaProxy):
211        (WebKit::WebView::setViewNeedsDisplay):
212        (WebKit::WebView::displayView):
213        (WebKit::WebView::scrollView):
214        (WebKit::WebView::viewSize):
215        (WebKit::WebView::isViewWindowActive):
216        (WebKit::WebView::isViewFocused):
217        (WebKit::WebView::isViewVisible):
218        (WebKit::WebView::isViewInWindow):
219        (WebKit::WebView::processDidCrash):
220        (WebKit::WebView::didRelaunchProcess):
221        (WebKit::WebView::pageClosed):
222        (WebKit::WebView::toolTipChanged):
223        (WebKit::WebView::setCursor):
224        (WebKit::WebView::setCursorHiddenUntilMouseMoves):
225        (WebKit::WebView::registerEditCommand):
226        (WebKit::WebView::clearAllEditCommands):
227        (WebKit::WebView::canUndoRedo):
228        (WebKit::WebView::executeUndoRedo):
229        (WebKit::WebView::screenToWindow):
230        (WebKit::WebView::windowToScreen):
231        (WebKit::WebView::doneWithKeyEvent):
232        (WebKit::WebView::doneWithTouchEvent):
233        (WebKit::WebView::createPopupMenuProxy):
234        (WebKit::WebView::createContextMenuProxy):
235        (WebKit::WebView::createColorChooserProxy):
236        (WebKit::WebView::setFindIndicator):
237        (WebKit::WebView::enterAcceleratedCompositingMode):
238        (WebKit::WebView::exitAcceleratedCompositingMode):
239        (WebKit::WebView::updateAcceleratedCompositingMode):
240        (WebKit::WebView::didCommitLoadForMainFrame):
241        (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
242        (WebKit::WebView::customRepresentationZoomFactor):
243        (WebKit::WebView::setCustomRepresentationZoomFactor):
244        (WebKit::WebView::flashBackingStoreUpdates):
245        (WebKit::WebView::findStringInCustomRepresentation):
246        (WebKit::WebView::countStringMatchesInCustomRepresentation):
247        (WebKit::WebView::updateTextInputState):
248        (WebKit::WebView::handleDownloadRequest):
249        (WebKit::WebView::convertToDeviceSpace):
250        (WebKit::WebView::convertToUserSpace):
251        (WebKit::WebView::didChangeViewportProperties):
252        (WebKit::WebView::pageDidRequestScroll):
253        (WebKit::WebView::didRenderFrame):
254        (WebKit::WebView::pageTransitionViewportReady):
255        * UIProcess/CoordinatedGraphics/WebView.h: Renamed from Source/WebKit2/UIProcess/efl/WebView.h.
256        (WebCore):
257        (WebKit):
258        (WebView):
259        (WebKit::WebView::size):
260        (WebKit::WebView::isFocused):
261        (WebKit::WebView::isVisible):
262        (WebKit::WebView::setContentScaleFactor):
263        (WebKit::WebView::contentScaleFactor):
264        (WebKit::WebView::setContentPosition):
265        (WebKit::WebView::contentPosition):
266        (WebKit::WebView::pageRef):
267        (WebKit::WebView::page):
268        * UIProcess/CoordinatedGraphics/WebViewClient.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.cpp.
269        (WebKit):
270        (WebKit::WebViewClient::viewNeedsDisplay):
271        (WebKit::WebViewClient::didChangeContentsSize):
272        (WebKit::WebViewClient::webProcessCrashed):
273        (WebKit::WebViewClient::webProcessDidRelaunch):
274        (WebKit::WebViewClient::didChangeContentsPosition):
275        (WebKit::WebViewClient::didRenderFrame):
276        (WebKit::WebViewClient::didCompletePageTransition):
277        (WebKit::WebViewClient::didChangeViewportAttributes):
278        (WebKit::WebViewClient::didChangeTooltip):
279        * UIProcess/CoordinatedGraphics/WebViewClient.h: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.h.
280        (WebCore):
281        (WebKit):
282        * UIProcess/efl/WebViewEfl.cpp: Added.
283        (WebKit):
284        (WebKit::WebView::create):
285        (WebKit::WebViewEfl::WebViewEfl):
286        (WebKit::WebViewEfl::setEwkView):
287        (WebKit::WebViewEfl::paintToCairoSurface):
288        (WebKit::WebViewEfl::createPopupMenuProxy):
289        (WebKit::WebViewEfl::createContextMenuProxy):
290        (WebKit::WebViewEfl::setCursor):
291        (WebKit::WebViewEfl::updateTextInputState):
292        (WebKit::WebViewEfl::handleDownloadRequest):
293        * UIProcess/efl/WebViewEfl.h: Added.
294        (WebKit):
295        (WebViewEfl):
296        (WebKit::WebViewEfl::ewkView):
297
2982013-04-23  Antoine Quint  <graouts@apple.com>
299
300        Initial advance of text runs should be taken into account
301        https://bugs.webkit.org/show_bug.cgi?id=114949
302
303        Reviewed by Darin Adler.
304
305        Adding support for new method CTRunGetInitialAdvance in WebKitSystemInterface.
306
307        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
308        (InitWebCoreSystemInterface):
309
3102013-04-23  Noam Rosenthal  <noam@webkit.org>
311
312        [Coordinated Graphics] Remove the lockAnimations code path
313        https://bugs.webkit.org/show_bug.cgi?id=114899
314
315        Remove locking/unlocking animations and checks for the lock state.
316        The animation locking has been tested to create not-so-smooth animations,
317        while the use case where the composited animations run out of sync from
318        the non-composited animations is very rare and unnoticeable.
319
320        Reviewed by Benjamin Poulain.
321
322        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
323        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
324        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
325        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
326        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
327        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
328
3292013-04-22  Sam Weinig  <sam@webkit.org>
330
331        Need WebKit SPI to detect whether a page contains form controls
332        <rdar://problem/13686661>
333        https://bugs.webkit.org/show_bug.cgi?id=115003
334
335        Reviewed by Beth Dakin.
336
337        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
338        (WKBundleFrameContainsAnyFormControls):
339        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
340        * WebProcess/WebPage/WebFrame.cpp:
341        (WebKit::WebFrame::containsAnyFormControls):
342        * WebProcess/WebPage/WebFrame.h:
343
3442013-04-22  Alexey Proskuryakov  <ap@apple.com>
345
346        [Mac] REGRESSION (r142806): "Just Leaking" Console errors on launch
347        https://bugs.webkit.org/show_bug.cgi?id=115002
348        <rdar://problem/13254212>
349
350        Reviewed by Sam Weinig.
351
352        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
353        (WebKit::BootstrapMain): Added an autorelease pool for code that uses Objective-C.
354
3552013-04-22  Anders Carlsson  <andersca@apple.com>
356
357        Web process should decide when to continue main resource loads
358        https://bugs.webkit.org/show_bug.cgi?id=114995
359
360        Reviewed by Sam Weinig.
361
362        Main resource loads can be converted to downloads, so we need the ability to let the web process decide when
363        to continue loading after a response has been received.
364
365        * NetworkProcess/NetworkResourceLoader.cpp:
366        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
367        For non-main resources, just call continueDidReceiveResponse directly; there's no need to ping-pong to the web process in that case.
368
369        (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
370        Just call ResourceHandle::continueDidReceiveResponse.
371
372        * NetworkProcess/NetworkResourceLoader.messages.in:
373        Add ContinueDidReceiveResponse message.
374        
375        * NetworkProcess/SchedulableLoader.cpp:
376        (WebKit::SchedulableLoader::SchedulableLoader):
377        Initialize m_isLoadingMainResource.
378
379        * NetworkProcess/SchedulableLoader.h:
380        (WebKit::SchedulableLoader::isLoadingMainResource):
381        Add getter.
382
383        (SchedulableLoader):
384        Move m_shouldClearReferrerOnHTTPSToHTTPRedirect next to the rest of the booleans.
385
386        * Shared/Network/NetworkResourceLoadParameters.cpp:
387        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
388        (WebKit::NetworkResourceLoadParameters::encode):
389        (WebKit::NetworkResourceLoadParameters::decode):
390        * Shared/Network/NetworkResourceLoadParameters.h:
391        (NetworkResourceLoadParameters):
392        Add isMainResource flag.
393
394        * WebProcess/Network/WebResourceLoadScheduler.cpp:
395        (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
396        Pass the cached resource to scheduleLoad.
397
398        (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
399        Pass null to scheduleLoad.
400
401        (WebKit::WebResourceLoadScheduler::scheduleLoad):
402        Initialize isMainResource.
403
404        * WebProcess/Network/WebResourceLoader.cpp:
405        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
406        If this is a main resource load, send back a ContinueDidReceiveResponse message.
407
4082013-04-22  Tim Horton  <timothy_horton@apple.com>
409
410        Plugin Snapshotting: Don't consume insane amounts of time detecting the primary plugin
411        https://bugs.webkit.org/show_bug.cgi?id=114994
412        <rdar://problem/13696269>
413
414        Reviewed by Anders Carlsson.
415
416        On some pages, we currently waste a lot of time on every subframe load
417        and every addPluginView doing primary plugin detection. This patch
418        attempts to address this via a few minor changes:
419
420        - Only allow detection after the main frame's didFinishLoad comes, instead of the first subframe.
421
422        - Only explicitly detect on the main frame's didFinishLoad (not subframes).
423
424        - Coalesce calls to determinePrimarySnapshottedPlugIn from both addPluginView
425        (in case JS is adding lots of plugins in a loop) and didFinishLoad.
426
427        * WebProcess/WebPage/WebPage.cpp:
428        (WebKit::WebPage::addPluginView): Coalesce calls to determinePrimarySnapshottedPlugIn.
429        (WebKit::WebPage::didFinishLoad):
430        Coalesce calls to determinePrimarySnapshottedPlugIn.
431        Bail on subframe loads, we're only interested in the main frame being complete.
432        (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
433        Call determinePrimarySnapshottedPlugIn.
434        * WebProcess/WebPage/WebPage.h:
435        Add m_determinePrimarySnapshottedPlugInTimer and determinePrimarySnapshottedPlugInTimerFired
436
4372013-04-22  Alexey Proskuryakov  <ap@apple.com>
438
439        <rdar://problem/13334446> [Mac] Tweak sandbox profiles.
440
441        Reviewed by Anders Carlsson.
442
443        Unbreak Lion, which doesn't provide detailed control over IPC.
444
445        * WebProcess/com.apple.WebProcess.sb.in:
446
4472013-04-22  Martin Robinson  <mrobinson@igalia.com>
448
449        [GTK] Enable introspection always for developer builds
450        https://bugs.webkit.org/show_bug.cgi?id=114983
451
452        Reviewed by Gustavo Noronha Silva.
453
454        * GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate
455        warnings about deprecated API that the g-ir-scanner uses when generating
456        the scanner program. Use --quiet.
457
4582013-04-22  Anders Carlsson  <andersca@apple.com>
459
460        Make it easier to extend NetworkResourceLoadParameters
461        https://bugs.webkit.org/show_bug.cgi?id=114992
462
463        Reviewed by Sam Weinig.
464
465        Turn NetworkResourceLoadParameters into a struct which matches all our other parameter classes in WebKit2. Fill in the struct manually
466        instead of having a constructor with 9 parameters.
467
468        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
469        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
470        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
471        * NetworkProcess/SchedulableLoader.cpp:
472        (WebKit::SchedulableLoader::SchedulableLoader):
473        * Shared/Network/NetworkResourceLoadParameters.cpp:
474        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
475        (WebKit::NetworkResourceLoadParameters::encode):
476        (WebKit::NetworkResourceLoadParameters::decode):
477        * Shared/Network/NetworkResourceLoadParameters.h:
478        (NetworkResourceLoadParameters):
479        * WebProcess/Network/WebResourceLoadScheduler.cpp:
480        (WebKit::WebResourceLoadScheduler::scheduleLoad):
481        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
482        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
483
4842013-04-22  Tim Horton  <timothy_horton@apple.com>
485
486        PDFPlugin: Support unlocking encrypted PDFs
487        https://bugs.webkit.org/show_bug.cgi?id=114938
488        <rdar://problem/12872888>
489
490        Reviewed by Alexey Proskuryakov and Oliver Hunt.
491
492        If we try to load an encrypted PDF, we need to provide a sane mechanism
493        through which the user can provide the password. Add a slightly-below-center
494        password field to match PDFKit's normal behavior.
495
496        * WebKit2.xcodeproj/project.pbxproj: Add PDFPluginPasswordField.{h,mm}
497        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add attemptToUnlockWithPassword:
498        * WebProcess/Plugins/PDF/PDFPlugin.h:
499        Add createPasswordEntryForm, attemptToUnlockPDF, m_passwordField.
500        * WebProcess/Plugins/PDF/PDFPlugin.mm:
501        (annotationStyle): Make #annotationContainer a flexbox that centers its contents.
502        This won't affect the normal absolutely-positioned form fields, but the inline
503        password field will be centered vertically and horizontally.
504
505        (WebKit::PDFPlugin::pdfDocumentDidLoad):
506        If the document is locked when loaded, create a password field.
507
508        (WebKit::PDFPlugin::createPasswordEntryForm):
509        Create a PDFPluginPasswordField and attach it to the document.
510
511        (WebKit::PDFPlugin::attemptToUnlockPDF):
512        Try to unlock the PDF with the given password. If this succeeds, remove
513        the password field and relayout the scroll view.
514
515        (WebKit::PDFPlugin::calculateSizes):
516        Make the document 0x0 if it is locked, preventing scrolling.
517
518        (WebKit::PDFPlugin::handleMouseEvent):
519        Don't pass mouse events to PDFLayerController while it is locked,
520        as it has no useful events to provide, and will try to present a
521        dialog asking for the password if we let a click through.
522
523        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
524        (WebKit::PDFPluginAnnotation::eventListener): Added.
525        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
526        (WebKit::PDFPluginAnnotation::handleEvent):
527        Move event-handling code here from PDFPluginAnnotationEventListener::handleEvent
528        so that subclasses can override this instead of having to have their own
529        event listeners (this is also why we now expose eventListener()).
530
531        (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent):
532        Forward the event to our owning PDFPluginAnnotation.
533
534        * WebProcess/Plugins/PDF/PDFPluginPasswordField.h: Added.
535        (WebKit::PDFPluginPasswordField::PDFPluginPasswordField):
536        * WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: Added.
537        (WebKit::PDFPluginPasswordField::create):
538        (WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
539        Unregister for keyup.
540
541        (WebKit::PDFPluginPasswordField::createAnnotationElement):
542        Register for keyup, and set our element's class to "password".
543
544        (WebKit::PDFPluginPasswordField::updateGeometry):
545        Added. Override updateGeometry and do nothing, as the password field
546        has a geometry defined by CSS instead of by the PDF content.
547
548        (WebKit::PDFPluginPasswordField::handleEvent):
549        If the enter/return key is pressed, attempt to unlock the PDF. Also,
550        we do not call either of our superclass' implementations of handleEvent,
551        because blurring the password field should not destroy it, and tabbing
552        between fields has no relevance when there can only be one field.
553
554        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
555        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener):
556        Removed. We now share our superclass' event listener.
557
558        (WebKit::PDFPluginTextAnnotation::textAnnotation): Const.
559        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
560        (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
561        PDFPluginTextAnnotation no longer has its own event listener,
562        so there's nothing left to clear here. Just make sure to unregister
563        our event from PDFPluginAnnotation's shared event listener!
564
565        (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
566        Ensure that we can create a PDFPluginTextAnnotation with a null annotation.
567
568        (WebKit::PDFPluginTextAnnotation::commit): Use value().
569        (WebKit::PDFPluginTextAnnotation::value):
570        Factor retrieving the value of the form control out of commit().
571
572        (WebKit::PDFPluginTextAnnotation::handleEvent):
573        Call up to PDFPluginAnnotation's handler so that defocus destroys the annotation.
574
5752013-04-22  Anders Carlsson  <andersca@apple.com>
576
577        Slow/beachballing when using the find bar on a page with plug-ins
578        https://bugs.webkit.org/show_bug.cgi?id=114990
579        <rdar://problem/12832313>
580
581        Reviewed by Tim Horton.
582
583        * WebProcess/Plugins/PluginView.cpp:
584        (WebKit::PluginView::notifyWidget):
585        Call shouldCreateTransientPaintingSnapshot().
586
587        (WebKit::PluginView::shouldCreateTransientPaintingSnapshot):
588        Don't create a painting snapshot if we're asked to paint the find indicator.
589
590        * WebProcess/Plugins/PluginView.h:
591        Add new member function.
592
5932013-04-22  Alexey Proskuryakov  <ap@apple.com>
594
595        <rdar://problem/13334446> [Mac] Tweak sandbox profiles.
596
597        Reviewed by Sam Weinig.
598
599        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
600        * WebProcess/com.apple.WebProcess.sb.in:
601
6022013-04-22  Anders Carlsson  <andersca@apple.com>
603
604        Don't kill our XPC services in response to memory pressure
605        https://bugs.webkit.org/show_bug.cgi?id=114985
606        <rdar://problem/13229217>
607
608        Reviewed by Mark Rowe.
609
610        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
611        (WebKit::XPCServiceInitializer):
612        Call xpc_transaction_begin() so we'll never be killed by the kernel when there's memory pressure;
613        we prefer to manage our own lifetime thank you very much!
614
615        * Shared/mac/ChildProcessMac.mm:
616        (WebKit::ChildProcess::platformInitialize):
617        Remove call to disable sudden termination.
618
6192013-04-22  Alexey Proskuryakov  <ap@apple.com>
620
621        <rdar://problem/13681842> [Mac] Tweak WebProcess sandbox profile to use
622        system-graphics function when available.
623
624        Reviewed by Sam Weinig.
625
626        * WebProcess/com.apple.WebProcess.sb.in:
627
6282013-04-22  Zan Dobersek  <zdobersek@igalia.com>
629
630        [GTK] Set up libPlatform.la
631        https://bugs.webkit.org/show_bug.cgi?id=114168
632
633        Reviewed by Martin Robinson.
634
635        * GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library. Link the WebKitPluginProcess
636        executable against libPlatform.la as well.
637
6382013-04-22  Sam Weinig  <sam@webkit.org>
639
640        Hard code plug-in sandbox profile lookup directories and move
641        the profiles to WebKit2.
642
643        Reviewed by Anders Carlsson.
644
645        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
646        (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
647        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
648        (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
649        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
650        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
651        Stop passing the sandbox-profile-directory-path to the plug-in process.
652
653        * PluginProcess/mac/PluginProcessMac.mm:
654        (WebKit::loadSandboxProfileForDirectory):
655        (WebKit::loadSandboxProfile):
656        (WebKit::PluginProcess::initializeSandbox):
657        Hard code the plug-in sandbox profile lookup to only look in the WebKit2 bundle
658        and /System/Library/Sandbox/Profiles/.
659
660        * Resources/PlugInSandboxProfiles: Added.
661        Add profiles.
662
663        * WebKit2.xcodeproj/project.pbxproj:
664        Copy the profiles to the bundle.
665
6662013-04-15  Jer Noble  <jer.noble@apple.com>
667
668        Refactor creation of the full screen window into an (overridable) method.
669        https://bugs.webkit.org/show_bug.cgi?id=110369
670
671        Reviewed by Eric Carlson.
672
673        Add a new WKView method -(NSWindow)createFullScreenWindow which can be overridden
674        by subclasses to provide custom full screen windows to the WKFullScreenWindowController.
675
676        * UIProcess/API/mac/WKView.mm:
677        (-[WKView fullScreenWindowController]):
678        (-[WKView createFullScreenWindow]):
679        * UIProcess/API/mac/WKViewPrivate.h:
680        * UIProcess/mac/WKFullScreenWindowController.mm:
681        (-[WKFullScreenWindowController initWithWindow:]):
682
6832013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
684
685        [GTK] Add webkit_web_context_set_disk_cache_directory to WebKit2 GTK+ API
686        https://bugs.webkit.org/show_bug.cgi?id=111848
687
688        Reviewed by Anders Carlsson.
689
690        This allow applications to set a custom directory for the disk
691        cache.
692
693        * UIProcess/API/gtk/WebKitWebContext.cpp:
694        (webkit_web_context_set_disk_cache_directory):
695        * UIProcess/API/gtk/WebKitWebContext.h:
696        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
697        * UIProcess/API/gtk/tests/TestMain.cpp:
698        (removeNonEmptyDirectory):
699        (main): Use a different temporary disk cache directory for every
700        test.
701
7022013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
703
704        [SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
705        https://bugs.webkit.org/show_bug.cgi?id=111845
706
707        Reviewed by Anders Carlsson.
708
709        Move the cache initialization to platformInitializeWebProcess() to
710        create the cache using the directory received from the UI
711        process. This allows to add public API to set a different disk
712        cache directory from the UI process.
713
714        * UIProcess/efl/WebContextEfl.cpp:
715        (WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
716        default disk cache directory.
717        * UIProcess/gtk/WebContextGtk.cpp:
718        (WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.
719        * WebProcess/efl/WebProcessMainEfl.cpp:
720        (WebKit::WebProcessMainEfl): Remove soup cache initialization.
721        * WebProcess/gtk/WebProcessMainGtk.cpp:
722        (WebKit::WebProcessMainGtk): Ditto.
723        * WebProcess/soup/WebProcessSoup.cpp:
724        (WebKit::WebProcess::platformInitializeWebProcess): Initialize
725        soup cache.
726
7272013-04-22  Krzysztof Wolanski  <k.wolanski@samsung.com>:
728
729        [WK2] Fix build warning when GESTURE_EVENTS is ON.
730        https://bugs.webkit.org/show_bug.cgi?id=114812
731
732        Reviewed by Andreas Kling.
733
734        Handle GestureSingleTap in the event type switch.
735
736        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
737        (WebKit::NetscapePlugin::platformHandleMouseEvent):
738
7392013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
740
741        [WebKit2] Plugins without a MIME Type fail to load
742        https://bugs.webkit.org/show_bug.cgi?id=112834
743
744        Reviewed by Benjamin Poulain.
745
746        The problem is that when the plugin is created and the MIME Type
747        is empty, since the MIME Type guessed in the UI process using the
748        plugin extension is not passed to the WebProcess, when the plugin
749        is instantiated, the value of NPMIMEType parameter passed to
750        NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
751        GetPluginPath message has been renamed to FindPlugin, since it
752        doesn't only return the path but also the new MIME Type and load
753        policy.
754
755        * UIProcess/WebPageProxy.cpp:
756        (WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
757        parameter that is passed to PluginModuleInfo::findPlugin() so that
758        in case of guessing the MIME Type, the new one is passed back to
759        the WebProcess.
760        * UIProcess/WebPageProxy.h:
761        (WebPageProxy):
762        * UIProcess/WebPageProxy.messages.in:
763        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
764        (WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
765        from the parameters to WebPage::createPlugin.
766        (WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
767        parameter to WebPage::createPlugin.
768        * WebProcess/WebPage/WebPage.cpp:
769        (WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
770        pass it to the FindPlugin message.
771        (WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
772        FindPlugin message.
773        * WebProcess/WebPage/WebPage.h:
774        (WebPage):
775
7762013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
777
778        Widget should not depend on AXObjectCache
779        https://bugs.webkit.org/show_bug.cgi?id=114514
780
781        Reviewed by Chris Fleizach.
782
783        Update to API changes.
784
785        * WebProcess/Plugins/PDF/PDFPlugin.mm:
786        (WebKit::PDFPlugin::createScrollbar):
787        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
788        (WebKit::SimplePDFPlugin::createScrollbar):
789        (WebKit::SimplePDFPlugin::destroyScrollbar):
790
7912013-04-20  Manuel Rego Casasnovas  <rego@igalia.com>
792
793        [GTK] Fix unit test webkit2/WebKitFindController/hide
794        https://bugs.webkit.org/show_bug.cgi?id=89810
795
796        Reviewed by Carlos Garcia Campos.
797
798        The test had some hacks in order to compare a page with highlighted
799        results after using the find command with the original page. Now it uses
800        the snapshots API that allows to make the test simpler and more
801        reliable.
802
803        * UIProcess/API/gtk/tests/TestMain.h:
804        (Test::cairoSurfacesEqual): Moved helper function to compare two cairo
805        surfaces from TestWebKitWebView.
806        (Test):
807        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
808        (testFindControllerHide): Modify test to use snapshots.
809        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
810        (testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
811        share them with TestWebKitFindController test.
812        * UIProcess/API/gtk/tests/WebViewTest.cpp:
813        (WebViewTest::WebViewTest): Initialize cairo surface.
814        (WebViewTest::~WebViewTest): Destroy cairo surface.
815        (onSnapshotReady): Callback to set the cairo surface when the snapshot
816        is ready.
817        (WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
818        snapshot and returns the cairo surface when it is ready.
819        * UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and
820        attribute for the cairo surface.
821
8222013-04-19  Jer Noble  <jer.noble@apple.com>
823
824        Unreviewed, revert r148782. It was not reviewed by a WebKit2 owner.
825
826        * PluginProcess/mac/PluginProcessShim.mm:
827        * Shared/mac/CookieStorageShim.cpp: Removed.
828        * Shared/mac/CookieStorageShim.h: Removed.
829        * Shared/mac/CookieStorageShimLibrary.cpp: Removed.
830        * Shared/mac/CookieStorageShimLibrary.h: Removed.
831        * Shared/mac/DYLDInterpose.h: Removed.
832        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
833        (WebKit::addDYLDEnvironmentAdditions):
834        * WebKit2.xcodeproj/project.pbxproj:
835        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
836        (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
837        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
838        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
839        (WebContentServiceInitializer):
840        * WebProcess/WebProcess.cpp:
841        (WebKit::WebProcess::initializeWebProcess):
842        * WebProcess/mac/SecItemShimLibrary.mm:
843        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
844        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
845
846
8472013-04-19  Jer Noble  <jer.noble@apple.com>
848
849        WWDC session videos don’t play at developer.apple.com
850        https://bugs.webkit.org/show_bug.cgi?id=114858
851
852        Reviewed by Eric Carlson.
853
854        AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
855        However, in the case where network access happens in the NetworkProcess, session
856        cookies are stored in-memory, and are not accessable in the WebProcess. Until such
857        a time as AVFoundation can provide an API which would allow us to provide cookies
858        for a specific request, we will interpose the CFNetwork method which they use to
859        retrieve the cookie string from the cookie store for their pending request.
860
861        Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
862        target includes the SecItemShim functionality, but will add a new shim for cookie
863        retrieval:
864        * Shared/mac/CookieStorageShimLibrary.h: Added
865        (CookieStorageShimCallbacks):
866        * Shared/mac/CookieStorageShimLibrary.cpp: Added.
867        (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
868        (WebKit::ShimProtector::~ShimProtector):
869        (WebKit::ShimProtector::count):
870        (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
871            the CFNetwork call, and pass to the registered callback.
872        (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
873
874        Add a helper singleton class which will talk to the shim through the 
875        registered callbacks:
876        * Shared/mac/CookieStorageShim.h: Added
877        (WebKit::CookieStorageShim::CookieStorageShim):
878        * Shared/mac/CookieStorageShim.cpp: Added.
879        (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
880            over to the NetworkProcess.
881        (WebKit::CookieStorageShim::shared): Simple singleton.
882        (WebKit::CookieStorageShim::initialize): Call the library initializer.
883
884        Initialize the shim only when the WebProcess is delegating network loading
885        to the NetworkProcess:
886        * WebProcess/WebProcess.cpp:
887        (WebKit::WebProcess::initializeWebProcess):
888
889        Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
890        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
891        (WebKit::addDYLDEnvironmentAdditions):
892        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
893        (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
894        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
895        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
896        (WebContentServiceInitializer):
897
898        As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
899        own header:
900        * Shared/mac/DYLDInterpose.h: Added.
901        * PluginProcess/mac/PluginProcessShim.mm:
902        * WebProcess/mac/SecItemShimLibrary.mm:
903
904        Add new files to the project:
905        * WebKit2.xcodeproj/project.pbxproj:
906
9072013-04-19  Brady Eidson  <beidson@apple.com>
908
909        Add JoinExistingSession to the WebContext XPC.
910        <rdar://problem/13541540> and https://bugs.webkit.org/show_bug.cgi?id=114882
911
912        Reviewed by Sam Weinig.
913
914        This fixes <keygen> and maybe other things.
915
916        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
917        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
918
9192013-04-19  Martin Robinson  <mrobinson@igalia.com>
920
921        [GTK] JSCore.gir.in has a few problems
922        https://bugs.webkit.org/show_bug.cgi?id=114710
923
924        Reviewed by Philippe Normand.
925
926        * GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the
927        same autotools data task as the WebKit1 and JavaScriptCore gir installations.
928
9292013-04-19  Noam Rosenthal  <noam@webkit.org>
930
931        [Texmap] Implementation for pattern compositing
932        https://bugs.webkit.org/show_bug.cgi?id=109588
933
934        Reviewed by Allan Sandfeld Jensen.
935
936        Serialize the two new properties from CoordinatedGraphicsLayer to CoordinatedGraphicsScene.
937
938        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
939        (CoreIPC::::encode):
940        (CoreIPC::::decode):
941            Encode/decode the new tiling properties.
942
943        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
944        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
945            Enable pattern compositing for coordinated graphics.
946            This is needed since we don't want to enable pattern compositing for
947            WebKit1 yet.
948
9492013-04-18  Tim Horton  <timothy_horton@apple.com>
950
951        PDFPlugin: Update PDFLayerController's scale factors earlier
952        https://bugs.webkit.org/show_bug.cgi?id=114843
953
954        Reviewed by Simon Fraser.
955
956        Inform PDFLayerController of the initial page/device scale factors so that
957        it renders at the correct scale the first time, instead of first rendering
958        at 1x and then flashing to 2x (on 2x devices).
959
960        * WebProcess/Plugins/PDF/PDFPlugin.mm:
961        (WebKit::PDFPlugin::pdfDocumentDidLoad):
962
9632013-04-18  Tim Horton  <timothy_horton@apple.com>
964
965        PDFPlugin: Hook up the search-in-Spotlight menu item
966        https://bugs.webkit.org/show_bug.cgi?id=114837
967        <rdar://problem/13583591>
968
969        Reviewed by Mark Rowe.
970
971        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
972        Add performSpotlightSearch: delegate callback.
973
974        * WebProcess/Plugins/PDF/PDFPlugin.h:
975        (WebKit::PDFPlugin::performSpotlightSearch):
976        Add performSpotlightSearch() PDFPlugin method.
977
978        * WebProcess/Plugins/PDF/PDFPlugin.mm:
979        (-[WKPDFLayerControllerDelegate performSpotlightSearch:]): Hand the search string to PDFPlugin.
980        (WebKit::PDFPlugin::performSpotlightSearch): Hand the search string to WebPageProxy.
981
9822013-04-18  Anders Carlsson  <andersca@apple.com>
983
984        Dispatch local storage events
985        https://bugs.webkit.org/show_bug.cgi?id=114838
986
987        Reviewed by Beth Dakin.
988
989        * UIProcess/Storage/StorageManager.cpp:
990        (WebKit::StorageManager::StorageArea::dispatchEvents):
991        Pass 0 as the storage area ID if the event originally comes from another process.
992
993        * WebProcess/Storage/StorageAreaMap.cpp:
994        (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
995        Gather all the frames for which we want to dispatch events.
996
9972013-04-18  Anders Carlsson  <andersca@apple.com>
998
999        Use the page group id from the UI process as the local storage namespace ID
1000        https://bugs.webkit.org/show_bug.cgi?id=114836
1001
1002        Reviewed by Beth Dakin.
1003
1004        The WebCore PageGroup identifier is different across processes, so use the one given to us by the UI process.
1005
1006        * WebProcess/Storage/StorageNamespaceImpl.cpp:
1007        (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
1008        * WebProcess/WebPage/WebPageGroupProxy.h:
1009        (WebKit::WebPageGroupProxy::corePageGroup):
1010        * WebProcess/WebProcess.cpp:
1011        (WebKit::WebProcess::webPageGroup):
1012        * WebProcess/WebProcess.h:
1013
10142013-04-18  Tim Horton  <timothy_horton@apple.com>
1015
1016        Add a synchronous version of WKView endDeferringViewInWindowChanges
1017        https://bugs.webkit.org/show_bug.cgi?id=114780
1018        <rdar://problem/12821901>
1019
1020        Reviewed by Simon Fraser.
1021
1022        Add new WKView SPI, endDeferringViewInWindowChangesSync, which synchronously
1023        (though with a 250 ms timeout) does the work required to reparent a WKView
1024        without flashing white.
1025
1026        * UIProcess/API/mac/WKView.mm:
1027        (-[WKView beginDeferringViewInWindowChanges]):
1028        (-[WKView endDeferringViewInWindowChanges]):
1029        Make begin/endDeferringViewInWindowChanges not allow nested deferrals,
1030        as we don't need them, and they complicate synchronous-end a lot.
1031
1032        (-[WKView endDeferringViewInWindowChangesSync]):
1033        Add a sync version of endDeferringViewInWindowChanges which waits
1034        for DidUpdateInWindowState.
1035
1036        (-[WKView isDeferringViewInWindowChanges]):
1037
1038        * UIProcess/API/mac/WKViewPrivate.h: Add endDeferringViewInWindowChangesSync.
1039
1040        * UIProcess/WebPageProxy.cpp:
1041        (WebKit::WebPageProxy::waitForDidUpdateInWindowState):
1042        Add waitForDidUpdateInWindowState(), which blocks for
1043        250ms or until the WebProcess reparents all of its layers and spins
1044        the runloop once, to prevent flashing when parenting a WKView.
1045        If we've already timed out waiting for the WebProcess, don't block, as
1046        it's probably quite busy and is likely to time out again.
1047
1048        * UIProcess/WebPageProxy.h:
1049        (WebKit::WebPageProxy::isInWindow): Added.
1050        (WebKit::WebPageProxy::waitForDidUpdateInWindowState): Added.
1051        (WebKit::WebPageProxy::didUpdateInWindowState): Added.
1052
1053        * UIProcess/WebPageProxy.messages.in: Add DidUpdateInWindowState()
1054
1055        * WebProcess/WebPage/WebPage.cpp:
1056        (WebKit::WebPage::didUpdateInWindowStateTimerFired): Send DidUpdateInWindowState to WebPageProxy.
1057        (WebKit::WebPage::setIsInWindow): When setIsInWindow completes, TileController
1058        tiles have been reparented, and the TiledCoreAnimationDrawingArea has
1059        reconnected the layer tree to the context, start a 0-delay runloop timer
1060        to allow painting and layer flushing to finish; when the timer fires,
1061        we'll send the UIProcess a DidUpdateInWindowState so it can stop blocking.
1062
1063        * WebProcess/WebPage/WebPage.h:
1064        (WebPage): Add didUpdateInWindowStateTimerFired and m_sendDidUpdateInWindowStateTimer.
1065
10662013-04-18  Anders Carlsson  <andersca@apple.com>
1067
1068        StorageManager should keep track of local storage namespaces
1069        https://bugs.webkit.org/show_bug.cgi?id=114831
1070
1071        Reviewed by Beth Dakin.
1072
1073        * UIProcess/Storage/StorageManager.cpp:
1074        (StorageManager::StorageArea):
1075        Add the local storage namespace, and security origin as member variables.
1076
1077        (StorageManager::LocalStorageNamespace):
1078        New class that represents a local storage namespace.
1079
1080        (WebKit::StorageManager::StorageArea::~StorageArea):
1081        If this storage area belongs to a local storage namespace, notify it that we've been destroyed.
1082
1083        (WebKit::StorageManager::StorageArea::clone):
1084        Assert that we don't have a local storage namespace.
1085
1086        (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
1087        If we already have a storage area for the given security origin, return it. Otherwise, create a new storage area.
1088        Note that LocalStorageNamespace does not hold strong references to its StorageArea objects; they are being kept alive
1089        by a mapping inside the StorageManager.
1090
1091        (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea):
1092        Remove the storage area from the map. If there are no more areas, remove the namespace from the manager.
1093
1094        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
1095        StorageArea::create now takes the security origin.
1096
1097        (WebKit::StorageManager::createLocalStorageMap):
1098        Get (or create) the right local storage namespace and then create a storage area.
1099
11002013-04-17  Geoffrey Garen  <ggaren@apple.com>
1101
1102        Renamed JSGlobalData to VM
1103        https://bugs.webkit.org/show_bug.cgi?id=114777
1104
1105        Reviewed by Phil Pizlo.
1106
1107        * Shared/linux/WebMemorySamplerLinux.cpp:
1108        (WebKit::WebMemorySampler::sampleWebKit):
1109        * Shared/mac/WebMemorySampler.mac.mm:
1110        (WebKit::WebMemorySampler::sampleWebKit):
1111        * WebProcess/InjectedBundle/InjectedBundle.cpp:
1112        (WebKit::InjectedBundle::javaScriptObjectsCount):
1113        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1114        (WebKit::JSNPMethod::finishCreation):
1115        * WebProcess/Plugins/Netscape/JSNPMethod.h:
1116        (WebKit::JSNPMethod::create):
1117        (JSNPMethod):
1118        (WebKit::JSNPMethod::createStructure):
1119        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1120        (WebKit::JSNPObject::JSNPObject):
1121        (WebKit::JSNPObject::finishCreation):
1122        (WebKit::JSNPObject::callMethod):
1123        (WebKit::JSNPObject::callObject):
1124        (WebKit::JSNPObject::callConstructor):
1125        (WebKit::JSNPObject::put):
1126        (WebKit::JSNPObject::deleteProperty):
1127        (WebKit::JSNPObject::getOwnPropertyNames):
1128        (WebKit::JSNPObject::propertyGetter):
1129        * WebProcess/Plugins/Netscape/JSNPObject.h:
1130        (WebKit::JSNPObject::create):
1131        (WebKit::JSNPObject::createStructure):
1132        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1133        (WebKit::NPJSObject::create):
1134        (WebKit::NPJSObject::initialize):
1135        * WebProcess/Plugins/Netscape/NPJSObject.h:
1136        (JSC):
1137        (NPJSObject):
1138        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1139        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
1140        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
1141        (WebKit::NPRuntimeObjectMap::evaluate):
1142        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1143        (JSC):
1144        (NPRuntimeObjectMap):
1145        * WebProcess/Plugins/PluginView.cpp:
1146        (WebKit::PluginView::windowScriptNPObject):
1147        (WebKit::PluginView::pluginElementNPObject):
1148        * WebProcess/WebPage/WebPage.cpp:
1149        (WebKit::WebPage::runJavaScriptInMainFrame):
1150        * WebProcess/WebProcess.cpp:
1151        (WebKit::WebProcess::getWebCoreStatistics):
1152
11532013-04-18  Anders Carlsson  <andersca@apple.com>
1154
1155        Differentiate between creating local storage maps and session storage maps
1156        https://bugs.webkit.org/show_bug.cgi?id=114823
1157
1158        Reviewed by Beth Dakin.
1159
1160        * UIProcess/Storage/StorageManager.cpp:
1161        (WebKit::StorageManager::createLocalStorageMap):
1162        (WebKit::StorageManager::createSessionStorageMap):
1163        * UIProcess/Storage/StorageManager.h:
1164        * UIProcess/Storage/StorageManager.messages.in:
1165        * WebProcess/Storage/StorageAreaMap.cpp:
1166        (WebKit::StorageAreaMap::StorageAreaMap):
1167
11682013-04-18  Anders Carlsson  <andersca@apple.com>
1169
1170        StorageAreaMaps should not assume that a zero storage namespace ID is used for local storage
1171        https://bugs.webkit.org/show_bug.cgi?id=114822
1172
1173        Reviewed by Beth Dakin.
1174
1175        Store the storage type directly in the storage area map.
1176
1177        * WebProcess/Storage/StorageAreaMap.cpp:
1178        (WebKit::StorageAreaMap::StorageAreaMap):
1179        * WebProcess/Storage/StorageAreaMap.h:
1180        (WebKit::StorageAreaMap::storageType):
1181
11822013-04-18  Anders Carlsson  <andersca@apple.com>
1183
1184        Begin fleshing out UI side local storage
1185        https://bugs.webkit.org/show_bug.cgi?id=114820
1186
1187        Reviewed by Beth Dakin.
1188
1189        * WebProcess/Storage/StorageNamespaceImpl.cpp:
1190        (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
1191        (WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
1192        (WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
1193        (WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
1194        * WebProcess/Storage/StorageNamespaceImpl.h:
1195        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1196        (WebKit::WebPlatformStrategies::localStorageNamespace):
1197
11982013-04-18  Sam Weinig  <sam@webkit.org>
1199
1200        Fix spelling I thought I had fixed.
1201
1202        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
1203        (-[WKBrowsingContextGroup initWithIdentifier:]):
1204
12052013-04-18  Sam Weinig  <sam@webkit.org>
1206
1207        WebKit should not write WKPreferences to app user defaults when using the ObjC API
1208        <rdar://problem/13593578>
1209        https://bugs.webkit.org/show_bug.cgi?id=114821
1210
1211        Reviewed by Anders Carlsson.
1212
1213        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
1214        (-[WKBrowsingContextGroup initWithIdentifier:]):
1215        Use a identifier-less preferences for the ObjC-API. I think we will probably want this
1216        to be the default for the C-API at some point as well, but Safari currently uses this
1217        behavior.
1218
12192013-04-17  Anders Carlsson  <andersca@apple.com>
1220
1221        Change storage factory functions to take a PageGroup and Page respectively
1222        https://bugs.webkit.org/show_bug.cgi?id=114776
1223
1224        Reviewed by Beth Dakin.
1225
1226        Update for WebCore changes.
1227
1228        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1229        (WebKit::WebPlatformStrategies::localStorageNamespace):
1230        (WebKit::WebPlatformStrategies::sessionStorageNamespace):
1231        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1232        (WebPlatformStrategies):
1233
12342013-04-18  Timothy Hatcher  <timothy@apple.com>
1235
1236        Remove an ASSERT that is causing flakeyness in Debug builds.
1237
1238        https://webkit.org/b/113020
1239
1240        Reviewed by Jessie Berlin.
1241
1242        * UIProcess/WebInspectorProxy.cpp:
1243        (WebKit::WebInspectorProxy::open): Removed ASSERT(m_createdInspectorPage).
1244
12452013-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1246
1247        [GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
1248        https://bugs.webkit.org/show_bug.cgi?id=83681
1249
1250        Reviewed by Anders Carlsson.
1251
1252        Add WebKitWebPage::send-request signal emitted in willSendRequest
1253        callback to allow web process extensions to modify requests before
1254        they are sent or cancel the resource load.
1255        This patch makes WebKitURIRequest and WebKitURIResponse objects
1256        shareable between UI process and web extensions APIs. Since both
1257        APIs force single header includes, the WebKitDefines.h header has
1258        been split moving the forward declarations specific to the UI
1259        process API to a new file WebKitForwardDeclarations.h. This way we
1260        can also  share the WebKitDefines.h header and remove the
1261        WebKitWebExtensionDefines.h header used in the web extensions API.
1262
1263        * GNUmakefile.list.am: Add new files to compilation.
1264        * UIProcess/API/gtk/WebKitContextMenu.h: Include WebKitForward.h.
1265        * UIProcess/API/gtk/WebKitContextMenuItem.h: Ditto.
1266        * UIProcess/API/gtk/WebKitDefines.h: Remove forward declarations.
1267        * UIProcess/API/gtk/WebKitDownload.h: Include WebKitForward.h.
1268        * UIProcess/API/gtk/WebKitFindController.h: Ditto.
1269        * UIProcess/API/gtk/WebKitForwardDeclarations.h: Added. Contains
1270        the forward declarations moved from WebKitDefines.h.
1271        * UIProcess/API/gtk/WebKitPrintOperation.h: Include WebKitForward.h.
1272        * UIProcess/API/gtk/WebKitURIRequest.cpp:
1273        (webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
1274        set the new URI.
1275        (webkit_uri_request_class_init): Make URI property construct
1276        instead of construct-only, since it can be updated once
1277        constructed. It should never be NULL, so set default value to
1278        about:blank instad of NULL.
1279        (webkit_uri_request_set_uri): New public method to set the URI of
1280        the WebKitURIRequest.
1281        * UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
1282        from webkit-web-extension.h.
1283        * UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
1284        * UIProcess/API/gtk/WebKitURISchemeRequest.h: Include
1285        WebKitForward.h.
1286        * UIProcess/API/gtk/WebKitWebView.h: Ditto.
1287        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
1288        webkit_uri_request_set_uri.
1289        * UIProcess/API/gtk/tests/TestResources.cpp:
1290        (testWebResourceSendRequest):
1291        (serverCallback):
1292        (beforeAll):
1293        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1294        (sendRequestCallback):
1295        (pageCreatedCallback):
1296        * UIProcess/API/gtk/webkit2marshal.list:
1297        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Include
1298        WebKitDefines.h instead of WebKitWebExtensionDefines.h.
1299        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1300        (willSendRequestForFrame): Emit WebKitWebPage::send-request and
1301        return early if the load is cancelled.
1302        (webkit_web_page_class_init): Add WebKitWebPage::send-request
1303        signal.
1304        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Include
1305        WebKitDefines.h instead of WebKitWebExtensionDefines.h.
1306        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
1307
13082013-04-18  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1309
1310        [WK2] CoordinatedGraphicsLayerState is a struct, not a class
1311        https://bugs.webkit.org/show_bug.cgi?id=108855
1312
1313        Reviewed by Andreas Kling.
1314
1315        Fixes the forward declaration which takes CoordinatedGraphicsLayerState
1316        as a class.
1317
1318        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1319        (WebCore):
1320
13212013-04-18  Krzysztof Wolanski  <k.wolanski@samsung.com>:
1322
1323        [EFL][WK2] Change inadequate return value in method setDone().
1324        https://bugs.webkit.org/show_bug.cgi?id=114806
1325
1326        Reviewed by Andreas Kling.
1327
1328        Fix possible warning in EFL port: no return statement in function returning non-void.
1329        Change return value from bool to void in method setDone().
1330
1331        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1332        (EWK2UnitTest::CallbackDataTimer::setDone):
1333
13342013-04-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1335
1336        [WK2][EFL] Text Checker's settings refactor
1337        https://bugs.webkit.org/show_bug.cgi?id=111713
1338
1339        Reviewed by Andreas Kling.
1340
1341        Use WK2's TextCheckerState object as the store for the text checker settings.
1342        It's shared between the client (Ewk API part) and WebProcess (read only).
1343        Thanks to it, we don't have to keep any additional structure with
1344        the settings on ewk side.
1345
1346        In the consistency with WKTextChecker C API, move the Ewk's text checker settings APIs
1347        to the ewk_text_checker.h/cpp. They're not connected to Ewk_View/Ewk_Settings object to
1348        keep them in ewk_setting.h/cpp.
1349
1350        Introduce a new class to implement WKTextCheckerClient callbacks to call spelling
1351        methods through WK2 C API.
1352        The main purpose of this change is to detach text checker initialization from ewk_context.
1353
1354        * PlatformEfl.cmake:
1355        Add a new files to the build.
1356
1357        * UIProcess/API/efl/ewk_context.cpp:
1358        (EwkContext::EwkContext):
1359        Detach the text checker initialization from context.
1360        There might be more than default context.
1361        There is one text checker object per application.
1362
1363        * UIProcess/API/efl/ewk_settings.cpp:
1364        * UIProcess/API/efl/ewk_settings.h:
1365        Remove the text checker settings.
1366
1367        * UIProcess/API/efl/ewk_text_checker.cpp:
1368        Add the text checker settings to the ewk_text_checker.h/cpp
1369
1370        (convertLanguagesToEinaList):
1371        Add helper function to convert Vector's values to Eina_List.
1372
1373        (clientCallbacks):
1374        Add the client callback responsible for the continuous spell checking
1375        setting change to the struct.
1376
1377        (ewk_text_checker_continuous_spell_checking_enabled_set):
1378        Do not call the client's callback responsible for the setting
1379        change unless WebKit changes the setting (trough the context
1380        'Check Spelling While Typing' option).
1381
1382        * UIProcess/API/efl/ewk_text_checker.h:
1383        Adjust APIs name to the ewk_text_checker syntax.
1384        Update the documentation according to the changes.
1385
1386        * UIProcess/API/efl/ewk_text_checker_private.h:
1387        (ClientCallbacks):
1388        Move ClientCallbacks structure to TextCheckerClientEfl.
1389        The client callbacks (Ewk API) have to be accessible in WKTextCheckerClient callbacks
1390        to choose what implementation will be used - the client's (if definied) or Enchant impl.
1391
1392        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1393        Update the unit tests according to the APIs change.
1394        Update the test responsible for the notification about the setting change
1395        according to changes in 'ewk_text_checker_continuous_spell_checking_enabled_set'.
1396
1397        * UIProcess/efl/TextCheckerClientEfl.cpp: Added.
1398        Implement WKTextCheckerClient callbacks.
1399
1400        (TextCheckerClientEfl::TextCheckerClientEfl):
1401        (TextCheckerClientEfl::instance):
1402        Allow to get and create TextCheckerClientEfl object.
1403
1404        (TextCheckerClientEfl::isContinuousSpellCheckingEnabled):
1405        Get the setting value based on WK2 C API.
1406
1407        (TextCheckerClientEfl::ensureSpellCheckingLanguage):
1408        Load the default languages if user didn't specify any.
1409
1410        (TextCheckerClientEfl::updateSpellCheckingLanguages):
1411        (TextCheckerClientEfl::languagesUpdateTimerFired):
1412        (TextCheckerClientEfl::availableSpellCheckingLanguages):
1413        (TextCheckerClientEfl::loadedSpellCheckingLanguages):
1414        (TextCheckerClientEfl::availableSpellCheckingLanguages):
1415        (TextCheckerClientEfl::loadedSpellCheckingLanguages):
1416        Provide support for languages.
1417
1418        (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
1419        (TextCheckerClientEfl::callContinuousSpellCheckingChangeCallbackAsync):
1420        Notify the client about the setting change.
1421
1422        (TextCheckerClientEfl::isContinuousSpellCheckingEnabledCallback):
1423        (TextCheckerClientEfl::setContinuousSpellCheckingEnabledCallback):
1424        (TextCheckerClientEfl::uniqueSpellDocumentTagCallback):
1425        (TextCheckerClientEfl::closeSpellDocumentWithTagCallback):
1426        (TextCheckerClientEfl::checkSpellingOfStringCallback):
1427        (TextCheckerClientEfl::guessesForWordCallback):
1428        (TextCheckerClientEfl::learnWordCallback):
1429        (TextCheckerClientEfl::ignoreWordCallback):
1430        WKTextCheckerClient callbacks implementation.
1431
1432        * UIProcess/efl/TextCheckerClientEfl.h: Added.
1433        (TextCheckerClientEfl):
1434        (TextCheckerClientEfl::clientCallbacks):
1435        Return the client callbacks to be used in ewk_text_checker.cpp.
1436
1437        * UIProcess/efl/TextCheckerEfl.cpp:
1438        (WebKit::TextChecker::state):
1439        Initialize the TextCheckerState's members to false.
1440
1441        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
1442        Set the default language if user didn't specify any.
1443        Notify the client about the setting change.
1444        This method is called when context menu 'Check Spelling While Typing'
1445        option has been toggled.
1446
1447        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
1448        Set the default language if user didn't specify any.
1449        Called by WKTextChecker's API.
1450
14512013-04-18  Manuel Rego Casasnovas  <rego@igalia.com>
1452
1453        [GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API
1454        https://bugs.webkit.org/show_bug.cgi?id=111288
1455
1456        Reviewed by Anders Carlsson.
1457
1458        Add new property URI to WebKitWebPage providing a method
1459        webkit_web_page_get_uri to get it and the signal "notify::uri" to
1460        monitor changes in the URI.
1461
1462        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include new method in
1463        GTK+ doc.
1464        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
1465        (testWebPageURI):
1466        (beforeAll):
1467        (afterAll): Add test to check that WebKitWebPage URI matches with
1468        WebKitWebView value. The tests is listening for changes in WebKitWebPage
1469        URI via D-Bus and checks that value is the same than WebKitWebView URI.
1470        It also checks that the order of the URIs in a redirection is right.
1471        When the test finishes the signals are disconnected properly.
1472        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1473        (uriChangedCallback):
1474        (pageCreatedCallback): Add new D-Bus signal "URIChanged" connected to
1475        "notify::uri" signal of WebKitWebPage.
1476        * UIProcess/API/gtk/tests/WebKitTestBus.cpp:
1477        (WebKitTestBus::getOrCreateConnection): Rename method connection() to
1478        getOrCreateConnection().
1479        (WebKitTestBus::createProxy): Use the new method name.
1480        * UIProcess/API/gtk/tests/WebKitTestBus.h:
1481        (WebKitTestBus::connection): Add public getter for m_connection.
1482        (WebKitTestBus): Add private method header getOrCreateConnection().
1483        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1484        (_WebKitWebPagePrivate): Add new URI attribute.
1485        (webkitWebPageSetURI): Method to set the URI and emit the "notify:uri"
1486        signal if it has changed.
1487        (didStartProvisionalLoadForFrame): At this point it use the unreachable
1488        URL from provisional document loader if any. Otherwise, it uses the URL
1489        from provisional document loader.
1490        (didReceiveServerRedirectForProvisionalLoadForFrame): In the case of
1491        redirections it works like for didStartProvisionalLoadForFrame getting
1492        the unreachable URL if any.
1493        (didSameDocumentNavigationForFrame): In this case it gets the URL from
1494        the document loader.
1495        (webkitWebPageGetProperty): Add code related to URI property.
1496        (webkit_web_page_class_init): Add bits related to URI property.
1497        (webkitWebPageCreate): Implement callbacks to monitor URI changes.
1498        (webkit_web_page_get_uri): Return URI attribute.
1499        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Add new method
1500        header.
1501
15022013-04-18  Xan Lopez  <xan@igalia.com>
1503
1504        [GTK] When the WebProcess crashes, a signal should be emitted
1505        https://bugs.webkit.org/show_bug.cgi?id=105180
1506
1507        Emit a "web-process-crashed" signal when the WebProcess crashes. This
1508        is useful, for example, to show an error page in a web browser
1509        like Chrome does.
1510
1511        Reviewed Carlos Garcia Campos.
1512
1513        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1514        (processDidCrash):
1515        (attachLoaderClientToView):
1516        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1517        * UIProcess/API/gtk/WebKitWebView.cpp:
1518        (webkit_web_view_class_init):
1519        (webkitWebViewWebProcessCrashed):
1520        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
1521        (testWebExtensionGetTitle):
1522        (webProcessCrashedCallback):
1523        (testWebKitWebViewProcessCrashed):
1524        (beforeAll):
1525        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1526        (methodCallCallback):
1527
15282013-04-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1529
1530        [EFL][WK2] Add tooltip API to the WKView client
1531        https://bugs.webkit.org/show_bug.cgi?id=111563
1532
1533        Reviewed by Andreas Kling.
1534
1535        Add tooltip to the barebone Tizen C API, and implement
1536        the method so that the EFL API keeps working.
1537
1538        * UIProcess/API/C/efl/WKView.h:
1539        * UIProcess/efl/ViewClientEfl.cpp:
1540        (WebKit::ViewClientEfl::didChangeTooltip):
1541        (WebKit):
1542        (WebKit::ViewClientEfl::ViewClientEfl):
1543        * UIProcess/efl/ViewClientEfl.h:
1544        (ViewClientEfl):
1545        * UIProcess/efl/WebView.cpp:
1546        (WebKit::WebView::toolTipChanged):
1547        * UIProcess/efl/WebViewClient.cpp:
1548        (WebKit::WebViewClient::didChangeTooltip):
1549        (WebKit):
1550        * UIProcess/efl/WebViewClient.h:
1551
15522013-04-17  Joone Hur  <joone.hur@intel.com>
1553
1554        [EFL][AC] m_pendingSurfaceResize needs to be guarded by USE(ACCELERATED_COMPOSITING)
1555        https://bugs.webkit.org/show_bug.cgi?id=114770
1556
1557        AC related code is guarded by USE(ACCELERATED_COMPOSITING) in order to build 
1558        WebKitEfl with no-tiled-backing-store(r147792), but m_pendingSurfaceResize is 
1559        not included. This patch allows m_pendingSurfaceResize to be guarded by 
1560        USE(ACCELERATED_COMPOSITING). 
1561
1562        Reviewed by Simon Fraser.
1563
1564        * UIProcess/API/efl/EwkView.cpp:
1565        (EwkView::EwkView):
1566        (EwkView::displayTimerFired):
1567        (EwkView::handleEvasObjectCalculate):
1568        * UIProcess/API/efl/EwkView.h:
1569        (EwkView):
1570
15712013-04-17  Anders Carlsson  <andersca@apple.com>
1572
1573        The storage manager should know the local storage directory
1574        https://bugs.webkit.org/show_bug.cgi?id=114765
1575
1576        Reviewed by Beth Dakin.
1577
1578        * UIProcess/Storage/StorageManager.cpp:
1579        (WebKit::StorageManager::create):
1580        (WebKit::StorageManager::setLocalStorageDirectory):
1581        (WebKit::StorageManager::setLocalStorageDirectoryInternal):
1582        * UIProcess/Storage/StorageManager.h:
1583        * UIProcess/WebContext.cpp:
1584        (WebKit::WebContext::WebContext):
1585        (WebKit::WebContext::setLocalStorageDirectory):
1586        * UIProcess/WebContext.h:
1587
15882013-04-17  Joone Hur  <joone.hur@intel.com>
1589
1590        [EFL][AC] MiniBrowser starts with a black empty view before painting a web page
1591        https://bugs.webkit.org/show_bug.cgi?id=103745
1592
1593        Reviewed by Kenneth Rohde Christiansen.
1594
1595        Evas paints empty evas objects before rendering a web page, so it shows 
1596        a black empty view for a moment. This patch prevents from painting the empty 
1597        evas objects until a GL surface is ready for rendering.  
1598
1599        * UIProcess/API/efl/EwkView.cpp:
1600        (showEvasObjectsIfNeeded):
1601        (EwkView::displayTimerFired):
1602        (EwkView::handleEvasObjectShow):
1603
16042013-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1605
1606        [GTK] Add webkit_web_page_get_id() to WebKit2 GTK+ API
1607        https://bugs.webkit.org/show_bug.cgi?id=111938
1608
1609        Reviewed by Anders Carlsson.
1610
1611        Add API to the web extensions API to get the identifier of a web
1612        page.
1613
1614        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
1615        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1616        (methodCallCallback): Check the page ID matches the one returned
1617        by webkit_web_page_get_id().
1618        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1619        (webkit_web_page_get_id):
1620        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
1621
16222013-04-16  Anders Carlsson  <andersca@apple.com>
1623
1624        Clone storage namespaces for window.open
1625        https://bugs.webkit.org/show_bug.cgi?id=114703
1626
1627        Reviewed by Sam Weinig.
1628
1629        * UIProcess/Storage/StorageManager.cpp:
1630        (WebKit::StorageManager::StorageArea::clone):
1631        New helper function for cloning a storage area.
1632
1633        (WebKit::StorageManager::StorageArea::setItem):
1634        Correctly handle the copy-on-write feature of StorageMap if it has multiple storage areas pointing to it.
1635
1636        (WebKit::StorageManager::StorageArea::removeItem):
1637        Ditto.
1638
1639        (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1640        Add cloned storage areas.
1641
1642        * WebProcess/Storage/StorageNamespaceImpl.cpp:
1643        (WebKit::StorageNamespaceImpl::copy):
1644        Create a new session storage namespace for the new page.
1645
16462013-04-16  Beth Dakin  <bdakin@apple.com>
1647
1648        Need a new layout milestone to notify bundle clients when the header has been 
1649        flushed
1650        https://bugs.webkit.org/show_bug.cgi?id=114706
1651        -and corresponding-
1652        <rdar://problem/13657284>
1653
1654        Reviewed by Simon Fraser.
1655
1656        Make this new LayoutMilestone private at the API layer. 
1657        * Shared/API/c/WKPageLoadTypes.h:
1658        * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
1659
1660        Handle the new milestone.
1661        * Shared/API/c/WKSharedAPICast.h:
1662        (WebKit::toWKLayoutMilestones):
1663        (WebKit::toLayoutMilestones):
1664
1665        New file to make the milestone private.
1666        * WebKit2.xcodeproj/project.pbxproj:
1667
1668        Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just 
1669        added or removed a header.
1670        * WebProcess/WebPage/mac/WebPageMac.mm:
1671        (WebKit::WebPage::setHeaderLayerWithHeight):
1672
16732013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
1674
1675        Another EFL build fix.
1676
1677        * WebProcess/WebPage/efl/WebPageEfl.cpp:
1678
16792013-04-15  Sam Weinig  <sam@webkit.org>
1680
1681        Remove more #includes from Frame.h
1682        https://bugs.webkit.org/show_bug.cgi?id=114642
1683
1684        Reviewed by Anders Carlsson.
1685
1686        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
1687        * WebProcess/Plugins/PluginView.cpp:
1688        * WebProcess/WebPage/WebFrame.cpp:
1689        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1690        * WebProcess/WebPage/mac/WebPageMac.mm:
1691        * WebProcess/WebPage/qt/WebPageQt.cpp:
1692
16932013-04-16  Timothy Hatcher  <timothy@apple.com>
1694
1695        Make resizing the docked Web Inspector stay in sync with the inspected view.
1696
1697        https://webkit.org/b/114682
1698
1699        Reviewed by Joseph Pecoraro.
1700
1701        * UIProcess/mac/WebInspectorProxyMac.mm:
1702        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1703        Disable screen updates to make sure the layers for both views resize in sync.
1704
17052013-04-15  Anders Carlsson  <andersca@apple.com>
1706
1707        Remove unneeded headers from ScriptExecutionContext.h
1708        https://bugs.webkit.org/show_bug.cgi?id=114631
1709
1710        Reviewed by Alexey Proskuryakov.
1711
1712        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1713        * WebProcess/WebPage/PageOverlay.cpp:
1714
17152013-04-16  Maciej Stachowiak  <mjs@apple.com>
1716
1717        Remove even yet still more traces of v8
1718        https://bugs.webkit.org/show_bug.cgi?id=114693
1719
1720        Reviewed by Anders Carlsson.
1721
1722        * Scripts/generate-forwarding-headers.pl: Remove v8 from list of platforms.
1723
17242013-04-16  Alexey Proskuryakov  <ap@apple.com>
1725
1726        Remove unused AlternativeTextClient::dismissDictationAlternativeUI
1727        https://bugs.webkit.org/show_bug.cgi?id=114598
1728
1729        Reviewed by Ryosuke Niwa.
1730
1731        * UIProcess/API/mac/PageClientImpl.h:
1732        * UIProcess/API/mac/PageClientImpl.mm:
1733        (WebKit::PageClientImpl::dictationAlternatives):
1734        * UIProcess/PageClient.h:
1735        * UIProcess/WebPageProxy.cpp:
1736        * UIProcess/WebPageProxy.h:
1737        * UIProcess/WebPageProxy.messages.in:
1738        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
1739        * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
1740
17412013-04-16  Claudio Saavedra  <csaavedra@igalia.com>
1742
1743        [GTK][WK2] Add API to retrieve a snapshot from a webview
1744        https://bugs.webkit.org/show_bug.cgi?id=98270
1745
1746        Reviewed by Anders Carlsson.
1747
1748        This adds the GTK+ API necessary to retrieve a snapshot from a
1749        webview asynchronously. The API uses the injected bundle
1750        internally to get the snapshot from the WebProcess.
1751
1752        * UIProcess/API/gtk/WebKitError.cpp:
1753        (webkit_snapshot_error_quark): Add snapshot API related error
1754        quark.
1755        * UIProcess/API/gtk/WebKitError.h: Add snapshot error handling.
1756        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1757        (didReceiveWebViewMessageFromInjectedBundle): Handle the new
1758        "DidGetSnapshot" message.
1759        * UIProcess/API/gtk/WebKitPrivate.h: Add SnapshotRegion enum.
1760        * UIProcess/API/gtk/WebKitWebView.cpp:
1761        (_WebKitWebViewPrivate): Add a map for the snapshot results.
1762        (GetSnapshotAsyncData):
1763        (webKitWebViewDidReceiveSnapshot):
1764        (webKitSnapshotRegionToSnapshotRegion): Helper method for casting
1765        the region option enumeration.
1766        (generateSnapshotCallbackID): Method to generate unique callback
1767        ids.
1768        (webkit_web_view_get_snapshot):
1769        (webkit_web_view_get_snapshot_finish): New snapshotting API.
1770        * UIProcess/API/gtk/WebKitWebView.h: Ditto.
1771        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add the private method
1772        to handle a received snapshot.
1773        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
1774        bits.
1775        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1776        (cairoSurfacesEqual): Add helper to compare cairo_surface_t
1777        structs.
1778        (testWebViewSnapshot): New test.
1779        (beforeAll): Add the new test.
1780        * UIProcess/API/gtk/tests/WebViewTest.cpp:
1781        (WebViewTest::selectAll): Add method to help test snapshots
1782        including selection.
1783        * UIProcess/API/gtk/tests/WebViewTest.h: Ditto
1784        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
1785        (didReceiveMessageToPage): Ditto.
1786        (webkitWebExtensionCreate): Register method above.
1787        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1788        (webkitWebPageDidReceiveMessage): Add this method. It
1789        handles the new message "GetSnapshot".
1790        * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
1791        Add method above.
1792
17932013-04-16  Timothy Hatcher  <timothy@apple.com>
1794
1795        Create full rects for the inspector and inspected views when
1796        adjusting to an inspected view frame change. 
1797
1798        This ensures switching dock sides restores the inspected view
1799        and inspector to fill the parent's bounds.
1800
1801        https://webkit.org/b/114666
1802        rdar://problem/13660796
1803
1804        Reviewed by Joseph Pecoraro.
1805
1806        * UIProcess/mac/WebInspectorProxyMac.mm:
1807        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1808
18092013-04-16  Balazs Kelemen  <kbalazs@webkit.org>
1810
1811        Initialize logging channels for web processes
1812        https://bugs.webkit.org/show_bug.cgi?id=114621
1813
1814        Reviewed by Sam Weinig.
1815
1816        Use InitializeWebKit2 for initializing the web and plugin processes.
1817        It handles initializing the logging channels and it's better to have
1818        shared core for this. For the plugin process now we always create
1819        a RunLoop object which is not necessary with the -scanPlugin argument
1820        but it shouldn't be a problem.
1821
1822        * PluginProcess/qt/PluginProcessMainQt.cpp:
1823        (WebKit::PluginProcessMain):
1824        * PluginProcess/unix/PluginProcessMainUnix.cpp:
1825        (WebKit::PluginProcessMainUnix):
1826        * WebProcess/efl/WebProcessMainEfl.cpp:
1827        (WebKit::WebProcessMainEfl):
1828        * WebProcess/gtk/WebProcessMainGtk.cpp:
1829        (WebKit::WebProcessMainGtk):
1830        * WebProcess/qt/WebProcessMainQt.cpp:
1831        (WebKit::WebProcessMainQt):
1832
18332013-04-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1834
1835        [EFL][WK2] Add an API for getting context menu item's parent menu
1836        https://bugs.webkit.org/show_bug.cgi?id=107510
1837
1838        Reviewed by Kenneth Rohde Christiansen.
1839
1840        Added parent menu support and API for Ewk_Context_Menu_Item, to
1841        allow selecting context menus using Elementary widgets.
1842        Context menu unit test updated with new function. 
1843
1844        * UIProcess/API/efl/ewk_context_menu.cpp:
1845        (EwkContextMenu::EwkContextMenu):
1846        * UIProcess/API/efl/ewk_context_menu_item.cpp:
1847        (EwkContextMenuItem::EwkContextMenuItem):
1848        (ewk_context_menu_item_parent_menu_get):
1849        * UIProcess/API/efl/ewk_context_menu_item.h:
1850        * UIProcess/API/efl/ewk_context_menu_item_private.h:
1851        (EwkContextMenuItem::create):
1852        (EwkContextMenuItem::parentMenu):
1853        (EwkContextMenuItem::setParentMenu):
1854        (EwkContextMenuItem):
1855        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
1856        (showContextMenu):
1857
18582013-04-16  Andreas Kling  <akling@apple.com>
1859
1860        Fix release builds with !LOG_DISABLED.
1861
1862        * Platform/mac/Logging.mac.mm:
1863
18642013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
1865
1866        [GTK][EFL] Remove deprecated libsoup API usage
1867        https://bugs.webkit.org/show_bug.cgi?id=104894
1868
1869        Reviewed by Philippe Normand.
1870
1871        Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
1872        libsoup/soup.h.
1873
1874        * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h:
1875        * WebProcess/efl/WebProcessMainEfl.cpp:
1876        * WebProcess/gtk/WebProcessMainGtk.cpp:
1877        * WebProcess/soup/WebKitSoupRequestGeneric.h:
1878        * WebProcess/soup/WebProcessSoup.cpp:
1879        * WebProcess/soup/WebSoupRequestManager.cpp:
1880        (WebKit::WebSoupRequestManager::registerURIScheme): Remove requester and
1881        use method soup_session_add_feature_by_type().
1882
18832013-04-15  Dean Jackson  <dino@apple.com>
1884
1885        Plugins that resize might need to be snapshotted.
1886        https://bugs.webkit.org/show_bug.cgi?id=102157
1887        <rdar://problem/12696259>
1888
1889        Reviewed by Tim Horton.
1890
1891        Allow a running plugin to be snapshotted. All this
1892        means is that we start the snapshot timer again.
1893
1894        * WebProcess/Plugins/PluginView.cpp:
1895        (WebKit::PluginView::beginSnapshottingRunningPlugin): Restart
1896            the timer.
1897        * WebProcess/Plugins/PluginView.h: Virtual method declaration.
1898
18992013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
1900
1901        [EFL][WK2] build fix after r148434
1902        https://bugs.webkit.org/show_bug.cgi?id=114647
1903
1904        Reviewed by Benjamin Poulain.
1905
1906        * UIProcess/API/efl/EwkView.cpp:
1907        (EwkView::showContextMenu):
1908
19092013-04-15  Jer Noble  <jer.noble@apple.com>
1910
1911        After switching to another space and back, video races to catch up with audio
1912        https://bugs.webkit.org/show_bug.cgi?id=114634
1913
1914        Reviewed by Tim Horton.
1915
1916        In Mountain Lion and previous, report that a view is "not visible" when its window
1917        is not in the active space. This causes us to notify AVFoundation that its CAImageQueues
1918        will not be serviced and results in not having the "catch up" behavior when returning
1919        to the browser's space.
1920
1921        * UIProcess/API/mac/PageClientImpl.mm:
1922        (WebKit::PageClientImpl::isViewVisible):
1923
19242013-04-15  Seulgi Kim  <seulgikim@company100.net>
1925
1926        Schedule rendering at regular interval (60fps)
1927        https://bugs.webkit.org/show_bug.cgi?id=114617
1928
1929        Reviewed by Martin Robinson.
1930
1931        Schedule rendering reguarly regardless of the time taken to render a
1932        frame. Otherwise, next flush delayed by the amount of the rendering
1933        time.
1934
1935        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1936        (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
1937        (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
1938        (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
1939        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1940
19412013-04-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1942
1943        [EFL][WK2] Use C API in ewk_context_menu
1944        https://bugs.webkit.org/show_bug.cgi?id=109698
1945
1946        Reviewed by Andreas Kling.
1947
1948        EFL port unlike others does not handle context menus inside WebKit but exposes an API:
1949        ewk_context_menu and ewk_context_menu_item, and leaves context menu to application.
1950        Currently EFL port's context menu API uses internal C++ classes, while it should use WK2 C API,
1951        to avoid violating layering.
1952        This patch changes EFL context menu API to use only WK2 C API.
1953
1954        * UIProcess/API/efl/EwkView.cpp:
1955        (EwkView::showContextMenu):
1956        * UIProcess/API/efl/EwkView.h:
1957        (WebKit):
1958        (EwkView):
1959        * UIProcess/API/efl/ewk_context_menu.cpp:
1960        (EwkContextMenu::EwkContextMenu):
1961        (EwkContextMenu::contextMenuItemSelected):
1962        (ewk_context_menu_item_select):
1963        (getWKTagFromEwkAction):
1964        * UIProcess/API/efl/ewk_context_menu_item.cpp:
1965        (EwkContextMenuItem::EwkContextMenuItem):
1966        (getEwkActionFromWKTag):
1967        * UIProcess/API/efl/ewk_context_menu_item.h:
1968        * UIProcess/API/efl/ewk_context_menu_item_private.h:
1969        (EwkContextMenuItem::create):
1970        (EwkContextMenuItem):
1971        * UIProcess/API/efl/ewk_context_menu_private.h:
1972        (EwkContextMenu::create):
1973        (EwkContextMenu):
1974        * UIProcess/efl/ContextMenuClientEfl.cpp:
1975        (showContextMenu):
1976        (hideContextMenu):
1977        (ContextMenuClientEfl::ContextMenuClientEfl):
1978        * UIProcess/efl/ContextMenuClientEfl.h:
1979        (WebKit::ContextMenuClientEfl::view):
1980        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
1981        (WebKit::WebContextMenuProxyEfl::showContextMenu):
1982        (WebKit::WebContextMenuProxyEfl::hideContextMenu):
1983        * UIProcess/efl/WebContextMenuProxyEfl.h:
1984        (WebContextMenuProxyEfl):
1985
19862013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
1987
1988        [CoordGfx] Background color should not be part of GraphicsLayerState
1989        https://bugs.webkit.org/show_bug.cgi?id=113785
1990
1991        Reviewed by Andreas Kling.
1992
1993        Page background is independent from layer state, send it to the UI
1994        as soon as possible.
1995
1996        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1997        (CoreIPC::::encode):
1998        (CoreIPC::::decode):
1999        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2000        (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
2001
20022013-04-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2003
2004        [WK2] Add new callbacks and a function for WebKit2 context menu API
2005        https://bugs.webkit.org/show_bug.cgi?id=111552
2006
2007        Reviewed by Anders Carlsson.
2008
2009        Add contextMenuHide and contextMenuShow callbacks to WKPageContextMenuClient
2010        and WKPageContextMenuSelected API so context menus can be handled outside
2011        WebKit. API version of this client was bumped so older client version still
2012         can be used
2013
2014        * Shared/APIClientTraits.cpp:
2015        (WebKit):
2016        * Shared/APIClientTraits.h:
2017        * UIProcess/API/C/WKPage.cpp:
2018        (WKPageSelectContextMenuItem):
2019        * UIProcess/API/C/WKPage.h:
2020        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
2021        (attachContextMenuClientToView):
2022        * UIProcess/WebPageContextMenuClient.cpp:
2023        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
2024        (WebKit::WebPageContextMenuClient::showContextMenu):
2025        (WebKit):
2026        (WebKit::WebPageContextMenuClient::hideContextMenu):
2027        * UIProcess/WebPageContextMenuClient.h:
2028        (WebPageContextMenuClient):
2029        * UIProcess/WebPageProxy.cpp:
2030        (WebKit::WebPageProxy::internalShowContextMenu):
2031        * UIProcess/efl/ContextMenuClientEfl.cpp:
2032        (ContextMenuClientEfl::ContextMenuClientEfl):
2033
20342013-04-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2035
2036        [EFL][WK2] Regression(r148274): Broke rendering in the browser
2037        https://bugs.webkit.org/show_bug.cgi?id=114593
2038
2039        Reviewed by Anders Carlsson.
2040
2041        r148274 added a new "didChangeViewportAttributes" callback to
2042        WKView but did not hook it up in ViewClientEfl. This patch
2043        fixes this and makes rendering work again in the browser.
2044
2045        * UIProcess/efl/ViewClientEfl.cpp:
2046        (WebKit::ViewClientEfl::ViewClientEfl):
2047
20482013-04-14  Andreas Kling  <akling@apple.com>
2049
2050        Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
2051        <http://webkit.org/b/114581>
2052
2053        Reviewed by Anders Carlsson.
2054
2055        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2056        (WebKit::WebEditorClient::shouldApplyStyle):
2057
20582013-04-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2059
2060        Unreviewed build fix for WebKit2 EFL after r148373 due to missing
2061        header includes.
2062
2063        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
2064        * UIProcess/efl/InputMethodContextEfl.cpp:
2065
20662013-04-13  Sam Weinig  <sam@webkit.org>
2067
2068        Add ObjC API for setting initialization data for the WKWebProcessPlugIn
2069        https://bugs.webkit.org/show_bug.cgi?id=103846
2070
2071        Reviewed by Darin Adler.
2072
2073        * UIProcess/API/mac/WKProcessGroup.h:
2074        Adds a new optional processGroupWillCreateConnectionToWebProcessPlugIn: method for the WKProcessGroupDelegate protocol,
2075        which allows the user to pass (via an autoreleased return value) initialization data to the web process plugin.
2076
2077        * UIProcess/API/mac/WKProcessGroup.mm:
2078        (getInjectedBundleInitializationUserData):
2079        (setUpInectedBundleClient):
2080        (-[WKProcessGroup initWithInjectedBundleURL:]):
2081        (-[WKProcessGroup dealloc]):
2082        Use the existing WKContextInjectedBundleClient infrastructure to pass the initialization data to the bundle
2083        via the new ObjCObjectGraph APIObject.
2084
2085        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
2086        Adds webProcessPlugIn:initializeWithObject: to the WKWebProcessPlugIn protocol, replacing webProcessPlugInInitialize:.
2087
2088        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
2089        (WebKit::InjectedBundle::load):
2090        Pass the initialization data to the web process plugin.
2091
20922013-04-13  Sam Weinig  <sam@webkit.org>
2093
2094        Attempt Build Fix.
2095
2096        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2097
20982013-04-12  Sam Weinig  <sam@webkit.org>
2099
2100        Make Frame's ScriptController an OwnPtr and remove the #include
2101        https://bugs.webkit.org/show_bug.cgi?id=114105
2102
2103        Reviewed by Dean Jackson.
2104
2105        * Shared/WebHitTestResult.cpp:
2106        * Shared/WebHitTestResult.h:
2107        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
2108        * UIProcess/WebContext.h:
2109        * UIProcess/WebPageProxy.h:
2110        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2111        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
2112        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2113        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2114        * WebProcess/Plugins/PDF/PDFPlugin.h:
2115        * WebProcess/Plugins/PluginView.cpp:
2116        * WebProcess/Storage/StorageAreaImpl.cpp:
2117        * WebProcess/Storage/StorageAreaMap.cpp:
2118        * WebProcess/WebPage/WebFrame.cpp:
2119        * WebProcess/WebPage/WebPage.cpp:
2120
21212013-04-13  Zan Dobersek  <zdobersek@igalia.com>
2122
2123        Unreviewed GTK build fix after r148311.
2124
2125        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2126        (resizeWebKitWebViewBaseFromAllocation): Passing IntSize() as the scroll offset
2127        argument to the DrawingAreaProxy::setSize method.
2128
21292013-04-12  Gavin Barraclough  <barraclough@apple.com>
2130
2131        Add private interface to WKView to asynchronously update the drawing area size
2132        https://bugs.webkit.org/show_bug.cgi?id=114549
2133
2134        Reviewed by Simon Fraser.
2135
2136        This will allow a client using the WKView to resize the contents without blocking waiting for the web process to repaint.
2137
2138        * UIProcess/API/mac/WKView.mm:
2139        (-[WKView _setDrawingAreaSize:]):
2140            - if the new size of teh drawing area does not match the frame size, position it according to the contentAnchor.
2141        (-[WKView updateLayer]):
2142            - Don't let a subsequent frame size change block on a prior async resize.
2143        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
2144            - resize the drawing area asynchronously, even if frame size udpates are disabled.
2145        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
2146            - wait for asynchronous updates to complete.
2147
2148        * UIProcess/API/mac/WKViewPrivate.h:
2149            - declare new methods.
2150
2151        * UIProcess/DrawingAreaProxy.cpp:
2152        (WebKit):
2153        * UIProcess/DrawingAreaProxy.h:
2154        (DrawingAreaProxy):
2155        (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
2156        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2157        (TiledCoreAnimationDrawingAreaProxy):
2158        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2159        (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
2160            - pass timeout for waitForPossibleGeometryUpdate as a parameter.
2161
21622013-04-12  Jessie Berlin  <jberlin@apple.com>
2163
2164        32-bit build fix.
2165
2166        * UIProcess/API/mac/WKView.mm:
2167        (-[WKView setFrameSize:]):
2168
21692013-04-12  Jeffrey Pfau  <jpfau@apple.com>
2170
2171        Query directly for cache partition names
2172        https://bugs.webkit.org/show_bug.cgi?id=114538
2173
2174        Reviewed by David Kilzer.
2175
2176        Call back into WebKitSystemInterface to ask it for the cache
2177        partition names instead of trying to figure them out.
2178
2179        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2180        (WebKit::WebResourceCacheManager::getCacheOrigins):
2181        (WebKit):
2182        (WebKit::WebResourceCacheManager::returnCacheOrigins):
2183        * WebProcess/ResourceCache/WebResourceCacheManager.h:
2184        (WebResourceCacheManager):
2185        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
2186        (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
2187        (WebKit):
2188        (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
2189
21902013-04-12  Gavin Barraclough  <barraclough@apple.com>
2191
2192        Build fix - too soon!
2193
2194        * UIProcess/API/mac/WKViewPrivate.h:
2195
21962013-04-12  Gavin Barraclough  <barraclough@apple.com>
2197
2198        Build fix - too soon!
2199
2200        * UIProcess/API/mac/WKView.mm:
2201        (-[WKView setFrameSize:]):
2202
22032013-04-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2204
2205        [WK2] WebPageProxy loadURL() won't work when called just after terminateProcess()
2206        https://bugs.webkit.org/show_bug.cgi?id=110743
2207
2208        Reviewed by Benjamin Poulain.
2209
2210        A call to loadURL() just after terminating WebProcess will fail thanks to
2211        WebPageProxy being in an undefined state since it is in the middle of its own
2212        cleanup after process termination.
2213
2214        To properly fix this, not only WebPageProxy cleanup should be made
2215        at WebProcess termination request, but also WebProcessProxy needs
2216        to only return to its caller after terminating the process and
2217        closing connections. Otherwise, WebPageProxy can even be able to
2218        detect that WebProcess is no longer running, but a call to respawn
2219        the process will fail.
2220
2221        To fix these issues, this patch moves the cleanup code to a shared private function
2222        that is used for both the cases i.e. user termination and real crash. WebProcess
2223        shutdown is done using a new method that ensures that all cleanup was done before
2224        returning.
2225
2226        A last change introduced in this patch is that for user requested termination,
2227        clients are no longer notified of a crash (since it is not a crash).
2228
2229        * UIProcess/WebPageProxy.cpp:
2230        (WebKit::WebPageProxy::terminateProcess):
2231        (WebKit::WebPageProxy::processDidCrash):
2232        (WebKit):
2233        (WebKit::WebPageProxy::resetStateAfterProcessExited):
2234        * UIProcess/WebPageProxy.h:
2235        (WebPageProxy):
2236        * UIProcess/WebProcessProxy.cpp:
2237        (WebKit::WebProcessProxy::userRequestedTerminate):
2238        (WebKit):
2239        * UIProcess/WebProcessProxy.h:
2240        (WebProcessProxy):
2241
22422013-04-12  Gavin Barraclough  <barraclough@apple.com>
2243
2244        Add contentAnchor to WKView
2245        http://bugs.webkit.org/show_bug.cgi?id=114469
2246        
2247        Currently if you call setFrameSize: while frame size updates are disabled, or if the geometry
2248        update times out, then the previously rendered page content will be rendered anchored to the
2249        top left corner of the frame.
2250
2251        This is appropriate if the frame is being resized from the bottom right corner. In order to
2252        achieve a more desirable appearance if the frame is being resized from another corner we
2253        should allow the corner at which the content anchors to be specified.
2254
2255        Reviewed by Simon Fraser.
2256
2257        * UIProcess/API/mac/WKView.mm:
2258        (-[WKView setFrameSize:]):
2259            - If the content anchor has been set, then updating the frame size moves the origin within the layer.
2260        (-[WKView _setDrawingAreaSize:]):
2261            - Instruct the drawing area to paint at the correct position within the layer.
2262        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
2263            - If the root layer is cleared this implicitly resets any origin position we had set within it.
2264        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2265            - initialize new data members.
2266        (-[WKView setContentAnchor:]):
2267        (-[WKView contentAnchor]):
2268            - Accessor implementation for @property contentAnchor.
2269
2270        * UIProcess/API/mac/WKViewPrivate.h:
2271        (NS_ENUM):
2272            - Added WKContentAnchor enum type, and @property contentAnchor.
2273
2274        * UIProcess/DrawingAreaProxy.cpp:
2275        (WebKit::DrawingAreaProxy::setSize):
2276            - Don't suppress geometry updates where the layer poistion has changed.
2277
2278        * UIProcess/DrawingAreaProxy.h:
2279        (DrawingAreaProxy):
2280            - Added m_layerPosition, layerPosition argument to setSize
2281
2282        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2283        (TiledCoreAnimationDrawingAreaProxy):
2284            - Added m_lastSentLayerPosition
2285
2286        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2287        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
2288            - Don't suppress geometry updates where the layer poistion has changed.
2289
2290        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
2291            - Pass layer position in UpdateGeometry message.
2292
2293        * WebProcess/WebPage/DrawingArea.h:
2294        (WebKit::DrawingArea::updateGeometry):
2295            - Added layerPosition argument to updateGeometry
2296
2297        * WebProcess/WebPage/DrawingArea.messages.in:
2298            - Added layerPosition argument to updateGeometry
2299
2300        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2301        (TiledCoreAnimationDrawingArea):
2302            - Added layerPosition argument to updateGeometry
2303
2304        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2305        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2306            - Added layerPosition argument to updateGeometry
2307
23082013-04-12  Commit Queue  <rniwa@webkit.org>
2309
2310        Unreviewed, rolling out r148296 and r148297.
2311        http://trac.webkit.org/changeset/148296
2312        http://trac.webkit.org/changeset/148297
2313        https://bugs.webkit.org/show_bug.cgi?id=114536
2314
2315        Needs more thought (Requested by ap on #webkit).
2316
2317        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2318
23192013-04-12  Tim Horton  <timothy_horton@apple.com>
2320
2321        REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
2322        https://bugs.webkit.org/show_bug.cgi?id=108864
2323        <rdar://problem/13140489>
2324
2325        Reviewed by Antti Koivisto.
2326
2327        Don't repaint the world when animations resume; instead, FrameView
2328        will cause all animated images to repaint. This line also had no effect for
2329        TiledCoreAnimationDrawingArea, which does not implement setNeedsDisplay.
2330
2331        * WebProcess/WebPage/WebPage.cpp:
2332        (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
2333
23342013-04-12  Alexey Proskuryakov  <ap@apple.com>
2335
2336        <rdar://problem/13334446> [Mac] Tweak sandbox profile.
2337
2338        Apply a post-landing review comment.
2339
2340        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2341
23422013-04-12  Alexey Proskuryakov  <ap@apple.com>
2343
2344        <rdar://problem/13334446> [Mac] Tweak sandbox profile.
2345
2346        Reviewed by Jessie Berlin.
2347
2348        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2349
23502013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2351
2352        [GTK] Split GtkAuthenticationDialog in two widgets
2353        https://bugs.webkit.org/show_bug.cgi?id=103644
2354
2355        Reviewed by Xan Lopez.
2356
2357        * GNUmakefile.list.am: Add new files to compilation.
2358        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Removed.
2359        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Removed.
2360        * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: Added.
2361        (webkitAuthenticationDialogAuthenticate): Use the
2362        AuthenticationChallengeProxy to authenticate and destroy the dialog.
2363        (okButtonClicked): Call webkitAuthenticationDialogAuthenticate()
2364        with the credential.
2365        (cancelButtonClicked): Call
2366        webkitAuthenticationDialogAuthenticate() with a NULL credential to
2367        continue without credential.
2368        (webkitAuthenticationDialogInitialize): Build the UI.
2369        (webkitAuthenticationDialogDraw): Draw a background.
2370        (webkitAuthenticationDialogMap): Grab default button.
2371        (webkitAuthenticationDialogConstructed): Create a GtkStyleContext
2372        with the GtkWindow path to draw the widget background like a real
2373        dialog.
2374        (webkit_authentication_dialog_class_init):
2375        (webkitAuthenticationDialogNew): Create a new
2376        WebKitAuthenticationDialog widget.
2377        * UIProcess/API/gtk/WebKitAuthenticationDialog.h: Added.
2378        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2379        * UIProcess/API/gtk/WebKitWebView.cpp:
2380        (webkitWebViewHandleAuthenticationChallenge): Create a
2381        WebKitAuthenticationDialog widget and pass add it to the
2382        container.
2383        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2384        (_WebKitWebViewBasePrivate): Updated to use the widget directly.
2385        (webkitWebViewChildIsInternalWidget): Ditto.
2386        (webkitWebViewBaseAddAuthenticationDialog): Ditto.
2387        (webkitWebViewBaseCancelAuthenticationDialog): Ditto.
2388        (webkitWebViewBaseContainerRemove): Ditto.
2389        (webkitWebViewBaseContainerForall): Ditto.
2390        (resizeWebKitWebViewBaseFromAllocation): Ditto.
2391        (webkitWebViewBaseFocus): Ditto.
2392        (webkitWebViewBaseDestroy): Destroy the auth widget is present.
2393        (webkit_web_view_base_class_init): Add implementation for
2394        GtkWidgetClass::destroy.
2395        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2396
23972013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2398
2399        [GTK] Web Process crash when the UI process finishes too early
2400        https://bugs.webkit.org/show_bug.cgi?id=112729
2401
2402        Reviewed by Anders Carlsson.
2403
2404        The problem is when creating the GSocket in the WorkQeue for the
2405        socket descriptor. GLib considers a programmer error to create a
2406        GSocket providing an invalid socket and finishes the process with
2407        g_error(). We are actually providing a valid socket when creating
2408        the GSocket, but it can be invalidated by the worker thread while
2409        the GSocket is being created. This is because
2410        registerEventSourceHandler is called from the main thread and
2411        unregisterEventSourceHandler can be called from the worker
2412        thread. We are currently registering two event handlers, one to
2413        read data from the socket and another one to close the CoreIPC
2414        connection when the socket connection is broken. Every event
2415        source registered uses its own GSocket (even if the file
2416        descriptor is actually the same), so that when the UI process
2417        finishes too early, the first event handler can be executed in the
2418        worker thread, closing the socket descriptor, while the main
2419        thread is creating the GSocket for the second one.
2420        We don't really need to use a separate event handler to monitor
2421        the connection, because GSocket always notifies when condition is
2422        G_IO_HUP and G_IO_ERR even if they haven't been explicitly set in
2423        g_socket_create_source(). We can register socket event sources
2424        differently, providing also a function to be called when the
2425        connection is closed, using a single socket and the same even source.
2426
2427        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2428        (CoreIPC::Connection::platformInvalidate):
2429        (CoreIPC::Connection::open): Register a single socket event
2430        handler providing also a function to be called when the connection
2431        is closed.
2432        * Platform/WorkQueue.h:
2433        (WorkQueue):
2434        * Platform/gtk/WorkQueueGtk.cpp: The EventSource class has been
2435        split, moving everyting specific to socket event source to a
2436        derived class SocketEventSource.
2437        (WorkQueue::EventSource::EventSource):
2438        (WorkQueue::EventSource::performWork):
2439        (WorkQueue::EventSource::performWorkOnce):
2440        (WorkQueue::EventSource::performWorkOnTermination):
2441        (WorkQueue::EventSource::deleteEventSource):
2442        (WorkQueue::EventSource):
2443        (WorkQueue::SocketEventSource):
2444        (WorkQueue::SocketEventSource::SocketEventSource):
2445        (WorkQueue::SocketEventSource::cancel):
2446        (WorkQueue::SocketEventSource::didClose):
2447        (WorkQueue::SocketEventSource::checkCondition):
2448        (WorkQueue::SocketEventSource::eventCallback):
2449        (WorkQueue::registerSocketEventHandler):
2450        (WorkQueue::unregisterSocketEventHandler):
2451        (WorkQueue::dispatchOnSource):
2452
24532013-04-12  Alexey Proskuryakov  <ap@apple.com>
2454
2455        <rdar://problem/13126204> [Mac] Tweak sandbox profile.
2456
2457        Reviewed by Anders Carlsson.
2458
2459        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2460        * WebProcess/com.apple.WebProcess.sb.in:
2461
24622013-04-12  Manuel Rego Casasnovas  <rego@igalia.com>
2463
2464        [GTK][WK2] Add document-loaded signal to WebKitWebPage
2465        https://bugs.webkit.org/show_bug.cgi?id=110614
2466
2467        Reviewed by Carlos Garcia Campos.
2468
2469        Add a new signal document-loaded to WebKitWebPage that will be emitted
2470        when the DOM document has been loaded for the main frame.
2471
2472        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
2473        (documentLoadedCallback):
2474        (testDocumentLoadedSignal):
2475        (beforeAll): Add test for document-loaded signal.
2476        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
2477        (documentLoadedCallback):
2478        (pageCreatedCallback):
2479        (methodCallCallback): Add new D-Bus signal DocumentLoaded in order to
2480        test document-loaded signal.
2481        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
2482        (webkit_web_page_class_init):
2483        (webkitWebPageCreate): Add document-loaded signal and emit it when
2484        didFinishDocumentLoadForFrame is called.
2485
24862013-04-12  Hanyee Kim  <choco@company100.net>
2487
2488        [GTK] Webkit fails to build webkit2gtk-tests-resources.gresource.
2489        https://bugs.webkit.org/show_bug.cgi?id=114485
2490
2491        Reviewed by Martin Robinson.
2492
2493        Generating webkit2gtk-tests-resources.gresource can be failed due to
2494        the non-existing target directory.
2495        We need to make target directory before generating it.
2496
2497        * UIProcess/API/gtk/tests/GNUmakefile.am:
2498
24992013-04-12  Andreas Kling  <akling@apple.com>
2500
2501        REGRESSION(r145869): Right-click on SWF contents displays the context menu at the wrong place.
2502        <http://webkit.org/b/113836>
2503        <rdar://problem/13587624>
2504
2505        Reviewed by Anders "Wesley Crusher" Carlsson.
2506
2507        Mac plugins expect flipped-Y screen coordinates, while DOM APIs speak in unflipped coordinates,
2508        and we were mixing them up in the window frame caching optimization.
2509
2510        Solve this by having the UIProcess send both flipped and unflipped window frames to the WebProcess.
2511        The flipped frame is passed on to plugins, and the unflipped frame is used for window.screenX/Y etc.
2512
2513        * UIProcess/API/mac/WKView.mm:
2514        (-[WKView _updateWindowAndViewFrames]):
2515
2516            No need to retrieve the window frame here as WebPageProxy::windowAndViewFramesChanged() will
2517            always override it anyway.
2518
2519        * UIProcess/mac/WebPageProxyMac.mm:
2520        (WebKit::WebPageProxy::windowAndViewFramesChanged):
2521        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2522        (WebKit::WebChromeClient::windowRect):
2523        * WebProcess/WebPage/WebPage.cpp:
2524        (WebKit::WebPage::windowAndViewFramesChanged):
2525        * WebProcess/WebPage/WebPage.h:
2526        (WebKit::WebPage::windowFrameInUnflippedScreenCoordinates):
2527        * WebProcess/WebPage/WebPage.messages.in:
2528
25292013-04-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2530
2531        [WK2][EFL] WebView: Add callbacks to the WKViewClient to handle page viewport update
2532        https://bugs.webkit.org/show_bug.cgi?id=110463
2533
2534        Reviewed by Anders Carlsson.
2535
2536        * UIProcess/efl/ViewClientEfl.h:
2537        (ViewClientEfl):
2538        * UIProcess/efl/WebView.cpp:
2539        (WebKit::WebView::didChangeViewportProperties):
2540        * UIProcess/efl/WebViewClient.cpp:
2541        (WebKit::WebViewClient::didChangeViewportAttributes):
2542        (WebKit):
2543        * UIProcess/efl/WebViewClient.h:
2544
2545            Added didChangeViewportAttributes callback to the WKViewClient to
2546            handle page viewport updates.
2547
2548        * CMakeLists.txt:
2549        * Shared/API/c/WKBase.h:
2550        * Shared/APIObject.h:
2551        * UIProcess/API/C/WKAPICast.h:
2552        (WebKit):
2553        * UIProcess/API/C/WKViewportAttributes.cpp: Added.
2554        (WKViewportAttributesGetTypeID):
2555        * UIProcess/API/C/WKViewportAttributes.h: Added.
2556        * UIProcess/API/C/efl/WKView.h:
2557        * UIProcess/WebViewportAttributes.cpp: Added.
2558        (WebKit):
2559        (WebKit::WebViewportAttributes::WebViewportAttributes):
2560        (WebKit::WebViewportAttributes::~WebViewportAttributes):
2561        * UIProcess/WebViewportAttributes.h: Added.
2562        (WebKit):
2563        (WebViewportAttributes):
2564        (WebKit::WebViewportAttributes::create):
2565        (WebKit::WebViewportAttributes::originalAttributes):
2566        (WebKit::WebViewportAttributes::type):
2567
2568            Added WKViewportAttributesRef - WK2 C API object that is wrapping 
2569            WebCore::ViewportAttributes structure and is passed in didChangeViewportAttributes
2570            WKViewClient callback.
2571
2572        * UIProcess/efl/ViewClientEfl.cpp:
2573        (WebKit::ViewClientEfl::didChangeViewportAttributes):
2574        (WebKit):
2575
2576            Added implementaion of didChangeViewportAttributes WKViewClient 
2577            callback so that existing EFL WK2 funtionality is kept.
2578
2579
25802013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2581
2582        [GTK] The style of visited links doesn't change in WebKit2
2583        https://bugs.webkit.org/show_bug.cgi?id=112175
2584
2585        Reviewed by Benjamin Poulain.
2586
2587        The problem is that visited links were not tracked by the web
2588        process. There's a web process initial parameter to set whether
2589        web process should track visited links or not and it's disabled by
2590        default.
2591
2592        * UIProcess/gtk/WebContextGtk.cpp:
2593        (WebKit::WebContext::platformInitializeWebProcess): Always set
2594        shouldTrackVisitedLinks to true.
2595
25962013-04-11  Tim Horton  <timothy_horton@apple.com>
2597
2598        REGRESSION (r146956): ASSERTion failure: WebKit::WebProcess::pageWillLeaveWindow
2599        https://bugs.webkit.org/show_bug.cgi?id=114481
2600        <rdar://problem/13534784>
2601
2602        Reviewed by Simon Fraser.
2603
2604        Inform the WebProcess of WebPages which are already in a window when created.
2605
2606        * WebProcess/WebPage/WebPage.cpp:
2607        (WebKit::WebPage::WebPage):
2608
26092013-04-11  Anders Carlsson  <andersca@apple.com>
2610
2611        Add support for clearing storage areas
2612        https://bugs.webkit.org/show_bug.cgi?id=114479
2613
2614        Reviewed by Beth Dakin.
2615
2616        * UIProcess/Storage/StorageManager.cpp:
2617        (WebKit::StorageManager::StorageArea::StorageArea):
2618        Store the quota size so we can recreate the underlying StorageMap when clearing.
2619        
2620        (WebKit::StorageManager::StorageArea::clear):
2621        Create a new storage map and dispatch events.
2622
2623        (WebKit::StorageManager::clear):
2624        Find the right storage area and call clear.
2625
2626        * UIProcess/Storage/StorageManager.messages.in:
2627        Add Clear message.
2628
2629        * WebProcess/Storage/StorageAreaImpl.cpp:
2630        (WebKit::StorageAreaImpl::clear):
2631        Call the storage map.
2632
2633        * WebProcess/Storage/StorageAreaMap.cpp:
2634        (WebKit::StorageAreaMap::clear):
2635        Reset the cached values and send a clear message.
2636
2637        (WebKit::StorageAreaMap::resetValues):
2638        New helper function.
2639
2640        (WebKit::StorageAreaMap::didClear):
2641        New stub.
2642
2643        * WebProcess/Storage/StorageAreaMap.messages.in:
2644        Add DidClear message.
2645
26462013-04-11  Beth Dakin  <bdakin@apple.com>
2647
2648        WebKit should set the header and footer layers' contentsScale when the device 
2649        scale factor changes
2650        https://bugs.webkit.org/show_bug.cgi?id=114471
2651        -and corresponding-
2652        <rdar://problem/13621288>
2653
2654        Reviewed by Simon Fraser.
2655
2656        Update the header and footer contentsScale when the device scale factor has 
2657        changed.
2658
2659        * WebProcess/WebPage/WebPage.cpp:
2660        (WebKit::WebPage::setDeviceScaleFactor):
2661        * WebProcess/WebPage/WebPage.h:
2662        * WebProcess/WebPage/mac/WebPageMac.mm:
2663        (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
2664
26652013-04-11  Anders Carlsson  <andersca@apple.com>
2666
2667        Implement removing storage area items
2668        https://bugs.webkit.org/show_bug.cgi?id=114472
2669
2670        Reviewed by Beth Dakin.
2671
2672        * UIProcess/Storage/StorageManager.cpp:
2673        (StorageManager::StorageArea):
2674        (WebKit::StorageManager::StorageArea::setItem):
2675        Rename connection to sourceConnection.
2676
2677        (WebKit::StorageManager::StorageArea::removeItem):
2678        Remove the item from the map and dispatch events if needed.
2679
2680        (WebKit::StorageManager::removeItem):
2681        Find the right storage area, remove the item and send back a DidRemoveItem message.
2682
2683        * UIProcess/Storage/StorageManager.messages.in:
2684        Add RemoveItem message.
2685
2686        * WebProcess/Storage/StorageAreaImpl.cpp:
2687        (WebKit::StorageAreaImpl::removeItem):
2688        Call StorageAreaMap::removeItem.
2689
2690        * WebProcess/Storage/StorageAreaMap.cpp:
2691        (WebKit::StorageAreaMap::removeItem):
2692        Send a RemoveItem message to the storage manager.
2693        
2694        (WebKit::StorageAreaMap::didRemoveItem):
2695        Add empty stub.
2696
2697        * WebProcess/Storage/StorageAreaMap.messages.in:
2698        Add DidRemoveItem message.
2699
27002013-04-11  Tim Horton  <timothy_horton@apple.com>
2701
2702        InjectedBundleNodeHandle::imageForRect doesn't respect device scale factor or highlighting option
2703        https://bugs.webkit.org/show_bug.cgi?id=114466
2704        <rdar://problem/13508513>
2705
2706        Reviewed by Simon Fraser.
2707
2708        Respect the device scale factor when creating the snapshot image.
2709        Clear the snapshot image before drawing into it.
2710        Respect SnapshotOptionsExcludeSelectionHighlighting.
2711
2712        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2713        (WebKit::imageForRect):
2714
27152013-04-11  Commit Queue  <rniwa@webkit.org>
2716
2717        Unreviewed, rolling out r148034, r148052, r148097, and
2718        r148194.
2719        http://trac.webkit.org/changeset/148034
2720        http://trac.webkit.org/changeset/148052
2721        http://trac.webkit.org/changeset/148097
2722        http://trac.webkit.org/changeset/148194
2723        https://bugs.webkit.org/show_bug.cgi?id=114463
2724
2725        broke mutiresolution favicons, among other things (Requested
2726        by thorton on #webkit).
2727
2728        * UIProcess/WebIconDatabase.cpp:
2729        (WebKit::WebIconDatabase::setIconDataForIconURL):
2730        * UIProcess/WebIconDatabase.h:
2731        (WebIconDatabase):
2732        * UIProcess/WebIconDatabase.messages.in:
2733        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
2734        (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
2735        * WebProcess/Plugins/PDF/PDFPlugin.mm:
2736        (WebKit::PDFPlugin::destroy):
2737
27382013-04-11  Anders Carlsson  <andersca@apple.com>
2739
2740        Implement StorageManager::getValues
2741        https://bugs.webkit.org/show_bug.cgi?id=114461
2742
2743        Reviewed by Beth Dakin.
2744
2745        * UIProcess/Storage/StorageManager.cpp:
2746        (WebKit::StorageManager::StorageArea::items):
2747        (WebKit::StorageManager::getValues):
2748        Return the items from the right storage area.
2749
27502013-04-11  Anders Carlsson  <andersca@apple.com>
2751
2752        Clean up related storage areas when a connection is destroyed
2753        https://bugs.webkit.org/show_bug.cgi?id=114459
2754
2755        Reviewed by Beth Dakin.
2756
2757        * UIProcess/Storage/StorageManager.cpp:
2758        (WebKit::StorageManager::processWillCloseConnection):
2759        Dispatch invalidateConnectionInternal on the work queue.
2760        
2761        (WebKit::StorageManager::createStorageMap):
2762        (WebKit::StorageManager::destroyStorageMap):
2763        Rename m_storageAreas to m_storageAreasByConnection.
2764
2765        (WebKit::StorageManager::invalidateConnectionInternal):
2766        Go over all known storage areas and remove this connection as a listener.
2767
2768        (WebKit::StorageManager::findStorageArea):
2769        Rename m_storageAreas to m_storageAreasByConnection.
2770
2771        * UIProcess/Storage/StorageManager.h:
2772        Rename m_storageAreas to m_storageAreasByConnection.
2773
27742013-04-11  Anders Carlsson  <andersca@apple.com>
2775
2776        Make StorageAreaMap dispatch session storage events
2777        https://bugs.webkit.org/show_bug.cgi?id=114454
2778
2779        Reviewed by Beth Dakin.
2780
2781        * WebProcess/Storage/StorageAreaMap.cpp:
2782        (WebKit::StorageAreaMap::dispatchStorageEvent):
2783        Depending on the storage area type, call dispatchSessionStorageEvent or dispatchLocalStorageEvent.
2784
2785        (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
2786        Enumerate all the frames in our page and dispatch the event to the relevant ones.
2787
2788        (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
2789        Add empty stub for now.
2790
27912013-04-11  Anders Carlsson  <andersca@apple.com>
2792
2793        Implement more logic in StorageAreaMap
2794        https://bugs.webkit.org/show_bug.cgi?id=114451
2795
2796        Reviewed by Alexey Proskuryakov.
2797
2798        * Platform/CoreIPC/HandleMessage.h:
2799        (CoreIPC::callMemberFunction):
2800        Add new overload.
2801
2802        * UIProcess/Storage/StorageManager.cpp:
2803        (WebKit::StorageManager::StorageArea::addListener):
2804        (WebKit::StorageManager::StorageArea::removeListener):
2805        These take storage map IDs.
2806
2807        (WebKit::StorageManager::StorageArea::setItem):
2808        Rename storageAreaID to sourceStorageAreaID.
2809
2810        (WebKit::StorageManager::StorageArea::dispatchEvents):
2811        Remove the code that would not dispatch to the source connection, there may still be storage areas interested in those events.
2812
2813        (WebKit::StorageManager::setItem):
2814        This now takes the source storage area ID.
2815
2816        (WebKit::StorageManager::findStorageArea):
2817        This takes a storage map ID.
2818
2819        * UIProcess/Storage/StorageManager.messages.in:
2820        SetItem now takes the source storage area ID as well.
2821
2822        * WebProcess/Storage/StorageAreaImpl.cpp:
2823        (WebKit::StorageAreaImpl::setItem):
2824        Pass the source frame to StorageAreaMap::setItem.
2825
2826        * WebProcess/Storage/StorageAreaMap.cpp:
2827        (WebKit::StorageAreaMap::StorageAreaMap):
2828        Send CreateStorageMap and add the object as a message receiver.
2829
2830        (WebKit::StorageAreaMap::~StorageAreaMap):
2831        Send DestroyStorageMap and remove the object as a message receiver.
2832
2833        (WebKit::StorageAreaMap::length):
2834        (WebKit::StorageAreaMap::key):
2835        (WebKit::StorageAreaMap::item):
2836        (WebKit::StorageAreaMap::contains):
2837        Load values and forward calls to the storage map.
2838
2839        (WebKit::StorageAreaMap::setItem):
2840        This now takes the source frame as well. Update the local storage map and send a SetItem message.
2841        
2842        (WebKit::StorageAreaMap::loadValuesIfNeeded):
2843        Get the values from the storage manager.
2844
2845        (WebKit::StorageAreaMap::dispatchStorageEvent):
2846        This now takes the source storage area ID.
2847
2848        * WebProcess/Storage/StorageAreaMap.messages.in:
2849        DispatchStorageEvent now takes the source storage area ID.
2850
28512013-04-10  Brady Eidson  <beidson@apple.com>
2852
2853        Web/Plugin process deadlock initializing async plugins.
2854        <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
2855
2856        Rubberstamped by Anders Carlsson.
2857
2858        Rollout r147953 and r147968 as we identified other causes for this.
2859
2860        * PluginProcess/WebProcessConnection.cpp:
2861        (WebKit::WebProcessConnection::createPluginAsynchronously):
2862        * WebProcess/Plugins/PluginProxy.messages.in:
2863
28642013-04-11  Alexey Proskuryakov  <ap@apple.com>
2865
2866        Remove some ResourceHandle.h includes
2867        https://bugs.webkit.org/show_bug.cgi?id=114416
2868
2869        Reviewed by Ryosuke Niwa.
2870
2871        * WebProcess/Network/NetworkProcessConnection.cpp: Added an include that is now
2872        necessary.
2873
28742013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2875
2876        [Qt] EventHandler should handle Space and BackSpace 
2877        https://bugs.webkit.org/show_bug.cgi?id=114428
2878
2879        Reviewed by Jocelyn Turcotte.
2880
2881        Remove our own handling of space and backspace.
2882
2883        * WebProcess/WebPage/qt/WebPageQt.cpp:
2884        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
2885
28862013-04-11  Csaba Osztrogonác  <ossy@webkit.org>
2887
2888        Unreviewed Qt buildfixes after r148147, r148148 and r148154.
2889
2890        * DerivedSources.pri:
2891        * Target.pri:
2892
28932013-04-10  Zan Dobersek  <zdobersek@igalia.com>
2894
2895        Unreviewed GTK build fix, fixing the WebKit2 build.
2896
2897        * GNUmakefile.list.am:
2898
28992013-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2900
2901        [WK2] Build warning in didReceiveMessage() generated by messages.py
2902        https://bugs.webkit.org/show_bug.cgi?id=112513
2903
2904        Reviewed by Anders Carlsson.
2905
2906        Legacy receiver makes -Wunused-parameter build warnings. This patch is to fix them.
2907
2908        * Scripts/webkit2/messages.py:
2909        (generate_message_handler):
2910
29112013-04-10  Jaehun Lim  <ljaehun.lim@samsung.com>
2912
2913        [CMAKE] Build fix after StorageArea refactoring
2914        https://bugs.webkit.org/show_bug.cgi?id=114398
2915
2916        Unreviewed build fix.
2917
2918        Change StorageAreaImpl.messages.in with StorageAreaMap.messages.in.
2919        Add StorageAreaMap.cpp in CMakeLists.txt.
2920
2921        * CMakeLists.txt:
2922
29232013-04-10  Anders Carlsson  <andersca@apple.com>
2924
2925        Make StorageAreaImpl a wrapper around StorageAreaMap
2926        https://bugs.webkit.org/show_bug.cgi?id=114404
2927
2928        Reviewed by Oliver Hunt.
2929
2930        Prepare for moving all the code that deals with local storage values to StorageAreaMap,
2931        and make StorageAreaImpl a dumb wrapper that simply calls through to the map.
2932
2933        * WebProcess/Storage/StorageAreaImpl.cpp:
2934        (WebKit::StorageAreaImpl::create):
2935        (WebKit::StorageAreaImpl::StorageAreaImpl):
2936        (WebKit::StorageAreaImpl::~StorageAreaImpl):
2937        (WebKit::StorageAreaImpl::storageType):
2938        (WebKit::StorageAreaImpl::length):
2939        (WebKit::StorageAreaImpl::key):
2940        (WebKit::StorageAreaImpl::getItem):
2941        (WebKit::StorageAreaImpl::setItem):
2942        (WebKit::StorageAreaImpl::contains):
2943        * WebProcess/Storage/StorageAreaImpl.h:
2944        (WebKit::StorageAreaImpl::storageAreaID):
2945        * WebProcess/Storage/StorageAreaMap.cpp:
2946        (WebKit::generateStorageMapID):
2947        (WebKit::StorageAreaMap::create):
2948        (WebKit::StorageAreaMap::StorageAreaMap):
2949        (WebKit::StorageAreaMap::storageType):
2950        (WebKit::StorageAreaMap::length):
2951        (WebKit::StorageAreaMap::key):
2952        (WebKit::StorageAreaMap::item):
2953        (WebKit::StorageAreaMap::setItem):
2954        (WebKit::StorageAreaMap::contains):
2955        (WebKit::StorageAreaMap::didSetItem):
2956        (WebKit::StorageAreaMap::dispatchStorageEvent):
2957        * WebProcess/Storage/StorageAreaMap.h:
2958        * WebProcess/Storage/StorageNamespaceImpl.cpp:
2959        (WebKit::StorageNamespaceImpl::storageArea):
2960        * WebProcess/Storage/StorageNamespaceImpl.h:
2961        (StorageNamespaceImpl):
2962
29632013-04-10  Anders Carlsson  <andersca@apple.com>
2964
2965        Rename StorageManager messages to refer to the StorageMap instead of the StorageArea
2966        https://bugs.webkit.org/show_bug.cgi?id=114401
2967
2968        Reviewed by Ryosuke Niwa.
2969
2970        * UIProcess/Storage/StorageManager.cpp:
2971        (WebKit::StorageManager::createStorageMap):
2972        (WebKit::StorageManager::destroyStorageMap):
2973        (WebKit::StorageManager::setItem):
2974        * UIProcess/Storage/StorageManager.h:
2975        * UIProcess/Storage/StorageManager.messages.in:
2976        * WebProcess/Storage/StorageAreaImpl.cpp:
2977        (WebKit::StorageAreaImpl::StorageAreaImpl):
2978        (WebKit::StorageAreaImpl::~StorageAreaImpl):
2979
29802013-04-10  Benjamin Poulain  <bpoulain@apple.com>
2981
2982        Mass remove all the empty directories
2983
2984        Rubberstamped by Ryosuke Niwa.
2985
2986        * Platform/CoreIPC/gtk: Removed.
2987        * Platform/CoreIPC/qt: Removed.
2988        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Removed.
2989        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Removed.
2990        * PluginProcess/gtk: Removed.
2991        * Shared/API/c/win: Removed.
2992        * Shared/Plugins/Netscape/win: Removed.
2993        * Shared/cg/win: Removed.
2994        * Shared/win: Removed.
2995        * UIProcess/API/C/win: Removed.
2996        * UIProcess/API/gtk/webkit: Removed.
2997        * UIProcess/Launcher/win: Removed.
2998        * UIProcess/Plugins/gtk: Removed.
2999        * UIProcess/Plugins/win: Removed.
3000        * UIProcess/texmap: Removed.
3001        * UIProcess/win: Removed.
3002        * WebProcess/Authentication/mac: Removed.
3003        * WebProcess/Cookies/efl: Removed.
3004        * WebProcess/Cookies/gtk: Removed.
3005        * WebProcess/Downloads/cf/win: Removed.
3006        * WebProcess/Downloads/cfnet: Removed.
3007        * WebProcess/Downloads/curl: Removed.
3008        * WebProcess/Downloads/efl: Removed.
3009        * WebProcess/Downloads/gtk: Removed.
3010        * WebProcess/Downloads/mac: Removed.
3011        * WebProcess/Downloads/qt: Removed.
3012        * WebProcess/Downloads/soup: Removed.
3013        * WebProcess/FullScreen/gtk: Removed.
3014        * WebProcess/FullScreen/mac: Removed.
3015        * WebProcess/FullScreen/qt: Removed.
3016        * WebProcess/FullScreen/win: Removed.
3017        * WebProcess/InjectedBundle/API/c/win: Removed.
3018        * WebProcess/InjectedBundle/win: Removed.
3019        * WebProcess/KeyValueStorage: Removed.
3020        * WebProcess/Network/CustomProtocols/mac: Removed.
3021        * WebProcess/Plugins/Netscape/gtk: Removed.
3022        * WebProcess/Plugins/Netscape/win: Removed.
3023        * WebProcess/WebCoreSupport/win: Removed.
3024        * WebProcess/WebPage/LayerTreeCoordinator: Removed.
3025        * WebProcess/WebPage/ca/mac: Removed.
3026        * WebProcess/WebPage/ca/win: Removed.
3027        * WebProcess/WebPage/win: Removed.
3028        * WebProcess/win: Removed.
3029        * qt/Resources: Removed.
3030
30312013-04-10  Jaehun Lim  <ljaehun.lim@samsung.com>
3032
3033        [CMAKE] Build fix after r148147, r148148
3034        https://bugs.webkit.org/show_bug.cgi?id=114395
3035
3036        Unreviewed build fix.
3037
3038        Use StorageAreaImpl, StorageNamespaceImpl instead of StorageAreaProxy, StorageNamespaceProxy.
3039
3040        * CMakeLists.txt:
3041
30422013-04-10  Anders Carlsson  <andersca@apple.com>
3043
3044        Add a stubbed out StorageAreaMap class
3045        https://bugs.webkit.org/show_bug.cgi?id=114392
3046
3047        Reviewed by Andreas Kling.
3048
3049        The intention is that StorageAreaMap is going to take over responsibility for storing the storage values in the
3050        web process, as well as dispatching events. A StorageAreaMap will be shared between multiple StorageAreaImpl objects,
3051        for example if multiple frames with the same origin use local storage.
3052
3053        * DerivedSources.make:
3054        * UIProcess/Storage/StorageManager.cpp:
3055        (WebKit::StorageManager::StorageArea::dispatchEvents):
3056        (WebKit::StorageManager::setItem):
3057        * WebKit2.xcodeproj/project.pbxproj:
3058        * WebProcess/Storage/StorageAreaImpl.cpp:
3059        (WebKit::StorageAreaImpl::StorageAreaImpl):
3060        (WebKit::StorageAreaImpl::~StorageAreaImpl):
3061        * WebProcess/Storage/StorageAreaMap.cpp: Added.
3062        (WebKit):
3063        (WebKit::StorageAreaMap::create):
3064        (WebKit::StorageAreaMap::StorageAreaMap):
3065        (WebKit::StorageAreaMap::~StorageAreaMap):
3066        (WebKit::StorageAreaMap::didSetItem):
3067        (WebKit::StorageAreaMap::dispatchStorageEvent):
3068        * WebProcess/Storage/StorageAreaMap.h: Added.
3069        (WebKit):
3070        (StorageAreaMap):
3071        * WebProcess/Storage/StorageAreaMap.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in.
3072
30732013-04-10  Anders Carlsson  <andersca@apple.com>
3074
3075        Rename StorageAreaProxy to StorageAreaImpl.
3076
3077        Rubber-stamped by Beth Dakin.
3078
3079        * DerivedSources.make:
3080        * UIProcess/Storage/StorageManager.cpp:
3081        (WebKit::StorageManager::StorageArea::dispatchEvents):
3082        (WebKit::StorageManager::setItem):
3083        * WebKit2.xcodeproj/project.pbxproj:
3084        * WebProcess/Storage/StorageAreaImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp.
3085        * WebProcess/Storage/StorageAreaImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h.
3086        * WebProcess/Storage/StorageAreaImpl.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.messages.in.
3087        * WebProcess/Storage/StorageNamespaceImpl.cpp:
3088        (WebKit::StorageNamespaceImpl::storageArea):
3089        * WebProcess/Storage/StorageNamespaceImpl.h:
3090        (WebKit):
3091        (StorageNamespaceImpl):
3092
30932013-04-10  Anders Carlsson  <andersca@apple.com>
3094
3095        Rename StorageNamespaceProxy to StorageNamespaceImpl.
3096
3097        Rubber-stamped by Beth Dakin.
3098
3099        * WebKit2.xcodeproj/project.pbxproj:
3100        * WebProcess/Storage/StorageAreaProxy.cpp:
3101        (WebKit::StorageAreaProxy::create):
3102        (WebKit::StorageAreaProxy::StorageAreaProxy):
3103        * WebProcess/Storage/StorageAreaProxy.h:
3104        (StorageAreaProxy):
3105        * WebProcess/Storage/StorageNamespaceImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp.
3106        * WebProcess/Storage/StorageNamespaceImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h.
3107        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3108        (WebKit::WebPlatformStrategies::sessionStorageNamespace):
3109
31102013-04-10  Tim Horton  <timothy_horton@apple.com>
3111
3112        [wk2] Un-pollute TCADA methods with "PageOverlayLayerMap::iterator end"
3113        https://bugs.webkit.org/show_bug.cgi?id=114387
3114
3115        Reviewed by Simon Fraser.
3116
3117        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3118        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3119        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
3120        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3121        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
3122        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
3123        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
3124        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3125
31262013-04-10  Tim Horton  <timothy_horton@apple.com>
3127
3128        [wk2] REGRESSION: Find highlight does not update when the view is resized
3129        https://bugs.webkit.org/show_bug.cgi?id=114382
3130        <rdar://problem/13599797>
3131
3132        Reviewed by Simon Fraser.
3133
3134        Invalidate the page overlays from TiledCoreAnimationDrawingArea::updateGeometry.
3135        This will have no effect if the page overlay hasn't previously asked to be painted
3136        (as drawsContent will remain false on the layer).
3137
3138        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3139        (TiledCoreAnimationDrawingArea): Add invalidateAllPageOverlays.
3140        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3141        (WebKit::TiledCoreAnimationDrawingArea::invalidateAllPageOverlays): Factor this out of didChangeScrollOffsetForAnyFrame.
3142        (WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame): Call invalidateAllPageOverlays.
3143        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Call invalidateAllPageOverlays.
3144
31452013-04-10  Beth Dakin  <bdakin@apple.com>
3146
3147        FindBanner matches are offset when the WKView has a header or footer
3148        https://bugs.webkit.org/show_bug.cgi?id=114314
3149        -and corresponding-
3150        <rdar://problem/13522434>
3151
3152        Reviewed by Simon Fraser.
3153
3154        When calculating the matching rects, also adjust to the scroll offset that is  
3155        relative to the Document.
3156        * WebProcess/WebPage/FindController.cpp:
3157        (WebKit::FindController::rectsForTextMatches):
3158
31592013-04-10  Tobias Mueller  <tobiasmue@gnome.org>
3160
3161        Fixed build failure in Plugin.h: FloatPoint was not in namespace WebCore
3162
3163        make[1]: *** Waiting for unfinished jobs....
3164        In file included from Source/WebKit2/PluginProcess/PluginCreationParameters.h:31:0,
3165                         from Source/WebKit2/PluginProcess/PluginCreationParameters.cpp:27:
3166        ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:58: error: 'FloatPoint' in namespace 'WebCore' does not name a type
3167        ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:77: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
3168        cc1plus: warning: unrecognized command line option "-Wno-c++11-extensions" [enabled by default]
3169        make[1]: *** [Source/WebKit2/PluginProcess/libwebkit2gtk_3_0_la-PluginCreationParameters.lo] Error 1
3170
3171        It now passes that make target.
3172
3173        https://bugs.webkit.org/show_bug.cgi?id=111862
3174
3175        Reviewed by Darin Adler.
3176
3177        * WebProcess/Plugins/Plugin.h:
3178        (WebCore): Added FloatPoint to the WebCore namespace
3179
31802013-04-08  Anders Carlsson  <andersca@apple.com>
3181
3182        Remove unneeded headers from FrameLoader.h
3183        https://bugs.webkit.org/show_bug.cgi?id=114223
3184
3185        Reviewed by Geoffrey Garen.
3186
3187        Include HistoryController.h from WebCore.
3188
3189        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
3190        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3191        * WebProcess/WebPage/WebPage.cpp:
3192
31932013-04-09  Geoffrey Garen  <ggaren@apple.com>
3194
3195        Removed bitrotted TimeoutChecker code
3196        https://bugs.webkit.org/show_bug.cgi?id=114336
3197
3198        Reviewed by Alexey Proskuryakov.
3199
3200        This mechanism hasn't worked for a while.
3201
3202        MarkL is working on a new version of this feature with a distinct
3203        implementation.
3204
3205        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3206        (WebKit::NPJSObject::construct):
3207        (WebKit::NPJSObject::invoke):
3208        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3209        (WebKit::NPRuntimeObjectMap::evaluate):
3210
32112013-04-09  Mark Rowe  <mrowe@apple.com>
3212
3213        <rdar://problem/13617144> WKNavigationData needs to expose the destination of the navigation
3214
3215        Introduce WKNavigationDataCopyNavigationDestinationURL to access the destination of the navigation.
3216
3217        Reviewed by Dan Bernstein.
3218
3219        * UIProcess/API/C/WKNavigationData.cpp:
3220        (WKNavigationDataCopyURL): Add a note about returning the URL from the original request for sake of
3221        backwards-compatibility.
3222        (WKNavigationDataCopyNavigationDestinationURL): Return the URL from our underlying WebNavigationDataStore.
3223        * UIProcess/API/C/WKNavigationData.h:
3224        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3225        (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the current URL in to the WebNavigationDataStore
3226        object. WKNavigationData can retrieve the value that we were previously storing here via the originalRequest.
3227
32282013-04-09  Mark Rowe  <mrowe@apple.com>
3229
3230        <rdar://problem/13617104> WKPageCopySessionState needs to provide more context to the filter callback
3231
3232        Introduce a new value type for WKPageSessionStateFilterCallback that represents the passing
3233        of whole WKBackForwardListItemRefs to the filter callback. This allows clients to consider
3234        more than the original URL of the item when filtering entries from the session state.
3235
3236        Reviewed by Darin Adler.
3237
3238        * UIProcess/API/C/WKPage.cpp:
3239        (WKPageGetSessionBackForwardListItemValueType): Return a static string representing our new value type.
3240        * UIProcess/API/C/WKPage.h:
3241        * UIProcess/cf/WebBackForwardListCF.cpp:
3242        (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Call the filter function with each of the
3243        possible value types in turn, respecting the first false value, if any, that is returned.
3244
32452013-04-10  Anton Obzhirov  <a.obzhirov@samsung.com>
3246
3247        [GTK] Add support for Page Visibility
3248        https://bugs.webkit.org/show_bug.cgi?id=97324
3249
3250        Reviewed by Sam Weinig.
3251
3252        Added new unittest to test page visibility using GTK Widget visibility API.
3253
3254        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3255        (testWebViewPageVisibility):
3256        (beforeAll):
3257        * UIProcess/API/gtk/tests/WebViewTest.cpp:
3258        (WebViewTest::showInWindow):
3259        * UIProcess/API/gtk/tests/WebViewTest.h:
3260
32612013-04-10  Zan Dobersek  <zdobersek@igalia.com>
3262
3263        REGRESSION (r146518): WebKit2APITests/TestInspector is failing
3264        https://bugs.webkit.org/show_bug.cgi?id=113281
3265
3266        Reviewed by Darin Adler.
3267
3268        Changes to the WebInspectorProxy opening processing in r146518 caused the change in how the GTK-specific
3269        WebInspectorProxy code operates, specifically the 'bring-to-front' signal is not emitted anymore when opening the
3270        inspector due to the WebInspectorProxy::bringToFront method now only bringing the inspector window to front if it exists
3271        and opening it (and thus unable to bring it to front) otherwise.
3272
3273        Closing of the inspector through the didClose method is now done immediately after sending the WebInspector::Close()
3274        message to the WebProcess rather than waiting for the WebProcess to communicate back the order of closing. Due to this
3275        the relevant code in the test cases had to be changed to not run the loop but rather just check that the closing was
3276        successful.
3277
3278        (InspectorTest::InspectorTest): Remove the initialization of the now redundant m_quitOnBringToFront member variable.
3279        (InspectorTest::bringToFront): Quit the loop without checking the removed member variable.
3280        (InspectorTest::closed): Do not quit the loop as it is not run anymore.
3281        (InspectorTest::showIdle): A helper method that asynchronously calls the webkit_web_inspector_show method, removing some
3282        unnecessary complexity about under what exact circumstances to quit the loop in open-window/bring-to-front callbacks.
3283        (InspectorTest::show): Replaces the showAndWaitUntilFinished method, adding an idle invocation of the showIdle helper
3284        method and running the loop.
3285        (InspectorTest::close): Formerly closeAndWaitUntilClosed, now does not run the loop anymore as there's no need for it.
3286        (testInspectorDefault): Only the window opening event is now expected upon showing the inspector for the first time.
3287        Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
3288        InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
3289        (CustomInspectorTest::destroyWindow): Formerly destroyWindowAndWaitUntilClosed, the closing is not asynchronous anymore
3290        so the loop is not run.
3291        (testInspectorManualAttachDetach): Only the window opening event is now expected upon showing the inspector for the first time.
3292        Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
3293        InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
3294        (testInspectorCustomContainerDestroyed): Adjusting callsites to use InspectorTest::show and CustomInspectorTest::destroyWindow
3295        instead of InspectorTest::showAndWaitUntilFinished and CustomInspectorTest::destroyWindowAndWaitUntilClosed.
3296        * UIProcess/WebInspectorProxy.cpp:
3297        (WebKit::WebInspectorProxy::show): When showing a connected WebInspectorProxy, call the bringToFront method which will
3298        open the inspector if it's not yet visible or bring it to the front otherwise. 
3299
33002013-04-10  Zan Dobersek  <zandobersek@gmail.com>
3301
3302        [GTK][WK2] Implement WebInspectorProxy::platformInspectedWindowWidth
3303        https://bugs.webkit.org/show_bug.cgi?id=113498
3304
3305        Reviewed by Martin Robinson.
3306
3307        The method was introduced in r147004.
3308
3309        * UIProcess/API/gtk/tests/TestInspector.cpp: Specify the gMinimumAttachedInspectorWidth variable, reflecting the value
3310        of WebInspectorProxy::minimumAttachedWidth. Use it as the width to which the inspected view should be resized in
3311        InspectorTest::resizeViewAndAttach.
3312        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3313        (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Use the gtk_widget_get_allocated_height method to return the
3314        widget height.
3315        (WebKit::WebInspectorProxy::platformInspectedWindowWidth): Newly implemented, similarly uses the
3316        gtk_widget_get_allocated_width method to return the widget width.
3317
33182013-04-09  Antoine Quint  <graouts@apple.com>
3319
3320        WKFrameIsDisplayingMarkupDocument should return true for Web Archives
3321        https://bugs.webkit.org/show_bug.cgi?id=114291
3322
3323        Reviewed by Dean Jackson.
3324
3325        Also return true for the Web Archive MIME type since a Web Archive
3326        is displaying a markup document by nature.
3327
3328        * UIProcess/WebFrameProxy.cpp:
3329        (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
3330
33312013-04-09  Anders Carlsson  <andersca@apple.com>
3332
3333        REGRESSION (r147454): Youtube annotation links to new window broken
3334        https://bugs.webkit.org/show_bug.cgi?id=114242
3335        <rdar://problem/13609940>
3336
3337        Reviewed by Beth Dakin.
3338
3339        Set the current user gesture to "DefinitelyProcessingNewUserGesture" if popups are allowed.
3340
3341        * WebProcess/Plugins/PluginView.cpp:
3342        (WebKit::PluginView::performFrameLoadURLRequest):
3343
33442013-04-09  Anders Carlsson  <andersca@apple.com>
3345
3346        If we fail to decode a message name, pass the message length as the name
3347        https://bugs.webkit.org/show_bug.cgi?id=114305
3348        <rdar://problem/13605703>
3349
3350        Reviewed by Sam Weinig.
3351
3352        * Platform/CoreIPC/ArgumentDecoder.h:
3353        (CoreIPC::ArgumentDecoder::length):
3354        * Platform/CoreIPC/Connection.cpp:
3355        (CoreIPC::Connection::processIncomingMessage):
3356
33572013-04-08  Dean Jackson  <dino@apple.com>
3358
3359        Don't create another plugin process for restarted plugins
3360        https://bugs.webkit.org/show_bug.cgi?id=114233
3361
3362        Reviewed by Geoff Garen.
3363
3364        A snapshotting plugin starts in a separate process from
3365        regular plugins. This can be a little confusing to users
3366        because they might see two plugin processes. We can set
3367        the minimum life and timeout on the snapshotting process
3368        to much smaller values, since the process doesn't need
3369        to live that long. This will reduce some potential
3370        confusion. Also, since there is another plugin process
3371        running real plugins, it should be paged in if it needs
3372        to restart.
3373
3374        There was, however, a bug in the process management. A
3375        restarted plugin received a special PluginProcess::Type,
3376        so that it could cross fade into the page nicely. This
3377        caused it to start a *third* plugin process. Instead
3378        mark a restarted flag directly on the PluginProxy and
3379        revert back to two process types.
3380
3381        * PluginProcess/PluginProcess.h: Remove TypeRestartedProcess.
3382
3383        * UIProcess/Plugins/PluginProcessProxy.cpp: Add two new
3384            timeout values for snapshotting processes.
3385        (WebKit::PluginProcessProxy::didFinishLaunching): Chose which
3386            of the timeout pairs to use.
3387
3388        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
3389        (WebKit::PluginProxy::pluginLayer): Don't look at the process type, instead
3390            look at the process flag to see if we are restarted.
3391        * WebProcess/Plugins/PluginProxy.cpp:
3392        (WebKit::PluginProxy::create): Copy the new flag into constructor.
3393        (WebKit::PluginProxy::PluginProxy): Remember the flag.
3394        * WebProcess/Plugins/PluginProxy.h: Add a new m_restartedProcess flag.
3395
3396        * WebProcess/WebPage/WebPage.cpp:
3397        (WebKit::WebPage::createPlugin): When we are creating the proxy, separate
3398            the concept of snapshotting and restarting.
3399
34002013-04-09  Tim Horton  <timothy_horton@apple.com>
3401
3402        [wk2] IconDatabase images should be decoded in the WebProcess
3403        https://bugs.webkit.org/show_bug.cgi?id=112524
3404        <rdar://problem/10133914>
3405
3406        Reviewed by Oliver Hunt.
3407
3408        In the interests of keeping decoding of data coming in from the greater Internet
3409        in the WebProcess, move decoding of favicons from the UIProcess to the WebProcess.
3410
3411        * UIProcess/WebIconDatabase.cpp:
3412        (WebKit::WebIconDatabase::setIconBitmapForIconURL):
3413        Receive a ShareableBitmap handle from the WebProcess instead of a DataReference.
3414        Use the new setIconBitmapForIconURL IconDatabase method.
3415
3416        * UIProcess/WebIconDatabase.h:
3417        (WebIconDatabase):
3418        Rename setIconDataForIconURL to setIconBitmapForIconURL.
3419
3420        * UIProcess/WebIconDatabase.messages.in: Ditto.
3421
3422        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
3423        (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
3424        In the WebProcess, decode the incoming icon and draw it into a ShareableBitmap.
3425
34262013-04-09  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3427
3428        [EFL] Declare TEST_THEME_DIR in a single place.
3429        https://bugs.webkit.org/show_bug.cgi?id=114285
3430
3431        Reviewed by Anders Carlsson.
3432
3433        * PlatformEfl.cmake: Remove definition of `TEST_THEME_DIR', which is
3434        now defined in OptionsEfl.cmake.
3435
34362013-04-09  Rafael Brandao  <rafael.lobo@openbossa.org>
3437
3438        [CoordinatedGraphics] serviceScriptedAnimations expects time in seconds
3439        https://bugs.webkit.org/show_bug.cgi?id=112582
3440
3441        Reviewed by Andreas Kling.
3442
3443        We've been exposing different time unit for requestAnimationFrame because
3444        of wrong conversion before serviceScriptedAnimations function calls.
3445        Fixed it to use seconds instead of milliseconds.
3446
3447        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3448        (WebKit::CoordinatedLayerTreeHost::syncDisplayState): Remove unnecessary conversion.
3449
34502013-04-09  Michael Brüning  <michael.bruning@digia.com>
3451
3452        [Qt][WK2] Remove obsolete QtWebPageFindClient forward declaration from qquickwebview_p.h.
3453        https://bugs.webkit.org/show_bug.cgi?id=114284
3454
3455        Reviewed by Andreas Kling.
3456
3457        The class QtWebPageFindClient was removed in r142073 when the functionality
3458        was folded into QQuickWebViewPrivate.
3459
3460        * UIProcess/API/qt/qquickwebview_p.h:
3461        (WebKit):
3462
34632013-04-09  Michael Brüning  <michael.bruning@digia.com>
3464
3465        Fix GTK WebKit2 build after r148005.
3466        https://bugs.webkit.org/show_bug.cgi?id=114270
3467
3468        Reviewed by Andreas Kling.
3469
3470        Fix GTK build break that went through the buildbot undetected.
3471
3472        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
3473        (webkit_file_chooser_request_get_selected_files):
3474
34752013-04-09  Michael Brüning  <michael.bruning@digia.com>
3476
3477        [Qt][WK2] Remove direct references to WebPageProxy from QQuickWebPage.
3478        https://bugs.webkit.org/show_bug.cgi?id=112850
3479
3480        Reviewed by Andreas Kling.
3481
3482        Removes direct references to WebPageProxy from QQuickWebPage and prepares the
3483        class for the move to QRawWebView. The access to the device scale factor and
3484        CoordinatedGraphicsScene is provided through QQuickWebViewPrivate, and therefore
3485        accessors to these properties are temporarily added. Eventually, this access will
3486        be provided through QRawWebView when the move is complete.
3487
3488        This also moves the pointer to QtWebPageEventHandler from QQuickWebPagePrivate
3489        to QQuickWebViewPrivate as it is mainly used from there.
3490
3491        * UIProcess/API/qt/qquickwebpage.cpp:
3492        (QQuickWebPagePrivate::QQuickWebPagePrivate):
3493        (QQuickWebPagePrivate::paint):
3494        (QQuickWebPage::updatePaintNode):
3495        * UIProcess/API/qt/qquickwebpage_p.h:
3496        * UIProcess/API/qt/qquickwebpage_p_p.h:
3497        (QQuickWebPagePrivate):
3498        * UIProcess/API/qt/qquickwebview.cpp:
3499        (QQuickWebViewPrivate::initialize):
3500        (QQuickWebViewPrivate::handleMouseEvent):
3501        (QQuickWebViewPrivate::processDidCrash):
3502        (QQuickWebViewPrivate::coordinatedGraphicsScene):
3503        (QQuickWebViewPrivate::deviceScaleFactor):
3504        (QQuickWebViewPrivate::setIntrinsicDeviceScaleFactor):
3505        (QQuickWebViewFlickablePrivate::onComponentComplete):
3506        (QQuickWebView::keyPressEvent):
3507        (QQuickWebView::keyReleaseEvent):
3508        (QQuickWebView::inputMethodEvent):
3509        (QQuickWebView::focusInEvent):
3510        (QQuickWebView::itemChange):
3511        (QQuickWebView::touchEvent):
3512        (QQuickWebView::wheelEvent):
3513        (QQuickWebView::hoverEnterEvent):
3514        (QQuickWebView::hoverMoveEvent):
3515        (QQuickWebView::hoverLeaveEvent):
3516        (QQuickWebView::dragMoveEvent):
3517        (QQuickWebView::dragEnterEvent):
3518        (QQuickWebView::dragLeaveEvent):
3519        (QQuickWebView::dropEvent):
3520        * UIProcess/API/qt/qquickwebview_p_p.h:
3521        (WebCore):
3522        (WebKit):
3523        (QQuickWebViewPrivate):
3524
35252013-04-09  Michael Brüning  <michael.bruning@digia.com>
3526
3527        [Qt][WK2] Use C API to enable Navigator Qt Object.
3528        https://bugs.webkit.org/show_bug.cgi?id=112810
3529
3530        Reviewed by Andreas Kling.
3531
3532        Replace the direct reference to the WebPageProxy with use of
3533        C API.
3534
3535        * UIProcess/API/qt/qquickwebview.cpp:
3536        (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
3537
35382013-04-09  Michael Brüning  <michael.bruning@digia.com>
3539
3540        [WK2] Add C API to copy selected files from WebOpenPanelParameters.
3541        https://bugs.webkit.org/show_bug.cgi?id=112339
3542
3543        Reviewed by Andreas Kling.
3544
3545        Replaces the existing WebOpenPanelParameters::selectedFileNames() method
3546        to return a copy of the selected file names and exposes it through the
3547        C API. This is done in order to reduce the direct use of WebKit2 internal
3548        classes. The implementation is very similar to the one in 
3549        WebOpenPanelParameters::acceptMIMETypes().
3550
3551        This also updates the GTK port, which is the other user of selectedFileNames.
3552
3553        * Shared/WebOpenPanelParameters.cpp:
3554        (WebKit::WebOpenPanelParameters::selectedFileNames):
3555        (WebKit):
3556        * Shared/WebOpenPanelParameters.h:
3557        (WebOpenPanelParameters):
3558        * UIProcess/API/C/WKOpenPanelParameters.cpp:
3559        (WKOpenPanelParametersCopySelectedFileNames):
3560        * UIProcess/API/C/WKOpenPanelParameters.h:
3561        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
3562        (webkit_file_chooser_request_get_selected_files):
3563        * UIProcess/qt/QtWebPageUIClient.cpp:
3564        (WebKit::QtWebPageUIClient::runOpenPanel):
3565
35662013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>
3567
3568        [WK2] Remove build warnings for unused parameters
3569        https://bugs.webkit.org/show_bug.cgi?id=114234
3570
3571        Reviewed by Andreas Kling.
3572
3573        Fix build warnings -Wunused-parameter.
3574
3575        * UIProcess/Storage/StorageManager.cpp:
3576        (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
3577        * UIProcess/WebContext.cpp:
3578        (WebKit::WebContext::requestNetworkingStatistics):
3579        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
3580        * WebProcess/Storage/StorageAreaProxy.cpp:
3581        (WebKit::StorageAreaProxy::removeItem):
3582        (WebKit::StorageAreaProxy::clear):
3583        (WebKit::StorageAreaProxy::dispatchSessionStorageEvent):
3584        (WebKit::StorageAreaProxy::dispatchLocalStorageEvent):
3585        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3586        (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
3587        * WebProcess/WebPage/WebPage.cpp:
3588        (WebKit::WebPage::didFinishLoad):
3589        * WebProcess/WebProcess.cpp:
3590        (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
3591
35922013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3593
3594        [WK2] Drop WebProcess capabilities on Linux using seccomp filters
3595        https://bugs.webkit.org/show_bug.cgi?id=89875
3596
3597        Reviewed by Maciej Stachowiak.
3598
3599        Introduce the foundations of the SeccompFilter-based sandbox. The
3600        hardening of the WebProcess (and potentially PluginProcess, etc)
3601        works by a combination of the two things:
3602
3603        - Blocking syscalls that are not used, reducing the size of the attack
3604        surface.
3605        - Trapping sensitive syscalls and delegating the execution of these
3606        syscalls to a separated trusted process subject to a set of policies.
3607
3608        The initial implementation traps the open()-family of syscalls on WebKit
3609        EFL's and Qt's WebProcess, but it could be easily used by any Linux port,
3610        since the code is suppose to be Linux-compliant. The list of syscalls handled
3611        by the broker process should definitely grow as we mature the
3612        implementation. Other syscalls needs to be handled to get this sandbox
3613        fully functional, like unlink(), mkdir(), etc.
3614
3615        The broker process should be initialized as early as possible on the
3616        sandboxed process main() function, because it only does a fork(), which
3617        is cheap on Linux. That also aims to minimize the resident memory footprint
3618        of the broker process.
3619
3620        Opening of files for upload and saving downloads is not supported yet,
3621        since it should be handled to the UIProcess in a similar fashion as
3622        the Mac port does.
3623
3624        * PlatformEfl.cmake:
3625        * Shared/linux/SeccompFilters/OpenSyscall.cpp: Added.
3626        (WebKit):
3627        (WebKit::OpenSyscall::createFromOpenatContext):
3628        (WebKit::OpenSyscall::createFromCreatContext):
3629        (WebKit::OpenSyscall::OpenSyscall):
3630        (WebKit::OpenSyscall::setResult):
3631        (WebKit::OpenSyscall::execute):
3632        (WebKit::OpenSyscall::encode):
3633        (WebKit::OpenSyscall::decode):
3634        (WebKit::OpenSyscallResult::OpenSyscallResult):
3635        (WebKit::OpenSyscallResult::~OpenSyscallResult):
3636        (WebKit::OpenSyscallResult::encode):
3637        (WebKit::OpenSyscallResult::decode):
3638        * Shared/linux/SeccompFilters/OpenSyscall.h: Added.
3639        (CoreIPC):
3640        (WebKit):
3641        (OpenSyscall):
3642        (WebKit::OpenSyscall::setPath):
3643        (WebKit::OpenSyscall::setFlags):
3644        (WebKit::OpenSyscall::setMode):
3645        (OpenSyscallResult):
3646        (WebKit::OpenSyscallResult::fd):
3647        (WebKit::OpenSyscallResult::errorNumber):
3648        * Shared/linux/SeccompFilters/SeccompBroker.cpp: Added.
3649        (WebKit):
3650        (SeccompBrokerClient):
3651        (WebKit::sendMessage):
3652        (WebKit::receiveMessage):
3653        (WebKit::SIGSYSHandler):
3654        (WebKit::registerSIGSYSHandler):
3655        (WebKit::SeccompBrokerClient::shared):
3656        (WebKit::SeccompBrokerClient::SeccompBrokerClient):
3657        (WebKit::SeccompBrokerClient::~SeccompBrokerClient):
3658        (WebKit::SeccompBrokerClient::dispatch):
3659        (WebKit::SeccompBrokerClient::handleIfOpeningOnlineCPUCount):
3660        (WebKit::SeccompBroker::launchProcess):
3661        (WebKit::SeccompBroker::initialize):
3662        (WebKit::SeccompBroker::runLoop):
3663        * Shared/linux/SeccompFilters/SeccompBroker.h: Added.
3664        (WebKit):
3665        (SeccompBroker):
3666        (WebKit::SeccompBroker::setSyscallPolicy):
3667        (WebKit::SeccompBroker::SeccompBroker):
3668        * Shared/linux/SeccompFilters/SeccompFilters.cpp: Added.
3669        (WebKit):
3670        (WebKit::SeccompFilters::SeccompFilters):
3671        (WebKit::SeccompFilters::~SeccompFilters):
3672        (WebKit::SeccompFilters::addRule):
3673        (WebKit::SeccompFilters::initialize):
3674        * Shared/linux/SeccompFilters/SeccompFilters.h: Added.
3675        (WebKit):
3676        (SeccompFilters):
3677        (WebKit::SeccompFilters::context):
3678        (WebKit::SeccompFilters::platformInitialize):
3679        * Shared/linux/SeccompFilters/SigactionSyscall.cpp: Added.
3680        (WebKit):
3681        (WebKit::SigactionSyscall::createFromContext):
3682        * Shared/linux/SeccompFilters/SigactionSyscall.h: Added.
3683        (WebKit):
3684        (SigactionSyscall):
3685        * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp: Added.
3686        (WebKit):
3687        (WebKit::SigprocmaskSyscall::createFromContext):
3688        * Shared/linux/SeccompFilters/SigprocmaskSyscall.h: Added.
3689        (WebKit):
3690        (SigprocmaskSyscall):
3691        * Shared/linux/SeccompFilters/Syscall.cpp: Added.
3692        (WebKit):
3693        (WebKit::Syscall::createFromContext):
3694        (WebKit::Syscall::createFromDecoder):
3695        (WebKit::Syscall::Syscall):
3696        (WebKit::SyscallResult::createFromDecoder):
3697        (WebKit::SyscallResult::SyscallResult):
3698        * Shared/linux/SeccompFilters/Syscall.h: Added.
3699        (CoreIPC):
3700        (WebKit):
3701        (Syscall):
3702        (WebKit::Syscall::~Syscall):
3703        (WebKit::Syscall::type):
3704        (WebKit::Syscall::setContext):
3705        (WebKit::Syscall::context):
3706        (SyscallResult):
3707        (WebKit::SyscallResult::~SyscallResult):
3708        (WebKit::SyscallResult::type):
3709        * Shared/linux/SeccompFilters/SyscallPolicy.cpp: Added.
3710        (WebKit):
3711        (WebKit::removeTrailingSlash):
3712        (WebKit::SyscallPolicy::hasPermissionForPath):
3713        (WebKit::SyscallPolicy::addFilePermission):
3714        (WebKit::SyscallPolicy::addDirectoryPermission):
3715        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
3716        * Shared/linux/SeccompFilters/SyscallPolicy.h: Added.
3717        (WebKit):
3718        (SyscallPolicy):
3719        * Target.pri:
3720        * WebKit2.pri:
3721        * WebProcess/efl/SeccompFiltersWebProcessEfl.cpp: Added.
3722        (WebKit):
3723        (WebKit::SeccompFiltersWebProcessEfl::SeccompFiltersWebProcessEfl):
3724        (WebKit::SeccompFiltersWebProcessEfl::platformInitialize):
3725        * WebProcess/efl/SeccompFiltersWebProcessEfl.h: Added.
3726        (WebKit):
3727        (SeccompFiltersWebProcessEfl):
3728        * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Added.
3729        (WebKit):
3730        (WebKit::SeccompFiltersWebProcessQt::SeccompFiltersWebProcessQt):
3731        (WebKit::SeccompFiltersWebProcessQt::platformInitialize):
3732        * WebProcess/qt/SeccompFiltersWebProcessQt.h: Added.
3733        (WebKit):
3734        (SeccompFiltersWebProcessQt):
3735        * WebProcess/qt/WebProcessQt.cpp:
3736        (WebKit::WebProcess::platformInitializeWebProcess):
3737        * WebProcess/soup/WebProcessSoup.cpp:
3738        (WebKit::WebProcess::platformInitializeWebProcess):
3739
37402013-04-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3741
3742        [WK2][EFL] Mark not implemented methods in TextCheckerEfl.
3743        https://bugs.webkit.org/show_bug.cgi?id=112261
3744
3745        Reviewed by Anders Carlsson.
3746
3747        There's no need to call client's methods in TextCheckerEfl.cpp if they are not
3748        implemented. Mark them as not implemented until we provide proper implementation.
3749
3750        * UIProcess/efl/TextCheckerEfl.cpp:
3751        (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
3752        (WebKit::TextChecker::setGrammarCheckingEnabled):
3753        (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
3754        (WebKit::TextChecker::checkGrammarOfString):
3755        (WebKit::TextChecker::spellingUIIsShowing):
3756        (WebKit::TextChecker::toggleSpellingUIIsShowing):
3757        (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
3758        (WebKit::TextChecker::updateSpellingUIWithGrammarString):
3759
37602013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3761
3762        Remove HTML Notification
3763        https://bugs.webkit.org/show_bug.cgi?id=114231
3764
3765        Reviewed by Ryosuke Niwa.
3766
3767        * Configurations/FeatureDefines.xcconfig:
3768
37692013-04-08  Tim Horton  <timothy_horton@apple.com>
3770
3771        Don't run primary plugin detection if plugin snapshotting is off
3772        https://bugs.webkit.org/show_bug.cgi?id=114222
3773        <rdar://problem/13603988>
3774
3775        Reviewed by Dean Jackson.
3776
3777        * WebProcess/WebPage/WebPage.cpp:
3778        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
3779
37802013-04-08  Patrick Gansterer  <paroga@webkit.org>
3781
3782        [WIN] Remove WebKit2 source code
3783        https://bugs.webkit.org/show_bug.cgi?id=114096
3784
3785        Reviewed by Anders Carlsson.
3786
3787        Remove conditional includes for the windows platform.
3788
3789        * Shared/API/c/WKBase.h:
3790        * UIProcess/API/C/WKAPICast.h:
3791
37922013-04-08  Geoffrey Garen  <ggaren@apple.com>
3793
3794        Stop #include-ing all of JavaScriptCore in every DOM-related file
3795        https://bugs.webkit.org/show_bug.cgi?id=114220
3796
3797        Reviewed by Sam Weinig.
3798
3799        * Shared/WebCoreArgumentCoders.cpp:
3800        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
3801
38022013-04-08  Brady Eidson  <beidson@apple.com>
3803
3804        Web/Plugin process deadlock initializing async plugins.
3805        <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
3806
3807        Reviewed by Anders Carlsson.
3808
3809       The "Async initialization complete" messages probably don't have to be synchronous.
3810
3811        * PluginProcess/WebProcessConnection.cpp:
3812        (WebKit::WebProcessConnection::createPluginAsynchronously): Notify of initialization success/failure asynchronously.
3813        * WebProcess/Plugins/PluginProxy.messages.in: 
3814
38152013-04-08  Anders Carlsson  <andersca@apple.com>
3816
3817        Add an async version of ResourceHandle::didReceiveResponse
3818        https://bugs.webkit.org/show_bug.cgi?id=114215
3819
3820        Reviewed by Sam Weinig.
3821
3822        * NetworkProcess/NetworkResourceLoader.cpp:
3823        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
3824        Send the message and then call continueDidReceiveResponse.
3825
38262013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3827
3828        [GTK] Build Platform as a separate static library
3829        https://bugs.webkit.org/show_bug.cgi?id=114164
3830
3831        Reviewed by Martin Robinson.
3832
3833        This way we reduce a bit the amount of files compiled twice
3834        because of the plugin process.
3835
3836        * GNUmakefile.am:
3837        * GNUmakefile.list.am:
3838        * Platform/gtk/WorkQueueGtk.cpp: Remove unused header.
3839        * Platform/unix/SharedMemoryUnix.cpp: Ditto.
3840
38412013-04-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3842
3843        [WK2][EFL] WebView: Add callbacks to the WKViewClient to remove direct access to page viewport controller
3844        https://bugs.webkit.org/show_bug.cgi?id=110741
3845
3846        Reviewed by Anders Carlsson.
3847
3848        Provided WKViewClient with didRequestScroll, didRenderFrame and didCompletePageTransition
3849        callbacks so that direct access from WebView to page viewport controller is avoided.
3850
3851        Implementation of callbacks is also added to keep the current EFL WK2 functionality.
3852
3853        * UIProcess/API/C/efl/WKView.h:
3854        * UIProcess/efl/PageLoadClientEfl.cpp:
3855        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
3856
3857            Moved here code from deleted WebView::didCommitLoad.
3858
3859        * UIProcess/efl/ViewClientEfl.cpp:
3860        (WebKit::ViewClientEfl::didChangeContentsPosition):
3861        (WebKit):
3862        (WebKit::ViewClientEfl::didRenderFrame):
3863        (WebKit::ViewClientEfl::didCompletePageTransition):
3864        (WebKit::ViewClientEfl::ViewClientEfl):
3865        * UIProcess/efl/ViewClientEfl.h:
3866        (ViewClientEfl):
3867        * UIProcess/efl/WebView.cpp:
3868        (WebKit::WebView::pageDidRequestScroll):
3869        (WebKit::WebView::didRenderFrame):
3870        (WebKit::WebView::pageTransitionViewportReady):
3871        * UIProcess/efl/WebViewClient.cpp:
3872        (WebKit::WebViewClient::didChangeContentsPosition):
3873        (WebKit):
3874        (WebKit::WebViewClient::didRenderFrame):
3875        (WebKit::WebViewClient::didCompletePageTransition):
3876        * UIProcess/efl/WebViewClient.h:
3877        (WebCore):
3878
38792013-04-08  Andras Becsi  <andras.becsi@digia.com>
3880
3881        [Qt][WK2] WebView's interactive property is not fully respected
3882        https://bugs.webkit.org/show_bug.cgi?id=113066
3883
3884        Reviewed by Jocelyn Turcotte.
3885
3886        WK2 sign-off by Benjamin Poulain.
3887
3888        The QML WebView inherits the "interactive" property from Flickable
3889        which is true by default, and disables the interaction with the
3890        Flickable if set to false.
3891        Resulting from the design of the WebView panning and flicking is
3892        disabled by Flickable but to be consistent we also need to disable
3893        double-tap gestures and pinch gestures since they would trigger
3894        scale and position changes.
3895
3896        * UIProcess/qt/PageViewportControllerClientQt.cpp:
3897        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
3898        (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
3899        (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
3900        * UIProcess/qt/QtWebPageEventHandler.cpp:
3901        (WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
3902
39032013-04-07  David Kilzer  <ddkilzer@apple.com>
3904
3905        Remove the rest of SVG_DOM_OBJC_BINDINGS
3906        <http://webkit.org/b/114112>
3907
3908        Reviewed by Geoffrey Garen.
3909
3910        * Configurations/FeatureDefines.xcconfig:
3911        - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
3912
39132013-04-06  Geoffrey Garen  <ggaren@apple.com>
3914
3915        Try to fix the WebKit2 build.
3916
3917        * NetworkProcess/NetworkResourceLoader.cpp:
3918        (WebKit):
3919        * NetworkProcess/NetworkResourceLoader.h:
3920        (NetworkResourceLoader): Removed a defunct function.
3921
39222013-04-05  Ed Bartosh  <bartosh@gmail.com>
3923
3924        [WK2] --no-tiled-backing-store build fails because FloatPoint is not declared
3925        https://bugs.webkit.org/show_bug.cgi?id=113618
3926
3927        Reviewed by Simon Fraser.
3928
3929        * WebProcess/Plugins/Plugin.h: Forward declared FloatPoint
3930
39312013-04-05  Geoffrey Garen  <ggaren@apple.com>
3932
3933        Made USE(JSC) unconditional
3934        https://bugs.webkit.org/show_bug.cgi?id=114058
3935
3936        Reviewed by Anders Carlsson.
3937
3938        * Shared/linux/WebMemorySamplerLinux.cpp:
3939        (WebKit::WebMemorySampler::sampleWebKit):
3940        * config.h:
3941
39422013-04-05  Ed Bartosh  <bartosh@gmail.com>
3943
3944        [EFL] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)
3945        https://bugs.webkit.org/show_bug.cgi?id=113627
3946
3947        Reviewed by Simon Fraser.
3948
3949        Wrapped code with #if USE(ACCELERATED_COMPOSITING) to make it compilable
3950        with --no-tiled-backing-store build option:
3951        * UIProcess/API/C/efl/WKView.cpp:
3952        * UIProcess/API/efl/EvasGLContext.cpp:
3953        * UIProcess/API/efl/EvasGLContext.h:
3954        * UIProcess/API/efl/EvasGLSurface.cpp:
3955        * UIProcess/API/efl/EvasGLSurface.h:
3956        * UIProcess/API/efl/EwkView.cpp:
3957        (EwkView::EwkView):
3958        (EwkView::displayTimerFired):
3959        (EwkView::takeSnapshot):
3960        * UIProcess/API/efl/EwkView.h:
3961        (WebKit):
3962        (EwkView):
3963        * UIProcess/API/efl/SnapshotImageGL.cpp:
3964        * UIProcess/API/efl/SnapshotImageGL.h:
3965        * UIProcess/PageViewportController.cpp:
3966        * UIProcess/PageViewportController.h:
3967        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3968        * UIProcess/efl/ViewClientEfl.cpp:
3969        (WebKit::ViewClientEfl::didChangeContentsSize):
3970        * UIProcess/efl/WebView.cpp:
3971        (WebKit::WebView::didCommitLoad):
3972        (WebKit::WebView::updateViewportSize):
3973        (WebKit::WebView::didChangeViewportProperties):
3974        (WebKit::WebView::pageDidRequestScroll):
3975        (WebKit::WebView::didRenderFrame):
3976        (WebKit::WebView::pageTransitionViewportReady):
3977
39782013-04-05  Ed Bartosh  <bartosh@gmail.com>
3979
3980        [EFL][WK2] --no-tiled-backing-store build fails because of not used #if USE(COORDINATED_GRAPHICS)
3981        https://bugs.webkit.org/show_bug.cgi?id=113629
3982
3983        Reviewed by Simon Fraser.
3984
3985        Wrapped code related to coordinated graphics with #if USE(COORDINATED_GRAPHICS)
3986        * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
3987        * UIProcess/efl/WebView.cpp:
3988        (WebKit::WebView::initialize):
3989        (WebKit):
3990        (WebKit::WebView::paintToCairoSurface):
3991        (WebKit::WebView::updateViewportSize):
3992
39932013-04-05  Timothy Hatcher  <timothy@apple.com>
3994
3995        Allow the Web Inspector to use WebSQL.
3996
3997        This fixes an exception on load in the Safari Web Inspector.
3998
3999        https://webkit.org/b/114040
4000        rdar://problem/13581422
4001
4002        Reviewed by Anders Carlsson.
4003
4004        * UIProcess/mac/WebInspectorProxyMac.mm:
4005        (WebKit::exceededDatabaseQuota): Added.
4006        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Hook up exceededDatabaseQuota.
4007
40082013-04-04  Brady Eidson  <beidson@apple.com>
4009
4010        Add SPI to get a copy of the context menu at a given point.
4011        <rdar://problem/13450908> and https://bugs.webkit.org/show_bug.cgi?id=113958
4012
4013        Reviewed by Andy Estes.
4014
4015        Add the new accessor: 
4016        * WebProcess/WebPage/WebPage.cpp:
4017        (WebKit::WebPage::contextMenuAtPoint):
4018        * WebProcess/WebPage/WebPage.h:
4019
4020        Expose the new SPI:
4021        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4022        (WKBundlePageCopyContextMenuAtPoint):
4023        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
4024
40252013-04-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4026
4027        [WK2][EFL] WebView should own page position and scale factor
4028        https://bugs.webkit.org/show_bug.cgi?id=111075
4029
4030        Reviewed by Andreas Kling.
4031
4032        View content position and content scale factor should belong to WebView
4033        rather than to EwkView as it decreases EwkView usage inside EFL-agnostic
4034        WebView and improves WebView encapsulation.
4035
4036        * UIProcess/API/C/efl/WKView.cpp:
4037        (WKViewGetContentScaleFactor):
4038        (WKViewSetContentScaleFactor):
4039
4040            New WKView API was added to set and get content scale factor.
4041            The view content scale factor is not the same as page scale factor:
4042            it always applies to content but not necessarily applies to the page.
4043            The view content scale factor is calculated by viewport controller
4044            and applies immediately for painting in UI process. Page scale factor
4045            is updated later after the frame is rendered to accomplish the pending
4046            scale change.
4047
4048        (WKViewGetContentPosition):
4049        (WKViewSetContentPosition):
4050
4051            New WKView API was added to set and get content position.
4052            Content position is set in UI units.
4053
4054        * UIProcess/API/C/efl/WKView.h:
4055        * UIProcess/API/efl/EwkView.cpp:
4056        (EwkView::EwkView):
4057        * UIProcess/API/efl/EwkView.h:
4058        (EwkView):
4059        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
4060        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
4061        (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
4062        * UIProcess/efl/WebView.cpp:
4063        (WebKit::WebView::WebView):
4064        (WebKit::WebView::paintToCairoSurface):
4065        (WebKit::WebView::transformToScene):
4066        (WebKit::WebView::updateViewportSize):
4067        (WebKit::WebView::pageDidRequestScroll):
4068        * UIProcess/efl/WebView.h:
4069        (WebKit::WebView::setContentScaleFactor):
4070        (WebKit::WebView::contentScaleFactor):
4071        (WebView):
4072        (WebKit::WebView::setContentPosition):
4073        (WebKit::WebView::contentPosition):
4074
40752013-04-05  Alberto Garcia  <agarcia@igalia.com>
4076
4077        [GTK][WK2] WebKitLoaderClient: add missing initializers
4078        https://bugs.webkit.org/show_bug.cgi?id=112961
4079
4080        Reviewed by Carlos Garcia Campos.
4081
4082        There are two new attributes: pluginLoadPolicy and pluginDidFail.
4083
4084        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
4085        (attachLoaderClientToView):
4086
40872013-04-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4088
4089        [WK2][EFL] Encapsulate view states set-up within WebView
4090        https://bugs.webkit.org/show_bug.cgi?id=110877
4091
4092        Reviewed by Benjamin Poulain.
4093
4094        View states set-up is encapsulated within WebView. This change
4095        reduces both usage of EwkView inside WebView class and usage of
4096        WebPageProxy inside EwkView class.
4097
4098        New WKView API was added so that EwkView can define whether or not
4099        the view is visible and focused.
4100
4101        * UIProcess/API/C/efl/WKView.cpp:
4102        (WKViewIsFocused):
4103        (WKViewSetIsFocused):
4104        (WKViewIsVisible):
4105        (WKViewSetIsVisible):
4106        * UIProcess/API/C/efl/WKView.h:
4107        * UIProcess/API/efl/EwkView.cpp:
4108        (::handleEvent):
4109        (EwkView::handleEvasObjectShow):
4110        (EwkView::handleEwkViewFocusIn):
4111        (EwkView::handleEwkViewFocusOut):
4112        * UIProcess/API/efl/EwkView.h:
4113        * UIProcess/efl/WebView.cpp:
4114        (WebKit::WebView::WebView):
4115        (WebKit::WebView::setFocused):
4116        (WebKit):
4117        (WebKit::WebView::setVisible):
4118        (WebKit::WebView::isViewFocused):
4119        (WebKit::WebView::isViewVisible):
4120        * UIProcess/efl/WebView.h:
4121        (WebKit::WebView::isFocused):
4122        (WebView):
4123        (WebKit::WebView::isVisible):
4124
41252013-04-04  KwangYong Choi  <ky0.choi@samsung.com>
4126
4127        [EFL][WK2] Add support for getting page contents as string
4128        https://bugs.webkit.org/show_bug.cgi?id=106752
4129
4130        Reviewed by Andreas Kling.
4131
4132        Modified ewk_view_page_contents_get() API to get page contents as string.
4133        EWK_PAGE_CONTENTS_TYPE_STRING is added to Ewk_Page_Contents_Type.
4134        Now, we can use both EWK_PAGE_CONTENTS_TYPE_MHTML and EWK_PAGE_CONTENTS_TYPE_STRING
4135        for getting page contents.
4136
4137        * UIProcess/API/efl/ewk_view.cpp:
4138        (Ewk_Page_Contents_Context):
4139        (ewkViewPageContentsAsMHTMLCallback):
4140        (ewkViewPageContentsAsStringCallback):
4141        (ewk_view_page_contents_get):
4142        * UIProcess/API/efl/ewk_view.h:
4143        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
4144        (PageContentsAsMHTMLCallback):
4145        (PageContentsAsStringCallback):
4146        (TEST_F):
4147
41482013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
4149
4150        [Cairo] Stop passing raw pointers to BitmapImage::create()
4151        https://bugs.webkit.org/show_bug.cgi?id=113945
4152
4153        Reviewed by Martin Robinson.
4154
4155        Pass a smart pointer in to BitmapImage::create() instead of a raw one
4156        for the cairo surface. The factory method prototype was updated for
4157        cairo in r147643.
4158
4159        * Shared/cairo/ShareableBitmapCairo.cpp:
4160        (WebKit::ShareableBitmap::createImage):
4161
41622013-04-03  Dean Jackson  <dino@apple.com>
4163
4164        Expose settings to disable plugin snapshotting autostart and primary detection
4165        https://bugs.webkit.org/show_bug.cgi?id=113918
4166
4167        Reviewed by Tim Horton.
4168
4169        Three new settings: snapshotAllPlugIns, primaryPlugInSnapshotDetectionEnabled and
4170        autostartOriginPlugInSnapshottingEnabled.
4171        These are exposed via WKPreferences (WebKit2 only, since that's the only port actively
4172        using the feature).
4173
4174        * Shared/WebPreferencesStore.h: Add macros for new settings.
4175        * UIProcess/API/C/WKPreferences.cpp: Getters and setters for new settings.
4176        (WKPreferencesSetSnapshotAllPlugIns):
4177        (WKPreferencesGetSnapshotAllPlugIns):
4178        (WKPreferencesSetAutostartOriginPlugInSnapshottingEnabled):
4179        (WKPreferencesGetAutostartOriginPlugInSnapshottingEnabled):
4180        (WKPreferencesSetPrimaryPlugInSnapshotDetectionEnabled):
4181        (WKPreferencesGetPrimaryPlugInSnapshotDetectionEnabled):
4182        * UIProcess/API/C/WKPreferencesPrivate.h:
4183        * WebProcess/WebPage/WebPage.cpp:
4184        (WebKit::WebPage::updatePreferences): Forward settings updates.
4185        (WebKit::WebPage::addPluginView): Don't run primary plugin detection if the setting is false.
4186        (WebKit::WebPage::didFinishLoad): Ditto.
4187
41882013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
4189
4190        [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
4191        https://bugs.webkit.org/show_bug.cgi?id=113929
4192
4193        Reviewed by Martin Robinson.
4194
4195        Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t>
4196        instead of NativeImageCairo*.
4197
4198        * Shared/gtk/ArgumentCodersGtk.cpp:
4199        (CoreIPC::decodeImage):
4200        * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp:
4201        (WKIconDatabaseTryGetCairoSurfaceForURL):
4202        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
4203        (getIconSurfaceSynchronously):
4204
42052013-04-04  Sze Howe Koh  <szehowe.koh@gmail.com>
4206
4207        [Qt] docs: Fix module name format
4208        https://bugs.webkit.org/show_bug.cgi?id=113209
4209
4210        Reviewed by Jocelyn Turcotte.
4211
4212        Make QDoc-generated documentation follow the conventions at
4213        http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
4214
4215        * UIProcess/API/qt/qquickwebview.cpp:
4216
42172013-04-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4218
4219        [WK2][EFL] WebView should own view size
4220        https://bugs.webkit.org/show_bug.cgi?id=110753
4221
4222        Reviewed by Andreas Kling.
4223
4224        WebView owns view size. WKViewGetSize and WKViewSetSize API
4225        is exposed accordingly. Usage of EFL-specific ewkView inside
4226        toolkit-agnostic WebView class is reduced.
4227
4228        * UIProcess/API/C/efl/WKView.cpp:
4229        (WKViewGetSize):
4230        (WKViewSetSize):
4231        * UIProcess/API/C/efl/WKView.h:
4232        * UIProcess/API/efl/EwkView.cpp:
4233        (EwkView::setDeviceScaleFactor):
4234        (EwkView::size):
4235        (EwkView::deviceSize):
4236        (EwkView::scheduleUpdateDisplay):
4237        (EwkView::handleEvasObjectCalculate):
4238        * UIProcess/API/efl/EwkView.h:
4239        (EwkView):
4240        * UIProcess/efl/WebView.cpp:
4241        (WebKit::WebView::setSize):
4242        (WebKit):
4243        (WebKit::WebView::paintToCurrentGLContext):
4244        (WebKit::WebView::updateViewportSize):
4245        (WebKit::WebView::viewSize):
4246        (WebKit::WebView::dipSize):
4247        * UIProcess/efl/WebView.h:
4248        (WebView):
4249        (WebKit::WebView::size):
4250
42512013-04-03  Anders Carlsson  <andersca@apple.com>
4252
4253        Don't try to set the exception port for server connections
4254        https://bugs.webkit.org/show_bug.cgi?id=113910
4255        <rdar://problem/11248925>
4256
4257        Reviewed by Darin Adler.
4258
4259        Treat a SetExceptionPort message to the server connection as an invalid message.
4260
4261        * Platform/CoreIPC/mac/ConnectionMac.cpp:
4262        (CoreIPC::Connection::receiveSourceEventHandler):
4263
42642013-04-02  Mark Rowe  <mrowe@apple.com>
4265
4266        <http://webkit.org/b/113898> Eliminate some code duplication by introducing an array of handlers to register / unregister.
4267
4268        Reviewed by Antti Koivisto.
4269
4270        * UIProcess/mac/WebContextMac.mm:
4271        (OcclusionNotificationHandler): Structure containing the notification name, type and handler.
4272        (WebKit::registerOcclusionNotificationHandlers): Register all of the handlers in the array.
4273        (WebKit::unregisterOcclusionNotificationHandlers): Unregister all of the handlers in the array.
4274
42752013-04-02  Mark Rowe  <mrowe@apple.com>
4276
4277        Enable process suppression when no windows in the application have drawn recently.
4278        <http://webkit.org/b/113854> / <rdar://problem/13540351>
4279
4280        Reviewed by Darin Adler.
4281
4282        * UIProcess/mac/WebContextMac.mm:
4283        (WebKit::applicationWindowModificationsStarted): Note that modifications are no longer stopped.
4284        (WebKit::applicationWindowModificationsStopped): Note that modifications have stopped.
4285        (WebKit::registerOcclusionNotificationHandlers): Register handlers for the start and stop notifications.
4286        (WebKit::unregisterOcclusionNotificationHandlers): Unregister handlers for the start and stop notifications.
4287        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess): Allow suppression if the application is occluded
4288        or the application has not drawn recently.
4289        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess): Ditto.
4290        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses): Ditto.
4291
42922013-04-03  Dean Jackson  <dino@apple.com>
4293
4294        Cross fade into restarted plugin
4295        https://bugs.webkit.org/show_bug.cgi?id=113868
4296
4297        Reviewed by Tim Horton.
4298
4299        Add a new plugin process type that indicates this is a plugin that
4300        has been restarted from snapshotting. On Apple ports, this allows
4301        us to animate the appearance of the plugin so that it crossfades
4302        with the snapshot. Other ports will have to add their own fading.
4303
4304        * PluginProcess/PluginProcess.h: New Type: TypeRestartedProcess.
4305        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
4306        (WebKit::PluginProxy::pluginLayer): When the plugin's CALayer is created, if it
4307            is a restarted plugin, add an opacity animation to fade it in.
4308        * WebProcess/WebPage/WebPage.cpp:
4309        (WebKit::WebPage::createPlugin): Mark restarted plugins with the new process type.
4310
43112013-04-03  Alexey Proskuryakov  <ap@apple.com>
4312
4313        <rdar://problem/13564588> Add a temporary workaround for a build failure.
4314
4315        Fix suggested by Mark Rowe.
4316
4317        * Shared/mac/ChildProcessMac.mm:
4318
43192013-04-03  Alexey Proskuryakov  <ap@apple.com>
4320
4321        [WK2] XMLHttpRequest upload events don't work with NetworkProcess
4322        https://bugs.webkit.org/show_bug.cgi?id=113887
4323
4324        Reviewed by Brady Eidson.
4325
4326        Just forward didSendData client call to WebProcess.
4327
4328        * NetworkProcess/NetworkResourceLoader.cpp:
4329        (WebKit::NetworkResourceLoader::didSendData):
4330        (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Tweaked a comment.
4331        * WebProcess/Network/WebResourceLoader.cpp:
4332        (WebKit::WebResourceLoader::didSendData):
4333        * WebProcess/Network/WebResourceLoader.h:
4334        * WebProcess/Network/WebResourceLoader.messages.in:
4335
43362013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
4337
4338        Remove code for Mac 10.5 and earlier from WTF and WebKit2
4339        https://bugs.webkit.org/show_bug.cgi?id=113844
4340
4341        Reviewed by Benjamin Poulain.
4342
4343        Removed the code for 10.5 and removed if-def for 10.6.
4344
4345        * Shared/mac/PasteboardTypes.mm:
4346        (WebKit::PasteboardTypes::forEditing):
4347
43482013-04-02  Anders Carlsson  <andersca@apple.com>
4349
4350        Be more robust against empty message receiver names in incoming messages
4351        https://bugs.webkit.org/show_bug.cgi?id=113833
4352        <rdar://problem/13284433>
4353
4354        Reviewed by Beth Dakin.
4355
4356        Turns out that we either send or receive messages whose receiver names are empty. This leads to bad things when we try to look
4357        up the message receiver name in a hash map since the empty name is used to represent an empty hash map value.
4358
4359        * Platform/CoreIPC/Connection.cpp:
4360        (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
4361        Sprinkle assertions.
4362
4363        (CoreIPC::Connection::processIncomingMessage):
4364        If the message receiver name is not valid, make sure to call didReceiveInvalidMessage on the client thread.
4365
4366        (CoreIPC::Connection::dispatchDidReceiveInvalidMessage):
4367        Add new helper function.
4368
43692013-04-02  Simon Cooper  <scooper@apple.com>
4370
4371        [Mac][WK2] Don’t let plug-ins use System V shared memory
4372        https://bugs.webkit.org/show_bug.cgi?id=113466
4373        <rdar://problem/13159030>
4374
4375        Reviewed, tweaked and landed by Alexey Proskuryakov.
4376
4377        Instead of allowing plug-ins to request System V shm, give them a
4378        temporary but usable alternative if they try to request it.
4379
4380        * PluginProcess/mac/PluginProcessShim.mm:
4381
43822013-04-02  Anders Carlsson  <andersca@apple.com>
4383
4384        Add WKContextSetInvalidMessageFunction
4385        https://bugs.webkit.org/show_bug.cgi?id=113820
4386        <rdar://problem/12679817>
4387
4388        Reviewed by Tim Horton.
4389
4390        * UIProcess/API/C/WKContext.cpp:
4391        (WKContextSetInvalidMessageFunction):
4392        Call WebContext::didReceiveInvalidMessage.
4393
4394        * UIProcess/API/C/WKContextPrivate.h:
4395        * UIProcess/WebContext.cpp:
4396        (WebKit::WebContext::setInvalidMessageCallback):
4397        Set the global variable.
4398
4399        (WebKit::WebContext::didReceiveInvalidMessage):
4400        Construct a message name string and call the invalid message callback.
4401
4402        * UIProcess/WebProcessProxy.cpp:
4403        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
4404        Call WebContext::didReceiveInvalidMessage.
4405
44062013-04-02  Alexey Proskuryakov  <ap@apple.com>
4407
4408        [Mac] Remove WKCreateNSURLConnectionDelegateProxy
4409        https://bugs.webkit.org/show_bug.cgi?id=113810
4410
4411        Reviewed by Anders Carlsson.
4412
4413        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
4414        (InitWebCoreSystemInterface):
4415
44162013-04-02  Alexey Proskuryakov  <ap@apple.com>
4417
4418        <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
4419        https://bugs.webkit.org/show_bug.cgi?id=113803
4420
4421        Reviewed by Darin Adler.
4422
4423        * Shared/Downloads/mac/DownloadMac.mm: (WebKit::Download::startWithHandle):
4424        Just pass nil instead of proxy.
4425
44262013-04-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
4427
4428        [WK2] Remove repeating code in declaration of WK2 API classes
4429        https://bugs.webkit.org/show_bug.cgi?id=112782
4430
4431        Reviewed by Benjamin Poulain.
4432
4433        The following two lines of code had been repeated in every WK2 API
4434        object class:
4435        1) static const Type APIType = SomeAPIType;
4436        2) virtual Type type() const { return APIType; }
4437
4438        This patch introduces template class 'TypedAPIObject' inherited
4439        from WebKit::APIObject and it contains the common functionality. 
4440        So the new pattern is that API object classes are inherited from
4441        TypedAPIObject (rather than from WebKit::APIObject directly) passing
4442        the corresponding API object type as a template parameter.
4443
4444        The existing API object classes are modified accordingly to the
4445        proposed pattern.
4446
4447        * Shared/APIObject.h:
4448        (WebKit):
4449        (TypedAPIObject):
4450        (WebKit::TypedAPIObject::~TypedAPIObject):
4451        (WebKit::TypedAPIObject::TypedAPIObject):
4452        * Shared/ImmutableArray.h:
4453        (ImmutableArray):
4454        * Shared/ImmutableDictionary.h:
4455        (ImmutableDictionary):
4456        * Shared/WebArchive.h:
4457        (WebArchive):
4458        * Shared/WebArchiveResource.h:
4459        (WebArchiveResource):
4460        * Shared/WebBackForwardListItem.h:
4461        (WebBackForwardListItem):
4462        * Shared/WebBatteryStatus.h:
4463        (WebBatteryStatus):
4464        * Shared/WebCertificateInfo.h:
4465        * Shared/WebConnection.h:
4466        (WebConnection):
4467        * Shared/WebContextMenuItem.h:
4468        (WebContextMenuItem):
4469        * Shared/WebData.h:
4470        * Shared/WebError.h:
4471        (WebKit::WebError::errorCode):
4472        * Shared/WebGeolocationPosition.h:
4473        (WebGeolocationPosition):
4474        * Shared/WebGeometry.h:
4475        * Shared/WebGraphicsContext.h:
4476        (WebGraphicsContext):
4477        * Shared/WebHitTestResult.h:
4478        * Shared/WebImage.h:
4479        (WebImage):
4480        * Shared/WebNetworkInfo.h:
4481        (WebNetworkInfo):
4482        * Shared/WebNumber.h:
4483        * Shared/WebOpenPanelParameters.h:
4484        (WebOpenPanelParameters):
4485        * Shared/WebRenderLayer.h:
4486        * Shared/WebRenderObject.h:
4487        * Shared/WebSecurityOrigin.h:
4488        * Shared/WebSerializedScriptValue.h:
4489        (WebSerializedScriptValue):
4490        * Shared/WebString.h:
4491        * Shared/WebURL.h:
4492        * Shared/WebURLRequest.h:
4493        (WebURLRequest):
4494        * Shared/WebURLResponse.h:
4495        (WebURLResponse):
4496        * Shared/WebUserContentURLPattern.h:
4497        * Shared/mac/ObjCObjectGraph.h:
4498        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
4499        (AuthenticationChallengeProxy):
4500        * UIProcess/Authentication/AuthenticationDecisionListener.h:
4501        (AuthenticationDecisionListener):
4502        * UIProcess/Authentication/WebCredential.h:
4503        (WebCredential):
4504        * UIProcess/Authentication/WebProtectionSpace.h:
4505        (WebProtectionSpace):
4506        * UIProcess/Downloads/DownloadProxy.h:
4507        (DownloadProxy):
4508        * UIProcess/GeolocationPermissionRequestProxy.h:
4509        (GeolocationPermissionRequestProxy):
4510        * UIProcess/Notifications/NotificationPermissionRequest.h:
4511        (NotificationPermissionRequest):
4512        * UIProcess/Notifications/WebNotification.h:
4513        (WebNotification):
4514        * UIProcess/Notifications/WebNotificationManagerProxy.h:
4515        (WebNotificationManagerProxy):
4516        * UIProcess/Plugins/WebPluginSiteDataManager.h:
4517        (WebPluginSiteDataManager):
4518        * UIProcess/WebApplicationCacheManagerProxy.h:
4519        (WebApplicationCacheManagerProxy):
4520        * UIProcess/WebBackForwardList.h:
4521        (WebBackForwardList):
4522        * UIProcess/WebBatteryManagerProxy.h:
4523        (WebBatteryManagerProxy):
4524        * UIProcess/WebContext.h:
4525        (WebContext):
4526        * UIProcess/WebCookieManagerProxy.h:
4527        (WebCookieManagerProxy):
4528        * UIProcess/WebDatabaseManagerProxy.h:
4529        (WebDatabaseManagerProxy):
4530        * UIProcess/WebEditCommandProxy.h:
4531        (WebEditCommandProxy):
4532        * UIProcess/WebFrameProxy.h:
4533        (WebFrameProxy):
4534        * UIProcess/WebGeolocationManagerProxy.h:
4535        (WebGeolocationManagerProxy):
4536        * UIProcess/WebGrammarDetail.h:
4537        (WebGrammarDetail):
4538        * UIProcess/WebIconDatabase.h:
4539        (WebIconDatabase):
4540        * UIProcess/WebInspectorProxy.h:
4541        (WebInspectorProxy):
4542        * UIProcess/WebKeyValueStorageManagerProxy.h:
4543        (WebKeyValueStorageManagerProxy):
4544        * UIProcess/WebMediaCacheManagerProxy.h:
4545        (WebMediaCacheManagerProxy):
4546        * UIProcess/WebNavigationData.h:
4547        (WebNavigationData):
4548        * UIProcess/WebNetworkInfoManagerProxy.h:
4549        (WebNetworkInfoManagerProxy):
4550        * UIProcess/WebOpenPanelResultListenerProxy.h:
4551        (WebOpenPanelResultListenerProxy):
4552        * UIProcess/WebPageGroup.h:
4553        (WebPageGroup):
4554        * UIProcess/WebPageProxy.h:
4555        (WebPageProxy):
4556        * UIProcess/WebPreferences.cpp:
4557        (WebKit::WebPreferences::WebPreferences):
4558        * UIProcess/WebPreferences.h:
4559        (WebPreferences):
4560        * UIProcess/WebResourceCacheManagerProxy.h:
4561        (WebResourceCacheManagerProxy):
4562        * UIProcess/WebTextChecker.h:
4563        (WebTextChecker):
4564        * UIProcess/WebVibrationProxy.h:
4565        (WebVibrationProxy):
4566        * UIProcess/efl/WebPopupItemEfl.h:
4567        (WebPopupItemEfl):
4568        * UIProcess/efl/WebView.h:
4569        * UIProcess/soup/WebSoupRequestManagerProxy.h:
4570        (WebSoupRequestManagerProxy):
4571        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
4572        (InjectedBundleNodeHandle):
4573        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
4574        (InjectedBundleRangeHandle):
4575        * WebProcess/InjectedBundle/InjectedBundle.h:
4576        (InjectedBundle):
4577        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
4578        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
4579        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
4580        (InjectedBundleDOMWindowExtension):
4581        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
4582        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
4583        (InjectedBundleNavigationAction):
4584        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
4585        (InjectedBundleScriptWorld):
4586        * WebProcess/WebPage/PageOverlay.h:
4587        (PageOverlay):
4588        * WebProcess/WebPage/WebFrame.h:
4589        (WebFrame):
4590        * WebProcess/WebPage/WebInspector.h:
4591        (WebInspector):
4592        * WebProcess/WebPage/WebPage.h:
4593        (WebPage):
4594        * WebProcess/WebPage/WebPageGroupProxy.h:
4595        (WebPageGroupProxy):
4596
45972013-04-01  Timothy Hatcher  <timothy@apple.com>
4598
4599        Allow changing Web Inspector dock sides without undocking first.
4600
4601        https://webkit.org/b/113661
4602        rdar://problem/13543127
4603
4604        Reviewed by Joseph Pecoraro.
4605
4606        * UIProcess/WebInspectorProxy.cpp:
4607        (WebKit::WebInspectorProxy::createInspectorPage): Send AttachedBottom and
4608        AttachedRight messages so InspectorFrontendClientLocal knows which side we
4609        are attached.
4610
4611        (WebKit::WebInspectorProxy::canAttach): If we are already attached, allow
4612        attaching again to allow switching sides.
4613
46142013-04-01  Anders Carlsson  <andersca@apple.com>
4615
4616        Nor this! (Who reviewed this anyway!)
4617
4618        * WebProcess/Storage/StorageNamespaceProxy.cpp:
4619        (WebKit::StorageNamespaceProxy::storageArea):
4620
46212013-04-01  Anders Carlsson  <andersca@apple.com>
4622
4623        Didn't mean to commit this!
4624
4625        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
4626
46272013-04-01  Alexey Proskuryakov  <ap@apple.com>
4628
4629        https://bugs.webkit.org/show_bug.cgi?id=113721
4630        <rdar://problem/13549181> REGRESSION (r146929): HTTP auth credentials not reused during session
4631
4632        Reviewed by Brady Eidson.
4633
4634        * NetworkProcess/NetworkResourceLoader.h:
4635        * NetworkProcess/NetworkResourceLoader.cpp:
4636        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Added an override that
4637        we still need. It's not great, but causes no trouble for NetworkProcess.
4638        (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Implement in
4639        terms of sync version to avoid duplicating logic.
4640
46412013-03-05  Anders Carlsson  <andersca@apple.com>
4642
4643        Apply changes from storage events locally
4644        https://bugs.webkit.org/show_bug.cgi?id=111502
4645
4646        Reviewed by Sam Weinig.
4647
4648        * WebProcess/Storage/StorageAreaProxy.cpp:
4649        (WebKit::StorageAreaProxy::StorageAreaProxy):
4650        Store the security origin as a member variable.
4651
4652        (WebKit::StorageAreaProxy::dispatchStorageEvent):
4653        Set the item and call the appropriate event dispatch function.
4654    
4655        (WebKit::StorageAreaProxy::dispatchSessionStorageEvent):
4656        (WebKit::StorageAreaProxy::dispatchLocalStorageEvent):
4657        Add stubs.
4658
4659        * WebProcess/Storage/StorageAreaProxy.h:
4660
46612013-04-01  Alexey Proskuryakov  <ap@apple.com>
4662
4663        <rdar://problem/13490123> Sandbox extension tracking is incorrect when restoring a session
4664        https://bugs.webkit.org/show_bug.cgi?id=113709
4665
4666        Reviewed by Anders Carlsson.
4667
4668        * WebProcess/WebPage/WebPage.cpp:
4669        (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): Added an assertion
4670        to catch extension tracking logic errors that could result in giving an extension to
4671        non-local pages.
4672        (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): Just like
4673        below, clearing m_pendingProvisionalSandboxExtension appears incorrect, even though
4674        I am not aware of any scenarios where this happens in practice.
4675        (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): The load may
4676        be failing exactly because a new one cancels it, so we shouldn't be preventing
4677        the new one from using its extension.
4678
46792013-04-01  Brady Eidson  <beidson@apple.com>
4680
4681        SharedMemory release build hardening.
4682        <rdar://problem/13546860> and https://bugs.webkit.org/show_bug.cgi?id=113710
4683
4684        Reviewed by Anders Carlsson.
4685
4686        Successful creation of a memory entry with a size less than the size we requested should be treated
4687        as a failure to create the SharedMemory object.
4688
4689        * Platform/mac/SharedMemoryMac.cpp:
4690        (WebKit::SharedMemory::createFromVMBuffer): Early return if the port we get is bogus for our needs.
4691        (WebKit::SharedMemory::createHandle): Ditto.
4692        (WebKit::SharedMemory::create): Guarantee we pass valid input in to mach_vm_map.
4693
46942013-03-30  Csaba Osztrogonác  <ossy@webkit.org>
4695
4696        Unreviewed buildfix after r147260.
4697
4698        * WebProcess/qt/QtBuiltinBundlePage.cpp:
4699        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
4700
47012013-03-29  Seokju Kwon  <seokju.kwon@gmail.com>
4702
4703        [EFL] Unreviewed build fix after r147251
4704        https://bugs.webkit.org/show_bug.cgi?id=113631
4705
4706        Unreviewed build fix.
4707
4708        Add NETWORK_PROCESS guard.
4709
4710        * UIProcess/WebResourceCacheManagerProxy.cpp:
4711        (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
4712
47132013-03-29  Brady Eidson  <beidson@apple.com>
4714
4715        Crash when "willSendRequest" causes the ResourceLoader to be cancelled.
4716        <rdar://problem/13531679> and https://bugs.webkit.org/show_bug.cgi?id=113616
4717
4718        Reviewed by Alexey Proskuryakov.
4719
4720        These callbacks to the WebCore ResourceLoader can cause the WebResourceLoader to be destroyed.
4721        A RefPtr<> protector fixes that.
4722
4723        Additionally we can invalidate the WebResourceLoader to avoid unnecessary callbacks to the NetworkProcess.
4724
4725        * WebProcess/Network/WebResourceLoadScheduler.cpp:
4726        (WebKit::WebResourceLoadScheduler::remove): Call detachFromCoreLoader() on a removed WebResourceLoader.
4727
4728        * WebProcess/Network/WebResourceLoader.cpp:
4729        (WebKit::WebResourceLoader::detachFromCoreLoader): Clear out the ResourceLoader pointer.
4730        (WebKit::WebResourceLoader::willSendRequest): Protect this, and don't message back to the NetworkProcess if its not needed.
4731        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto
4732        (WebKit::WebResourceLoader::didReceiveResource): Paranoid hardening - Protect this before delivering the data to the WebCore
4733          ResourceLoader, and null check it before delivering the "didFinishLoader" call.
4734        * WebProcess/Network/WebResourceLoader.h:
4735
47362013-03-29  Brady Eidson  <beidson@apple.com>
4737
4738        Should never send events to plugins waiting on asynchronous initialization.
4739        <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
4740
4741        Reviewed by Anders Carlsson.
4742
4743        Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
4744
4745        A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
4746
4747        * WebProcess/Plugins/PluginProxy.cpp:
4748        (WebKit::PluginProxy::handleMouseEvent):
4749        (WebKit::PluginProxy::handleWheelEvent):
4750        (WebKit::PluginProxy::handleMouseEnterEvent):
4751        (WebKit::PluginProxy::handleMouseLeaveEvent):
4752        (WebKit::PluginProxy::handleKeyboardEvent):
4753        (WebKit::PluginProxy::handleEditingCommand):
4754        (WebKit::PluginProxy::isEditingCommandEnabled):
4755        (WebKit::PluginProxy::handlesPageScaleFactor):
4756
47572013-03-29  Brady Eidson  <beidson@apple.com>
4758
4759        Should never send events to plugins waiting on asynchronous initialization.
4760        <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
4761
4762        Reviewed by Anders Carlsson.
4763
4764        Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
4765
4766        A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
4767
4768        * WebProcess/Plugins/PluginProxy.cpp:
4769        (WebKit::PluginProxy::handleMouseEvent):
4770        (WebKit::PluginProxy::handleWheelEvent):
4771        (WebKit::PluginProxy::handleMouseEnterEvent):
4772        (WebKit::PluginProxy::handleMouseLeaveEvent):
4773        (WebKit::PluginProxy::handleKeyboardEvent):
4774        (WebKit::PluginProxy::handleEditingCommand):
4775        (WebKit::PluginProxy::isEditingCommandEnabled):
4776        (WebKit::PluginProxy::handlesPageScaleFactor):
4777
47782013-03-29  Alexey Proskuryakov  <ap@apple.com>
4779
4780        Expose FeatureObserver data to WebKit clients
4781        https://bugs.webkit.org/show_bug.cgi?id=113613
4782
4783        Reviewed by Sam Weinig.
4784
4785        * Shared/APIClientTraits.cpp:
4786        * Shared/APIClientTraits.h:
4787        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4788        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4789        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
4790        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
4791        Added a new injected bundle client call, featuresUsedInPage.
4792
4793        * WebProcess/WebPage/WebPage.cpp:
4794        (WebKit::WebPage::close):
4795        (WebKit::WebPage::didCommitLoad):
4796        (WebKit::WebPage::reportUsedFeatures):
4797        * WebProcess/WebPage/WebPage.h:
4798        Report features used in a page when navigating away, or when closing.
4799
48002013-03-29  Brady Eidson  <beidson@apple.com>
4801
4802        Crash when "willSendRequest" causes the ResourceLoader to be cancelled.
4803        <rdar://problem/13531679> and https://bugs.webkit.org/show_bug.cgi?id=113616
4804
4805        Reviewed by Alexey Proskuryakov.
4806
4807        These callbacks to the WebCore ResourceLoader can cause the WebResourceLoader to be destroyed.
4808        A RefPtr<> protector fixes that.
4809
4810        Additionally we can invalidate the WebResourceLoader to avoid unnecessary callbacks to the NetworkProcess.
4811
4812        * WebProcess/Network/WebResourceLoadScheduler.cpp:
4813        (WebKit::WebResourceLoadScheduler::remove): Call detachFromCoreLoader() on a removed WebResourceLoader.
4814
4815        * WebProcess/Network/WebResourceLoader.cpp:
4816        (WebKit::WebResourceLoader::detachFromCoreLoader): Clear out the ResourceLoader pointer.
4817        (WebKit::WebResourceLoader::willSendRequest): Protect this, and don't message back to the NetworkProcess if its not needed.
4818        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto
4819        (WebKit::WebResourceLoader::didReceiveResource): Paranoid hardening - Protect this before delivering the data to the WebCore
4820          ResourceLoader, and null check it before delivering the "didFinishLoader" call.
4821        * WebProcess/Network/WebResourceLoader.h:
4822
48232013-03-29  Brady Eidson  <beidson@apple.com>
4824
4825        Should never send events to plugins waiting on asynchronous initialization.
4826        <rdar://problem/13538945> and https://bugs.webkit.org/show_bug.cgi?id=113612
4827
4828        Reviewed by Anders Carlsson.
4829
4830        Sending mouse and keyboard events to a plugin in the middle of asynchronous initialization is silly.
4831
4832        A quick audit of the sendSync() messages in PluginProxy suggests the following 8 can just have an early return:
4833
4834        * WebProcess/Plugins/PluginProxy.cpp:
4835        (WebKit::PluginProxy::handleMouseEvent):
4836        (WebKit::PluginProxy::handleWheelEvent):
4837        (WebKit::PluginProxy::handleMouseEnterEvent):
4838        (WebKit::PluginProxy::handleMouseLeaveEvent):
4839        (WebKit::PluginProxy::handleKeyboardEvent):
4840        (WebKit::PluginProxy::handleEditingCommand):
4841        (WebKit::PluginProxy::isEditingCommandEnabled):
4842        (WebKit::PluginProxy::handlesPageScaleFactor):
4843
48442013-03-29  Brady Eidson  <beidson@apple.com>
4845
4846        "Empty cache..." clears the disk cache from each WebProcess.
4847        <rdar://problem/12456652> and https://bugs.webkit.org/show_bug.cgi?id=113603
4848
4849        Reviewed by Sam Weinig.
4850
4851        * NetworkProcess/NetworkProcess.cpp:
4852        (WebKit::NetworkProcess::NetworkProcess):
4853        (WebKit::NetworkProcess::terminate): Override ChildProcess::terminate to allow us to finish clearing the cache.
4854        * NetworkProcess/NetworkProcess.h:
4855
4856        * NetworkProcess/NetworkProcess.messages.in: Add the ClearCacheForAllOrigins message.
4857
4858        * NetworkProcess/mac/NetworkProcessMac.mm:
4859        (WebKit::NetworkProcess::clearCacheForAllOrigins): Clear the disk cache.
4860        (WebKit::NetworkProcess::platformTerminate): Wait for the clear to complete.
4861
4862        * UIProcess/WebResourceCacheManagerProxy.cpp:
4863        (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): Message the network process, also.
4864
4865        * WebProcess/mac/WebProcessMac.mm:
4866        (WebKit::WebProcess::platformClearResourceCaches): Don't clear the disk cache if we use the network process.
4867
48682013-03-28  Brady Eidson  <beidson@apple.com>
4869
4870        We leak NetworkConnectionToWebProcess objects.
4871        <rdar://problem/13393118> and https://bugs.webkit.org/show_bug.cgi?id=113551
4872
4873        Reviewed by Anders Carlsson.
4874
4875        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
4876        (WebKit::NetworkConnectionToWebProcess::didClose): Remove this from the global set
4877          of NetworkConnectionToWebProcess objects.
4878
48792013-03-28  Brady Eidson  <beidson@apple.com>
4880
4881        Resources are never revalidated/reloaded if a cached response exists on disk.
4882        <rdar://problem/13479890> and https://bugs.webkit.org/show_bug.cgi?id=113542
4883
4884        Reviewed by Alexey Proskuryakov.
4885
4886        Trying to get a cached resource in didReceiveResponse and then aborting the load
4887        meant we never performed any new loads.
4888
4889        We can check and see if the data is cached data inside didReceiveBuffer, instead.
4890
4891        * NetworkProcess/NetworkResourceLoader.cpp:
4892        (WebKit::NetworkResourceLoader::didReceiveResponse): Don't try for cached resources here.
4893        (WebKit::NetworkResourceLoader::didReceiveData): This callback should never be used.
4894        (WebKit::NetworkResourceLoader::didReceiveBuffer): Try to see if this data objected represents
4895          a file based mmaped buffer.
4896        * NetworkProcess/NetworkResourceLoader.h:
4897
4898        Refactor these utility functions to start from either a CFURLCachedResponse or a SharedBuffer:
4899        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
4900        (CFCachedURLResponseGetMemMappedData):
4901        (CFURLCacheIsMemMappedData):
4902        (WebKit::tryGetShareableHandleFromCFData):
4903        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
4904        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
4905
49062013-03-28  Tim Horton  <timothy_horton@apple.com>
4907
4908        [wk2] REGRESSION (r125500): WebFrameLoaderClient's active m_pluginView can be zeroed by PluginDocuments leaving the page cache
4909        https://bugs.webkit.org/show_bug.cgi?id=113430
4910        <rdar://problem/12729564>
4911
4912        Reviewed by Brady Eidson.
4913
4914        http://trac.webkit.org/changeset/147152 was wrong, and should have been
4915        (as the ChangeLog stated) testing the argument to redirectDataToPlugin,
4916        not the value of m_pluginView.
4917
4918        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4919        (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
4920
49212013-03-28  Tim Horton  <timothy_horton@apple.com>
4922
4923        [wk2] REGRESSION (r125500): WebFrameLoaderClient's active m_pluginView can be zeroed by PluginDocuments leaving the page cache
4924        https://bugs.webkit.org/show_bug.cgi?id=113430
4925        <rdar://problem/12729564>
4926
4927        Reviewed by Brady Eidson.
4928
4929        Ignore redirectDataToPlugin(0), which is only called from PluginDocument::detach(),
4930        and only after r125500. Otherwise, PluginDocuments that are put into the page cache
4931        but leave later can clear a totally different and legitimate PluginView from the
4932        WebFrameLoaderClient, causing data to be lost and PluginDocument loads to stall.
4933
4934        This restores our behavior to the pre-r125500 state, which should be fine, as we
4935        clear WebFrameLoaderClient's m_pluginView when the load fails or finishes. This
4936        matches the changes made in r125500 for every platform other than Chromium and WebKit2.
4937
4938        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4939        (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
4940
49412013-03-28  Tim Horton  <timothy_horton@apple.com>
4942
4943        PDFPlugin: shouldUsePDFPlugin can't use pdfLayerControllerClass() because it asserts if it's not available
4944        https://bugs.webkit.org/show_bug.cgi?id=113533
4945        <rdar://problem/13528720>
4946
4947        Reviewed by Simon Fraser.
4948
4949        * WebProcess/WebPage/WebPage.cpp:
4950        * WebProcess/WebPage/mac/WebPageMac.mm:
4951        (WebKit::WebPage::shouldUsePDFPlugin):
4952        Move shouldUsePDFPlugin to WebPageMac, where it belongs, and explicitly look up PDFLayerController
4953        instead of using pdfLayerControllerClass(), which ASSERT()s if it isn't available.
4954
49552013-03-28  Brady Eidson  <beidson@apple.com>
4956
4957        Reduce PluginProcess lifetime.
4958        <rdar://problem/12465479> and https://bugs.webkit.org/show_bug.cgi?id=113523
4959
4960        Reviewed by Sam Weinig.
4961
4962        Lower the minimum process lifetime from 30 minutes to 2 minutes.
4963        Lower the "shutdown after last plugin goes away" period from 10 minutes to 1 minute.
4964
4965        * UIProcess/Plugins/PluginProcessProxy.cpp:
4966
49672013-03-28  Zan Dobersek  <zdobersek@igalia.com>
4968
4969        [GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la
4970        https://bugs.webkit.org/show_bug.cgi?id=112546
4971
4972        Reviewed by Martin Robinson.
4973
4974        * GNUmakefile.am: Reference the platform_webcore_cppflags and GTK, libsecret and libsoup dependencies' cflags amongst the
4975        libPlatformGtk2's CPPFLAGS.
4976        * Scripts/generate-forwarding-headers.pl: Remove the Platform framework from the list of the frameworks to be searched
4977        for forwarding headers, it's at the moment not necessary to be included.
4978        * Shared/gtk/ArgumentCodersGtk.cpp: Adjust the forwarding header for GtkVersioning.h that's been moved back under the
4979        WebCore framework.
4980        * Shared/gtk/WebEventFactory.cpp: Ditto.
4981        * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
4982        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Ditto.
4983
49842013-03-27  Tim Horton  <timothy_horton@apple.com>
4985
4986        Unreviewed Qt build fix after http://trac.webkit.org/changeset/147067.
4987
4988        * WebProcess/WebPage/WebPage.cpp:
4989
49902013-03-27  Tim Horton  <timothy_horton@apple.com>
4991
4992        PDFPlugin: Enable PDFPlugin only if its dependencies exist on the system
4993        https://bugs.webkit.org/show_bug.cgi?id=113372
4994        <rdar://problem/12685301>
4995
4996        Reviewed by Alexey Proskuryakov.
4997
4998        * Shared/mac/PDFKitImports.h: Wrap in #if PLATFORM(MAC).
4999        * WebProcess/WebPage/WebPage.cpp:
5000        (WebKit::WebPage::createPlugin): Use shouldUsePDFPlugin.
5001        (WebKit::WebPage::shouldUsePDFPlugin): If the PDFPlugin setting is enabled but PDFLayerController is not available, don't use PDFPlugin.
5002        * WebProcess/WebPage/WebPage.h:
5003        (WebPage): Add shouldUsePDFPlugin
5004        * WebProcess/WebPage/mac/WebPageMac.mm:
5005        (WebKit::WebPage::platformPreferencesDidChange): Use shouldUsePDFPlugin.
5006
50072013-03-27  Sam Weinig  <sam@webkit.org>
5008
5009        [WebKit2] Need SPI to determine whether a plug-in is blocked
5010        https://bugs.webkit.org/show_bug.cgi?id=113463
5011
5012        Reviewed by Anders Carlsson.
5013
5014        Add new SPI, WKContextCopyPlugInInfoForBundleIdetifier, to get data about a plug-in,
5015        including whether it is blocked by x-protect.
5016
5017        * UIProcess/WebLoaderClient.cpp:
5018        * UIProcess/API/C/WKAPICast.h:
5019        (WebKit::toWKPluginLoadPolicy):
5020        (WebKit::toPluginModuleLoadPolicy):
5021        Move to a shared location.
5022
5023        * UIProcess/API/C/mac/WKContextPrivateMac.h:
5024        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
5025        (WKContextIsPlugInUpdateAvailable):
5026        (WKPlugInInfoPathKey):
5027        (WKPlugInInfoBundleIdentifierKey):
5028        (WKPlugInInfoVersionKey):
5029        (WKPlugInInfoLoadPolicyKey):
5030        (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
5031        (WKContextCopyPlugInInfoForBundleIdetifier):
5032        Add new SPI and dictionary keys.
5033
5034        * UIProcess/Plugins/PluginInfoStore.cpp:
5035        (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
5036        * UIProcess/Plugins/PluginInfoStore.h:
5037        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
5038        (WebKit::PluginInfoStore::findPluginWithBundleIdentifer):
5039        Add function to lookup plug-ins by bundle identifier.
5040
50412013-03-27  Beth Dakin  <bdakin@apple.com>
5042
5043        WKBundlePagePrivateMac.h is not being exported
5044        https://bugs.webkit.org/show_bug.cgi?id=113470
5045        -and corresponding-
5046        <rdar://problem/13522909>
5047
5048        Reviewed by Sam Weinig.
5049
5050        Mark it as private instead of project.
5051        * WebKit2.xcodeproj/project.pbxproj:
5052
50532013-03-26  Beth Dakin  <bdakin@apple.com>
5054
5055        Need WK2 API to give a WebView a header and footer
5056        https://bugs.webkit.org/show_bug.cgi?id=113352
5057        -and corresponding-
5058        <rdar://problem/13383835>
5059
5060        Reviewed by Simon Fraser.
5061
5062        New API allows setting and getting layers for a header and footer.
5063
5064        * WebKit2.xcodeproj/project.pbxproj:
5065        * WebProcess/InjectedBundle/API/c/mac: Added.
5066        * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Added.
5067        * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Added.
5068        (WKBundlePageGetHeaderLayer):
5069        (WKBundlePageSetHeaderLayer):
5070        (WKBundlePageGetFooterLayer):
5071        (WKBundlePageSetFooterLayer):
5072        * WebProcess/WebPage/WebPage.h:
5073        (WebPage):
5074        * WebProcess/WebPage/mac/WebPageMac.mm:
5075        (WebKit::WebPage::setTopOverhangImage):
5076        (WebKit::WebPage::setBottomOverhangImage):
5077        (WebKit):
5078        (WebKit::WebPage::getHeaderLayer):
5079        (WebKit::WebPage::setHeaderLayerWithHeight):
5080        (WebKit::WebPage::getFooterLayer):
5081        (WebKit::WebPage::setFooterLayerWithHeight):
5082
50832013-03-27  Jer Noble  <jer.noble@apple.com>
5084
5085        Going full screen and cancelling gets system into a weird state
5086        https://bugs.webkit.org/show_bug.cgi?id=113445
5087
5088        Reviewed by Eric Carlson.
5089
5090        Replace an array of BOOL member variables to track full screen state with a single enum, and
5091        add state tracking for the "waiting to enter" and "waiting to exit" states. Use this new,
5092        more specific enum to be more stringent about the state when responding to WebProcess
5093        messages. Also only set the placeholder view's target once in full screen mode.
5094
5095        * UIProcess/mac/WKFullScreenWindowController.h:
5096        * UIProcess/mac/WKFullScreenWindowController.mm:
5097        (-[WKFullScreenWindowController isFullScreen]): Yes when in full screen, entering full screen,
5098            or waiting to enter full screen.
5099        (-[WKFullScreenWindowController cancelOperation:]): Only requestExitFullScreen() if a watchdog
5100            has not already been made active.
5101        (-[WKFullScreenWindowController enterFullScreen:]): Use the new state variable.
5102        (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
5103        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto. Set the placeholder target.
5104        (-[WKFullScreenWindowController exitFullScreen]): Ditto. Clear the placeholder target.
5105        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
5106        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Ditto.
5107        (-[WKFullScreenWindowController performClose:]): Ditto.
5108        (-[WKFullScreenWindowController close]): Ditto.
5109        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
5110
51112013-03-27  Brady Eidson  <beidson@apple.com>
5112
5113        Blind attempt at fixing the release build.
5114
5115        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
5116        (WebKit::NetworkResourceLoader::willCacheResponseAsync):
5117
51182013-03-27  Brady Eidson  <beidson@apple.com>
5119
5120        Mem mapped resource data improvements.
5121        <rdar://problem/13196481> and https://bugs.webkit.org/show_bug.cgi?id=113422
5122
5123        Reviewed by Alexey Proskuryakov (and looked over by Geoff Garen).
5124
5125        Remove timer-based approach support code:
5126        * NetworkProcess/NetworkResourceLoader.cpp:
5127        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
5128        (WebKit::NetworkResourceLoader::abortInProgressLoad):
5129        (WebKit::NetworkResourceLoader::didFinishLoading):
5130        * NetworkProcess/NetworkResourceLoader.h:
5131
5132        Add an object to encapsulate monitoring a resource going in to the disk cache.
5133        It listens for a callback on the cached response indicating it is disk backed
5134        and also sets a timeout so we don't keep the monitor alive and waiting forever.
5135        * NetworkProcess/mac/DiskCacheMonitor.h: Added.
5136        (WebKit::DiskCacheMonitor::destinationID):
5137        (WebKit::DiskCacheMonitor::connectionToWebProcess):
5138        (WebKit::DiskCacheMonitor::resourceRequest):
5139        * NetworkProcess/mac/DiskCacheMonitor.mm: Added.
5140        (CFCachedURLResponseSetBecameFileBackedCallBackBlock):
5141        (WebKit::monitorFileBackingStoreCreation):
5142        (WebKit::DiskCacheMonitor::DiskCachingMonitor):
5143        (WebKit::DiskCacheMonitor::connection):
5144
5145        Refactoring and monitor certain cached responses:
5146        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
5147        (CFCachedURLResponseGetMemMappedData):
5148        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse): Use CFCachedURLResponseGetMemMappedData
5149          to explicitly get an mem-mapped data object.
5150        (WebKit::NetworkResourceLoader::tryGetShareableHandleForResource):
5151        (WebKit::NetworkResourceLoader::willCacheResponseAsync): If the resource is over the minimum
5152          size then set up a disk caching monitor.
5153
5154        * WebKit2.xcodeproj/project.pbxproj:
5155
51562013-03-26  Timothy Hatcher  <timothy@apple.com>
5157
5158        Add support for dock-to-right of the Web Inspector in the Mac port.
5159
5160        Unfortunately this requires Safari changes, so it is disabled in the nightly builds.
5161
5162        https://webkit.org/b/113341
5163        rdar://problem/10368152
5164
5165        Reviewed by Joseph Pecoraro.
5166
5167        * Resources/Dock.pdf: Removed.
5168        * Resources/DockBottom.pdf: Added.
5169        * Resources/DockRight.pdf: Added.
5170        * Shared/WebPreferencesStore.h:
5171        * UIProcess/WebInspectorProxy.cpp:
5172        (WebKit::WebInspectorProxy::WebInspectorProxy):
5173        (WebKit::WebInspectorProxy::attachBottom):
5174        (WebKit::WebInspectorProxy::attachRight):
5175        (WebKit::WebInspectorProxy::attach):
5176        (WebKit::WebInspectorProxy::detach):
5177        (WebKit::WebInspectorProxy::setAttachedWindowWidth):
5178        (WebKit::WebInspectorProxy::createInspectorPage):
5179        (WebKit::WebInspectorProxy::canAttach):
5180        * UIProcess/WebInspectorProxy.h:
5181        (WebInspectorProxy):
5182        * UIProcess/WebInspectorProxy.messages.in:
5183        * UIProcess/mac/WebInspectorProxyMac.mm:
5184        (-[WKWebInspectorProxyObjCAdapter attachRight:]):
5185        (-[WKWebInspectorProxyObjCAdapter attachBottom:]):
5186        (-[WKWebInspectorWindow _cursorForResizeDirection:]):
5187        (-[WKWebInspectorWindow _customTitleFrame]):
5188        (WebKit::createDockButton):
5189        (WebKit::WebInspectorProxy::createInspectorWindow):
5190        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
5191        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
5192        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
5193        (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
5194        (WebKit::WebInspectorProxy::platformAttach):
5195        (WebKit::WebInspectorProxy::platformDetach):
5196        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
5197        (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth):
5198        * WebKit2.xcodeproj/project.pbxproj:
5199        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
5200        (WebKit::WebInspectorFrontendClient::attachWindow):
5201        (WebKit::WebInspectorFrontendClient::setAttachedWindowWidth):
5202        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
5203        (WebInspectorFrontendClient):
5204        * WebProcess/WebPage/WebInspector.cpp:
5205        (WebKit::WebInspector::attachBottom):
5206        (WebKit::WebInspector::attachRight):
5207        (WebKit::WebInspector::setAttachedWindowWidth):
5208        (WebKit::WebInspector::attachedBottom):
5209        (WebKit::WebInspector::attachedRight):
5210        (WebKit::WebInspector::detached):
5211        * WebProcess/WebPage/WebInspector.h:
5212        (WebInspector):
5213        * WebProcess/WebPage/WebInspector.messages.in:
5214
52152013-03-27  Kondapally Kalyan  <kalyan.kondapally@intel.com>
5216
5217        [CoordGfx] Support to share GraphicsSurface flags with client.
5218        https://bugs.webkit.org/show_bug.cgi?id=112982
5219
5220        Reviewed by Noam Rosenthal.
5221
5222        Covered by existing WebGL tests.
5223
5224        This patch adds support to pass GraphicsSurface flags
5225        during it's client creation.
5226
5227        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
5228        (CoreIPC::::encode):
5229        (CoreIPC::::decode):
5230
52312013-03-26  Hayato Ito  <hayato@chromium.org>
5232
5233        Allow ShadowContents in HitTests by default.
5234        https://bugs.webkit.org/show_bug.cgi?id=113171
5235
5236        Reviewed by Dimitri Glazkov.
5237
5238        * WebProcess/WebPage/WebFrame.cpp:
5239        (WebKit::WebFrame::hitTest):
5240        * WebProcess/WebPage/WebPage.cpp:
5241        (WebKit::WebPage::highlightPotentialActivation):
5242        (WebKit::WebPage::findZoomableAreaForPoint):
5243        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
5244        * WebProcess/WebPage/mac/WebPageMac.mm:
5245        (WebKit::WebPage::shouldDelayWindowOrderingEvent):
5246        (WebKit::WebPage::acceptsFirstMouse):
5247
52482013-03-26  Tim Horton  <timothy_horton@apple.com>
5249
5250        [ca] Tell CA to clean up unused resources if a given WebProcess won't be drawing
5251        https://bugs.webkit.org/show_bug.cgi?id=107539
5252        <rdar://problem/13032692>
5253
5254        Reviewed by Simon Fraser.
5255
5256        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
5257        (InitWebCoreSystemInterface): Update WebCoreSystemInterface.
5258        * WebProcess/WebPage/WebPage.cpp:
5259        (WebKit::WebPage::WebPage): Initially move the Page out of the window if necessary;
5260        Page defaults to in-window, which is wrong in many cases - we depend on
5261        Page::isInWindow being accurate to decide whether WebPage::setIsInWindow is actually
5262        a state change or not.
5263        (WebKit::WebPage::setIsInWindow):
5264        * WebProcess/WebProcess.cpp: Inform WebProcess when we go on/off screen.
5265        (WebKit::WebProcess::WebProcess):
5266        (WebKit::WebProcess::pageDidMoveOnscreen): Keep track of the number of on-screen pages in this process.
5267        (WebKit::WebProcess::pageWillMoveOffscreen): If the number of on-screen pages drops to zero,  clean up unused rendering resources.
5268        * WebProcess/WebProcess.h:
5269
52702013-03-26  Dean Jackson  <dino@apple.com>
5271
5272        When a primary plugin is restarted, also start similar plugins
5273        https://bugs.webkit.org/show_bug.cgi?id=113265
5274
5275        Reviewed by Tim Horton.
5276
5277        Remember the origin of the primary plugin, so that we can
5278        autostart anything that is similar.
5279
5280        * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
5281        (WebKit::WebPlugInClient::WebPlugInClient): Keep a pointer to the WebPage.
5282        (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): Pass the page onto the process.
5283        * WebProcess/WebCoreSupport/WebPlugInClient.h:
5284        (WebPlugInClient): New member variable for the WebPage we were created with.
5285        * WebProcess/WebPage/WebPage.cpp:
5286        (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Remember the origin information
5287            for the primary plugin.
5288        (WebKit::WebPage::matchesPrimaryPlugIn): Returns true if we're seeing something that
5289            looks like the primary plugin.
5290        * WebProcess/WebPage/WebPage.h: New method matchesPrimaryPlugIn.
5291        * WebProcess/WebProcess.cpp:
5292        (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Check if the page thinks this is
5293            the primary plugin.
5294        * WebProcess/WebProcess.h: Accept a reference to the page in shouldPlugInAutoStartFromOrigin.
5295
52962013-03-26  Alexey Proskuryakov  <ap@apple.com>
5297
5298        Follow-up to:
5299        <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
5300        https://bugs.webkit.org/show_bug.cgi?id=113256
5301
5302        Reviewed by Mark Rowe.
5303
5304        * NetworkProcess/NetworkResourceLoader.h: Added some forgotten OVERRIDEs.
5305
53062013-03-26  Alexey Proskuryakov  <ap@apple.com>
5307
5308        <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
5309        https://bugs.webkit.org/show_bug.cgi?id=113256
5310
5311        Reviewed by Brady Eidson.
5312
5313        Use asynchronous version of ResourceHandle/ResourceHandleClient in NetworkProcess.
5314        We now run WebCore code on main thread, so we can't block it.
5315
5316        * DerivedSources.make:
5317        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
5318        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
5319        * NetworkProcess/NetworkResourceLoader.messages.in: Added.
5320        * WebKit2.xcodeproj/project.pbxproj:
5321        Made NetworkResourceLoader a message receiver. Messages that used to be sync are
5322        now async, and responses need to be sent to the loader.
5323
5324        * NetworkProcess/NetworkResourceLoader.cpp:
5325        (WebKit::NetworkResourceLoader::willSendRequestAsync): This now happens on main
5326        thread, and thus cannot be sync.
5327        (WebKit::NetworkResourceLoader::continueWillSendRequest): Notify the resource
5328        handle once a response is ready.
5329        (WebKit::NetworkResourceLoader::didSendData): Removed unnecessary WebCore prefixes.
5330        (WebKit::NetworkResourceLoader::didReceiveCachedMetadata): Ditto.
5331        (WebKit::NetworkResourceLoader::wasBlocked):  Ditto.
5332        (WebKit::NetworkResourceLoader::cannotShowURL): Ditto.
5333        (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): This function
5334        doesn't call through to WebProcess, so we can keep it synchronous. But we still
5335        need to implement the async version, since that's what ResourceHandle calls.
5336        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
5337        Made async.
5338        (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
5339        Notify ResourceHandle when response is ready.
5340        (WebKit::NetworkResourceLoader::didReceiveDataArray): Removed unnecessary WebCore prefixes.
5341        (WebKit::NetworkResourceLoader::willCacheResponseAsync): This matches default
5342        implementation, but we are overriding everything to make it clearer what's missing.
5343        (WebKit::NetworkResourceLoader::willStopBufferingData): Removed unnecessary WebCore prefixes.
5344
5345        * NetworkProcess/NetworkResourceLoader.h: Updated to use async client methods.
5346        Keep ResourceRequest around while handling willSendRequest, as we need the original
5347        to recombine the request. Removed CFNet version of willCacheResponse for now,
5348        as we are not using it yet.
5349
5350        * Shared/Authentication/AuthenticationManager.cpp: Assert that methods touching
5351        a global HashMap all run on main thread. Changed generateAuthenticationChallengeID()
5352        to use regular increment, as there is no need to run it from a secondary thread.
5353
5354        * WebProcess/Network/NetworkProcessConnection.cpp:
5355        (WebKit::NetworkProcessConnection::didReceiveSyncMessage): We no longer have any
5356        sync messages.
5357
5358        * WebProcess/Network/WebResourceLoader.h:
5359        * WebProcess/Network/WebResourceLoader.cpp:
5360        (WebKit::WebResourceLoader::willSendRequest):
5361        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
5362        * WebProcess/Network/WebResourceLoader.messages.in:
5363        Changed to use async messages.
5364
53652013-03-26  Tim Horton  <timothy_horton@apple.com>
5366
5367        [wk2] Don't send intrinsic content size updates more than once per runloop
5368        https://bugs.webkit.org/show_bug.cgi?id=113258
5369        <rdar://problem/13492038>
5370
5371        Reviewed by Simon Fraser.
5372
5373        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5374        (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
5375        Only start the zero-delay timer if it's not already active.
5376
53772013-03-26  Tony Chang  <tony@chromium.org>
5378
5379        Autogenerate the scrollAnimatorEnabled setting in Settings.in
5380        https://bugs.webkit.org/show_bug.cgi?id=113253
5381
5382        Reviewed by James Robinson.
5383
5384        * WebProcess/WebPage/WebPage.cpp:
5385        (WebKit::WebPage::setUseFixedLayout): Update call to WebCore to use setScrollAnimatorEnabled(bool).
5386        (WebKit::WebPage::updatePreferences): Update call to WebCore to use setScrollAnimatorEnabled(bool).
5387
53882013-03-26  Andras Becsi  <andras.becsi@digia.com>
5389
5390        [Qt][WK2] Fails to start QtWebProcess.exe if installed in a path containing spaces
5391        https://bugs.webkit.org/show_bug.cgi?id=113328
5392
5393        Reviewed by Jocelyn Turcotte.
5394
5395        Downstream bugreport: https://bugreports.qt-project.org/browse/QTBUG-30249
5396
5397        We use QProcess::start() with a commandline string to start the web process
5398        and the string is treated by QProcess as a whitespace delimeted list of the
5399        command and the arguments, thus we have to escape the path to the process
5400        binaries so that if the path contains spaces we still run the appropriate
5401        command.
5402
5403        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
5404        (WebKit::ProcessLauncher::launchProcess):
5405
54062013-03-26  Andras Becsi  <andras.becsi@digia.com>
5407
5408        [Qt][WK2] QML WebView asserts when double clicking a link
5409        https://bugs.webkit.org/show_bug.cgi?id=113329
5410
5411        Reviewed by Jocelyn Turcotte.
5412
5413        Downstream bugreport: https://bugreports.qt-project.org/browse/QTBUG-30288
5414
5415        Remove an erroneous assert which is no longer valid if
5416        mouse gestures are enabled.
5417
5418        * UIProcess/qt/QtWebPageEventHandler.cpp:
5419        (WebKit::QtWebPageEventHandler::handleInputEvent):
5420
54212013-03-26  Tim Horton  <timothy_horton@apple.com>
5422
5423        [wk2] Don't send intrinsic content size updates more than once per runloop
5424        https://bugs.webkit.org/show_bug.cgi?id=113258
5425        <rdar://problem/13492038>
5426
5427        Reviewed by Anders Carlsson.
5428
5429        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
5430        (TiledCoreAnimationDrawingArea):
5431        Add a zero-delay timer for intrinsic content size updates.
5432        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5433        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
5434        Add a zero-delay timer for intrinsic content size updates.
5435        (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
5436        Start our new one-shot zero-delay timer.
5437        (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired):
5438        Inform the WebPage that the intrinsic content size has changed.
5439
54402013-03-26  Simon Cooper  <scooper@apple.com>
5441
5442        bundle-ids need to be sanitized before using them in filesystem paths
5443        https://bugs.webkit.org/show_bug.cgi?id=113030
5444        <rdar://problem/13300254>
5445
5446        Reviewed by Alexey Proskuryakov.
5447
5448        When choosing / looking for a specialized Sandbox for a Plugin the
5449        bundle-id needs to be sanitized before using it to construct a
5450        filesystem name to look up. The “/“ character should not be allowed
5451        and transformed into something else, in this case a “:”
5452
5453        * PluginProcess/mac/PluginProcessMac.mm:
5454        (WebKit::loadSandboxProfile):
5455
54562013-03-26  Zeno Albisser  <zeno@webkit.org>
5457
5458        [Qt] UIProcess should initialize WebCoreSystemInterface.
5459        https://bugs.webkit.org/show_bug.cgi?id=113300
5460
5461        The WebCoreSystemInterface is necessary to detect supported
5462        mime types on Mac OS. In particular it is needed for download
5463        support.
5464        This patch fixes in particular the previously failing
5465        Qt API qmltest WebViewDownload::test_downloadRequest.
5466        The test was crashing when using QTKit, because functions
5467        in WebCoreSystemInterface could not be resolved on the UIProcess side.
5468
5469        Reviewed by Jocelyn Turcotte.
5470
5471        * UIProcess/qt/WebContextQt.cpp:
5472        (WebKit::WebContext::platformInitializeWebProcess):
5473
54742013-03-25  Kent Tamura  <tkent@chromium.org>
5475
5476        Rename ENABLE_INPUT_TYPE_DATETIME
5477        https://bugs.webkit.org/show_bug.cgi?id=113254
5478
5479        Reviewed by Kentaro Hara.
5480
5481        Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
5482        Actually I'd like to remove the code, but we shouldn't remove it yet
5483        because we shipped products with it on some platforms.
5484
5485        * Configurations/FeatureDefines.xcconfig:
5486
54872013-03-25  Dean Jackson  <dino@apple.com>
5488
5489        Cleanup plugin snapshotting autostart decision making
5490        https://bugs.webkit.org/show_bug.cgi?id=113231
5491
5492        Reviewed by Tim Horton.
5493
5494        Two major changes to the way snapshotting plugins may autostart.
5495
5496        The first is that previously WebCore was keeping a hash that
5497        represented the combination of page origin, plugin origin and
5498        mime type. WebKit was responsible for deciding if that particular
5499        hash should autostart. Now, WebKit keeps the hash, and WebCore
5500        just asks us whether the combination of origins and mimetype
5501        should start immediately. You can see this change the in WebPluginClient
5502        and WebProcess APIs.
5503
5504        The second change is that we now keep two types of structures
5505        around to decide whether a plugin should autostart. One is the
5506        existing page + plugin origin combination. The other is simply
5507        the plugin origin, which allows plugins from major providers
5508        to autostart no matter what page they were embedded on.
5509
5510        * Shared/WebProcessCreationParameters.cpp:
5511        (WebKit::WebProcessCreationParameters::encode): Encode the new parameter.
5512        (WebKit::WebProcessCreationParameters::decode): Decode the new parameter.
5513        * Shared/WebProcessCreationParameters.h: Also keep a list of strings around.
5514
5515        * UIProcess/API/C/WKContext.cpp:
5516        (WKContextSetPlugInAutoStartOrigins): The C API to send the list of plugin
5517            origins over to the context.
5518        * UIProcess/API/C/WKContext.h:
5519
5520        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
5521        (WebKit::PlugInAutoStartProvider::addAutoStartOriginHash): Renamed from addAutoStartOrigin.
5522            No functional change other than new names for members.
5523        (WebKit::PlugInAutoStartProvider::autoStartOriginHashesCopy): Ditto.
5524        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Ditto.
5525        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Ditto.
5526        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray): New method that converts the
5527            incoming ImmutableArray into a Vector of Strings.
5528        (WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Rename for new members.
5529        * UIProcess/Plugins/PlugInAutoStartProvider.h: Renaming member variables. Adding
5530            some typedefs to clean up code.
5531        (WebKit::PlugInAutoStartProvider::autoStartOrigins): New accessor.
5532
5533        * UIProcess/WebContext.cpp:
5534        (WebKit::WebContext::createNewWebProcess): Renaming, and copy the new parameter into the process creation.
5535        (WebKit::WebContext::addPlugInAutoStartOriginHash): Renaming.
5536        (WebKit::WebContext::setPlugInAutoStartOriginHashes): Renaming.
5537        (WebKit::WebContext::setPlugInAutoStartOrigins): New method.
5538        * UIProcess/WebContext.h: Adds the new setPlugInAutoStartOrigin method.
5539
5540        * WebProcess/Plugins/PluginView.cpp:
5541        (WebKit::PluginView::didInitializePlugin): Drive-by fix that was attempting to restart plugins
5542            that were in the process of restarting.
5543        (WebKit::PluginView::pluginDidReceiveUserInteraction): Temporarily suspend update of
5544            expiration time if the user interacts with a plugin.
5545
5546        * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
5547        (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): Renaming.
5548        (WebKit::WebPlugInClient::didStartFromOrigin): Ditto.
5549        * WebProcess/WebCoreSupport/WebPlugInClient.h: Renaming.
5550
5551        * WebProcess/WebProcess.cpp: Drive-by - noticed that we forgot to count seconds in
5552            a timeout threshold.
5553        (WebKit::WebProcess::initializeWebProcess): Also add the list of origins when we initialize.
5554        (WebKit::addCaseFoldedCharacters): Copied from WebCore - adds a String to a hash input.
5555        (WebKit::hashForPlugInOrigin): Copied from WebCore - hashing function.
5556        (WebKit::WebProcess::isPlugInAutoStartOriginHash): Renaming.
5557        (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Check the list of pure origins first. If
5558            that fails, fall back to the hash list of pairs.
5559        (WebKit::WebProcess::plugInDidStartFromOrigin): Renaming.
5560        (WebKit::WebProcess::didAddPlugInAutoStartOriginHash): Ditto.
5561        (WebKit::WebProcess::resetPlugInAutoStartOriginHashes): Ditto.
5562        (WebKit::WebProcess::plugInDidReceiveUserInteraction): Ditto.
5563        * WebProcess/WebProcess.h: Renaming some methods, but also adding the input of the new
5564            origin-only list.
5565
5566        * WebProcess/WebProcess.messages.in: Renaming a message.
5567
55682013-03-25  Maxim Ermilov  <maxim.ermilov@canonical.com>
5569
5570        [Qt] Qml WebKit needs preferences to change security knobs
5571        https://bugs.webkit.org/show_bug.cgi?id=111979
5572
5573        Reviewed by Jocelyn Turcotte.
5574
5575        * UIProcess/API/qt/qwebpreferences.cpp:
5576        (QWebPreferencesPrivate::testAttribute):
5577        (QWebPreferencesPrivate::setAttribute):
5578        (QWebPreferences::universalAccessFromFileURLsAllowed):
5579        (QWebPreferences::setUniversalAccessFromFileURLsAllowed):
5580        (QWebPreferences::fileAccessFromFileURLsAllowed):
5581        (QWebPreferences::setFileAccessFromFileURLsAllowed):
5582        * UIProcess/API/qt/qwebpreferences_p.h:
5583        * UIProcess/API/qt/qwebpreferences_p_p.h:
5584
55852013-03-23  Geoffrey Garen  <ggaren@apple.com>
5586
5587        Added a setting for whether JavaScript markup is enabled
5588        https://bugs.webkit.org/show_bug.cgi?id=112999
5589
5590        Rolled out a line from r146664 that was left over from before I adopted
5591        the Settings.in way of adding a new setting.
5592
5593        Reviewed by Ryosuke Niwa.
5594
5595        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5596        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): No need
5597        to initialize / override -- Settings.in settings do this automatically.
5598
5599        Also, dydx noticed that this line of code had a typo, and was totaly wrong.
5600
56012013-03-21  Kiran Muppala  <cmuppala@apple.com>
5602
5603        Add runtime setting for hidden page DOM timer throttling and CSS animation suspension
5604        https://bugs.webkit.org/show_bug.cgi?id=112308
5605
5606        Reviewed by Gavin Barraclough.
5607
5608        Add private preference for enabling/disabling hidden page DOM timer
5609        throttling and CSS animation suspension.  The preference should be
5610        enabled by default only on Mac, where WebKit2 is a private API and
5611        hence compatibility is less of a issue.
5612
5613        * Shared/WebPreferencesStore.h:
5614        * UIProcess/API/C/WKPreferences.cpp:
5615        (WKPreferencesSetHiddenPageDOMTimerThrottlingEnabled):
5616        (WKPreferencesGetHiddenPageDOMTimerThrottlingEnabled):
5617        (WKPreferencesSetHiddenPageCSSAnimationSuspensionEnabled):
5618        (WKPreferencesGetHiddenPageCSSAnimationSuspensionEnabled):
5619        * UIProcess/API/C/WKPreferencesPrivate.h:
5620        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5621        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Allow
5622        WebKitTestRunner to override hiddenPageDOMTimerThrottlingEnabled.
5623        * WebProcess/WebPage/WebPage.cpp:
5624        (WebKit::WebPage::updatePreferences):
5625
56262013-03-22  Tim Horton  <timothy_horton@apple.com>
5627
5628        Plugin Snapshotting: Auto-start dominant plugins
5629        https://bugs.webkit.org/show_bug.cgi?id=113111
5630        <rdar://problem/13475726>
5631
5632        Reviewed by Dean Jackson.
5633
5634        * WebProcess/Plugins/PluginView.cpp:
5635        (WebKit::PluginView::didInitializePlugin):
5636        (WebKit::PluginView::paint):
5637        (WebKit::PluginView::invalidateRect):
5638        (WebKit::PluginView::isAcceleratedCompositingEnabled):
5639        Acknowledge the new "Restarting" DisplayState.
5640
56412013-03-21  Jer Noble  <jer.noble@apple.com>
5642
5643        After switching to another space and back, video races to catch up with audio
5644        https://bugs.webkit.org/show_bug.cgi?id=113006
5645
5646        Reviewed by Anders Carlsson.
5647
5648        Add an observer for the NSWorkspaceActiveSpaceDidChangeNotification notification, and trigger
5649        a visibility update when that notification is observed.
5650
5651        * UIProcess/API/mac/WKView.mm:
5652        (-[WKView dealloc]): Unregister the observer.
5653        (-[WKView _activeSpaceDidChange:]): Notify the view that its visibility may have changed.
5654        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add the observer.
5655
56562013-03-21  Geoffrey Garen  <ggaren@apple.com>
5657
5658        Added a setting for whether JavaScript markup is enabled
5659        https://bugs.webkit.org/show_bug.cgi?id=112999
5660
5661        Reviewed by Maciej Stachowiak.
5662
5663        This setting is useful for clients that want protection from script
5664        injection attacks.
5665
5666        * Shared/WebPreferencesStore.h:
5667        * UIProcess/API/C/WKPreferences.cpp:
5668        (WKPreferencesGetJavaScriptMarkupEnabled):
5669        (WKPreferencesSetJavaScriptMarkupEnabled):
5670        (WKPreferencesGetJavaScriptEnabled):
5671        * UIProcess/API/C/WKPreferences.h:
5672        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
5673        (-[WKBrowsingContextGroup allowsJavaScriptMarkup]):
5674        (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]):
5675        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5676        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5677        * WebProcess/WebPage/WebPage.cpp:
5678        (WebKit::WebPage::updatePreferences): Plumbed through to API.
5679
56802013-03-22  Mario Sanchez Prada  <mario.prada@samsung.com>
5681
5682        [GTK] Include the right GL header for GLES2
5683        https://bugs.webkit.org/show_bug.cgi?id=113034
5684
5685        Reviewed by Martin Robinson.
5686
5687        Include GLES2/gl2.h when using GLES2.
5688
5689        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
5690
56912013-03-22  Timothy Hatcher  <timothy@apple.com>
5692
5693        Fix an assert when opening the Web Inspector window for the first time.
5694
5695        rdar://problem/13471765
5696        https://webkit.org/b/113053
5697
5698        Reviewed by Eric Carlson.
5699
5700        * UIProcess/mac/WebInspectorProxyMac.mm:
5701        (WebKit::WebInspectorProxy::createInspectorWindow): Assign m_inspectorWindow
5702        earlier so it is ready for when center is called and windowDidMove: gets called.
5703
57042013-03-21  Tim Horton  <timothy_horton@apple.com>
5705
5706        [wk2] Page Overlays: Don't create backing store until the client asks us to paint
5707        https://bugs.webkit.org/show_bug.cgi?id=112989
5708        <rdar://problem/13355759>
5709
5710        Reviewed by Anders Carlsson.
5711
5712        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
5713        (WebKit::WebInspectorClient::highlight):
5714        * WebProcess/WebPage/FindController.cpp:
5715        (WebKit::FindController::updateFindUIAfterPageScroll):
5716        Invalidate the entire overlay on installation, to maintain existing behavior
5717        on platforms where the fade-in animation is not performed by invalidating the overlay.
5718
5719        * WebProcess/WebPage/WebPage.cpp:
5720        (WebKit::WebPage::installPageOverlay):
5721        Don't invalidate the overlay upon installation.
5722
5723        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5724        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
5725        Create backing store for the page overlay layer the first time it is painted into.
5726        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
5727        Don't update the size of the page overlay layer unless we intend for it to have backing store.
5728        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
5729        Don't create backing store when we create the page overlay layer.
5730
57312013-03-21  Brady Eidson  <beidson@apple.com>
5732
5733        If a previously loaded resource is later stored to the disk cache, replace the buffer with MMAP'ed memory.
5734        <rdar://problem/13414154> and https://bugs.webkit.org/show_bug.cgi?id=112943
5735
5736        Reviewed by Geoff Garen.
5737
5738        Add a timer that will try to look up the disk cached buffer for the resource a few seconds after the load
5739        completes and - if the resource is disk backed - send it to the WebProcess for sharing:
5740        * NetworkProcess/NetworkResourceLoader.cpp:
5741        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
5742        (WebKit::NetworkResourceLoader::diskCacheTimerFired):
5743        (WebKit::NetworkResourceLoader::didReceiveResponse):
5744        (WebKit::NetworkResourceLoader::didReceiveData):
5745        (WebKit::NetworkResourceLoader::didFinishLoading):
5746        * NetworkProcess/NetworkResourceLoader.h:
5747
5748        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
5749        (WebKit::NetworkResourceLoader::tryGetShareableHandleForResource):
5750
5751        Refactor SharedMemory to remove the unnecessary vm_copy and only vm_allocate when an appropriate buffer
5752        doesn't already exist:
5753        * Platform/SharedMemory.h:
5754        * Platform/mac/SharedMemoryMac.cpp:
5755        (WebKit::SharedMemory::create):
5756        (WebKit::SharedMemory::createFromVMBuffer):
5757        (WebKit::SharedMemory::~SharedMemory):
5758
5759        Give ShareableResource the ability to create a CFDataRef that wraps "this", and return it in a SharedBuffer:
5760        * Shared/ShareableResource.cpp:
5761        (WebKit::shareableResourceDeallocate):
5762        (WebKit::createShareableResourceDeallocator):
5763        (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
5764        * Shared/ShareableResource.h:
5765
5766        * Shared/WebCoreArgumentCoders.cpp: Encode/decode the cache partition for ResourceRequest.
5767
5768        * WebProcess/Network/NetworkProcessConnection.cpp:
5769        (WebKit::NetworkProcessConnection::didReceiveMessage):
5770        (WebKit::NetworkProcessConnection::didCacheResource): Lookup the CachedResource in the WebCore memory cache
5771          and try to replace its encoded data with the shared mmap'ed buffer.
5772        * WebProcess/Network/NetworkProcessConnection.h:
5773        * WebProcess/Network/NetworkProcessConnection.messages.in:
5774
5775        * WebProcess/Network/WebResourceLoader.cpp:
5776        (WebKit::WebResourceLoader::didReceiveResource):
5777
57782013-03-21  Tim Horton  <timothy_horton@apple.com>
5779
5780        Unreviewed build fix, forgot to stage one file.
5781
5782        * WebProcess/WebPage/DrawingArea.h:
5783        (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame):
5784        (DrawingArea):
5785
57862013-03-21  Tim Horton  <timothy_horton@apple.com>
5787
5788        [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
5789        https://bugs.webkit.org/show_bug.cgi?id=111662
5790        <rdar://problem/13355808>
5791
5792        Reviewed by Dean Jackson.
5793
5794        Instead of setNeedsDisplay()ing the whole page overlay layer every time through
5795        TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
5796        necessary to keep things painted in the right place when we scroll (the overlay
5797        is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
5798
5799        This works with threaded scrolling because overlay installation forces us
5800        into main-thread scrolling mode.
5801
5802        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5803        (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
5804        Plumb scroll offset changes through to the drawing area, so it can invalidate the page overlay.
5805        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
5806        (TiledCoreAnimationDrawingArea):
5807        Add didChangeScrollOffsetForAnyFrame, for WebFrameLoaderClient to call us back when any frame scrolls.
5808        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5809        (WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame):
5810        Invalidate the page overlay when any frame scrolls, so that find indicators in subframes are kept in the right place.
5811        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
5812        Stop unconditionally invalidating the page overlay when we flush layers.
5813
58142013-03-21  Alexey Proskuryakov  <ap@apple.com>
5815
5816        [Mac] Move NSOperationQueue out of NetworkingContext
5817        https://bugs.webkit.org/show_bug.cgi?id=112970
5818
5819        Reviewed by Brady Eidson.
5820
5821        * NetworkProcess/NetworkResourceLoader.h:
5822        * NetworkProcess/mac/RemoteNetworkingContext.h:
5823        * NetworkProcess/mac/RemoteNetworkingContext.mm:
5824        Tell ResourceHandle to use an operation queue in the new way.
5825
58262013-03-21  Timothy Hatcher  <timothy@apple.com>
5827
5828        Support connecting the Web Inspector without showing it.
5829
5830        This allows you to get the debugger attached in the background. When a breakpoint is hit
5831        the Inspector will open. This change also reduces some WebProcess messaging by removing
5832        the DidLoadInspectorPage message and stops sending the SetAttachedWindow message on close.
5833
5834        https://bugs.webkit.org/show_bug.cgi?id=112445
5835
5836        Reviewed by Sam Weinig.
5837
5838        * UIProcess/API/C/WKInspector.cpp:
5839        (WKInspectorIsConnected): Added.
5840        (WKInspectorConnect): Added.
5841        (WKInspectorHide): Added.
5842
5843        * UIProcess/API/C/WKInspector.h:
5844        Added new APIs.
5845
5846        * UIProcess/WebInspectorProxy.cpp:
5847        (WebKit::WebInspectorProxy::WebInspectorProxy):
5848        Initialize new state booleans.
5849
5850        (WebKit::WebInspectorProxy::invalidate):
5851        Don't set state booleans that didClose already resets.
5852
5853        (WebKit::WebInspectorProxy::connect): Added.
5854        (WebKit::WebInspectorProxy::show):
5855        Open if we are already connected. Call connect().
5856
5857        (WebKit::WebInspectorProxy::hide): Added.
5858
5859        (WebKit::WebInspectorProxy::close):
5860        Call didClose we can detach or close the window immediately instead of waiting for a
5861        message from the WebProcess.
5862
5863        (WebKit::WebInspectorProxy::attach):
5864        (WebKit::WebInspectorProxy::detach):
5865        Check for !m_page to match other functions.
5866
5867        (WebKit::WebInspectorProxy::createInspectorPage):
5868        (WebKit::WebInspectorProxy::didLoadInspectorPage):
5869        Removed. Moved logic to open().
5870
5871        (WebKit::WebInspectorProxy::open): Added.
5872
5873        (WebKit::WebInspectorProxy::didClose):
5874        Clear new state booleans. Don't perform work again if already closed. Use platformDetach()
5875        instead of detach() to avoid sending the SetAttachedWindow message.
5876
5877        (WebKit::WebInspectorProxy::bringToFront):
5878        Call open() if we are not visible yet, otherwise platformBringToFront.
5879
5880        * UIProcess/WebInspectorProxy.h:
5881        (WebKit::WebInspectorProxy::isConnected): Added.
5882
5883        * UIProcess/WebInspectorProxy.messages.in: Removed DidLoadInspectorPage.
5884
5885        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
5886        (WebKit::WebInspectorProxy::platformHide): Added stub.
5887
5888        * UIProcess/mac/WebInspectorProxyMac.mm:
5889        (WebKit::WebInspectorProxy::platformHide): Added.
5890
5891        * UIProcess/qt/WebInspectorProxyQt.cpp:
5892        (WebKit::WebInspectorProxy::platformHide): Added stub.
5893
5894        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
5895        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
5896        Removed frontendLoaded().
5897
5898        * WebProcess/WebPage/WebInspector.cpp:
5899        * WebProcess/WebPage/WebInspector.h:
5900        Removed didLoadInspectorPage().
5901
59022013-03-21  Alexey Proskuryakov  <ap@apple.com>
5903
5904        Build fix.
5905
5906        * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Include CurrentTime.h, as needed
5907        to call currentTime().
5908
59092013-03-21  Tim Horton  <timothy_horton@apple.com>
5910
5911        Tiled page overlay layers don't create tiles until the first flush after they switch to being tiled
5912        https://bugs.webkit.org/show_bug.cgi?id=112860
5913        <rdar://problem/13468400>
5914
5915        Reviewed by Simon Fraser.
5916
5917        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
5918        (TiledCoreAnimationDrawingArea): Add storage for m_clipsToExposedRect.
5919        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5920        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
5921        The page overlay layer will never have children, so we can use flushCompositingState instead of the ForThisLayerOnly variant.
5922        Pass the visible rect of the page overlay layer (computed by intersecting its bounds with the exposed
5923        rect that comes from the WKView) to flushCompositingState; don't bother setting the visible rect manually.
5924        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
5925        Store m_clipsToExposedRect so we can use it in flushLayers.
5926
59272013-03-20  Benjamin Poulain  <bpoulain@apple.com>
5928
5929        [WK2] Remove VIEW_MODE_CSS_MEDIA from WebKit2
5930        https://bugs.webkit.org/show_bug.cgi?id=112849
5931
5932        Reviewed by Sam Weinig.
5933
5934        The code was added in r137148 for the sole purpose of testing,
5935        and it is not even being properly tested.
5936
5937        Remove the code until someone actually implement the feature in WebKit2.
5938
5939        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
5940        (WKBundlePageCanShowMIMEType):
5941        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
5942        * WebProcess/WebPage/WebPage.cpp:
5943        * WebProcess/WebPage/WebPage.h:
5944        (WebPage):
5945
59462013-03-20  Zan Dobersek  <zdobersek@igalia.com>
5947
5948        [GTK] Build ANGLE sources into a separate library from libWebCore.la
5949        https://bugs.webkit.org/show_bug.cgi?id=112778
5950
5951        Reviewed by Martin Robinson.
5952
5953        * GNUmakefile.am: Add libLevelDB.la to the libwebkit2gtk library if using the OpenGL accelerated backend.
5954
59552013-03-20  Andras Becsi  <andras.becsi@digia.com>
5956
5957        [Qt][WK2] Clean up sanity checks related to gesture recognition
5958        https://bugs.webkit.org/show_bug.cgi?id=112679
5959
5960        Reviewed by Jocelyn Turcotte.
5961
5962        The only callers of the panGestureActive and pinchGestureActive member
5963        functions of the page viewport controller client are event delivery
5964        related sanity check assers, thus they can be replaced by checking
5965        for the corresponding internal states and therefore the superfluous
5966        members can be removed.
5967        Also update other asserts in the page viewport controller client to
5968        be more accurate about the expected states.
5969
5970        * UIProcess/qt/PageViewportControllerClientQt.cpp:
5971        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
5972        (WebKit::PageViewportControllerClientQt::touchBegin):
5973        (WebKit::PageViewportControllerClientQt::panGestureStarted):
5974        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
5975        * UIProcess/qt/PageViewportControllerClientQt.h:
5976        (PageViewportControllerClientQt):
5977        * UIProcess/qt/QtWebPageEventHandler.cpp:
5978        (WebKit::QtWebPageEventHandler::handleInputEvent):
5979
59802013-03-20  Andras Becsi  <andras.becsi@digia.com>
5981
5982        [Qt][WK2] Refactor handling of content suspension to properly cover corner cases
5983        https://bugs.webkit.org/show_bug.cgi?id=111751
5984
5985        Reviewed by Jocelyn Turcotte.
5986
5987        The current suspend / resume infrastructure turned out to be insufficient to cover
5988        all corner cases during transitions between gestures of complex gesture chains.
5989
5990        The requirements for robust suspend / resume handling are:
5991            - Keep the content suspended while the user is continuously interacting,
5992        eg. does not lift the finger between transition from a pan to a pinch gesture
5993        and vice versa.
5994            - The content should not be suspended unnecessarily (like for a tap gesture),
5995        only during panning and scroll animation (flick), as well as pinch zoom and scale
5996        animation (also includes double-tap-to-zoom).
5997            - The content should never end up stuck in suspended state after long gesture
5998        chains and continuous interaction.
5999
6000        This patch reintroduces reference counting based suspension in form of a new
6001        ViewportInteractionTracker member class to make it possible to reliably control the
6002        suspend / resume cycles during scrolling and scaling.
6003        During continuous gestures, while the user is interacting, the reference count is
6004        increased without actually suspending the content to prevent resuming unnecessarily
6005        during continuous interaction. At the same time this also assures that the page is
6006        not suspended for simple tap gestures, which was a side-effect of the previous
6007        approach based on update deferrers.
6008        The newly added functionality replaces boolean members that tried to achive the
6009        above requirements.
6010        Additionally this patch also removes the redundant m_hasSuspendedContent member
6011        from the PageViewportController since WebPageProxy already keeps this information.
6012
6013        * UIProcess/PageViewportController.cpp:
6014        (WebKit::PageViewportController::PageViewportController):
6015        (WebKit::PageViewportController::pageDidRequestScroll):
6016        (WebKit::PageViewportController::updateMinimumScaleToFit):
6017        * UIProcess/PageViewportController.h:
6018        (PageViewportController):
6019        * UIProcess/WebPageProxy.h:
6020        (WebKit::WebPageProxy::areActiveDOMObjectsAndAnimationsSuspended):
6021        * UIProcess/qt/PageViewportControllerClientQt.cpp:
6022        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
6023        (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::begin):
6024        (WebKit):
6025        (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::end):
6026        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
6027        (WebKit::PageViewportControllerClientQt::flickMoveStarted):
6028        (WebKit::PageViewportControllerClientQt::flickMoveEnded):
6029        (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
6030        (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
6031        (WebKit::PageViewportControllerClientQt::touchBegin):
6032        (WebKit::PageViewportControllerClientQt::touchEnd):
6033        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
6034        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
6035        (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
6036        (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
6037        (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
6038        (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
6039        * UIProcess/qt/PageViewportControllerClientQt.h:
6040        (ViewportInteractionTracker):
6041        (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::ViewportInteractionTracker):
6042        (WebKit::PageViewportControllerClientQt::ViewportInteractionTracker::inProgress):
6043        (PageViewportControllerClientQt):
6044
60452013-03-19  Kenneth Rohde Christiansen  <kenneth@webkit.org> and Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
6046
6047        [EFL][WK2] Separate WebView further from EwkView
6048        https://bugs.webkit.org/show_bug.cgi?id=111591
6049
6050        Reviewed by Caio Marcelo de Oliveira Filho.
6051
6052        Main points are:
6053        - WKView API has no dependency on EFL types
6054        - WebView class does not store the Evas_Object
6055
6056        * UIProcess/API/C/efl/WKView.cpp:
6057        (WKViewCreate):
6058
6059            WKView creation does not require any EFL objects to be passed.
6060
6061        * UIProcess/API/C/efl/WKView.h:
6062        * UIProcess/API/efl/EwkView.cpp:
6063        (EwkView::EwkView):
6064        (EwkView::create):
6065
6066            WKViewRef is passed to EwkView constructor from outside rather than
6067            created inside.
6068
6069        (EwkView::webView):
6070        * UIProcess/API/efl/EwkView.h:
6071        (EwkView):
6072        (EwkView::wkView):
6073        (EwkView::page):
6074
6075            EwkView keeps WKViewRef rather than pointer to WebView class.
6076
6077        * UIProcess/API/efl/ewk_view_private.h: Added.
6078        (EWKViewCreate):
6079        (EWKViewGetWKView):
6080
6081            Added private API to create ewk view evas object and return its WKViewRef.
6082
6083        * UIProcess/API/efl/ewk_view.cpp:
6084        (ewkCreateEvasObject):
6085        (ewk_view_smart_add):
6086        (ewk_view_add):
6087        (ewk_view_add_with_context):
6088        * UIProcess/efl/WebInspectorProxyEfl.cpp:
6089        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
6090
6091            Updated accordingly to the new APIs.
6092
6093        * UIProcess/efl/WebView.cpp:
6094        (WebKit::WebView::WebView):
6095        (WebKit::WebView::create):
6096        (WebKit):
6097        (WebKit::WebView::setEwkView):
6098        (WebKit::WebView::isViewFocused):
6099        (WebKit::WebView::isViewVisible):
6100        * UIProcess/efl/WebView.h:
6101        (WebView):
6102
6103            Implementation of updated WKView API.
6104
61052013-03-19  Dean Jackson  <dino@apple.com>
6106
6107        Allow PlugIn Snapshotting to be tested
6108        https://bugs.webkit.org/show_bug.cgi?id=98696
6109
6110        Reviewed by Tim Horton.
6111
6112        Use the new maximumPlugInSnapshotAttempts setting rather than a hardcoded
6113        value. At the same time, if this value is 0, then snapshot immediately
6114        (don't wait to get a snapshot and test it).
6115
6116        * WebProcess/Plugins/PluginView.cpp:
6117        (WebKit::PluginView::didInitializePlugin): Snapshot immediately if maximum attempts are 0.
6118        (WebKit::PluginView::pluginSnapshotTimerFired): Use setting rather than file local variable.
6119
61202013-03-19  Dean Jackson  <dino@apple.com>
6121
6122        Restarting a snapshotted plugin should restart all plugins from the same domain on the page
6123        https://bugs.webkit.org/show_bug.cgi?id=112725
6124
6125        Reviewed by Tim Horton.
6126
6127        When we add a plugin domain hash to the list of sites that autostart, we
6128        send a message to our owning process. That message might not return before
6129        another plugin queries if it is in the list. So, before we send the message,
6130        add the current hash to the list with a very small timeout. That way the
6131        response will be to either extend the timeout, or not add the hash (in which
6132        case it will expire soon).
6133
6134        * WebProcess/WebProcess.cpp:
6135        (WebKit::WebProcess::addPlugInAutoStartOrigin):
6136
61372013-03-19  Zan Dobersek  <zdobersek@igalia.com>
6138
6139        [GTK] Fix WebKit2 builds after r146193
6140        https://bugs.webkit.org/show_bug.cgi?id=112700
6141
6142        Reviewed by Martin Robinson.
6143
6144        Apply changes to the LayerTreeHostGtk class that are analogous to changes made in r146193
6145        to the LayerTreeHostMac class, namely introducing a PageOverlayLayersMap and using that as
6146        the source of GraphicsLayer objects that should be operated on, making it possible to
6147        support multiple page overlays.
6148
6149        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
6150        (WebKit::LayerTreeHostGtk::initialize):
6151        (WebKit::LayerTreeHostGtk::invalidate):
6152        (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
6153        (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
6154        (WebKit::LayerTreeHostGtk::sizeDidChange):
6155        (WebKit::LayerTreeHostGtk::didInstallPageOverlay):
6156        (WebKit::LayerTreeHostGtk::didUninstallPageOverlay):
6157        (WebKit::LayerTreeHostGtk::setPageOverlayNeedsDisplay):
6158        (WebKit::LayerTreeHostGtk::paintContents):
6159        (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
6160        (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
6161        (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
6162        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
6163        (LayerTreeHostGtk):
6164
61652013-03-19  Tim Horton  <timothy_horton@apple.com>
6166
6167        [wk2] Should support multiple page overlays, like the API suggests
6168        https://bugs.webkit.org/show_bug.cgi?id=112505
6169        <rdar://problem/13424796>
6170
6171        Reviewed by Simon Fraser.
6172
6173        * WebProcess/WebPage/DrawingAreaImpl.h:
6174        * WebProcess/WebPage/LayerTreeHost.h:
6175        * WebProcess/WebPage/DrawingArea.h:
6176        (WebKit::DrawingArea::didInstallPageOverlay):
6177        (WebKit::DrawingArea::didUninstallPageOverlay):
6178        (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
6179        (WebKit::DrawingArea::setPageOverlayOpacity):
6180        Add PageOverlay argument.
6181
6182        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6183        (WebKit::DrawingAreaImpl::didInstallPageOverlay):
6184        (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
6185        (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
6186        (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
6187        Add PageOverlay argument, forward it to LayerTreeHost.
6188        (WebKit::DrawingAreaImpl::display):
6189        Paint all of the PageOverlays that WebPage knows about.
6190
6191        * WebProcess/WebPage/PageOverlay.cpp:
6192        (WebKit::PageOverlay::setNeedsDisplay):
6193        (WebKit::PageOverlay::fadeAnimationTimerFired):
6194        Pass the relevant PageOverlay into the DrawingArea methods that now take it.
6195
6196        * WebProcess/WebPage/WebPage.cpp:
6197        (WebKit::WebPage::drawPageOverlay):
6198        Take the PageOverlay to draw as an argument.
6199        (WebKit::WebPage::installPageOverlay):
6200        (WebKit::WebPage::uninstallPageOverlay):
6201        Allow (un)installation of multiple PageOverlays.
6202        (WebKit::WebPage::mouseEvent):
6203        (WebKit::WebPage::mouseEventSyncForTesting):
6204        Hit-test PageOverlays in reverse order of installation (most recently installed should be topmost).
6205
6206        * WebProcess/WebPage/WebPage.h:
6207        (WebKit::WebPage::drawPageOverlay): Take the PageOverlay to draw as an argument.
6208        (WebKit::WebPage::hasPageOverlay): Return true if we have any number of overlays.
6209        (WebKit::WebPage::pageOverlays): Return the whole vector of overlays.
6210
6211        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
6212        Add PageOverlay argument to a few methods.
6213        Add storage for a map of PageOverlay->GraphicsLayers.
6214
6215        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
6216        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
6217        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
6218        (WebKit::LayerTreeHostMac::sizeDidChange):
6219        (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
6220        Operate on all installed PageOverlays, not just the most recently installed one.
6221
6222        (WebKit::LayerTreeHostMac::didInstallPageOverlay):
6223        (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
6224        Forward the passed-in PageOverlay on to createPageOverlayLayer/destroyPageOverlayLayer.
6225
6226        (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
6227        Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
6228
6229        (WebKit::LayerTreeHostMac::paintContents):
6230        Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
6231        While not ideal (crawling the map), the vast majority of the time there will only be one entry.
6232
6233        (WebKit::LayerTreeHostMac::initialize):
6234        Create layers for all of WebPage's active PageOverlays.
6235        
6236        (WebKit::LayerTreeHostMac::createPageOverlayLayer):
6237        Stick the newly-created GraphicsLayer into the m_pageOverlays map.
6238        Also, drive-by add support for accelerated overlays and debug borders/repaint counters in overlays.
6239
6240        (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
6241        Remove the relevant overlay from the m_pageOverlays map and tear it down.
6242
6243        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
6244        (TiledCoreAnimationDrawingArea):
6245        Add PageOverlay argument to a few methods.
6246        Add storage for a map of PageOverlay->GraphicsLayers.
6247        Add storage for a map of GraphicsLayer->CALayers.
6248
6249        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
6250        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
6251        Pass PageOverlay argument on to createPageOverlayLayer.
6252        
6253        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
6254        Pass PageOverlay argument on to destroyPageOverlayLayer.
6255        Refrain from re-enabling threaded scrolling if there are still more overlays installed.
6256        
6257        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
6258        Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
6259
6260        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
6261        Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
6262        While not ideal (crawling the map), the vast majority of the time there will only be one entry.
6263
6264        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
6265        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
6266        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
6267        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
6268        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
6269        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
6270        Operate on all installed PageOverlays, not just the most recently installed one.
6271
6272        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
6273        Stick the newly-created GraphicsLayer into the m_pageOverlays map.
6274        Also, add its platformLayer to our m_pageOverlayPlatformLayers map.
6275
6276        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
6277        Remove the relevant overlay from the m_pageOverlays and m_pageOverlayPlatformLayers maps and tear it down.
6278
6279        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
6280        When we commit changes for the layer, if the GraphicsLayer's backing platform CALayer
6281        has changed out from under us (we have a reference to the previous one in the m_pageOverlayPlatformLayers map),
6282        the GraphicsLayer has probably switched to/from a tiled layer, and we need to swap out the
6283        layer we have inserted into the root layer. We need to keep the layer ordering consistent with
6284        installation order, as well.
6285
6286        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
6287        (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
6288        Assert if we try to install more than one page overlay into a CoordinatedLayerTreeHost,
6289        as this patch does not implement multiple overlay support for Coordinated Graphics.
6290        Keep track of the current PageOverlay so that paintContents can hand WebPage the right one.
6291        (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay): Remove our reference to the PageOverlay.
6292        (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay): Add unused PageOverlay argument.
6293        (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity): Add unused PageOverlay argument.
6294        (WebKit::CoordinatedLayerTreeHost::paintContents): Hand WebPage the PageOverlay we're currently displaying.
6295        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
6296        (CoordinatedLayerTreeHost): Add PageOverlay* argument to relevant functions, and storage for m_pageOverlay.
6297
62982013-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
6299
6300        Unreviewed, rolling out r146183.
6301        http://trac.webkit.org/changeset/146183
6302        https://bugs.webkit.org/show_bug.cgi?id=112673
6303
6304        Caused a few dozens of editing tests to fail on Mac WK2
6305        (Requested by rniwa on #webkit).
6306
6307        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
6308        (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
6309        (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
6310        (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
6311        (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
6312        (WebKit::CoordinatedLayerTreeHost::paintContents):
6313        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
6314        (CoordinatedLayerTreeHost):
6315        * WebProcess/WebPage/DrawingArea.h:
6316        (WebKit):
6317        (WebKit::DrawingArea::didInstallPageOverlay):
6318        (WebKit::DrawingArea::didUninstallPageOverlay):
6319        (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
6320        (WebKit::DrawingArea::setPageOverlayOpacity):
6321        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6322        (WebKit::DrawingAreaImpl::didInstallPageOverlay):
6323        (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
6324        (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
6325        (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
6326        (WebKit::DrawingAreaImpl::display):
6327        * WebProcess/WebPage/DrawingAreaImpl.h:
6328        (DrawingAreaImpl):
6329        * WebProcess/WebPage/LayerTreeHost.h:
6330        (LayerTreeHost):
6331        (WebKit::LayerTreeHost::setPageOverlayOpacity):
6332        * WebProcess/WebPage/PageOverlay.cpp:
6333        (WebKit::PageOverlay::setNeedsDisplay):
6334        (WebKit::PageOverlay::fadeAnimationTimerFired):
6335        * WebProcess/WebPage/WebPage.cpp:
6336        (WebKit::WebPage::drawPageOverlay):
6337        (WebKit::WebPage::installPageOverlay):
6338        (WebKit::WebPage::uninstallPageOverlay):
6339        (WebKit::WebPage::mouseEvent):
6340        (WebKit::WebPage::mouseEventSyncForTesting):
6341        * WebProcess/WebPage/WebPage.h:
6342        (WebKit):
6343        (WebPage):
6344        (WebKit::WebPage::hasPageOverlay):
6345        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
6346        (WebKit):
6347        (LayerTreeHostMac):
6348        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
6349        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
6350        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
6351        (WebKit::LayerTreeHostMac::sizeDidChange):
6352        (WebKit::LayerTreeHostMac::didInstallPageOverlay):
6353        (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
6354        (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
6355        (WebKit::LayerTreeHostMac::paintContents):
6356        (WebKit::LayerTreeHostMac::initialize):
6357        (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
6358        (WebKit::LayerTreeHostMac::createPageOverlayLayer):
6359        (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
6360        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
6361        (TiledCoreAnimationDrawingArea):
6362        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
6363        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
6364        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
6365        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
6366        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
6367        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
6368        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
6369        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
6370        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
6371        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
6372        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
6373        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
6374        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
6375        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
6376
63772013-03-18  Tim Horton  <timothy_horton@apple.com>
6378
6379        [wk2] Should support multiple page overlays, like the API suggests
6380        https://bugs.webkit.org/show_bug.cgi?id=112505
6381        <rdar://problem/13424796>
6382
6383        Reviewed by Simon Fraser.
6384
6385        * WebProcess/WebPage/DrawingAreaImpl.h:
6386        * WebProcess/WebPage/LayerTreeHost.h:
6387        * WebProcess/WebPage/DrawingArea.h:
6388        (WebKit::DrawingArea::didInstallPageOverlay):
6389        (WebKit::DrawingArea::didUninstallPageOverlay):
6390        (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
6391        (WebKit::DrawingArea::setPageOverlayOpacity):
6392        Add PageOverlay argument.
6393
6394        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6395        (WebKit::DrawingAreaImpl::didInstallPageOverlay):
6396        (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
6397        (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
6398        (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
6399        Add PageOverlay argument, forward it to LayerTreeHost.
6400        (WebKit::DrawingAreaImpl::display):
6401        Paint all of the PageOverlays that WebPage knows about.
6402
6403        * WebProcess/WebPage/PageOverlay.cpp:
6404        (WebKit::PageOverlay::setNeedsDisplay):
6405        (WebKit::PageOverlay::fadeAnimationTimerFired):
6406        Pass the relevant PageOverlay into the DrawingArea methods that now take it.
6407
6408        * WebProcess/WebPage/WebPage.cpp:
6409        (WebKit::WebPage::drawPageOverlay):
6410        Take the PageOverlay to draw as an argument.
6411        (WebKit::WebPage::installPageOverlay):
6412        (WebKit::WebPage::uninstallPageOverlay):
6413        Allow (un)installation of multiple PageOverlays.
6414        (WebKit::WebPage::mouseEvent):
6415        (WebKit::WebPage::mouseEventSyncForTesting):
6416        Hit-test PageOverlays in reverse order of installation (most recently installed should be topmost).
6417
6418        * WebProcess/WebPage/WebPage.h:
6419        (WebKit::WebPage::drawPageOverlay): Take the PageOverlay to draw as an argument.
6420        (WebKit::WebPage::hasPageOverlay): Return true if we have any number of overlays.
6421        (WebKit::WebPage::pageOverlays): Return the whole vector of overlays.
6422
6423        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
6424        Add PageOverlay argument to a few methods.
6425        Add storage for a map of PageOverlay->GraphicsLayers.
6426
6427        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
6428        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
6429        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
6430        (WebKit::LayerTreeHostMac::sizeDidChange):
6431        (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
6432        Operate on all installed PageOverlays, not just the most recently installed one.
6433
6434        (WebKit::LayerTreeHostMac::didInstallPageOverlay):
6435        (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
6436        Forward the passed-in PageOverlay on to createPageOverlayLayer/destroyPageOverlayLayer.
6437
6438        (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
6439        Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
6440
6441        (WebKit::LayerTreeHostMac::paintContents):
6442        Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
6443        While not ideal (crawling the map), the vast majority of the time there will only be one entry.
6444
6445        (WebKit::LayerTreeHostMac::initialize):
6446        Create layers for all of WebPage's active PageOverlays.
6447        
6448        (WebKit::LayerTreeHostMac::createPageOverlayLayer):
6449        Stick the newly-created GraphicsLayer into the m_pageOverlayLayers map.
6450        Also, drive-by add support for accelerated overlays and debug borders/repaint counters in overlays.
6451
6452        (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
6453        Remove the relevant overlay from the m_pageOverlayLayers map and tear it down.
6454
6455        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
6456        (TiledCoreAnimationDrawingArea):
6457        Add PageOverlay argument to a few methods.
6458        Add storage for a map of PageOverlay->GraphicsLayers.
6459        Add storage for a map of GraphicsLayer->CALayers.
6460
6461        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
6462        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
6463        Pass PageOverlay argument on to createPageOverlayLayer.
6464        
6465        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
6466        Pass PageOverlay argument on to destroyPageOverlayLayer.
6467        Refrain from re-enabling threaded scrolling if there are still more overlays installed.
6468        
6469        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
6470        Look up the GraphicsLayer for the PageOverlay we need to dirty, and dirty it.
6471
6472        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
6473        Find the PageOverlay corresponding to the GraphicsLayer that we're painting, and ask WebPage to paint it.
6474        While not ideal (crawling the map), the vast majority of the time there will only be one entry.
6475
6476        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
6477        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
6478        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
6479        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
6480        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
6481        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
6482        Operate on all installed PageOverlays, not just the most recently installed one.
6483
6484        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
6485        Stick the newly-created GraphicsLayer into the m_pageOverlayLayers map.
6486        Also, add its platformLayer to our m_pageOverlayPlatformLayers map.
6487
6488        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
6489        Remove the relevant overlay from the m_pageOverlayLayers and m_pageOverlayPlatformLayers maps and tear it down.
6490
6491        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
6492        When we commit changes for the layer, if the GraphicsLayer's backing platform CALayer
6493        has changed out from under us (we have a reference to the previous one in the m_pageOverlayPlatformLayers map),
6494        the GraphicsLayer has probably switched to/from a tiled layer, and we need to swap out the
6495        layer we have inserted into the root layer. We need to keep the layer ordering consistent with
6496        installation order, as well.
6497
6498        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
6499        (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
6500        Assert if we try to install more than one page overlay into a CoordinatedLayerTreeHost,
6501        as this patch does not implement multiple overlay support for Coordinated Graphics.
6502        Keep track of the current PageOverlay so that paintContents can hand WebPage the right one.
6503        (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay): Remove our reference to the PageOverlay.
6504        (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay): Add unused PageOverlay argument.
6505        (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity): Add unused PageOverlay argument.
6506        (WebKit::CoordinatedLayerTreeHost::paintContents): Hand WebPage the PageOverlay we're currently displaying.
6507        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
6508        (CoordinatedLayerTreeHost): Add PageOverlay* argument to relevant functions, and storage for m_pageOverlay.
6509
65102013-03-18  Sam Weinig  <sam@webkit.org>
6511
6512        Need a bundle SPI to generate a snapshot of a specific DOM node (like [DOMNode renderedImage])
6513        <rdar://problem/13148631>
6514        https://bugs.webkit.org/show_bug.cgi?id=110034
6515
6516        Reviewed by Tim Horton.
6517
6518        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
6519        (WKBundleNodeHandleCopySnapshotWithOptions):
6520        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
6521        Add WKBundleNodeHandleCopySnapshotWithOptions function.
6522
6523        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
6524        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
6525        Fix conversion method between WKDOMNode and WKBundleNodeHandleRef to have the same
6526        name in the header and implementation.
6527
6528        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
6529        (WebKit::imageForRect):
6530        (WebKit):
6531        (WebKit::InjectedBundleNodeHandle::renderedImage):
6532        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
6533        Add implementation of WKBundleNodeHandleCopySnapshotWithOptions.
6534
6535        * Shared/ImageOptions.h:
6536        (WebKit::snapshotOptionsToImageOptions):
6537        * WebProcess/WebPage/WebPage.cpp:
6538        Move snapshotOptionsToImageOptions conversion function to a location where
6539        it can be shared.
6540
65412013-03-18  Andreas Kling  <akling@apple.com>
6542
6543        [WK2][Mac] Don't consider empty window frames cacheable.
6544        <http://webkit.org/b/112631>
6545        <rdar://problem/13384894>
6546
6547        Reviewed by Anders Carlsson.
6548
6549        If the UI client overrides getWindowFrame() and returns an empty rect, send that over
6550        to the web process and mark it as uncached. This forces the next ChromeClient::windowRect()
6551        call to synchronously retrieve the window frame from the other side.
6552
6553        Fixes an issue with the Mac Web Inspector which uses empty rects to signify that there is
6554        no known window frame yet. In this case, we should not be falling back to the native frame.
6555
6556        * UIProcess/mac/WebPageProxyMac.mm:
6557        (WebKit::WebPageProxy::windowAndViewFramesChanged):
6558        * WebProcess/WebPage/WebPage.cpp:
6559        (WebKit::WebPage::windowAndViewFramesChanged):
6560
65612013-03-18  Brady Eidson  <beidson@apple.com>
6562
6563        Mac build fix after http://trac.webkit.org/changeset/146088
6564
6565        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
6566        (WebKit::NetworkResourceLoader::platformDidReceiveResponse):
6567
65682013-03-18  Brady Eidson  <beidson@apple.com>
6569
6570        NetworkProcess should send vm_copied, mmap'ed memory to WebProcesses when a 
6571        resource is already in the disk cache.
6572        <rdar://problem/13414153> and https://bugs.webkit.org/show_bug.cgi?id=112387
6573
6574        Reviewed by Geoff Garen.
6575
6576        * NetworkProcess/NetworkResourceLoader.cpp:
6577        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
6578        (WebKit::NetworkResourceLoader::didReceiveResponse): After notifying about the response,
6579          call platformDidReceiveResponse.
6580        * NetworkProcess/NetworkResourceLoader.h:
6581
6582        * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Added.
6583        (WebKit::NetworkResourceLoader::platformDidReceiveResponse): Attempt to pull a filesystem
6584          mmap'ed buffer from the CFNetwork cache and - if it exists - abort the traditional load
6585          and send that to the WebProcess instead.
6586        (WebKit::NetworkResourceLoader:: fileBackedResourceMinimumSize): For now, use the VM page size.
6587
6588        * NetworkProcess/mac/NetworkProcessMac.mm:
6589        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Set the threshold for what
6590          should be backed by a file on disk instead of stored in the database.
6591
6592        Change SharedMemory to do a vm_copy if a previously existing buffer is being passed in:
6593        * Platform/SharedMemory.h:
6594        * Platform/mac/SharedMemoryMac.cpp:
6595        (WebKit::SharedMemory::create):
6596        (WebKit::SharedMemory::createWithVMCopy):
6597
6598        * WebProcess/Network/WebResourceLoader.cpp:
6599        (WebKit::shareableResourceDeallocate):
6600        (WebKit::createShareableResourceDeallocator):
6601        (WebKit::WebResourceLoader::didReceiveResource): Create a special CFDataRef whose buffer is
6602          backed by a ShareableResource to send to the ResourceLoader in one chunk.
6603
6604        * Shared/ShareableResource.h: Fix some comments.
6605
6606        * WebKit2.xcodeproj/project.pbxproj:
6607
66082013-03-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
6609
6610        [WK2][EFL] Fix code wrapping WKPageGroupRef
6611        https://bugs.webkit.org/show_bug.cgi?id=112364
6612
6613        Reviewed by Alexey Proskuryakov.
6614
6615        The patch fixes following problems in EWK2 WKPageGroupRef wrapping
6616        code: firstly it makes sure that there is only one EwkPageGroup
6617        instance per WKPageGroup instance, secondly it allows web page to
6618        to use the default page group (which is implicitly created inside
6619        web context).
6620
6621        * UIProcess/API/C/efl/WKView.cpp:
6622        (createWKView):
6623
6624            Now may pass '0' page group as a WebView creation argument so
6625            that the default page group is used.
6626
6627        * UIProcess/API/efl/EwkView.cpp:
6628        (EwkView::EwkView):
6629        (EwkView::createEvasObject):
6630        * UIProcess/API/efl/EwkView.h:
6631        (EwkView):
6632
6633            Web view should be created before page group, so they are rearranged
6634            inside class declaration.
6635
6636        * UIProcess/API/efl/ewk_page_group.cpp:
6637        (pageGroupMap):
6638
6639            A map to track corresponding EwkPageGroup and WKPageGroup
6640            instances.
6641
6642        (EwkPageGroup::findOrCreateWrapper):
6643
6644            Returns the same EwkPageGroup instance for the same WKPageGroup
6645            instance.
6646
6647        (EwkPageGroup::create):
6648        (EwkPageGroup::EwkPageGroup):
6649
6650            Now there is only one constructor accepting WKPageGroupRef.
6651
6652        (EwkPageGroup::~EwkPageGroup):
6653        * UIProcess/API/efl/ewk_page_group_private.h:
6654        (EwkPageGroup):
6655        * UIProcess/efl/WebInspectorProxyEfl.cpp:
6656        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
6657
66582013-03-17  Carlos Garcia Campos  <cgarcia@igalia.com>
6659
6660        [GTK] Invalid charset encoding using when substituting a misspelled word in WebKit2
6661        https://bugs.webkit.org/show_bug.cgi?id=112517
6662
6663        Reviewed by Alexey Proskuryakov.
6664
6665        The problem is that we are creating the WebContextMenuItemData
6666        with the GtkAction label as UTF-8.
6667
6668        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
6669        (WebKit::contextMenuItemActivatedCallback): Use String::fromUTF8()
6670        to convert the GtkAction label to UTF-16.
6671
66722013-03-16  Pratik Solanki  <psolanki@apple.com>
6673
6674        Disable High DPI Canvas on iOS
6675        https://bugs.webkit.org/show_bug.cgi?id=112511
6676
6677        Reviewed by Joseph Pecoraro.
6678
6679        * Configurations/FeatureDefines.xcconfig:
6680
66812013-03-15  Timothy Hatcher  <timothy@apple.com>
6682
6683        Disable suppressesIncrementalRendering for the Web Inspector.
6684
6685        This ends up causing the Inspector to show blank for a couple seconds before
6686        it does its first paint. During that time the bare window chrome is showing
6687        when the Inspector's background and other simple elements count be painting.
6688        This causes the Inspector to look like it is loading slower than reality.
6689
6690        https://bugs.webkit.org/show_bug.cgi?id=112300
6691        rdar://problem/13412219
6692
6693        Reviewed by Geoff Garen.
6694
6695        * UIProcess/WebInspectorProxy.cpp:
6696        (WebKit::createInspectorPageGroup): Disable suppressesIncrementalRendering.
6697
66982013-03-13  Timothy Hatcher  <timothy@apple.com>
6699
6700        Delay creating the Inspector window so we don't cause a CoreIPC deadlock.
6701
6702        Other changes include:
6703        * Create the Inspector WKView at the correct size so it does not need to
6704          resize later when added to the window.
6705        * Update the minimum and initial window sizes to better match the new UI.
6706        * Store the Inspector window frame in WebKit preferences so each page group
6707          can have different saved window frames. Handy for inspecting the Inspector.
6708
6709        https://bugs.webkit.org/show_bug.cgi?id=112300
6710        rdar://problem/13412219
6711
6712        Reviewed by Geoff Garen.
6713
6714        * Shared/WebPreferencesStore.cpp:
6715        (WebKit::defaultValueForKey):
6716        Added FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE.
6717
6718        * Shared/WebPreferencesStore.h:
6719        (FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE):
6720        Added. Needed to keep WebPage::updatePreferences for trying to set WebCore::Settings.
6721
6722        * UIProcess/WebInspectorProxy.cpp:
6723        (WebKit::WebInspectorProxy::minimumWindowWidth):
6724        (WebKit::WebInspectorProxy::initialWindowWidth):
6725        Bumped the values to work better with the new UI.
6726
6727        * UIProcess/WebInspectorProxy.h:
6728        (WebKit::WebInspectorProxy::windowFrameDidChange):
6729        Added.
6730
6731        * UIProcess/mac/WebInspectorProxyMac.mm:
6732        (-[WKWebInspectorProxyObjCAdapter windowDidMove:]):
6733        (-[WKWebInspectorProxyObjCAdapter windowDidResize:]):
6734        Call WebInspectorProxy::windowFrameDidChange.
6735
6736        (WebKit::WebInspectorProxy::createInspectorWindow):
6737        Use the preferences for the page group to get the window frame.
6738
6739        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
6740        Stop calling platformAttach or createInspectorWindow, do it in platformOpen.
6741
6742        (WebKit::WebInspectorProxy::platformOpen):
6743        Call platformAttach or createInspectorWindow here instead.
6744
6745        (WebKit::WebInspectorProxy::windowFrameDidChange):
6746        Added. Store the frame in the page group's preferences.
6747
6748        (WebKit::WebInspectorProxy::platformAttach):
6749        (WebKit::WebInspectorProxy::platformDetach):
6750        Remove code that called setHidden:. We don't need to do that anymore.
6751
67522013-03-15  Zan Dobersek  <zdobersek@igalia.com>
6753
6754        [GTK] Enforce the C++11 standard when compiling WebKit2
6755        https://bugs.webkit.org/show_bug.cgi?id=112169
6756
6757        Reviewed by Gustavo Noronha Silva.
6758
6759        With a limited set of supported compilers the WebKit2 source code can now
6760        be built with the C++11 language standard enforced.
6761
6762        * GNUmakefile.am:
6763        * UIProcess/API/gtk/WebKitWebContext.cpp:
6764        (injectedBundleDirectory): Adjust the string literals concatenation, moving away from empty strings
6765        (which C++11 refuses to handle as concatenation operators) and using whitespace instead.
6766        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
6767        (WebKit::WebInspectorServer::platformResourceForPath): Ditto.
6768        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
6769        (WebKit::inspectorFilesBasePath): Ditto.
6770
67712013-03-15  Nate Chapin  <japhet@chromium.org>
6772
6773        Hide MainResourceLoader from the outside world
6774        https://bugs.webkit.org/show_bug.cgi?id=109971
6775
6776        Reviewed by Adam Barth.
6777
6778        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6779        (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
6780        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
6781        (WebFrameLoaderClient):
6782        * WebProcess/WebPage/WebFrame.cpp:
6783        (WebKit::WebFrame::convertMainResourceLoadToDownload):
6784        * WebProcess/WebPage/WebFrame.h:
6785        (WebFrame):
6786
67872013-03-15  Abhishek Arya  <inferno@chromium.org>
6788
6789        Replace static_casts with to* helper functions.
6790        https://bugs.webkit.org/show_bug.cgi?id=112401
6791
6792        Reviewed by Stephen Chenney.
6793
6794        to* helper functions are preferred over static_cast calls since they
6795        help to catch bad casts easily on the testing infrastructure.
6796
6797        * Shared/WebRenderObject.cpp:
6798        (WebKit::WebRenderObject::WebRenderObject):
6799
68002013-03-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
6801
6802        [WK2][EFL] Get rid of WebPageProxy::viewWidget() method
6803        https://bugs.webkit.org/show_bug.cgi?id=112289
6804
6805        Reviewed by Alexey Proskuryakov.
6806
6807        Web page should not be aware of platform-specific view.
6808
6809        * UIProcess/API/efl/EwkView.cpp:
6810        (wkPageToEvasObjectMap):
6811        (EwkView::EwkView):
6812        (EwkView::~EwkView):
6813        (EwkView::toEvasObject):
6814
6815            EwkView::toEvasObject() relies on static map rather than on
6816            removed WebPageProxy::viewWidget() method.
6817
6818        * UIProcess/API/efl/EwkView.h:
6819        * UIProcess/API/efl/ewk_text_checker.cpp:
6820        (uniqueSpellDocumentTag):
6821        * UIProcess/cairo/BackingStoreCairo.cpp:
6822        (WebKit::BackingStore::incorporateUpdate):
6823
6824            Now uses EwkView::toEvasObject().
6825
6826        * UIProcess/WebPageProxy.h:
6827        (WebPageProxy):
6828        * UIProcess/efl/WebPageProxyEfl.cpp:
6829
6830            Removed WebPageProxy::viewWidget() method.
6831
68322013-03-14  Andreas Kling  <akling@apple.com>
6833
6834        REGRESSION(r145169): [Mac][WK2] http/tests/security/cross-frame-access-put.html fails.
6835        <http://webkit.org/b/111815>
6836        <rdar://problem/13380145>
6837
6838        Reviewed by Anders Carlsson.
6839
6840        Call getWindowFrame() to see if the UI client wants to override the window frame before sending
6841        a WindowAndViewFramesChanged message to the web process.
6842        This fixes a glitch in WTR and the Web Inspector where incorrect window frames were being used.
6843
6844        * UIProcess/mac/WebPageProxyMac.mm:
6845        (WebKit::WebPageProxy::windowAndViewFramesChanged):
6846
68472013-03-14  Andy Estes  <aestes@apple.com>
6848
6849        [WebKit2] Only preprocess sandbox profiles if we're building for the OS X SDK
6850        https://bugs.webkit.org/show_bug.cgi?id=112330
6851
6852        Reviewed by David Kilzer.
6853
6854        We shouldn't preprocess sandbox profiles just because the computer
6855        we're building on is a Mac. We should only do it if we're actually
6856        building for the OS X SDK.
6857
6858        * DerivedSources.make: Check if $PLATFORM_NAME is macosx rather than if
6859        $OS is MACOS.
6860
68612013-03-14  Sam Weinig  <sam@webkit.org>
6862
6863        Support private browsing on a per-page basis
6864        <rdar://problem/11969491>
6865
6866        Reviewed by Timothy Horton.
6867
6868        Adds WKPageSetOverridePrivateBrowsingEnabled and WKPageGetOverridePrivateBrowsingEnabled.
6869
6870        * Shared/WebPageCreationParameters.cpp:
6871        (WebKit::WebPageCreationParameters::encode):
6872        (WebKit::WebPageCreationParameters::decode):
6873        * Shared/WebPageCreationParameters.h:
6874        (WebPageCreationParameters):
6875        * UIProcess/API/C/WKPage.cpp:
6876        (WKPageSetOverridePrivateBrowsingEnabled):
6877        (WKPageGetOverridePrivateBrowsingEnabled):
6878        * UIProcess/API/C/WKPagePrivate.h:
6879        * UIProcess/WebPageProxy.cpp:
6880        (WebKit::WebPageProxy::WebPageProxy):
6881        (WebKit::WebPageProxy::creationParameters):
6882        (WebKit::WebPageProxy::setOverridePrivateBrowsingEnabled):
6883        * UIProcess/WebPageProxy.h:
6884        (WebKit::WebPageProxy::overridePrivateBrowsingEnabled):
6885        * WebProcess/WebPage/WebPage.cpp:
6886        (WebKit::WebPage::WebPage):
6887        (WebKit::WebPage::updatePreferences):
6888        (WebKit::WebPage::setOverridePrivateBrowsingEnabled):
6889        * WebProcess/WebPage/WebPage.h:
6890        * WebProcess/WebPage/WebPage.messages.in:
6891        Pipe through.
6892
68932013-03-14  Abhishek Arya  <inferno@chromium.org>
6894
6895        Replace static_casts with to* helper functions.
6896        https://bugs.webkit.org/show_bug.cgi?id=112296
6897
6898        Reviewed by Kentaro Hara.
6899
6900        to* helper functions are preferred over static_cast calls since they
6901        help to catch bad casts easily on the testing infrastructure.
6902
6903        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
6904        (WebKit::InjectedBundleNodeHandle::elementBounds):
6905        * WebProcess/WebPage/WebFrame.cpp:
6906        (WebKit::WebFrame::containsAnyFormElements):
6907
69082013-03-14  Jinwoo Song  <jinwoo7.song@samsung.com>
6909
6910        [EFL][WK2] Add an API for adding and removing user style sheets from a page group
6911        https://bugs.webkit.org/show_bug.cgi?id=110728
6912
6913        Reviewed by Gyuyoung Kim.
6914
6915        This patch implements EwkPageGroup API to provide the interface of WKPageGroup. Using the EwkPageGroup,
6916        applications may create the views with a page group for the specific identifier. Also, this patch
6917        encapsulates the APIs WKPageGroupAddUserStyleSheet and WKPageGroupRemoveAllUserStyleSheets behind
6918        the EwkPageGroup class for adding and removing user style sheets from a page group. WKArrayCreateWithEinaList()
6919        is added as a generic WKArray creation API from Eina_List.
6920
6921        * PlatformEfl.cmake:
6922        * UIProcess/API/C/efl/WKView.cpp:
6923        (createWKView):
6924        * UIProcess/API/efl/EWebKit2.h:
6925        * UIProcess/API/efl/EwkView.cpp:
6926        (EwkView::EwkView):
6927        (EwkView::createEvasObject):
6928        * UIProcess/API/efl/EwkView.h:
6929        (EwkView::ewkPageGroup):
6930        (EwkView):
6931        * UIProcess/API/efl/ewk_view.cpp:
6932        (ewk_view_smart_add):
6933        (ewk_view_page_group_get):
6934        * UIProcess/API/efl/ewk_view.h:
6935        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
6936        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
6937        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
6938        (EWK2UnitTest::EWK2UnitTestBase::setWebView):
6939        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
6940        (TEST_F):
6941        * UIProcess/efl/WebInspectorProxyEfl.cpp:
6942        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
6943
69442013-03-14  Simon Hausmann  <simon.hausmann@digia.com>
6945
6946        [Qt] Improve the handling of mock geolocation, device orientation and motion clients
6947
6948        Reviewed by Tor Arne Vestbø.
6949
6950        The mock versions of these web facing features should be instantiated when
6951        running in DumpRenderTree only. In order for them to work, no extra Qt modules
6952        such as QtLocation are actually needed.
6953
6954        This patch decouples enabling device orientation/motion and geolocation from
6955        the underlying Qt modules and makes them available in developer builds
6956        (!production_build) and backed by mock backends when running in drt.
6957
6958        So if the Qt 5 modules are available, they'll be used (unless drtRun). For
6959        developers the web facing features are always enabled (although requests will
6960        time out) and the mock backends are enabled inside DRT, allowing for the layout
6961        tests to run with less dependencies.
6962
6963        In addition this also enables the mock device motion client, which was
6964        previously never instantiated.
6965
6966        * Target.pri:
6967        * UIProcess/qt/WebContextQt.cpp:
6968        (WebKit::WebContext::platformInitializeWebProcess):
6969        * UIProcess/qt/WebGeolocationProviderQt.cpp:
6970        * WebKit2.pri:
6971        * WebProcess/WebPage/WebPage.cpp:
6972        (WebKit::WebPage::WebPage):
6973
69742013-03-14  Alice Liu  <alice.liu@apple.com>
6975
6976        Add to HistoryItem a way to know if its underlying CachedPage has expired.
6977        https://bugs.webkit.org/show_bug.cgi?id=110652
6978
6979        Reviewed by Brady Eidson.
6980
6981        Hook up hasCachedPageExpired in InjectedBundle's BackForwardListItem.
6982        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
6983        (WKBundleBackForwardListItemHasCachedPageExpired):
6984        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
6985        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
6986        (WebKit::InjectedBundleBackForwardListItem::hasCachedPageExpired):
6987
69882013-03-13  Rik Cabanier  <cabanier@adobe.com>
6989
6990        create runtime flags for CSS Compositing
6991        https://bugs.webkit.org/show_bug.cgi?id=111818
6992
6993        Reviewed by Ryosuke Niwa.
6994
6995        Added a preference to enable CSS compositing.
6996
6997        * Shared/WebPreferencesStore.h:
6998        (WebKit):
6999        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7000        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
7001        (WebKit::InjectedBundle::setCSSCompositingEnabled):
7002        (WebKit):
7003        * WebProcess/InjectedBundle/InjectedBundle.h:
7004        (InjectedBundle):
7005        * WebProcess/WebPage/WebPage.cpp:
7006        (WebKit::WebPage::updatePreferences):
7007
70082013-03-13  Ryosuke Niwa  <rniwa@webkit.org>
7009
7010        Threaded HTML Parser is missing feature define flags in all but Chromium port's build files
7011        https://bugs.webkit.org/show_bug.cgi?id=112277
7012
7013        Reviewed by Adam Barth.
7014
7015        * Configurations/FeatureDefines.xcconfig:
7016
70172013-03-13  Brady Eidson  <beidson@apple.com>
7018
7019        Small ResourceLoader cleanups.
7020        https://bugs.webkit.org/show_bug.cgi?id=112279
7021
7022        Reviewed by Geoff Garen.
7023
7024        Replace the "bool allAtOnce" flag with a descriptive enum to make reading code easier.
7025
7026        * NetworkProcess/NetworkResourceLoader.cpp:
7027        (WebKit::NetworkResourceLoader::didReceiveData):
7028
7029        * WebProcess/Network/WebResourceLoader.cpp:
7030        (WebKit::WebResourceLoader::didReceiveData):
7031        (WebKit::WebResourceLoader::didReceiveResource):
7032        * WebProcess/Network/WebResourceLoader.h:
7033        * WebProcess/Network/WebResourceLoader.messages.in: Get rid of the "allAtOnce" flag since it was always false.
7034
70352013-03-13  Abhishek Arya  <inferno@chromium.org>
7036
7037        Replace static_casts with to* functions for document types.
7038        https://bugs.webkit.org/show_bug.cgi?id=112225
7039
7040        Reviewed by Ryosuke Niwa.
7041
7042        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Remove the redundant helper.
7043
70442013-03-13  Zan Dobersek  <zdobersek@igalia.com>
7045
7046        [GTK] Build fixes after 145552
7047        https://bugs.webkit.org/show_bug.cgi?id=112267
7048
7049        Reviewed by Gustavo Noronha Silva.
7050
7051        * GNUmakefile.am: Narrow down the dependency CFLAGS list to only ones that are actually needed
7052        to build the platformgtk_sources into libPlatformGtk2.la. At the moment this means only
7053        GTK+-2.0 CFLAGS are used.
7054
70552013-03-13  Antoine Quint  <graouts@apple.com>
7056
7057        Calling WebInspectorClient::highlight() during a fade-out animation of the PageOverlay won't stop its animation
7058        https://bugs.webkit.org/show_bug.cgi?id=112271
7059
7060        Reviewed by Tim Horton.
7061
7062        Add a new stopFadeOutAnimation() on PageOverlay that we call when
7063        WebInspectorClient::highlight() is called and a page overlay
7064        is already available. This ensures that any fade-out animation
7065        is cleared before proceeding with showing the page overlay
7066        for the new highlight.
7067
7068        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
7069        (WebKit::WebInspectorClient::highlight):
7070        * WebProcess/WebPage/PageOverlay.cpp:
7071        (WebKit::PageOverlay::stopFadeOutAnimation):
7072        (WebKit):
7073        * WebProcess/WebPage/PageOverlay.h:
7074        (PageOverlay):
7075
70762013-03-13  Pavel Feldman  <pfeldman@chromium.org>
7077
7078        Web Inspector: get rid of hiddenPanels filter
7079        https://bugs.webkit.org/show_bug.cgi?id=112252
7080
7081        Reviewed by Vsevolod Vlasov.
7082
7083        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
7084        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
7085        (WebInspectorFrontendClient):
7086
70872013-03-13  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7088
7089        [WK2][Qt] Regression(145517) WebProcess asserts in debug build on WebKitTestRunner start
7090        https://bugs.webkit.org/show_bug.cgi?id=112223
7091
7092        Reviewed by Simon Hausmann.
7093
7094        We need to only enable the cookie jar and the disk cache conditionally
7095        in the web process since we removed default paths and WKTR doesn't provide
7096        them.
7097
7098        * WebProcess/qt/WebProcessQt.cpp:
7099        (WebKit::WebProcess::platformSetCacheModel):
7100        (WebKit::WebProcess::platformInitializeWebProcess):
7101
71022013-03-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
7103
7104        [EFL][WK2] ewk_popup_menu_close() does not work as intended
7105        https://bugs.webkit.org/show_bug.cgi?id=110209
7106
7107        Reviewed by Laszlo Gombos.
7108
7109        ewk_popup_menu_close() is called by the browser to notify WebKit that
7110        the popup menu was closed. However, the implementation was calling
7111        EwkView::closePopupMenu() which was asking the browser to close the
7112        popup menu via an Evas smart function. This patch fixes the behavior
7113        and ewk_popup_menu_close() now calls WKPopupMenuListenerSetSelection()
7114        C API so that the WebProcess is notified that the popup menu was
7115        hidden.
7116
7117        * UIProcess/API/efl/ewk_popup_menu.cpp:
7118        (EwkPopupMenu::close):
7119
71202013-03-12  Huang Dongsung  <luxtella@company100.net>
7121
7122        Coordinated Graphics: Remove CoordinatedGraphicsLayer::setRootLayer().
7123        https://bugs.webkit.org/show_bug.cgi?id=111835
7124
7125        Reviewed by Luiz Agostini.
7126
7127        Amend CoordinatedLayerTreeHost because
7128        CoordinatedGraphicsLayer::setRootLayer() is removed.
7129
7130        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
7131        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
7132
71332013-03-12  Dean Jackson  <dino@apple.com>
7134
7135        Primary plugin hit detection needs to run after plugin creation
7136        https://bugs.webkit.org/show_bug.cgi?id=112206
7137
7138        Reviewed by Tim Horton.
7139
7140        On some pages, the plugins are created after the page has loaded, and
7141        thus our heuristic to determine the primary plugin fails. Run this
7142        heuristic more often: after each PluginView is created. It already exits
7143        early if it has found a primary. But we also need to make sure that it
7144        doesn't run before load.
7145
7146        * WebProcess/WebPage/WebPage.cpp:
7147        (WebKit::WebPage::addPluginView): Run detection when view is added.
7148        (WebKit::WebPage::didFinishLoad): Remember that we have loaded.
7149        (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Look at the PluginViews to see if we have a plugin.
7150        (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset both flags.
7151        * WebProcess/WebPage/WebPage.h:
7152        (WebPage): New member variable, m_readyToFindPrimarySnapshottedPlugin.
7153
71542013-03-12  Beth Dakin  <bdakin@apple.com>
7155
7156        WKView -printOperationWithPrintInfo:forFrame: doesn’t use the print info that is 
7157        passed in
7158        https://bugs.webkit.org/show_bug.cgi?id=112212
7159        -and corresponding-
7160        <rdar://problem/12994883>
7161
7162        Reviewed by Anders Carlsson.
7163
7164        We should call [NSPrintOperation printOperationWithView: printInfo:] to use the 
7165        printInfo parameter instead of [NSPrintOperation printOperationWithView:] which 
7166        will just use the sharedPrintInfo.
7167        * UIProcess/API/mac/WKView.mm:
7168        (-[WKView printOperationWithPrintInfo:forFrame:]):
7169
71702013-03-12  Geoffrey Garen  <ggaren@apple.com>
7171
7172        Moved RunLoopTimer and SchedulePair to WTF
7173        https://bugs.webkit.org/show_bug.cgi?id=112171
7174
7175        Reviewed by Oliver Hunt.
7176
7177        This will allow us to use timers in lower level primitives without
7178        duplicating all the code.
7179
7180        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
7181        (WebFrameNetworkingContext):
7182
71832013-03-12  Zan Dobersek  <zdobersek@igalia.com>
7184
7185        [GTK] Remove HILDON_CPPFLAGS and HILDON_CFLAGS references from GNUmakefiles
7186        https://bugs.webkit.org/show_bug.cgi?id=112163
7187
7188        Reviewed by Martin Robinson.
7189
7190        * GNUmakefile.am: The Hildon dependency doesn't exist anymore so there's no need for
7191        references to HILDON_CPPFLAGS and HILDON_CFLAGS.
7192
71932013-03-12  Zan Dobersek  <zdobersek@igalia.com>
7194
7195        [GTK] Set up the libPlatformGtk.la library
7196        https://bugs.webkit.org/show_bug.cgi?id=111738
7197
7198        Reviewed by Martin Robinson.
7199
7200        * GNUmakefile.am: Reference platformgtk_cppflags variable, libPlatformGtk.la along with webcoregtk_cppflags variable, libWebCoreGtk.la.
7201        Adjust the path to GtkVersioning.c, the file has moved under Source/Platform.
7202
72032013-03-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
7204
7205        [WK2][EFL] Fix EwkContext class API
7206        https://bugs.webkit.org/show_bug.cgi?id=111706
7207
7208        Reviewed by Alexey Proskuryakov.
7209
7210        * UIProcess/API/C/efl/WKView.cpp:
7211        (createWKView):
7212        * UIProcess/API/efl/ewk_context.cpp:
7213        (EwkContext::findOrCreateWrapper):
7214
7215            Renamed from create() as it returns the same instance of EwkContext
7216            for the given WKContextRef if present.
7217
7218        (EwkContext::create):
7219        (EwkContext::defaultContext):
7220
7221            Returns raw pointer rather than PassRefPtr<EwkContext> as ownership
7222            is not transferred.
7223
7224        (ewk_context_default_get):
7225        * UIProcess/API/efl/ewk_context_private.h:
7226        (EwkContext):
7227        * UIProcess/efl/WebInspectorProxyEfl.cpp:
7228        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
7229
72302013-03-12  Zan Dobersek  <zdobersek@igalia.com>
7231
7232        [GTK] Enable Web Audio in development builds
7233        https://bugs.webkit.org/show_bug.cgi?id=111831
7234
7235        Reviewed by Philippe Normand.
7236
7237        * GNUmakefile.am: Link the plugin process against libWebCoreModules.la as well.
7238
72392013-03-11  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7240
7241        [Qt][WK2] Layer QtDownloadManager on the C API
7242        https://bugs.webkit.org/show_bug.cgi?id=109562
7243
7244        Reviewed by Simon Hausmann.
7245        Signed off for WebKit2 by Benjamin Poulain.
7246
7247        * UIProcess/API/cpp/qt/WKURLQt.cpp:
7248        (WebKit::adoptToQString):
7249        (WebKit):
7250        (WebKit::adoptToQUrl):
7251        * UIProcess/API/cpp/qt/WKURLQt.h:
7252        (WebKit):
7253        * UIProcess/API/qt/qquickwebview.cpp:
7254        (QQuickWebViewPrivate::handleDownloadRequest):
7255        * UIProcess/qt/QtDownloadManager.cpp:
7256        (WebKit::toQtDownloadManager):
7257        (WebKit):
7258        (WebKit::QtDownloadManager::QtDownloadManager):
7259        (WebKit::QtDownloadManager::addDownload):
7260        (WebKit::QtDownloadManager::didReceiveResponse):
7261        (WebKit::QtDownloadManager::didCreateDestination):
7262        (WebKit::QtDownloadManager::didFinishDownload):
7263        (WebKit::QtDownloadManager::didFailDownload):
7264        (WebKit::QtDownloadManager::didReceiveDataForDownload):
7265        * UIProcess/qt/QtDownloadManager.h:
7266        (WebKit):
7267        (QtDownloadManager):
7268        * UIProcess/qt/QtWebContext.cpp:
7269        (WebKit::QtWebContext::QtWebContext):
7270        * UIProcess/qt/QtWebError.cpp:
7271        (WebKit::QtWebError::url):
7272        (WebKit::QtWebError::description):
7273
72742013-03-11  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7275
7276        [Qt][WK2] Layer QtWebIconDatabaseClient on the C API
7277        https://bugs.webkit.org/show_bug.cgi?id=109564
7278
7279        Reviewed by Simon Hausmann.
7280        Signed off for WebKit2 by Benjamin Poulain.
7281
7282        * Target.pri:
7283        * UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Added.
7284        (WKIconDatabaseTryGetQImageForURL):
7285          - New API added to get a QImage from the IconDatabase.
7286            Based on WKIconDatabaseCG.h/cpp
7287        * UIProcess/API/C/qt/WKIconDatabaseQt.h: Added.
7288        * UIProcess/API/cpp/qt/WKURLQt.cpp:
7289        (WKURLCreateWithQString):
7290        (WKURLCopyQString):
7291        (WKURLCreateWithQUrl):
7292        (WKURLCopyQUrl):
7293          - The WKUrlRef behind the scene is a WTF::String and encoding it back and forth to
7294            a QUrl can slightly change its string representation. Allow converting a WKUrlRef
7295            to and from a QString to ensure this.
7296        * UIProcess/API/cpp/qt/WKURLQt.h:
7297        * UIProcess/API/qt/qwebiconimageprovider.cpp:
7298        (QWebIconImageProvider::iconURLForPageURLInContext):
7299          - The icon URL isn't accessible form the C API and shouldn't need to be.
7300            Use an ID incremented on each update to trigger an update of the QML Image component.
7301        (QWebIconImageProvider::requestImage):
7302          - The IconDatabase was previously assumed to resize the image to the requested size,
7303            but this parameter is ignored, as stated in a comment in WebIconDatabase::imageForPageURL.
7304            Explicitely do the resize after fetching the original icon to also be able to report
7305            the original size properly to QtQuick.
7306        * UIProcess/API/qt/qwebiconimageprovider_p.h:
7307        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
7308          - Set the image to load asynchronously to further test the possibility of threading issues
7309            in QtWebIconDatabaseClient::iconImageForPageURL
7310          - Add a few barriers to fix some issues where the load succeeded signal would be wrongly
7311            catched by init() before the next test.
7312        * UIProcess/qt/QtWebContext.cpp:
7313        (WebKit::QtWebContext::QtWebContext):
7314        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
7315        (WebKit):
7316        (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
7317        (WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
7318        (WebKit::QtWebIconDatabaseClient::updateID):
7319        (WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL):
7320        (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
7321          - Remove the Mutex. This mutex was useless given that it would only
7322            be locked from a single thread. Since the IconDatabase runs in its own thread,
7323            it already is thread-safe to access.
7324        (WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
7325        (WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
7326        * UIProcess/qt/QtWebIconDatabaseClient.h:
7327        (QtWebIconDatabaseClient):
7328        * WebKit2.pri:
7329
73302013-03-11  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7331
7332        [Qt][WK2] Specify storage paths through the C API
7333        https://bugs.webkit.org/show_bug.cgi?id=111435
7334
7335        Reviewed by Simon Hausmann.
7336        Signed off for WebKit2 by Benjamin Poulain.
7337
7338        The WKIconDatabase should be opened through a call to
7339        WKContextSetIconDatabasePath. To avoid having some paths
7340        returned through WebContext::platformDefault* and some others
7341        through the C API, make sure that all those paths are set
7342        through the C API.
7343
7344        * Shared/qt/QtDefaultDataLocation.cpp: Removed.
7345        * Shared/qt/QtDefaultDataLocation.h: Removed.
7346        * Target.pri:
7347        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7348        (WebKit::cacheFile):
7349          - This part is left alone behind the C API.
7350            Since PluginProcessProxy have no knowledge of the WebContext
7351            it is rather difficult to fetch a configured directory that
7352            could be used for this purpose (like the disk cache storage).
7353            Hard-code a compatible logic to keep the current behavior.
7354        (WebKit::removeCacheFile):
7355        (WebKit):
7356        (WebKit::readMetaDataFromCacheFile):
7357        (WebKit::writeToCacheFile):
7358        (WebKit::tryReadPluginMetaDataFromCacheFile):
7359          - Update the code to better handle an empty cache file path.
7360        * UIProcess/qt/QtWebContext.cpp:
7361        (WebKit::QtWebContext::defaultContext):
7362        (WebKit::defaultLocation):
7363        (WebKit):
7364        (WebKit::QtWebContext::preparedStoragePath):
7365        * UIProcess/qt/QtWebContext.h:
7366        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
7367        (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
7368        * UIProcess/qt/WebContextQt.cpp:
7369        (WebKit::WebContext::applicationCacheDirectory):
7370        (WebKit::WebContext::platformDefaultDatabaseDirectory):
7371        (WebKit::WebContext::platformDefaultIconDatabasePath):
7372        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
7373        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
7374        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
7375
73762013-02-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7377
7378        [Qt] Properly layer QtWebContext on top of the C API
7379        https://bugs.webkit.org/show_bug.cgi?id=108475
7380
7381        Reviewed by Simon Hausmann.
7382        Signed off for WebKit2 by Benjamin Poulain.
7383
7384        * UIProcess/API/qt/qquickwebview.cpp:
7385        (QQuickWebViewPrivate::initialize):
7386        * UIProcess/qt/QtWebContext.cpp:
7387        (WebKit::initializeContextInjectedBundleClient):
7388        (WebKit::QtWebContext::QtWebContext):
7389        (WebKit::QtWebContext::create):
7390        (WebKit::QtWebContext::defaultContext):
7391        * UIProcess/qt/QtWebContext.h:
7392        (WebKit):
7393        (QtWebContext):
7394        (WebKit::QtWebContext::context):
7395
73962013-02-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7397
7398        [Qt][WK2] Allow QtWebContext to call directly to QQuickWebView with a WKPageRef
7399        https://bugs.webkit.org/show_bug.cgi?id=109829
7400
7401        Reviewed by Allan Sandfeld Jensen.
7402        Signed off for WebKit2 by Benjamin Poulain.
7403
7404        Instead of going through WebPageProxy and PageClient to forward
7405        injected bundle messages received by the context, maintain a static map
7406        of WKPageRef to QQuickWebViewPrivate.
7407
7408        * UIProcess/API/qt/qquickwebview.cpp:
7409        (QQuickWebViewPrivate::get):
7410        (QQuickWebViewPrivate::~QQuickWebViewPrivate):
7411        (QQuickWebViewPrivate::initialize):
7412        (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
7413        * UIProcess/API/qt/qquickwebview_p_p.h:
7414        (QQuickWebViewPrivate):
7415        * UIProcess/API/qt/raw/qrawwebview.cpp:
7416        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
7417        * UIProcess/PageClient.h:
7418        (PageClient):
7419        * UIProcess/WebPageProxy.h:
7420        (WebPageProxy):
7421        * UIProcess/qt/QtPageClient.cpp:
7422        * UIProcess/qt/QtPageClient.h:
7423        (QtPageClient):
7424        * UIProcess/qt/QtWebContext.cpp:
7425        (WebKit::didReceiveMessageFromInjectedBundle):
7426        * UIProcess/qt/WebPageProxyQt.cpp:
7427
74282013-02-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7429
7430        [Qt][WK2] Keep the WebContext alive during the whole application's lifetime
7431        https://bugs.webkit.org/show_bug.cgi?id=109827
7432
7433        Reviewed by Simon Hausmann.
7434        Signed off for WebKit2 by Benjamin Poulain.
7435
7436        The lifetime of the WebContext is difficult to manage because of a circular
7437        reference kept with the WebProcessProxy until it shuts itself down, 60
7438        seconds after the last page is closed. There was some notification
7439        in place to handle this in the upper layer, but having to go through the
7440        C API (done in a following patch) makes this quite awkward.
7441
7442        Keeping the WebContext alive also includes the icon database which is
7443        quite heavy, in the future we should only enable it once the
7444        QQuickWebView::icon property is read.
7445
7446        * UIProcess/API/qt/qquickwebview.cpp:
7447        (QQuickWebViewPrivate::QQuickWebViewPrivate):
7448        (QQuickWebViewPrivate::handleDownloadRequest):
7449        (QQuickWebViewPrivate::updateIcon):
7450        * UIProcess/API/qt/qquickwebview_p_p.h:
7451        (QQuickWebViewPrivate):
7452        * UIProcess/API/qt/qwebiconimageprovider.cpp:
7453        (QWebIconImageProvider::requestImage):
7454        * UIProcess/qt/QtWebContext.cpp:
7455        (WebKit):
7456        (WebKit::QtWebContext::QtWebContext):
7457        (WebKit::QtWebContext::~QtWebContext):
7458        (WebKit::QtWebContext::create):
7459        (WebKit::QtWebContext::defaultContext):
7460        * UIProcess/qt/QtWebContext.h:
7461        (QtWebContext):
7462        (WebKit::QtWebContext::downloadManager):
7463        (WebKit::QtWebContext::iconDatabase):
7464        * UIProcess/qt/WebContextQt.cpp:
7465        (WebKit::WebContext::platformInvalidateContext):
7466
74672013-02-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
7468
7469        [Qt][WK2] Favor QUrl and QString over WTF::String in the Qt API layer
7470        https://bugs.webkit.org/show_bug.cgi?id=109468
7471
7472        Reviewed by Allan Sandfeld Jensen.
7473        Signed off for WebKit2 by Benjamin Poulain.
7474
7475        In preparation for patches using the C API types in some areas, remove the
7476        usage of WTF::String on the affected line.
7477
7478        Use a QUrl for icon URL to avoid unnecessary conversion.
7479        Use a QString for the page URL to keep it compatible with WebPageProxy and
7480        WebIconDatabase and avoid QUrl parsing.
7481
7482        * UIProcess/API/qt/qquickwebview.cpp:
7483        (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
7484        (QQuickWebViewPrivate::updateIcon):
7485        (QQuickWebView::emitUrlChangeIfNeeded):
7486        (QQuickWebView::icon):
7487        * UIProcess/API/qt/qquickwebview_p_p.h:
7488        (QQuickWebViewPrivate):
7489        * UIProcess/API/qt/qwebiconimageprovider.cpp:
7490        (QWebIconImageProvider::iconURLForPageURLInContext):
7491        * UIProcess/API/qt/qwebiconimageprovider_p.h:
7492        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
7493        (WebKit::QtWebIconDatabaseClient::iconForPageURL):
7494        (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
7495        (WebKit::QtWebIconDatabaseClient::retainIconForPageURL):
7496        (WebKit::QtWebIconDatabaseClient::releaseIconForPageURL):
7497        * UIProcess/qt/QtWebIconDatabaseClient.h:
7498        (QtWebIconDatabaseClient):
7499
75002013-03-12  Manuel Rego Casasnovas  <rego@igalia.com>
7501
7502        [GTK][WK2] REGRESSION(r145081): Unit tests not working if locale is not English
7503        https://bugs.webkit.org/show_bug.cgi?id=111973
7504
7505        Reviewed by Carlos Garcia Campos.
7506
7507        The problem is that the UIProcess locale is reseted to C in
7508        gtk_test_init, however the WebProcess does not inherit the locale set in
7509        the UIProcess and it uses the system one (that could be different to
7510        English). So, there were problems in some tests that are comparing
7511        strings from both processes like WebKit2APITests/TestPrinting and
7512        WebKit2APITests/TestWebKitWebContext. The solution is to set the locale
7513        environment variable LC_ALL to C in order to reset WebProcess locale
7514        too.
7515
7516        * UIProcess/API/gtk/tests/TestMain.cpp:
7517        (main): Set environment variable LC_ALL to C.
7518
75192013-03-11  Brady Eidson  <beidson@apple.com>
7520
7521        Loads are never canceled in the NetworkProcess
7522        <rdar://problem/12890500> and https://bugs.webkit.org/show_bug.cgi?id=112103
7523
7524        Reviewed by Alexey Proskuryakov.
7525
7526        If a connection to a WebProcess is closed (gracefully or by crashing) then:
7527        - All scheduled loads for that connection should be forgotten.
7528        - All in-progress loads for that connection should be aborted asap.
7529
7530        * NetworkProcess/NetworkResourceLoader.cpp:
7531        (WebKit::requestsToCleanupMutex): The "request to stop" mechanism is now called "request to cleanup"
7532        (WebKit::requestsToCleanup):
7533        (WebKit::NetworkResourceLoader::scheduleCleanupOnMainThread):
7534        (WebKit::NetworkResourceLoader::performCleanups):
7535        (WebKit::NetworkResourceLoader::cleanup):
7536        (WebKit::NetworkResourceLoader::didFinishLoading):
7537        (WebKit::NetworkResourceLoader::didFail):
7538
7539        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): If there is a resource handle, let
7540          the loading thread notice the connection is invalid. Otherwise request to cleanup the loader.
7541        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
7542        (WebKit::NetworkResourceLoader::sendSyncAbortingOnFailure):
7543        (WebKit::NetworkResourceLoader::abortInProgressLoad): Cancel the resource handle and schedule main thread cleanup.
7544        (WebKit::NetworkResourceLoader::didReceiveResponse): Use sendAbortingOnFailure instead of send.
7545        (WebKit::NetworkResourceLoader::didReceiveData): Ditto.
7546
7547        (WebKit::NetworkResourceLoader::willSendRequest): Call abortInProgressLoad if the sync message failed.
7548        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
7549        * NetworkProcess/NetworkResourceLoader.h:
7550
7551        Make connectionToWebProcessDidClose() pure virtual, moving its implementation to the subclasses:
7552        * NetworkProcess/SchedulableLoader.cpp:
7553        * NetworkProcess/SchedulableLoader.h:
7554
7555        * NetworkProcess/SyncNetworkResourceLoader.cpp:
7556        (WebKit::SyncNetworkResourceLoader::start): Call cleanup().
7557        (WebKit::SyncNetworkResourceLoader::connectionToWebProcessDidClose): Call cleanup().
7558        (WebKit::SyncNetworkResourceLoader::cleanup): Factor out the sync loader cleanup code.
7559        * NetworkProcess/SyncNetworkResourceLoader.h:
7560
75612013-03-11  Tim Horton  <timothy_horton@apple.com>
7562
7563        PDFPlugin: Return PDFKit's data instead of the original resource data for save/etc.
7564        https://bugs.webkit.org/show_bug.cgi?id=111956
7565        <rdar://problem/13352282>
7566
7567        Reviewed by Alexey Proskuryakov.
7568
7569        If we return the original resource data, we lose changes made to annotations.
7570
7571        * WebProcess/Plugins/PDF/PDFPlugin.mm:
7572        (WebKit::PDFPlugin::pdfDocumentDidLoad): Adopt the renamed rawData().
7573        (WebKit::PDFPlugin::saveToPDF): Use liveData so that "Save to PDF" persists changes to annotations.
7574        (WebKit::PDFPlugin::openWithNativeApplication): Use liveData so that "Open With [native application]" persists changes to annotations.
7575
7576        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
7577        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
7578        (WebKit::PDFPluginAnnotation::commit): Added, inform PDFPlugin that we're mutating the document.
7579        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
7580        (WebKit::PDFPluginChoiceAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.
7581        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
7582        (WebKit::PDFPluginTextAnnotation::commit): Let PDFPluginAnnotation do what it needs to inform PDFPlugin that we're going to mutate the document.
7583
7584        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
7585        (WebKit::SimplePDFPlugin::didMutatePDFDocument): Added.
7586        (WebKit::SimplePDFPlugin::liveData): Added.
7587        (WebKit::SimplePDFPlugin::rawData): Renamed from data(). Return NSData for consistency.
7588        (WebKit::SimplePDFPlugin::pdfDocumentWasMutated): Added.
7589        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
7590        (WebKit::SimplePDFPlugin::liveData): Return PDFKit's data if the user has mutated the
7591        document, otherwise the raw data. This way, PDFs that PDFKit can't process will still
7592        be downloadable as long as the user doesn't interact with annotations.
7593        (WebKit::SimplePDFPlugin::liveResourceData): Return a SharedData wrapping the PDFDocument's data.
7594        
7595        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7596        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7597        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
7598        * WebProcess/Plugins/Plugin.h:
7599        * WebProcess/Plugins/PluginProxy.h:
7600        * WebProcess/Plugins/PluginView.cpp:
7601        * WebProcess/Plugins/PluginView.h:
7602        * WebProcess/WebPage/WebPage.cpp:
7603        (WebKit::WebPage::getMainResourceDataOfFrame):
7604        Use a SharedData instead of raw data for getResourceData, and rename it liveResourceData().
7605
76062013-03-11  Tim Horton  <timothy_horton@apple.com>
7607
7608        [wk2] WebProcess and WebContentService don't respect system localization
7609        https://bugs.webkit.org/show_bug.cgi?id=112091
7610        <rdar://problem/13233590>
7611
7612        Reviewed by Dan Bernstein.
7613
7614        Allow CFBundle to use localizations that don't exist in the main bundle,
7615        so that, for example, injected bundles can load and use strings from localized frameworks.
7616
7617        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
7618        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
7619        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
7620
76212013-03-11  Jochen Eisinger  <jochen@chromium.org>
7622
7623        Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
7624        https://bugs.webkit.org/show_bug.cgi?id=111959
7625
7626        Reviewed by Alexey Proskuryakov.
7627
7628        * WebProcess/Notifications/WebNotificationManager.cpp:
7629        (WebKit::WebNotificationManager::didClickNotification):
7630        * WebProcess/Plugins/PluginView.cpp:
7631        (WebKit::PluginView::evaluate):
7632        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
7633        (WebKit::WebContextMenuClient::searchWithGoogle):
7634
76352013-03-11  Tim Horton  <timothy_horton@apple.com>
7636
7637        PDFPlugin: Make scrolling between pages in non-continuous modes work
7638        https://bugs.webkit.org/show_bug.cgi?id=111415
7639        <rdar://problem/12555320>
7640
7641        Reviewed by Alexey Proskuryakov.
7642
7643        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
7644        Add some more PDFLayerController SPI.
7645
7646        * WebProcess/Plugins/PDF/PDFPlugin.h:
7647        (PDFPlugin): Override handleWheelEvent.
7648
7649        * WebProcess/Plugins/PDF/PDFPlugin.mm:
7650        (WebKit::PDFPlugin::handleWheelEvent):
7651        If PDFLayerController is in non-continuous mode, allow scrolling between
7652        pages by intercepting scroll events, and checking whether we're at the
7653        top or bottom of a page. If we are, and a single event exceeds the threshold
7654        of 20px (0px for legacy scroll wheels), we jump to the next or previous
7655        page and scroll to the right place. Do not allow momentum scrolling to
7656        switch pages.
7657
76582013-03-11  Mark Lam  <mark.lam@apple.com>
7659
7660        Fix some WebDatabaseManagerProxy methods to only send to one WebProcsess
7661        instead of broadcasting to all WebProcesses.
7662        https://bugs.webkit.org/show_bug.cgi?id=112074.
7663
7664        Reviewed by Alexey Proskuryakov.
7665
7666        The reason for this is because the intent of these messages is to act on
7667        the tracker database that is shared between all WebProcesses. It is
7668        redundant and inefficient for multiple WebProcesses to service the same
7669        request/message. And because of multi-process contention on accessing
7670        the tracker database, the results returned to the UIProcess may also be
7671        erroneous.
7672
7673        For example, if getDatabaseOrigins() is broadcasted to all WebProcesses,
7674        they will contend to open the tracker database at the same time. If one
7675        of these processes fails because the database is already in use, then
7676        it may return with an empty list when it should not be empty.
7677
7678        With this fix, only one WebProcess gets the message and will perform the
7679        requested query/action on behalf of all WebProcesses.
7680
7681        * UIProcess/WebContext.h:
7682        (WebKit::WebContext::sendToOneProcess):
7683        * UIProcess/WebDatabaseManagerProxy.cpp:
7684        (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
7685        (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
7686        (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
7687        (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
7688        (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
7689        (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
7690
76912013-03-11  Jeffrey Pfau  <jpfau@apple.com>
7692
7693        List cache partitions as units instead of as their contents
7694        https://bugs.webkit.org/show_bug.cgi?id=111909
7695
7696        Reviewed by Maciej Stachowiak.
7697
7698        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
7699        (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Attempt to enumerate cache partitions based on information we have
7700
77012013-01-30  Jer Noble  <jer.noble@apple.com>
7702
7703        Full screen mode should not exit when application resigns active state.
7704        https://bugs.webkit.org/show_bug.cgi?id=106129
7705
7706        Reviewed by Darin Adler.
7707
7708        Allow the user to close the full screen window with Cmd-w by making the full screen window
7709        closable, and by intercepting performClose:.
7710
7711        * UIProcess/mac/WKFullScreenWindowController.mm:
7712        (-[WKFullScreenWindowController init]): Create a closable full screen window.
7713        (-[WKFullScreenWindowController performClose:]): When we receive a close request in full screen mode,
7714            animate out of full screen.
7715
77162013-03-11  Zan Dobersek  <zdobersek@igalia.com>
7717
7718        [GTK] WebKit2-only build fails
7719        https://bugs.webkit.org/show_bug.cgi?id=112033
7720
7721        Reviewed by Gustavo Noronha Silva.
7722
7723        * GNUmakefile.am: Introduce the artifical dependency of libwebkit2gtk on libwebkitgtk only
7724        if building WebKit1 as well. Similarly with the WebKitPluginProcess, depend on libwebkitgtk
7725        only if building WebKit1, the dependency is otherwise not necessary.
7726
77272013-03-11  Tim Horton  <timothy_horton@apple.com>
7728
7729        [wk2] Search With [your search provider here] should use NSPerformService in WebKit2/Mac
7730        https://bugs.webkit.org/show_bug.cgi?id=111995
7731        <rdar://problem/12975669>
7732
7733        Reviewed by Sam Weinig.
7734
7735        * UIProcess/WebPageProxy.h:
7736        (WebPageProxy): Add searchTheWeb().
7737        * UIProcess/WebPageProxy.messages.in: Add SearchTheWeb message.
7738        * UIProcess/mac/WebPageProxyMac.mm:
7739        (WebKit::WebPageProxy::searchTheWeb): Added. Call out to NSPerformService to search with the system default
7740        search provider, in the browser.
7741
7742        * WebProcess/Plugins/PDF/PDFPlugin.h:
7743        (PDFPlugin): Add performWebSearch().
7744        * WebProcess/Plugins/PDF/PDFPlugin.mm:
7745        (-[WKPDFLayerControllerDelegate performWebSearch:]): Added, forward the delegate callback to PDFPlugin.
7746        (WebKit::PDFPlugin::performWebSearch): Added, forward the search string to WebPageProxy.
7747        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
7748        (WebKit::WebContextMenuClient::searchWithGoogle): Don't build the old load-Google-in-the-main-frame code on Mac.
7749        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
7750        (WebKit::WebContextMenuClient::searchWithGoogle): Instead, send the search string to WebPageProxy.
7751
77522013-03-11  Helder Correia  <helder.correia@nokia.com>
7753
7754        [WK2] Add C API preference: accelerated compositing for overflow scroll
7755        https://bugs.webkit.org/show_bug.cgi?id=111916
7756
7757        Reviewed by Simon Fraser.
7758
7759        * UIProcess/API/C/WKPreferences.cpp:
7760        (WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled):
7761        (WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled):
7762        * UIProcess/API/C/WKPreferencesPrivate.h:
7763
77642013-03-11  Brady Eidson  <beidson@apple.com>
7765
7766        CoreIPC crash in NetworkProcess after WebProcess crash.
7767        <rdar://problem/13124146> and https://bugs.webkit.org/show_bug.cgi?id=112046
7768
7769        Reviewed by Alexey Proskuryakov.
7770
7771        * NetworkProcess/SchedulableLoader.cpp:
7772        (WebKit::SchedulableLoader::connectionToWebProcessDidClose): Don't null out the connection backpointer on crash.
7773
77742013-03-11  Alexey Proskuryakov  <ap@apple.com>
7775
7776        Make it possible to reuse sandbox extensions
7777        https://bugs.webkit.org/show_bug.cgi?id=111883
7778
7779        Reviewed by Anders Carlsson.
7780
7781        This allows for properly keeping extensions in NetworkBlobRegistry for as long as
7782        they are needed.
7783
7784        The patch also fixes a bug where extensions would leak when navigating between
7785        file:// pages.
7786
7787        * NetworkProcess/SchedulableLoader.cpp:
7788        Revoke the extensions, but don't invalidate - we may need them later.
7789
7790        * Shared/Downloads/Download.cpp:
7791        (WebKit::Download::didFinish):
7792        (WebKit::Download::didFail):
7793        (WebKit::Download::didCancel):
7794        Replaced invalidate() with revoke() and clearing out. SandboxExtension destructor
7795        now requires revocations wto be balanced, as otherwise understanding dual reference
7796        counting in SandboxExtension would be too difficult.
7797
7798        * Shared/SandboxExtension.h: We now keep track of how many times the extension
7799        was consumed. Eventually, we should refactor the class to not have such duplicate
7800        reference counting.
7801        * Shared/mac/SandboxExtensionMac.mm:
7802        (WebKit::SandboxExtension::SandboxExtension): Initialize use count.
7803        (WebKit::SandboxExtension::~SandboxExtension): We now require consume/revoke calls
7804        to be balanced. This is not hard to do in existing usage, and makes the design much
7805        more reliable.
7806        (WebKit::SandboxExtension::revoke): Don't permanently destroy the extension when
7807        invalidatid, we may need it in the future.
7808        (WebKit::SandboxExtension::consume): Added use counting.
7809
7810        * Shared/WebMemorySampler.cpp: (WebKit::WebMemorySampler::stop): This extension
7811        is not going to be reused.
7812
7813        * WebProcess/WebPage/WebPage.cpp:
7814        (WebKit::WebPage::performDragControllerAction): Pending extensions are not consumed,
7815        so there is no need to revoke.
7816        (WebKit::WebPage::SandboxExtensionTracker::invalidate): Pending extension is not
7817        consumed, and the other two always are.
7818        (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
7819        Pending extension is never consumed in place, no need to revoke.
7820        (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): Do not unset
7821        reused committed extension yet - we may need it later if provisional load fails.
7822        Thanks to use counting, we can now consume the same extension as both committed
7823        and provisional.
7824        (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): Now the
7825        committed extension can be revoked and replaced.
7826        (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): Just revoke
7827        provisional extension, committed one is still in place.
7828
78292013-03-11  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
7830
7831        [EFL] Build fix after r143192 when SPELLCHECK is off
7832
7833        Unreviewed build fix when SPELLCHECK macro is off.
7834
7835        * UIProcess/efl/TextCheckerEfl.cpp:
7836        (WebKit):
7837
78382013-03-10  Tim Horton  <timothy_horton@apple.com>
7839
7840        WebPage::scaledSnapshotWithOptions returns a corrupt snapshot if you request a rect larger than the FrameView’s size
7841        https://bugs.webkit.org/show_bug.cgi?id=111820
7842        <rdar://problem/13375785>
7843
7844        Reviewed by Simon Fraser.
7845
7846        We have to clear the image - there could be area that won’t be painted by the FrameView,
7847        or the FrameView could have a transparent background.
7848
7849        * WebProcess/WebPage/WebPage.cpp:
7850        (WebKit::WebPage::scaledSnapshotWithOptions):
7851
78522013-03-10  Tim Horton  <timothy_horton@apple.com>
7853
7854        Fix a typo in http://trac.webkit.org/changeset/145332.
7855
7856        Unreviewed.
7857
7858        ENABLE() doesn't use the WTF_ prefix.
7859
7860        * WebProcess/WebPage/WebPage.h:
7861
78622013-03-10  Sam Weinig  <sam@webkit.org>
7863
7864        Add bundle API to get the current selection as a WKDOMRange
7865        https://bugs.webkit.org/show_bug.cgi?id=111947
7866        <rdar://problem/13205460>
7867
7868        Reviewed by Gavin Barraclough.
7869
7870        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
7871        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
7872        (-[WKWebProcessPlugInBrowserContextController selectedRange]):
7873        Add new selectedRange property.
7874
7875        * WebProcess/WebPage/WebPage.cpp:
7876        (WebKit::frameWithSelection):
7877        (WebKit::WebPage::currentSelectionAsRange):
7878        * WebProcess/WebPage/WebPage.h:
7879        Get the range by finding the frame that has a selection, and then normalizing it.
7880
78812013-03-10  Tim Horton  <timothy_horton@apple.com>
7882
7883        Add a heuristic to determine the “primary” snapshotted plugin
7884        https://bugs.webkit.org/show_bug.cgi?id=111932
7885        <rdar://problem/13270208>
7886
7887        Reviewed by Dean Jackson.
7888
7889        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7890        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
7891        Forward didCommitLoad to WebPage. Move existing code that manipulated WebPage
7892        itself during didCommitLoad into WebPage, where it belongs.
7893        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): Forward didFinishLoad to WebPage.
7894        * WebProcess/WebPage/WebPage.cpp:
7895        (WebKit::WebPage::WebPage): Initialize m_didFindPrimarySnapshottedPlugin to false.
7896        (WebKit::WebPage::didCommitLoad): Move code from WebPageFrameLoaderClient.
7897        Reset the flag that says we've already found a snapshotted plugin.
7898        (WebKit::WebPage::didFinishLoad):
7899        Call determinePrimarySnapshottedPlugIn when any frame finishes loading. We call this for subframes,
7900        not just the main frame, in case the main frame loads with no "primary" plugins, but a subframe later loads with one.
7901        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
7902        Attempt to find the primary snapshotted plugin on the page, by hit-testing a grid of points spaced 200px apart.
7903        A plugin is considered if it is snapshotted and > 450x300. We scan vertically and left-to-right, only discarding
7904        a previous candidate if another candidate is at least 110% the size of the previous candidate.
7905        This tends to select plugins near the top left of the page, unless there is a significantly larger plugin elsewhere.
7906        (WebKit::WebPage::resetPrimarySnapshottedPlugIn):
7907        * WebProcess/WebPage/WebPage.h:
7908        (WebPage):
7909
79102013-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
7911
7912        Unreviewed, rolling out r145039 and r145096.
7913        http://trac.webkit.org/changeset/145039
7914        http://trac.webkit.org/changeset/145096
7915        https://bugs.webkit.org/show_bug.cgi?id=111945
7916
7917        broke find indicator updates with scrolling subframes
7918        (Requested by thorton on #webkit).
7919
7920        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7921        (WebKit::TiledCoreAnimationDrawingArea::scroll):
7922        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
7923
79242013-03-10  Andreas Kling  <akling@apple.com>
7925
7926        WebPluginSiteDataManager should use OwnPtr.
7927        <http://webkit.org/b/111940>
7928
7929        Reviewed by Anders Carlsson.
7930
7931        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
7932        (WebKit::WebPluginSiteDataManager::invalidate):
7933        (WebKit::WebPluginSiteDataManager::getSitesWithData):
7934        (WebKit::WebPluginSiteDataManager::clearSiteData):
7935        (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins):
7936        (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins):
7937        * UIProcess/Plugins/WebPluginSiteDataManager.h:
7938        (WebPluginSiteDataManager):
7939
79402013-03-09  Manuel Rego Casasnovas  <rego@igalia.com>
7941
7942        [GTK][WK2] Fix compilation warning missing-field-initializers in webkit-2.0 stable branch
7943        https://bugs.webkit.org/show_bug.cgi?id=111863
7944
7945        Reviewed by Benjamin Poulain.
7946
7947        * UIProcess/API/gtk/WebKitUIClient.cpp:
7948        (attachUIClientToView): Include missing initializer for pluginLoadPolicy.
7949
79502013-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
7951
7952        Unreviewed, rolling out r145254, r145264, and r145288.
7953        http://trac.webkit.org/changeset/145254
7954        http://trac.webkit.org/changeset/145264
7955        http://trac.webkit.org/changeset/145288
7956        https://bugs.webkit.org/show_bug.cgi?id=111917
7957
7958        Test breakage hints at conceptual unsoundness (Requested by ap
7959        on #webkit).
7960
7961        * NetworkProcess/SchedulableLoader.cpp:
7962        (WebKit::SchedulableLoader::invalidateSandboxExtensions):
7963        * Shared/Downloads/Download.cpp:
7964        (WebKit::Download::didFinish):
7965        (WebKit::Download::didFail):
7966        (WebKit::Download::didCancel):
7967        * Shared/SandboxExtension.h:
7968        (SandboxExtension):
7969        (WebKit::SandboxExtension::invalidate):
7970        * Shared/WebMemorySampler.cpp:
7971        (WebKit::WebMemorySampler::stop):
7972        * Shared/mac/SandboxExtensionMac.mm:
7973        (WebKit::SandboxExtension::SandboxExtension):
7974        (WebKit::SandboxExtension::invalidate):
7975        (WebKit::SandboxExtension::consume):
7976        * WebProcess/WebPage/WebPage.cpp:
7977        (WebKit::WebPage::performDragControllerAction):
7978        (WebKit::WebPage::SandboxExtensionTracker::invalidate):
7979        (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
7980        (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
7981        (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
7982
79832013-03-08  Dean Jackson  <dino@apple.com>
7984
7985        Don't snapshot Java plugins
7986        https://bugs.webkit.org/show_bug.cgi?id=111899
7987
7988        Reviewed by Tim Horton.
7989
7990        If the plugin is Java, return true from shouldAlwaysAutoStart.
7991
7992        * WebProcess/Plugins/PluginView.cpp:
7993        (WebKit::PluginView::shouldAlwaysAutoStart): Check the mimetype for Java.
7994
79952013-03-08  Alexey Proskuryakov  <ap@apple.com>
7996
7997        <rdar://problem/13338743> Fix sandbox profile preprocessor flags for compatibility with new clang.
7998
7999        Reviewed by Alexey Proskuryakov.
8000        Patch by Bob Wilson.
8001
8002        * DerivedSources.make: Only use -traditional when we have to work around old
8003        behavior of -std=c89.
8004
80052013-03-08  Joone Hur  <joone.hur@intel.com>
8006
8007        Unreviewed build fix for EFL, GTK and Qt after r145254.
8008
8009        * Shared/SandboxExtension.h:
8010        (WebKit::SandboxExtension::revoke):
8011
80122013-03-08  Ryosuke Niwa  <rniwa@webkit.org>
8013
8014        non-Mac ports build fix after r145235.
8015
8016        * UIProcess/WebInspectorProxy.cpp:
8017        (WebKit::createInspectorPageGroup):
8018
80192013-03-08  Benjamin Poulain  <benjamin@webkit.org>
8020
8021        [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac
8022        https://bugs.webkit.org/show_bug.cgi?id=111297
8023
8024        Reviewed by Kenneth Rohde Christiansen.
8025
8026        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
8027        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
8028        * WebProcess/WebPage/WebPage.cpp:
8029        * WebProcess/WebPage/WebPage.h:
8030
80312013-03-08  Alexey Proskuryakov  <ap@apple.com>
8032
8033        Make it possible to reuse sandbox extensions
8034        https://bugs.webkit.org/show_bug.cgi?id=111883
8035
8036        Reviewed by Anders Carlsson.
8037
8038        Replaced invalidate() with revoke().
8039
8040        We now count how many times consume() was called, and keep the extension active
8041        for as long as revoke() hasn't been called as many times. Also, we only permanently
8042        destroy the extension in destructor.
8043
8044        This allows for properly keeping extensions in NetworkBlobRegistry for as long as
8045        they are needed.
8046
8047        * NetworkProcess/SchedulableLoader.cpp:
8048        (WebKit::SchedulableLoader::invalidateSandboxExtensions):
8049        * Shared/Downloads/Download.cpp:
8050        (WebKit::Download::didFinish):
8051        (WebKit::Download::didFail):
8052        (WebKit::Download::didCancel):
8053        * Shared/SandboxExtension.h:
8054        (SandboxExtension):
8055        * Shared/WebMemorySampler.cpp:
8056        (WebKit::WebMemorySampler::stop):
8057        * Shared/mac/SandboxExtensionMac.mm:
8058        (WebKit::SandboxExtension::SandboxExtension):
8059        (WebKit::SandboxExtension::revoke):
8060        (WebKit::SandboxExtension::consume):
8061        * WebProcess/WebPage/WebPage.cpp:
8062        (WebKit::WebPage::performDragControllerAction):
8063        (WebKit::WebPage::SandboxExtensionTracker::invalidate):
8064        (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
8065        (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
8066        (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
8067
80682013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
8069
8070        [WK2][GTK] Invalid request returned by webkit_download_get_request if called before download starts
8071        https://bugs.webkit.org/show_bug.cgi?id=111574
8072
8073        Reviewed by Alexey Proskuryakov.
8074
8075        webkit_download_get_request() creates the WebKitURIRequest object
8076        on demand using the ResourceRequest from the DownloadProxy. The
8077        ResourceRequest of the DownloadProxy is set in
8078        DownloadProxy::didStart(), so if we call
8079        webkit_download_get_request() before didStart we return an invalid
8080        WebKitURIRequest created from a NULL ResourceRequest. This is not
8081        a problem for downloads started in the web process, because we
8082        create the WebKitDownload after DownloadProxy::didStart(). For
8083        downloads started manually with webkit_web_context_download_uri()
8084        we need to create download object with the ResourceRequest passed
8085        to the DownloadProxy.
8086
8087        * UIProcess/API/gtk/WebKitDownload.cpp:
8088        (webkitDownloadCreateForRequest): New helper function for
8089        downloads started manually to created them with a given
8090        ResourceRequest.
8091        * UIProcess/API/gtk/WebKitDownloadPrivate.h:
8092        * UIProcess/API/gtk/WebKitWebContext.cpp:
8093        (webkitWebContextStartDownload): Use
8094        webkitDownloadCreateForRequest().
8095        * UIProcess/API/gtk/tests/TestDownloads.cpp:
8096        (testDownloadLocalFile):
8097        (testDownloadLocalFileError):
8098        (testDownloadRemoteFile):
8099        (testDownloadRemoteFileError):
8100        (testPolicyResponseDownload):
8101
81022013-03-07  Alexey Proskuryakov  <ap@apple.com>
8103
8104        <rdar://problem/13363499> Blobs are not cleaned up when WebProcess terminates
8105        https://bugs.webkit.org/show_bug.cgi?id=111803
8106
8107        Reviewed by Brady Eidson.
8108
8109        Track which blobs were created for each connection, and unregister them when
8110        the connection closes.
8111
8112        Normally, this happens when a document is destroyed through PublicURLManager
8113        in WebProcess. But we don't get there when the web process crashes, or is terminated
8114        without waiting for document destruction.
8115
8116        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
8117        (WebKit::NetworkBlobRegistry::registerBlobURL):
8118        (WebKit::NetworkBlobRegistry::unregisterBlobURL):
8119        (WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
8120        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
8121        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
8122        (WebKit::NetworkConnectionToWebProcess::didClose):
8123        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
8124        (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
8125        (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
8126
81272013-03-08  Timothy Hatcher  <timothy@apple.com>
8128
8129        Make the WebKit2 Web Inspector use tiled drawing and accelerated drawing.
8130
8131        <rdar://problem/12676223>
8132
8133        Reviewed by David Kilzer.
8134
8135        * UIProcess/WebInspectorProxy.cpp:
8136        (WebKit::createInspectorPageGroup): Call setAcceleratedDrawingEnabled with true on 10.8+.
8137        * UIProcess/mac/WebInspectorProxyMac.mm:
8138        (-[WKWebInspectorWKView _shouldUseTiledDrawingArea]): Added. Return YES on 10.8+.
8139
81402013-03-08  Huang Dongsung  <luxtella@company100.net>
8141
8142        Coordinated Graphics: Handle scrolling correctly.
8143        https://bugs.webkit.org/show_bug.cgi?id=111406
8144
8145        Reviewed by Simon Fraser.
8146
8147        Coordinated Graphics deals with fast scrolling and slow scrolling in the same
8148        routine, so WebChromeClient::invalidateContentsForSlowScroll() should call
8149        DrawingArea:scroll().
8150
8151        When CoordinatedLayerTreeHost::scrollNonCompositedContents() is called, we
8152        should call scheduleLayerFlush() to notify to UI Process. In addition, when we
8153        don't use fixed layout, we should call setNonCompositedContentsNeedDisplay() to
8154        update non composited contents.
8155
8156        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8157        (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
8158        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8159        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
8160
81612013-03-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8162
8163        [WK2][EFL] Remove EwkView::setImageData()
8164        https://bugs.webkit.org/show_bug.cgi?id=111849
8165
8166        Reviewed by Andreas Kling.
8167
8168        EwkView::setImageData() removed as it is not used at the moment 
8169        (it used to be part of eliminated non coord graphics code path). 
8170
8171        * UIProcess/API/efl/EwkView.cpp:
8172        * UIProcess/API/efl/EwkView.h:
8173        (EwkView):
8174        * UIProcess/cairo/BackingStoreCairo.cpp:
8175        (WebKit::BackingStore::incorporateUpdate):
8176
81772013-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
8178
8179        [GTK] Memory leak in webkit_web_view_load_request() in WebKit2 API
8180        https://bugs.webkit.org/show_bug.cgi?id=111160
8181
8182        Reviewed by Benjamin Poulain.
8183
8184        leakRef() is used for the returned PassRefPtr without taking the
8185        ownership of the leaked ref.
8186
8187        * UIProcess/API/gtk/WebKitWebView.cpp:
8188        (webkit_web_view_load_request): Use RefPtr local variable.
8189
81902013-03-07  Huang Dongsung  <luxtella@company100.net>
8191
8192        [EFL] EwkView should keep css position instead of scroll position in device pixel.
8193        https://bugs.webkit.org/show_bug.cgi?id=110847
8194
8195        Reviewed by Kenneth Rohde Christiansen.
8196
8197        Signed off for WebKit2 by Benjamin Poulain.
8198
8199        There are bugs that some code expect that EwkView::pagePosition() returns css
8200        position while others expect that it returns scroll position in device pixel.
8201        In addition, some code call EwkView::setPagePosition() with css position while
8202        others call it with scroll position in device pixel.
8203
8204        This patch makes all code use setPagePosition() and pagePosition() with
8205        UI pixels (a.k.a Density Independent Pixel).
8206
8207        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
8208        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
8209        * UIProcess/efl/WebView.cpp:
8210        (WebKit::WebView::paintToCairoSurface):
8211        (WebKit::WebView::updateViewportSize):
8212        (WebKit::WebView::transformToScene):
8213        (WebKit::WebView::pageDidRequestScroll):
8214
82152013-03-07  Alexey Proskuryakov  <ap@apple.com>
8216
8217        https://bugs.webkit.org/show_bug.cgi?id=111801
8218        https://bugs.webkit.org/show_bug.cgi?id=111801
8219
8220        Reviewed by Geoff Garen.
8221
8222        Move unnecessary includes out of headers.
8223
8224        * NetworkProcess/HostRecord.h:
8225        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
8226        * NetworkProcess/NetworkProcess.cpp:
8227        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
8228        * NetworkProcess/NetworkResourceLoadScheduler.h:
8229        * NetworkProcess/NetworkResourceLoader.h:
8230        * NetworkProcess/SchedulableLoader.cpp:
8231        * NetworkProcess/SchedulableLoader.h:
8232        * NetworkProcess/SyncNetworkResourceLoader.cpp:
8233
82342013-03-07  Andreas Kling  <akling@apple.com>
8235
8236        Resizing Cappuccino is very laggy on WebKit since Safari 5.1
8237        <http://webkit.org/b/71354>
8238        <rdar://problem/10565998>
8239
8240        Reviewed by Anders Carlsson.
8241
8242        On Mac, we already cache the window rect through the WindowAndViewFramesChanged
8243        message, so simply return that in WebChromeClient::windowRect() instead of
8244        sending a synchronous query to the UIProcess.
8245
8246        If a programmatic resize is requested, we bypass the cache until we've received
8247        a new WindowAndViewFramesChanged message. This compromise allows us to return
8248        cached rects in the common case, and handles creating a new window and immediately
8249        resizing it gracefully.
8250
8251        Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
8252        IntRect/IntPoint to match the ChromeClient::windowRect() return type.
8253
8254        * UIProcess/API/mac/WKView.mm:
8255        (-[WKView _updateWindowAndViewFrames]):
8256        * UIProcess/WebPageProxy.h:
8257        (WebPageProxy):
8258        * UIProcess/mac/WebPageProxyMac.mm:
8259        (WebKit::WebPageProxy::windowAndViewFramesChanged):
8260        * WebProcess/Plugins/PluginView.cpp:
8261        (WebKit::PluginView::windowAndViewFramesChanged):
8262        * WebProcess/Plugins/PluginView.h:
8263        (PluginView):
8264        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8265        (WebKit::WebChromeClient::setWindowRect):
8266        (WebKit::WebChromeClient::windowRect):
8267        * WebProcess/WebPage/WebPage.cpp:
8268        (WebKit::WebPage::WebPage):
8269        (WebKit::WebPage::sendSetWindowFrame):
8270        (WebKit::WebPage::windowAndViewFramesChanged):
8271        * WebProcess/WebPage/WebPage.h:
8272        (WebPage):
8273        (WebKit::WebPage::windowFrameInScreenCoordinates):
8274        (WebKit::WebPage::viewFrameInWindowCoordinates):
8275        (WebKit::WebPage::hasCachedWindowFrame):
8276        (WebKit::WebPage::accessibilityPosition):
8277        * WebProcess/WebPage/WebPage.messages.in:
8278        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
8279        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
8280
82812013-03-07  Alexey Proskuryakov  <ap@apple.com>
8282
8283        Don't try to create a sandbox extension when path is empty
8284        https://bugs.webkit.org/show_bug.cgi?id=111788
8285
8286        Reviewed by Anders Carlsson.
8287
8288        * Shared/FileAPI/BlobRegistrationData.cpp:
8289        (WebKit::BlobRegistrationData::BlobRegistrationData): Skip File objects with empty
8290        paths to avoid logging an error to console.
8291
82922013-03-07  Mark Lam  <mark.lam@apple.com>
8293
8294        WebPageProxy::exceededDatabaseQuota() needs to be serialized.
8295        https://bugs.webkit.org/show_bug.cgi?id=111631.
8296
8297        Reviewed by Geoffrey Garen.
8298
8299        Previously, WebPageProxy::exceededDatabaseQuota() is called synchronously
8300        with script execution in the WebProcess. Hence, it is never called in a
8301        recursive manner.
8302
8303        In webkit2, we can have multiple WebProcesses concurrently triggering a
8304        call to this function. While the function is waiting on feedback from a
8305        UI dialog, the wait loop may re-enter the function to service a second
8306        request to call this function from another WebProcess. This results in
8307        problems where some of the WebProcesses will not get a proper reply, and
8308        therefore hangs perpetually waiting for a non-forthcoming reply.
8309
8310        This changeset changes the function to queue the requests and ensure
8311        that we do not recursively callback to the UI client.
8312
8313        * Platform/CoreIPC/HandleMessage.h:
8314        (CoreIPC::callMemberFunction):
8315        * UIProcess/WebPageProxy.cpp:
8316        (ExceededDatabaseQuotaRecords):
8317        (Record):
8318        (WebKit::ExceededDatabaseQuotaRecords::areBeingProcessed):
8319        (WebKit::ExceededDatabaseQuotaRecords::ExceededDatabaseQuotaRecords):
8320        (WebKit::ExceededDatabaseQuotaRecords::~ExceededDatabaseQuotaRecords):
8321        (WebKit::ExceededDatabaseQuotaRecords::shared):
8322        (WebKit::ExceededDatabaseQuotaRecords::createRecord):
8323        (WebKit::ExceededDatabaseQuotaRecords::add):
8324        (WebKit::ExceededDatabaseQuotaRecords::next):
8325        (WebKit::WebPageProxy::exceededDatabaseQuota):
8326        * UIProcess/WebPageProxy.h:
8327        * UIProcess/WebPageProxy.messages.in:
8328
83292013-03-07  Jeffrey Pfau  <jpfau@apple.com>
8330
8331        CFNetwork cache partitioning does not work properly on subdomains
8332        https://bugs.webkit.org/show_bug.cgi?id=111772
8333
8334        Reviewed by David Kilzer.
8335
8336        Ensure that the CFString is UTF-8 so that WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition will always work.
8337
8338        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
8339        (WebKit::partitionName): Create a UTF-8 CFString explicitly
8340
83412013-03-07  Beth Dakin  <bdakin@apple.com>
8342
8343        Need API to draw custom overhang area
8344        https://bugs.webkit.org/show_bug.cgi?id=111679
8345        -and corresponding-
8346        <rdar://problem/13291415>
8347
8348        Reviewed by Simon Fraser.
8349
8350        The new API is WKBundlePageSetTopOverhangImage() and 
8351        WKBundlePageSetBottomOverhangImage(). When the API is called, WebPage will get 
8352        GraphicsLayers for the appropriate area from FrameView, and then set the image as 
8353        the contents of the layer.
8354
8355        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
8356        (WKBundlePageSetTopOverhangImage):
8357        (WKBundlePageSetBottomOverhangImage):
8358        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
8359        * WebProcess/WebPage/WebPage.h:
8360        (WebPage):
8361        * WebProcess/WebPage/mac/WebPageMac.mm:
8362        (WebKit::WebPage::setTopOverhangImage):
8363        (WebKit):
8364        (WebKit::WebPage::setBottomOverhangImage):
8365
83662013-03-07  Gavin Barraclough  <barraclough@apple.com>
8367
8368        Reduce page cache size on Mac
8369        https://bugs.webkit.org/show_bug.cgi?id=111795
8370
8371        Rubber stamped by Geoff Garen
8372
8373        5 entries is unnecessarily large; research show 3 should suffice.
8374        On a low memory warning we should clear this completely.
8375
8376        * Shared/CacheModel.cpp:
8377        (WebKit::calculateCacheSizes):
8378            - reduce maximum to 3.
8379
83802013-03-07  Anders Carlsson  <andersca@apple.com>
8381
8382        Add a didFocusTextField callback to the injected bundle form client
8383        https://bugs.webkit.org/show_bug.cgi?id=111771
8384
8385        Reviewed by Andreas Kling.
8386
8387        Add a new client callback that's invoked whenever a text input field is focused.
8388
8389        * Shared/APIClientTraits.cpp:
8390        (WebKit):
8391        * Shared/APIClientTraits.h:
8392        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
8393        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
8394        (WebKit::InjectedBundlePageFormClient::didFocusTextField):
8395        (WebKit):
8396        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
8397        (InjectedBundlePageFormClient):
8398        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8399        (WebKit::WebChromeClient::focusedNodeChanged):
8400
84012013-03-07  Tim Horton  <timothy_horton@apple.com>
8402
8403        Null-check the page overlay before trying to use it.
8404
8405        Reviewed by Simon Fraser.
8406
8407        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8408        (WebKit::TiledCoreAnimationDrawingArea::scroll):
8409
84102013-03-07  Zan Dobersek  <zdobersek@igalia.com>
8411
8412        [GTK] Limit the supported compilers to GCC >= 4.7 and Clang >= 3.0
8413        https://bugs.webkit.org/show_bug.cgi?id=109932
8414
8415        Reviewed by Martin Robinson.
8416
8417        * GNUmakefile.am: Replace references to SYMBOL_VISIBILITY_INLINES and SYMBOL_VISIBILITY variables with the actual flags.
8418        They are now available by default due to the limited set of supported compilers.
8419
84202013-03-05  Gustavo Noronha Silva  <gns@gnome.org>
8421
8422        [GTK] Enable translations for WebKit2
8423        https://bugs.webkit.org/show_bug.cgi?id=111398
8424
8425        Reviewed by Martin Robinson.
8426
8427        * GNUmakefile.am: define PACKAGE_LOCALE_DIR when building WebProcess's main module.
8428        * WebProcess/gtk/WebProcessMainGtk.cpp:
8429        (WebKit::WebProcessMainGtk): register the i18n domain name, and prefer UTF-8, since
8430        we're GTK+; at the moment we're just using the same name as WebKitGTK+, pro: the
8431        translation module can be reused, con: you can't have different versions of
8432        WebKitGTK+ and WebKit2GTK+ installed, because the module would not be fit for reuse
8433        in that case.
8434        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
8435        (WebKit::childSetupFunction): do not set LC_ALL environment variable explicitly,
8436        the child process will already inherit the environment of the parent, which should
8437        have all the variables set properly.
8438
84392013-03-06  Alexey Proskuryakov  <ap@apple.com>
8440
8441        SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
8442        https://bugs.webkit.org/show_bug.cgi?id=111689
8443
8444        Reviewed by Filip Pizlo.
8445
8446        * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
8447        Use a function from WebCore platform layer instead of Foundation one equivalent.
8448        We already do this elsewhere in this file.
8449
84502013-03-06  Tim Horton  <timothy_horton@apple.com>
8451
8452        [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
8453        https://bugs.webkit.org/show_bug.cgi?id=111662
8454        <rdar://problem/13355808>
8455
8456        Reviewed by Simon Fraser.
8457
8458        Instead of setNeedsDisplay()ing the whole page overlay layer every time through
8459        TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
8460        necessary to keep things painted in the right place when we scroll (the overlay
8461        is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.
8462
8463        This works with threaded scrolling because overlay installation forces us
8464        into main-thread scrolling mode.
8465
8466        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8467        (WebKit::TiledCoreAnimationDrawingArea::scroll):
8468        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
8469
84702013-03-06  Tim Horton  <timothy_horton@apple.com>
8471
8472        [wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
8473        https://bugs.webkit.org/show_bug.cgi?id=111654
8474        <rdar://problem/13364085>
8475
8476        Reviewed by Simon Fraser.
8477
8478        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8479        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
8480        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
8481
84822013-03-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
8483
8484        [EFL][WK2] Enable interactive form validation for email and url input type validation
8485        https://bugs.webkit.org/show_bug.cgi?id=111026
8486
8487        Reviewed by Laszlo Gombos.
8488
8489        WebKit EFL can check if input value is valid by enabling this feature.
8490
8491        * UIProcess/API/efl/EwkView.cpp:
8492        (EwkView::EwkView):
8493
84942013-03-06  Alexey Proskuryakov  <ap@apple.com>
8495
8496        [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
8497        https://bugs.webkit.org/show_bug.cgi?id=111623
8498
8499        Reviewed by Brady Eidson.
8500
8501        * Shared/WebCoreArgumentCoders.cpp:
8502        * Shared/WebCoreArgumentCoders.h:
8503        (CoreIPC::::encode): Made the decision on whether to serialize WebCore data in
8504        ResourceResponse dynamic. If the platform data is out of date, we need both
8505        (because some platforms use encodePlatformData() to pass additional information).
8506        (CoreIPC::::decode): Decode platform data first, because this overwrites the ResourceResponse.
8507
8508        * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData): Don't
8509        encode NSURLResponse if it's out of date. We may have a bad NSURLResponse with 0
8510        status code given to client, but it was almost certainly the same on sending side.
8511        WebCore doesn't mutate real responses - it either keeps them as is, or builds
8512        entirely synthetic ones.
8513
85142013-03-04  Jer Noble  <jer.noble@apple.com>
8515
8516        Default mouse cursor behavior should be auto-hide for full screen video with custom controls
8517        https://bugs.webkit.org/show_bug.cgi?id=107601
8518
8519        Reviewed by Beth Dakin.
8520
8521        Enable the CURSOR_VISIBILITY feature.
8522
8523        * Configurations/FeatureDefines.xcconfig:
8524
85252013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
8526
8527        [GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
8528        https://bugs.webkit.org/show_bug.cgi?id=111448
8529
8530        Reviewed by Alexey Proskuryakov.
8531
8532        Implement WebInspector::localizedStringsURL() method to return the
8533        file URL of the localizedStrings.js.
8534
8535        This prevents printing warnings about "Localized string not found" in
8536        the console.
8537
8538        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
8539        (WebKit::WebInspector::localizedStringsURL):
8540
85412013-03-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
8542
8543        [EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_changed failing
8544        https://bugs.webkit.org/show_bug.cgi?id=110608
8545
8546        Reviewed by Kenneth Rohde Christiansen.
8547
8548        Test was expecting ContentsSizeChanged signal from ViewClientEfl, but
8549        WebView was not calling client callback if useFixedLayout() is true.
8550
8551        This patch prevent early return if useFixedLayout() is true and call
8552        client callback didChangeContentsSize(), which will emit the signal.
8553
8554        * UIProcess/efl/ViewClientEfl.cpp:
8555        (WebKit::ViewClientEfl::didChangeContentsSize):
8556        * UIProcess/efl/WebView.cpp:
8557        (WebKit::WebView::didChangeContentsSize):
8558
85592013-03-06  Manuel Rego Casasnovas  <rego@igalia.com>
8560
8561        [WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
8562        https://bugs.webkit.org/show_bug.cgi?id=82866
8563
8564        Reviewed by Martin Robinson.
8565
8566        Test was failing because of new media controls needs more space to be
8567        painted than just 10x10 pixels. This is similar to r144070.
8568
8569        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
8570        (testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.
8571
85722013-03-06  Tim Horton  <timothy_horton@apple.com>
8573
8574        [wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay layer
8575        https://bugs.webkit.org/show_bug.cgi?id=111547
8576        <rdar://problem/13355801>
8577
8578        Reviewed by Simon Fraser.
8579
8580        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8581        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
8582        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
8583        Keep the page overlay layer's debug border and repaint counter settings updated.
8584
85852013-03-06  Geoffrey Garen  <ggaren@apple.com>
8586
8587        Joing the adoptNS/adoptCF/adoptRef club.
8588        https://bugs.webkit.org/show_bug.cgi?id=111467
8589
8590        Reviewed by Darin Adler.
8591
8592        Responding to review comments by Darin Adler.
8593
8594        * NetworkProcess/mac/NetworkProcessMac.mm:
8595        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
8596        * WebProcess/mac/WebProcessMac.mm:
8597        (WebKit::WebProcess::platformInitializeWebProcess): Tighten up this code
8598        by reducing extraneous local variables.
8599
86002013-03-05  Alexey Proskuryakov  <ap@apple.com>
8601
8602        Track sandbox extensions for blobs in NetworkProcess
8603        https://bugs.webkit.org/show_bug.cgi?id=111484
8604
8605        Reviewed by Sam Weinig.
8606
8607        * WebKit2.xcodeproj/project.pbxproj:
8608        * NetworkProcess/FileAPI: Added.
8609        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: Added.
8610        * NetworkProcess/FileAPI/NetworkBlobRegistry.h: Added.
8611        Added a registry that wraps normal in-process "BlobRegistryImpl", and also tracks
8612        sandbox extensions for blobs. It will also track process connections, so that
8613        blobs could be removed when a process crashes.
8614
8615        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
8616        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
8617        (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
8618        (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
8619        Use NetworkBlobRegistry.
8620
8621        * NetworkProcess/SchedulableLoader.h:
8622        * NetworkProcess/SchedulableLoader.cpp:
8623        (WebKit::SchedulableLoader::SchedulableLoader): Add extensions for blobs, both in
8624        request URL and in request data.
8625        (WebKit::SchedulableLoader::consumeSandboxExtensions): Request may now have multiple
8626        extensions.
8627        (WebKit::SchedulableLoader::invalidateSandboxExtensions): Ditto.
8628
8629        * Shared/FileAPI/BlobRegistrationData.cpp: Fixed extension creation - actually
8630        store the result.
8631
86322013-03-06  Andras Becsi  <andras.becsi@digia.com>
8633
8634        [Qt][WK2] Fix the Mac build after r144787
8635        https://bugs.webkit.org/show_bug.cgi?id=111569
8636
8637        Reviewed by Csaba Osztrogonác.
8638
8639        Use uint_64 explicitly instead of size_t.
8640
8641        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
8642        (CoreIPC::::encode):
8643        (CoreIPC::::decode):
8644
86452013-03-05  Kent Tamura  <tkent@chromium.org>
8646
8647        Rename WebCore/editing/visible_units.* to VisibleUnits.*
8648        https://bugs.webkit.org/show_bug.cgi?id=111426
8649
8650        Reviewed by Alexey Proskuryakov.
8651
8652        * WebProcess/WebPage/mac/WebPageMac.mm:
8653
86542013-03-06  Zeno Albisser  <zeno@webkit.org>
8655
8656        DataReference::vector() should be const.
8657        https://bugs.webkit.org/show_bug.cgi?id=109928
8658
8659        Reviewed by Anders Carlsson.
8660
8661        * Platform/CoreIPC/DataReference.h:
8662        (CoreIPC::DataReference::vector):
8663
86642013-03-06  Luiz Agostini  <luiz.agostini@nokia.com>
8665
8666        Accelerated overflow scrolling for Coordinated Graphics.
8667        https://bugs.webkit.org/show_bug.cgi?id=110323
8668
8669        Reviewed by Noam Rosenthal.
8670        Signed off for WebKit2 by Simon Fraser.
8671
8672        A scroll offset is applied to individual layers on UI process and the
8673        web process is notified assynchronously.
8674        The new API WKCoordinatedScene may be used to scroll layers in the UI process.
8675
8676        * CMakeLists.txt:
8677
8678        Encoding and decoding the new members of CoordinatedGraphicsLayerState.
8679
8680        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
8681        (CoreIPC::::encode):
8682        (CoreIPC::::decode):
8683
8684        Adding acceleratedCompositingForOverflowScrollEnabled to WebPreferencesStore.
8685
8686        * Shared/WebPreferencesStore.h:
8687        * WebProcess/WebPage/WebPage.cpp:
8688        (WebKit::WebPage::updatePreferences):
8689
8690        New API WKCoordinatedScene is used to scroll layers on UI side.
8691
8692        * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
8693        * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
8694        * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
8695
8696        A new message is used to send scroll commit messages to web process.
8697
8698        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
8699        (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
8700        (WebKit):
8701        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
8702        (CoordinatedLayerTreeHostProxy):
8703        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8704        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
8705        (WebKit::CoordinatedLayerTreeHost::detachLayer):
8706        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
8707        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
8708        (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
8709        (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
8710        (WebKit):
8711        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
8712        (CoordinatedLayerTreeHost):
8713        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
8714
87152013-03-06  Huang Dongsung  <luxtella@company100.net>
8716
8717        [EFL][WK2] Convert from device view size to UI view size only in EwkView.
8718        https://bugs.webkit.org/show_bug.cgi?id=110197
8719
8720        Reviewed by Kenneth Rohde Christiansen.
8721
8722        Signed off for WebKit2 by Benjamin Poulain.
8723
8724        Device scale factor is a property of the physical display, so only EwkView
8725        should deal with converting device view size to UI (a.k.a Density Independent Pixel)
8726        view size. It increases readability because we can regard a view size in
8727        other classes (e.g. WebView, PageViewportController, WebPage) except for
8728        EwkView as UI size.
8729
8730        * UIProcess/API/efl/EwkView.cpp:
8731        (EwkView::setDeviceScaleFactor):
8732        (EwkView::setDeviceSize):
8733        (EwkView::size):
8734        (EwkView::deviceSize):
8735        (EwkView::scheduleUpdateDisplay):
8736        (EwkView::createGLSurface):
8737        (EwkView::handleEvasObjectCalculate):
8738        * UIProcess/API/efl/EwkView.h:
8739        (EwkView):
8740        * UIProcess/efl/WebView.cpp:
8741        (WebKit::WebView::paintToCurrentGLContext):
8742        (WebKit::WebView::updateViewportSize):
8743
87442013-03-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
8745
8746        [EFL][WK2] Use Vector::reserveInitialCapacity() in WebEventFactory::createWebTouchEvent()
8747        https://bugs.webkit.org/show_bug.cgi?id=111530
8748
8749        Reviewed by Benjamin Poulain.
8750
8751        In WebEventFactory::createWebTouchEvent(), when constructing the vector of touch points,
8752        we already know in advance the total number of touch points. Therefore, we should
8753        leverage WTF::Vector::reserveInitialCapacity() and WTF::Vector::uncheckedAppend() to save
8754        some capacity checks.
8755
8756        * Shared/efl/WebEventFactory.cpp:
8757        (WebKit::WebEventFactory::createWebTouchEvent):
8758
87592013-03-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
8760
8761        [WK2][EFL] Enable asynchronous spell checking by default
8762        https://bugs.webkit.org/show_bug.cgi?id=111295
8763
8764        Reviewed by Benjamin Poulain.
8765
8766        Asynchronous spell checking feature is disabled by default for wk2 platforms.
8767        It means all requests of spell checking are sent synchronously.
8768
8769        WebKit-EFL implements requestCheckingOfString method which allows
8770        to check spelling asynchronously.
8771
8772        * UIProcess/API/efl/EwkView.cpp:
8773        (EwkView::EwkView):
8774
87752013-03-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
8776
8777        [EFL] Ensure right format is used in SnapshotImageGL.
8778        https://bugs.webkit.org/show_bug.cgi?id=111333
8779
8780        Reviewed by Benjamin Poulain.
8781
8782        GL_BGRA format is not standard for glReadPixels with GLES.
8783        This patch ensures that GL_RGBA is used in SnapshotImageGL
8784        while using GLES.
8785
8786        * UIProcess/API/efl/SnapshotImageGL.cpp:
8787        (getImageSurfaceFromFrameBuffer):
8788
87892013-03-05  Geoffrey Garen  <ggaren@apple.com>
8790
8791        Each web process truncates the disk cache to zero on launch
8792        https://bugs.webkit.org/show_bug.cgi?id=111467
8793
8794        Reviewed by Darin Adler.
8795
8796        Let's not do that.
8797
8798        * WebProcess/mac/WebProcessMac.mm:
8799        (WebKit::WebProcess::platformInitializeWebProcess):
8800
88012013-03-05  Anders Carlsson  <andersca@apple.com>
8802
8803        Reset the values if there is a quota error
8804        https://bugs.webkit.org/show_bug.cgi?id=111500
8805
8806        Reviewed by Beth Dakin.
8807
8808        * WebProcess/Storage/StorageAreaProxy.cpp:
8809        (WebKit::StorageAreaProxy::didSetItem):
8810        (WebKit::StorageAreaProxy::resetValues):
8811        (WebKit):
8812        * WebProcess/Storage/StorageAreaProxy.h:
8813        (StorageAreaProxy):
8814
88152013-03-05  Anders Carlsson  <andersca@apple.com>
8816
8817        Keep track of pending value changes in StorageAreaProxy
8818        https://bugs.webkit.org/show_bug.cgi?id=111496
8819
8820        Reviewed by Beth Dakin.
8821
8822        Add a HashCountedSet to keep track of the number of pending value
8823        changes for a given key. If we get incoming storage events from other
8824        processes while we have pending value changes, ignore the events.
8825
8826        * WebProcess/Storage/StorageAreaProxy.cpp:
8827        (WebKit::StorageAreaProxy::setItem):
8828        (WebKit::StorageAreaProxy::didSetItem):
8829        (WebKit::StorageAreaProxy::dispatchStorageEvent):
8830        (WebKit::StorageAreaProxy::shouldApplyChangesForKey):
8831        (WebKit):
8832        * WebProcess/Storage/StorageAreaProxy.h:
8833        (StorageAreaProxy):
8834
88352013-03-05  Ryuan Choi  <ryuan.choi@samsung.com>
8836
8837        [EFL] Build break with latest EFL libraries
8838        https://bugs.webkit.org/show_bug.cgi?id=111028
8839
8840        Reviewed by Dirk Pranke.
8841
8842        * PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.
8843
88442013-03-05  Anders Carlsson  <andersca@apple.com>
8845
8846        Use a named parameter for whether a quota error ocurred or not
8847        https://bugs.webkit.org/show_bug.cgi?id=111490
8848
8849        Reviewed by Beth Dakin.
8850
8851        This is clearer than setItem returning true on error.
8852        Also, actually set the item in the storage map.
8853
8854        * UIProcess/Storage/StorageManager.cpp:
8855        (StorageManager::StorageArea):
8856        (WebKit::StorageManager::StorageArea::setItem):
8857        (WebKit::StorageManager::setItem):
8858
88592013-03-05  Kiran Muppala  <cmuppala@apple.com>
8860
8861        Use new assertion API for process suppression on Mac
8862        https://bugs.webkit.org/show_bug.cgi?id=111387
8863
8864        Reviewed by Alexey Proskuryakov.
8865
8866        * Shared/ChildProcess.h:
8867        (WebKit::ChildProcess::processSuppressionEnabled): Rename
8868        m_processVisibleAssertion to m_processSuppressionAssertion.
8869        * Shared/mac/ChildProcessMac.mm:
8870        (WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
8871        replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
8872        -[NSProcessInfo beginSuspensionOfSystemBehaviors:].
8873
88742013-03-05  Anders Carlsson  <andersca@apple.com>
8875
8876        Move storageType() to StorageAreaProxy
8877        https://bugs.webkit.org/show_bug.cgi?id=111488
8878
8879        Reviewed by Andreas Kling.
8880
8881        * WebProcess/Storage/StorageAreaProxy.cpp:
8882        (WebKit::StorageAreaProxy::StorageAreaProxy):
8883        (WebKit::StorageAreaProxy::storageType):
8884        (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
8885        * WebProcess/Storage/StorageAreaProxy.h:
8886        (StorageAreaProxy):
8887        * WebProcess/Storage/StorageNamespaceProxy.cpp:
8888        * WebProcess/Storage/StorageNamespaceProxy.h:
8889
88902013-03-05  Jeffrey Pfau  <jpfau@apple.com>
8891
8892        Clear associated cache partitions when deleting origins' cache
8893        https://bugs.webkit.org/show_bug.cgi?id=111383
8894
8895        Reviewed by Maciej Stachowiak.
8896
8897        Clear the cache partitions associated with the origin being cleared.
8898
8899        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
8900        (WebKit):
8901        (WebKit::partitionName):
8902        (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
8903
89042013-03-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
8905
8906        [WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
8907        https://bugs.webkit.org/show_bug.cgi?id=109917
8908
8909        Reviewed by Alexey Proskuryakov.
8910
8911        WebPageProxy::setThemePath() should check that the page is valid before
8912        sending IPC message.
8913
8914        * UIProcess/efl/WebPageProxyEfl.cpp:
8915        (WebKit::WebPageProxy::setThemePath):
8916
89172013-03-05  Alexey Proskuryakov  <ap@apple.com>
8918
8919        <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
8920        https://bugs.webkit.org/show_bug.cgi?id=111456
8921
8922        Reviewed by Anders Carlsson.
8923
8924        It's too late to be draconian about this condition here, crashing doesn't help
8925        diagnose what went wrong when creating a sandbox extension.
8926
8927        Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
8928        and so should consumePermanently().
8929
8930        * Shared/mac/SandboxExtensionMac.mm:
8931        (WebKit::SandboxExtension::createHandle): For now, added logging when extension
8932        creation fails. If that proves insufficiently helpful in practice, we can change
8933        to a CRASH() later.
8934        (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
8935        (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
8936        to consume.
8937
89382013-03-05  Gwang Yoon Hwang  <ryumiel@company100.net>
8939
8940        Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
8941        https://bugs.webkit.org/show_bug.cgi?id=108294
8942
8943        Reviewed by Anders Carlsson.
8944
8945        There are two changes in WK2.
8946        1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
8947        2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.
8948
8949        This patch is based on Dongsung Huang, and Noam's work in
8950        https://bugs.webkit.org/show_bug.cgi?id=108294
8951
8952        No new tests, covered by existing tests.
8953
8954        * Scripts/webkit2/messages.py:
8955        (headers_for_type):
8956        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
8957        (CoreIPC::::encode):
8958            Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
8959            encoding WebCoordinatedSurface::Handle fails, but we don't
8960            recover in the case.
8961        (CoreIPC::::decode):
8962        (CoreIPC):
8963        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
8964        (WebCore):
8965        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
8966        (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
8967        (WebKit):
8968        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
8969        (WebCore):
8970        (CoordinatedLayerTreeHostProxy):
8971        (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
8972        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
8973        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
8974        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
8975        (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
8976        (WebKit::CoordinatedLayerTreeHost::syncLayerState):
8977        (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
8978        (WebKit):
8979        (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
8980        (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
8981        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
8982        (CoordinatedLayerTreeHost):
8983
89842013-03-05  Sam Weinig  <sam@webkit.org>
8985
8986        Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.
8987
8988        * WebKit2.xcodeproj/project.pbxproj:
8989
89902013-03-05  Sam Weinig  <sam@webkit.org>
8991
8992        Elevate accessors of C-SPI API variants to Objective-C SPI
8993        https://bugs.webkit.org/show_bug.cgi?id=111453
8994        <rdar://problem/13340357>
8995
8996        Reviewed by Alexey Proskuryakov.
8997
8998        * Shared/mac/ObjCObjectGraphCoders.mm:
8999        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
9000        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
9001        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
9002        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
9003        * UIProcess/API/mac/WKProcessGroup.mm:
9004        * UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
9005        * UIProcess/API/mac/WKView.mm:
9006        * WebKit2.xcodeproj/project.pbxproj:
9007        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
9008        (-[WKWebProcessPlugInController _bundleRef]):
9009        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
9010        Add access to C-SPI WebKit types as Objective-C SPI.
9011
90122013-03-04  Alexey Proskuryakov  <ap@apple.com>
9013
9014        Make AsyncFileReader work without ScriptExecutionContext
9015        https://bugs.webkit.org/show_bug.cgi?id=111376
9016
9017        Reviewed by Anders Carlsson.
9018
9019        * NetworkProcess/NetworkResourceLoader.cpp:
9020        * NetworkProcess/NetworkResourceLoader.h:
9021        Removed a dummy implementation of createAsyncFileStream, which is no longer needed.
9022
90232013-03-05  Alexey Proskuryakov  <ap@apple.com>
9024
9025        <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
9026        and temporary directories instead of private ones
9027
9028        Reviewed by Sam Weinig.
9029
9030        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
9031        Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
9032        containers.
9033
90342013-03-05  David Kilzer  <ddkilzer@apple.com>
9035
9036        BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
9037        <http://webkit.org/b/106742>
9038
9039        Fixes the following build failures:
9040
9041            Undefined symbols for architecture i386:
9042              "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
9043                  __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
9044              NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
9045              "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
9046                  __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
9047            ld: symbol(s) not found for architecture i386
9048
9049        * Configurations/FeatureDefines.xcconfig:
9050        - Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.
9051
90522013-03-05  Tim Horton  <timothy_horton@apple.com>, Grzegorz Czajkowski  <g.czajkowski@samsung.com>
9053
9054        [WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
9055        https://bugs.webkit.org/show_bug.cgi?id=81042
9056
9057        Reviewed by Enrica Casucci.
9058
9059        Expose WK2 setting to enable/disabled asynchronous spell checking.
9060        It's used by WebKitTestRunner to reset the setting at the beginning
9061        of the test.
9062        WebKit2 ports might be interested in this setting if they are going
9063        to enable this feature.
9064
9065        * Shared/WebPreferencesStore.h:
9066        * UIProcess/API/C/WKPreferences.cpp:
9067        (WKPreferencesSetAsynchronousSpellCheckingEnabled):
9068        (WKPreferencesGetAsynchronousSpellCheckingEnabled):
9069        * UIProcess/API/C/WKPreferences.h:
9070        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
9071        (WKBundleSetAsynchronousSpellCheckingEnabled):
9072        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
9073        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9074        (WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
9075        * WebProcess/InjectedBundle/InjectedBundle.h:
9076        * WebProcess/WebPage/WebPage.cpp:
9077        (WebKit::WebPage::updatePreferences):
9078
90792013-03-03  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
9080
9081        [WK2][EFL] Add requestCheckingOfString implementation.
9082        https://bugs.webkit.org/show_bug.cgi?id=108172
9083
9084        Reviewed by Hajime Morrita.
9085
9086        Provide implementation of 'requestCheckingOfString' for WK2-EFL.
9087        It uses the unified text checker feature.
9088
9089        * UIProcess/efl/TextCheckerEfl.cpp:
9090        (WebKit::TextChecker::requestCheckingOfString):
9091
90922013-03-04  Chris Fleizach  <cfleizach@apple.com>
9093
9094        Support WebSpeech - Speech Synthesis
9095        https://bugs.webkit.org/show_bug.cgi?id=106742
9096
9097        Reviewed by Simon Fraser.
9098
9099        Enable speech synthesis for the Mac.
9100
9101        * Configurations/FeatureDefines.xcconfig:
9102
91032013-03-04  Anders Carlsson  <andersca@apple.com>
9104
9105        UI process storage areas should hold on to storage maps
9106        https://bugs.webkit.org/show_bug.cgi?id=111374
9107
9108        Reviewed by Beth Dakin.
9109
9110        Pass the session storage quota size through to the storage area constructor and
9111        create a StorageMap with the given quota size.
9112
9113        * UIProcess/Storage/StorageManager.cpp:
9114        (StorageManager::StorageArea):
9115        (WebKit::StorageManager::StorageArea::create):
9116        (WebKit::StorageManager::StorageArea::StorageArea):
9117        (StorageManager::SessionStorageNamespace):
9118        (WebKit::StorageManager::SessionStorageNamespace::create):
9119        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
9120        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
9121        (WebKit::StorageManager::createSessionStorageNamespace):
9122        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
9123        * UIProcess/Storage/StorageManager.h:
9124        (StorageManager):
9125        * UIProcess/WebPageProxy.cpp:
9126        (WebKit::WebPageProxy::WebPageProxy):
9127
91282013-03-04  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
9129
9130        Unreviewed build fix after r144675.
9131
9132        Work around picky/old C++ compilers by separating the '>>' in
9133        nested templates with a space.
9134
9135        * UIProcess/Storage/StorageManager.cpp:
9136        (StorageManager::StorageArea):
9137
91382013-03-04  Anders Carlsson  <andersca@apple.com>
9139
9140        More work on UI side storage
9141        https://bugs.webkit.org/show_bug.cgi?id=111370
9142
9143        Reviewed by Andreas Kling.
9144
9145        Add a DispatchStorageEvent message and begin hooking it up.
9146
9147        * UIProcess/Storage/StorageManager.cpp:
9148        (StorageManager::StorageArea):
9149        (WebKit::StorageManager::StorageArea::setItem):
9150        (WebKit):
9151        (WebKit::StorageManager::StorageArea::dispatchEvents):
9152        (WebKit::StorageManager::setItem):
9153        (WebKit::StorageManager::findStorageArea):
9154        * UIProcess/Storage/StorageManager.h:
9155        (StorageManager):
9156        * UIProcess/Storage/StorageManager.messages.in:
9157        * WebProcess/Storage/StorageAreaProxy.cpp:
9158        (WebKit::StorageAreaProxy::setItem):
9159        (WebKit::StorageAreaProxy::dispatchStorageEvent):
9160        (WebKit):
9161        * WebProcess/Storage/StorageAreaProxy.h:
9162        (StorageAreaProxy):
9163        * WebProcess/Storage/StorageAreaProxy.messages.in:
9164
91652013-03-04  Jer Noble  <jer.noble@apple.com>
9166
9167        Unreviewed build fix: wrap references to PluginInfoStore with 
9168        guards for platforms which do not enable NETSCAPE_PLUGIN_AP.
9169
9170        * UIProcess/WebContext.cpp:
9171        (WebKit::WebContext::WebContext):
9172        (WebKit::WebContext::~WebContext):
9173        * UIProcess/WebContext.h:
9174
91752013-03-04  Anders Carlsson  <andersca@apple.com>
9176
9177        Create and destroy storage areas in the UI process
9178        https://bugs.webkit.org/show_bug.cgi?id=111361
9179
9180        Reviewed by Sam Weinig.
9181
9182        * UIProcess/Storage/StorageManager.cpp:
9183        (StorageManager::StorageArea):
9184        Keep track of listener connection and storage area ID pairs.
9185        
9186        (WebKit::StorageManager::StorageArea::~StorageArea):
9187        Assert that we don't have any listeners left.
9188
9189        (WebKit::StorageManager::StorageArea::addListener):
9190        Add the pair to the set of listeners.
9191        
9192        (WebKit::StorageManager::StorageArea::removeListener):
9193        Remove the pair from the set of listeners.
9194        
9195        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
9196        Given an origin, look up or create the storage area.
9197
9198        (WebKit::StorageManager::createStorageArea):
9199        Create the storage area if it doesn't already exist.
9200
9201        (WebKit::StorageManager::destroyStorageArea):
9202        Look up the storage area and destroy it.
9203
9204        * UIProcess/Storage/StorageManager.h:
9205        Add a map of open storage areas.
9206
92072013-03-04  Jer Noble  <jer.noble@apple.com>
9208
9209        Add API to allow WK2 clients to query the list of installed plug-ins.
9210        https://bugs.webkit.org/show_bug.cgi?id=111245
9211
9212        Reviewed by Alexey Proskuryakov.
9213
9214        Add API in WKContext, implemented by WebContext, that allows callers to register a callback 
9215        retrieve an array containing installed plugin information. This API is exposed through WebContext 
9216        because it owns the PluginInfoStore used to fulfill the request.
9217
9218        Bump the WKContextClient API by 1:
9219        * Shared/APIClientTraits.cpp:
9220        * Shared/APIClientTraits.h:
9221        * UIProcess/API/C/WKContext.h:
9222
9223        Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
9224        successfully loaded:
9225        * UIProcess/Plugins/PluginInfoStore.cpp:
9226        (WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
9227        (WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
9228        * UIProcess/Plugins/PluginInfoStore.h:
9229        (WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
9230        (WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
9231        (WebKit::PluginInfoStore::setClient): Simple setter.
9232        (WebKit::PluginInfoStore::client): Simple getter.
9233
9234        * UIProcess/WebContext.cpp:
9235        (WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
9236        (WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
9237        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
9238        * UIProcess/WebContext.h:
9239        * UIProcess/WebContextClient.cpp:
9240        (WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
9241        * UIProcess/WebContextClient.h:
9242
92432013-03-04  Tim Horton  <timothy_horton@apple.com>
9244
9245        PDFPlugin: Hook up Services
9246        https://bugs.webkit.org/show_bug.cgi?id=111246
9247        <rdar://problem/13062672>
9248
9249        Reviewed by Alexey Proskuryakov.
9250
9251        Make the Application->Services menu work when the focused selection is a PDFPlugin.
9252
9253        * Shared/EditorState.cpp:
9254        (WebKit::EditorState::encode):
9255        (WebKit::EditorState::decode):
9256        * Shared/EditorState.h:
9257        (WebKit::EditorState::EditorState):
9258        (EditorState):
9259        Add isInPlugin property to EditorState.
9260
9261        * UIProcess/API/mac/WKView.mm:
9262        (-[WKView validRequestorForSendType:returnType:]):
9263        If the selection is currently in a Plugin, we only currently have the ability
9264        to retrieve the selection as a plain-text string, so restrict sendType to NSStringPboardType.
9265
9266        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
9267        * WebProcess/Plugins/Plugin.h:
9268        * WebProcess/Plugins/PluginView.h:
9269        * WebProcess/Plugins/PluginProxy.h:
9270        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
9271        Add getStringSelection.
9272
9273        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
9274        Add pdfLayerController:didChangeSelection: delegate method.
9275
9276        * WebProcess/Plugins/PDF/PDFPlugin.h:
9277        (PDFPlugin):
9278        Add getStringSelection and notifySelectionChanged.
9279
9280        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9281        (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeSelection:]):
9282        Forward selection change notifications to our PDFPlugin.
9283
9284        (WebKit::PDFPlugin::notifySelectionChanged):
9285        Forward selection change notifications to our WebPage.
9286
9287        (WebKit::PDFPlugin::getStringSelection):
9288        Retrieve PDFLayerController's selection as a plain text string.
9289        
9290        * WebProcess/Plugins/PluginView.cpp:
9291        (WebKit::PluginView::countFindMatches):
9292        (WebKit::PluginView::findString):
9293        Drive-bys, check for existance and initialization of the plugin before using it.
9294
9295        (WebKit::PluginView::getStringSelection): Added.
9296
9297        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9298        (WebKit::WebEditorClient::respondToChangedSelection):
9299        Use didChangeSelection instead of sending the EditorStateChanged message directly.
9300
9301        * WebProcess/WebPage/WebPage.cpp:
9302        (WebKit::WebPage::editorState):
9303        If a plugin is focused and has a selection, return a EditorState that reflects that.
9304        Since PDFs aren't editable (when editing annotations, the plugin doesn't have focus),
9305        I'm not adding support for the editing-related properties when a plugin has focus.
9306
9307        (WebKit::WebPage::focusedPluginViewForFrame):
9308        (WebKit::WebPage::pluginViewForFrame):
9309        Make these class methods instead of static functions so we can use them from
9310        WebPageMac too, instead of duplicating code there.
9311
9312        (WebKit::WebPage::didChangeSelection): Added.
9313
9314        * WebProcess/WebPage/WebPage.h:
9315        Add didChangeSelection and [focused]PluginViewForFrame.
9316
9317        * WebProcess/WebPage/mac/WebPageMac.mm:
9318        (WebKit::WebPage::getStringSelectionForPasteboard):
9319        Defer to the focused plugin (if it exists) when retrieving the plain-text selection.
9320
93212013-03-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
9322
9323        [WK2][EFL] Add callbacks to the WKViewClient to handle Web Process crash and relaunch
9324        https://bugs.webkit.org/show_bug.cgi?id=109828
9325
9326        Reviewed by Kenneth Rohde Christiansen.
9327
9328        Providing WKViewClient with Web Process crash and Web Process relaunch
9329        callbacks brings better design as WebView should not be aware of
9330        EFL-specific code handling the corresponding events.
9331
9332        The implementation of the mentioned Web Process callbacks was also added.
9333
9334        * UIProcess/API/C/efl/WKView.cpp:
9335        (WKViewSetThemePath):
9336        * UIProcess/API/C/efl/WKView.h:
9337        * UIProcess/efl/ViewClientEfl.cpp:
9338        (WebKit::ViewClientEfl::webProcessCrashed):
9339        (WebKit):
9340        (WebKit::ViewClientEfl::webProcessDidRelaunch):
9341        (WebKit::ViewClientEfl::ViewClientEfl):
9342        * UIProcess/efl/ViewClientEfl.h:
9343        (ViewClientEfl):
9344        * UIProcess/efl/WebView.cpp:
9345        (WebKit::WebView::setThemePath):
9346
9347            Accepts WTF::String instead of WKStringRef as it is
9348            more appropriate for C++ API implementation class.
9349
9350        (WebKit::WebView::processDidCrash):
9351        (WebKit::WebView::didRelaunchProcess):
9352        * UIProcess/efl/WebView.h:
9353        (WebView):
9354        * UIProcess/efl/WebViewClient.cpp:
9355        (WebKit::WebViewClient::webProcessCrashed):
9356        (WebKit):
9357        (WebKit::WebViewClient::webProcessDidRelaunch):
9358        * UIProcess/efl/WebViewClient.h:
9359
93602013-03-04  Anders Carlsson  <andersca@apple.com>
9361
9362        Complete the plug-in URL string before sending it to the UI process
9363        https://bugs.webkit.org/show_bug.cgi?id=111355
9364        <rdar://problem/13326713>
9365
9366        Reviewed by Andreas Kling.
9367
9368        If the URL is not absolute, we won't be able to find it by path extension in the plug-in info store.
9369
9370        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
9371        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
9372
93732013-03-04  Carlos Garcia Campos  <cgarcia@igalia.com>
9374
9375        [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
9376        https://bugs.webkit.org/show_bug.cgi?id=111346
9377
9378        Reviewed by Martin Robinson.
9379
9380        The problem is the use of a temporary CString object in the macro
9381        g_assert_cmpstr. It's a common mistake because we usually forget
9382        that g_assert_cmpstr is not a function but a macro, that expands
9383        to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
9384        with the same implementation that g_assert_cmpstr, but using
9385        CStrings instead of const char*. It fixes all the cases where a
9386        temporary CString was used in g_assert_cmpstr, and uses the new
9387        macro also for the cases where we were caching the CString just
9388        for g_assert_cmpstr.
9389
9390        * UIProcess/API/gtk/tests/TestDownloads.cpp:
9391        (testDownloadRemoteFile):
9392        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
9393        (testInspectorServerPageList):
9394        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
9395        * UIProcess/API/gtk/tests/TestMain.h:
9396        * UIProcess/API/gtk/tests/TestResources.cpp:
9397        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
9398        (testGetFaviconURI):
9399        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
9400        (assertThatUserAgentIsSentInHeaders):
9401        (testWebKitSettingsUserAgent):
9402
94032013-03-04  Kunihiko Sakamoto  <ksakamoto@chromium.org>
9404
9405        Add build flag for FontLoader
9406        https://bugs.webkit.org/show_bug.cgi?id=111289
9407
9408        Reviewed by Benjamin Poulain.
9409
9410        Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
9411
9412        * Configurations/FeatureDefines.xcconfig:
9413
94142013-03-03  Tim Horton  <timothy_horton@apple.com>
9415
9416        PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
9417        https://bugs.webkit.org/show_bug.cgi?id=111258
9418
9419        Reviewed by Alexey Proskuryakov.
9420
9421        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
9422        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9423        (-[WKPDFLayerControllerDelegate openWithNativeApplication]):
9424        Rename from openWithPreview to openWithNativeApplication to match PDFKit.
9425
94262013-03-03  Huang Dongsung  <luxtella@company100.net>
9427
9428        [EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
9429        https://bugs.webkit.org/show_bug.cgi?id=110298
9430
9431        Reviewed by Kenneth Rohde Christiansen.
9432
9433        Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
9434        fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
9435        layout. It is confusing that a platform WebView deals with device view size or
9436        DIP view size case by case. So this patch always turns on
9437        ApplyDeviceScaleFactorInCompositor.
9438
9439        In addition, move the code that turns on ScrollingCoordinatorEnabled to
9440        CoordinatedLayerTreeHost.
9441
9442        * UIProcess/API/efl/EwkView.cpp:
9443        (EwkView::setDeviceScaleFactor):
9444            We should make WebPage know new DIP size.
9445        (EwkView::setSize):
9446            When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
9447            know the DIP size as a view size.
9448        * UIProcess/efl/WebView.cpp:
9449        (WebKit::WebView::updateViewportSize):
9450        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
9451        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
9452        * WebProcess/WebPage/DrawingAreaImpl.cpp:
9453        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
9454        * WebProcess/WebPage/WebPage.cpp:
9455        (WebKit::WebPage::setUseFixedLayout):
9456            WebPage sends the DIP size to Web Process even when we don't use fixed layout.
9457
94582013-03-03  Sam Weinig  <sam@webkit.org>
9459
9460        Shared Web Workers have an incorrect visible process name
9461        https://bugs.webkit.org/show_bug.cgi?id=111277
9462
9463        Reviewed by Dan Bernstein.
9464
9465        * SharedWorkerProcess/SharedWorkerProcess.cpp:
9466        (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
9467        * SharedWorkerProcess/SharedWorkerProcess.h:
9468        (SharedWorkerProcess):
9469        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
9470        (WebKit::SharedWorkerProcess::initializeProcessName):
9471        The SharedWorkerProcess is not an internet plug-in!
9472
94732013-03-03  Adam Barth  <abarth@webkit.org>
9474
9475        Unreviewed attempted build fix. Adds back some includes removed in
9476        http://trac.webkit.org/changeset/144565.
9477
9478        * Shared/WebRenderLayer.cpp:
9479        * Shared/WebRenderObject.cpp:
9480        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
9481        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9482        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
9483        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9484        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
9485        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9486        * WebProcess/Plugins/PluginView.cpp:
9487        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9488        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9489        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9490        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9491        * WebProcess/WebPage/mac/WebPageMac.mm:
9492        * WebProcess/WebProcess.cpp:
9493        * WebProcess/soup/WebProcessSoup.cpp:
9494
94952013-03-03  Adam Barth  <abarth@webkit.org>
9496
9497        Unreviewed rollout of http://trac.webkit.org/r144530
9498        As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
9499        https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
9500        large number of ASSERTs in chromium-win.
9501
9502        * NetworkProcess/HostRecord.h:
9503        * NetworkProcess/NetworkResourceLoadScheduler.h:
9504        * NetworkProcess/NetworkResourceLoader.h:
9505        (WebCore):
9506        * Shared/WebRenderLayer.cpp:
9507        * Shared/WebRenderObject.cpp:
9508        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
9509        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9510        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
9511        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9512        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
9513        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9514        * WebProcess/Plugins/PluginView.cpp:
9515        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9516        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9517        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9518        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9519        * WebProcess/WebPage/mac/WebPageMac.mm:
9520        * WebProcess/WebProcess.cpp:
9521        * WebProcess/soup/WebProcessSoup.cpp:
9522
95232013-03-02  Sam Weinig  <sam@webkit.org>
9524
9525        WebKit2 is missing the setShowsURLsInToolTips preference
9526        https://bugs.webkit.org/show_bug.cgi?id=111259
9527        <rdar://problem/12991891>
9528
9529        Reviewed by Maciej Stachowiak.
9530
9531        * Shared/WebPreferencesStore.h:
9532        * UIProcess/API/C/WKPreferences.cpp:
9533        (WKPreferencesSetShowsURLsInToolTipsEnabled):
9534        (WKPreferencesGetShowsURLsInToolTipsEnabled):
9535        * UIProcess/API/C/WKPreferencesPrivate.h:
9536        * WebProcess/WebPage/WebPage.cpp:
9537        (WebKit::WebPage::updatePreferences):
9538        Pipe it through.
9539
95402013-03-02  Benjamin Poulain  <bpoulain@apple.com>
9541
9542        Move computedStyleIncludingVisitedInfo from TestRunner to Internals
9543        https://bugs.webkit.org/show_bug.cgi?id=109772
9544
9545        Reviewed by Andreas Kling.
9546
9547        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9548        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
9549        * WebProcess/WebPage/WebFrame.cpp:
9550        * WebProcess/WebPage/WebFrame.h:
9551        (WebFrame):
9552
95532013-03-01  Kiran Muppala  <cmuppala@apple.com>
9554
9555        Remove call to set task priority of WebKit2 processes on Mac
9556        https://bugs.webkit.org/show_bug.cgi?id=111239
9557
9558        Reviewed by Darin Adler.
9559
9560        Remove call to set task prioirty of WebKit2 processes on Mac as it
9561        is no longer necessary.
9562
9563        * Shared/mac/ChildProcessMac.mm:
9564        (WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
9565
95662013-02-28  Alexey Proskuryakov  <ap@apple.com>
9567
9568        Reduce amount of rebuilding when touching networking headers
9569        https://bugs.webkit.org/show_bug.cgi?id=111035
9570
9571        Reviewed by Eric Seidel.
9572
9573        Adding includes that are now necessary because WebCore headers don't have them
9574        any more.
9575
9576        * NetworkProcess/HostRecord.h:
9577        * NetworkProcess/NetworkResourceLoadScheduler.h:
9578        * NetworkProcess/NetworkResourceLoader.h:
9579        * Shared/WebRenderLayer.cpp:
9580        * Shared/WebRenderObject.cpp:
9581        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
9582        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9583        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
9584        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9585        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
9586        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9587        * WebProcess/Plugins/PluginView.cpp:
9588        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9589        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9590        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9591        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9592        * WebProcess/WebPage/mac/WebPageMac.mm:
9593        * WebProcess/WebProcess.cpp:
9594        * WebProcess/soup/WebProcessSoup.cpp:
9595
95962013-02-28  Alexey Proskuryakov  <ap@apple.com>
9597
9598        Make in-memory blobs work in NetworkProcess
9599        https://bugs.webkit.org/show_bug.cgi?id=111132
9600
9601        Reviewed by Sam Weinig.
9602
9603        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
9604        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
9605        (WebKit::NetworkConnectionToWebProcess::registerBlobURLFromURL):
9606        (WebKit::NetworkConnectionToWebProcess::unregisterBlobURL):
9607        * NetworkProcess/NetworkConnectionToWebProcess.h:
9608        Implement BlobRegistry interface by using BlobRegistryImpl (same one as used in
9609        WebProcess in non-PPT mode).
9610
9611        * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added three messages
9612        needed for BlobRegistry.
9613
9614        * NetworkProcess/NetworkProcess.cpp:
9615        * NetworkProcess/NetworkProcessPlatformStrategies.cpp: Added.
9616        * NetworkProcess/NetworkProcessPlatformStrategies.h: Added.
9617        Added a mostly empty platform strategy, just for FormData to talk to BlobRegistry.
9618        Perhaps we'll find a way to avoid this WebCore code path in NetworkProcess, because
9619        we obviously know which registry implementation is in use in this process.
9620
9621        * Shared/FileAPI: Added.
9622        * Shared/FileAPI/BlobRegistrationData.cpp: Added.
9623        * Shared/FileAPI/BlobRegistrationData.h: Added.
9624        Added a class for passing BlobData and extension handles over IPC.
9625        This uses a trick with mutable a member to avoid copying decoded BlobStorageData.
9626
9627        * WebKit2.xcodeproj/project.pbxproj:
9628        * WebProcess/FileAPI: Added.
9629        * WebProcess/FileAPI/BlobRegistryProxy.cpp: Added.
9630        * WebProcess/FileAPI/BlobRegistryProxy.h: Added.
9631        A proxy implementation of BlobRegistry that just sends requests over IPC. We only
9632        need async ones.
9633
9634        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9635        (WebKit::WebPlatformStrategies::createBlobRegistry):
9636        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9637        Create an appropriate BlobRegistry.
9638
96392013-03-01  Zan Dobersek  <zdobersek@igalia.com>
9640
9641        Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
9642        against libWebCoreSVG.la when SVG is disabled.
9643
9644        Rubber-stamped by Gustavo Noronha.
9645
9646        * GNUmakefile.am:
9647
96482013-02-28  Sam Weinig  <sam@webkit.org>
9649
9650        Add SPI for marking a WebView as doing things on behalf of another process
9651        https://bugs.webkit.org/show_bug.cgi?id=111125
9652
9653        Reviewed by Alexey Proskuryakov.
9654
9655        * NetworkProcess/mac/RemoteNetworkingContext.h:
9656        * NetworkProcess/mac/RemoteNetworkingContext.mm:
9657        (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
9658        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
9659        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9660        (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
9661        Stub out sourceApplicationAuditData() client function.
9662
96632013-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
9664
9665        Unreviewed, rolling out r144422 and r144424.
9666        http://trac.webkit.org/changeset/144422
9667        http://trac.webkit.org/changeset/144424
9668        https://bugs.webkit.org/show_bug.cgi?id=111167
9669
9670        Caused over 20 tests to fail assertion on Chromium Win port as
9671        ASSERTION FAILED: m_platformRequestUpdated (Requested by
9672        toyoshim on #webkit).
9673
9674        * NetworkProcess/HostRecord.h:
9675        * NetworkProcess/NetworkResourceLoadScheduler.h:
9676        * NetworkProcess/NetworkResourceLoader.h:
9677        (WebCore):
9678        * Shared/WebRenderLayer.cpp:
9679        * Shared/WebRenderObject.cpp:
9680        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
9681        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9682        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
9683        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9684        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
9685        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9686        * WebProcess/Plugins/PluginView.cpp:
9687        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9688        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9689        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9690        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9691        * WebProcess/WebPage/mac/WebPageMac.mm:
9692        * WebProcess/WebProcess.cpp:
9693        * WebProcess/soup/WebProcessSoup.cpp:
9694
96952013-03-01  Andras Becsi  <andras.becsi@digia.com>
9696
9697        [Qt][WK2] Fix failing API tests after r143935
9698        https://bugs.webkit.org/show_bug.cgi?id=111086
9699
9700        Reviewed by Jocelyn Turcotte.
9701
9702        Convert a leftorver resume call to the new resumeAndUpdateContent() call
9703        in PageViewportControllerClientQt so that the notifications about zoom
9704        animation state changes reach the API tests.
9705
9706        * UIProcess/qt/PageViewportControllerClientQt.cpp:
9707        (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
9708
97092013-03-01  Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com>
9710
9711        [WK2] Asynchronous spell checking implementation
9712        https://bugs.webkit.org/show_bug.cgi?id=109577
9713
9714        Reviewed by Enrica Casucci.
9715
9716        Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
9717        on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
9718        passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
9719        the 'TextCheckerCompletion' object with the request data and possibility to notify
9720        the WebProcess about the spelling results.
9721        Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
9722        didSuccess/didCancel method to notify the WebCore about the spelling result.
9723
9724        * CMakeLists.txt:
9725        * GNUmakefile.list.am:
9726        Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
9727        WK2-Gtk+ builds.
9728
9729        * Scripts/webkit2/messages.py:
9730        (headers_for_type):
9731        Add exception for 'TextCheckingRequestData' class to properly find header
9732        file for it.
9733
9734        * Shared/WebCoreArgumentCoders.cpp:
9735        * Shared/WebCoreArgumentCoders.h:
9736        Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.
9737
9738        * Target.pri:
9739        Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.
9740
9741        * UIProcess/TextChecker.h:
9742        Add 'requestCheckingOfString' method to the TextChecker's interface.
9743
9744        * UIProcess/TextCheckerCompletion.cpp: Added.
9745        (WebKit::TextCheckerCompletion::create):
9746        (WebKit::TextCheckerCompletion::TextCheckerCompletion):
9747
9748        (WebKit::TextCheckerCompletion::spellDocumentTag):
9749        Return the WebPageProxy's spellDocumentTag as the client might be
9750        interested in from which page the request came.
9751
9752        (WebKit::TextCheckerCompletion::textCheckingRequestData):
9753        Allow to retrieve 'TextCheckingRequestData' object.
9754
9755        (WebKit::TextCheckerCompletion::didFinishCheckingText):
9756        (WebKit::TextCheckerCompletion::didCancelCheckingText):
9757        Notify the 'WebPageProxy' object that the given request has been
9758        handled or canceled.
9759
9760        * UIProcess/TextCheckerCompletion.h: Added.
9761        Introduce a new class for WK2 to retrieve the request data and
9762        call didFinishCheckingText/didCancelCheckingText.
9763
9764        * UIProcess/WebPageProxy.cpp:
9765        (WebKit::WebPageProxy::requestCheckingOfString):
9766        Create 'TextCheckerCompletion' object and pass it
9767        to the 'TextChecker::requestCheckingOfString' method.
9768
9769        (WebKit::WebPageProxy::didFinishCheckingText):
9770        (WebKit::WebPageProxy::didCancelCheckingText):
9771        Send the messages to WebProcess that the given request has been
9772        handled or canceled.
9773
9774        * UIProcess/WebPageProxy.h:
9775        (WebPageProxy):
9776        Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
9777        Add private declarations for 'requestCheckingOfString'.
9778        Move the 'spellDocumentTag()' method to to the public section to be
9779        accessible from 'TextCheckerCompletion' class.
9780
9781        * UIProcess/WebPageProxy.messages.in:
9782        A new entry for 'RequestCheckingOfString'.
9783
9784        * UIProcess/efl/TextCheckerEfl.cpp:
9785        (WebKit::TextChecker::requestCheckingOfString):
9786        (WebKit):
9787        * UIProcess/gtk/TextCheckerGtk.cpp:
9788        (WebKit::TextChecker::requestCheckingOfString):
9789        (WebKit):
9790        * UIProcess/mac/TextCheckerMac.mm:
9791        (WebKit::TextChecker::requestCheckingOfString):
9792        (WebKit):
9793        * UIProcess/qt/TextCheckerQt.cpp:
9794        (WebKit::TextChecker::requestCheckingOfString):
9795        (WebKit):
9796        Add dummy implementations for 'requestCheckingOfString'.
9797
9798        * WebKit2.xcodeproj/project.pbxproj:
9799        Add 'TextCheckerCompletion.{h/cpp} to Mac build.
9800
9801        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9802        (WebKit::generateTextCheckingRequestID):
9803        Helper function to generate the unique identifier for the abstract
9804        'TextCheckingRequest' object.
9805
9806        (WebKit::WebEditorClient::requestCheckingOfString):
9807        Associate 'TextCheckingRequest' with the unique identifier and add them
9808        to the map object.
9809        Get the request data and send it to the UIProcess.
9810
9811        * WebProcess/WebPage/WebPage.cpp:
9812        (WebKit::WebPage::addTextCheckingRequest):
9813        Add the identifier and the request to the map object.
9814
9815        (WebKit::WebPage::didFinishCheckingText):
9816        (WebKit::WebPage::didCancelCheckingText):
9817        Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
9818        about spellcheking results.
9819        Remove the request from the map object.
9820
9821        * WebProcess/WebPage/WebPage.h:
9822        Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
9823        'didCancelCheckingText.'
9824
9825        * WebProcess/WebPage/WebPage.messages.in:
9826        Add a new entry for DidFinishCheckingText, DidCancelCheckingText.
9827
98282013-02-28  Alexey Proskuryakov  <ap@apple.com>
9829
9830        Reduce amount of rebuilding when touching networking headers
9831        https://bugs.webkit.org/show_bug.cgi?id=111035
9832
9833        Reviewed by Eric Seidel.
9834
9835        Adding includes that are now necessary because WebCore headers don't have them
9836        any more.
9837
9838        * NetworkProcess/HostRecord.h:
9839        * NetworkProcess/NetworkResourceLoadScheduler.h:
9840        * NetworkProcess/NetworkResourceLoader.h:
9841        * Shared/WebRenderLayer.cpp:
9842        * Shared/WebRenderObject.cpp:
9843        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
9844        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9845        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
9846        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9847        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
9848        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9849        * WebProcess/Plugins/PluginView.cpp:
9850        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
9851        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
9852        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9853        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9854        * WebProcess/WebPage/mac/WebPageMac.mm:
9855        * WebProcess/WebProcess.cpp:
9856        * WebProcess/soup/WebProcessSoup.cpp:
9857
98582013-02-28  Seokju Kwon  <seokju.kwon@gmail.com>
9859
9860        [WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
9861        https://bugs.webkit.org/show_bug.cgi?id=109925
9862
9863        Reviewed by Benjamin Poulain.
9864
9865        The contents of an outermost namespace block should not be indented.
9866        And One-line control clauses should not use braces.
9867
9868        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
9869        (WebKit::WebInspectorClient::closeInspectorFrontend):
9870        * WebProcess/WebCoreSupport/WebInspectorClient.h:
9871        (WebCore):
9872
98732013-02-28  Kiran Muppala  <cmuppala@apple.com>
9874
9875        Add a pre-bootstrap message for NetworkProcess XPC service
9876        https://bugs.webkit.org/show_bug.cgi?id=111127
9877
9878        Reviewed by Sam Weinig.
9879
9880        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
9881        (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
9882        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
9883        (WebKit::XPCServiceEventHandler): Ditto.
9884        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
9885        (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
9886        XPC service.
9887
98882013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
9889
9890        Need API to control page underlay color
9891        https://bugs.webkit.org/show_bug.cgi?id=110918
9892
9893        Reviewed by Simon Fraser.
9894
9895        * Shared/WebPageCreationParameters.cpp:
9896        (WebKit::WebPageCreationParameters::encode):
9897        Encode underlayColor.
9898        (WebKit::WebPageCreationParameters::decode):
9899        Decode underlayColor.
9900
9901        * Shared/WebPageCreationParameters.h:
9902        (WebPageCreationParameters):
9903        Add underlayColor member.
9904
9905        * UIProcess/API/mac/WKView.mm:
9906        (-[WKView underlayColor]):
9907        Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
9908        (-[WKView setUnderlayColor:]):
9909        Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
9910
9911        * UIProcess/API/mac/WKViewPrivate.h:
9912        Add underlayColor @property.
9913
9914        * UIProcess/WebPageProxy.cpp:
9915        (WebKit::WebPageProxy::setUnderlayColor):
9916        Mutator; dispatches SetUnderlayColor to WebPage.
9917        (WebKit::WebPageProxy::creationParameters):
9918        Set the parameters' underlayColor member appropriately.
9919
9920        * UIProcess/WebPageProxy.h:
9921        Declare new member functions and variable.
9922        (WebKit::WebPageProxy::underlayColor):
9923        Accessor.
9924
9925        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
9926        (WebKit::WebChromeClient::underlayColor):
9927        Return the associated WebPage's underlayColor.
9928
9929        * WebProcess/WebCoreSupport/WebChromeClient.h:
9930        (WebChromeClient):
9931        Declare underlayColor().
9932
9933        * WebProcess/WebPage/WebPage.cpp:
9934        (WebKit::WebPage::WebPage):
9935        Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
9936
9937        * WebProcess/WebPage/WebPage.h:
9938        Declare new member functions and variable.
9939        (WebKit::WebPage::underlayColor):
9940        Accessor.
9941
9942        * WebProcess/WebPage/WebPage.messages.in:
9943        Add SetUnderlayColor message.
9944
99452013-02-28  Anders Carlsson  <andersca@apple.com>
9946
9947        Add the notion of an allowed connection to SessionStorageNamespace
9948        https://bugs.webkit.org/show_bug.cgi?id=111122
9949
9950        Reviewed by Sam Weinig.
9951
9952        Group together each session storage namespace with an allowed connection.
9953        This will help ensure that rouge web processes will not be able to access session storage
9954        from pages in other processes.
9955        
9956        * UIProcess/Storage/StorageManager.cpp:
9957        (StorageManager::SessionStorageNamespace):
9958        (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
9959        (WebKit::StorageManager::SessionStorageNamespace::create):
9960        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
9961        (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
9962        Add an m_allowedConnection member variable, as well as setters and getters.
9963
9964        (WebKit::StorageManager::createSessionStorageNamespace):
9965        Take an optional allowed connection. (It can be null if the process has not finished launching).
9966
9967        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
9968        New function to set the allowed connection for a session storage namespace.
9969
9970        (WebKit::StorageManager::createStorageArea):
9971        Add another FIXME.
9972
9973        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
9974        Pass the connection to the SessionStorageNamespace constructor.
9975
9976        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
9977        Set the allowed connection.
9978
9979        * UIProcess/WebPageProxy.cpp:
9980        (WebKit::WebPageProxy::WebPageProxy):
9981        Pass the connection to createSessionStorageNamespace.
9982
9983        (WebKit::WebPageProxy::connectionWillOpen):
9984        Call setAllowedSessionStorageNamespaceConnection.
9985        
9986        (WebKit::WebPageProxy::connectionWillClose):
9987        Call setAllowedSessionStorageNamespaceConnection with a null connection.
9988
9989        * UIProcess/WebProcessProxy.cpp:
9990        (WebKit::WebProcessProxy::connectionWillOpen):
9991        Call connectionWillOpen on all pages.
9992
9993        (WebKit::WebProcessProxy::connectionWillClose):
9994        Call connectionWillClose on all pages.
9995
99962013-02-28  Kiran Muppala  <cmuppala@apple.com>
9997
9998        Add private API to disable WKView window occlusion detection
9999        https://bugs.webkit.org/show_bug.cgi?id=111107
10000
10001        Reviewed by Simon Fraser.
10002
10003        * UIProcess/API/mac/WKView.mm:
10004        (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
10005        detection is enabled before enabling notifications.
10006        (windowBecameOccluded): Ditto before changing window occlusion state.
10007        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
10008        Initialize occlusion detection enabled flag to "YES".
10009        (-[WKView windowOcclusionDetectionEnabled]):
10010        (-[WKView setWindowOcclusionDetectionEnabled:]):
10011        * UIProcess/API/mac/WKViewPrivate.h:
10012
100132013-02-28  Anders Carlsson  <andersca@apple.com>
10014
10015        Add the notion of an allowed connection to SessionStorageNamespace
10016        https://bugs.webkit.org/show_bug.cgi?id=111122
10017
10018        Reviewed by Sam Weinig.
10019
10020        Group together each session storage namespace with an allowed connection.
10021        This will help ensure that rouge web processes will not be able to access session storage
10022        from pages in other processes.
10023        
10024        * UIProcess/Storage/StorageManager.cpp:
10025        (StorageManager::SessionStorageNamespace):
10026        (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
10027        (WebKit::StorageManager::SessionStorageNamespace::create):
10028        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
10029        (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
10030        Add an m_allowedConnection member variable, as well as setters and getters.
10031
10032        (WebKit::StorageManager::createSessionStorageNamespace):
10033        Take an optional allowed connection. (It can be null if the process has not finished launching).
10034
10035        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
10036        New function to set the allowed connection for a session storage namespace.
10037
10038        (WebKit::StorageManager::createStorageArea):
10039        Add another FIXME.
10040
10041        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
10042        Pass the connection to the SessionStorageNamespace constructor.
10043
10044        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
10045        Set the allowed connection.
10046
10047        * UIProcess/WebPageProxy.cpp:
10048        (WebKit::WebPageProxy::WebPageProxy):
10049        Pass the connection to createSessionStorageNamespace.
10050
10051        (WebKit::WebPageProxy::connectionWillOpen):
10052        Call setAllowedSessionStorageNamespaceConnection.
10053        
10054        (WebKit::WebPageProxy::connectionWillClose):
10055        Call setAllowedSessionStorageNamespaceConnection with a null connection.
10056
10057        * UIProcess/WebProcessProxy.cpp:
10058        (WebKit::WebProcessProxy::connectionWillOpen):
10059        Call connectionWillOpen on all pages.
10060
10061        (WebKit::WebProcessProxy::connectionWillClose):
10062        Call connectionWillClose on all pages.
10063
100642013-02-28  Anders Carlsson  <andersca@apple.com>
10065
10066        Implement more StorageAreaProxy member functions
10067        https://bugs.webkit.org/show_bug.cgi?id=111103
10068
10069        Reviewed by Sam Weinig.
10070
10071        * Shared/SecurityOriginData.cpp:
10072        (WebKit::SecurityOriginData::securityOrigin):
10073        * Shared/SecurityOriginData.h:
10074        Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
10075
10076        * WebProcess/Storage/StorageAreaProxy.cpp:
10077        (WebKit::StorageAreaProxy::key):
10078        Fill the storage map and call through to StorageMap::key.
10079
10080        (WebKit::StorageAreaProxy::contains):
10081        Fill the storage map and call through to StorageMap::contains.
10082
10083        (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
10084        Return 0; this matches StorageAreaImpl.
10085
100862013-02-28  Tim Horton  <timothy_horton@apple.com>
10087
10088        PDFPlugin: PDF orientation isn't respected when printing or print-previewing
10089        https://bugs.webkit.org/show_bug.cgi?id=110925
10090        <rdar://problem/13008621>
10091
10092        Reviewed by Alexey Proskuryakov.
10093
10094        * WebProcess/WebPage/mac/WebPageMac.mm:
10095        (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
10096        to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
10097
100982013-02-28  Sam Weinig  <sam@webkit.org>
10099
10100        Don't install unused XPCServices on Lion
10101        <rdar://problem/13264712>
10102
10103        Rubber-stamped by Anders Carlsson
10104
10105        * Configurations/BaseXPCService.xcconfig:
10106
101072013-02-28  David Kilzer  <ddkilzer@apple.com>
10108
10109        BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
10110
10111        * WebProcess/WebPage/WebPage.messages.in: Move
10112        SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
10113
101142013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
10115
10116        [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
10117
10118        * CMakeLists.txt:
10119        * GNUmakefile.list.am:
10120        * Target.pri:
10121        * WebProcess/Storage/StorageNamespaceProxy.cpp:
10122        (WebKit::StorageNamespaceProxy::copy):
10123
101242013-02-27  Zan Dobersek  <zdobersek@igalia.com>
10125
10126        Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
10127
10128        * CMakeLists.txt:
10129        * DerivedSources.pri:
10130        * GNUmakefile.list.am:
10131        * Target.pri:
10132
101332013-02-27  John Bauman  <jbauman@chromium.org>
10134
10135        Plugin in iframe may not display
10136        https://bugs.webkit.org/show_bug.cgi?id=109879
10137
10138        Reviewed by Simon Fraser.
10139
10140        Update geometry when cliprect changes.
10141
10142        * WebProcess/Plugins/PluginView.cpp:
10143        (WebKit::PluginView::clipRectChanged):
10144        * WebProcess/Plugins/PluginView.h:
10145
101462013-02-27  Jer Noble  <jer.noble@apple.com>
10147
10148        REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
10149        https://bugs.webkit.org/show_bug.cgi?id=111003
10150
10151        Reviewed by Anders Carlsson.
10152
10153        Also query the Page's pluginData when determining whether a given MIME type can be shown.
10154
10155        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10156        (WKBundlePageCanShowMIMEType):
10157        * WebProcess/WebPage/WebPage.cpp:
10158        (WebKit::WebPage::canShowMIMEType):
10159        * WebProcess/WebPage/WebPage.h:
10160
101612013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
10162
10163        Add smartInsertDeleteEnabled setting to WebCore::Page
10164        https://bugs.webkit.org/show_bug.cgi?id=107840
10165
10166        Reviewed by Ryosuke Niwa.
10167
10168        * Shared/WebPageCreationParameters.cpp:
10169        (WebKit::WebPageCreationParameters::encode):
10170        (WebKit::WebPageCreationParameters::decode): Remove code related to
10171        isSmartInsertDeleteEnabled.
10172        * Shared/WebPageCreationParameters.h:
10173        (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
10174        * Shared/WebPreferencesStore.h:
10175        (WebKit): Add macro for smartInsertDeleteEnabled setting.
10176        * UIProcess/API/C/WKPreferences.cpp:
10177        (WKPreferencesSetSmartInsertDeleteEnabled):
10178        (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
10179        new setting.
10180        * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
10181        * UIProcess/WebPageProxy.cpp:
10182        (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
10183        setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
10184        (WebKit::WebPageProxy::creationParameters): Remove usage of
10185        parameters.isSmartInsertDeleteEnabled.
10186        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
10187        (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
10188        all platforms.
10189        * WebProcess/WebPage/WebPage.cpp:
10190        (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
10191        initialization.
10192        (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
10193        setting.
10194        (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
10195        settings.
10196        (WebKit):
10197        (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
10198        settings.
10199        * WebProcess/WebPage/WebPage.h:
10200        (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
10201        platforms and remove m_isSmartInsertDeleteEnabled as it will be a
10202        setting.
10203
10204
102052013-02-27  Anders Carlsson  <andersca@apple.com>
10206
10207        More storage scaffolding
10208        https://bugs.webkit.org/show_bug.cgi?id=110997
10209
10210        Reviewed by Andreas Kling.
10211
10212        * DerivedSources.make:
10213        Add StorageAreaProxy.
10214        
10215        * UIProcess/Storage/StorageManager.cpp:
10216        (WebKit::StorageManager::setItem):
10217        Send back a DidSetItem message.
10218        
10219        * WebKit2.xcodeproj/project.pbxproj:
10220        Add generated files.
10221
10222        * WebProcess/Storage/StorageAreaProxy.cpp:
10223        (WebKit::StorageAreaProxy::StorageAreaProxy):
10224        Add the message receiver.
10225        
10226        (WebKit::StorageAreaProxy::~StorageAreaProxy):
10227        Remove the message receiver.
10228        
10229        (WebKit::StorageAreaProxy::didSetItem):
10230        add stub.
10231
10232        * WebProcess/Storage/StorageAreaProxy.h:
10233        (StorageAreaProxy):
10234        * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
10235
102362013-02-27  Sam Weinig  <sam@webkit.org>
10237
10238        REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
10239        <rdar://problem/13229828>
10240
10241        Reviewed by Dan Bernstein.
10242
10243        Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
10244        unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
10245        GPU.
10246
10247        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
10248        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
10249        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
10250        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
10251        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
10252        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
10253        Add NSSupportsAutomaticGraphicsSwitching YES.
10254
10255        * WebKit2.xcodeproj/project.pbxproj:
10256        Re-add the PluginService.32-64.Info.plist plist to the project file.
10257
102582013-02-26  Alexey Proskuryakov  <ap@apple.com>
10259
10260        Don't add a body to platform request until necessary
10261        https://bugs.webkit.org/show_bug.cgi?id=110900
10262
10263        Reviewed by Brady Eidson.
10264
10265        * NetworkProcess/NetworkResourceLoader.cpp:
10266        (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
10267        is no way for the client to change it.
10268
10269        * Shared/Downloads/mac/DownloadMac.mm:
10270        (WebKit::Download::start):
10271        (WebKit::Download::startWithHandle):
10272        Pass UpdateHTTPBody when passing a request to NSURLConnection.
10273
10274        * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
10275        Never serialize the request body. It's slow, and sometimes impossible, so just
10276        keeping things consistent.
10277
10278        * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
10279        Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
10280
10281        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
10282        (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
10283
10284        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
10285        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
10286        Restore existing body after a client call..
10287
10288        * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
10289        Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
10290
102912013-02-27  Glenn Adams  <glenn@skynav.com>
10292
10293        Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
10294        https://bugs.webkit.org/show_bug.cgi?id=110944
10295
10296        Reviewed by Dean Jackson.
10297
10298        * Configurations/FeatureDefines.xcconfig:
10299
103002013-02-27  Michael Brüning  <michael.bruning@digia.com>
10301
10302        [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
10303        https://bugs.webkit.org/show_bug.cgi?id=108952
10304
10305        Reviewed by Simon Hausmann.
10306
10307        Signed off for WebKit2 by Benjamin Poulain.
10308
10309        This patch moves the view classes and preferences in the Qt API
10310        to use the C API for accessing and manipulating preferences as
10311        part of the cleanup and move towards using the C API as base for
10312        the Qt WebKit2 API.
10313
10314        Adds the function WebKit::adoptToQString for convenience when
10315        dealing with QString and copied String objects.
10316
10317        Removes the ScrollAnimatorEnabled options from QWebPreferences.
10318
10319        * UIProcess/API/cpp/qt/WKStringQt.cpp:
10320        (WebKit::adoptToQString):
10321        * UIProcess/API/cpp/qt/WKStringQt.h:
10322        (WebKit):
10323        * UIProcess/API/qt/qquickwebview.cpp:
10324        (QQuickWebViewPrivate::initialize):
10325        * UIProcess/API/qt/qwebpreferences.cpp:
10326        (QWebPreferencesPrivate::testAttribute):
10327        (QWebPreferencesPrivate::setAttribute):
10328        (QWebPreferencesPrivate::setFontFamily):
10329        (QWebPreferencesPrivate::fontFamily):
10330        (QWebPreferencesPrivate::setFontSize):
10331        (QWebPreferencesPrivate::fontSize):
10332        * UIProcess/API/qt/qwebpreferences_p.h:
10333        * UIProcess/API/qt/qwebpreferences_p_p.h:
10334
103352013-02-26  Anders Carlsson  <andersca@apple.com>
10336
10337        Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
10338        https://bugs.webkit.org/show_bug.cgi?id=110927
10339
10340        Reviewed by Sam Weinig.
10341
10342        * UIProcess/Storage/StorageManager.cpp:
10343        (WebKit::StorageManager::setItem):
10344        * UIProcess/Storage/StorageManager.h:
10345        Add empty stub.
10346        
10347        * UIProcess/Storage/StorageManager.messages.in:
10348        Add SetItem message.
10349
10350        * WebProcess/Storage/StorageAreaProxy.cpp:
10351        (WebKit::StorageAreaProxy::getItem):
10352        Fill the storage map and get the item from it.
10353
10354        (WebKit::StorageAreaProxy::setItem):
10355        Update the storage map and send a SetItem message to the UI process.
10356
103572013-02-26  Anders Carlsson  <andersca@apple.com>
10358
10359        StorageAreaProxy should hold on to a StorageMap and not a HashMap
10360        https://bugs.webkit.org/show_bug.cgi?id=110919
10361
10362        Reviewed by Jessie Berlin.
10363
10364        Create a storage map instead of a hash map.
10365
10366        * WebProcess/Storage/StorageAreaProxy.cpp:
10367        (WebKit::StorageAreaProxy::length):
10368        (WebKit::StorageAreaProxy::loadValuesIfNeeded):
10369        * WebProcess/Storage/StorageAreaProxy.h:
10370        (WebCore):
10371        (StorageAreaProxy):
10372
103732013-02-26  Anders Carlsson  <andersca@apple.com>
10374
10375        Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
10376        https://bugs.webkit.org/show_bug.cgi?id=110914
10377        <rdar://problem/13297581>
10378
10379        Reviewed by Beth Dakin.
10380
10381        Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
10382
10383        * UIProcess/WebLoaderClient.cpp:
10384        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
10385
103862013-02-26  Jer Noble  <jer.noble@apple.com>
10387
10388        Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
10389
10390        * Configurations/FeatureDefines.xcconfig:
10391
103922013-02-26  Manuel Rego Casasnovas  <rego@igalia.com>
10393
10394        [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
10395        https://bugs.webkit.org/show_bug.cgi?id=110869
10396
10397        Reviewed by Martin Robinson.
10398
10399        Test was failing because of new media controls needs more space to be
10400        painted than just 10x10 pixels.
10401
10402        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
10403        (testContextMenuDefaultMenu): Modified test in order to give more space
10404        to the media controls.
10405
104062013-02-26  Dean Jackson  <dino@apple.com>
10407
10408        Draw intermediate snapshots if possible
10409        https://bugs.webkit.org/show_bug.cgi?id=110811
10410
10411        Reviewed by Simon Fraser.
10412
10413        After http://webkit.org/b/110495 we delayed snapshotting until we've
10414        received a nice image, but this made the page look like it is broken.
10415        We should draw any intermediate snapshots that we find, which might
10416        include content such as progress bars/spinners.
10417
10418        * WebProcess/Plugins/PluginView.cpp:
10419        (WebKit): Reinstate 60 attempts at snapshots before giving up.
10420        (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
10421        want accelerated compositing enabled when we are trying to capture
10422        snapshots.
10423
104242013-02-26  Andras Becsi  <andras.becsi@digia.com>
10425
10426        Remove nonexistent StringPairVector.h from Target.pri after r142839
10427
10428        Unreviewed gardening.
10429
10430        * Target.pri:
10431
104322013-02-26  Simon Hausmann  <simon.hausmann@digia.com>
10433
10434        Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
10435
10436        Add an intermediate pluginName string variable instead of
10437        accessing plugin.info outside the feature #ifdef.
10438
10439        * UIProcess/WebPageProxy.cpp:
10440        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
10441
104422013-02-25  Huang Dongsung  <luxtella@company100.net>
10443
10444        Coordinated Graphics: remove redundant update of non compositing layer.
10445        https://bugs.webkit.org/show_bug.cgi?id=110444
10446
10447        Reviewed by Noam Rosenthal.
10448
10449        Currently, we update non compositing layer when the page scrolled. However, it
10450        is not needed, because TiledBackingStore can scroll without tile update.
10451
10452        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
10453        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
10454        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
10455        (CoordinatedLayerTreeHost):
10456
104572013-02-25  Jer Noble  <jer.noble@apple.com>
10458
10459        REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
10460        https://bugs.webkit.org/show_bug.cgi?id=110848
10461
10462        Reviewed by Ryosuke Niwa.
10463
10464        NULL-check the result of document->documentElement().
10465
10466        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10467        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
10468
104692013-02-25  Anders Carlsson  <andersca@apple.com>
10470
10471        Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
10472        https://bugs.webkit.org/show_bug.cgi?id=110821
10473
10474        Reviewed by Beth Dakin.
10475
10476        * UIProcess/API/C/WKPage.cpp:
10477        (WKPageGetPluginInformationPluginspageAttributeURLKey):
10478        (WKPageGetPluginInformationPluginURLKey):
10479        Add two new API key getters.
10480        
10481        * UIProcess/API/C/WKPage.h:
10482        Add a new callback and deprecate the old callback.
10483        
10484        * UIProcess/WebLoaderClient.cpp:
10485        (WebKit::WebLoaderClient::didFailToInitializePlugin):
10486        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
10487        (WebKit::WebLoaderClient::pluginLoadPolicy):
10488        Make the pluginInformationDictionary a static member function of WebPageProxy so it
10489        can be called from WebUIClient as well.
10490        
10491        * UIProcess/WebPageProxy.cpp:
10492        (WebKit::WebPageProxy::getPluginPath):
10493        Pass the bundle version as well.
10494
10495        (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
10496        (WebKit::WebPageProxy::pluginInformationPluginURLKey):
10497        Add two new keys.
10498
10499        (WebKit::WebPageProxy::pluginInformationDictionary):
10500        Handle more keys.
10501
10502        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
10503        Get the plug-in bundle identifier and version.
10504
10505        * UIProcess/WebPageProxy.messages.in:
10506        Pass along more information; the frame and page URLs.
10507
10508        * UIProcess/WebUIClient.cpp:
10509        (WebKit::WebUIClient::unavailablePluginButtonClicked):
10510        Call the new callback if it's supported.
10511
10512        * UIProcess/WebUIClient.h:
10513        (WebUIClient):
10514        * UIProcess/mac/WebInspectorProxyMac.mm:
10515        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
10516        Update for API changes.
10517
10518        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10519        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
10520        Ensure that the pluginspage attribute is a valid URL.
10521
105222013-02-21  Jeffrey Pfau  <jpfau@apple.com>
10523
10524        Optionally partition cache to prevent using cache for tracking
10525        https://bugs.webkit.org/show_bug.cgi?id=110269
10526
10527        Reviewed by Maciej Stachowiak.
10528
10529        Update WKSI bindings and add feature defines.
10530
10531        * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
10532        * WebCoreSupport/WebSystemInterface.mm:
10533        (InitWebCoreSystemInterface):
10534
105352013-02-25  Jer Noble  <jer.noble@apple.com>
10536
10537        Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
10538        https://bugs.webkit.org/show_bug.cgi?id=110806
10539
10540        Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
10541
10542        Reviewed by Alexey Proskuryakov.
10543
10544        * Configurations/FeatureDefines.xcconfig:
10545
105462013-02-25  Jer Noble  <jer.noble@apple.com>
10547
10548        Full screen mode should not exit when application resigns active state.
10549        https://bugs.webkit.org/show_bug.cgi?id=106129
10550
10551        Reviewed by Darin Adler.
10552
10553        Now that full screen windows get their own full screen space, there is no reason to exit full
10554        screen mode when the application resigns active state. Instead, the windowserver will bring the
10555        space containing the newly active application to the foreground. The user can then swipe back
10556        to the full screen space (or use Mission Control) to get back to the full screen window.
10557
10558        * UIProcess/mac/WKFullScreenWindowController.mm:
10559        (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
10560
105612013-02-25  Jer Noble  <jer.noble@apple.com>
10562
10563        Safari shows empty window and paints webpage in full-screen background
10564        https://bugs.webkit.org/show_bug.cgi?id=103712
10565
10566        Reviewed by Darin Adler.
10567
10568        When canceling full screen mode due to a provisional load, exit normally instead of closing the
10569        full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
10570        frame around a full screen iframe is navigated, check to see if the navigating document contains
10571        a full screen element, rather than checking whether the document itself is full screen.
10572
10573        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10574        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
10575
105762013-02-25  Anders Carlsson  <andersca@apple.com>
10577
10578        Fix build.
10579
10580        * UIProcess/WebPageProxy.cpp:
10581        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
10582
105832013-02-25  Anders Carlsson  <andersca@apple.com>
10584
10585        Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
10586        https://bugs.webkit.org/show_bug.cgi?id=110793
10587        <rdar://problem/13265303>
10588
10589        Reviewed by Sam Weinig.
10590
10591        Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
10592        frame and page URLs.
10593
10594        * UIProcess/API/C/WKPage.h:
10595        * UIProcess/WebLoaderClient.cpp:
10596        (WebKit::pluginInformationDictionary):
10597        (WebKit::WebLoaderClient::didFailToInitializePlugin):
10598        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
10599        (WebKit::WebLoaderClient::pluginLoadPolicy):
10600        * UIProcess/WebLoaderClient.h:
10601        * UIProcess/WebPageProxy.cpp:
10602        (WebKit::WebPageProxy::didFailToInitializePlugin):
10603        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
10604        * UIProcess/WebPageProxy.h:
10605        * UIProcess/WebPageProxy.messages.in:
10606        * WebProcess/Plugins/PluginView.cpp:
10607        (WebKit::PluginView::didFailToInitializePlugin):
10608        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10609        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
10610        * WebProcess/WebPage/WebPage.cpp:
10611        (WebKit::WebPage::createPlugin):
10612
106132013-02-25  Tim Horton  <timothy_horton@apple.com>
10614
10615        PDFPlugin: Tab between text annotations
10616        https://bugs.webkit.org/show_bug.cgi?id=106539
10617        <rdar://problem/12751789>
10618
10619        Reviewed by Darin Adler.
10620
10621        Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
10622
10623        Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
10624
10625        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
10626        * WebProcess/Plugins/PDF/PDFPlugin.h:
10627        (PDFPlugin): Add focus(Next|Previous)Annotation.
10628        * WebProcess/Plugins/PDF/PDFPlugin.mm:
10629        (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
10630        (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
10631        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
10632        (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
10633        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
10634        (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
10635        (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
10636        (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
10637        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
10638        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
10639        (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
10640        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
10641        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
10642        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
10643        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
10644        (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
10645        (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
10646        (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
10647        the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
10648
106492013-02-25  Alexey Proskuryakov  <ap@apple.com>
10650
10651        <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
10652
10653        Reviewed by Anders Carlsson.
10654
10655        * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
10656        have a "WebProcessService".
10657
106582013-02-25  Andras Becsi  <andras.becsi@digia.com>
10659
10660        [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
10661        https://bugs.webkit.org/show_bug.cgi?id=110751
10662
10663        Reviewed by Jocelyn Turcotte.
10664
10665        This is a clean-up in the PageViewportController clients that removes leftover
10666        code from previous design that is partially unused and unnecessary, to simplify
10667        the interaction between PageViewportController and clients.
10668
10669        * UIProcess/PageViewportController.cpp:
10670        (WebKit::PageViewportController::resumeContent):
10671        * UIProcess/PageViewportControllerClient.h:
10672        (PageViewportControllerClient):
10673        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
10674        * UIProcess/efl/PageViewportControllerClientEfl.h:
10675        (PageViewportControllerClientEfl):
10676        * UIProcess/qt/PageViewportControllerClientQt.cpp:
10677        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
10678        (WebKit::PageViewportControllerClientQt::flickMoveEnded):
10679        (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
10680        (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
10681        * UIProcess/qt/PageViewportControllerClientQt.h:
10682        (PageViewportControllerClientQt):
10683
106842013-02-25  Andreas Kling  <akling@apple.com>
10685
10686        Reduce amount of code that includes StylePropertySet.h
10687        <http://webkit.org/b/101149>
10688
10689        Reviewed by Antti Koivisto.
10690
10691        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
10692
106932013-02-24  Andreas Kling  <akling@apple.com>
10694
10695        Reduce include graph of JSDOMBinding.h
10696        <http://webkit.org/b/110709>
10697
10698        Reviewed by Antti Koivisto.
10699
10700        * Shared/WebRenderObject.cpp:
10701        (WebKit::WebRenderObject::WebRenderObject):
10702        * WebProcess/Storage/StorageAreaProxy.cpp:
10703
107042013-02-22  Sam Weinig  <sam@webkit.org>
10705
10706        Add temporary work around for 32-bit plugins not working in production builds as XPCServices
10707        https://bugs.webkit.org/show_bug.cgi?id=110680
10708        <rdar://problem/13236883>
10709
10710        Reviewed by Anders Carlsson.
10711
10712        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
10713        (WebKit::shouldUseXPC):
10714        Temporarily don't use XPC for plug-ins for Safari while we figure out why the
10715        32-bit XPCService is being built universal.
10716
107172013-02-22  Tim Horton  <timothy_horton@apple.com>
10718
10719        [WK2] The root and page overlay layers should be the size of the view, not the content
10720        https://bugs.webkit.org/show_bug.cgi?id=110660
10721        <rdar://problem/13096456>
10722
10723        Reviewed by Simon Fraser.
10724
10725        Use the view size for the size of the root and page overlay layers.
10726        For one, we never update these layers' sizes when the content size changes, causing size mismatches.
10727        In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
10728
10729        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
10730        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
10731        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
10732
107332013-02-22  Anders Carlsson  <andersca@apple.com>
10734
10735        pluginLoadStrategy should take a WKDictionaryRef for extensibility
10736        https://bugs.webkit.org/show_bug.cgi?id=110656
10737        <rdar://problem/13265303>
10738
10739        Reviewed by Jessie Berlin.
10740
10741        Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
10742        this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
10743
10744        * UIProcess/API/C/WKPage.cpp:
10745        (WKPageGetPluginInformationBundleIdentifierKey):
10746        (WKPageGetPluginInformationBundleVersionKey):
10747        (WKPageGetPluginInformationDisplayNameKey):
10748        (WKPageGetPluginInformationFrameURLKey):
10749        (WKPageGetPluginInformationMIMETypeKey):
10750        (WKPageGetPluginInformationPageURLKey):
10751        * UIProcess/API/C/WKPage.h:
10752        * UIProcess/WebLoaderClient.cpp:
10753        (WebKit):
10754        (WebKit::WebLoaderClient::pluginLoadPolicy):
10755        * UIProcess/WebLoaderClient.h:
10756        (WebLoaderClient):
10757        * UIProcess/WebPageProxy.cpp:
10758        (WebKit::WebPageProxy::getPluginPath):
10759        (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
10760        (WebKit):
10761        (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
10762        (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
10763        (WebKit::WebPageProxy::pluginInformationFrameURLKey):
10764        (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
10765        (WebKit::WebPageProxy::pluginInformationPageURLKey):
10766        * UIProcess/WebPageProxy.h:
10767        (WebPageProxy):
10768        * UIProcess/WebPageProxy.messages.in:
10769        * WebProcess/WebPage/WebPage.cpp:
10770        (WebKit::WebPage::createPlugin):
10771        (WebKit::WebPage::canPluginHandleResponse):
10772
107732013-02-22  Anders Carlsson  <andersca@apple.com>
10774
10775        Move pluginLoadPolicy to the page loader client
10776        https://bugs.webkit.org/show_bug.cgi?id=110635
10777        <rdar://problem/13265303>
10778        
10779        Reviewed by Sam Weinig.
10780
10781        Move the pluginLoadPolicy callback to the page loader client where it belongs.
10782
10783        * UIProcess/API/C/WKPage.h:
10784        * UIProcess/WebLoaderClient.cpp:
10785        (WebKit::toWKPluginLoadPolicy):
10786        (WebKit):
10787        (WebKit::toPluginModuleLoadPolicy):
10788        (WebKit::WebLoaderClient::pluginLoadPolicy):
10789        * UIProcess/WebLoaderClient.h:
10790        (WebLoaderClient):
10791        * UIProcess/WebPageProxy.cpp:
10792        (WebKit::WebPageProxy::getPluginPath):
10793        * UIProcess/WebUIClient.cpp:
10794        (WebKit):
10795        * UIProcess/WebUIClient.h:
10796        (WebUIClient):
10797        * UIProcess/mac/WebInspectorProxyMac.mm:
10798        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
10799
108002013-02-21  Jer Noble  <jer.noble@apple.com>
10801
10802        Two video contollers appear after exiting the fullscreen video when using menubar to exit.
10803        https://bugs.webkit.org/show_bug.cgi?id=110506
10804
10805        Reviewed by Eric Carlson.
10806
10807        When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
10808        call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
10809        tearing down the fullscreen state.
10810
10811        * UIProcess/mac/WKFullScreenWindowController.mm:
10812        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
10813
108142013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
10815
10816        Yet another unreviewed buildfix after r143714.
10817
10818        * UIProcess/efl/WebView.cpp:
10819        (WebKit::WebView::paintToCairoSurface):
10820
108212013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
10822
10823        Unreviewed preventive buildfix after my last commit.
10824
10825        * UIProcess/API/efl/EwkView.cpp:
10826        * UIProcess/efl/WebView.cpp:
10827
108282013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
10829
10830        [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
10831        https://bugs.webkit.org/show_bug.cgi?id=109824
10832
10833        Reviewed by Andreas Kling.
10834
10835        Avoid ugly ifdefs by using PlatformGraphicsContext.
10836
10837        * UIProcess/API/efl/EwkView.cpp:
10838        (EwkView::displayTimerFired):
10839
108402013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10841
10842        [WK2][EFL] Remove declaration of non-existent functions from EwkView
10843        https://bugs.webkit.org/show_bug.cgi?id=110572
10844
10845        Reviewed by Kenneth Rohde Christiansen.
10846
10847        Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
10848        EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
10849        left at r143699.
10850
10851        * UIProcess/API/efl/EwkView.h:
10852        (EwkView):
10853
108542013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10855
10856        [WK2][EFL] Clean up PageViewportControllerClientEfl class
10857        https://bugs.webkit.org/show_bug.cgi?id=110438
10858
10859        Reviewed by Andreas Kling.
10860
10861        Cleaned up PageViewportControllerClientEfl class from unused methods
10862        and class members, eliminated access to WK2 internals from this class.
10863
10864        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
10865        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
10866        * UIProcess/efl/PageViewportControllerClientEfl.h:
10867        (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
10868        (PageViewportControllerClientEfl):
10869        * UIProcess/efl/WebView.cpp:
10870        (WebKit::WebView::WebView):
10871        (WebKit::WebView::updateViewportSize):
10872
108732013-02-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
10874
10875        [WK2][EFL][GTK][Qt] Add context menu item tags for C API
10876        https://bugs.webkit.org/show_bug.cgi?id=109815
10877
10878        Reviewed by Anders Carlsson.
10879
10880        This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
10881        WebCore to WK2 C API.
10882
10883        * Shared/API/c/WKContextMenuItemTypes.h:
10884        * Shared/API/c/WKSharedAPICast.h:
10885        (WebKit::toAPI):
10886        (WebKit::toImpl):
10887
108882013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10889
10890        [WK2][EFL] Move AC code from EwkView to WebView
10891        https://bugs.webkit.org/show_bug.cgi?id=110216
10892
10893        Reviewed by Anders Carlsson.
10894
10895        Accelerated compositing code is moved from EwkView to WebView.
10896        Added new WKView API to be used from EwkView instead of direct accessing
10897        to coordinated graphics scene.
10898
10899        * UIProcess/API/C/efl/WKView.cpp:
10900        (WKViewSetUserViewportTranslation):
10901        (WKViewUserViewportToContents):
10902        (WKViewPaintToCurrentGLContext):
10903        (WKViewPaintToCairoSurface):
10904        * UIProcess/API/C/efl/WKView.h:
10905
10906            Added WKView API functions.
10907
10908        * UIProcess/API/efl/EwkView.cpp:
10909        (EwkView::EwkView):
10910        (EwkView::displayTimerFired):
10911        (EwkView::feedTouchEvent):
10912        (EwkView::createGLSurface):
10913        (EwkView::handleEvasObjectCalculate):
10914        (EwkView::handleEwkViewMouseWheel):
10915        (EwkView::handleEwkViewMouseDown):
10916        (EwkView::handleEwkViewMouseUp):
10917        (EwkView::handleEwkViewMouseMove):
10918        * UIProcess/API/efl/EwkView.h:
10919        (EwkView):
10920
10921            Using new WKView API.
10922
10923        * UIProcess/efl/WebView.cpp:
10924        (WebKit::WebView::initialize):
10925        (WebKit):
10926        (WebKit::WebView::paintToCurrentGLContext):
10927        (WebKit::WebView::paintToCairoSurface):
10928        (WebKit::WebView::userViewportToContents):
10929        (WebKit::WebView::transformFromScene):
10930        (WebKit::WebView::transformToScene):
10931        (WebKit::WebView::coordinatedGraphicsScene):
10932        (WebKit::WebView::enterAcceleratedCompositingMode):
10933        (WebKit::WebView::exitAcceleratedCompositingMode):
10934        * UIProcess/efl/WebView.h:
10935        (WebCore):
10936        (WebKit::WebView::setUserViewportTranslation):
10937        (WebView):
10938
10939            Added WebView methods to support new WKView API.
10940
109412013-02-21  Dima Gorbik  <dgorbik@apple.com>
10942
10943        QuickTime plugin doesn't load when accelerated compositing is disabled
10944        https://bugs.webkit.org/show_bug.cgi?id=110534
10945
10946        Reviewed by Anders Carlsson.
10947
10948        We shouldn't disable accelerated compositing for plugins, because
10949        plugins such as QuickTime rely on this and will try to set other drawing
10950        models that we don't support.
10951
10952        * WebProcess/Plugins/PluginView.cpp:
10953        (WebKit::PluginView::isAcceleratedCompositingEnabled):
10954
109552013-02-21  Dean Jackson  <dino@apple.com>
10956
10957        Plug-in snapshotting code always accepts first snapshot
10958        https://bugs.webkit.org/show_bug.cgi?id=110495
10959
10960        Reviewed by Tim Horton.
10961
10962        When we detect a plugin that can be snapshotted we start capturing
10963        images until we find one that we believe isn't blank, or we timeout.
10964        I introduced a regression recently where we swap renderers as
10965        soon as the snapshot arrives, whether or not is is blank.
10966
10967        The fix was to have the embedder (currently only WK2) be the one
10968        who tells the HTMLPlugInElement to start displaying snapshots.
10969
10970        * WebProcess/Plugins/PluginView.cpp:
10971        (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
10972        snapshot that we like, tell the HTMLPlugInElement to move to
10973        the snapshot view.
10974
109752013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
10976
10977        Unreviewed. Fix make distcheck.
10978
10979        * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
10980        scanner.
10981        * GNUmakefile.list.am: Add missing header to compilation and
10982        remove one that no longer exists.
10983
109842013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
10985
10986        [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
10987        https://bugs.webkit.org/show_bug.cgi?id=110345
10988
10989        Reviewed by Andreas Kling.
10990
10991        WebView does not need to know about both PageViewportController and 
10992        PageViewportControllerClientEfl. Considering the fact that PageViewportController
10993        will stop being WK2 internal and will be based on WK2 C API, it 
10994        should be owned by EwkView rather than WebView.
10995
10996        This patch is also a preparation for WKViewClient API extension to cover all
10997        the places where PageViewportController and PageViewportControllerClientEfl
10998        are accessed directly from WebView at the moment.
10999
11000        * UIProcess/API/efl/EwkView.cpp:
11001        (EwkView::EwkView):
11002        * UIProcess/API/efl/EwkView.h:
11003        (WebKit):
11004        (EwkView::pageViewportControllerClient):
11005        (EwkView::pageViewportController):
11006        (EwkView):
11007        * UIProcess/efl/WebView.cpp:
11008        (WebKit::WebView::didCommitLoad):
11009        (WebKit::WebView::updateViewportSize):
11010        (WebKit::WebView::didChangeContentsSize):
11011        (WebKit::WebView::didChangeViewportProperties):
11012        (WebKit::WebView::pageDidRequestScroll):
11013        (WebKit::WebView::didRenderFrame):
11014        (WebKit::WebView::pageTransitionViewportReady):
11015        * UIProcess/efl/WebView.h:
11016        (WebView):
11017
110182013-02-20  Tim Horton  <timothy_horton@apple.com>
11019
11020        Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
11021        https://bugs.webkit.org/show_bug.cgi?id=110415
11022        <rdar://problem/13095405>
11023
11024        Reviewed by Simon Fraser.
11025
11026        * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
11027        (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
11028        when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
11029        (-[WKView beginDeferringViewInWindowChanges]):
11030        (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
11031        have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
11032        the in-window state has actually changed.
11033        (-[WKView isDeferringViewInWindowChanges]):
11034        * UIProcess/API/mac/WKViewPrivate.h: 
11035
110362013-02-20  Kiran Muppala  <cmuppala@apple.com>
11037
11038        Disable window occlusion notifications for App Store on Mac.
11039        https://bugs.webkit.org/show_bug.cgi?id=110417
11040
11041        Reviewed by Simon Fraser.
11042
11043        Temporary fix to workaround issues with window occlusion notifications
11044        in App Store.
11045
11046        * UIProcess/API/mac/WKView.mm:
11047        (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
11048        if the main bundle identifier matches that of App Store.
11049
110502013-02-20  Mark Rowe  <mrowe@apple.com>
11051
11052        <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
11053
11054        This is the modern mechanism for applying entitlements to production builds,
11055        and it simplifies the maintenance of entitlements going forward. It also allows
11056        us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
11057
11058        Reviewed by Alexey Proskuryakov.
11059
11060        * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
11061        * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
11062        * Configurations/PluginService.32.xcconfig: Ditto.
11063        * Configurations/PluginService.64.xcconfig: Ditto.
11064        * Configurations/PluginService.Development.xcconfig: Ditto.
11065        * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
11066        Move the entitlements in to the Configurations directory to make them easier to find.
11067        * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
11068        in the script is not an issue with current versions of Xcode. If we see it again we can come
11069        up with a workaround that doesn't involve performing the signing via a script phase.
11070        * WebKit2.xcodeproj/project.pbxproj:
11071
110722013-02-20  Mark Rowe  <mrowe@apple.com>
11073
11074        <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
11075
11076        Reviewed by Dan Bernstein.
11077
11078        The only difference between the plists was the CFBundleIdentifier. Since the values are the
11079        same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
11080
11081        * Configurations/PluginService.32.xcconfig:
11082        * Configurations/PluginService.64.xcconfig:
11083        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
11084        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
11085
110862013-02-20  Simon Fraser  <simon.fraser@apple.com>
11087
11088        Zoomed, slow-scrolling pages keep recreating tiles when scrolled
11089        https://bugs.webkit.org/show_bug.cgi?id=110379
11090
11091        Reviewed by Tim Horton.
11092
11093        Make the visible rect and exposed rects passed through
11094        the drawing area to the tile cache FloatRects instead of IntRects.
11095
11096        * UIProcess/API/mac/WKView.mm:
11097        (-[WKView setFrameSize:]):
11098        (-[WKView _updateWindowAndViewFrames]):
11099        (-[WKView enableFrameSizeUpdates]):
11100        (-[WKView setMinimumWidthForAutoLayout:]):
11101        * UIProcess/WebPageProxy.h:
11102        * UIProcess/mac/WebPageProxyMac.mm:
11103        (WebKit::WebPageProxy::viewExposedRectChanged):
11104        * WebProcess/WebPage/DrawingArea.h:
11105        (WebKit::DrawingArea::setExposedRect):
11106        * WebProcess/WebPage/WebPage.cpp:
11107        (WebKit::WebPage::viewExposedRectChanged):
11108        * WebProcess/WebPage/WebPage.h:
11109        * WebProcess/WebPage/WebPage.messages.in:
11110        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11111        (TiledCoreAnimationDrawingArea):
11112        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11113        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
11114
111152013-02-20  Dirk Schulze  <krit@webkit.org>
11116
11117        Enable CANVAS_PATH flag
11118        https://bugs.webkit.org/show_bug.cgi?id=108508
11119
11120        Reviewed by Simon Fraser.
11121
11122        Enable CANVAS_PATH flag on trunk.
11123
11124        * Configurations/FeatureDefines.xcconfig:
11125
111262013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
11127
11128        Remove unnecessary includes for Platform.h from headers
11129        https://bugs.webkit.org/show_bug.cgi?id=110300
11130
11131        Reviewed by Alexey Proskuryakov.
11132
11133        wtf/Platform.h only need to be included in a few places directly    
11134        as it is included in config.h. Remove the unnecessay duplicate as    
11135        it can be confusing.
11136
11137        * Shared/PrintInfo.h:
11138
111392013-02-20  Huang Dongsung  <luxtella@company100.net>
11140
11141        [WK2] Remove m_viewportSize in WebPage.
11142        https://bugs.webkit.org/show_bug.cgi?id=110311
11143
11144        Reviewed by Anders Carlsson.
11145
11146        EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
11147        size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
11148        size.
11149
11150        EFL and Qt use m_viewSize as a contents size because the size of non compositing
11151        layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
11152        using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
11153        necessary to know m_viewSize when marking whole non compositing layer as dirty.
11154        So we can make EFL and Qt use m_viewSize as a viewport size also.
11155
11156        This patch removes m_viewportSize and related methods to increase readability.
11157
11158        * UIProcess/API/qt/raw/qrawwebview.cpp:
11159        (QRawWebView::setSize):
11160        * UIProcess/PageViewportController.cpp:
11161        (WebKit::PageViewportController::didChangeViewportSize):
11162        * UIProcess/WebPageProxy.cpp:
11163        (WebKit):
11164        * UIProcess/WebPageProxy.h:
11165        (WebPageProxy):
11166        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11167        (WebKit::WebChromeClient::pageRect):
11168        (WebKit::WebChromeClient::contentsSizeChanged):
11169        * WebProcess/WebPage/DrawingAreaImpl.cpp:
11170        (WebKit::DrawingAreaImpl::updateBackingStoreState):
11171        * WebProcess/WebPage/WebPage.cpp:
11172        (WebKit::WebPage::setSize):
11173        (WebKit::WebPage::sendViewportAttributesChanged):
11174        * WebProcess/WebPage/WebPage.h:
11175        (WebPage):
11176        * WebProcess/WebPage/WebPage.messages.in:
11177
111782013-02-20  Huang Dongsung  <luxtella@company100.net>
11179
11180        [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
11181        https://bugs.webkit.org/show_bug.cgi?id=110299
11182
11183        Reviewed by Anders Carlsson.
11184
11185        Currently, we call setNeedsDisplay with the size of WebPage to mark whole
11186        backing store as dirty. However, the size of non compositing layer can be
11187        inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
11188        size of non compositing layer is contents size.
11189
11190        So, WebPage should not assume the size of non compositing layer, and should just
11191        call setNeedsDisplay when marking whole layer as dirty.
11192
11193        In addition, this patch renames from setNeedsDisplay() with a rect argument to
11194        setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
11195
11196        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11197        (WebKit::WebChromeClient::invalidateContentsAndRootView):
11198        (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
11199        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11200        (WebKit::WebFrameLoaderClient::restoreViewState):
11201        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
11202        (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
11203        (WebKit):
11204        (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
11205        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
11206        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
11207        (CoordinatedLayerTreeHost):
11208        * WebProcess/WebPage/DrawingArea.h:
11209        (DrawingArea):
11210        * WebProcess/WebPage/DrawingAreaImpl.cpp:
11211        (WebKit::DrawingAreaImpl::setNeedsDisplay):
11212        (WebKit):
11213        (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
11214        (WebKit::DrawingAreaImpl::scroll):
11215        (WebKit::DrawingAreaImpl::forceRepaint):
11216        (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
11217        (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
11218        (WebKit::DrawingAreaImpl::resumePainting):
11219        * WebProcess/WebPage/DrawingAreaImpl.h:
11220        (DrawingAreaImpl):
11221        * WebProcess/WebPage/LayerTreeHost.h:
11222        (LayerTreeHost):
11223        * WebProcess/WebPage/WebPage.cpp:
11224        (WebKit::WebPage::setSize):
11225        (WebKit::WebPage::setDrawsBackground):
11226        (WebKit::WebPage::setDrawsTransparentBackground):
11227        (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
11228        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
11229        (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
11230        (WebKit):
11231        (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
11232        (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
11233        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
11234        (LayerTreeHostGtk):
11235        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
11236        (LayerTreeHostMac):
11237        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
11238        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
11239        (WebKit):
11240        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
11241        (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
11242        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
11243        (RemoteLayerTreeDrawingArea):
11244        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
11245        (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
11246        (WebKit):
11247        (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
11248        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11249        (TiledCoreAnimationDrawingArea):
11250        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11251        (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
11252        (WebKit):
11253        (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
11254
112552013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11256
11257        [EFL][WK2] Port EwkPopupMenuItem to the C API
11258        https://bugs.webkit.org/show_bug.cgi?id=108798
11259
11260        Reviewed by Kenneth Rohde Christiansen.
11261
11262        Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
11263        dependency on internal WebPopupItem type. Eina shared string members
11264        are now lazily initialized to make the object cheaper to construct.
11265
11266        * UIProcess/API/efl/ewk_popup_menu.cpp:
11267        (EwkPopupMenu::EwkPopupMenu):
11268        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
11269        (EwkPopupMenuItem::EwkPopupMenuItem):
11270        (EwkPopupMenuItem::type):
11271        (EwkPopupMenuItem::textDirection):
11272        (EwkPopupMenuItem::text):
11273        (EwkPopupMenuItem::tooltipText):
11274        (EwkPopupMenuItem::accessibilityText):
11275        (EwkPopupMenuItem::hasTextDirectionOverride):
11276        (EwkPopupMenuItem::isEnabled):
11277        (EwkPopupMenuItem::isLabel):
11278        (EwkPopupMenuItem::isSelected):
11279        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
11280        (EwkPopupMenuItem::create):
11281        (EwkPopupMenuItem):
11282
112832013-02-19  Tim Horton  <timothy_horton@apple.com>
11284
11285        Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
11286        https://bugs.webkit.org/show_bug.cgi?id=110261
11287        <rdar://problem/13196122>
11288
11289        Reviewed by Simon Fraser.
11290
11291        * WebProcess/WebPage/WebPage.cpp:
11292        (WebKit::WebPage::setIsInWindow):
11293        Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
11294
112952013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
11296
11297        Allow UI clients to handle vertical wheel events.
11298        https://bugs.webkit.org/show_bug.cgi?id=110006
11299
11300        Reviewed by Tim Horton.
11301
11302        Add API to allow clients to selectively control rubber-banding at vertical page extrema.
11303
11304        * UIProcess/API/C/WKPage.cpp:
11305        (WKPageRubberBandsAtBottom):
11306        Proxy for the corresponding function in WebCore::Page.
11307        (WKPageSetRubberBandsAtBottom):
11308        Ditto.
11309        (WKPageRubberBandsAtTop):
11310        Ditto.
11311        (WKPageSetRubberBandsAtTop):
11312        Ditto.
11313
11314        * UIProcess/API/C/WKPage.h:
11315        Declare new API.
11316
11317        * UIProcess/WebPageProxy.cpp:
11318        (WebKit::WebPageProxy::WebPageProxy):
11319        Initialize new member variables.
11320        (WebKit::WebPageProxy::setRubberBandsAtBottom):
11321        New function; dispatches a matching message to the WebKit::WebPage.
11322        (WebKit::WebPageProxy::setRubberBandsAtTop):
11323        Ditto.
11324
11325        * UIProcess/WebPageProxy.h:
11326        (WebPageProxy):
11327        Declare new API.
11328        (WebKit::WebPageProxy::rubberBandsAtBottom):
11329        New accessor function.
11330        (WebKit::WebPageProxy::rubberBandsAtTop):
11331        Ditto.
11332
11333        * WebProcess/WebPage/WebPage.cpp:
11334        (WebKit::WebPage::setRubberBandsAtBottom):
11335        New function; call the matching function on the associated WebCore::Page.
11336        (WebKit::WebPage::setRubberBandsAtTop):
11337        Ditto.
11338
11339        * WebProcess/WebPage/WebPage.h:
11340        (WebPage):
11341        Declare new rubber-banding API.
11342
11343        * WebProcess/WebPage/WebPage.messages.in:
11344        Declare new rubber-banding API.
11345
113462013-02-19  Anders Carlsson  <andersca@apple.com>
11347
11348        StorageAreaProxy should know its quota
11349        https://bugs.webkit.org/show_bug.cgi?id=110268
11350
11351        Reviewed by Sam Weinig.
11352
11353        Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
11354
11355        * WebProcess/Storage/StorageAreaProxy.cpp:
11356        (WebKit::StorageAreaProxy::StorageAreaProxy):
11357        (WebKit::StorageAreaProxy::setItem):
11358        * WebProcess/Storage/StorageAreaProxy.h:
11359        (StorageAreaProxy):
11360        * WebProcess/Storage/StorageNamespaceProxy.cpp:
11361        (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
11362        (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
11363        * WebProcess/Storage/StorageNamespaceProxy.h:
11364        (WebKit::StorageNamespaceProxy::quota):
11365        (StorageNamespaceProxy):
11366
113672013-02-19  Alexey Proskuryakov  <ap@apple.com>
11368
11369        <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
11370
11371        Reviewed by Mark Rowe.
11372
11373        Don't keep a window server connection in processes that don't need it, and don't
11374        run an NSApplication run loop.
11375
11376        * Shared/ChildProcess.h:
11377        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
11378        Added a function to shut down connections, and to make sure we don't get one in the future.
11379
11380        * NetworkProcess/mac/NetworkProcessMac.mm:
11381        (WebKit::NetworkProcess::initializeProcessName):
11382        * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
11383        (WebKit::OfflineStorageProcess::initializeProcessName):
11384        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
11385        (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
11386        some unused includes and forward declarations.
11387
113882013-02-18  Alexey Proskuryakov  <ap@apple.com>
11389
11390        [WK2] Cannot load documents with blob urls
11391        https://bugs.webkit.org/show_bug.cgi?id=110160
11392
11393        Reviewed by Sam Weinig.
11394
11395        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
11396        Added knowledge about blobs.
11397
113982013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
11399
11400        [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
11401        https://bugs.webkit.org/show_bug.cgi?id=110190
11402
11403        Reviewed by Anders Carlsson.
11404
11405        Add webkit_web_view_get_tls_info() and remove
11406        webkit_uri_response_get_https_status(). This way I can be sure
11407        that when called after load has been committed the certificate
11408        will be available. It also makes the API easier to use.
11409
11410        * UIProcess/API/gtk/WebKitURIResponse.cpp:
11411        * UIProcess/API/gtk/WebKitURIResponse.h:
11412        * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
11413        * UIProcess/API/gtk/WebKitWebView.cpp:
11414        (webkitWebViewLoadChanged):
11415        (mainResourceResponseChangedCallback):
11416        (webkit_web_view_get_tls_info):
11417        * UIProcess/API/gtk/WebKitWebView.h:
11418        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
11419        * UIProcess/API/gtk/tests/TestSSL.cpp:
11420
114212013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
11422
11423        [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
11424        https://bugs.webkit.org/show_bug.cgi?id=109794
11425
11426        Reviewed by Anders Carlsson.
11427
11428        * UIProcess/API/C/efl/WKView.cpp:
11429        (WKViewSetShowsAsSource):
11430        (WKViewGetShowsAsSource):
11431
11432            Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
11433            and WebPageProxy::mainFrameInViewSourceMode() calls.
11434
11435        (WKViewExitFullScreen):
11436
11437            Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
11438            calls.
11439
11440        * UIProcess/API/C/efl/WKView.h:
11441        * UIProcess/API/efl/EwkView.cpp:
11442        (EwkView::feedTouchEvent):
11443
11444            Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
11445            is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
11446            not access WebPage instance directly.
11447
11448        (EwkView::feedTouchEvents):
11449        * UIProcess/API/efl/EwkView.h:
11450        (EwkView):
11451        * UIProcess/API/efl/ewk_view.cpp:
11452        (ewk_view_feed_touch_event):
11453        (ewk_view_pagination_mode_set):
11454        (ewk_view_pagination_mode_get):
11455        (ewk_view_fullscreen_exit):
11456        (ewkViewPageContentsCallback):
11457        (ewk_view_page_contents_get):
11458        (ewk_view_source_mode_set):
11459        (ewk_view_source_mode_get):
11460
11461            Those are now using exported C API.
11462
11463        * UIProcess/efl/WebView.cpp:
11464        (WebKit::WebView::setShowsAsSource):
11465        (WebKit):
11466        (WebKit::WebView::showsAsSource):
11467        (WebKit::WebView::exitFullScreen):
11468        * UIProcess/efl/WebView.h:
11469        (WebView):
11470
11471            Added WebView methods to support added WKView API.
11472
114732013-02-19  Andras Becsi  <andras.becsi@digia.com>
11474
11475        [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
11476        https://bugs.webkit.org/show_bug.cgi?id=110220
11477
11478        Reviewed by Allan Sandfeld Jensen.
11479
11480        If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
11481        no node was found for a given point, we hit ASSERT(node).
11482        We should only assert for a valid node if a zoomable area was found.
11483
11484        * WebProcess/WebPage/WebPage.cpp:
11485        (WebKit::WebPage::findZoomableAreaForPoint):
11486
114872013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11488
11489        Regression(r143273): Caused a lot of tests to time out
11490        https://bugs.webkit.org/show_bug.cgi?id=110212
11491
11492        Reviewed by Anders Carlsson.
11493
11494        StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
11495        should call their respective "*Internal" equivalent instead of calling themselves. This lead to
11496        a lot of time outs on our build bots.
11497
11498        * UIProcess/Storage/StorageManager.cpp:
11499        (WebKit::StorageManager::destroySessionStorageNamespace):
11500        (WebKit::StorageManager::cloneSessionStorageNamespace):
11501
115022013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
11503
11504        [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
11505        https://bugs.webkit.org/show_bug.cgi?id=110125
11506
11507        Reviewed by Anders Carlsson.
11508
11509        This API is currently implemented caching all resources in the
11510        WebView which causes some problems in documents loading resources
11511        indefinitely. This API was used in WebKit1 mainly to implement
11512        webkit_web_view_save(), but we already have such API in
11513        WebKit2.
11514
11515        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
11516        (didReceiveWebViewMessageFromInjectedBundle):
11517        * UIProcess/API/gtk/WebKitWebView.cpp:
11518        (_WebKitWebViewPrivate):
11519        (webkitWebViewLoadChanged):
11520        * UIProcess/API/gtk/WebKitWebView.h:
11521        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
11522        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
11523        * UIProcess/API/gtk/tests/TestResources.cpp:
11524        (testWebViewResources):
11525        (testWebResourceGetData):
11526
115272013-02-18  Christophe Dumez  <dchris@gmail.com>
11528
11529        [WK2][EFL] Stop using internal C++ API in ewk_error
11530        https://bugs.webkit.org/show_bug.cgi?id=108796
11531
11532        Reviewed by Benjamin Poulain.
11533
11534        Stop using internal C++ API in ewk_error and use C API instead of avoid
11535        violating API layering.
11536
11537        * UIProcess/API/efl/ewk_error.cpp:
11538        (EwkError::domain):
11539        (EwkError::isCancellation):
11540        (ewk_error_type_get):
11541        * UIProcess/API/efl/ewk_error_private.h:
11542        (EwkError):
11543
115442013-02-18  Simon Fraser  <simon.fraser@apple.com>
11545
11546        Clean up the boolean argument to visibleContentRect
11547        https://bugs.webkit.org/show_bug.cgi?id=110167
11548
11549        Reviewed by Simon Fraser.
11550        
11551        Replace the boolean argument to visibleContentRect() with
11552        an enum.
11553
11554        * WebProcess/WebPage/WebFrame.cpp:
11555        (WebKit::WebFrame::visibleContentBounds):
11556        (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
11557
115582013-02-18  Anders Carlsson  <andersca@apple.com>
11559
11560        Add a DefaultHash for RefPtr<SecurityOrigin>
11561        https://bugs.webkit.org/show_bug.cgi?id=110170
11562
11563        Reviewed by Andreas Kling.
11564
11565        Remove all explicit uses of SecurityOriginHash.
11566
11567        * UIProcess/Storage/StorageManager.cpp:
11568        (StorageManager::SessionStorageNamespace):
11569        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
11570        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
11571        * WebProcess/InjectedBundle/InjectedBundle.cpp:
11572        (WebKit::InjectedBundle::originsWithApplicationCache):
11573        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
11574        Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
11575        for looking up security origins.
11576
11577        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
11578        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
11579        This can just take a const reference.
11580
11581        * WebProcess/ResourceCache/WebResourceCacheManager.h:
11582
115832013-02-18  Anders Carlsson  <andersca@apple.com>
11584
11585        Begin stubbing out session storage classes
11586        https://bugs.webkit.org/show_bug.cgi?id=110168
11587
11588        Reviewed by Andreas Kling.
11589
11590        * UIProcess/Storage/StorageManager.cpp:
11591        (StorageManager::StorageArea):
11592        (WebKit):
11593        (WebKit::StorageManager::StorageArea::create):
11594        (WebKit::StorageManager::StorageArea::StorageArea):
11595        (WebKit::StorageManager::StorageArea::~StorageArea):
11596        (StorageManager::SessionStorageNamespace):
11597        (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
11598        (WebKit::StorageManager::SessionStorageNamespace::create):
11599        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
11600        (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
11601        (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
11602        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
11603        (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
11604        (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
11605        * UIProcess/Storage/StorageManager.h:
11606        (StorageManager):
11607
116082013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11609
11610        [EFL][WK2] Add C API for popup menu and popup item
11611        https://bugs.webkit.org/show_bug.cgi?id=109083
11612
11613        Reviewed by Anders Carlsson.
11614
11615        WK2 EFL delegates display of the popup menu to the browser which causes
11616        us to have a strong interdependency between internal C++ classes
11617        (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
11618        (EwkView, EwkPopupMenu, EwkPopupMenuItem).
11619
11620        Since we want to remove this interdependency, this patch introduces a
11621        for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
11622        (WKPopupItem). It also introduces a WKPage client with callbacks for
11623        showPopupMenu and hidePopupMenu.
11624
11625        Note that the popup menu functionality is covered by ewk_popup_menu API
11626        tests and no functionality is lost.
11627
11628        * PlatformEfl.cmake: Add new files to EFL CMake config.
11629        * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
11630        WKPopupMenuListenerRef.
11631        * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
11632        platform.
11633        * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
11634        and WKPopupMenuListenerRef API types.
11635        (WebKit):
11636        (WebKit::toAPI):
11637        * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
11638        (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
11639        client on the page.
11640        * UIProcess/API/C/efl/WKPageEfl.h: Added.
11641        * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
11642        (WKPopupItemGetType):
11643        (WKPopupItemGetTextDirection):
11644        (WKPopupItemHasTextDirectionOverride):
11645        (WKPopupItemCopyText):
11646        (WKPopupItemCopyToolTipText):
11647        (WKPopupItemCopyAccessibilityText):
11648        (WKPopupItemIsEnabled):
11649        (WKPopupItemIsLabel):
11650        (WKPopupItemIsSelected):
11651        * UIProcess/API/C/efl/WKPopupItem.h: Added.
11652        * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
11653        WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
11654        client can report which popup menu item was selected.
11655        (WKPopupMenuListenerSetSelection):
11656        * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
11657        * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
11658        (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
11659        (EwkView::requestPopupMenu):
11660        * UIProcess/API/efl/EwkView.h:
11661        (WebKit):
11662        (EwkView):
11663        * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
11664        (EwkPopupMenu::EwkPopupMenu):
11665        (EwkPopupMenu::setSelectedIndex):
11666        * UIProcess/API/efl/ewk_popup_menu_private.h:
11667        (EwkPopupMenu::create):
11668        (EwkPopupMenu):
11669        * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
11670        the popup menu on EFL port instead of asking the WebPopupMenuProxy.
11671        (WebKit::WebPageProxy::close):
11672        (WebKit::WebPageProxy::showPopupMenu):
11673        (WebKit::WebPageProxy::hidePopupMenu):
11674        * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
11675        corresponding initialization method.
11676        (WebPageProxy):
11677        * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
11678        virtual methods on EFL port since we go via WKPageUIPopupMenuClient
11679        for this now.
11680        (WebPopupMenuProxy):
11681        * UIProcess/efl/PageUIClientEfl.cpp:
11682        (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
11683        callbacks and call corresponding EwkView methods. Previously, the EwkView
11684        methods were called by the internal WebPageProxyEfl class which is no
11685        longer needed.
11686        (WebKit::PageUIClientEfl::showPopupMenu):
11687        (WebKit):
11688        (WebKit::PageUIClientEfl::hidePopupMenu):
11689        * UIProcess/efl/PageUIClientEfl.h:
11690        (PageUIClientEfl):
11691        * UIProcess/efl/WebPageProxyEfl.cpp:
11692        (WebKit::WebPageProxy::initializeUIPopupMenuClient):
11693        (WebKit):
11694        * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
11695        WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
11696        (WebKit):
11697        (WebKit::WebPopupItemEfl::WebPopupItemEfl):
11698        (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
11699        * UIProcess/efl/WebPopupItemEfl.h: Added.
11700        (WebKit):
11701        (WebPopupItemEfl):
11702        (WebKit::WebPopupItemEfl::create):
11703        (WebKit::WebPopupItemEfl::data):
11704        (WebKit::WebPopupItemEfl::itemType):
11705        (WebKit::WebPopupItemEfl::text):
11706        (WebKit::WebPopupItemEfl::textDirection):
11707        (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
11708        (WebKit::WebPopupItemEfl::toolTipText):
11709        (WebKit::WebPopupItemEfl::accessibilityText):
11710        (WebKit::WebPopupItemEfl::isEnabled):
11711        (WebKit::WebPopupItemEfl::isLabel):
11712        (WebKit::WebPopupItemEfl::isSelected):
11713        (WebKit::WebPopupItemEfl::type):
11714        * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
11715        Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
11716        it more accurately represents its functionality now.
11717        (WebKit):
11718        (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
11719        (WebKit::WebPopupMenuListenerEfl::valueChanged):
11720        * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
11721        (WebKit):
11722        (WebPopupMenuListenerEfl):
11723        (WebKit::WebPopupMenuListenerEfl::create):
11724        * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
11725        (WebUIPopupMenuClient::showPopupMenu):
11726        (WebUIPopupMenuClient::hidePopupMenu):
11727        * UIProcess/efl/WebUIPopupMenuClient.h: Added.
11728        (WebKit):
11729        (WebUIPopupMenuClient):
11730        * UIProcess/efl/WebView.cpp:
11731        (WebKit::WebView::createPopupMenuProxy):
11732
117332013-02-18  Anders Carlsson  <andersca@apple.com>
11734
11735        Add StorageManager member functions for keeping track of session storage namespaces
11736        https://bugs.webkit.org/show_bug.cgi?id=110163
11737
11738        Reviewed by Andreas Kling.
11739
11740        * UIProcess/Storage/StorageManager.cpp:
11741        (WebKit::StorageManager::createSessionStorageNamespace):
11742        (WebKit):
11743        (WebKit::StorageManager::destroySessionStorageNamespace):
11744        (WebKit::StorageManager::cloneSessionStorageNamespace):
11745        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
11746        (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
11747        (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
11748        * UIProcess/Storage/StorageManager.h:
11749        (StorageManager):
11750        * UIProcess/WebContext.h:
11751        (WebKit::WebContext::storageManager):
11752        (WebContext):
11753        * UIProcess/WebPageProxy.cpp:
11754        (WebKit::WebPageProxy::WebPageProxy):
11755        (WebKit::WebPageProxy::close):
11756        (WebKit::WebPageProxy::createNewPage):
11757
117582013-02-18  Anders Carlsson  <andersca@apple.com>
11759
11760        StorageManager message handlers should take the connection
11761        https://bugs.webkit.org/show_bug.cgi?id=110151
11762
11763        Reviewed by Andreas Kling.
11764
11765        * Platform/CoreIPC/HandleMessage.h:
11766        (CoreIPC):
11767        (CoreIPC::callMemberFunction):
11768        (CoreIPC::handleMessage):
11769        * Scripts/webkit2/messages.py:
11770        (sync_message_statement):
11771        (generate_message_handler):
11772        * UIProcess/Storage/StorageManager.cpp:
11773        (WebKit::StorageManager::createStorageArea):
11774        (WebKit::StorageManager::destroyStorageArea):
11775        (WebKit::StorageManager::getValues):
11776        * UIProcess/Storage/StorageManager.h:
11777        (StorageManager):
11778        * UIProcess/Storage/StorageManager.messages.in:
11779
117802013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
11781
11782        [EFL][WK2] Use C API inside ewk_security_origin
11783        https://bugs.webkit.org/show_bug.cgi?id=107923
11784
11785        Reviewed by Alexey Proskuryakov.
11786
11787        Use C API inside ewk_security_origin instead of accessing
11788        directly internal C++ classes, to avoid breaking API
11789        layering.
11790
11791        * UIProcess/API/efl/EwkView.cpp:
11792        (EwkView::enterFullScreen):
11793        * UIProcess/API/efl/ewk_security_origin.cpp:
11794        (EwkSecurityOrigin::EwkSecurityOrigin):
11795        * UIProcess/API/efl/ewk_security_origin_private.h:
11796        (EwkSecurityOrigin::create):
11797        (EwkSecurityOrigin):
11798
117992013-01-04  Jer Noble  <jer.noble@apple.com>
11800
11801        pinch-zooming webpage messes up full-screening of embedded video
11802        https://bugs.webkit.org/show_bug.cgi?id=106115
11803
11804        Reviewed by Maciej Stachowiak.
11805
11806        Reset the page scale when entering full screen, and reset to the original scale when exiting.
11807
11808        * UIProcess/mac/WKFullScreenWindowController.h:
11809        * UIProcess/mac/WKFullScreenWindowController.mm:
11810        (-[WKFullScreenWindowController enterFullScreen:]):
11811        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
11812
118132013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11814
11815        [EFL][WK2] Disable failing API tests
11816        https://bugs.webkit.org/show_bug.cgi?id=110081
11817
11818        Reviewed by Kenneth Rohde Christiansen.
11819
11820        Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
11821
11822        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
11823        (TEST_F):
11824
118252013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
11826
11827        [Qt][WK2] Support WK2 API tests
11828        https://bugs.webkit.org/show_bug.cgi?id=109843
11829
11830        Reviewed by Jocelyn Turcotte.
11831
11832        * UIProcess/API/qt/qquickwebview_p.h:
11833        (TestWebKitAPI):
11834
118352013-02-18  Andras Becsi  <andras.becsi@digia.com>
11836
11837        [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
11838        https://bugs.webkit.org/show_bug.cgi?id=108337
11839
11840        Reviewed by Jocelyn Turcotte.
11841
11842        We should not ignore content position changes unless pinch zoom or bounce-back
11843        animation is ongoing.
11844        This way we notify the web process about visible rect changes if the contentX
11845        and contentY properties are used to programmatically scroll the content from QML.
11846        One important usecase for this is when implementing scrollbars.
11847
11848        * UIProcess/qt/PageViewportControllerClientQt.cpp:
11849        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
11850        (WebKit::PageViewportControllerClientQt::flickMoveStarted):
11851        (WebKit::PageViewportControllerClientQt::flickMoveEnded):
11852        (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
11853        (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
11854        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
11855
118562013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
11857
11858        [WK2][EFL] Unified text checker implementation
11859        https://bugs.webkit.org/show_bug.cgi?id=107682
11860
11861        Reviewed by Anders Carlsson.
11862
11863        * UIProcess/efl/TextCheckerEfl.cpp:
11864        (WebKit):
11865        (WebKit::nextWordOffset):
11866        Helper function to determine the word offset to do not call
11867        client's checkSpellingOfString for the word separators.
11868
11869        (WebKit::TextChecker::checkTextOfParagraph):
11870        Allow to check spelling for multiple words,
11871        their misspelling location and length are saved to the vector.
11872
11873        * WebProcess/WebCoreSupport/WebEditorClient.h:
11874        Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
11875
11876        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
11877        (WebKit):
11878        (WebKit::WebEditorClient::checkTextOfParagraph):
11879        As spelling implementation is exposed to UIProcess,
11880        send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
11881
118822013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11883
11884        [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
11885        https://bugs.webkit.org/show_bug.cgi?id=108598
11886
11887        Reviewed by Kenneth Rohde Christiansen.
11888
11889        Refactor the Ewk_Favicon code so that it no longer relies on internal
11890        C++ API and so that it is based solely on the C API. The API is changed
11891        a little as well so that the Favicon URL is no longer exposed to the
11892        client. Also the client is now only notified of icon changes once the
11893        favicon data is actually available.
11894
11895        The API is covered by existing API tests and by MiniBrowser which are
11896        both updated accordingly in this patch.
11897
11898        * UIProcess/API/efl/EwkView.cpp:
11899        (EwkView::informURLChange):
11900        (EwkView::createFavicon):
11901        (EwkView::onFaviconChanged):
11902        * UIProcess/API/efl/EwkView.h:
11903        (EwkView):
11904        * UIProcess/API/efl/EwkViewCallbacks.h:
11905        * UIProcess/API/efl/ewk_favicon_database.cpp:
11906        Client are now notified of favicon changes only when the favicon data
11907        becomes available and make API to retrieve a favicon synchronous. NULL
11908        is returned if the favicon data is not available.
11909
11910        (EwkFaviconDatabase::EwkFaviconDatabase):
11911        (EwkFaviconDatabase::getIconSurfaceSynchronously):
11912        (EwkFaviconDatabase::iconDataReadyForPageURL):
11913        (ewk_favicon_database_icon_get):
11914        * UIProcess/API/efl/ewk_favicon_database.h:
11915        * UIProcess/API/efl/ewk_favicon_database_private.h:
11916        (EwkFaviconDatabase):
11917        * UIProcess/API/efl/ewk_view.cpp:
11918        (ewk_view_favicon_get):
11919        * UIProcess/API/efl/ewk_view.h:
11920        Rename 'icon,changed' signal to 'favicon,changed' for clarity and
11921        consistency with the rest of the favicon API. Remove API to retrieve
11922        the favicon URL and replace it by one to retrieve the favicon image as
11923        an Evas_Object instead.
11924
11925        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
11926        Update API tests to use the new favicon API.
11927
119282013-02-17  Jae Hyun Park  <jae.park@company100.net>
11929
11930        Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
11931        https://bugs.webkit.org/show_bug.cgi?id=109893
11932
11933        Reviewed by Anders Carlsson.
11934
11935        DrawingAreaImpl::createGraphicsContext() is unnecessary since
11936        createGraphicsContext can be called directly using ShareableBitmap.
11937
11938        * WebProcess/WebPage/DrawingAreaImpl.cpp:
11939        (WebKit::DrawingAreaImpl::display):
11940        * WebProcess/WebPage/DrawingAreaImpl.h:
11941        (DrawingAreaImpl):
11942
119432013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
11944
11945        [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
11946        https://bugs.webkit.org/show_bug.cgi?id=109451
11947
11948        Reviewed by Anders Carlsson.
11949
11950        Remove fullscreen manager proxy as a message receiver on invalidate(), like
11951        other ports do after r142160.
11952
11953        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
11954        (WebKit::WebFullScreenManagerProxy::invalidate):
11955
119562013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
11957
11958        Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
11959        https://bugs.webkit.org/show_bug.cgi?id=110053
11960
11961        Reviewed by Alexey Proskuryakov.
11962
11963        Clear m_plugins in loadPluginsIfNecessary() before populating the
11964        vector again. We get duplicates otherwise.
11965
11966        * UIProcess/Plugins/PluginInfoStore.cpp:
11967        (WebKit::PluginInfoStore::loadPluginsIfNecessary):
11968
119692013-02-16  Andreas Kling  <akling@apple.com>
11970
11971        Remove multi-threading gunk from PluginInfoStore.
11972        <http://webkit.org/b/110046>
11973
11974        Reviewed by Alexey Proskuryakov.
11975
11976        PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
11977        and stop making isolated copies of everything.
11978
11979        * Shared/Plugins/PluginModuleInfo.h:
11980        (PluginModuleInfo):
11981        * UIProcess/Plugins/PluginInfoStore.cpp:
11982        (WebKit::PluginInfoStore::loadPluginsIfNecessary):
11983        (WebKit::PluginInfoStore::plugins):
11984        (WebKit::PluginInfoStore::findPluginForMIMEType):
11985        (WebKit::PluginInfoStore::findPluginForExtension):
11986        (WebKit::PluginInfoStore::findPlugin):
11987        (WebKit::PluginInfoStore::infoForPluginWithPath):
11988        * UIProcess/Plugins/PluginInfoStore.h:
11989        (PluginInfoStore):
11990
119912013-02-16  Sam Weinig  <sam@webkit.org>
11992
11993        Fix non-production builds.
11994
11995        * WebKit2.xcodeproj/project.pbxproj:
11996
119972013-02-16  Sam Weinig  <sam@webkit.org>
11998
11999        The Plugin.32 target does not build
12000        https://bugs.webkit.org/show_bug.cgi?id=110032
12001
12002        Reviewed by Anders Carlsson.
12003
12004        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
12005        This was meant to be removed already.
12006
12007        * WebKit2.xcodeproj/project.pbxproj:
12008        Add Plugin.32 as dependency in All as it should be.
12009
120102013-02-16  Darin Adler  <darin@apple.com>
12011
12012        Fix WKDOMRangePrivate.h mistakes
12013        https://bugs.webkit.org/show_bug.cgi?id=110028
12014
12015        Reviewed by Ryosuke Niwa.
12016
12017        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
12018        Added include of WKDOMRangePrivate.h.
12019
12020        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
12021        Fixed class name and include to be WKDOMRange.
12022        Fixed method name, _copyBundleRangeHandleRef, to match the
12023        name in the source file.
12024
120252013-02-15  Eric Carlson  <eric.carlson@apple.com>
12026
12027        [Mac] remove wkCaptionAppearance from WebKitSystemInterface
12028        https://bugs.webkit.org/show_bug.cgi?id=109996
12029
12030        Reviewed by Simon Fraser.
12031
12032        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12033        (InitWebCoreSystemInterface):
12034
120352013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
12036
12037        Unreviewed, rolling out r143088.
12038        http://trac.webkit.org/changeset/143088
12039        https://bugs.webkit.org/show_bug.cgi?id=110000
12040
12041        Breaks the build (Requested by dgorbik on #webkit).
12042
12043        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12044        (InitWebCoreSystemInterface):
12045
120462013-02-15  Kiran Muppala  <cmuppala@apple.com>
12047
12048        Disable sudden termination on Mac
12049        https://bugs.webkit.org/show_bug.cgi?id=109990
12050
12051        Reviewed by Mark Rowe.
12052
12053        Sudden Termination is causing WebContent XPC services to be killed in
12054        response to memory pressure.  Hence, disable it until we can identify
12055        if it is being enabled in error or not.
12056
12057        * Shared/mac/ChildProcessMac.mm:
12058        (WebKit::ChildProcess::platformInitialize): Add call to
12059        [NSProcessInfo disableSuddenTermination].
12060
120612013-02-15  Eric Carlson  <eric.carlson@apple.com>
12062
12063        [Mac] remove wkCaptionAppearance from WebKitSystemInterface
12064        https://bugs.webkit.org/show_bug.cgi?id=109996
12065
12066        Reviewed by Simon Fraser.
12067
12068        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12069        (InitWebCoreSystemInterface):
12070
120712013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
12072
12073        [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
12074        https://bugs.webkit.org/show_bug.cgi?id=109216
12075
12076        Reviewed by Benjamin Poulain.
12077
12078        Only make calls into DrawingAreaProxy pointer after checking its state.
12079
12080        When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
12081        its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
12082        try to access the object to update the geometry and forward this information
12083        into the WebProcess. This would create a crash scenario that is fixed by this patch.
12084
12085        * UIProcess/API/qt/qquickwebview.cpp:
12086        (QQuickWebViewPrivate::didRelaunchProcess):
12087        (QQuickWebViewLegacyPrivate::updateViewportSize):
12088
120892013-02-15  Anders Carlsson  <andersca@apple.com>
12090
12091        Add HashMap::isValidKey and HashSet::isValidValue
12092        https://bugs.webkit.org/show_bug.cgi?id=109977
12093
12094        Reviewed by Sam Weinig and Darin Adler.
12095
12096        Just call HashMap::isValidKey directly.
12097
12098        * UIProcess/WebProcessProxy.cpp:
12099        (WebKit::generatePageID):
12100        Initialize the id to 0 and use prefix increment.
12101
12102        (WebKit::WebProcessProxy::webFrame):
12103        (WebKit::WebProcessProxy::canCreateFrame):
12104        (WebKit::WebProcessProxy::didDestroyFrame):
12105
121062013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
12107
12108        Typo fix after r143064.
12109
12110        * Platform/CoreIPC/win/ConnectionWin.cpp:
12111        (CoreIPC::Connection::sendOutgoingMessage):
12112
121132013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
12114
12115        One more buildfix after r143052.
12116
12117        * Platform/CoreIPC/win/ConnectionWin.cpp:
12118        (CoreIPC::Connection::sendOutgoingMessage):
12119
121202013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
12121
12122        Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
12123
12124        * Platform/unix/SharedMemoryUnix.cpp:
12125        (WebKit::SharedMemory::Handle::encode):
12126        * Platform/win/SharedMemoryWin.cpp:
12127        (WebKit::SharedMemory::Handle::encode):
12128        * Shared/Network/NetworkResourceLoadParameters.cpp:
12129        (WebKit::NetworkResourceLoadParameters::encode):
12130        * Shared/WebBatteryStatus.cpp:
12131        (WebKit::WebBatteryStatus::Data::encode):
12132        * Shared/WebNetworkInfo.cpp:
12133        (WebKit::WebNetworkInfo::Data::encode):
12134        * Shared/efl/LayerTreeContextEfl.cpp:
12135        (WebKit::LayerTreeContext::encode):
12136        * Shared/gtk/LayerTreeContextGtk.cpp:
12137        (WebKit::LayerTreeContext::encode):
12138        * Shared/qt/LayerTreeContextQt.cpp:
12139        (WebKit::LayerTreeContext::encode):
12140        * Shared/qt/QtNetworkReplyData.cpp:
12141        (WebKit::QtNetworkReplyData::encode):
12142        * Shared/qt/QtNetworkRequestData.cpp:
12143        (WebKit::QtNetworkRequestData::encode):
12144        * Shared/soup/PlatformCertificateInfo.cpp:
12145        (WebKit::PlatformCertificateInfo::encode):
12146
121472013-02-15  Anders Carlsson  <andersca@apple.com>
12148
12149        Make most ArgumentEncoder::encode member functions private
12150        https://bugs.webkit.org/show_bug.cgi?id=109973
12151
12152        Reviewed by Sam Weinig.
12153
12154        Make the encode overloads private; the stream operator should be used instead.
12155
12156        * Platform/CoreIPC/ArgumentEncoder.h:
12157        (ArgumentEncoder):
12158        * Platform/CoreIPC/Arguments.h:
12159        (CoreIPC::Arguments1::encode):
12160        (CoreIPC::Arguments2::encode):
12161        (CoreIPC::Arguments3::encode):
12162        (CoreIPC::Arguments4::encode):
12163        (CoreIPC::Arguments5::encode):
12164        (CoreIPC::Arguments6::encode):
12165        (CoreIPC::Arguments7::encode):
12166        (CoreIPC::Arguments8::encode):
12167        (CoreIPC::Arguments10::encode):
12168        * Platform/CoreIPC/Connection.cpp:
12169        (CoreIPC::Connection::createSyncMessageEncoder):
12170        * Platform/CoreIPC/MessageEncoder.cpp:
12171        (CoreIPC::MessageEncoder::MessageEncoder):
12172        * Scripts/webkit2/messages.py:
12173        (generate_message_handler):
12174        * Scripts/webkit2/messages_unittest.py:
12175        * Shared/Network/NetworkResourceLoadParameters.cpp:
12176        (WebKit::NetworkResourceLoadParameters::encode):
12177        * WebProcess/WebPage/EncoderAdapter.cpp:
12178        (WebKit::EncoderAdapter::EncoderAdapter):
12179        (WebKit::EncoderAdapter::encodeBytes):
12180        (WebKit::EncoderAdapter::encodeBool):
12181        (WebKit::EncoderAdapter::encodeUInt16):
12182        (WebKit::EncoderAdapter::encodeUInt32):
12183        (WebKit::EncoderAdapter::encodeUInt64):
12184        (WebKit::EncoderAdapter::encodeInt32):
12185        (WebKit::EncoderAdapter::encodeInt64):
12186        (WebKit::EncoderAdapter::encodeFloat):
12187        (WebKit::EncoderAdapter::encodeDouble):
12188        (WebKit::EncoderAdapter::encodeString):
12189
121902013-02-15  Anders Carlsson  <andersca@apple.com>
12191
12192        Add a synchronous GetValues message to StorageManager
12193        https://bugs.webkit.org/show_bug.cgi?id=109968
12194
12195        Reviewed by Sam Weinig.
12196
12197        * Platform/CoreIPC/Connection.cpp:
12198        (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
12199        Handle synchronous messages.
12200
12201        (CoreIPC::Connection::processIncomingMessage):
12202        Check for work queue message receivers before doing any other processing.
12203
12204        * UIProcess/Storage/StorageManager.cpp:
12205        (WebKit::StorageManager::getValues):
12206        Add empty stub.
12207
12208        * UIProcess/Storage/StorageManager.h:
12209        * UIProcess/Storage/StorageManager.messages.in:
12210        Add GetValues message.
12211
12212        * WebProcess/Storage/StorageAreaProxy.cpp:
12213        (WebKit::StorageAreaProxy::loadValuesIfNeeded):
12214        Send the GetValues message.
12215
122162013-02-15  Anders Carlsson  <andersca@apple.com>
12217
12218        A storage area should know its storage type
12219        https://bugs.webkit.org/show_bug.cgi?id=109964
12220
12221        Reviewed by Andreas Kling.
12222
12223        * WebProcess/Storage/StorageAreaProxy.cpp:
12224        (WebKit::StorageAreaProxy::StorageAreaProxy):
12225        (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
12226        * WebProcess/Storage/StorageAreaProxy.h:
12227        (StorageAreaProxy):
12228        * WebProcess/Storage/StorageNamespaceProxy.cpp:
12229        (WebKit::StorageNamespaceProxy::storageType):
12230        (WebKit):
12231        * WebProcess/Storage/StorageNamespaceProxy.h:
12232        (StorageNamespaceProxy):
12233
122342013-02-15  Anders Carlsson  <andersca@apple.com>
12235
12236        Implement StorageAreaProxy::length
12237        https://bugs.webkit.org/show_bug.cgi?id=109962
12238
12239        Reviewed by Andreas Kling.
12240
12241        * WebProcess/Storage/StorageAreaProxy.cpp:
12242        (WebKit::StorageAreaProxy::length):
12243        Load the values if needed and then return the length.
12244
12245        (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
12246        Add helper function.
12247
12248        (WebKit::StorageAreaProxy::loadValuesIfNeeded):
12249        Just allocate the hash map for now.
12250
12251        * WebProcess/Storage/StorageAreaProxy.h:
12252        (StorageAreaProxy):
12253
122542013-02-15  Anders Carlsson  <andersca@apple.com>
12255
12256        Remove const from a bunch of StorageArea member functions
12257        https://bugs.webkit.org/show_bug.cgi?id=109957
12258
12259        Reviewed by Beth Dakin.
12260
12261        Update for WebCore changes.
12262
12263        * WebProcess/Storage/StorageAreaProxy.cpp:
12264        (WebKit::StorageAreaProxy::length):
12265        (WebKit::StorageAreaProxy::key):
12266        (WebKit::StorageAreaProxy::getItem):
12267        (WebKit::StorageAreaProxy::contains):
12268        (WebKit::StorageAreaProxy::canAccessStorage):
12269        (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
12270        * WebProcess/Storage/StorageAreaProxy.h:
12271        (StorageAreaProxy):
12272
122732013-02-15  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
12274
12275        [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
12276        https://bugs.webkit.org/show_bug.cgi?id=107821
12277
12278        Reviewed by Anders Carlsson.
12279
12280        BatteryProvider and NetworkInfoProvider should use C API
12281        instead of accessing the internal C++ classes directly.
12282
12283        * UIProcess/API/efl/ewk_context.cpp:
12284        (EwkContext::EwkContext):
12285        * UIProcess/efl/BatteryProvider.cpp:
12286        (BatteryProvider::~BatteryProvider):
12287        (BatteryProvider::create):
12288        (BatteryProvider::BatteryProvider):
12289        (BatteryProvider::didChangeBatteryStatus):
12290        * UIProcess/efl/BatteryProvider.h:
12291        (BatteryProvider):
12292        * UIProcess/efl/NetworkInfoProvider.cpp:
12293        (NetworkInfoProvider::create):
12294        (NetworkInfoProvider::NetworkInfoProvider):
12295        (NetworkInfoProvider::~NetworkInfoProvider):
12296        * UIProcess/efl/NetworkInfoProvider.h:
12297        (NetworkInfoProvider):
12298
122992013-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
12300
12301        [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
12302        https://bugs.webkit.org/show_bug.cgi?id=109038
12303
12304        Reviewed by Anders Carlsson.
12305
12306        EFL API is defensive by its nature and expects graceful handling of wrong function arguments
12307        whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
12308        which provides handling of wrong arguments, to be used within EFL API layer code.
12309
12310        * UIProcess/API/efl/EwkView.cpp:
12311        (toEwkView):
12312
12313            EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
12314            as it's used within EwkView class only.        
12315
12316        (EwkView::handleTouchMove):
12317        * UIProcess/API/efl/EwkView.h:
12318        * UIProcess/API/efl/ewk_view.cpp:
12319        (toEwkViewChecked):
12320
123212013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
12322
12323        [EFL][WK2] Have WebView subclass PageClient
12324        https://bugs.webkit.org/show_bug.cgi?id=109684
12325
12326        Reviewed by Anders Carlsson.
12327
12328        Stop constructing the PageClient in EwkView. PageClient is an internal
12329        class and we should not use it directly in our Ewk implementation.
12330        Instead, have WebView subclass PageClient. The PageClient implementation
12331        just calls WebView methods otherwise.
12332
12333        * PlatformEfl.cmake:
12334        * UIProcess/API/efl/EwkView.cpp:
12335        (EwkView::EwkView):
12336        (EwkView::setSize):
12337        * UIProcess/API/efl/EwkView.h:
12338        (WebKit):
12339        (EwkView):
12340        (EwkView::webView):
12341        * UIProcess/API/efl/ewk_view.cpp:
12342        * UIProcess/efl/PageClientBase.cpp: Removed.
12343        * UIProcess/efl/PageClientBase.h: Removed.
12344        * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
12345        * UIProcess/efl/PageClientDefaultImpl.h: Removed.
12346        * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
12347        * UIProcess/efl/PageClientLegacyImpl.h: Removed.
12348        * UIProcess/efl/PageLoadClientEfl.cpp:
12349        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
12350        * UIProcess/efl/PageViewportControllerClientEfl.h:
12351        * UIProcess/efl/WebPageProxyEfl.cpp:
12352        (WebKit::WebPageProxy::viewWidget):
12353        * UIProcess/efl/WebView.cpp:
12354        (WebKit::WebView::WebView):
12355        (WebKit::WebView::~WebView):
12356        (WebKit::WebView::initialize):
12357        (WebKit):
12358        (WebKit::WebView::evasObject):
12359        (WebKit::WebView::setThemePath):
12360        (WebKit::WebView::setDrawsBackground):
12361        (WebKit::WebView::drawsBackground):
12362        (WebKit::WebView::setDrawsTransparentBackground):
12363        (WebKit::WebView::drawsTransparentBackground):
12364        (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
12365        (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
12366        (WebKit::WebView::didCommitLoad):
12367        (WebKit::WebView::updateViewportSize):
12368        (WebKit::WebView::didChangeContentsSize):
12369        (WebKit::WebView::createDrawingAreaProxy):
12370        (WebKit::WebView::setViewNeedsDisplay):
12371        (WebKit::WebView::displayView):
12372        (WebKit::WebView::scrollView):
12373        (WebKit::WebView::viewSize):
12374        (WebKit::WebView::isViewWindowActive):
12375        (WebKit::WebView::isViewFocused):
12376        (WebKit::WebView::isViewVisible):
12377        (WebKit::WebView::isViewInWindow):
12378        (WebKit::WebView::processDidCrash):
12379        (WebKit::WebView::didRelaunchProcess):
12380        (WebKit::WebView::pageClosed):
12381        (WebKit::WebView::toolTipChanged):
12382        (WebKit::WebView::setCursor):
12383        (WebKit::WebView::setCursorHiddenUntilMouseMoves):
12384        (WebKit::WebView::registerEditCommand):
12385        (WebKit::WebView::clearAllEditCommands):
12386        (WebKit::WebView::canUndoRedo):
12387        (WebKit::WebView::executeUndoRedo):
12388        (WebKit::WebView::screenToWindow):
12389        (WebKit::WebView::windowToScreen):
12390        (WebKit::WebView::doneWithKeyEvent):
12391        (WebKit::WebView::doneWithTouchEvent):
12392        (WebKit::WebView::createPopupMenuProxy):
12393        (WebKit::WebView::createContextMenuProxy):
12394        (WebKit::WebView::createColorChooserProxy):
12395        (WebKit::WebView::setFindIndicator):
12396        (WebKit::WebView::enterAcceleratedCompositingMode):
12397        (WebKit::WebView::exitAcceleratedCompositingMode):
12398        (WebKit::WebView::updateAcceleratedCompositingMode):
12399        (WebKit::WebView::didCommitLoadForMainFrame):
12400        (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
12401        (WebKit::WebView::customRepresentationZoomFactor):
12402        (WebKit::WebView::setCustomRepresentationZoomFactor):
12403        (WebKit::WebView::flashBackingStoreUpdates):
12404        (WebKit::WebView::findStringInCustomRepresentation):
12405        (WebKit::WebView::countStringMatchesInCustomRepresentation):
12406        (WebKit::WebView::updateTextInputState):
12407        (WebKit::WebView::handleDownloadRequest):
12408        (WebKit::WebView::convertToDeviceSpace):
12409        (WebKit::WebView::convertToUserSpace):
12410        (WebKit::WebView::didChangeViewportProperties):
12411        (WebKit::WebView::pageDidRequestScroll):
12412        (WebKit::WebView::didRenderFrame):
12413        (WebKit::WebView::pageTransitionViewportReady):
12414        * UIProcess/efl/WebView.h:
12415        (WebKit):
12416        (WebView):
12417        (WebKit::WebView::pageRef):
12418        (WebKit::WebView::page):
12419        (WebKit::WebView::canScrollView):
12420
124212013-02-15  Milian Wolff  <milian.wolff@kdab.com>
12422
12423        [Qt] Restore URL Scheme Delegates after QtWebProcess crash
12424        https://bugs.webkit.org/show_bug.cgi?id=108808
12425
12426        When the QtWebProcess crashes, the registered URL Scheme
12427        Delegates are not properly restored over IPC in the newly
12428        launched process instance.
12429
12430        Reviewed by Simon Hausmann.
12431
12432        * UIProcess/API/qt/qquickwebview.cpp:
12433        (QQuickWebViewPrivate::didRelaunchProcess):
12434        (QQuickWebViewPrivate::updateSchemeDelegates):
12435        * UIProcess/API/qt/qquickwebview_p_p.h:
12436        (QQuickWebViewPrivate):
12437
124382013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
12439
12440        Simplify hitTestResultAtPoint and nodesFromRect APIs
12441        https://bugs.webkit.org/show_bug.cgi?id=95720
12442
12443        Reviewed by Julien Chaffraix and Maciej Stachowiak.
12444
12445        Update calls to new API and update exported symbols.
12446
12447        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
12448        (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
12449        * WebProcess/WebPage/WebFrame.cpp:
12450        (WebKit::WebFrame::hitTest):
12451        * WebProcess/WebPage/WebPage.cpp:
12452        (WebKit::handleContextMenuEvent):
12453        (WebKit::WebPage::highlightPotentialActivation):
12454        (WebKit::WebPage::findZoomableAreaForPoint):
12455        * WebProcess/WebPage/mac/WebPageMac.mm:
12456        (WebKit::WebPage::characterIndexForPoint):
12457        (WebKit::WebPage::performDictionaryLookupAtLocation):
12458        (WebKit::WebPage::shouldDelayWindowOrderingEvent):
12459        (WebKit::WebPage::acceptsFirstMouse):
12460
124612013-02-14  Huang Dongsung  <luxtella@company100.net>
12462
12463        [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
12464        https://bugs.webkit.org/show_bug.cgi?id=109885
12465
12466        Reviewed by Simon Fraser.
12467
12468        Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
12469        scrollOffset. So this patch corrects this misnaming.
12470
12471        In addition, all subclasses of LayerTreeHost don't use the misnamed
12472        scrollOffset in scrollNonCompositedContents(), so this patch removes the
12473        scrollOffset argument.
12474
12475        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12476        (WebKit::WebChromeClient::scroll):
12477        * WebProcess/WebCoreSupport/WebChromeClient.h:
12478        (WebChromeClient):
12479        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
12480        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
12481        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
12482        (CoordinatedLayerTreeHost):
12483        * WebProcess/WebPage/DrawingArea.h:
12484        (DrawingArea):
12485        * WebProcess/WebPage/DrawingAreaImpl.cpp:
12486        (WebKit::DrawingAreaImpl::scroll):
12487        * WebProcess/WebPage/DrawingAreaImpl.h:
12488        (DrawingAreaImpl):
12489        * WebProcess/WebPage/LayerTreeHost.h:
12490        (LayerTreeHost):
12491        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
12492        (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
12493        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
12494        (LayerTreeHostGtk):
12495        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
12496        (LayerTreeHostMac):
12497        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
12498        (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
12499        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
12500        (RemoteLayerTreeDrawingArea):
12501        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
12502        (WebKit::RemoteLayerTreeDrawingArea::scroll):
12503        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12504        (TiledCoreAnimationDrawingArea):
12505        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12506        (WebKit::TiledCoreAnimationDrawingArea::scroll):
12507
125082013-02-14  Alexey Proskuryakov  <ap@apple.com>
12509
12510        <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
12511        when running from recovery partition
12512
12513        Reviewed by Sam Weinig.
12514
12515        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
12516        * WebProcess/com.apple.WebProcess.sb.in:
12517        Re-added /private/var/db/mds/system rules lost in r141445.
12518
125192013-02-14  Anders Carlsson  <andersca@apple.com>
12520
12521        Add WKContextIsPlugInUpdateAvailable
12522        https://bugs.webkit.org/show_bug.cgi?id=109862
12523        <rdar://problem/13173140>
12524
12525        Reviewed by Sam Weinig.
12526
12527        * UIProcess/API/C/mac/WKContextPrivateMac.h:
12528        * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
12529        (WKContextGetProcessSuppressionEnabled):
12530        (WKContextSetProcessSuppressionEnabled):
12531        (WKContextIsPlugInUpdateAvailable):
12532        * WebKit2.xcodeproj/project.pbxproj:
12533
125342013-02-14  Zan Dobersek  <zdobersek@igalia.com>
12535
12536        [GTK] Errors when building WebKit2 with Clang
12537        https://bugs.webkit.org/show_bug.cgi?id=109603
12538
12539        Reviewed by Alexey Proskuryakov.
12540
12541        * UIProcess/API/gtk/WebKitUIClient.cpp:
12542        (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
12543        * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
12544        * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
12545        RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
12546        * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
12547        The OVERRIDE keywords are thus unnecessary.
12548
125492013-02-14  David Kilzer  <ddkilzer@apple.com>
12550
12551        [Mac] Clean up WARNING_CFLAGS
12552        <http://webkit.org/b/109747>
12553        <rdar://problem/13208373>
12554
12555        Reviewed by Mark Rowe.
12556
12557        * Configurations/Base.xcconfig: Use
12558        GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
12559        -Wshorten-64-to-32 rather than WARNING_CFLAGS.
12560
125612013-02-14  Sam Weinig  <sam@webkit.org>
12562
12563        Add conversions between ObjC and C DOM wrappers
12564        <rdar://problem/13205468>
12565        https://bugs.webkit.org/show_bug.cgi?id=109851
12566
12567        Reviewed by Anders Carlsson.
12568
12569        * WebKit2.xcodeproj/project.pbxproj:
12570        * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
12571        (WKBundleRangeHandleCreate):
12572        * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
12573        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
12574        (-[WKDOMNode _copyBundleNodeHandleRef]):
12575        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
12576        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
12577        (-[WKDOMRange _copyBundleRangeHandleRef]):
12578        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
12579        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
12580        (WebKit::InjectedBundleRangeHandle::getOrCreate):
12581        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
12582        (InjectedBundleRangeHandle):
12583
125842013-02-13  Anders Carlsson  <andersca@apple.com>
12585
12586        Remove StringPairVector
12587        https://bugs.webkit.org/show_bug.cgi?id=109778
12588
12589        Reviewed by Ryosuke Niwa.
12590
12591        Our message generation scripts can handle nested template parameter types now,
12592        so we no longer need to use StringPairVector.
12593
12594        * Shared/StringPairVector.h: Removed.
12595        * UIProcess/WebPageProxy.cpp:
12596        (WebKit::WebPageProxy::willSubmitForm):
12597        * UIProcess/WebPageProxy.h:
12598        (WebPageProxy):
12599        * UIProcess/WebPageProxy.messages.in:
12600        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12601        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
12602
126032013-02-13  Dean Jackson  <dino@apple.com>
12604
12605        PlugIn Autostart should expire in 30 days, not half a day
12606        https://bugs.webkit.org/show_bug.cgi?id=109767
12607
12608        Reviewed by Brian Weinstein.
12609
12610        We forgot to multiply by 60 seconds in a minute.
12611
12612        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
12613
126142013-02-13  Anders Carlsson  <andersca@apple.com>
12615
12616        Message generation should handle nested templates
12617        https://bugs.webkit.org/show_bug.cgi?id=109771
12618
12619        Reviewed by Ryosuke Niwa.
12620
12621        Make it possible to have nested class template types as message parameters and
12622        correctly gather all the needed headers and argument coder headers.
12623
12624        * Scripts/webkit2/messages.py:
12625        (class_template_headers):
12626        Recursively figure out the types and template headers needed for a given type.
12627
12628        (argument_coder_headers_for_type):
12629        (headers_for_type):
12630        Call class_template_headers.
12631
12632        * Scripts/webkit2/messages_unittest.py:
12633        (CoreIPC):
12634        * Scripts/webkit2/parser.py:
12635        (split_parameters_string):
12636        (parse_parameters_string):
12637
126382013-02-13  David Farler  <dfarler@apple.com>
12639
12640        Make WebKit2 Derived Sources work with SDK identifiers too
12641        https://bugs.webkit.org/show_bug.cgi?id=109763
12642
12643        Reviewed by David Kilzer.
12644
12645        * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
12646
126472013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
12648
12649        One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
12650
12651        * WebProcess/WebProcess.cpp:
12652        (WebKit::WebProcess::WebProcess):
12653
126542013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
12655
12656        Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
12657
12658        * WebProcess/WebProcess.h:
12659        (WebKit):
12660
126612013-02-13  Adam Barth  <abarth@webkit.org>
12662
12663        Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
12664        https://bugs.webkit.org/show_bug.cgi?id=109733
12665
12666        Reviewed by Sam Weinig.
12667
12668        After http://trac.webkit.org/changeset/142555, this ASSERT is
12669        triggering on these tests:
12670
12671        fast/dom/window-load-crash.html
12672        fast/frames/seamless/seamless-hyperlink-named.html
12673        fast/frames/seamless/seamless-hyperlink.html
12674
12675        The ASSERT appears to be bogus. This patch removes it.
12676
12677        * UIProcess/WebFrameProxy.cpp:
12678        (WebKit::WebFrameProxy::didStartProvisionalLoad):
12679
126802013-02-13  Sam Weinig  <sam@webkit.org>
12681
12682        Consolidate main functions in WebKit2 now that they are all identical
12683        https://bugs.webkit.org/show_bug.cgi?id=109748
12684
12685        Reviewed by Anders Carlsson.
12686
12687        - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
12688        - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
12689        - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
12690        - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
12691          matching the XPCService.
12692
12693        * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
12694        * Configurations/BaseXPCService.xcconfig:
12695        * Configurations/NetworkProcess.xcconfig:
12696        * Configurations/OfflineStorageProcess.xcconfig:
12697        * Configurations/PluginProcess.xcconfig:
12698        * Configurations/SharedWorkerProcess.xcconfig:
12699        * Configurations/WebContentProcess.xcconfig: Renamed form  WebProcess.xcconfig.
12700        * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
12701        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
12702        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
12703        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
12704        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
12705        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
12706        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
12707        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
12708        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
12709        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
12710        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
12711        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
12712        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
12713        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
12714        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
12715        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 
12716        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 
12717        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
12718        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
12719        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
12720        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
12721        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
12722        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
12723        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
12724        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
12725        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
12726        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
12727        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
12728        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
12729        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
12730        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
12731        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
12732        * WebKit2.xcodeproj/project.pbxproj:
12733
127342013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
12735
12736        [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
12737        https://bugs.webkit.org/show_bug.cgi?id=108794
12738
12739        Reviewed by Alexey Proskuryakov.
12740
12741        Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
12742        and ewk_text_checker as it is internal C++ API. WKString and
12743        WKEinaSharedString are used instead.
12744
12745        * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
12746        (WKEinaSharedString::leakString): Add leakString() method to
12747        WKEinaSharedString so that we can conveniently convert a WKString to a
12748        Eina shared string and take ownership of it.
12749        * UIProcess/API/cpp/efl/WKEinaSharedString.h:
12750        * UIProcess/API/efl/ewk_cookie_manager.cpp:
12751        (getHostnamesWithCookiesCallback):
12752        * UIProcess/API/efl/ewk_form_submission_request.cpp:
12753        (EwkFormSubmissionRequest::copyFieldValue):
12754        (ewk_form_submission_request_field_names_get):
12755        (ewk_form_submission_request_field_value_get):
12756        * UIProcess/API/efl/ewk_form_submission_request_private.h:
12757        (EwkFormSubmissionRequest):
12758        * UIProcess/API/efl/ewk_text_checker.cpp:
12759        (checkSpellingOfString):
12760        (guessesForWord):
12761        (learnWord):
12762        (ignoreWord):
12763        * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
12764        (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
12765
127662013-02-13  Anders Carlsson  <andersca@apple.com>
12767
12768        Remove Connection::QueueClient
12769        https://bugs.webkit.org/show_bug.cgi?id=109744
12770
12771        Reviewed by Sam Weinig.
12772
12773        * Platform/CoreIPC/Connection.cpp:
12774        (CoreIPC::Connection::processIncomingMessage):
12775        (CoreIPC::Connection::connectionDidClose):
12776        * Platform/CoreIPC/Connection.h:
12777        (Connection):
12778
127792013-02-13  Anders Carlsson  <andersca@apple.com>
12780
12781        Try to fix the Lion build.
12782
12783        * WebProcess/WebPage/EventDispatcher.h:
12784        (EventDispatcher):
12785
127862013-02-13  Anders Carlsson  <andersca@apple.com>
12787
12788        Remove support for the DispatchOnConnectionQueue message attribute
12789        https://bugs.webkit.org/show_bug.cgi?id=109743
12790
12791        Reviewed by Sam Weinig.
12792
12793        * Platform/CoreIPC/HandleMessage.h:
12794        (CoreIPC):
12795        * Scripts/webkit2/messages.py:
12796        (handler_function):
12797        (generate_message_handler):
12798        * Scripts/webkit2/messages_unittest.py:
12799
128002013-02-13  Anders Carlsson  <andersca@apple.com>
12801
12802        StorageManager should be a WorkQueueMessageReceiver
12803        https://bugs.webkit.org/show_bug.cgi?id=109741
12804
12805        Reviewed by Sam Weinig.
12806
12807        * UIProcess/Storage/StorageManager.cpp:
12808        (WebKit::StorageManager::processWillOpenConnection):
12809        (WebKit::StorageManager::processWillCloseConnection):
12810        (WebKit::StorageManager::createStorageArea):
12811        (WebKit::StorageManager::destroyStorageArea):
12812        * UIProcess/Storage/StorageManager.h:
12813        (StorageManager):
12814        * UIProcess/Storage/StorageManager.messages.in:
12815
128162013-02-13  Anders Carlsson  <andersca@apple.com>
12817
12818        EventDispatcher should be a WorkQueueMessageReceiver
12819        https://bugs.webkit.org/show_bug.cgi?id=109736
12820
12821        Reviewed by Andreas Kling.
12822
12823        * WebProcess/WebPage/EventDispatcher.cpp:
12824        (WebKit::EventDispatcher::create):
12825        (WebKit):
12826        (WebKit::EventDispatcher::EventDispatcher):
12827        (WebKit::EventDispatcher::initializeConnection):
12828        (WebKit::EventDispatcher::wheelEvent):
12829        (WebKit::EventDispatcher::gestureEvent):
12830        * WebProcess/WebPage/EventDispatcher.h:
12831        (EventDispatcher):
12832        * WebProcess/WebPage/EventDispatcher.messages.in:
12833        * WebProcess/WebProcess.cpp:
12834        (WebKit::WebProcess::WebProcess):
12835        (WebKit::WebProcess::initializeConnection):
12836        * WebProcess/WebProcess.h:
12837        (WebKit):
12838        (WebKit::WebProcess::eventDispatcher):
12839        (WebProcess):
12840
128412013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
12842
12843        Unreviewed build fix after r142768.
12844
12845        r142768 broke the EFL WK2 build due to wrong member initialization
12846        order in the WebProcess constructor initialization list.
12847
12848        * WebProcess/WebProcess.cpp:
12849        (WebKit::WebProcess::WebProcess):
12850
128512013-02-13  Anders Carlsson  <andersca@apple.com>
12852
12853        Make PluginProcessConnectionManager a WorkQueueMessageReceiver
12854        https://bugs.webkit.org/show_bug.cgi?id=109727
12855
12856        Reviewed by Andreas Kling.
12857
12858        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
12859        (WebKit::PluginProcessConnectionManager::create):
12860        (WebKit):
12861        (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
12862        (WebKit::PluginProcessConnectionManager::initializeConnection):
12863        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
12864        * WebProcess/Plugins/PluginProcessConnectionManager.h:
12865        (PluginProcessConnectionManager):
12866        * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
12867        * WebProcess/WebProcess.cpp:
12868        (WebKit::WebProcess::WebProcess):
12869        (WebKit::WebProcess::initializeConnection):
12870        (WebKit::WebProcess::pluginProcessConnectionManager):
12871        * WebProcess/WebProcess.h:
12872        (WebKit):
12873        (WebProcess):
12874
128752013-02-13  Anders Carlsson  <andersca@apple.com>
12876
12877        Make SecItemShimProxy be a WorkQueueMessageReceiver
12878        https://bugs.webkit.org/show_bug.cgi?id=109719
12879
12880        Reviewed by Sam Weinig.
12881
12882        This adds a WantsConnection message attribute to be used for messages whose handlers
12883        should take the connection the message was delivered to.
12884        
12885        * Platform/CoreIPC/HandleMessage.h:
12886        (CoreIPC::handleMessage):
12887        Add new handleMessage overload.
12888        
12889        * Scripts/webkit2/messages.py:
12890        (async_message_statement):
12891        (generate_message_handler):
12892        Handle the WantsMessage attribute.
12893
12894        * UIProcess/mac/SecItemShimProxy.cpp:
12895        (WebKit::SecItemShimProxy::shared):
12896        Use dispatch_once and adoptRef.
12897
12898        (WebKit::SecItemShimProxy::SecItemShimProxy):
12899        Initialize the queue.
12900
12901        (WebKit::SecItemShimProxy::initializeConnection):
12902        Add the proxy as a work queue message receiver.
12903
12904        (WebKit::SecItemShimProxy::secItemRequest):
12905        This no longer needs to call out to a dispatch queue, it's already on a queue.
12906
12907        * UIProcess/mac/SecItemShimProxy.messages.in:
12908        This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
12909
129102013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
12911
12912        Unreviewed, rolling out r142736.
12913        http://trac.webkit.org/changeset/142736
12914        https://bugs.webkit.org/show_bug.cgi?id=109716
12915
12916        Broke ABI, nightly builds crash on launch (Requested by ap on
12917        #webkit).
12918
12919        * Shared/APIClientTraits.cpp:
12920        (WebKit):
12921        * Shared/APIClientTraits.h:
12922        * UIProcess/API/C/WKPage.h:
12923        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
12924        (attachLoaderClientToView):
12925        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
12926        * WebProcess/qt/QtBuiltinBundlePage.cpp:
12927        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
12928
129292013-02-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
12930
12931        [WK2][EFL] Cleanup of graphics related code in EwkView
12932        https://bugs.webkit.org/show_bug.cgi?id=109377
12933
12934        Reviewed by Anders Carlsson.
12935
12936        * UIProcess/API/efl/EwkView.cpp:
12937        (EwkView::EwkView):
12938
12939            Initialize the evasGL dependencies here and
12940            set m_isAccelerated to false if this fails.
12941
12942            Set the coordinated graphics scene as active
12943            when using fixed layout.
12944
12945        (EwkView::setSize):
12946
12947            Add a method to set the size and user-viewport
12948            transform from the outside. The idea is moving
12949            this to our pure WK C API in the future.
12950
12951        (EwkView::transformFromScene):
12952        (EwkView::transformToScene):
12953
12954            Update the transform methods to use the user-
12955            viewport transform.
12956
12957        (EwkView::paintToCurrentGLContext):
12958        (EwkView::paintToCairoSurface):
12959
12960            Add methods to paint to either the current GL context
12961            or to a given cairo_surface_t (for software fallback
12962            cases).
12963
12964        (EwkView::displayTimerFired):
12965
12966            Clean up and use the two above methods.
12967
12968        (EwkView::scheduleUpdateDisplay):
12969
12970            Use the new size() methods instead of using the 
12971            smart-object data directly.
12972
12973        (EwkView::createGLSurface):
12974
12975            Make this method use size() to query the surface size
12976            and avoid creating the context (done in ctor now).
12977            Also avoid using the smart-object data directly.
12978
12979        (EwkView::enterAcceleratedCompositingMode):
12980        (EwkView::exitAcceleratedCompositingMode):
12981
12982            Turn on/off the use of the coord. graphics scene.
12983
12984        (EwkView::handleEvasObjectCalculate):
12985
12986            Use the new setSize and setUserViewportTransform.
12987
12988        (EwkView::takeSnapshot):
12989        * UIProcess/API/efl/EwkView.h:
12990        (WebCore):
12991        (EwkView):
12992        (EwkView::size):
12993        (EwkView::setUserViewportTransform):
12994        (EwkView::userViewportTransform):
12995
12996            Add the new method definitions and rename isHardwareAccelerated
12997            to isAccelerated which fits better with the naming in WebCore.
12998
129992013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
13000
13001        [EFL][WK2] Introduce WKViewClient C API
13002        https://bugs.webkit.org/show_bug.cgi?id=109559
13003
13004        Reviewed by Anders Carlsson.
13005
13006        This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
13007        this new C API is to eventually remove the interdependency between EFL's
13008        PageClient and EwkView. When completed, PageClient should only interact with
13009        WebView and not be aware of EwkView so that we have a clean separation between
13010        internal WebKit2 classes and our EFL Ewk API implementation.
13011
13012        This patch is only a first step towards this goal as there is a lot of work
13013        to do to achieve complete separation between EwkView and PageClient. The purpose
13014        of this patch is to introduce the needed architecture which will later be
13015        extended by introducing new WKViewClient callbacks.
13016
13017        * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
13018        configuration.
13019        * UIProcess/API/C/efl/WKView.cpp:
13020        (WKViewSetViewClient):
13021        * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
13022        * UIProcess/API/efl/EwkView.cpp:
13023        (EwkView::EwkView): Initialize ViewClientEfl.
13024        * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
13025        (WebKit):
13026        (EwkView):
13027        * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
13028        accept a WKSize in parameter instead of an IntRect.
13029        * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
13030        interacting directly with EwkView to avoid violating API layering.
13031        (WebKit::PageClientBase::view):
13032        (WebKit::PageClientBase::setViewNeedsDisplay):
13033        * UIProcess/efl/PageClientBase.h:
13034        (WebKit):
13035        (PageClientBase):
13036        * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
13037        interacting directly with EwkView to avoid violating API layering.
13038        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
13039        * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
13040        interacting directly with EwkView to avoid violating API layering.
13041        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
13042        * UIProcess/efl/ViewClientEfl.cpp:
13043        (WebKit):
13044        (WebKit::ViewClientEfl::toEwkView):
13045        (WebKit::ViewClientEfl::viewNeedsDisplay):
13046        (WebKit::ViewClientEfl::didChangeContentsSize):
13047        (WebKit::ViewClientEfl::ViewClientEfl):
13048        (WebKit::ViewClientEfl::~ViewClientEfl):
13049        * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
13050        and interacts with EwkView.
13051        (WebKit):
13052        (ViewClientEfl):
13053        (WebKit::ViewClientEfl::create):
13054        * UIProcess/efl/WebView.cpp:
13055        (WebKit::WebView::initializeClient):
13056        (WebKit):
13057        (WebKit::WebView::setViewNeedsDisplay):
13058        (WebKit::WebView::didChangeContentsSize):
13059        * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
13060        with it.
13061        (WebView):
13062        * UIProcess/efl/WebViewClient.cpp:
13063        (WebKit):
13064        (WebKit::WebViewClient::viewNeedsDisplay):
13065        (WebKit::WebViewClient::didChangeContentsSize):
13066        * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
13067        (WebCore):
13068        (WebKit):
13069
130702013-02-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
13071
13072        [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
13073        https://bugs.webkit.org/show_bug.cgi?id=109456
13074
13075        Reviewed by Anders Carlsson.
13076
13077        WebView destructor now considers the situation if its WebPageProxy
13078        instance had been closed from outside the class (explicitly
13079        by client code).
13080
13081        * UIProcess/efl/WebView.cpp:
13082        (WebKit::WebView::~WebView):
13083
130842013-02-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
13085
13086        [WK2] Remove web intents callbacks
13087        https://bugs.webkit.org/show_bug.cgi?id=109654
13088
13089        Reviewed by Benjamin Poulain.
13090
13091        Web intents was removed by r142549.
13092
13093        * Shared/APIClientTraits.cpp:
13094        (WebKit):
13095        * Shared/APIClientTraits.h:
13096        * UIProcess/API/C/WKPage.h:
13097        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
13098        (attachLoaderClientToView):
13099        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13100        * WebProcess/qt/QtBuiltinBundlePage.cpp:
13101        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
13102
131032013-02-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
13104
13105        [WK2] Page reloading will crash UIProcess after WebProcess was killed
13106        https://bugs.webkit.org/show_bug.cgi?id=109305
13107
13108        Reviewed by Benjamin Poulain.
13109
13110        Re-initialize the pointer to a WebInspectorProxy object before calling
13111        initializeWebPage().
13112
13113        When the WebProcess crashes, WebPageProxy::processDidCrash() will
13114        set WebInspectorProxy pointer to null, which later is accessed by
13115        initializeWebPage(). This patch avoids a crash scenario where
13116        calls into a null pointer would be made.
13117
13118        * UIProcess/WebPageProxy.cpp:
13119        (WebKit::WebPageProxy::reattachToWebProcess):
13120
131212013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
13122
13123        [iOS] Enable PAGE_VISIBILITY_API
13124        https://bugs.webkit.org/show_bug.cgi?id=109399
13125
13126        Reviewed by David Kilzer.
13127
13128        * Configurations/FeatureDefines.xcconfig:
13129
131302013-02-12  Brady Eidson  <beidson@apple.com>
13131
13132        Update a comment in NetworkProcess to be more accurate.
13133
13134        Rubberstamped by Sam Weinig.
13135
13136        * NetworkProcess/NetworkProcess.cpp:
13137        (WebKit::NetworkProcess::didClose):
13138
131392013-02-12  Anders Carlsson  <andersca@apple.com>
13140
13141        SecItemShim should be a WorkQueueMessageReceiver
13142        https://bugs.webkit.org/show_bug.cgi?id=109636
13143
13144        Reviewed by Sam Weinig.
13145
13146        * Platform/CoreIPC/Connection.cpp:
13147        (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
13148        Add a helper function for dispatching a work queue message receiver message.
13149
13150        (CoreIPC::Connection::processIncomingMessage):
13151        Check if there are any work queue message receivers registered for this message.
13152
13153        * Shared/mac/SecItemShim.cpp:
13154        (WebKit::SecItemShim::shared):
13155        Use dispatch_once instead of the AtomicallyInitializedStatic macro.
13156
13157        (WebKit::SecItemShim::SecItemShim):
13158        Initialize the queue.
13159
13160        (WebKit::SecItemShim::secItemResponse):
13161        Remove the connection parameter.
13162
13163        (WebKit::SecItemShim::initializeConnection):
13164        Register the shim object as a work queue message receiver.
13165
13166        * Shared/mac/SecItemShim.h:
13167        Inherit from WorkQueueMessageReceiver.
13168
13169        * Shared/mac/SecItemShim.messages.in:
13170        Remove LegacyReceiver and DispatchOnConnectionQueue.
13171
131722013-02-12  Sam Weinig  <sam@webkit.org>
13173
13174        Make Plug-in XPC services "join existing sessions"
13175        <rdar://problem/13196448>
13176
13177        Reviewed by Mark Rowe.
13178
13179        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
13180        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
13181        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
13182
131832013-02-12  Sam Weinig  <sam@webkit.org>
13184
13185        Add skeleton of the OfflineStorageProcess
13186        https://bugs.webkit.org/show_bug.cgi?id=109615
13187
13188        Reviewed by Anders Carlsson.
13189
13190        This adds the skeleton of a new process to contain Database and Local Storage
13191        backends in (hence, offline storage). We're adding a new process, rather than
13192        using the Network or UIProcesses, to allow us to tightly sandbox these activities
13193        away from networking and full filesystem access.
13194
13195        * Configurations/OfflineStorageProcess.xcconfig: Added.
13196        * Configurations/OfflineStorageService.Development.xcconfig: Added.
13197        * Configurations/OfflineStorageService.xcconfig: Added.
13198        * DerivedSources.make:
13199        * OfflineStorageProcess: Added.
13200        * OfflineStorageProcess/EntryPoint: Added.
13201        * OfflineStorageProcess/EntryPoint/mac: Added.
13202        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
13203        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
13204        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
13205        * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
13206        * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
13207        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
13208        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
13209        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
13210        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
13211        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
13212        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
13213        * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
13214        * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
13215        * OfflineStorageProcess/OfflineStorageProcess.h: Added.
13216        * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
13217        * OfflineStorageProcess/mac: Added.
13218        * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
13219        (WebKit::OfflineStorageProcess::initializeProcessName):
13220        (WebKit::OfflineStorageProcess::initializeSandbox):
13221        * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
13222        * Shared/OfflineStorage: Added.
13223        * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
13224        * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
13225
13226        * Scripts/webkit2/messages.py:
13227        (struct_or_class):
13228        Added OfflineStorageProcessCreationParameters.
13229
13230        * WebKit2.xcodeproj/project.pbxproj:
13231
132322013-02-12  Jinwoo Song  <jinwoo7.song@samsung.com>
13233
13234        [EFL][WK2] Fix build warning after r142579
13235        https://bugs.webkit.org/show_bug.cgi?id=109547
13236
13237        Reviewed by Alexey Proskuryakov.
13238
13239        Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
13240
13241        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
13242        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
13243
132442013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
13245
13246        [EFL][WK2] Reenable ewk_auth_request API tests
13247        https://bugs.webkit.org/show_bug.cgi?id=108451
13248
13249        Reviewed by Benjamin Poulain.
13250
13251        ewk_auth_request API tests were temporarily disabled after
13252        the C API for resource loading was removed from WebKit2.
13253        This patches updates the tests so that they no longer rely
13254        on the resource loading events and renables them.
13255
13256        This patch also corrects the naming of the static variables
13257        in the test to follow more closely the WebKit coding style.
13258
13259        * PlatformEfl.cmake:
13260        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
13261        (serverCallback):
13262        (TEST_F):
13263        (onLoadFinished):
13264
132652013-02-12  Anders Carlsson  <andersca@apple.com>
13266
13267        Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
13268        https://bugs.webkit.org/show_bug.cgi?id=109612
13269
13270        Reviewed by Andreas Kling.
13271
13272        * Platform/CoreIPC/Connection.cpp:
13273        (CoreIPC::Connection::addWorkQueueMessageReceiver):
13274        (CoreIPC):
13275        (CoreIPC::Connection::removeWorkQueueMessageReceiver):
13276        (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
13277        (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
13278        * Platform/CoreIPC/Connection.h:
13279        (Connection):
13280
132812013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
13282
13283        Typo fix after r142663.
13284
13285        * GNUmakefile.list.am:
13286
132872013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
13288
13289        [WK2] Unreviewed trivial buildfix after r142630 and r142651.
13290
13291        * CMakeLists.txt:
13292        * GNUmakefile.list.am:
13293        * Target.pri:
13294        * UIProcess/Plugins/PluginProcessProxy.cpp:
13295        (WebKit::PluginProcessProxy::didFinishLaunching):
13296        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
13297        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
13298        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
13299        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
13300
133012013-02-12  Anders Carlsson  <andersca@apple.com>
13302
13303        Change the queue client base class to be private everywhere
13304        https://bugs.webkit.org/show_bug.cgi?id=109604
13305
13306        Reviewed by Andreas Kling.
13307
13308        Move connection queue client registration inside of the respective queue client classes.
13309
13310        Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
13311        ChildProcessProxy::connectionWillOpen instead.
13312        
13313        Finally, assert that queue clients are only being added and removed from the client thread.
13314
13315        * NetworkProcess/NetworkProcess.cpp:
13316        (WebKit::NetworkProcess::initializeConnection):
13317        * Platform/CoreIPC/Connection.cpp:
13318        (CoreIPC::Connection::addQueueClient):
13319        (CoreIPC::Connection::removeQueueClient):
13320        * Shared/mac/SecItemShim.cpp:
13321        (WebKit::SecItemShim::initializeConnection):
13322        (WebKit):
13323        * Shared/mac/SecItemShim.h:
13324        (SecItemShim):
13325        * UIProcess/Network/NetworkProcessProxy.cpp:
13326        (WebKit::NetworkProcessProxy::connectionWillOpen):
13327        (WebKit):
13328        (WebKit::NetworkProcessProxy::connectionWillClose):
13329        (WebKit::NetworkProcessProxy::didFinishLaunching):
13330        * UIProcess/Network/NetworkProcessProxy.h:
13331        (NetworkProcessProxy):
13332        * UIProcess/WebProcessProxy.cpp:
13333        (WebKit::WebProcessProxy::connectionWillOpen):
13334        (WebKit::WebProcessProxy::didFinishLaunching):
13335        * UIProcess/mac/SecItemShimProxy.cpp:
13336        (WebKit::SecItemShimProxy::initializeConnection):
13337        (WebKit):
13338        * UIProcess/mac/SecItemShimProxy.h:
13339        (SecItemShimProxy):
13340        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13341        (WebKit::PluginProcessConnectionManager::initializeConnection):
13342        (WebKit):
13343        * WebProcess/Plugins/PluginProcessConnectionManager.h:
13344        (PluginProcessConnectionManager):
13345        * WebProcess/WebPage/EventDispatcher.cpp:
13346        (WebKit::EventDispatcher::initializeConnection):
13347        (WebKit):
13348        * WebProcess/WebPage/EventDispatcher.h:
13349        (EventDispatcher):
13350        * WebProcess/WebProcess.cpp:
13351        (WebKit::WebProcess::initializeConnection):
13352
133532013-02-12  Brady Eidson  <beidson@apple.com>
13354
13355        Add WKContext API to retrieve basic network process statistics
13356        https://bugs.webkit.org/show_bug.cgi?id=109329
13357
13358        Reviewed by Sam Weinig.
13359
13360        This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
13361        certain types of statistics.
13362
13363        It also expands the "get statistics" callback mechanism to allow for a statistics request 
13364        to be answered by multiple child processes.
13365
13366        That mechanism still has some rough edges but will eventually allow for getting statistics
13367        from multiple web processes, as well.
13368
13369        * NetworkProcess/HostRecord.cpp:
13370        (WebKit::HostRecord::pendingRequestCount):
13371        (WebKit::HostRecord::activeLoadCount):
13372        * NetworkProcess/HostRecord.h:
13373
13374        * NetworkProcess/NetworkProcess.cpp:
13375        (WebKit::NetworkProcess::getNetworkProcessStatistics):
13376        * NetworkProcess/NetworkProcess.h:
13377        * NetworkProcess/NetworkProcess.messages.in:
13378
13379        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
13380        (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
13381        (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
13382        (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
13383        (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
13384        * NetworkProcess/NetworkResourceLoadScheduler.h:
13385
13386        * Shared/Authentication/AuthenticationManager.h:
13387        (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
13388        * Shared/Downloads/DownloadManager.h:
13389
13390        * UIProcess/API/C/WKContext.cpp:
13391        (WKContextGetStatistics):
13392        (WKContextGetStatisticsWithOptions):
13393        * UIProcess/API/C/WKContext.h:
13394
13395        * UIProcess/StatisticsRequest.cpp: Added.
13396        (WebKit::StatisticsRequest::StatisticsRequest):
13397        (WebKit::StatisticsRequest::~StatisticsRequest):
13398        (WebKit::StatisticsRequest::addOutstandingRequest):
13399        (WebKit::addToDictionaryFromHashMap):
13400        (WebKit::createDictionaryFromHashMap):
13401        (WebKit::StatisticsRequest::completedRequest):
13402        * UIProcess/StatisticsRequest.h: Added.
13403        (WebKit::StatisticsRequest::create):
13404
13405        * UIProcess/WebContext.cpp:
13406        (WebKit::WebContext::networkingProcessConnection):
13407        (WebKit::WebContext::getStatistics):
13408        (WebKit::WebContext::requestWebContentStatistics):
13409        (WebKit::WebContext::requestNetworkingStatistics):
13410        (WebKit::WebContext::didGetStatistics):
13411        * UIProcess/WebContext.h:
13412        * UIProcess/WebContext.messages.in:
13413
13414        * WebProcess/WebProcess.cpp:
13415        (WebKit::WebProcess::getWebCoreStatistics):
13416
13417        * WebKit2.xcodeproj/project.pbxproj:
13418
134192013-02-12  Anders Carlsson  <andersca@apple.com>
13420
13421        Build fix.
13422
13423        Add back the files to the Xcode project that were removed in r142580.
13424
13425        * WebKit2.xcodeproj/project.pbxproj:
13426        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13427
134282013-02-12  Jessie Berlin  <jberlin@apple.com>
13429
13430        Build fix after r142540 and r142518
13431
13432        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13433        (WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
13434        This function was added to the header in r142518 but not implemented in that revision.
13435        It wasn't a problem until r142540 started using it.
13436        Add a stub implementation for it.
13437
134382013-02-11  Brady Eidson  <beidson@apple.com>
13439
13440        Make PluginProcessProxy a ChildProcessProxy.
13441        https://bugs.webkit.org/show_bug.cgi?id=109513
13442
13443        Reviewed by Anders Carlsson.
13444
13445        * Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
13446        * UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
13447        * UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
13448        * UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy
13449
13450        Rely on ChildProcessProxy for process launcher management and launch options:
13451        * UIProcess/Plugins/PluginProcessProxy.cpp:
13452        (WebKit::PluginProcessProxy::PluginProcessProxy):
13453        (WebKit::PluginProcessProxy::getLaunchOptions):
13454        (WebKit::PluginProcessProxy::getPluginProcessConnection):
13455        (WebKit::PluginProcessProxy::getSitesWithData):
13456        (WebKit::PluginProcessProxy::clearSiteData):
13457        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
13458        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
13459        (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
13460
134612013-02-11  Alexey Proskuryakov  <ap@apple.com>
13462
13463        <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control
13464
13465        Reviewed by Sam Weinig.
13466
13467        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
13468
134692013-02-11  Huang Dongsung  <luxtella@company100.net>
13470
13471        Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
13472        https://bugs.webkit.org/show_bug.cgi?id=108922
13473
13474        Reviewed by Noam Rosenthal.
13475        Signed off for WebKit2 by Benjamin Poulain.
13476
13477        Currently, CoordinatedGraphicsScene has two methods to know contents
13478        size: setContentsSize() and setVisibleContentsRect(). Contents size is
13479        used when adjusting a scroll position, but adjustment is not needed
13480        because EFL and Qt platform code (currently PageViewportController)
13481        already adjusts a scroll position, and it is natural for each platform
13482        to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
13483        not know contents size.
13484
13485        In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
13486        to get CoordinatedGraphicsScene.
13487
13488        * UIProcess/API/qt/qquickwebpage.cpp:
13489        (QQuickWebPagePrivate::updateSize):
13490        * UIProcess/API/qt/raw/qrawwebview.cpp:
13491        (QRawWebView::setSize):
13492        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
13493        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
13494        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
13495        (CoordinatedLayerTreeHostProxy):
13496        * UIProcess/efl/PageClientLegacyImpl.cpp:
13497        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
13498        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
13499        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
13500
135012013-02-11  Huang Dongsung  <luxtella@company100.net>
13502
13503        Coordinated Graphics: remove the DidChangeScrollPosition message.
13504        https://bugs.webkit.org/show_bug.cgi?id=108051
13505
13506        Reviewed by Noam Rosenthal.
13507        Signed off for WebKit2 by Benjamin Poulain.
13508
13509        Currently, we use the DidChangeScrollPosition message to send the scroll
13510        position that WebCore used in this frame to UI Process. We had to have
13511        some member variables for the DidChangeScrollPosition message.
13512        However, we can send a scroll position via the DidRenderFrame message,
13513        because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
13514        updated at the moment of flushing. So we can remove the
13515        DidChangeScrollPosition message and some redundant member variables.
13516
13517        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
13518        (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
13519        (WebKit):
13520        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
13521        (CoordinatedLayerTreeHostProxy):
13522        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
13523          Remove the DidChangeScrollPosition message.
13524        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
13525        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
13526        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
13527          Send a scroll position via the DidChangeScrollPosition message.
13528        (WebKit::CoordinatedLayerTreeHost::syncLayerState):
13529          Don't send a scroll position because flushPendingLayerChanges() does
13530          that. In addition, it is weird to check if we must send a scroll
13531          position at the moment of sending the SyncLayerState message of every
13532          layers.
13533        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
13534        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
13535
135362013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
13537
13538        Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
13539        https://bugs.webkit.org/show_bug.cgi?id=109534
13540
13541        Reviewed by Anders Carlsson.
13542
13543        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13544        (WebKit):
13545        * WebProcess/WebCoreSupport/WebEditorClient.h:
13546
135472013-02-11  Jae Hyun Park  <jae.park@company100.net>
13548
13549        [EFL] Build fix
13550        https://bugs.webkit.org/show_bug.cgi?id=109518
13551
13552        Reviewed by Laszlo Gombos.
13553
13554        Fix EFL build by including PluginProcessConnectionManager.messages.in in
13555        CMakeLists.txt
13556
13557        * CMakeLists.txt:
13558
135592013-02-11  Anders Carlsson  <andersca@apple.com>
13560
13561        Fix build.
13562
13563        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13564        (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
13565        * WebProcess/WebProcess.cpp:
13566
135672013-02-11  Seulgi Kim  <seulgikim@company100.net>
13568
13569        [GTK] Build fix.
13570        https://bugs.webkit.org/show_bug.cgi?id=109516
13571
13572        Reviewed by Csaba Osztrogonác.
13573
13574        PluginProcessConnectionManagerMessages are omitted from messages list.
13575
13576        * GNUmakefile.list.am:
13577
135782013-02-11  Tim Horton  <timothy_horton@apple.com>
13579
13580        [WK2] setMinimumLayoutWidth should bail if there's no WebProcess
13581        https://bugs.webkit.org/show_bug.cgi?id=109512
13582        <rdar://problem/13093627>
13583
13584        Reviewed by Anders Carlsson.
13585
13586        * UIProcess/WebPageProxy.cpp:
13587        (WebKit::WebPageProxy::setMinimumLayoutWidth):
13588
135892013-02-11  Anders Carlsson  <andersca@apple.com>
13590
13591        PluginProcessConnectionManager should be a QueueClient
13592        https://bugs.webkit.org/show_bug.cgi?id=109496
13593
13594        Reviewed by Andreas Kling.
13595
13596        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13597        (WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
13598        (WebKit):
13599        (WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
13600        * WebProcess/Plugins/PluginProcessConnectionManager.h:
13601        (PluginProcessConnectionManager):
13602        * WebProcess/WebProcess.cpp:
13603        (WebKit::WebProcess::initializeConnection):
13604        * WebProcess/WebProcess.h:
13605        (WebProcess):
13606
136072013-02-11  Csaba Osztrogonác  <ossy@webkit.org>
13608
13609        Unreviewed WK2 buildfix after r142518.
13610
13611        * DerivedSources.pri:
13612
136132013-02-11  Gavin Barraclough  <barraclough@apple.com>
13614
13615        PluginProcess should quit immediately if idle in response to low-memory notifications
13616        https://bugs.webkit.org/show_bug.cgi?id=109103
13617        <rdar://problem/12679827>
13618
13619        Reviewed by Brady Eidson.
13620
13621        PluginProcess now installs a MemoryPressureHandler for the process, providing
13622        a custom callback which will call terminate if appropriate (if the plugin is not
13623        currently in use).
13624
13625        * PluginProcess/PluginProcess.cpp:
13626        (WebKit::PluginProcess::lowMemoryHandler):
13627            - Custom callback to terminate if appropriate.
13628        (WebKit::PluginProcess::initializeProcess):
13629            - Install the MemoryPressureHandler.
13630        (WebKit::PluginProcess::shouldTerminate):
13631            - This method now also needs to be callable in situations where it might return false.
13632        * PluginProcess/PluginProcess.h:
13633        (PluginProcess):
13634            - Added declaration for lowMemoryHandler.
13635
136362013-02-11  Anders Carlsson  <andersca@apple.com>
13637
13638        Move the PluginProcessCrashed message to PluginProcessConnectionManager
13639        https://bugs.webkit.org/show_bug.cgi?id=109493
13640
13641        Reviewed by Andreas Kling.
13642
13643        This is in preparation for making PluginProcessConnectionManager a connection queue client.
13644
13645        * DerivedSources.make:
13646        * UIProcess/Plugins/PluginProcessProxy.cpp:
13647        (WebKit::PluginProcessProxy::didClose):
13648        * WebKit2.xcodeproj/project.pbxproj:
13649        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
13650        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
13651        * WebProcess/Plugins/PluginProcessConnectionManager.h:
13652        (PluginProcessConnectionManager):
13653        * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
13654        * WebProcess/WebProcess.cpp:
13655        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
13656        (WebKit::WebProcess::webResourceLoadScheduler):
13657        * WebProcess/WebProcess.h:
13658        (WebProcess):
13659        * WebProcess/WebProcess.messages.in:
13660
136612013-02-11  Benjamin Poulain  <benjamin@webkit.org>
13662
13663        Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
13664        https://bugs.webkit.org/show_bug.cgi?id=109349
13665
13666        Reviewed by Sam Weinig.
13667
13668        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
13669        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
13670        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13671        * WebProcess/InjectedBundle/InjectedBundle.h:
13672        (InjectedBundle):
13673
136742013-02-11  Dean Jackson  <dino@apple.com>
13675
13676        Snapshotted plug-in should use shadow root
13677        https://bugs.webkit.org/show_bug.cgi?id=108284
13678
13679        Reviewed by Simon Fraser.
13680
13681        Take three of this commit - after rollout in r142400 and r142405.
13682        We no longer have any need for plugInStartLabelImage.
13683
13684        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
13685        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
13686        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
13687        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
13688
136892013-02-11  Anders Carlsson  <andersca@apple.com>
13690
13691        The plug-in process connection manager doesn't need to be heap allocated
13692        https://bugs.webkit.org/show_bug.cgi?id=109479
13693
13694        Reviewed by Andreas Kling.
13695
13696        * WebProcess/WebProcess.cpp:
13697        (WebKit::WebProcess::WebProcess):
13698        (WebKit::WebProcess::pluginProcessConnectionManager):
13699        (WebKit::WebProcess::pluginProcessCrashed):
13700        * WebProcess/WebProcess.h:
13701        (WebKit):
13702        (WebProcess):
13703
137042013-02-11  Tony Chang  <tony@chromium.org>
13705
13706        Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
13707        https://bugs.webkit.org/show_bug.cgi?id=87149
13708
13709        Reviewed by Simon Fraser.
13710
13711        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13712        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.
13713
137142013-02-11  Claudio Saavedra  <csaavedra@igalia.com>
13715
13716        [WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
13717        https://bugs.webkit.org/show_bug.cgi?id=108459
13718
13719        Reviewed by Alexey Proskuryakov.
13720
13721        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
13722        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
13723        Providers might return 0 and we will end up with a null-pointer dereference.
13724        Early check against this.
13725
137262013-02-10  Sam Weinig  <sam@webkit.org>
13727
13728        Make the Plug-in XPCService build work even when building in Xcode
13729        <rdar://problem/13011186>
13730        https://bugs.webkit.org/show_bug.cgi?id=109392
13731
13732        Reviewed by Anders Carlsson.
13733
13734        * Configurations/DebugRelease.xcconfig:
13735        Add a DEBUG_OR_RELEASE variable to test against.
13736        * Configurations/PluginService.32.xcconfig:
13737        * Configurations/PluginService.64.xcconfig:
13738        In non-production builds, don't link against WebKit2, so that we don't get warnings about WebKit2.framework
13739        not containing the right architectures. This is ok, as these services are not used in non-production builds.
13740
13741        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
13742        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
13743        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
13744        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
13745        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
13746        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
13747        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
13748        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
13749        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
13750        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
13751        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
13752        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
13753        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
13754        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
13755        Switch off the the old idiom of defining a macro for the initializer function, and instead set
13756        it in the Info.plist, so the XPCServiceBootstrapper can grab it.
13757
13758        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
13759        (WebKit::XPCServiceEventHandler):
13760        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
13761        (WebKit::XPCServiceEventHandler):
13762        Get the entry point from the bundle, rather than the macro. This is not only a bit less gross,
13763        but also allows us to build without having linked against WebKit2.framework.
13764
13765        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
13766        (WebKit::shouldUseXPC):
13767        Re-enable using XPC for plug-ins.
13768
13769        * WebKit2.xcodeproj/project.pbxproj:
13770        Update project.
13771
137722013-02-10  Anders Carlsson  <andersca@apple.com>
13773
13774        Add back code that was accidentally removed when moving plug-in enumeration back to the main thread
13775        https://bugs.webkit.org/show_bug.cgi?id=109379
13776
13777        Reviewed by Andreas Kling.
13778
13779        * UIProcess/WebProcessProxy.cpp:
13780        (WebKit::WebProcessProxy::getPlugins):
13781
137822013-02-10  Kent Tamura  <tkent@chromium.org>
13783
13784        Unreviewed, rolling out r142347.
13785        http://trac.webkit.org/changeset/142347
13786        https://bugs.webkit.org/show_bug.cgi?id=108273
13787
13788        Because a depending change r142343 was rolled out.
13789
13790        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
13791        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
13792        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
13793        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
13794
137952013-02-10  Kent Tamura  <tkent@chromium.org>
13796
13797        Unreviewed, rolling out r142343.
13798        http://trac.webkit.org/changeset/142343
13799        https://bugs.webkit.org/show_bug.cgi?id=108284
13800
13801        It might make inspector/profiler/selector-profiler-url.html
13802        crashy.
13803
13804        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
13805        (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage):
13806        (WebKit):
13807        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
13808        (InjectedBundlePageUIClient):
13809        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13810        (WebKit::WebChromeClient::plugInStartLabelImage):
13811        (WebKit):
13812        * WebProcess/WebCoreSupport/WebChromeClient.h:
13813        (WebChromeClient):
13814
138152013-02-10  Zan Dobersek  <zdobersek@igalia.com>
13816
13817        [WebKit2][Gtk] Remove the fullscreen manager proxy message receiver upon invalidating
13818        https://bugs.webkit.org/show_bug.cgi?id=109352
13819
13820        Reviewed by Sam Weinig.
13821
13822        As added for the Mac port in r142160 due to the changes in the same revision, remove
13823        the fullscreen manager proxy as a message receiver. Also fixes a failing unit test.
13824
13825        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
13826        (WebKit::WebFullScreenManagerProxy::invalidate):
13827
138282013-02-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
13829
13830        [WK2] Fix build on PLUGIN_ARCHITECTURE(UNSUPPORTED) after r142314
13831        https://bugs.webkit.org/show_bug.cgi?id=109364
13832
13833        Reviewed by Simon Hausmann.
13834
13835        void NetscapePlugin::platformPreInitialize() is need to be added to NetscapePluginNone.cpp.
13836
13837        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
13838        (WebKit::NetscapePlugin::platformPreInitialize):
13839        (WebKit):
13840
138412013-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
13842
13843        Unreviewed, rolling out r137328.
13844        http://trac.webkit.org/changeset/137328
13845        https://bugs.webkit.org/show_bug.cgi?id=109367
13846
13847        causes memory usage to balloon if connection queue is filling
13848        faster than sending (Requested by kling on #webkit).
13849
13850        * Platform/CoreIPC/ArgumentEncoder.cpp:
13851        (CoreIPC::ArgumentEncoder::ArgumentEncoder):
13852        (CoreIPC::ArgumentEncoder::grow):
13853        * Platform/CoreIPC/ArgumentEncoder.h:
13854        (CoreIPC::ArgumentEncoder::buffer):
13855        (ArgumentEncoder):
13856
138572013-02-08  Sam Weinig  <sam@webkit.org>
13858
13859        Fix ASSERT when the Web Content Process crashes
13860        https://bugs.webkit.org/show_bug.cgi?id=109346
13861
13862        Reviewed by Simon Fraser.
13863
13864        * UIProcess/WebPageProxy.cpp:
13865        (WebKit::WebPageProxy::processDidCrash):
13866        We need to remove ourselves as a message receiver before calling out to the client, as
13867        the client might want to re-add us (as Safari does).
13868
138692013-02-08  Benjamin Poulain  <bpoulain@apple.com>
13870
13871        Move workerThreadCount from TestRunner to WebCore Internals
13872        https://bugs.webkit.org/show_bug.cgi?id=109239
13873
13874        Reviewed by Darin Adler.
13875
13876        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
13877        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
13878        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13879        * WebProcess/InjectedBundle/InjectedBundle.h:
13880        (InjectedBundle):
13881        * WebProcess/WebPage/WebFrame.cpp: Remove a useless #include.
13882
138832013-02-08  Dean Jackson  <dino@apple.com>
13884
13885        Remove use of plugInStartLabelImage
13886        https://bugs.webkit.org/show_bug.cgi?id=108273
13887
13888        Reviewed by Simon Fraser.
13889
13890        Remove any use of plugInStartLabelImage. While there, implement plugInStartLabelTitle
13891        and plugInStartLabelSubtitle to return the values from the client.
13892        implement them.
13893
13894        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Remove callback and entry from client structure.
13895        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
13896        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): Ask the client bundle for value.
13897        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): Ditto.
13898
138992013-02-08  Dean Jackson  <dino@apple.com>
13900
13901        Snapshotted plug-in should use shadow root
13902        https://bugs.webkit.org/show_bug.cgi?id=108284
13903
13904        Reviewed by Simon Fraser.
13905
13906        Take two of this commit! We no longer have any need for plugInStartLabelImage.
13907
13908        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
13909        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
13910        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
13911        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
13912
139132013-02-08  Dean Jackson  <dino@apple.com>
13914
13915        Rolling out r142333 and r142337 which broke Mac Release builds.
13916
139172013-02-08  Anders Carlsson  <andersca@apple.com>
13918
13919        Move plug-in enumeration back to the main thread
13920        https://bugs.webkit.org/show_bug.cgi?id=109337
13921        <rdar://problem/12015046>
13922
13923        Reviewed by Andreas Kling.
13924
13925        Plug-in enumeration was moved to a separate work queue to improve responsiveness, but
13926        doing so lead to crashes when WebKit1 would enumerate plug-ins on the main thread at the same time.
13927        Bug <rdar://problem/13185819> tracks fixing the responsiveness issue by spawning a plug-in process
13928        and have it do the enumeration.
13929
13930        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13931        (WebKit::getPluginInfoFromCarbonResources):
13932        * UIProcess/WebProcessProxy.cpp:
13933        (WebKit::WebProcessProxy::connectionWillOpen):
13934        (WebKit::WebProcessProxy::connectionWillClose):
13935        (WebKit::WebProcessProxy::getPlugins):
13936        * UIProcess/WebProcessProxy.h:
13937        (WebCore):
13938        (WebProcessProxy):
13939        * UIProcess/WebProcessProxy.messages.in:
13940        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
13941        (WebKit):
13942        (WebKit::WebPlatformStrategies::populatePluginCache):
13943        * WebProcess/WebProcess.cpp:
13944        * WebProcess/WebProcess.h:
13945        (WebProcess):
13946        * WebProcess/WebProcess.messages.in:
13947
139482013-02-08  Dean Jackson  <dino@apple.com>
13949
13950        Snapshotted plug-in should use shadow root
13951        https://bugs.webkit.org/show_bug.cgi?id=108284
13952
13953        Reviewed by Simon Fraser.
13954
13955        We no longer have any need for plugInStartLabelImage.
13956
13957        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
13958        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
13959        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
13960        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
13961
139622013-02-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
13963
13964        [WK2] Fix the build on !Mac after r142314.
13965        https://bugs.webkit.org/show_bug.cgi?id=109327
13966
13967        Reviewed by Benjamin Poulain.
13968
13969        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
13970        (WebKit::NetscapePlugin::platformPreInitialize): Add a stub for
13971        the newly-added function.
13972
13973        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
13974        (WebKit::NetscapePlugin::platformPreInitialize):
13975        (WebKit):
13976
139772013-02-07  Anders Carlsson  <andersca@apple.com>
13978
13979        Work around a bug in Flash where NSException objects can be released too early
13980        https://bugs.webkit.org/show_bug.cgi?id=109242
13981        <rdar://problem/13003470>
13982
13983        Reviewed by Darin Adler.
13984
13985        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
13986        (WebKit::NetscapePluginModule::determineQuirks):
13987        Set the new plug-in quirk.
13988
13989        * Shared/Plugins/PluginQuirks.h:
13990        Add a new plug-in quirk.
13991
13992        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
13993        (WebKit::NetscapePlugin::initialize):
13994        Call platformPreInitialize.
13995
13996        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
13997        (NetscapePlugin):
13998        Add platformPreInitialize.
13999
14000        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
14001        (WebKit::NSException_release):
14002        Add new empty function.
14003
14004        (WebKit::NetscapePlugin::platformPreInitialize):
14005        Patch -[NSException release] to be a no-op.
14006
140072013-02-08  Dean Jackson  <dino@apple.com>
14008
14009        Do not register autostart for plugins from file:// (or nowhere)
14010        https://bugs.webkit.org/show_bug.cgi?id=108271
14011
14012        Reviewed by Tim Horton.
14013
14014        If the pageOrigin is the empty string don't add
14015        it to the auto-start origin list for snapshotting.
14016
14017        * WebProcess/WebProcess.cpp:
14018        (WebKit::WebProcess::addPlugInAutoStartOrigin):
14019
140202013-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
14021
14022        Unreviewed, rolling out r142212.
14023        http://trac.webkit.org/changeset/142212
14024        https://bugs.webkit.org/show_bug.cgi?id=109255
14025
14026        Causes ASSERT(!m_installed) on launch (Requested by smfr on
14027        #webkit).
14028
14029        * PluginProcess/PluginProcess.cpp:
14030        (WebKit::PluginProcess::initializeProcess):
14031        (WebKit::PluginProcess::shouldTerminate):
14032        * PluginProcess/PluginProcess.h:
14033        (PluginProcess):
14034        * WebProcess/WebProcess.cpp:
14035        (WebKit::WebProcess::initializeWebProcess):
14036
140372013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
14038
14039        [EFL][WK2] Remove dead code after r142169
14040        https://bugs.webkit.org/show_bug.cgi?id=109251
14041
14042        Reviewed by Benjamin Poulain.
14043
14044        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14045        (WebKit::WebChromeClient::contentsSizeChanged):
14046
140472013-02-06  Gavin Barraclough  <barraclough@apple.com>
14048
14049        PluginProcess should quit immediately if idle in response to low-memory notifications
14050        https://bugs.webkit.org/show_bug.cgi?id=109103
14051        <rdar://problem/12679827>
14052
14053        Reviewed by Darin Adler.
14054
14055        PluginProcess now initializes a MemoryPressureHandler for the process, providing
14056        a custom callback which will call terminate if appropriate (if the plugin is not
14057        currently in use).
14058
14059        * PluginProcess/PluginProcess.cpp:
14060        (WebKit::PluginProcess::lowMemoryHandler):
14061            - Custom callback to terminate if appropriate.
14062        (WebKit::PluginProcess::initializeProcess):
14063            - Initialize the MemoryPressureHandler.
14064        (WebKit::PluginProcess::shouldTerminate):
14065            - This method now also needs to be callable in situations where it might return false.
14066        * PluginProcess/PluginProcess.h:
14067        (PluginProcess):
14068            - Added declaration for lowMemoryHandler.
14069        * WebProcess/WebProcess.cpp:
14070        (WebKit::WebProcess::initializeWebProcess):
14071            - MemoryPressureHandler::install is now called via MemoryPressureHandler::initialize.
14072
140732013-02-07  KwangYong Choi  <ky0.choi@samsung.com>
14074
14075        Fix build warning after r142017
14076        https://bugs.webkit.org/show_bug.cgi?id=109119
14077
14078        Reviewed by Alexey Proskuryakov.
14079
14080        Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
14081
14082        * UIProcess/WebPageProxy.cpp:
14083        (WebKit::WebPageProxy::getPluginPath):
14084
140852013-02-07  Martin Robinson  <mrobinson@igalia.com>
14086
14087        [GTK] Cleanup command-line defines
14088        https://bugs.webkit.org/show_bug.cgi?id=109213
14089
14090        Reviewed by Xan Lopez.
14091
14092        * GNUmakefile.am:  Remove references to flags that are now
14093        provided by autotoolsconfig.h.
14094
140952013-02-07  Benjamin Poulain  <bpoulain@apple.com>
14096
14097        Move pauseAnimation/pauseTransition from TestRunner to Internals
14098        https://bugs.webkit.org/show_bug.cgi?id=109107
14099
14100        Reviewed by Anders Carlsson.
14101
14102        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
14103        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
14104        * WebProcess/WebPage/WebFrame.cpp:
14105        * WebProcess/WebPage/WebFrame.h:
14106        (WebFrame):
14107
141082013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
14109
14110        [WK2][EFL] Removal of non coordinated graphics code path from WK2 EFL
14111        https://bugs.webkit.org/show_bug.cgi?id=109165
14112
14113        Reviewed by Anders Carlsson.
14114
14115        Removed non coordinated graphics code path from WK2 EFL as it was not used by
14116        anyone and caused a lot of preprocessor macros in the code making it less readable.
14117
14118        * UIProcess/API/efl/EvasGLContext.cpp:
14119        * UIProcess/API/efl/EvasGLContext.h:
14120        (WebKit::EvasGLContext::context):
14121        * UIProcess/API/efl/EvasGLSurface.cpp:
14122        * UIProcess/API/efl/EvasGLSurface.h:
14123        (WebKit::EvasGLSurface::surface):
14124
14125            Removed also 'inline' and 'const' keywords from functions declaration,
14126            as both EvasGLContext::context() and EvasGLSurface::surface()
14127            are defined inside their classes and return mutable pointer.
14128
14129        * UIProcess/API/efl/EwkView.cpp:
14130        (EwkView::EwkView):
14131        (EwkView::transformFromScene):
14132        (EwkView::transformToScreen):
14133        (EwkView::coordinatedGraphicsScene):
14134        (EwkView::displayTimerFired):
14135        (EwkView::scheduleUpdateDisplay): Renamed from EwkView::update().
14136        (EwkView::exitAcceleratedCompositingMode):
14137        (EwkView::handleEvasObjectCalculate):
14138        (EwkView::takeSnapshot):
14139        * UIProcess/API/efl/EwkView.h:
14140        (WebCore):
14141        (EwkView):
14142        * UIProcess/API/efl/SnapshotImageGL.cpp:
14143        (getImageSurfaceFromFrameBuffer):
14144        * UIProcess/API/efl/SnapshotImageGL.h:
14145        * UIProcess/API/efl/ewk_view.cpp:
14146        * UIProcess/efl/PageClientBase.cpp:
14147        (WebKit::PageClientBase::setViewNeedsDisplay):
14148        (WebKit::PageClientBase::updateAcceleratedCompositingMode):
14149        * UIProcess/efl/PageClientBase.h:
14150        (PageClientBase):
14151        * UIProcess/efl/PageClientDefaultImpl.cpp:
14152        (WebKit::PageClientDefaultImpl::didCommitLoad):
14153        (WebKit::PageClientDefaultImpl::updateViewportSize):
14154        (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
14155        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
14156        (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
14157        * UIProcess/efl/PageClientDefaultImpl.h:
14158        (PageClientDefaultImpl):
14159        * UIProcess/efl/PageClientLegacyImpl.cpp:
14160        (WebKit::PageClientLegacyImpl::didCommitLoad):
14161        (WebKit::PageClientLegacyImpl::updateViewportSize):
14162        (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
14163        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
14164        (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
14165        (WebKit::PageClientLegacyImpl::didRenderFrame):
14166        (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
14167        * UIProcess/efl/PageClientLegacyImpl.h:
14168        (PageClientLegacyImpl):
14169        * UIProcess/efl/PageLoadClientEfl.cpp:
14170        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
14171        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
14172        * UIProcess/efl/PageLoadClientEfl.h:
14173        (PageLoadClientEfl):
14174        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
14175        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
14176        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
14177        * UIProcess/efl/PageViewportControllerClientEfl.h:
14178        * UIProcess/efl/WebInspectorProxyEfl.cpp:
14179        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
14180        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14181        (WebKit::WebChromeClient::contentsSizeChanged):
14182
141832013-02-06  Sam Weinig  <sam@webkit.org>
14184
14185        Make WebPageProxy and sub-objects MessageReceivers
14186        https://bugs.webkit.org/show_bug.cgi?id=108785
14187
14188        Reviewed by Anders Carlsson.
14189
14190        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
14191        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
14192        (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
14193        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
14194        (CoordinatedLayerTreeHostProxy):
14195        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
14196        * UIProcess/DrawingAreaProxy.cpp:
14197        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
14198        (WebKit::DrawingAreaProxy::~DrawingAreaProxy):
14199        (WebKit::DrawingAreaProxy::contentsRect):
14200        * UIProcess/DrawingAreaProxy.h:
14201        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
14202        * UIProcess/DrawingAreaProxy.messages.in:
14203        * UIProcess/DrawingAreaProxyImpl.cpp:
14204        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
14205        * UIProcess/DrawingAreaProxyImpl.h:
14206        * UIProcess/WebFullScreenManagerProxy.cpp:
14207        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
14208        * UIProcess/WebFullScreenManagerProxy.h:
14209        (WebFullScreenManagerProxy):
14210        * UIProcess/WebFullScreenManagerProxy.messages.in:
14211        * UIProcess/WebInspectorProxy.cpp:
14212        (WebKit::WebInspectorProxy::WebInspectorProxy):
14213        (WebKit::WebInspectorProxy::invalidate):
14214        * UIProcess/WebInspectorProxy.h:
14215        * UIProcess/WebInspectorProxy.messages.in:
14216        * UIProcess/WebPageProxy.cpp:
14217        (WebKit::WebPageProxy::WebPageProxy):
14218        (WebKit::WebPageProxy::reattachToWebProcess):
14219        (WebKit::WebPageProxy::close):
14220        (WebKit::WebPageProxy::inspector):
14221        (WebKit::WebPageProxy::fullScreenManager):
14222        (WebKit::WebPageProxy::processDidCrash):
14223        * UIProcess/WebPageProxy.h:
14224        * UIProcess/WebPageProxy.messages.in:
14225        * UIProcess/WebProcessProxy.cpp:
14226        (WebKit::WebProcessProxy::didReceiveMessage):
14227        (WebKit::WebProcessProxy::didReceiveSyncMessage):
14228        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
14229        (WebKit::WebFullScreenManagerProxy::invalidate):
14230
142312013-02-07  Zan Dobersek  <zdobersek@igalia.com>
14232
14233        [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
14234        https://bugs.webkit.org/show_bug.cgi?id=109198
14235
14236        Reviewed by Martin Robinson.
14237
14238        * GNUmakefile.am: Remove the FARSTREAM_(CFLAGS|LIBS) variables, they're
14239        not set to anything.
14240
142412013-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14242
14243        [WK2][EFL] Add WKView methods related to background drawing
14244        https://bugs.webkit.org/show_bug.cgi?id=109159
14245
14246        Reviewed by Anders Carlsson.
14247
14248        * UIProcess/API/C/efl/WKView.cpp:
14249        (WKViewSetDrawsBackground):
14250        (WKViewGetDrawsBackground):
14251        (WKViewSetDrawsTransparentBackground):
14252        (WKViewGetDrawsTransparentBackground):
14253         * UIProcess/efl/WebView.cpp:
14254        (WebKit::WebView::setDrawsBackground):
14255        (WebKit):
14256        (WebKit::WebView::drawsBackground):
14257        (WebKit::WebView::setDrawsTransparentBackground):
14258        (WebKit::WebView::drawsTransparentBackground):
14259        * UIProcess/efl/WebView.h:
14260        (WebView):
14261       * UIProcess/API/C/efl/WKView.h:
14262
14263            New methods added
14264
14265        * UIProcess/API/efl/EwkView.cpp:
14266        (EwkView::EwkView):
14267        (EwkView::displayTimerFired):
14268        (EwkView::handleEvasObjectColorSet):
14269        * UIProcess/API/efl/EwkView.h:
14270        (EwkView):
14271        * UIProcess/API/efl/ewk_view.cpp:
14272        (ewk_view_draws_page_background_set):
14273
14274            Remove the unneeded m_setDrawsBackground and replace
14275            it with the WKView setting.
14276
142772013-02-07  Christophe Dumez  <dchris@gmail.com>
14278
14279        [EFL][WK2] EWK2UnitTestBase.ewk_view_page_contents_get API test is sometimes failing
14280        https://bugs.webkit.org/show_bug.cgi?id=108634
14281
14282        Reviewed by Alexey Proskuryakov.
14283
14284        Use more robust data validation in EWK2UnitTestBase.ewk_view_page_contents_get
14285        so that the test passes consistently. The issue was that the header before the
14286        data includes the current date. Depending on the date, the data may start at a
14287        different index in the returned string. Instead of hardcoding the data start
14288        index in the test, we now use String::contains().
14289
14290        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
14291        (PageContentsCallback):
14292        (TEST_F):
14293
142942013-02-07  Gavin Peters  <gavinp@chromium.org>
14295
14296        Unreviewed, rolling out r142141.
14297        http://trac.webkit.org/changeset/142141
14298        https://bugs.webkit.org/show_bug.cgi?id=108990
14299
14300        Reland r142112, will update Chromium expectations and create a
14301        Chromium bug instead for the crash.
14302
14303        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
14304        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
14305        * WebProcess/WebPage/DrawingAreaImpl.cpp:
14306        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
14307
143082013-02-07  Gavin Peters  <gavinp@chromium.org>
14309
14310        Unreviewed, rolling out r142112.
14311        http://trac.webkit.org/changeset/142112
14312        https://bugs.webkit.org/show_bug.cgi?id=108990
14313
14314        The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
14315
14316        See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
14317
14318        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
14319        (WebKit::updateOffsetFromViewportForSelf):
14320        (WebKit):
14321        (WebKit::updateOffsetFromViewportForLayer):
14322        (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
14323        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
14324        * WebProcess/WebPage/DrawingAreaImpl.cpp:
14325        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
14326
143272013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
14328
14329        [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
14330        https://bugs.webkit.org/show_bug.cgi?id=108990
14331
14332        Reviewed by Noam Rosenthal.
14333        Signed off for WebKit2 by Simon Fraser.
14334
14335        WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
14336        don't need to traverse the tree every frame to get this information.
14337
14338        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: remove
14339        syncFixedLayers() and its helper functions. Those were used to identify the fixed layers
14340        and are not needed anymore.
14341        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
14342        * WebProcess/WebPage/DrawingAreaImpl.cpp:
14343        (WebKit::DrawingAreaImpl::DrawingAreaImpl): enable the scrolling coordinator usage for
14344        Coordinated Graphics.
14345
143462013-02-07  Michael Brüning  <michael.bruning@digia.com>
14347
14348        [Qt][WK2] Fold QtWebPageLoadClient into QQuickWebViewPrivate and move to C API.
14349        https://bugs.webkit.org/show_bug.cgi?id=108473
14350
14351        Reviewed by Simon Hausmann.
14352        Signed off for WebKit2 by Benjamin Poulain.
14353
14354        This patch removes the QtWebPageLoadClient and moves the functionality into the
14355        QQuickWebViewPrivate as most callback methods are calling the private webview
14356        indirectly anyway.
14357
14358        The patch also moves as much of the functionality to the C API as is possible with
14359        the current C API.
14360
14361        * Target.pri:
14362        * UIProcess/API/qt/qquickwebview.cpp:
14363        (QQuickWebViewPrivate::initialize):
14364        (QQuickWebViewPrivate::didStartProvisionalLoadForFrame):
14365        (QQuickWebViewPrivate::didReceiveServerRedirectForProvisionalLoadForFrame):
14366        (QQuickWebViewPrivate::didFailLoad):
14367        (QQuickWebViewPrivate::didCommitLoadForFrame):
14368        (QQuickWebViewPrivate::didFinishLoadForFrame):
14369        (QQuickWebViewPrivate::didSameDocumentNavigationForFrame):
14370        (QQuickWebViewPrivate::didReceiveTitleForFrame):
14371        (QQuickWebViewPrivate::didStartProgress):
14372        (QQuickWebViewPrivate::didChangeProgress):
14373        (QQuickWebViewPrivate::didFinishProgress):
14374        (QQuickWebViewPrivate::didChangeBackForwardList):
14375        (QQuickWebViewPrivate::setTransparentBackground):
14376        (QQuickWebViewPrivate::transparentBackground):
14377        (QQuickWebViewPrivate::loadProgressDidChange):
14378        * UIProcess/API/qt/qquickwebview_p.h:
14379        (WebKit):
14380        * UIProcess/API/qt/qquickwebview_p_p.h:
14381        (WebKit):
14382        (QQuickWebViewPrivate):
14383        * UIProcess/qt/QtWebError.cpp:
14384        (WebKit::QtWebError::url):
14385        * UIProcess/qt/QtWebPageLoadClient.cpp: Removed.
14386        * UIProcess/qt/QtWebPageLoadClient.h: Removed.
14387
143882013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
14389
14390        [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
14391        https://bugs.webkit.org/show_bug.cgi?id=97173
14392
14393        Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
14394
14395        Initialize and shutdown the EFL libraries in the ewk_main.cpp for
14396        UIProcess and WebProcessMainEfl.cpp for WebProcess.
14397
14398        This allows us to shut down the libraries in a proper way, since
14399        RunLoop persist until the process exits.
14400
14401        * UIProcess/API/efl/ewk_main.cpp:
14402        (ewk_init):
14403        (ewk_shutdown):
14404        * WebProcess/efl/WebProcessMainEfl.cpp:
14405        (WebKit::WebProcessMainEfl):
14406
144072013-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
14408
14409        Unreviewed build fix.
14410
14411        * UIProcess/Downloads/DownloadProxyMap.cpp:
14412        (WebKit::DownloadProxyMap::processDidClose):
14413        m_process can't be initialized nullptr yet. Use 0 instead of nullptr.
14414
144152013-02-07  Simon Hausmann  <simon.hausmann@digia.com>
14416
14417        [Qt][WK2] Fold QtWebPageFindClient into QQuickWebViewPrivate
14418        https://bugs.webkit.org/show_bug.cgi?id=108920
14419
14420        Reviewed by Jocelyn Turcotte, signed off for WK2 by Benjamin.
14421
14422        Employ the pattern suggested by Jocelyn to simply implement the C
14423        callbacks directly using static functions.
14424
14425        * Target.pri:
14426        * UIProcess/API/qt/qquickwebview.cpp:
14427        (toQQuickWebViewPrivate):
14428        (QQuickWebViewPrivate::initialize):
14429        (QQuickWebViewPrivate::didFindString):
14430        (QQuickWebViewPrivate::didFailToFindString):
14431        * UIProcess/API/qt/qquickwebview_p_p.h:
14432        (QQuickWebViewPrivate):
14433        * UIProcess/qt/QtWebPageFindClient.cpp: Removed.
14434        * UIProcess/qt/QtWebPageFindClient.h: Removed.
14435
144362013-02-03  Sam Weinig  <sam@webkit.org>
14437
14438        Make CustomProtocolManagerProxy a MessageReceiver
14439        https://bugs.webkit.org/show_bug.cgi?id=108787
14440
14441        Reviewed by Anders Carlsson.
14442
14443        * Shared/ChildProcessProxy.cpp:
14444        (WebKit::ChildProcessProxy::addMessageReceiver):
14445        (WebKit::ChildProcessProxy::removeMessageReceiver):
14446        (WebKit::ChildProcessProxy::dispatchMessage):
14447        (WebKit::ChildProcessProxy::dispatchSyncMessage):
14448        * Shared/ChildProcessProxy.h:
14449        Sink the MessageReceiverMap down into the ChildProcessProxy.
14450
14451        * UIProcess/Downloads/DownloadProxyMap.cpp:
14452        (WebKit::DownloadProxyMap::DownloadProxyMap):
14453        (WebKit::DownloadProxyMap::createDownloadProxy):
14454        (WebKit::DownloadProxyMap::downloadFinished):
14455        (WebKit::DownloadProxyMap::processDidClose):
14456        * UIProcess/Downloads/DownloadProxyMap.h:
14457        Pass the ChildProcessProxy rather than the MessageReceiverMap to the constructor.
14458
14459        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
14460        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
14461        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
14462        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
14463        Convert to a MessageReceiver.
14464
14465        * UIProcess/Network/NetworkProcessProxy.cpp:
14466        (WebKit::NetworkProcessProxy::createDownloadProxy):
14467        (WebKit::NetworkProcessProxy::didReceiveMessage):
14468        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
14469        * UIProcess/Network/NetworkProcessProxy.h:
14470        * UIProcess/WebProcessProxy.cpp:
14471        (WebKit::WebProcessProxy::didReceiveMessage):
14472        (WebKit::WebProcessProxy::didReceiveSyncMessage):
14473        (WebKit::WebProcessProxy::createDownloadProxy):
14474        * UIProcess/WebProcessProxy.h:
14475        (WebProcessProxy):
14476        Remove direct chaining to CustomProtocolManagerProxy.
14477
144782013-02-06  Enrica Casucci  <enrica@apple.com>
14479
14480        ASSERT(!m_findPageOverlay) in FindController.cpp after r140769.
14481        https://bugs.webkit.org/show_bug.cgi?id=109105.
14482
14483        Reviewed by Tim Horton.
14484
14485        In r140769 we changed the way the overlay is destroyed,
14486        therefore the assert is no longer valid and should be removed.
14487
14488        * WebProcess/WebPage/FindController.cpp:
14489        (WebKit::FindController::updateFindUIAfterPageScroll):
14490
144912013-02-06  Anders Carlsson  <andersca@apple.com>
14492
14493        Dispatch storage manager messages to the storage work queue
14494        https://bugs.webkit.org/show_bug.cgi?id=109099
14495
14496        Reviewed by Andreas Kling.
14497
14498        * UIProcess/Storage/StorageManager.cpp:
14499        (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
14500        (WebKit::StorageManager::dispatchMessageOnStorageManagerQueue):
14501        (WebKit):
14502        * UIProcess/Storage/StorageManager.h:
14503        (StorageManager):
14504
145052013-02-06  Anders Carlsson  <andersca@apple.com>
14506
14507        Pass the document source URL to the pluginLoadPolicy callback
14508        https://bugs.webkit.org/show_bug.cgi?id=109084
14509        <rdar://problem/13154516>
14510
14511        Reviewed by Andreas Kling.
14512
14513        * UIProcess/API/C/WKPage.h:
14514        * UIProcess/WebPageProxy.cpp:
14515        (WebKit::WebPageProxy::getPluginPath):
14516        * UIProcess/WebPageProxy.h:
14517        (WebPageProxy):
14518        * UIProcess/WebPageProxy.messages.in:
14519        * UIProcess/WebUIClient.cpp:
14520        (WebKit::WebUIClient::pluginLoadPolicy):
14521        * UIProcess/WebUIClient.h:
14522        (WebUIClient):
14523        * WebProcess/WebPage/WebPage.cpp:
14524        (WebKit::WebPage::createPlugin):
14525        (WebKit::WebPage::canPluginHandleResponse):
14526
145272013-02-06  Alexey Proskuryakov  <ap@apple.com>
14528
14529        Get rid of unneeded writeable preferences.
14530
14531        Reviewed by Anders Carlsson.
14532
14533        com.apple.HIToolbox.plist and com.apple.WebProcess.plist were made writeable very
14534        early in WebKit2 development, before we moved a lot of functionality to UI process.
14535        They don't appear to be needed any more.
14536
14537        Note that we do not even need to allow reading for com.apple.WebProcess.plist -
14538        it's read at process initialization before we enter the sandbox, and services
14539        have a different plist anyway.
14540
14541        * WebProcess/com.apple.WebProcess.sb.in:
14542
145432013-02-06  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
14544
14545        [EFL][WK2] Assertion failure on MiniBrowser exit
14546        https://bugs.webkit.org/show_bug.cgi?id=108932
14547
14548        Reviewed by Anders Carlsson.
14549
14550        WorkQueue is now refcounted after r141497, so increase ref
14551        count when a new job is scheduled and unref it when it finishes.
14552
14553        * Platform/efl/WorkQueueEfl.cpp:
14554        (WorkQueue::performWork):
14555        (WorkQueue::performTimerWork):
14556        (WorkQueue::dispatch):
14557        (WorkQueue::dispatchAfterDelay):
14558
145592013-02-06  Simon Hausmann  <simon.hausmann@digia.com>, Zoltan Arvai  <zarvai@inf.u-szeged.hu>
14560
14561        [WK2][Win] Fix build after MessageID.h related changes and after r141619.
14562        https://bugs.webkit.org/show_bug.cgi?id=108612
14563
14564        Reviewed by Anders Carlsson.
14565
14566        * Platform/CoreIPC/win/ConnectionWin.cpp:
14567        (CoreIPC::Connection::platformInvalidate):
14568        (CoreIPC::Connection::readEventHandler):
14569        (CoreIPC::Connection::open):
14570        (CoreIPC::Connection::sendOutgoingMessage):
14571        * Platform/WorkQueue.h:
14572        (WorkQueue::WorkItemWin::queue):
14573        (WorkItemWin):
14574        * Platform/win/SharedMemoryWin.cpp:
14575        (WebKit::SharedMemory::Handle::decode):
14576        * Platform/win/WorkQueueWin.cpp:
14577        (WorkQueue::handleCallback):
14578        (WorkQueue::performWorkOnRegisteredWorkThread):
14579
145802013-02-06  Mike West  <mkwst@chromium.org>
14581
14582        Add an ENABLE_NOSNIFF feature flag.
14583        https://bugs.webkit.org/show_bug.cgi?id=109029
14584
14585        Reviewed by Jochen Eisinger.
14586
14587        This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
14588        when processing script and other resource types.
14589
14590        * Configurations/FeatureDefines.xcconfig:
14591
145922013-02-06  Marja Hölttä  <marja@chromium.org>
14593
14594        Take referrer policy into account when clearing the referrer header
14595        https://bugs.webkit.org/show_bug.cgi?id=86000
14596
14597        Reviewed by Alexey Proskuryakov.
14598
14599        The referrer should only be cleared when doing a https -> http redirect,
14600        if the policy is "default". Otherwise the referrer should be left intact.
14601
14602        * NetworkProcess/NetworkResourceLoader.cpp:
14603        (WebKit::NetworkResourceLoader::start):
14604        * NetworkProcess/SchedulableLoader.cpp:
14605        (WebKit::SchedulableLoader::SchedulableLoader):
14606        * NetworkProcess/SchedulableLoader.h:
14607        (WebKit::SchedulableLoader::shouldClearReferrerOnHTTPSToHTTPRedirect):
14608        (SchedulableLoader):
14609        * NetworkProcess/SyncNetworkResourceLoader.cpp:
14610        (WebKit::SyncNetworkResourceLoader::start):
14611        * NetworkProcess/mac/RemoteNetworkingContext.h:
14612        (WebKit::RemoteNetworkingContext::create):
14613        (RemoteNetworkingContext):
14614        * NetworkProcess/mac/RemoteNetworkingContext.mm:
14615        (WebKit::RemoteNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
14616        (WebKit):
14617        (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
14618        * Shared/Network/NetworkResourceLoadParameters.cpp:
14619        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
14620        (WebKit::NetworkResourceLoadParameters::encode):
14621        (WebKit::NetworkResourceLoadParameters::decode):
14622        * Shared/Network/NetworkResourceLoadParameters.h:
14623        (NetworkResourceLoadParameters):
14624        (WebKit::NetworkResourceLoadParameters::shouldClearReferrerOnHTTPSToHTTPRedirect):
14625        * WebProcess/Network/WebResourceLoadScheduler.cpp:
14626        (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
14627        (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
14628        (WebKit::WebResourceLoadScheduler::scheduleLoad):
14629        * WebProcess/Network/WebResourceLoadScheduler.h:
14630        (WebResourceLoadScheduler):
14631        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
14632        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
14633
146342013-02-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
14635
14636        [EFL][WK2] Encapsulate Ewk View evas smart object code inside EwkView class
14637        https://bugs.webkit.org/show_bug.cgi?id=108062
14638
14639        Reviewed by Kenneth Rohde Christiansen.
14640
14641        The Ewk View implementation is encapsulated within EwkView class.
14642        Besides multiple refactoring of Ewk View evas smart object code was made.
14643
14644        * UIProcess/API/C/efl/WKView.cpp:
14645        (createWKView): 
14646
14647            Aux function to share WKView creation implementation.
14648
14649        * UIProcess/API/efl/EwkView.cpp:
14650        (smartDataChanged):
14651        (defaultSmartClassInstance):
14652        (toSmartData):
14653        (EwkView::initSmartClassInterface):
14654        (EwkView::toEvasObject):
14655        (EwkView::smartData):
14656
14657            Renamed and moved here from ewk_view.
14658
14659        (EwkViewEventHandler):
14660        (EwkViewEventHandler::subscribe):
14661        (EwkViewEventHandler::unsubscribe):
14662        (::handleEvent):
14663
14664            Added a new template class to encapsulate Ewk View Evas events handling.
14665
14666        (EwkView::EwkView):
14667        (EwkView::~EwkView):
14668
14669            Constructor and desctructor are private.
14670
14671        (EwkView::createEvasObject):
14672
14673            Added factory function for ewk view evas objects creation.
14674
14675        (EwkView::handleEvasObjectAdd):
14676        (EwkView::handleEvasObjectDelete):
14677        (EwkView::handleEvasObjectResize):
14678        (EwkView::handleEvasObjectMove):
14679        (EwkView::handleEvasObjectCalculate):
14680        (EwkView::handleEvasObjectShow):
14681        (EwkView::handleEvasObjectHide):
14682        (EwkView::handleEvasObjectColorSet):
14683
14684            Evas_Smart_Class interface callbacks moved into the EwkView class.
14685
14686        (EwkView::handleEwkViewFocusIn):
14687        (EwkView::handleEwkViewFocusOut):
14688        (EwkView::handleEwkViewMouseWheel):
14689        (EwkView::handleEwkViewMouseDown):
14690        (EwkView::handleEwkViewMouseUp):
14691        (EwkView::handleEwkViewMouseMove):
14692        (EwkView::handleEwkViewKeyDown):
14693        (EwkView::handleEwkViewKeyUp):
14694
14695            Ewk_View_Smart_Class interface callback moved into the EwkView class.
14696
14697        (EwkView::handleTouchDown):
14698        (EwkView::handleTouchUp):
14699        (EwkView::handleTouchMove):
14700
14701            Renamed.
14702
14703        (toEwkView): 
14704
14705            Aux function to get the EwkView instance fromevas object.
14706
14707        (isViewEvasObject):
14708
14709            Aux function to check that given evas object is ewk view.
14710
14711        * UIProcess/API/efl/EwkView.h:
14712        (EwkView::evasObject):
14713        (EwkView):
14714        * UIProcess/API/efl/ewk_view.cpp:
14715        (ewk_view_smart_class_set):
14716        (ewk_view_smart_add):
14717        (ewk_view_add_with_context):
14718        (ewk_view_feed_touch_event):
14719        (Ewk_Page_Contents_Context):
14720
14721        * UIProcess/API/efl/ewk_view_private.h: Removed.
14722
14723        * UIProcess/API/C/efl/WKView.cpp:
14724        (WKViewCreate):
14725        (WKViewCreateWithFixedLayout):
14726        (WKViewCreateSnapshot):
14727        * UIProcess/cairo/BackingStoreCairo.cpp:
14728        (WebKit::BackingStore::incorporateUpdate):
14729        * UIProcess/efl/ContextHistoryClientEfl.cpp:
14730        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
14731        (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
14732        (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
14733        (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
14734        * UIProcess/efl/PageClientBase.cpp:
14735        (WebKit::PageClientBase::processDidCrash):
14736        * UIProcess/efl/PageLoadClientEfl.cpp:
14737        (WebKit::PageLoadClientEfl::didChangeBackForwardList):
14738        * UIProcess/efl/PageUIClientEfl.cpp:
14739        (WebKit::PageUIClientEfl::takeFocus):
14740        (WebKit::PageUIClientEfl::focus):
14741        (WebKit::PageUIClientEfl::unfocus):
14742        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
14743        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
14744        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
14745        * UIProcess/efl/WebInspectorProxyEfl.cpp:
14746        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
14747        * UIProcess/efl/WebPageProxyEfl.cpp:
14748        (WebKit::WebPageProxy::viewWidget):
14749
14750             Updated due to changes in EwkView interface.
14751
147522013-02-05  Tim Horton  <timothy_horton@apple.com>
14753
14754        [wk2] TiledCoreAnimationDrawingArea has one more layer in its CAContext when we're in the background
14755        https://bugs.webkit.org/show_bug.cgi?id=108992
14756        <rdar://problem/13087365>
14757
14758        Reviewed by Anders Carlsson.
14759
14760        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14761        (TiledCoreAnimationDrawingArea): Add storage for m_isInWindow.
14762        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14763        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): Only set the root layer on our layer
14764        hosting context if we're in the window when swapping out contexts.
14765        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update m_isInWindow, and set the root layer
14766        of the layer hosting context (or unset it if we're out of the window).
14767
147682013-02-05  Anders Carlsson  <andersca@apple.com>
14769
14770        WebKit clients should be able to override loading of blocked plug-ins
14771        https://bugs.webkit.org/show_bug.cgi?id=108968
14772        <rdar://problem/13154516>
14773
14774        Reviewed by Sam Weinig.
14775
14776        Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
14777        of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
14778        force loading of blacklisted plug-ins (and vice versa).
14779
14780        * UIProcess/API/C/WKPage.h:
14781        * UIProcess/WebPageProxy.cpp:
14782        (WebKit::WebPageProxy::getPluginPath):
14783        * UIProcess/WebUIClient.cpp:
14784        (WebKit::toWKPluginLoadPolicy):
14785        (WebKit):
14786        (WebKit::toPluginModuleLoadPolicy):
14787        (WebKit::WebUIClient::pluginLoadPolicy):
14788        * UIProcess/WebUIClient.h:
14789        (WebUIClient):
14790
147912013-02-05  Simon Hausmann  <simon.hausmann@digia.com>
14792
14793        [Qt][WK2] Replace more uses of WebPageProxy with WKPage in QQuickWebView
14794        https://bugs.webkit.org/show_bug.cgi?id=108826
14795
14796        Reviewed by Kenneth Rohde Christiansen and signed off for WK2 by
14797        Benjamin Poulain.
14798
14799        This patch converts a few more usages of WebPageProxy to functions in
14800        the WKPage API.
14801
14802        * UIProcess/API/qt/qquickwebview.cpp:
14803        (QQuickWebViewPrivate::initialize):
14804        (QQuickWebViewLegacyPrivate::zoomFactor):
14805        (QQuickWebViewLegacyPrivate::setZoomFactor):
14806        (QQuickWebViewExperimental::postMessage):
14807        (QQuickWebViewExperimental::userAgent):
14808        (QQuickWebViewExperimental::setUserAgent):
14809        (QQuickWebViewExperimental::evaluateJavaScript):
14810        (QQuickWebViewExperimental::findText):
14811        (QQuickWebView::goBack):
14812        (QQuickWebView::goForward):
14813        (QQuickWebView::stop):
14814        (QQuickWebView::reload):
14815        (QQuickWebView::setUrl):
14816        (QQuickWebView::canGoBack):
14817        (QQuickWebView::canGoForward):
14818        (QQuickWebView::loading):
14819        (QQuickWebView::title):
14820        (QQuickWebView::pageRef):
14821        (QQuickWebView::loadHtml):
14822        (QQuickWebView::runJavaScriptInMainFrame):
14823        * UIProcess/API/qt/qquickwebview_p_p.h:
14824        (QQuickWebViewPrivate):
14825
148262013-02-04  Gwang Yoon Hwang  <ryumiel@company100.net>
14827
14828        Coordinated Graphics : disconnectCustomFilterProgram does not do anything.
14829        https://bugs.webkit.org/show_bug.cgi?id=108807
14830
14831        Reviewed by Anders Carlsson.
14832
14833        We need to add newly created WebCustomFilterProgramProxy to a hashset to
14834        disconnect when CoordinatedLayerTreeHost gets destructed.
14835
14836        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
14837        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
14838
148392013-02-04  Benjamin Poulain  <bpoulain@apple.com>
14840
14841        Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
14842        https://bugs.webkit.org/show_bug.cgi?id=108741
14843
14844        Reviewed by Tony Chang.
14845
14846        Suspending and resuming application has been useless for a one. Someone just
14847        "forgot" WebKit2.
14848
14849        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
14850        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
14851        * WebProcess/WebPage/WebFrame.cpp:
14852        * WebProcess/WebPage/WebFrame.h:
14853        (WebFrame):
14854
148552013-02-04  Jaehun Lim  <ljaehun.lim@samsung.com>
14856
14857        [EFL][WK2] Implement runBeforeUnloadConfirmPanel on EFL
14858        https://bugs.webkit.org/show_bug.cgi?id=106979
14859
14860        Reviewed by Benjamin Poulain.
14861
14862        Implement runBeforeUnloadConfirmPanel() to support window.onbeforeunload.
14863        We can show confirmation window when beforeunload event is fired.
14864
14865        * UIProcess/efl/PageUIClientEfl.cpp:
14866        (WebKit::PageUIClientEfl::PageUIClientEfl):
14867        (WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):
14868        (WebKit):
14869        * UIProcess/efl/PageUIClientEfl.h:
14870        (PageUIClientEfl):
14871
148722013-02-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14873
14874        [EFL][WK2] Introduce a WebView class as counterpart for WKViewRef
14875        https://bugs.webkit.org/show_bug.cgi?id=107931
14876
14877        Reviewed by Anders Carlsson.
14878
14879        This is just one step of the new plan for the EFL API.
14880
14881        The plan is to move the public EFL-like API on top of the shared
14882        WK2 C API, plus a few EFL extensions (WKView class mostly).
14883
14884        The EFL-like API can be seen as a convenience API which ties
14885        well into EFL and which makes it easy to add web experiences
14886        to existing and new EFL applications. It provides a smart object
14887        like API and a Evas_Object based view.
14888
14889        For more advanced use cases, such as browser and runtime, it is
14890        possible to use the WK* C API, which is gives more flexibility
14891        while being more low level.
14892
14893        The idea is that the WKView class will not depend on Evas_Object
14894        and X11 (future plan) unlike the current EFL-like API. This should
14895        make it possible to use it for cases where none of these are
14896        available.
14897
14898        This patch introduces the WebView class which serves as our
14899        counterpart for the WKView class, and adds a few needed methods.
14900
14901        The EwkView owns the WebView class (and will be constructing it
14902        in the near future when the EwkView class has been changed to
14903        handle all smart object related code)
14904
14905        The clean up of the smart object related code as the proper
14906        construction of EwkView and WebView will be done in follow-up
14907        patches.
14908
14909        * UIProcess/API/C/efl/WKAPICastEfl.h:
14910        (WebKit):
14911
14912            The WKView API is not based on WebView and not Evas_Object*
14913
14914        * UIProcess/API/C/efl/WKView.cpp:
14915        (WKViewCreate):
14916        (WKViewCreateWithFixedLayout):
14917        (WKViewInitialize):
14918        (WKViewGetPage):
14919        (WKViewSetThemePath):
14920        (WKViewSuspendActiveDOMObjectsAndAnimations):
14921        (WKViewResumeActiveDOMObjectsAndAnimations):
14922        (WKViewGetEvasObject):
14923        (WKViewCreateSnapshot):
14924
14925            Add a few new WKView EFL C methods, and update existing
14926            methods to reflect that the WKViewRef is now a WebView*
14927
14928            The construction methods will be rewritten when the smart
14929            object construction has been solved.
14930
14931        * UIProcess/API/C/efl/WKView.h:
14932        * UIProcess/efl/WebView.cpp: Added.
14933        (WebKit):
14934        (WebKit::WebView::WebView):
14935        (WebKit::WebView::~WebView):
14936        (WebKit::WebView::initialize):
14937        (WebKit::WebView::setThemePath):
14938        (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
14939        (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
14940        * UIProcess/efl/WebView.h: Added.
14941        (WebKit):
14942        (WebView):
14943        (WebKit::WebView::pageRef):
14944        (WebKit::WebView::evasObject):
14945        (WebKit::WebView::page):
14946        (WebKit::WebView::type):
14947
14948            Add a new WebKit::WebView class for EFL.
14949
14950        * UIProcess/API/efl/EwkView.cpp:
14951        (EwkView::EwkView):
14952        (EwkView::~EwkView):
14953        (EwkView::wkPage):
14954        (EwkView::setThemePath):
14955        (EwkView::createGLSurface):
14956
14957            Base methods on C API instead of internal API as much
14958            as currently possible.
14959
14960        * UIProcess/API/efl/EwkView.h:
14961        (WebKit):
14962        (WebView):
14963        (EwkView):
14964        (EwkView::wkView):
14965        (EwkView::page):
14966        * UIProcess/API/efl/ewk_view.cpp:
14967        (createEwkView):
14968        (ewk_view_base_add):
14969        (ewk_view_smart_add):
14970
14971            Modify to return the EwkView class for now.
14972
14973        * UIProcess/API/efl/ewk_view_private.h:
14974        * UIProcess/efl/WebInspectorProxyEfl.cpp:
14975        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
14976
14977            Updated due to changed API.
14978
149792013-02-04  Anders Carlsson  <andersca@apple.com>
14980
14981        Set up the storage manager as a connection queue
14982        https://bugs.webkit.org/show_bug.cgi?id=108879
14983
14984        Reviewed by Sam Weinig.
14985
14986        * UIProcess/Storage/StorageManager.cpp:
14987        (WebKit::StorageManager::processWillOpenConnection):
14988        Add the storage manager as a connection queue client.
14989
14990        (WebKit::StorageManager::processWillCloseConnection):
14991        Remove the storage manager.
14992
14993        * UIProcess/WebContext.cpp:
14994        (WebKit::WebContext::processWillOpenConnection):
14995        Call the storage manager.
14996
14997        (WebKit::WebContext::processWillCloseConnection):
14998        Call the storage manager.
14999
15000        * UIProcess/WebProcessProxy.cpp:
15001        (WebKit::WebProcessProxy::connectionWillOpen):
15002        Call the context.
15003
15004        (WebKit::WebProcessProxy::connectionWillClose):
15005        Call the context.
15006
15007        (WebKit::WebProcessProxy::didFinishLaunching):
15008        Remove a comment.
15009
150102013-02-04  Anders Carlsson  <andersca@apple.com>
15011
15012        Send message when creating and destroying StorageAreaProxy objects
15013        https://bugs.webkit.org/show_bug.cgi?id=108874
15014
15015        Reviewed by Sam Weinig.
15016
15017        * Shared/SecurityOriginData.cpp:
15018        (WebKit::SecurityOriginData::fromSecurityOrigin):
15019        * Shared/SecurityOriginData.h:
15020        (SecurityOriginData):
15021        Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
15022
15023        * WebProcess/Storage/StorageAreaProxy.cpp:
15024        (WebKit::generateStorageAreaID):
15025        New function to create a unique storage area ID.
15026
15027        (WebKit::StorageAreaProxy::StorageAreaProxy):
15028        Send a CreateStorageArea message.
15029        
15030        (WebKit::StorageAreaProxy::~StorageAreaProxy):
15031        Send a DestroyStorageArea message.
15032
15033        (WebKit::StorageAreaProxy::contains):
15034        Remove this assertion for now, it fires too often.
15035        
15036        * WebProcess/Storage/StorageNamespaceProxy.h:
15037        (WebKit::StorageNamespaceProxy::storageNamespaceID):
15038        Add getter.
15039
150402013-02-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
15041
15042        [EFL][WK2] Use C API inside EwkView
15043        https://bugs.webkit.org/show_bug.cgi?id=108825
15044
15045        Reviewed by Anders Carlsson.
15046
15047        A straight-forward port towards the C API.
15048
15049        * UIProcess/API/efl/EwkView.cpp:
15050        (EwkView::EwkView): Use C API for common default preferences.
15051        (EwkView::wkPage): Make it const and remove useless comment.
15052        (EwkView::deviceScaleFactor):
15053        (EwkView::title):
15054        (EwkView::customTextEncodingName):
15055        (EwkView::setCustomTextEncodingName):
15056        (EwkView::informURLChange):
15057        * UIProcess/API/efl/EwkView.h:
15058        (EwkView):
15059
150602013-02-04  Alexey Proskuryakov  <ap@apple.com>
15061
15062        Remove an unnecessary sandbox rule.
15063
15064        Reviewed by Sam Weinig.
15065
15066        * WebProcess/com.apple.WebProcess.sb.in: We already have a file-read rule for
15067        /Library/Managed Preferences, no need for another rule for something inside it.
15068
150692013-02-04  Brady Eidson  <beidson@apple.com>
15070
15071        WebProcess crashes handling repeated NetworkProcess crashes.
15072        <rdar://problem/13049867> and https://bugs.webkit.org/show_bug.cgi?id=108861
15073
15074        Reviewed by Alexey Proskuryakov.
15075
15076        - Rename the concept of "unschedulable loader" to "internally failed loader"
15077        - When the NetworkProcess crashes, add all outstanding ResourceLoaders into the unschedulable pile.
15078        * WebProcess/Network/WebResourceLoadScheduler.cpp:
15079        (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
15080        (WebKit::WebResourceLoadScheduler::scheduleLoad):
15081        (WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad):
15082        (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
15083        (WebKit::WebResourceLoadScheduler::remove): Also remove a non-helpful, out of date comment.
15084        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
15085        * WebProcess/Network/WebResourceLoadScheduler.h:
15086
15087        WebResourceLoader no longer responds to crashes directly, but now exposes its WebCore ResourceLoader:
15088        * WebProcess/Network/WebResourceLoader.cpp:
15089        * WebProcess/Network/WebResourceLoader.h:
15090        (WebKit::WebResourceLoader::resourceLoader):
15091
150922013-02-04  Anders Carlsson  <andersca@apple.com>
15093
15094        Update message generation to use the new queue client semantics
15095        https://bugs.webkit.org/show_bug.cgi?id=108865
15096
15097        Reviewed by Andreas Kling.
15098
15099        * Scripts/webkit2/messages.py:
15100        (connection_work_queue_message_statement):
15101        (async_message_statement):
15102        (generate_message_handler):
15103        * Scripts/webkit2/messages_unittest.py:
15104        * Shared/mac/SecItemShim.cpp:
15105        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
15106        * Shared/mac/SecItemShim.h:
15107        (SecItemShim):
15108        * UIProcess/Storage/StorageManager.cpp:
15109        (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
15110        * UIProcess/Storage/StorageManager.h:
15111        (StorageManager):
15112        * UIProcess/WebProcessProxy.cpp:
15113        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
15114        * UIProcess/WebProcessProxy.h:
15115        (WebProcessProxy):
15116        * UIProcess/mac/SecItemShimProxy.cpp:
15117        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
15118        * UIProcess/mac/SecItemShimProxy.h:
15119        (SecItemShimProxy):
15120        * WebKit2.xcodeproj/project.pbxproj:
15121        * WebProcess/WebPage/EventDispatcher.cpp:
15122        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
15123        * WebProcess/WebPage/EventDispatcher.h:
15124        (EventDispatcher):
15125        * WebProcess/WebProcess.cpp:
15126        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
15127        * WebProcess/WebProcess.h:
15128        (WebProcess):
15129
151302013-02-04  Abhishek Arya  <inferno@chromium.org>
15131
15132        Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
15133        https://bugs.webkit.org/show_bug.cgi?id=108668
15134
15135        Reviewed by Eric Seidel.
15136
15137        * Shared/mac/SandboxExtensionMac.mm:
15138        (WebKit::SandboxExtension::HandleArray::operator[]):
15139
151402013-02-04  Anders Carlsson  <andersca@apple.com>
15141
15142        Change didReceiveMessageOnConnectionWorkQueue semantics
15143        https://bugs.webkit.org/show_bug.cgi?id=108859
15144
15145        Reviewed by Sam Weinig.
15146
15147        Change didReceiveMessageOnConnectionWorkQueue to take a reference to an
15148        OwnPtr<MessageDecoder>. This lets queue clients handle a message later, on a different
15149        work queue for example. Also, get rid of the didHandleMessage boolean, since taking ownership
15150        of the decoder implicitly means that the message was handled.
15151        
15152        * Platform/CoreIPC/Connection.cpp:
15153        (CoreIPC::Connection::processIncomingMessage):
15154        * Platform/CoreIPC/Connection.h:
15155        (QueueClient):
15156        * Shared/mac/SecItemShim.cpp:
15157        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
15158        * Shared/mac/SecItemShim.h:
15159        (SecItemShim):
15160        * UIProcess/Storage/StorageManager.cpp:
15161        (WebKit::StorageManager::StorageManager):
15162        (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
15163        * UIProcess/Storage/StorageManager.h:
15164        (WebKit):
15165        (StorageManager):
15166        * UIProcess/WebProcessProxy.cpp:
15167        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
15168        * UIProcess/WebProcessProxy.h:
15169        (WebProcessProxy):
15170        * UIProcess/mac/SecItemShimProxy.cpp:
15171        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
15172        * UIProcess/mac/SecItemShimProxy.h:
15173        (SecItemShimProxy):
15174        * WebProcess/WebPage/EventDispatcher.cpp:
15175        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
15176        * WebProcess/WebPage/EventDispatcher.h:
15177        (EventDispatcher):
15178        * WebProcess/WebProcess.cpp:
15179        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
15180        * WebProcess/WebProcess.h:
15181        (WebProcess):
15182
151832013-02-04  Alexey Proskuryakov  <ap@apple.com>
15184
15185        <rdar://problem/12884778> Sandbox violation due to MediaAccessibility code trying to access ~/Library/Preferences/com.apple.mediaaccessibility.plist
15186
15187        Reviewed by Sam Weinig.
15188
15189        * WebProcess/com.apple.WebProcess.sb.in:
15190
151912013-02-04  Anders Carlsson  <andersca@apple.com>
15192
15193        Add didCloseOnConnectionWorkQueue to Connection::QueueClient
15194        https://bugs.webkit.org/show_bug.cgi?id=108853
15195
15196        Reviewed by Andreas Kling.
15197
15198        * Platform/CoreIPC/Connection.cpp:
15199        (CoreIPC::Connection::connectionDidClose):
15200        * Platform/CoreIPC/Connection.h:
15201        (QueueClient):
15202        * Shared/mac/SecItemShim.cpp:
15203        (WebKit::SecItemShim::didCloseOnConnectionWorkQueue):
15204        * Shared/mac/SecItemShim.h:
15205        (SecItemShim):
15206        * UIProcess/Storage/StorageManager.cpp:
15207        (WebKit::StorageManager::didCloseOnConnectionWorkQueue):
15208        (WebKit):
15209        * UIProcess/Storage/StorageManager.h:
15210        (StorageManager):
15211        * UIProcess/WebProcessProxy.cpp:
15212        (WebKit::WebProcessProxy::didCloseOnConnectionWorkQueue):
15213        (WebKit):
15214        * UIProcess/WebProcessProxy.h:
15215        (WebProcessProxy):
15216        * UIProcess/mac/SecItemShimProxy.cpp:
15217        (WebKit::SecItemShimProxy::didCloseOnConnectionWorkQueue):
15218        * UIProcess/mac/SecItemShimProxy.h:
15219        (SecItemShimProxy):
15220        * WebProcess/WebPage/EventDispatcher.cpp:
15221        (WebKit::EventDispatcher::didCloseOnConnectionWorkQueue):
15222        (WebKit):
15223        * WebProcess/WebPage/EventDispatcher.h:
15224        (EventDispatcher):
15225        * WebProcess/WebProcess.cpp:
15226        (WebKit::WebProcess::didCloseOnConnectionWorkQueue):
15227        (WebKit):
15228        * WebProcess/WebProcess.h:
15229        (WebProcess):
15230
152312013-02-04  Martin Robinson  <mrobinson@igalia.com>
15232
15233        Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
15234
15235        * GNUmakefile.am:
15236        * GNUmakefile.list.am:
15237
152382013-02-04  Enrica Casucci  <enrica@apple.com>
15239
15240        Add specific EditActions for Bold and Italic commands.
15241        https://bugs.webkit.org/show_bug.cgi?id=108842.
15242        <rdar://problem/13098252>
15243
15244        Reviewed by Ryosuke Niwa.
15245
15246        * UIProcess/WebEditCommandProxy.cpp:
15247        (WebKit::WebEditCommandProxy::nameForEditAction):
15248
152492013-02-04  Anders Carlsson  <andersca@apple.com>
15250
15251        Use a separate queue for the connection watchdog callback in the web process
15252        https://bugs.webkit.org/show_bug.cgi?id=108844
15253
15254        Reviewed by Andreas Kling.
15255
15256        Don't pass the connection work queue to the didCloseOnConnectionWorkQueue callback.
15257        Instead, create a new, temporary work queue where the exit call will be dispatched to.
15258
15259        * Platform/CoreIPC/Connection.cpp:
15260        (CoreIPC::Connection::connectionDidClose):
15261        * Platform/CoreIPC/Connection.h:
15262        (Connection):
15263        * Shared/ChildProcess.cpp:
15264        (WebKit::didCloseOnConnectionWorkQueue):
15265
152662013-02-04  Tim Horton  <timothy_horton@apple.com>
15267
15268        Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
15269        https://bugs.webkit.org/show_bug.cgi?id=108729
15270        <rdar://problem/13047546>
15271
15272        Reviewed by Anders Carlsson.
15273
15274        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
15275        (TiledCoreAnimationDrawingArea): Add didCommitChangesForLayer and storage for the
15276        current PlatformLayer corresponding to m_pageOverlayLayer.
15277        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
15278        (WebKit::TiledCoreAnimationDrawingArea::flushLayers): Update the TileCache's visible rect.
15279        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward exposed rect changes to the page overlay layer, if it's tiled.
15280        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Forward scrollability changes to the page overlay layer, if it's tiled.
15281        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): Allow the page overlay layer to become tiled. Update its exposed rect and whether or not it respects the exposed rect if it's tiled upon creation.
15282        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): If a GraphicsLayer's platform layer changes (because it switched to or from a tiled layer), reparent it. If it's switching to a tiled layer, update the exposed rect and whether or not it should respect the exposed rect.
15283
152842013-02-04  Anders Carlsson  <andersca@apple.com>
15285
15286        Use UNUSED_PARAM instead of C style comments.
15287
15288        * UIProcess/Storage/StorageManager.cpp:
15289        (WebKit::StorageManager::createStorageArea):
15290
152912013-02-04  Christophe Dumez  <dchris@gmail.com>
15292
15293        [EFL][WK2] Stop using libsoup in ewk_url_scheme_request
15294        https://bugs.webkit.org/show_bug.cgi?id=108816
15295
15296        Reviewed by Anders Carlsson.
15297
15298        As we are trying to minimize use of external dependencies in our WK2 EFL
15299        API implementation, we should stop using libsoup in
15300        ewk_url_scheme_request and use the WK2 C API instead.
15301
15302        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
15303        (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
15304
153052013-02-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
15306
15307        [WK2][EFL] Weird stripe at the end of the page
15308        https://bugs.webkit.org/show_bug.cgi?id=108820
15309
15310        Reviewed by Noam Rosenthal.
15311
15312        The page scroll bound was artificially enlarged by one causing the artifact appearance.
15313
15314        * UIProcess/PageViewportController.cpp:
15315        (WebKit::PageViewportController::boundContentsPositionAtScale):
15316
153172013-02-04  David Kilzer  <ddkilzer@apple.com>
15318
15319        Sort WebKit2 Xcode project file
15320
15321        * WebKit2.xcodeproj/project.pbxproj:
15322
153232013-02-04  Simon Hausmann  <simon.hausmann@digia.com>
15324
15325        [WK2][Qt] Replace WebPageGroup usage for user scripts with WKPageGroupRef
15326        https://bugs.webkit.org/show_bug.cgi?id=108651
15327
15328        Reviewed by Sam Weinig.
15329
15330        It's straight-forward port towards the C API.
15331
15332        * UIProcess/API/qt/qquickwebview.cpp:
15333        (QQuickWebViewPrivate::initialize):
15334        (readUserScript):
15335        (QQuickWebViewPrivate::updateUserScripts):
15336        * UIProcess/API/qt/qquickwebview_p_p.h:
15337        (QQuickWebViewPrivate):
15338
153392013-02-04  Balazs Kelemen  <kbalazs@webkit.org>
15340
15341        [Soup] Wrap SoupSession by NetworkStorageSession
15342        https://bugs.webkit.org/show_bug.cgi?id=108615
15343
15344        Reviewed by Alexey Proskuryakov.
15345
15346        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
15347        (WebKit::WebFrameNetworkingContext::storageSession):
15348        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
15349        (WebFrameNetworkingContext):
15350
153512013-02-03  David Kilzer  <ddkilzer@apple.com>
15352
15353        Upstream ENABLE_PDFKIT_PLUGIN settting
15354        <http://webkit.org/b/108792>
15355
15356        Reviewed by Tim Horton.
15357
15358        * Configurations/FeatureDefines.xcconfig: Disable PDFKIT_PLUGIN
15359        on iOS since PDFKit is a Mac-only framework.
15360
153612013-02-01  Alexey Proskuryakov  <ap@apple.com>
15362
15363        Silently block one more directory needed for NSApplication initialization.
15364
15365        Reviewed by Sam Weinig.
15366
15367        * WebProcess/com.apple.WebProcess.sb.in:
15368
153692013-02-03  KwangYong Choi  <ky0.choi@samsung.com>
15370
15371        Fix build warning after r141648
15372        https://bugs.webkit.org/show_bug.cgi?id=108784
15373
15374        Reviewed by Kentaro Hara.
15375
15376        Fix -Wunused-parameter build warning.
15377
15378        * UIProcess/Storage/StorageManager.cpp:
15379        (WebKit::StorageManager::createStorageArea):
15380        (WebKit::StorageManager::destroyStorageArea):
15381
153822013-02-03  Joanmarie Diggs  <jdiggs@igalia.com>
15383
15384        [GTK] Make distcheck fails
15385        https://bugs.webkit.org/show_bug.cgi?id=108756
15386
15387        Reviewed by Kentaro Hara.
15388
15389        * GNUmakefile.list.am: Remove header files which no longer exist
15390
153912013-02-02  Sam Weinig  <sam@webkit.org>
15392
15393        Remove more LegacyReceivers
15394        https://bugs.webkit.org/show_bug.cgi?id=108758
15395
15396        Reviewed by Anders Carlsson.
15397
15398        * UIProcess/Downloads/DownloadProxy.cpp:
15399        * UIProcess/Downloads/DownloadProxy.messages.in:
15400        * UIProcess/WebApplicationCacheManagerProxy.cpp:
15401        * UIProcess/WebApplicationCacheManagerProxy.h:
15402        (WebApplicationCacheManagerProxy):
15403        * UIProcess/WebApplicationCacheManagerProxy.messages.in:
15404        * UIProcess/WebCookieManagerProxy.cpp:
15405        * UIProcess/WebCookieManagerProxy.h:
15406        (WebCookieManagerProxy):
15407        * UIProcess/WebCookieManagerProxy.messages.in:
15408        * UIProcess/WebDatabaseManagerProxy.cpp:
15409        * UIProcess/WebDatabaseManagerProxy.h:
15410        (WebDatabaseManagerProxy):
15411        * UIProcess/WebDatabaseManagerProxy.messages.in:
15412        * UIProcess/mac/RemoteLayerTreeHost.h:
15413        (RemoteLayerTreeHost):
15414        * UIProcess/mac/RemoteLayerTreeHost.messages.in:
15415        * UIProcess/mac/RemoteLayerTreeHost.mm:
15416        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
15417        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
15418        (WebApplicationCacheManager):
15419        * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
15420        * WebProcess/Cookies/WebCookieManager.cpp:
15421        * WebProcess/Cookies/WebCookieManager.h:
15422        (WebCookieManager):
15423        * WebProcess/Cookies/WebCookieManager.messages.in:
15424        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
15425        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
15426        (WebDatabaseManager):
15427        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
15428
154292013-02-02  Sam Weinig  <sam@webkit.org>
15430
15431        Convert CustomProtocolManagerProxy, CustomProtocolManager and AuthenticationManager to be non-LegacyReceivers
15432        https://bugs.webkit.org/show_bug.cgi?id=108757
15433
15434        Reviewed by Anders Carlsson.
15435
15436        * Shared/Authentication/AuthenticationManager.cpp:
15437        * Shared/Authentication/AuthenticationManager.h:
15438        (AuthenticationManager):
15439        * Shared/Authentication/AuthenticationManager.messages.in:
15440        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
15441        (CustomProtocolManager):
15442        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
15443        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
15444        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
15445        (CustomProtocolManagerProxy):
15446        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
15447        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
15448
154492013-02-02  Christophe Dumez  <christophe.dumez@intel.com>
15450
15451        [EFL][WK2] Use C API inside ewk_file_chooser_request
15452        https://bugs.webkit.org/show_bug.cgi?id=107811
15453
15454        Reviewed by Sam Weinig.
15455
15456        Use C API inside ewk_file_chooser_request instead of
15457        accessing the internal C++ classes directly, to
15458        avoid violating API layering.
15459
15460        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
15461        (EwkFileChooserRequest::EwkFileChooserRequest):
15462        (EwkFileChooserRequest::~EwkFileChooserRequest):
15463        (EwkFileChooserRequest::allowMultipleFiles):
15464        (EwkFileChooserRequest::acceptedMIMETypes):
15465        (EwkFileChooserRequest::cancel):
15466        (EwkFileChooserRequest::chooseFiles):
15467        (ewk_file_chooser_request_accepted_mimetypes_get):
15468        (ewk_file_chooser_request_files_choose):
15469        (ewk_file_chooser_request_file_choose):
15470        * UIProcess/API/efl/ewk_file_chooser_request_private.h:
15471        (EwkFileChooserRequest::create):
15472        (EwkFileChooserRequest):
15473        * UIProcess/efl/PageUIClientEfl.cpp:
15474        (WebKit::PageUIClientEfl::runOpenPanel):
15475
154762013-02-02  Sam Weinig  <sam@webkit.org>
15477
15478        Stop keeping a frame tree in the UIProcess
15479        https://bugs.webkit.org/show_bug.cgi?id=81728
15480
15481        Reviewed by Oliver Hunt.
15482
15483        This patch removes the parent/child relationships of WebFrameProxys
15484        in the UIProcess
15485
15486        * UIProcess/API/C/WKFrame.cpp:
15487        (WKFrameCopyChildFrames):
15488        (WKFrameGetParentFrame):
15489        * UIProcess/API/C/WKFrame.h:
15490        Null out the implementations of WKFrameCopyChildFrames and WKFrameGetParentFrame,
15491        but keep them around as their symbols are still needed for nightlies.
15492
15493        * UIProcess/WebFrameProxy.cpp:
15494        (WebKit::WebFrameProxy::WebFrameProxy):
15495        (WebKit::WebFrameProxy::disconnect):
15496        * UIProcess/WebFrameProxy.h:
15497        Remove parent/child connections.
15498
15499        * UIProcess/WebPageProxy.cpp:
15500        (WebKit::WebPageProxy::didCreateSubframe):
15501        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
15502        * UIProcess/WebPageProxy.h:
15503        * UIProcess/WebPageProxy.messages.in:
15504        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15505        (WebKit::WebFrameLoaderClient::didSaveToPageCache):
15506        (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
15507        * WebProcess/WebPage/WebFrame.cpp:
15508        (WebKit::WebFrame::createSubframe):
15509        Remove/Update messages that only served to update the parent/child connection.
15510
155112013-02-02  Sam Weinig  <sam@webkit.org>
15512
15513        Make it possible to modify the connection from ChildProcessProxy subclasses.
15514
15515        Reviewed by Anders Carlsson.
15516
15517        * Shared/ChildProcessProxy.cpp:
15518        (WebKit::ChildProcessProxy::ChildProcessProxy):
15519        (WebKit::ChildProcessProxy::didFinishLaunching):
15520        (WebKit::ChildProcessProxy::clearConnection):
15521        (WebKit::ChildProcessProxy::connectionWillOpen):
15522        (WebKit::ChildProcessProxy::connectionWillClose):
15523        * Shared/ChildProcessProxy.h:
15524        (ChildProcessProxy):
15525        * UIProcess/WebProcessProxy.cpp:
15526        (WebKit::WebProcessProxy::WebProcessProxy):
15527        (WebKit::WebProcessProxy::connectionWillOpen):
15528        (WebKit::WebProcessProxy::connectionWillClose):
15529        * UIProcess/WebProcessProxy.h:
15530        (WebProcessProxy):
15531
155322013-02-02  David Kilzer  <ddkilzer@apple.com>
15533
15534        Upstream iOS FeatureDefines
15535        <http://webkit.org/b/108753>
15536
15537        Reviewed by Anders Carlsson.
15538
15539        * Configurations/FeatureDefines.xcconfig:
15540        - ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
15541        - ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
15542        - FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
15543          PLATFORM_NAME variant to reduce future merge conflicts. 
15544
155452013-02-02  Csaba Osztrogonác  <ossy@webkit.org>
15546
15547        [Qt][WK2] Unreviewed buildfix after r141648.
15548
15549        * DerivedSources.pri:
15550
155512013-02-02  Zan Dobersek  <zdobersek@igalia.com>
15552
15553        Follow-up to r141682. Adding build targets for the files that should be generated from the new message.in file.
15554
15555        Unreviewed.
15556
15557        * GNUmakefile.list.am:
15558
155592013-02-01  Zan Dobersek  <zdobersek@igalia.com>
15560
15561        Unreviewed GTK build fix after r141648.
15562
15563        * GNUmakefile.am: Add UIProcess/Storage to the list of paths that
15564        should be searched for *.messages.in files.
15565
155662013-02-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15567
15568        Unreviewed build fix after r141648
15569
15570        Needs to add StorageManager.messages.in to CMakeLists.txt.
15571
15572        * CMakeLists.txt:
15573
155742013-02-01  Benjamin Poulain  <bpoulain@apple.com>
15575
15576        Build fix for CustomProtocolManagerMac after r141658.
15577
15578        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
15579        (WebKit::CustomProtocolManager::supplementName): I accidentally typed "const" twice twice.
15580
155812013-02-01  Benjamin Poulain  <bpoulain@apple.com>
15582
15583        [WK2] Use light supplement names instead of static AtomicStrings
15584        https://bugs.webkit.org/show_bug.cgi?id=108570
15585
15586        Reviewed by Anders Carlsson.
15587
15588        Since all the supplement names are just string literals and are all different,
15589        we can just use their pointer as the key in the supplement hashmaps.
15590
15591        This is lighter and faster than using AtomicString. WebCore already moved to this
15592        in Supplementable.
15593
15594        * NetworkProcess/NetworkProcess.h:
15595        (WebKit::NetworkProcess::addSupplement):
15596        (NetworkProcess):
15597        * Shared/Authentication/AuthenticationManager.cpp:
15598        (WebKit::AuthenticationManager::supplementName):
15599        * Shared/Authentication/AuthenticationManager.h:
15600        (AuthenticationManager):
15601        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
15602        (CustomProtocolManager):
15603        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
15604        (WebKit::CustomProtocolManager::supplementName):
15605        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
15606        (WebKit::WebNotificationManagerProxy::supplementName):
15607        * UIProcess/Notifications/WebNotificationManagerProxy.h:
15608        (WebNotificationManagerProxy):
15609        * UIProcess/WebApplicationCacheManagerProxy.cpp:
15610        (WebKit::WebApplicationCacheManagerProxy::supplementName):
15611        * UIProcess/WebApplicationCacheManagerProxy.h:
15612        (WebApplicationCacheManagerProxy):
15613        * UIProcess/WebContext.h:
15614        (WebContext):
15615        * UIProcess/WebCookieManagerProxy.cpp:
15616        (WebKit::WebCookieManagerProxy::supplementName):
15617        * UIProcess/WebCookieManagerProxy.h:
15618        (WebCookieManagerProxy):
15619        * UIProcess/WebDatabaseManagerProxy.cpp:
15620        (WebKit::WebDatabaseManagerProxy::supplementName):
15621        * UIProcess/WebDatabaseManagerProxy.h:
15622        (WebDatabaseManagerProxy):
15623        * UIProcess/WebGeolocationManagerProxy.cpp:
15624        (WebKit::WebGeolocationManagerProxy::supplementName):
15625        * UIProcess/WebGeolocationManagerProxy.h:
15626        (WebGeolocationManagerProxy):
15627        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
15628        (WebKit::WebKeyValueStorageManagerProxy::supplementName):
15629        * UIProcess/WebKeyValueStorageManagerProxy.h:
15630        (WebKeyValueStorageManagerProxy):
15631        * UIProcess/WebMediaCacheManagerProxy.cpp:
15632        (WebKit::WebMediaCacheManagerProxy::supplementName):
15633        * UIProcess/WebMediaCacheManagerProxy.h:
15634        (WebMediaCacheManagerProxy):
15635        * UIProcess/WebResourceCacheManagerProxy.cpp:
15636        (WebKit::WebResourceCacheManagerProxy::supplementName):
15637        * UIProcess/WebResourceCacheManagerProxy.h:
15638        (WebResourceCacheManagerProxy):
15639        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
15640        (WebKit::WebSoupRequestManagerProxy::supplementName):
15641        * UIProcess/soup/WebSoupRequestManagerProxy.h:
15642        (WebSoupRequestManagerProxy):
15643        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
15644        (WebKit::WebApplicationCacheManager::supplementName):
15645        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
15646        (WebApplicationCacheManager):
15647        * WebProcess/Cookies/WebCookieManager.cpp:
15648        (WebKit::WebCookieManager::supplementName):
15649        * WebProcess/Cookies/WebCookieManager.h:
15650        (WebCookieManager):
15651        * WebProcess/Geolocation/WebGeolocationManager.cpp:
15652        (WebKit::WebGeolocationManager::supplementName):
15653        * WebProcess/Geolocation/WebGeolocationManager.h:
15654        (WebGeolocationManager):
15655        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
15656        (WebKit::WebMediaCacheManager::supplementName):
15657        * WebProcess/MediaCache/WebMediaCacheManager.h:
15658        (WebMediaCacheManager):
15659        * WebProcess/Notifications/WebNotificationManager.cpp:
15660        (WebKit::WebNotificationManager::supplementName):
15661        * WebProcess/Notifications/WebNotificationManager.h:
15662        (WebNotificationManager):
15663        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
15664        (WebKit::WebResourceCacheManager::supplementName):
15665        * WebProcess/ResourceCache/WebResourceCacheManager.h:
15666        (WebResourceCacheManager):
15667        * WebProcess/Storage/WebKeyValueStorageManager.cpp:
15668        (WebKit::WebKeyValueStorageManager::supplementName):
15669        * WebProcess/Storage/WebKeyValueStorageManager.h:
15670        (WebKeyValueStorageManager):
15671        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
15672        (WebKit::WebDatabaseManager::supplementName):
15673        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
15674        (WebDatabaseManager):
15675        * WebProcess/WebProcess.h:
15676        (WebKit::WebProcess::addSupplement):
15677        (WebProcess):
15678
156792013-02-01  Benjamin Poulain  <bpoulain@apple.com>
15680
15681        Clean the String->AtomicString conversion for AnimationController::pauseAnimationAtTime
15682        https://bugs.webkit.org/show_bug.cgi?id=108558
15683
15684        Reviewed by Dean Jackson.
15685
15686        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
15687        (WKBundleFramePauseAnimationOnElementWithId):
15688        * WebProcess/WebPage/WebFrame.cpp:
15689        (WebKit::WebFrame::pauseAnimationOnElementWithId):
15690        * WebProcess/WebPage/WebFrame.h:
15691        (WebFrame):
15692
156932013-02-01  Anders Carlsson  <andersca@apple.com>
15694
15695        More work on UI side storage
15696        https://bugs.webkit.org/show_bug.cgi?id=108700
15697
15698        Reviewed by Sam Weinig.
15699
15700        * DerivedSources.make:
15701        Add StorageManager.messages.in.
15702
15703        * Platform/CoreIPC/HandleMessage.h:
15704        (CoreIPC::callMemberFunction):
15705        Add new overload.
15706
15707        * UIProcess/Storage/StorageManager.cpp:
15708        (WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
15709        Call the right function.
15710
15711        (WebKit::StorageManager::createStorageArea):
15712        (WebKit::StorageManager::destroyStorageArea):
15713        Add stubs.
15714
15715        * UIProcess/Storage/StorageManager.messages.in: Added.
15716        Add new messages files.
15717
15718        * WebKit2.xcodeproj/project.pbxproj:
15719        Add new files.
15720
15721        * WebProcess/Storage/StorageAreaProxy.cpp:
15722        (WebKit::StorageAreaProxy::~StorageAreaProxy):
15723        Add another FIXME.
15724
15725        (WebKit::StorageAreaProxy::canAccessStorage):
15726        (WebKit::StorageAreaProxy::incrementAccessCount):
15727        (WebKit::StorageAreaProxy::decrementAccessCount):
15728        Implement these.
15729
157302013-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
15731
15732        [Gtk] [WK2] Fix build after r141619
15733        https://bugs.webkit.org/show_bug.cgi?id=108687
15734
15735        Reviewed by Benjamin Poulain.
15736
15737        Take a reference instead of a pointer for decoding functions.
15738
15739        * Platform/gtk/SharedMemoryGtk.cpp:
15740        (WebKit::SharedMemory::Handle::decode):
15741        * Shared/gtk/ArgumentCodersGtk.cpp:
15742        (CoreIPC::decodeImage):
15743        (CoreIPC::decodeDataObject):
15744        (CoreIPC::::decode):
15745        (CoreIPC::decodeGKeyFile):
15746        (CoreIPC::decode):
15747        * Shared/gtk/ArgumentCodersGtk.h:
15748        * Shared/gtk/LayerTreeContextGtk.cpp:
15749        (WebKit::LayerTreeContext::decode):
15750
157512013-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
15752
15753        [EFL] [WK2] Fix build after r141619
15754        https://bugs.webkit.org/show_bug.cgi?id=108683
15755
15756        Reviewed by Benjamin Poulain.
15757
15758        Take a reference instead of a pointer for decoding functions.
15759
15760        * Shared/WebBatteryStatus.cpp:
15761        (WebKit::WebBatteryStatus::Data::decode):
15762        * Shared/WebBatteryStatus.h:
15763        (Data):
15764        * Shared/WebNetworkInfo.cpp:
15765        (WebKit::WebNetworkInfo::Data::decode):
15766        * Shared/WebNetworkInfo.h:
15767        (Data):
15768        * Shared/cairo/LayerTreeContextCairo.cpp:
15769        (WebKit::LayerTreeContext::decode):
15770        * Shared/efl/LayerTreeContextEfl.cpp:
15771        (WebKit::LayerTreeContext::decode):
15772        * Shared/soup/PlatformCertificateInfo.cpp:
15773        (WebKit::PlatformCertificateInfo::decode):
15774        * Shared/soup/PlatformCertificateInfo.h:
15775        (PlatformCertificateInfo):
15776        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
15777        (CoreIPC::::decodePlatformData):
15778
157792013-02-01  Brady Eidson  <beidson@apple.com>
15780
15781        Clean up WebArchive loading with the NetworkProcess
15782        <rdar://problem/12695840> and https://bugs.webkit.org/show_bug.cgi?id=108673
15783
15784        Reviewed by Alexey Proskuryakov.
15785
15786        * NetworkProcess/HostRecord.cpp:
15787        (WebKit::HostRecord::servePendingRequestsForQueue):  Add new logging.
15788        (WebKit::HostRecord::servePendingRequests): Tweak existing logging.
15789
15790        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
15791        (WebKit::NetworkResourceLoadScheduler::servePendingRequests): Tweak existing logging.
15792
15793        * WebProcess/Network/WebResourceLoadScheduler.cpp:
15794        (WebKit::WebResourceLoadScheduler::scheduleLoad): Handle archive resource scheduling better,
15795          and add new logging to better explore archive loading behavior in the future.
15796
157972013-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
15798
15799        [Qt] [WK2] Fix build after r141619
15800        https://bugs.webkit.org/show_bug.cgi?id=108680
15801
15802        Reviewed by Benjamin Poulain.
15803
15804        Take a reference instead of a pointer for decoding functions.
15805
15806        * Platform/unix/SharedMemoryUnix.cpp:
15807        (WebKit::SharedMemory::Handle::decode):
15808        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
15809        (CoreIPC::::decode):
15810        (CoreIPC::decodeTimingFunction):
15811        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
15812        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
15813        (WebKit::WebCoordinatedSurface::Handle::decode):
15814        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
15815        (Handle):
15816        * Shared/qt/ArgumentCodersQt.cpp:
15817        (CoreIPC::::decode):
15818        * Shared/qt/ArgumentCodersQt.h:
15819        (CoreIPC):
15820        * Shared/qt/LayerTreeContextQt.cpp:
15821        (WebKit::LayerTreeContext::decode):
15822        * Shared/qt/PlatformCertificateInfo.h:
15823        (WebKit::PlatformCertificateInfo::decode):
15824        * Shared/qt/QtNetworkReplyData.cpp:
15825        (WebKit::QtNetworkReplyData::decode):
15826        * Shared/qt/QtNetworkReplyData.h:
15827        (QtNetworkReplyData):
15828        * Shared/qt/QtNetworkRequestData.cpp:
15829        (WebKit::QtNetworkRequestData::decode):
15830        * Shared/qt/QtNetworkRequestData.h:
15831        (QtNetworkRequestData):
15832        * Shared/qt/WebCoreArgumentCodersQt.cpp:
15833        (CoreIPC::::decodePlatformData):
15834
158352013-02-01  Anders Carlsson  <andersca@apple.com>
15836
15837        Message decoding functions should take a MessageDecoder reference
15838        https://bugs.webkit.org/show_bug.cgi?id=108669
15839
15840        Reviewed by Andreas Kling.
15841
15842        Message encoding functions already take a reference instead of a pointer, so
15843        make the decoding functions take a reference as well.
15844
15845        * Platform/CoreIPC/ArgumentCoder.h:
15846        (CoreIPC::ArgumentCoder::decode):
15847        * Platform/CoreIPC/ArgumentCoders.cpp:
15848        (CoreIPC::::decode):
15849        (CoreIPC::decodeStringText):
15850        * Platform/CoreIPC/ArgumentCoders.h:
15851        (CoreIPC::SimpleArgumentCoder::decode):
15852        * Platform/CoreIPC/ArgumentDecoder.h:
15853        (CoreIPC::ArgumentDecoder::decode):
15854        * Platform/CoreIPC/Arguments.h:
15855        (CoreIPC::Arguments0::decode):
15856        (CoreIPC::Arguments1::decode):
15857        (CoreIPC::Arguments2::decode):
15858        (CoreIPC::Arguments3::decode):
15859        (CoreIPC::Arguments4::decode):
15860        (CoreIPC::Arguments5::decode):
15861        (CoreIPC::Arguments6::decode):
15862        (CoreIPC::Arguments7::decode):
15863        (CoreIPC::Arguments8::decode):
15864        (CoreIPC::Arguments10::decode):
15865        * Platform/CoreIPC/Attachment.cpp:
15866        (CoreIPC::Attachment::decode):
15867        * Platform/CoreIPC/Attachment.h:
15868        (Attachment):
15869        * Platform/CoreIPC/DataReference.cpp:
15870        (CoreIPC::DataReference::decode):
15871        * Platform/CoreIPC/DataReference.h:
15872        (DataReference):
15873        * Platform/CoreIPC/StringReference.cpp:
15874        (CoreIPC::StringReference::decode):
15875        * Platform/CoreIPC/StringReference.h:
15876        (StringReference):
15877        * Platform/CoreIPC/mac/MachPort.h:
15878        (CoreIPC::MachPort::decode):
15879        * Platform/SharedMemory.h:
15880        (Handle):
15881        * Platform/mac/SharedMemoryMac.cpp:
15882        (WebKit::SharedMemory::Handle::decode):
15883        * PluginProcess/PluginCreationParameters.cpp:
15884        (WebKit::PluginCreationParameters::decode):
15885        * PluginProcess/PluginCreationParameters.h:
15886        (PluginCreationParameters):
15887        * Shared/DictionaryPopupInfo.cpp:
15888        (WebKit::DictionaryPopupInfo::decode):
15889        * Shared/DictionaryPopupInfo.h:
15890        (DictionaryPopupInfo):
15891        * Shared/EditorState.cpp:
15892        (WebKit::EditorState::decode):
15893        * Shared/EditorState.h:
15894        (EditorState):
15895        * Shared/FontInfo.cpp:
15896        (WebKit::FontInfo::decode):
15897        * Shared/FontInfo.h:
15898        (FontInfo):
15899        * Shared/LayerTreeContext.h:
15900        (LayerTreeContext):
15901        * Shared/Network/NetworkProcessCreationParameters.cpp:
15902        (WebKit::NetworkProcessCreationParameters::decode):
15903        * Shared/Network/NetworkProcessCreationParameters.h:
15904        (NetworkProcessCreationParameters):
15905        * Shared/Network/NetworkResourceLoadParameters.cpp:
15906        (WebKit::NetworkResourceLoadParameters::decode):
15907        * Shared/Network/NetworkResourceLoadParameters.h:
15908        (NetworkResourceLoadParameters):
15909        * Shared/OriginAndDatabases.cpp:
15910        (WebKit::OriginAndDatabases::decode):
15911        * Shared/OriginAndDatabases.h:
15912        (OriginAndDatabases):
15913        * Shared/PlatformPopupMenuData.cpp:
15914        (WebKit::PlatformPopupMenuData::decode):
15915        * Shared/PlatformPopupMenuData.h:
15916        (PlatformPopupMenuData):
15917        * Shared/Plugins/NPIdentifierData.cpp:
15918        (WebKit::NPIdentifierData::decode):
15919        * Shared/Plugins/NPIdentifierData.h:
15920        (NPIdentifierData):
15921        * Shared/Plugins/NPVariantData.cpp:
15922        (WebKit::NPVariantData::decode):
15923        * Shared/Plugins/NPVariantData.h:
15924        (NPVariantData):
15925        * Shared/Plugins/PluginProcessCreationParameters.cpp:
15926        (WebKit::PluginProcessCreationParameters::decode):
15927        * Shared/Plugins/PluginProcessCreationParameters.h:
15928        (PluginProcessCreationParameters):
15929        * Shared/PrintInfo.cpp:
15930        (WebKit::PrintInfo::decode):
15931        * Shared/PrintInfo.h:
15932        (PrintInfo):
15933        * Shared/SandboxExtension.h:
15934        (Handle):
15935        (HandleArray):
15936        (WebKit::SandboxExtension::Handle::decode):
15937        (WebKit::SandboxExtension::HandleArray::decode):
15938        * Shared/SecurityOriginData.cpp:
15939        (WebKit::SecurityOriginData::decode):
15940        * Shared/SecurityOriginData.h:
15941        (SecurityOriginData):
15942        * Shared/SessionState.cpp:
15943        (WebKit::SessionState::decode):
15944        * Shared/SessionState.h:
15945        (SessionState):
15946        * Shared/ShareableBitmap.cpp:
15947        (WebKit::ShareableBitmap::Handle::decode):
15948        * Shared/ShareableBitmap.h:
15949        (Handle):
15950        * Shared/ShareableResource.cpp:
15951        (WebKit::ShareableResource::Handle::decode):
15952        * Shared/ShareableResource.h:
15953        (Handle):
15954        * Shared/SharedWorkerProcessCreationParameters.cpp:
15955        (WebKit::SharedWorkerProcessCreationParameters::decode):
15956        * Shared/SharedWorkerProcessCreationParameters.h:
15957        (SharedWorkerProcessCreationParameters):
15958        * Shared/StatisticsData.cpp:
15959        (WebKit::StatisticsData::decode):
15960        * Shared/StatisticsData.h:
15961        (StatisticsData):
15962        * Shared/StringPairVector.h:
15963        (WebKit::StringPairVector::decode):
15964        * Shared/UpdateInfo.cpp:
15965        (WebKit::UpdateInfo::decode):
15966        * Shared/UpdateInfo.h:
15967        (UpdateInfo):
15968        * Shared/UserMessageCoders.h:
15969        (WebKit::UserMessageDecoder::baseDecode):
15970        * Shared/WebContextMenuItemData.cpp:
15971        (WebKit::WebContextMenuItemData::decode):
15972        * Shared/WebContextMenuItemData.h:
15973        (WebContextMenuItemData):
15974        * Shared/WebCoreArgumentCoders.cpp:
15975        (CoreIPC::::decode):
15976        (CoreIPC::decodeImage):
15977        * Shared/WebCoreArgumentCoders.h:
15978        * Shared/WebEvent.cpp:
15979        (WebKit::WebEvent::decode):
15980        * Shared/WebEvent.h:
15981        (WebEvent):
15982        (WebMouseEvent):
15983        (WebWheelEvent):
15984        (WebKeyboardEvent):
15985        (WebGestureEvent):
15986        (WebPlatformTouchPoint):
15987        (WebTouchEvent):
15988        * Shared/WebGeolocationPosition.cpp:
15989        (WebKit::WebGeolocationPosition::Data::decode):
15990        * Shared/WebGeolocationPosition.h:
15991        (Data):
15992        * Shared/WebGestureEvent.cpp:
15993        (WebKit::WebGestureEvent::decode):
15994        * Shared/WebHitTestResult.cpp:
15995        (WebKit::WebHitTestResult::Data::decode):
15996        * Shared/WebHitTestResult.h:
15997        (Data):
15998        * Shared/WebKeyboardEvent.cpp:
15999        (WebKit::WebKeyboardEvent::decode):
16000        * Shared/WebMouseEvent.cpp:
16001        (WebKit::WebMouseEvent::decode):
16002        * Shared/WebNavigationDataStore.h:
16003        (WebKit::WebNavigationDataStore::decode):
16004        * Shared/WebPageCreationParameters.cpp:
16005        (WebKit::WebPageCreationParameters::decode):
16006        * Shared/WebPageCreationParameters.h:
16007        (WebPageCreationParameters):
16008        * Shared/WebPageGroupData.cpp:
16009        (WebKit::WebPageGroupData::decode):
16010        * Shared/WebPageGroupData.h:
16011        (WebPageGroupData):
16012        * Shared/WebPlatformTouchPoint.cpp:
16013        (WebKit::WebPlatformTouchPoint::decode):
16014        * Shared/WebPopupItem.cpp:
16015        (WebKit::WebPopupItem::decode):
16016        * Shared/WebPopupItem.h:
16017        * Shared/WebPreferencesStore.cpp:
16018        (WebKit::WebPreferencesStore::decode):
16019        * Shared/WebPreferencesStore.h:
16020        (WebPreferencesStore):
16021        * Shared/WebProcessCreationParameters.cpp:
16022        (WebKit::WebProcessCreationParameters::decode):
16023        * Shared/WebProcessCreationParameters.h:
16024        (WebProcessCreationParameters):
16025        * Shared/WebTouchEvent.cpp:
16026        (WebKit::WebTouchEvent::decode):
16027        * Shared/WebWheelEvent.cpp:
16028        (WebKit::WebWheelEvent::decode):
16029        * Shared/cf/ArgumentCodersCF.cpp:
16030        (CoreIPC::decode):
16031        * Shared/cf/ArgumentCodersCF.h:
16032        (CoreIPC):
16033        * Shared/mac/ArgumentCodersMac.h:
16034        (CoreIPC):
16035        * Shared/mac/ArgumentCodersMac.mm:
16036        (CoreIPC::decode):
16037        * Shared/mac/AttributedString.h:
16038        (AttributedString):
16039        * Shared/mac/AttributedString.mm:
16040        (WebKit::AttributedString::decode):
16041        * Shared/mac/ColorSpaceData.h:
16042        (ColorSpaceData):
16043        * Shared/mac/ColorSpaceData.mm:
16044        (WebKit::ColorSpaceData::decode):
16045        * Shared/mac/LayerTreeContextMac.mm:
16046        (WebKit::LayerTreeContext::decode):
16047        * Shared/mac/ObjCObjectGraphCoders.h:
16048        (WebContextObjCObjectGraphDecoder):
16049        (InjectedBundleObjCObjectGraphDecoder):
16050        * Shared/mac/ObjCObjectGraphCoders.mm:
16051        (WebKit::ObjCObjectGraphDecoder::baseDecode):
16052        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
16053        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
16054        (WebKit::WebContextObjCObjectGraphDecoder::decode):
16055        (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
16056        * Shared/mac/PlatformCertificateInfo.h:
16057        (PlatformCertificateInfo):
16058        * Shared/mac/PlatformCertificateInfo.mm:
16059        (WebKit::PlatformCertificateInfo::decode):
16060        * Shared/mac/RemoteLayerTreeTransaction.h:
16061        (LayerProperties):
16062        (RemoteLayerTreeTransaction):
16063        * Shared/mac/RemoteLayerTreeTransaction.mm:
16064        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
16065        (WebKit::RemoteLayerTreeTransaction::decode):
16066        * Shared/mac/SandboxExtensionMac.mm:
16067        (WebKit::SandboxExtension::Handle::decode):
16068        (WebKit::SandboxExtension::HandleArray::decode):
16069        * Shared/mac/SecItemRequestData.cpp:
16070        (WebKit::SecItemRequestData::decode):
16071        * Shared/mac/SecItemRequestData.h:
16072        * Shared/mac/SecItemResponseData.cpp:
16073        (WebKit::SecItemResponseData::decode):
16074        * Shared/mac/SecItemResponseData.h:
16075        (SecItemResponseData):
16076        * Shared/mac/WebCoreArgumentCodersMac.mm:
16077        (CoreIPC::::decodePlatformData):
16078        (CoreIPC::::decode):
16079        * UIProcess/WebContextUserMessageCoders.h:
16080        (WebKit::WebContextUserMessageDecoder::decode):
16081        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
16082        (WebKit::InjectedBundleUserMessageDecoder::decode):
16083        * WebProcess/Plugins/Plugin.cpp:
16084        (WebKit::Plugin::Parameters::decode):
16085        * WebProcess/Plugins/Plugin.h:
16086        (Parameters):
16087
160882013-02-01  Carlos Garcia Campos  <cgarcia@igalia.com>
16089
16090        [GTK] Adapt WorkQueueGtk to the latest changes in WebKit2 after r141497
16091        https://bugs.webkit.org/show_bug.cgi?id=108607
16092
16093        Reviewed by Anders Carlsson.
16094
16095        * Platform/gtk/WorkQueueGtk.cpp:
16096        (WorkQueue::EventSource::executeEventSource): Remove the is valid
16097        work queue check.
16098        (WorkQueue::EventSource): WorkQueue is now refcounted, so keep a
16099        reference when a new job is scheduled and unref it when it
16100        finishes.
16101
161022013-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
16103
16104        Unreviewed, rolling out r141319.
16105        http://trac.webkit.org/changeset/141319
16106        https://bugs.webkit.org/show_bug.cgi?id=108629
16107
16108        This patch is causing the UIProcess to hang on GTK port when
16109        loading plugins (Requested by chris-qBT_laptop on #webkit).
16110
16111        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
16112        (WebKit::PluginProcessProxy::scanPlugin):
16113
161142013-02-01  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
16115
16116        [EFL][WK2] EwkContext should be based on C WK2 API
16117        https://bugs.webkit.org/show_bug.cgi?id=107666
16118
16119        Reviewed by Andreas Kling.
16120
16121        EwkContext should be based on C WK2 API so that API layering is not violated.
16122
16123        * UIProcess/API/efl/EwkView.cpp:
16124        (EwkView::EwkView):
16125        * UIProcess/API/efl/ewk_context.cpp:
16126        (EwkContext::EwkContext):
16127        (EwkContext::create):
16128        (EwkContext::cookieManager):
16129        (EwkContext::ensureFaviconDatabase):
16130        (EwkContext::setFaviconDatabaseDirectoryPath):
16131        (EwkContext::addVisitedLink):
16132        (EwkContext::setCacheModel):
16133        (EwkContext::cacheModel):
16134        (EwkContext::setAdditionalPluginPath):
16135        (EwkContext::clearResourceCache):
16136        * UIProcess/API/efl/ewk_context_private.h:
16137        (EwkContext):
16138        * UIProcess/API/efl/ewk_view.cpp:
16139        (ewk_view_base_add):
16140
161412013-02-01  Christophe Dumez  <christophe.dumez@intel.com>
16142
16143        [EFL][WK2] Use C API inside ewk_auth_request
16144        https://bugs.webkit.org/show_bug.cgi?id=107806
16145
16146        Reviewed by Andreas Kling.
16147
16148        Use C API inside ewk_auth_request instead of accessing C++ internal
16149        classes directly, to avoid violating layering.
16150
16151        * UIProcess/API/efl/ewk_auth_request.cpp:
16152        (EwkAuthRequest::EwkAuthRequest):
16153        (EwkAuthRequest::suggestedUsername):
16154        (EwkAuthRequest::realm):
16155        (EwkAuthRequest::host):
16156        (EwkAuthRequest::continueWithoutCredential):
16157        (EwkAuthRequest::authenticate):
16158        (EwkAuthRequest::isRetrying):
16159        (ewk_auth_request_authenticate):
16160        * UIProcess/API/efl/ewk_auth_request_private.h:
16161        (EwkAuthRequest::create):
16162        (EwkAuthRequest):
16163        * UIProcess/efl/PageLoadClientEfl.cpp:
16164        (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
16165
161662013-02-01  Seulgi Kim  <seulgikim@company100.net>
16167
16168        [Gtk][WK2] Fix build after recent WebKit2 changes
16169        https://bugs.webkit.org/show_bug.cgi?id=108588
16170
16171        Reviewed by Andreas Kling.
16172
16173        Don't remove WorkQueue during execution.
16174        Following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
16175
16176        * Platform/gtk/WorkQueueGtk.cpp:
16177        (WorkQueue::EventSource::~EventSource):
16178        (WorkQueue::EventSource::executeEventSource):
16179        (WorkQueue::dispatch):
16180        (WorkQueue::dispatchAfterDelay):
16181        (WorkQueue::dispatchOnTermination):
16182
161832013-02-01  Alexis Menard  <alexis@webkit.org>
16184
16185        Enable unprefixed CSS transitions by default.
16186        https://bugs.webkit.org/show_bug.cgi?id=108216
16187
16188        Reviewed by Dean Jackson.
16189
16190        Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
16191        to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to 
16192        guard the unprefixing work for CSS Transforms and animations.
16193
16194        * Configurations/FeatureDefines.xcconfig:
16195
161962013-02-01  Jae Hyun Park  <jae.park@company100.net>
16197
16198        Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
16199        https://bugs.webkit.org/show_bug.cgi?id=108590
16200
16201        Reviewed by Noam Rosenthal.
16202
16203        Sort class declarations in alphabetical order.
16204
16205        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
16206        (WebCore):
16207
162082013-02-01  Gwang Yoon Hwang  <ryumiel@company100.net>
16209
16210        [EFL][WK2] MiniBrowser segfaults on loading google.com
16211        https://bugs.webkit.org/show_bug.cgi?id=108597
16212
16213        Reviewed by Andreas Kling.
16214
16215        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
16216        (CoreIPC::Connection::processMessage):
16217        oolMessageBody should be properly initialized before it is used.
16218
16219        This patch also adds omitted break statement.
16220
162212013-01-31  Jae Hyun Park  <jae.park@company100.net>
16222
16223        [Qt] Add MessageFlags.h in Target.pri
16224        https://bugs.webkit.org/show_bug.cgi?id=108583
16225
16226        Reviewed by Kentaro Hara.
16227
16228        Since MessageDecoder and MessageEncoder include MessageFlags.h, it
16229        should be included in Target.pri.
16230
16231        * Target.pri:
16232
162332013-01-31  Jae Hyun Park  <jae.park@company100.net>
16234
16235        Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
16236        https://bugs.webkit.org/show_bug.cgi?id=108149
16237
16238        Reviewed by Noam Rosenthal.
16239
16240        This patch moves Coordinated Graphics related code to WebCore. To
16241        implement Threaded Coordinated Graphics, most of Coordianted Graphics
16242        code should be shared. Therefore, they should reside in WebCore instead of
16243        WebKit2.
16244
16245        When moving to WebCore, two renamings have been done.
16246
16247        1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
16248
16249        2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
16250        CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
16251        respectively.
16252
16253        No new tests, covered by existing tests.
16254
16255        * CMakeLists.txt:
16256        * Scripts/webkit2/messages.py:
16257        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
16258        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
16259        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
16260        * Target.pri:
16261        * UIProcess/API/efl/EwkView.cpp:
16262        * UIProcess/API/efl/EwkView.h:
16263        * UIProcess/API/qt/qquickwebpage.cpp:
16264        * UIProcess/API/qt/raw/qrawwebview.cpp:
16265        * UIProcess/API/qt/raw/qrawwebview_p.h:
16266        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
16267        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
16268        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
16269        * UIProcess/efl/PageClientBase.cpp:
16270        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
16271        * UIProcess/qt/QtWebPageSGNode.cpp:
16272        * UIProcess/qt/QtWebPageSGNode.h:
16273        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
16274        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
16275
162762013-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
16277
16278        [Qt][WK2] Another attempt to fix build after recent WebKit2 changes
16279        https://bugs.webkit.org/show_bug.cgi?id=108548
16280
16281        Reviewed by Anders Carlsson.
16282
16283        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
16284        (CoreIPC::Connection::platformInvalidate):
16285        (CoreIPC::Connection::processMessage): Change Deque to Vector and do similar
16286        logic as on patch for https://bugs.webkit.org/show_bug.cgi?id=108517
16287        (CoreIPC::Connection::open):
16288        (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
16289        * Platform/qt/WorkQueueQt.cpp: Reflect changes on Qt WorkQueue to increase ref
16290        count when the execution is started and decrease it when the work item is deleted,
16291        following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
16292        (WorkQueue::WorkItemQt::~WorkItemQt):
16293        (WorkQueue::WorkItemQt::execute):
16294        (WorkQueue::dispatch):
16295        (WorkQueue::dispatchAfterDelay):
16296        * UIProcess/WebPageProxy.cpp:
16297        (WebKit::WebPageProxy::getPluginPath): This function was moved from WebProcessProxy but
16298        mac specific code was not protected properly: https://bugs.webkit.org/show_bug.cgi?id=108407
16299
163002013-01-31  Changhun Kang  <temoochin@company100.net>
16301
16302        Rename from parentOrHost* to parentOrShadowHost* in Node.h.
16303        https://bugs.webkit.org/show_bug.cgi?id=108308
16304
16305        Reviewed by Dimitri Glazkov.
16306
163072013-01-31  Anders Carlsson  <andersca@apple.com>
16308
16309        StorageManager should be ref-counted
16310        https://bugs.webkit.org/show_bug.cgi?id=108553
16311
16312        Reviewed by Beth Dakin.
16313
16314        It's likely we'd want to have the storage manager outlive its context at times, so make it
16315        reference counted.
16316
16317        * UIProcess/Storage/StorageManager.cpp:
16318        (WebKit::StorageManager::create):
16319        (WebKit):
16320        * UIProcess/Storage/StorageManager.h:
16321        (StorageManager):
16322        * UIProcess/WebContext.cpp:
16323        (WebKit::WebContext::WebContext):
16324        * UIProcess/WebContext.h:
16325        (WebContext):
16326
163272013-01-31  Anders Carlsson  <andersca@apple.com>
16328
16329        WorkQueue should be a ref-counted class
16330        https://bugs.webkit.org/show_bug.cgi?id=108544
16331
16332        Reviewed by Sam Weinig.
16333
16334        Make WorkQueue a ref-counted class that's implicitly ref()'d when dispatching a function to it, and then
16335        implicitly deref()'d when the function is done executing. This matches the behavior of dispatch queues,
16336        and ensures that the WorkQueue object won't go away while dispatched functions are running.
16337
16338        * Platform/CoreIPC/Connection.cpp:
16339        (CoreIPC::Connection::Connection):
16340        (CoreIPC::Connection::~Connection):
16341        (CoreIPC::Connection::addQueueClient):
16342        (CoreIPC::Connection::removeQueueClient):
16343        (CoreIPC::Connection::invalidate):
16344        (CoreIPC::Connection::sendMessage):
16345        (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
16346        (CoreIPC::Connection::connectionDidClose):
16347        * Platform/CoreIPC/Connection.h:
16348        (Connection):
16349        * Platform/CoreIPC/mac/ConnectionMac.cpp:
16350        (CoreIPC::createDataAvailableSource):
16351        (CoreIPC::Connection::open):
16352        (CoreIPC::Connection::initializeDeadNameSource):
16353        * Platform/WorkQueue.cpp:
16354        (WorkQueue::create):
16355        (WorkQueue::WorkQueue):
16356        (WorkQueue::~WorkQueue):
16357        * Platform/WorkQueue.h:
16358        (WorkQueue):
16359        * Platform/mac/WorkQueueMac.cpp:
16360        (WorkQueue::dispatch):
16361        (WorkQueue::dispatchAfterDelay):
16362        * Shared/ChildProcess.cpp:
16363        (WebKit::didCloseOnConnectionWorkQueue):
16364        * UIProcess/Launcher/ProcessLauncher.cpp:
16365        (WebKit::processLauncherWorkQueue):
16366        (WebKit::ProcessLauncher::ProcessLauncher):
16367        * UIProcess/WebProcessProxy.cpp:
16368        (WebKit::pluginWorkQueue):
16369        (WebKit::WebProcessProxy::getPlugins):
16370
163712013-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
16372
16373        [Qt][WK2] Fix build after removal of MessageID.h
16374        https://bugs.webkit.org/show_bug.cgi?id=108534
16375
16376        Reviewed by Anders Carlsson.
16377
16378        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
16379        (CoreIPC::MessageInfo::MessageInfo):
16380        (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
16381        (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
16382        (MessageInfo):
16383        (CoreIPC::Connection::processMessage):
16384        (CoreIPC::Connection::sendOutgoingMessage):
16385        * Target.pri:
16386        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
16387        * UIProcess/DrawingAreaProxy.cpp:
16388        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
16389        * WebProcess/soup/WebSoupRequestManager.cpp:
16390
163912013-01-31  Brady Eidson  <beidson@apple.com>
16392
16393        Assertion failure in WebResourceLoadScheduler::remove when loading .webarchives
16394        <rdar://problem/12888145> and https://bugs.webkit.org/show_bug.cgi?id=108520
16395
16396        Reviewed by Alexey Proskuryakov.
16397
16398        * WebProcess/Network/WebResourceLoadScheduler.cpp:
16399        (WebKit::WebResourceLoadScheduler::scheduleLoad): Even if it isn't to be scheduled with the
16400          NetworkProcess, still add this ResourceLoader to the scheduler's records.
16401
164022013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
16403
16404        Unreviewed trivial Unix build fix.
16405
16406        Use Vector<> instead of Deque<> when iterating
16407        over m_attachments in the USE(UNIX_DOMAIN_SOCKETS)
16408        case.
16409
16410        * Platform/CoreIPC/ArgumentDecoder.cpp:
16411
164122013-01-30  Brian Weinstein  <bweinstein@apple.com>
16413
16414        Add a call to the page UI client to determine if a plug-in should load
16415        https://bugs.webkit.org/show_bug.cgi?id=108407
16416        <rdar://problem/13066332>
16417
16418        Reviewed by Anders Carlsson.
16419
16420        This patch adds a client call to the WKPageUIClient to be called to determine
16421        whether or not a plug-in should load.
16422
16423        * UIProcess/API/C/WKPage.h: Add shouldLoadPlugin.
16424        * UIProcess/WebPageProxy.cpp:
16425        (WebKit::WebPageProxy::getPluginPath): Moved from WebProcessProxy, and added a call to
16426            m_uiClient.shouldInstantiatePlugin.
16427        * UIProcess/WebPageProxy.h:
16428        * UIProcss/WebPageProxy.messages.in: Moved GetPluginPath from WebProcessProxy to WebPageProxy.
16429        * UIProcess/WebProcessProxy.cpp:
16430        (WebKit::WebProcessProxy::getPluginPath): Moved to WebPageProxy.
16431        * UIProcess/WebProcessProxy.h:
16432        * UIProcess/WebUIClient.cpp:
16433        (WebKit::WebUIClient::shouldInstantiatePlugin): Return that we should load the plug-in if
16434            the client function isn't defined, and call the function if it is.
16435        * UIProcess/WebUIClient.h:
16436        * UIProcess/mac/WebInspectorProxyMac.mm:
16437        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add an entry for the new
16438            client function.
16439        * WebProcess/WebPage/WebPage.cpp:
16440        (WebKit::WebPage::createPlugin): Send the message to the WebPageProxy, not the WebProcessProxy.
16441        (WebKit::WebPage::canPluginHandleResponse): Made a member function, so it can call sendSync, and
16442            send the message to the WebPageProxy, not the WebProcessProxy.
16443        * WebProcess/WebPage/WebPage.h:
16444
164452013-01-31  Anders Carlsson  <andersca@apple.com>
16446
16447        Use a Vector for IPC attachments
16448        https://bugs.webkit.org/show_bug.cgi?id=108517
16449
16450        Reviewed by Sam Weinig.
16451
16452        We don't need to use a Deque for attachments - we can just deserialize the attachments backwards instead.
16453
16454        * Platform/CoreIPC/ArgumentDecoder.cpp:
16455        (CoreIPC::ArgumentDecoder::create):
16456        (CoreIPC::ArgumentDecoder::ArgumentDecoder):
16457        (CoreIPC::ArgumentDecoder::removeAttachment):
16458        * Platform/CoreIPC/ArgumentDecoder.h:
16459        (ArgumentDecoder):
16460        * Platform/CoreIPC/Connection.h:
16461        * Platform/CoreIPC/MessageDecoder.cpp:
16462        (CoreIPC::MessageDecoder::create):
16463        (CoreIPC::MessageDecoder::MessageDecoder):
16464        * Platform/CoreIPC/MessageDecoder.h:
16465        (MessageDecoder):
16466        * Platform/CoreIPC/mac/ConnectionMac.cpp:
16467        (CoreIPC::createMessageDecoder):
16468
164692013-01-31  Joseph Pecoraro  <pecoraro@apple.com>
16470
16471        Disable ENABLE_FULLSCREEN_API on iOS
16472        https://bugs.webkit.org/show_bug.cgi?id=108250
16473
16474        Reviewed by Benjamin Poulain.
16475
16476        * Configurations/FeatureDefines.xcconfig:
16477
164782013-01-31  Enrica Casucci  <enrica@apple.com>
16479
16480        WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
16481        https://bugs.webkit.org/show_bug.cgi?id=108396.
16482        <rdar://problem/12920461>
16483
16484        Reviewed by Alexey Proskuryakov.
16485
16486        This patch adds new bundle client API to receive notifications
16487        relative the pasteboard activity. There are 2 new API added to
16488        InjectedBundleEditorClient, to receive notification before and
16489        after the pasteboard content is added and one API to provide
16490        additional content to add to the pasteboard.
16491        In order to create content to add to the pasteboard, WKWebArchiveRef
16492        and WKWebArchiveResourcesRef have been added to the set of API level
16493        object.
16494        This work is a joint effort with Sam Weinig who contributed the
16495        support for WKWebArchiveRef, WKWebArchiveResourcesRef and related
16496        files. Sam is the author of the first chunk of changes listed below.
16497        
16498        * Shared/API/c/WKBase.h:
16499        * Shared/API/c/WKSharedAPICast.h:
16500        * Shared/API/c/mac/WKWebArchive.cpp: Added.
16501        (WKWebArchiveGetTypeID):
16502        (WKWebArchiveCreate):
16503        (WKWebArchiveCreateWithData):
16504        (WKWebArchiveCreateFromRange):
16505        (WKWebArchiveCopyMainResource):
16506        (WKWebArchiveCopySubresources):
16507        (WKWebArchiveCopySubframeArchives):
16508        (WKWebArchiveCopyData):
16509        * Shared/API/c/mac/WKWebArchive.h: Added.
16510        * Shared/API/c/mac/WKWebArchiveResource.cpp: Added.
16511        (WKWebArchiveResourceGetTypeID):
16512        (WKWebArchiveResourceCreate):
16513        (WKWebArchiveResourceCopyData):
16514        (WKWebArchiveResourceCopyURL):
16515        (WKWebArchiveResourceCopyMIMEType):
16516        (WKWebArchiveResourceCopyTextEncoding):
16517        * Shared/API/c/mac/WKWebArchiveResource.h: Added.
16518        * Shared/APIObject.h:
16519        * Shared/WebArchive.cpp: Added.
16520        (WebKit::WebArchive::create):
16521        (WebKit::WebArchive::WebArchive):
16522        (WebKit::WebArchive::~WebArchive):
16523        (WebKit::WebArchive::mainResource):
16524        (WebKit::WebArchive::subresources):
16525        (WebKit::WebArchive::subframeArchives):
16526        (WebKit::releaseCFData):
16527        (WebKit::WebArchive::data):
16528        (WebKit::WebArchive::coreLegacyWebArchive):
16529        * Shared/WebArchive.h: Added.
16530        (WebKit::WebArchive::type):
16531        * Shared/WebArchiveResource.cpp: Added.
16532        (WebKit::WebArchiveResource::create):
16533        (WebKit::WebArchiveResource::WebArchiveResource):
16534        (WebKit::WebArchiveResource::~WebArchiveResource):
16535        (WebKit::releaseCFData):
16536        (WebKit::WebArchiveResource::data):
16537        (WebKit::WebArchiveResource::URL):
16538        (WebKit::WebArchiveResource::MIMEType):
16539        (WebKit::WebArchiveResource::textEncoding):
16540        (WebKit::WebArchiveResource::coreArchiveResource):
16541        * Shared/WebArchiveResource.h: Added.
16542        (WebKit::WebArchiveResource::type):
16543        * WebKit2.xcodeproj/project.pbxproj:
16544        
16545        * Shared/APIClientTraits.cpp: Added versioning to InjectedBundlePageEditorClient.
16546        * Shared/APIClientTraits.h:
16547        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
16548        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
16549        (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard): Added.
16550        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): Added.
16551        (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard): Added.
16552        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
16553        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
16554        (WebKit::WebEditorClient::didWriteSelectionToPasteboard):
16555        (WebKit::WebEditorClient::willWriteSelectionToPasteboard):
16556        (WebKit::WebEditorClient::getClientPasteboardDataForRange):
16557        * WebProcess/WebCoreSupport/WebEditorClient.h:
16558
165592013-01-31  Anders Carlsson  <andersca@apple.com>
16560
16561        Remove MessageID.h
16562        https://bugs.webkit.org/show_bug.cgi?id=108516
16563
16564        Reviewed by Sam Weinig.
16565
16566        * Platform/CoreIPC/Connection.cpp:
16567        (CoreIPC::Connection::processIncomingMessage):
16568        (CoreIPC::Connection::sendOutgoingMessages):
16569        (CoreIPC::Connection::dispatchSyncMessage):
16570        (CoreIPC::Connection::dispatchMessage):
16571        * Platform/CoreIPC/Connection.h:
16572        (CoreIPC):
16573        (Connection):
16574        * Platform/CoreIPC/MessageID.h: Removed.
16575        * Platform/CoreIPC/mac/ConnectionMac.cpp:
16576        (CoreIPC::Connection::sendOutgoingMessage):
16577        (CoreIPC::Connection::receiveSourceEventHandler):
16578        * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Removed.
16579        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
16580        * UIProcess/DrawingAreaProxy.h:
16581        (CoreIPC):
16582        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
16583        * UIProcess/WebApplicationCacheManagerProxy.h:
16584        * UIProcess/WebContext.cpp:
16585        (WebKit::WebContext::WebContext):
16586        (WebKit::WebContext::didReceiveMessage):
16587        (WebKit::WebContext::didReceiveSyncMessage):
16588        * UIProcess/WebCookieManagerProxy.h:
16589        * UIProcess/WebFrameProxy.h:
16590        (CoreIPC):
16591        * UIProcess/WebFullScreenManagerProxy.h:
16592        (CoreIPC):
16593        * UIProcess/WebIconDatabase.h:
16594        (CoreIPC):
16595        * UIProcess/WebPageProxy.cpp:
16596        * UIProcess/WebPageProxy.h:
16597        (CoreIPC):
16598        * WebKit2.xcodeproj/project.pbxproj:
16599        * WebProcess/FullScreen/WebFullScreenManager.cpp:
16600        * WebProcess/FullScreen/WebFullScreenManager.h:
16601        (CoreIPC):
16602        * WebProcess/InjectedBundle/InjectedBundle.cpp:
16603        (WebKit::InjectedBundle::postMessage):
16604        (WebKit::InjectedBundle::postSynchronousMessage):
16605        * WebProcess/InjectedBundle/InjectedBundle.h:
16606        (CoreIPC):
16607        * WebProcess/WebPage/DrawingArea.h:
16608        (CoreIPC):
16609        * WebProcess/WebPage/LayerTreeHost.h:
16610        (CoreIPC):
16611        * WebProcess/WebPage/WebPage.cpp:
16612        * WebProcess/WebPage/WebPage.h:
16613        (CoreIPC):
16614        * WebProcess/WebPage/WebPageGroupProxy.h:
16615        (CoreIPC):
16616
166172013-01-31  Mike West  <mkwst@chromium.org>
16618
16619        Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
16620        https://bugs.webkit.org/show_bug.cgi?id=108476
16621
16622        Reviewed by Anders Carlsson.
16623
16624        * WebProcess/Plugins/PluginView.cpp:
16625        (WebKit::PluginView::storageBlockingStateChanged):
16626        (WebKit::PluginView::isPrivateBrowsingEnabled):
16627
166282013-01-31  Anders Carlsson  <andersca@apple.com>
16629
16630        Get rid of IncomingMessage
16631        https://bugs.webkit.org/show_bug.cgi?id=108514
16632
16633        Reviewed by Sam Weinig.
16634
16635        * Platform/CoreIPC/Connection.cpp:
16636        (Connection::SyncMessageState):
16637        (ConnectionAndIncomingMessage):
16638        (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
16639        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
16640        (CoreIPC::Connection::SyncMessageState::dispatchMessages):
16641        (CoreIPC::Connection::waitForMessage):
16642        (CoreIPC::Connection::processIncomingMessage):
16643        (CoreIPC::Connection::enqueueIncomingMessage):
16644        (CoreIPC::Connection::dispatchMessage):
16645        (CoreIPC::Connection::dispatchOneMessage):
16646        * Platform/CoreIPC/Connection.h:
16647        (Connection):
16648
166492013-01-31  Patrick Gansterer  <paroga@webkit.org>
16650
16651        Remove PLATFORM(WIN_CAIRO) from NetscapePluginX11.cpp
16652        https://bugs.webkit.org/show_bug.cgi?id=108439
16653
16654        Reviewed by Brent Fulgham.
16655
16656        PLATFORM(WIN_CAIRO) is Windows only, where no X11 exists.
16657
16658        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
16659
166602013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
16661
16662        Unreviewed build fix: Remove Web Intents files from
16663        the Qt build system.
16664
16665        * Target.pri:
16666
166672013-01-31  Zan Dobersek  <zdobersek@igalia.com>
16668
16669        Unreviewed GTK build fix.
16670        Removing build targets for Web Intents files that were removed in r141448.
16671
16672        * GNUmakefile.list.am:
16673
166742013-01-31  Anders Carlsson  <andersca@apple.com>
16675
16676        Remove Web Intents code from WebKit2
16677        https://bugs.webkit.org/show_bug.cgi?id=108506
16678
16679        Reviewed by Simon Fraser.
16680
16681        Since nobody builds with Web Intents enabled anymore, and since the code is going to 
16682        be removed from WebCore, remove it from WebKit2.
16683
16684        * Shared/API/c/WKBase.h:
16685        * Shared/APIClientTraits.cpp:
16686        (WebKit):
16687        * Shared/APIObject.h:
16688        * Shared/IntentData.cpp: Removed.
16689        * Shared/IntentData.h: Removed.
16690        * Shared/IntentServiceInfo.cpp: Removed.
16691        * Shared/IntentServiceInfo.h: Removed.
16692        * Shared/WebIntentServiceInfo.cpp: Removed.
16693        * Shared/WebIntentServiceInfo.h: Removed.
16694        * UIProcess/API/C/WKAPICast.h:
16695        (WebKit):
16696        * UIProcess/API/C/WKIntentData.cpp: Removed.
16697        * UIProcess/API/C/WKIntentData.h: Removed.
16698        * UIProcess/API/C/WKIntentServiceInfo.cpp: Removed.
16699        * UIProcess/API/C/WKIntentServiceInfo.h: Removed.
16700        * UIProcess/API/C/WKPage.cpp:
16701        * UIProcess/API/C/WKPage.h:
16702        * UIProcess/WebIntentData.cpp: Removed.
16703        * UIProcess/WebIntentData.h: Removed.
16704        * UIProcess/WebLoaderClient.cpp:
16705        * UIProcess/WebLoaderClient.h:
16706        (WebKit):
16707        (WebLoaderClient):
16708        * UIProcess/WebPageProxy.cpp:
16709        * UIProcess/WebPageProxy.h:
16710        (WebKit):
16711        (WebPageProxy):
16712        * UIProcess/WebPageProxy.messages.in:
16713        * UIProcess/WebProcessProxy.cpp:
16714        * UIProcess/WebProcessProxy.h:
16715        (WebProcessProxy):
16716        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
16717        (WebKit):
16718        * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Removed.
16719        * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Removed.
16720        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Removed.
16721        * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Removed.
16722        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16723        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
16724        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Removed.
16725        * WebProcess/InjectedBundle/InjectedBundleIntent.h: Removed.
16726        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Removed.
16727        * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Removed.
16728        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
16729        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
16730        (WebKit):
16731        (InjectedBundlePageLoaderClient):
16732        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
16733        (WebKit):
16734        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
16735        (WebFrameLoaderClient):
16736        * WebProcess/WebPage/WebFrame.cpp:
16737        * WebProcess/WebPage/WebFrame.h:
16738        (WebCore):
16739        (WebKit):
16740        (WebFrame):
16741        * WebProcess/WebPage/WebPage.cpp:
16742        * WebProcess/WebPage/WebPage.h:
16743        (WebCore):
16744        (WebKit):
16745        (WebPage):
16746        * WebProcess/WebPage/WebPage.messages.in:
16747        * WebProcess/WebProcess.cpp:
16748        * WebProcess/WebProcess.h:
16749        (WebCore):
16750        (WebProcess):
16751        * WebProcess/WebProcess.messages.in:
16752
167532013-01-31  Brady Eidson  <beidson@apple.com>
16754
16755        Lack of a log level string should not obliterate compiled in logging channel state.
16756        https://bugs.webkit.org/show_bug.cgi?id=108502
16757
16758        Reviewed by Alexey Proskuryakov and Sam Weinig.
16759
16760        * Platform/mac/Logging.mac.mm:
16761        (WebKit::initializeLogChannel): If there's no log level string, leave the channel state alone.
16762
167632013-01-31  Alexey Proskuryakov  <ap@apple.com>
16764
16765        WebProcess sandbox profile overhaul.
16766
16767        Reviewed by Sam Weinig.
16768
16769        Moves some rules together by susbystem for easier maintenance.
16770
16771        Addresses <rdar://problem/9276393>, <rdar://problem/10844321>, <rdar://problem/12408537>,
16772        <rdar://problem/12558524>.
16773
16774        * WebProcess/com.apple.WebProcess.sb.in:
16775
167762013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
16777
16778        Unreviewed trivial build fix: Pre C++11 the use of
16779        >> in nested templates is ambiguous in the grammar and
16780        requires the insertion of a space here. Since these files are
16781        not Mac specific we don't require C++11 yet and a space
16782        fixes the build.
16783
16784        * Platform/CoreIPC/Connection.h:
16785        (Connection):
16786        * Shared/ChildProcessProxy.h:
16787        (ChildProcessProxy):
16788
167892013-01-31  Christophe Dumez  <dchris@gmail.com>
16790
16791        [EFL] Disable Web Intents
16792        https://bugs.webkit.org/show_bug.cgi?id=108457
16793
16794        Reviewed by Alexey Proskuryakov.
16795
16796        Remove code related to Web Intents from EFL
16797        WebKit2.
16798
16799        * CMakeLists.txt:
16800        * PlatformEfl.cmake:
16801        * UIProcess/API/efl/EWebKit2.h:
16802        * UIProcess/API/efl/EwkViewCallbacks.h:
16803        * UIProcess/API/efl/ewk_intent.cpp: Removed.
16804        * UIProcess/API/efl/ewk_intent.h: Removed.
16805        * UIProcess/API/efl/ewk_intent_private.h: Removed.
16806        * UIProcess/API/efl/ewk_intent_service.cpp: Removed.
16807        * UIProcess/API/efl/ewk_intent_service.h: Removed.
16808        * UIProcess/API/efl/ewk_intent_service_private.h: Removed.
16809        * UIProcess/API/efl/ewk_view.cpp:
16810        * UIProcess/API/efl/ewk_view.h:
16811        * UIProcess/API/efl/tests/resources/intent-request.html: Removed.
16812        * UIProcess/API/efl/tests/resources/intent-service.html: Removed.
16813        * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Removed.
16814        * UIProcess/efl/PageLoadClientEfl.cpp:
16815        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
16816        * UIProcess/efl/PageLoadClientEfl.h:
16817        (PageLoadClientEfl):
16818
168192013-01-31  Alexey Proskuryakov  <ap@apple.com>
16820
16821        <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
16822
16823        Address review comments.
16824
16825        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
16826        * WebProcess/com.apple.WebProcess.sb.in:
16827
168282013-01-31  Anders Carlsson  <andersca@apple.com>
16829
16830        Stop using OutgoingMessage
16831        https://bugs.webkit.org/show_bug.cgi?id=108495
16832
16833        Reviewed by Sam Weinig.
16834
16835        * Platform/CoreIPC/Connection.cpp:
16836        (CoreIPC::Connection::sendMessage):
16837        (CoreIPC::Connection::sendOutgoingMessages):
16838        * Platform/CoreIPC/Connection.h:
16839        (Connection):
16840        * Shared/ChildProcessProxy.cpp:
16841        (WebKit::ChildProcessProxy::~ChildProcessProxy):
16842        (WebKit::ChildProcessProxy::sendMessage):
16843        (WebKit::ChildProcessProxy::didFinishLaunching):
16844        * Shared/ChildProcessProxy.h:
16845        (ChildProcessProxy):
16846
168472013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
16848
16849        [Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
16850        https://bugs.webkit.org/show_bug.cgi?id=108472
16851
16852        Reviewed by Andreas Kling.
16853
16854        Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
16855        that doesn't depend on WebKit2 internals.
16856
16857        Changed qwebnavigationhistory.cpp to not use any internal headers and compile it as part of the
16858        internals-free module.
16859
16860        * Target.pri:
16861        * UIProcess/API/qt/qwebnavigationhistory.cpp:
16862        * WebKit2.pro:
16863        * WebKit2QML.pri: Added.
16864
168652013-01-31  Simon Hausmann  <simon.hausmann@digia.com>
16866
16867        Unreviewed trivial build fix: Add missing virtual destructor to
16868        LayerTreeRendererClient. Otherwise the build with -Werror breaks, which
16869        complains (rightly so) that we're deleting a sub-class where the super class
16870        doesn't have a virtual destructor.
16871
16872        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
16873        (WebKit::LayerTreeRendererClient::~LayerTreeRendererClient):
16874
168752013-01-31  Seulgi Kim  <seulgikim@company100.net>
16876
16877        Coordinated Graphics: view the debug border/repaint count of the non composited layer.
16878        https://bugs.webkit.org/show_bug.cgi?id=108401
16879
16880        Reviewed by Noam Rosenthal.
16881
16882        Make non-compositing layer draw debug border and show repaint counter
16883        accroding to settings.
16884
16885        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
16886        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
16887
168882013-01-31  Paweł Forysiuk  <tuxator@o2.pl>
16889
16890        InjectedBundle is being built even with --disable-webkit2
16891        https://bugs.webkit.org/show_bug.cgi?id=108364
16892
16893        Reviewed by Gustavo Noronha Silva.
16894
16895        * GNUmakefile.am: Wrap Injected bundle with ENABLE_WEBKIT2 condition
16896
168972013-01-31  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
16898
16899        [EFL][WK2] RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl should be based on C API
16900        https://bugs.webkit.org/show_bug.cgi?id=107685
16901
16902        Reviewed by Benjamin Poulain.
16903
16904        RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl
16905        should be based on C API so that API layering is not violated.
16906
16907        * UIProcess/API/efl/ewk_context.cpp:
16908        (EwkContext::EwkContext):
16909        * UIProcess/efl/ContextHistoryClientEfl.cpp:
16910        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
16911        (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
16912        * UIProcess/efl/ContextHistoryClientEfl.h:
16913        (WebKit::ContextHistoryClientEfl::create):
16914        (ContextHistoryClientEfl):
16915        * UIProcess/efl/DownloadManagerEfl.cpp:
16916        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
16917        (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
16918        * UIProcess/efl/DownloadManagerEfl.h:
16919        (WebKit::DownloadManagerEfl::create):
16920        (DownloadManagerEfl):
16921        * UIProcess/efl/RequestManagerClientEfl.cpp:
16922        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
16923        * UIProcess/efl/RequestManagerClientEfl.h:
16924        (WebKit::RequestManagerClientEfl::create):
16925        (RequestManagerClientEfl):
16926
169272013-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
16928
16929        Unreviewed, rolling out r141110.
16930        http://trac.webkit.org/changeset/141110
16931        https://bugs.webkit.org/show_bug.cgi?id=108349
16932
16933        This patch broke WK2-EFL unit tests (Requested by grzegorz on
16934        #webkit).
16935
16936        * UIProcess/efl/TextCheckerEfl.cpp:
16937        * WebProcess/WebCoreSupport/WebEditorClient.h:
16938        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
16939
169402013-01-31  Jae Hyun Park  <jae.park@company100.net>
16941
16942        Coordinated Graphics : Remove WebCoordinatedSurface dependency from CoordinatedSurface
16943        https://bugs.webkit.org/show_bug.cgi?id=108259
16944
16945        Reviewed by Noam Rosenthal.
16946
16947        This is a preparation patch for Threaded Coordinated Graphics.
16948
16949        WebCoordinatedSurface dependency should be removed from
16950        CoordinatedSurface so as to share CoordinatedSurface between
16951        WebCoordinatedSurface and CoordinatedSurface of WebKit1, which will be
16952        implemented for Threaded Coordinated Graphics.
16953
16954        This patch introduces CoordinatedSurface::Factory, which is a function
16955        pointer that creates CoordinatedSurfaces. CoordinatedLayerTreeHost sets
16956        static CoordinatedSurface::Factory member variable. Classes that use
16957        CoordinatedSurface, which are CoordinatedImageBacking and UpdateAtlas,
16958        create CoordinatedSurfaces by calling CoordinatedSurface::create, which
16959        will call the function set by CoordinatedLayerTreeHost.
16960
16961        This way, we can remove the WebCoordinatedSurface dependency from
16962        CoordinatedSurface and be able to share the code in Threaded Coordinated
16963        Graphics.
16964
16965        No new tests. No change in behavior.
16966
16967        * CMakeLists.txt:
16968        * Shared/CoordinatedGraphics/CoordinatedSurface.cpp: Added.
16969        (WebKit):
16970        (WebKit::CoordinatedSurface::setFactory):
16971        (WebKit::CoordinatedSurface::create):
16972        * Shared/CoordinatedGraphics/CoordinatedSurface.h:
16973        (CoordinatedSurface):
16974        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
16975        * Target.pri:
16976        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
16977        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
16978        (WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface):
16979        (WebKit):
16980        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
16981
169822013-01-30  Tim Horton  <timothy_horton@apple.com>
16983
16984        Unreviewed build fix after http://trac.webkit.org/changeset/141372.
16985
16986        * WebProcess/Plugins/PDF/PDFPlugin.mm:
16987        (WebKit::PDFPlugin::performDictionaryLookupAtLocation):
16988
169892013-01-30  Jae Hyun Park  <jae.park@company100.net>
16990
16991        Coordinated Graphics : Remove CoordinatedLayerTreeHostProxy dependency from LayerTreeRenderer
16992        https://bugs.webkit.org/show_bug.cgi?id=108164
16993
16994        Reviewed by Benjamin Poulain.
16995
16996        This is a preparation patch for Threaded Coordinated Graphics.
16997
16998        LayerTreeRenderer should not depend on CoordinatedLayerTreeHostProxy so that it
16999        can be moved to WebCore.  This patch introduces LayerTreeRendererClient which
17000        is implemented in CoordinatedLayerTreeHostProxy. LayerTreeRenderer uses this
17001        client, instead of using CoordinatedLayerTreeHostProxy directly.
17002
17003        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
17004        (CoordinatedLayerTreeHostProxy):
17005        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
17006        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
17007        (WebKit::LayerTreeRenderer::animationFrameReady):
17008        (WebKit::LayerTreeRenderer::updateViewport):
17009        (WebKit::LayerTreeRenderer::renderNextFrame):
17010        (WebKit::LayerTreeRenderer::purgeBackingStores):
17011        (WebKit::LayerTreeRenderer::detach):
17012        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
17013        (WebKit):
17014        (LayerTreeRendererClient):
17015        (LayerTreeRenderer):
17016
170172013-01-30  Tim Horton  <timothy_horton@apple.com>
17018
17019        PDFPlugin: Should respond to three-finger tap for dictionary definitions
17020        https://bugs.webkit.org/show_bug.cgi?id=108418
17021        <rdar://problem/13121409>
17022
17023        Reviewed by Simon Fraser.
17024
17025        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add default implementation of performDictionaryLookupAtLocation.
17026        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add getSelectionForWordAtPoint and searchInDictionaryWithSelection.
17027        * WebProcess/Plugins/PDF/PDFPlugin.h: Add performDictionaryLookupAtLocation.
17028        * WebProcess/Plugins/PDF/PDFPlugin.mm: Grab a PDFSelection representing the word encompassing the given point, and
17029        throw up a dictionary popover.
17030        (WebKit::PDFPlugin::performDictionaryLookupAtLocation):
17031        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:  Add default implementation of performDictionaryLookupAtLocation.
17032        * WebProcess/Plugins/Plugin.h:  Add performDictionaryLookupAtLocation.
17033        * WebProcess/Plugins/PluginProxy.h: Add default implementation of performDictionaryLookupAtLocation.
17034        * WebProcess/Plugins/PluginView.cpp: 
17035        (WebKit::PluginView::performDictionaryLookupAtLocation): Forward performDictionaryLookupAtLocation to the plugin.
17036        * WebProcess/Plugins/PluginView.h: Add performDictionaryLookupAtLocation.
17037        * WebProcess/WebPage/mac/WebPageMac.mm:
17038        (WebKit::WebPage::performDictionaryLookupAtLocation): Intercept performDictionaryLookupAtLocation, and give
17039        the main-frame plugin (if it exists) a chance to handle it.
17040
170412013-01-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
17042
17043        [WK2] Cleanup MessageID parameter after r141332
17044        https://bugs.webkit.org/show_bug.cgi?id=108419
17045
17046        Unreviewed to fix build breaks.
17047
17048        r141332 didn't remove MessageID parameter on some features.
17049        (battery, vibration, coordinate graphics, network info and so on)
17050
17051        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
17052        (CoordinatedLayerTreeHostProxy):
17053        * UIProcess/DrawingAreaProxyImpl.cpp:
17054        (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
17055        * UIProcess/WebBatteryManagerProxy.h:
17056        (WebBatteryManagerProxy):
17057        * UIProcess/WebNetworkInfoManagerProxy.h:
17058        (WebNetworkInfoManagerProxy):
17059        * UIProcess/WebPageProxy.cpp:
17060        (WebKit::WebPageProxy::didReceiveMessage):
17061        * UIProcess/WebVibrationProxy.h:
17062        (WebVibrationProxy):
17063        * UIProcess/soup/WebSoupRequestManagerProxy.h:
17064        (WebSoupRequestManagerProxy):
17065        * WebProcess/Battery/WebBatteryManager.h:
17066        (WebBatteryManager):
17067        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
17068        (WebNetworkInfoManager):
17069        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
17070        * WebProcess/WebPage/DrawingAreaImpl.cpp:
17071        (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
17072        * WebProcess/WebPage/WebPage.cpp:
17073        (WebKit::WebPage::didReceiveMessage):
17074        * WebProcess/soup/WebSoupRequestManager.h:
17075        (WebSoupRequestManager):
17076
170772013-01-30  Anders Carlsson  <andersca@apple.com>
17078
17079        Remove MessageID from MessageSender
17080        https://bugs.webkit.org/show_bug.cgi?id=108413
17081
17082        Reviewed by Andreas Kling.
17083
17084        This is another step towards eliminating MessageID.
17085
17086        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
17087        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
17088        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
17089        * NetworkProcess/NetworkConnectionToWebProcess.h:
17090        (NetworkConnectionToWebProcess):
17091        * NetworkProcess/NetworkProcess.cpp:
17092        (WebKit::NetworkProcess::didReceiveMessage):
17093        (WebKit::NetworkProcess::didReceiveSyncMessage):
17094        * NetworkProcess/NetworkProcess.h:
17095        (NetworkProcess):
17096        * Platform/CoreIPC/Connection.cpp:
17097        (CoreIPC::Connection::processIncomingMessage):
17098        (CoreIPC::Connection::dispatchSyncMessage):
17099        (CoreIPC::Connection::dispatchMessage):
17100        * Platform/CoreIPC/Connection.h:
17101        (QueueClient):
17102        (CoreIPC::Connection::waitForAndDispatchImmediately):
17103        * Platform/CoreIPC/MessageReceiver.h:
17104        (MessageReceiver):
17105        (CoreIPC::MessageReceiver::didReceiveSyncMessage):
17106        * Platform/CoreIPC/MessageReceiverMap.cpp:
17107        (CoreIPC::MessageReceiverMap::dispatchMessage):
17108        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
17109        * Platform/CoreIPC/MessageReceiverMap.h:
17110        (MessageReceiverMap):
17111        * PluginProcess/PluginProcess.cpp:
17112        (WebKit::PluginProcess::didReceiveMessage):
17113        * PluginProcess/PluginProcess.h:
17114        (PluginProcess):
17115        * PluginProcess/WebProcessConnection.cpp:
17116        (WebKit::WebProcessConnection::didReceiveMessage):
17117        (WebKit::WebProcessConnection::didReceiveSyncMessage):
17118        * PluginProcess/WebProcessConnection.h:
17119        (WebProcessConnection):
17120        * Scripts/webkit2/messages.py:
17121        (forward_declarations_and_headers):
17122        (generate_message_handler):
17123        * Scripts/webkit2/messages_unittest.py:
17124        * Shared/Authentication/AuthenticationManager.cpp:
17125        (WebKit::AuthenticationManager::didReceiveMessage):
17126        * Shared/Authentication/AuthenticationManager.h:
17127        (AuthenticationManager):
17128        * Shared/ChildProcessProxy.cpp:
17129        (WebKit::ChildProcessProxy::sendMessage):
17130        * Shared/ChildProcessProxy.h:
17131        (ChildProcessProxy):
17132        (WebKit::ChildProcessProxy::send):
17133        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
17134        (CustomProtocolManager):
17135        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
17136        (WebKit::CustomProtocolManager::didReceiveMessage):
17137        * Shared/Plugins/NPRemoteObjectMap.cpp:
17138        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
17139        * Shared/Plugins/NPRemoteObjectMap.h:
17140        (NPRemoteObjectMap):
17141        * Shared/WebConnection.cpp:
17142        (WebKit::WebConnection::didReceiveMessage):
17143        * Shared/WebConnection.h:
17144        (WebConnection):
17145        * Shared/mac/SecItemShim.cpp:
17146        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
17147        * Shared/mac/SecItemShim.h:
17148        (SecItemShim):
17149        * SharedWorkerProcess/SharedWorkerProcess.cpp:
17150        (WebKit::SharedWorkerProcess::didReceiveMessage):
17151        * SharedWorkerProcess/SharedWorkerProcess.h:
17152        (SharedWorkerProcess):
17153        * UIProcess/Downloads/DownloadProxy.cpp:
17154        (WebKit::DownloadProxy::didReceiveMessage):
17155        (WebKit::DownloadProxy::didReceiveSyncMessage):
17156        * UIProcess/Downloads/DownloadProxy.h:
17157        (DownloadProxy):
17158        * UIProcess/DrawingAreaProxy.cpp:
17159        (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
17160        * UIProcess/DrawingAreaProxy.h:
17161        (DrawingAreaProxy):
17162        * UIProcess/DrawingAreaProxyImpl.cpp:
17163        (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
17164        * UIProcess/DrawingAreaProxyImpl.h:
17165        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
17166        (CustomProtocolManagerProxy):
17167        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
17168        (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
17169        * UIProcess/Network/NetworkProcessProxy.cpp:
17170        (WebKit::NetworkProcessProxy::didReceiveMessage):
17171        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
17172        * UIProcess/Network/NetworkProcessProxy.h:
17173        (NetworkProcessProxy):
17174        * UIProcess/Notifications/WebNotificationManagerProxy.h:
17175        (WebNotificationManagerProxy):
17176        * UIProcess/Plugins/PluginProcessProxy.cpp:
17177        (WebKit::PluginProcessProxy::didReceiveMessage):
17178        * UIProcess/Plugins/PluginProcessProxy.h:
17179        (PluginProcessProxy):
17180        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
17181        (WebKit::SharedWorkerProcessProxy::didReceiveMessage):
17182        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
17183        (SharedWorkerProcessProxy):
17184        * UIProcess/WebApplicationCacheManagerProxy.cpp:
17185        (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
17186        * UIProcess/WebApplicationCacheManagerProxy.h:
17187        (WebApplicationCacheManagerProxy):
17188        * UIProcess/WebContext.cpp:
17189        (WebKit::WebContext::dispatchMessage):
17190        (WebKit::WebContext::dispatchSyncMessage):
17191        (WebKit::WebContext::didReceiveMessage):
17192        (WebKit::WebContext::didReceiveSyncMessage):
17193        * UIProcess/WebContext.h:
17194        (WebContext):
17195        * UIProcess/WebCookieManagerProxy.cpp:
17196        (WebKit::WebCookieManagerProxy::didReceiveMessage):
17197        * UIProcess/WebCookieManagerProxy.h:
17198        (WebCookieManagerProxy):
17199        * UIProcess/WebDatabaseManagerProxy.cpp:
17200        (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
17201        * UIProcess/WebDatabaseManagerProxy.h:
17202        (WebDatabaseManagerProxy):
17203        * UIProcess/WebFullScreenManagerProxy.cpp:
17204        (WebKit::WebFullScreenManagerProxy::didReceiveMessage):
17205        (WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
17206        * UIProcess/WebFullScreenManagerProxy.h:
17207        (WebFullScreenManagerProxy):
17208        * UIProcess/WebGeolocationManagerProxy.h:
17209        (WebGeolocationManagerProxy):
17210        * UIProcess/WebIconDatabase.h:
17211        (WebIconDatabase):
17212        * UIProcess/WebKeyValueStorageManagerProxy.h:
17213        (WebKeyValueStorageManagerProxy):
17214        * UIProcess/WebMediaCacheManagerProxy.h:
17215        (WebMediaCacheManagerProxy):
17216        * UIProcess/WebPageProxy.cpp:
17217        (WebKit::WebPageProxy::didReceiveMessage):
17218        (WebKit::WebPageProxy::didReceiveSyncMessage):
17219        * UIProcess/WebPageProxy.h:
17220        (WebPageProxy):
17221        * UIProcess/WebProcessProxy.cpp:
17222        (WebKit::WebProcessProxy::didReceiveMessage):
17223        (WebKit::WebProcessProxy::didReceiveSyncMessage):
17224        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
17225        * UIProcess/WebProcessProxy.h:
17226        (WebProcessProxy):
17227        * UIProcess/WebResourceCacheManagerProxy.h:
17228        (WebResourceCacheManagerProxy):
17229        * UIProcess/mac/RemoteLayerTreeHost.h:
17230        (RemoteLayerTreeHost):
17231        * UIProcess/mac/RemoteLayerTreeHost.mm:
17232        (WebKit::RemoteLayerTreeHost::didReceiveMessage):
17233        * UIProcess/mac/SecItemShimProxy.cpp:
17234        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
17235        * UIProcess/mac/SecItemShimProxy.h:
17236        (SecItemShimProxy):
17237        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
17238        (WebKit::WebApplicationCacheManager::didReceiveMessage):
17239        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
17240        (WebApplicationCacheManager):
17241        * WebProcess/Cookies/WebCookieManager.cpp:
17242        (WebKit::WebCookieManager::didReceiveMessage):
17243        * WebProcess/Cookies/WebCookieManager.h:
17244        (WebCookieManager):
17245        * WebProcess/FullScreen/WebFullScreenManager.cpp:
17246        (WebKit::WebFullScreenManager::didReceiveMessage):
17247        * WebProcess/FullScreen/WebFullScreenManager.h:
17248        (WebFullScreenManager):
17249        * WebProcess/Geolocation/WebGeolocationManager.h:
17250        (WebGeolocationManager):
17251        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
17252        (WebIconDatabaseProxy):
17253        * WebProcess/MediaCache/WebMediaCacheManager.h:
17254        (WebMediaCacheManager):
17255        * WebProcess/Network/NetworkProcessConnection.cpp:
17256        (WebKit::NetworkProcessConnection::didReceiveMessage):
17257        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
17258        * WebProcess/Network/NetworkProcessConnection.h:
17259        (NetworkProcessConnection):
17260        * WebProcess/Notifications/WebNotificationManager.h:
17261        (WebNotificationManager):
17262        * WebProcess/Plugins/PluginProcessConnection.cpp:
17263        (WebKit::PluginProcessConnection::didReceiveMessage):
17264        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
17265        * WebProcess/Plugins/PluginProcessConnection.h:
17266        (PluginProcessConnection):
17267        * WebProcess/ResourceCache/WebResourceCacheManager.h:
17268        (WebResourceCacheManager):
17269        * WebProcess/Storage/WebKeyValueStorageManager.h:
17270        (WebKeyValueStorageManager):
17271        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
17272        (WebKit::WebDatabaseManager::didReceiveMessage):
17273        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
17274        (WebDatabaseManager):
17275        * WebProcess/WebPage/DrawingArea.h:
17276        (DrawingArea):
17277        * WebProcess/WebPage/DrawingAreaImpl.cpp:
17278        (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
17279        * WebProcess/WebPage/DrawingAreaImpl.h:
17280        (DrawingAreaImpl):
17281        * WebProcess/WebPage/EventDispatcher.cpp:
17282        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
17283        * WebProcess/WebPage/EventDispatcher.h:
17284        (EventDispatcher):
17285        * WebProcess/WebPage/LayerTreeHost.h:
17286        (LayerTreeHost):
17287        * WebProcess/WebPage/WebPage.cpp:
17288        (WebKit::WebPage::didReceiveMessage):
17289        (WebKit::WebPage::didReceiveSyncMessage):
17290        * WebProcess/WebPage/WebPage.h:
17291        (WebPage):
17292        * WebProcess/WebPage/WebPageGroupProxy.h:
17293        (WebPageGroupProxy):
17294        * WebProcess/WebProcess.cpp:
17295        (WebKit::WebProcess::didReceiveSyncMessage):
17296        (WebKit::WebProcess::didReceiveMessage):
17297        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
17298        * WebProcess/WebProcess.h:
17299        (WebProcess):
17300
173012013-01-30  Tim Horton  <timothy_horton@apple.com>
17302
17303        PDFPlugin: Update scrollbars if PDFLayerController's display mode changes
17304        https://bugs.webkit.org/show_bug.cgi?id=108412
17305        <rdar://problem/13002261>
17306
17307        Reviewed by Simon Fraser.
17308
17309        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add pdfLayerController:didChangeDisplayMode:
17310        * WebProcess/Plugins/PDF/PDFPlugin.h: Add notifyDisplayModeChanged().
17311        * WebProcess/Plugins/PDF/PDFPlugin.mm:
17312        (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeDisplayMode:]): Forward didChangeDisplayMode to notifyDisplayModeChanged.
17313        (WebKit::PDFPlugin::notifyDisplayModeChanged): Update content size and scrollbar size when display mode changes.
17314
173152013-01-30  Alexey Proskuryakov  <ap@apple.com>
17316
17317        <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
17318
17319        Reviewed by Sam Weinig.
17320
17321        * DerivedSources.make: Preprocess a .sb.in file to build the profile.
17322
17323        * NetworkProcess/mac/NetworkProcessMac.mm:
17324        Don't prevent entering the sandbox. Override sandbox path, because service
17325        gets a differnt one by default.
17326
17327        * WebKit2.xcodeproj/project.pbxproj:
17328        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Added.
17329
173302013-01-30  Huang Dongsung  <luxtella@company100.net>
17331
17332        Coordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
17333        https://bugs.webkit.org/show_bug.cgi?id=107224
17334
17335        Reviewed by Benjamin Poulain.
17336
17337        Currently, CoordinatedLayerTreeHostProxy manages the surface of UpdateAtlas, but
17338        all other resources are managed by LayerTreeRenderer. This patch matches the
17339        surface of UpdateAtlas to other resources.
17340
17341        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
17342        (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
17343        (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
17344        (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
17345        (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
17346        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
17347        (CoordinatedLayerTreeHostProxy):
17348        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
17349        (WebKit::LayerTreeRenderer::updateTile):
17350        (WebKit::LayerTreeRenderer::createUpdateAtlas):
17351        (WebKit):
17352        (WebKit::LayerTreeRenderer::removeUpdateAtlas):
17353        (WebKit::LayerTreeRenderer::purgeGLResources):
17354        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
17355        (TileUpdate):
17356        (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
17357        (LayerTreeRenderer):
17358
173592013-01-30  Anders Carlsson  <andersca@apple.com>
17360
17361        Remove MessageID parameter from generated message receivers
17362        https://bugs.webkit.org/show_bug.cgi?id=108379
17363
17364        Reviewed by Beth Dakin.
17365
17366        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
17367        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
17368        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
17369        * NetworkProcess/NetworkConnectionToWebProcess.h:
17370        (NetworkConnectionToWebProcess):
17371        * NetworkProcess/NetworkProcess.cpp:
17372        (WebKit::NetworkProcess::didReceiveMessage):
17373        * NetworkProcess/NetworkProcess.h:
17374        (NetworkProcess):
17375        * PluginProcess/PluginControllerProxy.h:
17376        (PluginControllerProxy):
17377        * PluginProcess/PluginProcess.cpp:
17378        (WebKit::PluginProcess::didReceiveMessage):
17379        * PluginProcess/PluginProcess.h:
17380        (PluginProcess):
17381        * PluginProcess/WebProcessConnection.cpp:
17382        (WebKit::WebProcessConnection::didReceiveMessage):
17383        (WebKit::WebProcessConnection::didReceiveSyncMessage):
17384        * PluginProcess/WebProcessConnection.h:
17385        (WebProcessConnection):
17386        * Scripts/webkit2/messages.py:
17387        (generate_message_handler):
17388        * Scripts/webkit2/messages_unittest.py:
17389        * Shared/Authentication/AuthenticationManager.cpp:
17390        (WebKit::AuthenticationManager::didReceiveMessage):
17391        * Shared/Authentication/AuthenticationManager.h:
17392        (AuthenticationManager):
17393        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
17394        (CustomProtocolManager):
17395        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
17396        (WebKit::CustomProtocolManager::didReceiveMessage):
17397        * Shared/Plugins/NPObjectMessageReceiver.h:
17398        (NPObjectMessageReceiver):
17399        * Shared/Plugins/NPRemoteObjectMap.cpp:
17400        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
17401        * Shared/WebConnection.cpp:
17402        (WebKit::WebConnection::didReceiveMessage):
17403        * Shared/WebConnection.h:
17404        (WebConnection):
17405        * Shared/mac/SecItemShim.cpp:
17406        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
17407        * Shared/mac/SecItemShim.h:
17408        (SecItemShim):
17409        * SharedWorkerProcess/SharedWorkerProcess.cpp:
17410        (WebKit::SharedWorkerProcess::didReceiveMessage):
17411        * SharedWorkerProcess/SharedWorkerProcess.h:
17412        (SharedWorkerProcess):
17413        * UIProcess/Downloads/DownloadProxy.cpp:
17414        (WebKit::DownloadProxy::didReceiveMessage):
17415        (WebKit::DownloadProxy::didReceiveSyncMessage):
17416        * UIProcess/Downloads/DownloadProxy.h:
17417        (DownloadProxy):
17418        * UIProcess/DrawingAreaProxy.h:
17419        (DrawingAreaProxy):
17420        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
17421        (CustomProtocolManagerProxy):
17422        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
17423        (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
17424        * UIProcess/Network/NetworkProcessProxy.cpp:
17425        (WebKit::NetworkProcessProxy::didReceiveMessage):
17426        * UIProcess/Network/NetworkProcessProxy.h:
17427        (NetworkProcessProxy):
17428        * UIProcess/Plugins/PluginProcessProxy.cpp:
17429        (WebKit::PluginProcessProxy::didReceiveMessage):
17430        * UIProcess/Plugins/PluginProcessProxy.h:
17431        (PluginProcessProxy):
17432        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
17433        (WebKit::SharedWorkerProcessProxy::didReceiveMessage):
17434        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
17435        (SharedWorkerProcessProxy):
17436        * UIProcess/WebApplicationCacheManagerProxy.cpp:
17437        (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
17438        * UIProcess/WebApplicationCacheManagerProxy.h:
17439        (WebApplicationCacheManagerProxy):
17440        * UIProcess/WebContext.cpp:
17441        (WebKit::WebContext::didReceiveMessage):
17442        (WebKit::WebContext::didReceiveSyncMessage):
17443        * UIProcess/WebContext.h:
17444        (WebContext):
17445        * UIProcess/WebCookieManagerProxy.cpp:
17446        (WebKit::WebCookieManagerProxy::didReceiveMessage):
17447        * UIProcess/WebCookieManagerProxy.h:
17448        (WebCookieManagerProxy):
17449        * UIProcess/WebDatabaseManagerProxy.cpp:
17450        (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
17451        * UIProcess/WebDatabaseManagerProxy.h:
17452        (WebDatabaseManagerProxy):
17453        * UIProcess/WebFullScreenManagerProxy.cpp:
17454        (WebKit::WebFullScreenManagerProxy::didReceiveMessage):
17455        (WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
17456        * UIProcess/WebFullScreenManagerProxy.h:
17457        (WebFullScreenManagerProxy):
17458        * UIProcess/WebInspectorProxy.h:
17459        (WebInspectorProxy):
17460        * UIProcess/WebPageProxy.cpp:
17461        (WebKit::WebPageProxy::didReceiveMessage):
17462        (WebKit::WebPageProxy::didReceiveSyncMessage):
17463        * UIProcess/WebPageProxy.h:
17464        (WebPageProxy):
17465        * UIProcess/WebProcessProxy.cpp:
17466        (WebKit::WebProcessProxy::didReceiveMessage):
17467        (WebKit::WebProcessProxy::didReceiveSyncMessage):
17468        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
17469        * UIProcess/WebProcessProxy.h:
17470        (WebProcessProxy):
17471        * UIProcess/mac/RemoteLayerTreeHost.h:
17472        (RemoteLayerTreeHost):
17473        * UIProcess/mac/RemoteLayerTreeHost.mm:
17474        (WebKit::RemoteLayerTreeHost::didReceiveMessage):
17475        * UIProcess/mac/SecItemShimProxy.cpp:
17476        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
17477        * UIProcess/mac/SecItemShimProxy.h:
17478        (SecItemShimProxy):
17479        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
17480        (WebKit::WebApplicationCacheManager::didReceiveMessage):
17481        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
17482        (WebApplicationCacheManager):
17483        * WebProcess/Cookies/WebCookieManager.cpp:
17484        (WebKit::WebCookieManager::didReceiveMessage):
17485        * WebProcess/Cookies/WebCookieManager.h:
17486        (WebCookieManager):
17487        * WebProcess/FullScreen/WebFullScreenManager.cpp:
17488        (WebKit::WebFullScreenManager::didReceiveMessage):
17489        * WebProcess/FullScreen/WebFullScreenManager.h:
17490        (WebFullScreenManager):
17491        * WebProcess/Network/NetworkProcessConnection.cpp:
17492        (WebKit::NetworkProcessConnection::didReceiveMessage):
17493        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
17494        * WebProcess/Network/WebResourceLoader.h:
17495        (WebResourceLoader):
17496        * WebProcess/Plugins/PluginProcessConnection.cpp:
17497        (WebKit::PluginProcessConnection::didReceiveMessage):
17498        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
17499        * WebProcess/Plugins/PluginProcessConnection.h:
17500        (PluginProcessConnection):
17501        * WebProcess/Plugins/PluginProxy.h:
17502        (PluginProxy):
17503        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
17504        (WebKit::WebDatabaseManager::didReceiveMessage):
17505        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
17506        (WebDatabaseManager):
17507        * WebProcess/WebPage/DrawingArea.h:
17508        (DrawingArea):
17509        * WebProcess/WebPage/EventDispatcher.cpp:
17510        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
17511        * WebProcess/WebPage/EventDispatcher.h:
17512        (EventDispatcher):
17513        * WebProcess/WebPage/WebInspector.h:
17514        (WebInspector):
17515        * WebProcess/WebPage/WebPage.cpp:
17516        (WebKit::WebPage::didReceiveMessage):
17517        (WebKit::WebPage::didReceiveSyncMessage):
17518        * WebProcess/WebPage/WebPage.h:
17519        (WebPage):
17520        * WebProcess/WebProcess.cpp:
17521        (WebKit::WebProcess::didReceiveMessage):
17522        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
17523        * WebProcess/WebProcess.h:
17524        (WebProcess):
17525
175262013-01-30  Christophe Dumez  <dchris@gmail.com>
17527
17528        [WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
17529        https://bugs.webkit.org/show_bug.cgi?id=108371
17530
17531        Reviewed by Martin Robinson.
17532
17533        g_spawn_sync() was sometimes displaying a warning about the SIGCHLD
17534        signal disposition not being set to SIG_DFL, despite the fix in r133755.
17535        The reason was that the code was only setting the disposition to SIG_DFL
17536        if the previous disposition was SIG_IGN.
17537
17538        In this patch, we set the SIGCHLD signal disposition to SIG_DFL, no
17539        matter what its previous disposition was. Also, the signal disposition
17540        is now restored to its previous state after the call to g_spawn_sync()
17541        to avoid side effects. Finally, we now use SIGCHLD instead of SIDCLD
17542        since this is the more compatible POSIX name.
17543
17544        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
17545        (WebKit::spawnProcessSync):
17546        (WebKit):
17547        (WebKit::PluginProcessProxy::scanPlugin):
17548
175492013-01-30  Huang Dongsung  <luxtella@company100.net>
17550
17551        [EFL][Qt][WK2] We should consider a page scale factor in WebCore instead of our own scale factor.
17552        https://bugs.webkit.org/show_bug.cgi?id=105978
17553
17554        Reviewed by Simon Fraser.
17555
17556        Currently, PageViewportController sends a page scale factor to Coordinated
17557        Graphics System regardless of the page scale factor in WebCore. This patch makes
17558        Coordinated Graphics System use the page scale factor in WebCore to match other
17559        ports.
17560
17561        When it is needed to change a page scale, PageViewportController sends the scale
17562        to Page in Web Process via WebPageProxy::scalePage. When the page scale in
17563        WebCore is changed, CoordinatedGraphicsLayer gets notified via
17564        deviceOrPageScaleFactorChanged callback. CoordinatedGraphicsLayer uses the page
17565        scale factor like previous our own scale factor.
17566
17567        We set true to applyDeviceScaleFactorInCompositor and
17568        ApplyPageScaleFactorInCompositor in Settings like chromium, because
17569        TiledBackingStore that is a backing store of each GraphicsLayer applies the
17570        scale to our raster graphics engines instead of applying the scale to the local
17571        transform of each render object.
17572
17573        Thank Kenneth Rohde Christiansen for implementing the base patch of this patch.
17574
17575        No new tests. Covered by existing tests.
17576
17577        * UIProcess/API/qt/qquickwebview.cpp:
17578        (QQuickWebViewLegacyPrivate::updateViewportSize):
17579        * UIProcess/API/qt/raw/qrawwebview.cpp:
17580        (QRawWebView::setSize):
17581        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
17582        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
17583        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
17584            Does not receive a pageScaleFactor argument because
17585            PageViewportController sends a page scale factor to Page.
17586            However, this method still receives a scroll position because we
17587            enable delegates scrolling.
17588        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
17589        (CoordinatedLayerTreeHostProxy):
17590        * UIProcess/DrawingAreaProxy.h:
17591        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
17592        * UIProcess/DrawingAreaProxyImpl.cpp:
17593        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
17594        * UIProcess/DrawingAreaProxyImpl.h:
17595        * UIProcess/PageViewportController.cpp:
17596        (WebKit::PageViewportController::didRenderFrame):
17597        (WebKit::PageViewportController::didChangeContentsVisibility):
17598        (WebKit::PageViewportController::syncVisibleContents):
17599        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
17600        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
17601        * UIProcess/efl/PageClientLegacyImpl.cpp:
17602        (WebKit::PageClientLegacyImpl::updateViewportSize):
17603        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
17604        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
17605        (WebCore::CoordinatedGraphicsLayer::deviceOrPageScaleFactorChanged):
17606        (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
17607        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
17608        (CoordinatedGraphicsLayer):
17609        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
17610        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
17611        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
17612        (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
17613        (WebKit):
17614        (WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
17615        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
17616        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
17617        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
17618        (CoordinatedLayerTreeHost):
17619        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
17620        * WebProcess/WebPage/WebPage.cpp:
17621        (WebKit::WebPage::setUseFixedLayout):
17622
176232013-01-30  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
17624
17625        [Qt] Fix Win build after r141177
17626        https://bugs.webkit.org/show_bug.cgi?id=108325
17627
17628        Reviewed by Anders Carlsson.
17629
17630        * Platform/CoreIPC/win/ConnectionWin.cpp:
17631        (CoreIPC::Connection::readEventHandler):
17632        (CoreIPC::Connection::sendOutgoingMessage):
17633
176342013-01-30  Thiago Marcos P. Santos  <thiago.santos@intel.com>
17635
17636        REGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
17637        https://bugs.webkit.org/show_bug.cgi?id=108182
17638
17639        Reviewed by Sam Weinig.
17640
17641        Send the plugin path to the PluginProcess as a parameter.
17642
17643        * PluginProcess/qt/PluginProcessMainQt.cpp:
17644        (WebKit::PluginProcessMain):
17645        * PluginProcess/unix/PluginProcessMainUnix.cpp:
17646        (WebKit::PluginProcessMainUnix):
17647        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
17648        (WebKit::ProcessLauncher::launchProcess):
17649        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
17650        (WebKit::ProcessLauncher::launchProcess):
17651        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
17652        (WebKit::ProcessLauncher::launchProcess):
17653        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
17654        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
17655        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
17656        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
17657
176582013-01-30  Christophe Dumez  <christophe.dumez@intel.com>
17659
17660        [EFL][WK2] Use C API inside ewk_window_features
17661        https://bugs.webkit.org/show_bug.cgi?id=107924
17662
17663        Reviewed by Sam Weinig.
17664
17665        Use C API inside ewk_window_features instead of accessing
17666        internal C++ classes directly, to avoid violating API
17667        layering.
17668
17669        * UIProcess/API/efl/EwkView.cpp:
17670        (EwkView::createNewPage):
17671        * UIProcess/API/efl/EwkView.h:
17672        (EwkView):
17673        * UIProcess/API/efl/ewk_window_features.cpp:
17674        (EwkWindowFeatures::EwkWindowFeatures):
17675        (getWindowFeatureValue):
17676        (EwkWindowFeatures::getWindowFeatureBoolValue):
17677        (EwkWindowFeatures::getWindowFeatureDoubleValue):
17678        (ewk_window_features_geometry_get):
17679        * UIProcess/API/efl/ewk_window_features_private.h:
17680        (EwkWindowFeatures::create):
17681        (EwkWindowFeatures::geometry):
17682        (EwkWindowFeatures::setGeometry):
17683        (EwkWindowFeatures):
17684        * UIProcess/efl/PageUIClientEfl.cpp:
17685        (WebKit::PageUIClientEfl::createNewPage):
17686
176872013-01-30  Zeno Albisser  <zeno@webkit.org>
17688
17689        [Qt] Fix Qt/Mac build after r141024 and r141037
17690        https://bugs.webkit.org/show_bug.cgi?id=108318
17691
17692        Reviewed by Kentaro Hara.
17693
17694        * Platform/CoreIPC/mac/ConnectionMac.cpp:
17695        (CoreIPC::Connection::platformInvalidate):
17696            Replace nullptr with 0 to allow compiling without C++11 support.
17697
176982013-01-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
17699
17700        [EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
17701        https://bugs.webkit.org/show_bug.cgi?id=106878
17702
17703        Reviewed by Benjamin Poulain.
17704
17705        setContentsToCanvas is responsible for marking canvas for creation or deletion.
17706        The issue here is that the canvas is marked for deletion even though it has not
17707        been created. This causes an assert in LayerTreeRenderer::destroyCanvas.
17708        This patch adds a seperate check to ensure that CoordinatedGraphicsLayer
17709        tries to issue a request for canvas deletion only after request for canvas
17710        creation has been handled.
17711
17712        New test: fast/canvas/webgl/canvas-resize-crash.html
17713
17714        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
17715        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
17716        (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
17717        (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
17718        (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
17719        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
17720        (CoordinatedGraphicsLayer):
17721        (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
17722
177232013-01-30  Zan Dobersek  <zdobersek@igalia.com>
17724
17725        Unreviewed GTK build fix.
17726
17727        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Include GraphicsLayerTextureMapper.h
17728        as a forwarding header from WebCore.
17729
177302013-01-30  Huang Dongsung  <luxtella@company100.net>
17731
17732        Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
17733        https://bugs.webkit.org/show_bug.cgi?id=107099
17734
17735        Reviewed by Noam Rosenthal.
17736
17737        Instead of queuing the setting of backing stores in LayerTreeRenderer,
17738        and then setting them directly to TextureMapperLayer, we allow
17739        GraphicsLayerTextureMapper's existing queuing mechanism to handle that.
17740        Instead of a m_pendingSyncBackingStores queue, we have a m_backingStores
17741        queue which can be applied much more easily to the layer tree.
17742
17743        In addition, LayerTreeRenderer::purgeGLResources() does not call
17744        TextureMapperLayer::clearBackingStoresRecursive() because
17745        TextureMapperLayer will be destructed soon.
17746
17747        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
17748        (WebKit::LayerTreeRenderer::deleteLayer):
17749        (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
17750        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
17751        (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
17752        (WebKit::LayerTreeRenderer::createTile):
17753        (WebKit::LayerTreeRenderer::removeTile):
17754        (WebKit::LayerTreeRenderer::updateTile):
17755        (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
17756        (WebKit::LayerTreeRenderer::purgeGLResources):
17757        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
17758
177592013-01-29  Anders Carlsson  <andersca@apple.com>
17760
17761        Update the expected generated message results
17762        https://bugs.webkit.org/show_bug.cgi?id=108293
17763
17764        Reviewed by Beth Dakin.
17765
17766        * Scripts/webkit2/messages.py:
17767        (generate_messages_header):
17768        * Scripts/webkit2/messages_unittest.py:
17769
177702013-01-29  Sam Weinig  <sam@webkit.org>
17771
17772        Replace unnecessary ArgumentDecoder member functions with decode overloads
17773        https://bugs.webkit.org/show_bug.cgi?id=102013
17774
17775        Reviewed by Anders Carlsson.
17776
17777        * Platform/CoreIPC/ArgumentCoders.cpp:
17778        (CoreIPC::::decode):
17779        * Platform/CoreIPC/ArgumentCoders.h:
17780        * Platform/CoreIPC/ArgumentDecoder.cpp:
17781        (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
17782        (CoreIPC::ArgumentDecoder::decode):
17783        * Platform/CoreIPC/ArgumentDecoder.h:
17784        (ArgumentDecoder):
17785        (CoreIPC::ArgumentDecoder::decodeEnum):
17786        (CoreIPC):
17787        * Platform/CoreIPC/Connection.cpp:
17788        (CoreIPC::Connection::dispatchSyncMessage):
17789        * Platform/CoreIPC/MessageDecoder.cpp:
17790        (CoreIPC::MessageDecoder::MessageDecoder):
17791        * Platform/mac/SharedMemoryMac.cpp:
17792        (WebKit::SharedMemory::Handle::decode):
17793        * Platform/win/SharedMemoryWin.cpp:
17794        (WebKit::SharedMemory::Handle::decode):
17795        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
17796        (CoreIPC::::decode):
17797        (CoreIPC::decodeTimingFunction):
17798        * Shared/DictionaryPopupInfo.cpp:
17799        (WebKit::DictionaryPopupInfo::decode):
17800        * Shared/UserMessageCoders.h:
17801        (WebKit::UserMessageDecoder::baseDecode):
17802        * Shared/cf/ArgumentCodersCF.cpp:
17803        (CoreIPC::decode):
17804        * Shared/mac/ArgumentCodersMac.mm:
17805        (CoreIPC::decode):
17806        * Shared/mac/ObjCObjectGraphCoders.mm:
17807        (WebKit::ObjCObjectGraphDecoder::baseDecode):
17808        * Shared/mac/SandboxExtensionMac.mm:
17809        (WebKit::SandboxExtension::HandleArray::decode):
17810        * Shared/mac/SecItemRequestData.cpp:
17811        (WebKit::SecItemRequestData::decode):
17812        * Shared/mac/SecItemResponseData.cpp:
17813        (WebKit::SecItemResponseData::decode):
17814        * Shared/qt/ArgumentCodersQt.cpp:
17815        (CoreIPC::::decode):
17816        * Shared/qt/QtNetworkReplyData.cpp:
17817        (WebKit::QtNetworkReplyData::decode):
17818        * WebProcess/WebPage/DecoderAdapter.cpp:
17819        (WebKit::DecoderAdapter::decodeBool):
17820        (WebKit::DecoderAdapter::decodeUInt16):
17821        (WebKit::DecoderAdapter::decodeUInt32):
17822        (WebKit::DecoderAdapter::decodeUInt64):
17823        (WebKit::DecoderAdapter::decodeInt32):
17824        (WebKit::DecoderAdapter::decodeInt64):
17825        (WebKit::DecoderAdapter::decodeFloat):
17826        (WebKit::DecoderAdapter::decodeDouble):
17827
178282013-01-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
17829
17830        [WK2] Adjust missing MessageID removals to fix build breaks
17831        https://bugs.webkit.org/show_bug.cgi?id=108276
17832
17833        Unreviewed to fix build breaks.
17834
17835        Some MessageID removals wasn't adjusted into ConnectionUnix.cpp and coordinated graphics.
17836
17837        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
17838        (CoreIPC::MessageInfo::MessageInfo):
17839        (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
17840        (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
17841        (CoreIPC::Connection::processMessage):
17842        (CoreIPC::Connection::sendOutgoingMessage):
17843        * UIProcess/WebPageProxy.cpp:
17844        (WebKit::WebPageProxy::didReceiveMessage):
17845        * UIProcess/WebProcessProxy.cpp:
17846        * WebProcess/WebPage/WebPage.cpp:
17847        (WebKit::WebPage::didReceiveMessage):
17848
178492013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
17850
17851        Unreviewed, rolling out r140983.
17852        http://trac.webkit.org/changeset/140983
17853        https://bugs.webkit.org/show_bug.cgi?id=108277
17854
17855        Unfortunately, this API has one last client (Requested by
17856        abarth on #webkit).
17857
17858        * Configurations/FeatureDefines.xcconfig:
17859
178602013-01-29  Anders Carlsson  <andersca@apple.com>
17861
17862        Remove MessageID parameter from Connection::sendMessage
17863        https://bugs.webkit.org/show_bug.cgi?id=108269
17864
17865        Reviewed by Sam Weinig.
17866
17867        * Platform/CoreIPC/Connection.cpp:
17868        (CoreIPC::Connection::sendMessage):
17869        (CoreIPC::Connection::sendSyncReply):
17870        (CoreIPC::Connection::sendSyncMessage):
17871        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
17872        * Platform/CoreIPC/Connection.h:
17873        (Connection):
17874        (CoreIPC::Connection::send):
17875        (CoreIPC::Connection::sendSync):
17876        * Platform/CoreIPC/MessageSender.h:
17877        (CoreIPC::MessageSender::send):
17878        (CoreIPC::MessageSender::sendMessage):
17879        * Platform/CoreIPC/mac/ConnectionMac.cpp:
17880        (CoreIPC::Connection::open):
17881        * Shared/ChildProcessProxy.cpp:
17882        (WebKit::ChildProcessProxy::sendMessage):
17883        (WebKit::ChildProcessProxy::didFinishLaunching):
17884        * Shared/WebConnection.cpp:
17885        (WebKit::WebConnection::postMessage):
17886        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17887        (WebKit::InjectedBundle::postMessage):
17888        (WebKit::InjectedBundle::postSynchronousMessage):
17889
178902013-01-29  Anders Carlsson  <andersca@apple.com>
17891
17892        Stop generating the message kind enum
17893        https://bugs.webkit.org/show_bug.cgi?id=108258
17894
17895        Reviewed by Beth Dakin.
17896
17897        * Platform/CoreIPC/Connection.h:
17898        (CoreIPC::Connection::send):
17899        (CoreIPC::Connection::sendSync):
17900        (CoreIPC::Connection::waitForAndDispatchImmediately):
17901        * Platform/CoreIPC/MessageSender.h:
17902        (CoreIPC::MessageSender::send):
17903        * Scripts/webkit2/messages.py:
17904        (surround_in_condition):
17905        (message_to_struct_declaration):
17906        (generate_messages_header):
17907        * Scripts/webkit2/messages_unittest.py:
17908        * Scripts/webkit2/model.py:
17909        (Message.__init__):
17910        * Shared/ChildProcessProxy.h:
17911        (WebKit::ChildProcessProxy::send):
17912        * Shared/WebConnection.cpp:
17913        (WebKit::WebConnection::postMessage):
17914
179152013-01-29  Kiran Muppala  <cmuppala@apple.com>
17916
17917        Fix erroneous semicolon causing build failure: if statement has empty body [-Werror,-Wempty-body]
17918        https://bugs.webkit.org/show_bug.cgi?id=108241
17919
17920        Reviewed by Anders Carlsson.
17921
17922        * UIProcess/WebProcessProxy.cpp:
17923        (WebKit::WebProcessProxy::addExistingWebPage): Remove erroneous
17924        semicolon following the if condition.
17925
179262013-01-29  Anders Carlsson  <andersca@apple.com>
17927
17928        Remove almost everything from MessageID
17929        https://bugs.webkit.org/show_bug.cgi?id=108244
17930
17931        Reviewed by Beth Dakin.
17932
17933        * Platform/CoreIPC/MessageID.h:
17934        (CoreIPC::MessageID::MessageID):
17935        * Platform/CoreIPC/mac/ConnectionMac.cpp:
17936        (CoreIPC):
17937        (CoreIPC::Connection::sendOutgoingMessage):
17938        (CoreIPC::createMessageDecoder):
17939        (CoreIPC::Connection::receiveSourceEventHandler):
17940
179412013-01-29  Anders Carlsson  <andersca@apple.com>
17942
17943        Get rid of MessageID::is()
17944        https://bugs.webkit.org/show_bug.cgi?id=108234
17945
17946        Reviewed by Beth Dakin.
17947
17948        Add explicit message receiver name equality checks instead of using MessageID::is.
17949
17950        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
17951        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
17952        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
17953        * Platform/CoreIPC/MessageID.h:
17954        * PluginProcess/WebProcessConnection.cpp:
17955        (WebKit::WebProcessConnection::didReceiveMessage):
17956        (WebKit::WebProcessConnection::didReceiveSyncMessage):
17957        * Shared/mac/SecItemShim.cpp:
17958        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
17959        * UIProcess/Network/NetworkProcessProxy.cpp:
17960        (WebKit::NetworkProcessProxy::didReceiveMessage):
17961        * UIProcess/WebContext.cpp:
17962        (WebKit::WebContext::didReceiveMessage):
17963        (WebKit::WebContext::didReceiveSyncMessage):
17964        * UIProcess/WebPageProxy.cpp:
17965        (WebKit::WebPageProxy::didReceiveMessage):
17966        (WebKit::WebPageProxy::didReceiveSyncMessage):
17967        * UIProcess/WebProcessProxy.cpp:
17968        (WebKit::WebProcessProxy::didReceiveMessage):
17969        (WebKit::WebProcessProxy::didReceiveSyncMessage):
17970        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
17971        * UIProcess/mac/SecItemShimProxy.cpp:
17972        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
17973        * WebProcess/Network/NetworkProcessConnection.cpp:
17974        (WebKit::NetworkProcessConnection::didReceiveMessage):
17975        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
17976        * WebProcess/Plugins/PluginProcessConnection.cpp:
17977        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
17978        * WebProcess/WebPage/EventDispatcher.cpp:
17979        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
17980        * WebProcess/WebPage/WebPage.cpp:
17981        (WebKit::WebPage::didReceiveMessage):
17982        * WebProcess/WebProcess.cpp:
17983        (WebKit::WebProcess::didReceiveMessage):
17984        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
17985
179862012-11-28  Jer Noble  <jer.noble@apple.com>
17987
17988        Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
17989        https://bugs.webkit.org/show_bug.cgi?id=103558
17990        <rdar://problem/12763112>
17991
17992        Reviewed by Benjamin Poulain.
17993
17994        Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
17995        view when in full screen mode.  Add a simple accessor for the existing placeholder view to
17996        WKFullScreenWindowController and WKView.
17997
17998        * UIProcess/API/mac/WKView.mm:
17999        (-[WKView fullScreenPlaceholderView]): Added simple accessor.
18000        * UIProcess/API/mac/WKViewPrivate.h:
18001        * UIProcess/mac/WKFullScreenWindowController.h:
18002        * UIProcess/mac/WKFullScreenWindowController.mm:
18003        (-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.
18004
180052013-01-29  Huang Dongsung  <luxtella@company100.net>
18006
18007        [WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.
18008        https://bugs.webkit.org/show_bug.cgi?id=107802
18009
18010        Reviewed by Simon Fraser.
18011
18012        Currently, LayerTreeHostMac and *GTK call deviceOrPageScaleFactorChanged()
18013        of the non compositing GraphicsLayer when a device scale factor is changed.
18014
18015        There are two problems.
18016        1. We don't notify LayerTreeHost when a page scale factor is changed.
18017        2. When using TiledCoreAnimationDrawingAreaProxy, LayerTreeHostMac does
18018        not receive the device scale factor changed callback.
18019
18020        So this patch changes three points.
18021        1. Rename from deviceScaleFactorDidChange() to deviceOrPageScaleFactorChanged()
18022        in LayerTreeHost.
18023        2. WebPage::setDeviceScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
18024        because of dealing with TiledCoreAnimationDrawingAreaProxy.
18025        3. WebPage::pageScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
18026        to call deviceOrPageScaleFactorChanged() of the non compositing GraphicsLayer.
18027
18028        Unfortunately, I couldn't think of a way to test this in an automated fashion.
18029
18030        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
18031        (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
18032        * WebProcess/WebPage/DrawingAreaImpl.cpp:
18033        (WebKit::DrawingAreaImpl::updateBackingStoreState):
18034            Don't call LayerTreeHost::deviceScaleFactorDidChange() because this
18035            method calls WebPage::setDeviceScaleFactor() and then
18036            LayerTreeHost::deviceScaleFactorDidChange() is called.
18037        * WebProcess/WebPage/LayerTreeHost.h:
18038        (LayerTreeHost):
18039        * WebProcess/WebPage/WebPage.cpp:
18040        (WebKit::WebPage::scalePage):
18041        (WebKit::WebPage::setDeviceScaleFactor):
18042        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
18043        (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
18044        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
18045        (LayerTreeHostGtk):
18046        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
18047        (LayerTreeHostMac):
18048        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
18049        (WebKit::LayerTreeHostMac::deviceOrPageScaleFactorChanged):
18050
180512013-01-29  Anders Carlsson  <andersca@apple.com>
18052
18053        Get rid of MessageID::get()
18054        https://bugs.webkit.org/show_bug.cgi?id=108235
18055
18056        Reviewed by Beth Dakin.
18057
18058        Just check for the message receiver name and message name explicitly instead.
18059
18060        * Platform/CoreIPC/MessageID.h:
18061        (CoreIPC::MessageID::is):
18062        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
18063        (WebContextLegacyMessage::messageReceiverName):
18064        (WebContextLegacyMessage):
18065        (WebContextLegacyMessage::postMessageMessageName):
18066        (WebContextLegacyMessage::postSynchronousMessageMessageName):
18067        * UIProcess/WebContext.cpp:
18068        (WebKit::WebContext::didReceiveMessage):
18069        (WebKit::WebContext::didReceiveSyncMessage):
18070
180712013-01-29  Kiran Muppala  <cmuppala@apple.com>
18072
18073        Add support for enabling process suppression in WebProcesses with no visible pages
18074        https://bugs.webkit.org/show_bug.cgi?id=108054
18075
18076        Reviewed by Anders Carlsson.
18077
18078        Provide a preference to enable process suppression in WebProcesses with
18079        no visible pages even if the application is not completely occluded.
18080        This provides more opportunities for process suppression to take effect.
18081
18082        Replace the messaging of application occlusion status from UI process to
18083        ChildProcesses with messages that indicate the current required process
18084        suppression state.  WebProcessProxy should determine if the process is
18085        eligible for process suppression based on both application occlusion
18086        and page visibility.  When either of these parameters changes,
18087        the proxy should message the child process of the updated process
18088        suppression state.
18089
18090        * NetworkProcess/NetworkProcess.messages.in: Rename
18091        SetApplicationIsOccluded to SetProcessSuppressionEnabled.
18092        * PluginProcess/PluginProcess.messages.in: Ditto.
18093        * Shared/ChildProcess.h: 
18094        (WebKit::ChildProcess::processSuppressionEnabled): Rename
18095        applicationIsOccluded.
18096        * Shared/WebPreferencesStore.h: Add a new preference
18097        pageVisibilityBasedProcessSuppressionEnabled, to enabled/disable
18098        process suppression of WebProcesses when all pages are hidden.
18099        * Shared/mac/ChildProcessMac.mm:
18100        (WebKit::ChildProcess::setProcessSuppressionEnabled): Rename
18101        setApplicationIsOccluded.
18102        (WebKit::ChildProcess::platformInitialize): Replace call to
18103        setApplicationIsOccluded with setProcessSuppressionEnabled.
18104        * SharedWorkerProcess/SharedWorkerProcess.messages.in: Rename
18105        SetApplicationIsOccluded to SetProcessSuppressionEnabled.
18106        * UIProcess/API/C/WKPreferences.cpp:
18107        (WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled):
18108        (WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled):
18109        * UIProcess/API/C/WKPreferencesPrivate.h:
18110        * UIProcess/Network/NetworkProcessProxy.cpp:
18111        (WebKit::NetworkProcessProxy::didFinishLaunching): Use setter
18112        to update process suppression state instead of messaging directly.
18113        Use WebContext::canEnableProcessSuppressionForNetworkProcess() helper
18114        method to determine if process suppression should be enabled.
18115        * UIProcess/Network/NetworkProcessProxy.h: Rename
18116        setApplicationIsOccluded to setProcessSuppresionEnabled.
18117        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
18118        (WebKit::NetworkProcessProxy::setProcessSuppressionEnabled): Ditto.
18119        * UIProcess/Plugins/PluginProcessManager.h: Ditto.
18120        * UIProcess/Plugins/PluginProcessProxy.cpp:
18121        (WebKit::PluginProcessProxy::didFinishLaunching): Use setter
18122        to update process suppression state instead of messaging directly.
18123        Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
18124        helper method to determine if process suppression should be enabled.
18125        * UIProcess/Plugins/PluginProcessProxy.h: Rename
18126        setApplicationIsOccluded to setProcessSuppresionEnabled.
18127        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
18128        (WebKit::PluginProcessManager::setProcessSuppressionEnabled): Ditto.
18129        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
18130        (WebKit::PluginProcessProxy::setProcessSuppressionEnabled): Ditto.
18131        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Ditto.
18132        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
18133        (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Use setter
18134        to update process suppression state instead of messaging directly.
18135        Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
18136        helper method to determine if process suppression should be enabled.
18137        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Rename
18138        setApplicationIsOccluded to setProcessSuppresionEnabled.
18139        * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm:
18140        (WebKit::SharedWorkerProcessManager::setProcessSuppressionEnabled):
18141        Ditto.
18142        * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm:
18143        (WebKit::SharedWorkerProcessProxy::setProcessSuppressionEnabled): Ditto.
18144        * UIProcess/WebContext.h: Replace applicationIsOccluded() getter with
18145        helper methods to determine if a child process can have process
18146        suppression enabled.
18147        * UIProcess/WebPageProxy.cpp:
18148        (WebKit::WebPageProxy::viewStateDidChange): Notify WebProcessProxy of
18149        page visibility change.
18150        (WebKit::WebPageProxy::preferencesDidChange): Notify WebProcessProxy of
18151        change in preferences.
18152        * UIProcess/WebProcessProxy.cpp:
18153        (WebKit::WebProcessProxy::WebProcessProxy): Initialize member variable
18154        tracking process suppression state to false.
18155        (WebKit::WebProcessProxy::createWebPage): Update set of pages which can
18156        be process suppressed and the resulting process suppression state for
18157        the child process.
18158        (WebKit::WebProcessProxy::addExistingWebPage): Ditto.
18159        (WebKit::WebProcessProxy::removeWebPage): Ditto.
18160        (WebKit::WebProcessProxy::pageVisibilityChanged): Ditto.
18161        (WebKit::WebProcessProxy::pagePreferencesChanged): Ditto.
18162        (WebKit::WebProcessProxy::didFinishLaunching): Call
18163        updateProcessSuppressionState().
18164        * UIProcess/WebProcessProxy.h:
18165        * UIProcess/mac/WebContextMac.mm:
18166        (WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): Use new
18167        helper method canEnableProcessSuppressionForGlobalChildProcesses() to
18168        determine if process suppression should be enabled.
18169        (WebKit::applicationOcclusionStateChanged): Update renamed methods
18170        and variables.
18171        (WebKit::enableOcclusionNotifications): Move OmitProcessSuppression
18172        user default check into canEnableProcessSuppression methods.
18173        (WebKit::omitProcessSuppression):
18174        (WebKit::WebContext::updateProcessSuppressionStateOfChildProcesses):
18175        Use new helper method canEnableProcessSuppressionForNetworkProcess() to
18176        determine if process suppression should be enabled for NetworkProcess.
18177        Let WebProcess update process suppression state based on application
18178        occlusion state and page visibility.
18179        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
18180        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
18181        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
18182        (WebKit::WebContext::processSuppressionEnabledChanged): Reevaluate if
18183        process suppression is enabled for all contexts and update process
18184        suppression state of global child processes.
18185        * UIProcess/mac/WebProcessProxyMac.mm:
18186        (WebKit::WebProcessProxy::pageIsProcessSuppressible):
18187        (WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
18188        (WebKit::WebProcessProxy::updateProcessSuppressionState):
18189        * WebProcess/WebProcess.messages.in:
18190
181912013-01-29  Anders Carlsson  <andersca@apple.com>
18192
18193        Start using the message flag in MessageEncoder/MessageDecoder
18194        https://bugs.webkit.org/show_bug.cgi?id=108227
18195
18196        Reviewed by Beth Dakin.
18197
18198        Stop using the flags in MessageID and store the flags directly in the message instead.
18199        This is another step towards eliminating MessageID.
18200
18201        * Platform/CoreIPC/Connection.cpp:
18202        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
18203        (CoreIPC::Connection::createSyncMessageEncoder):
18204        (CoreIPC::Connection::sendMessage):
18205        (CoreIPC::Connection::sendSyncMessage):
18206        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
18207        (CoreIPC::Connection::dispatchSyncMessage):
18208        (CoreIPC::Connection::dispatchMessage):
18209        * Platform/CoreIPC/Connection.h:
18210        * Platform/CoreIPC/MessageDecoder.cpp:
18211        (CoreIPC::MessageDecoder::MessageDecoder):
18212        (CoreIPC::MessageDecoder::isSyncMessage):
18213        (CoreIPC):
18214        (CoreIPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
18215        * Platform/CoreIPC/MessageDecoder.h:
18216        (MessageDecoder):
18217        * Platform/CoreIPC/MessageEncoder.cpp:
18218        (CoreIPC):
18219        (CoreIPC::MessageEncoder::MessageEncoder):
18220        (CoreIPC::MessageEncoder::~MessageEncoder):
18221        (CoreIPC::MessageEncoder::setIsSyncMessage):
18222        (CoreIPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
18223        * Platform/CoreIPC/MessageEncoder.h:
18224        (MessageEncoder):
18225        * Platform/CoreIPC/MessageFlags.h: Copied from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
18226        (CoreIPC):
18227        * Platform/CoreIPC/MessageID.h:
18228        * WebKit2.xcodeproj/project.pbxproj:
18229
182302013-01-29  Anders Carlsson  <andersca@apple.com>
18231
18232        Encode/decode message send flags in the message
18233        https://bugs.webkit.org/show_bug.cgi?id=108208
18234
18235        Reviewed by Beth Dakin.
18236
18237        This is another step towards getting rid of MessageID.
18238
18239        * Platform/CoreIPC/ArgumentDecoder.cpp:
18240        (CoreIPC::ArgumentDecoder::decodeUInt8):
18241        (CoreIPC):
18242        * Platform/CoreIPC/ArgumentDecoder.h:
18243        (ArgumentDecoder):
18244        (CoreIPC::ArgumentDecoder::decode):
18245        (CoreIPC):
18246        * Platform/CoreIPC/ArgumentEncoder.cpp:
18247        (CoreIPC::ArgumentEncoder::encode):
18248        (CoreIPC):
18249        * Platform/CoreIPC/ArgumentEncoder.h:
18250        (ArgumentEncoder):
18251        * Platform/CoreIPC/Connection.cpp:
18252        (CoreIPC::Connection::sendMessage):
18253        * Platform/CoreIPC/MessageDecoder.cpp:
18254        (CoreIPC::MessageDecoder::MessageDecoder):
18255        * Platform/CoreIPC/MessageDecoder.h:
18256        (CoreIPC::MessageDecoder::messageSendFlags):
18257        (MessageDecoder):
18258        * Platform/CoreIPC/MessageEncoder.cpp:
18259        (CoreIPC):
18260        (CoreIPC::MessageEncoder::MessageEncoder):
18261        (CoreIPC::MessageEncoder::~MessageEncoder):
18262        (CoreIPC::MessageEncoder::setMessageSendFlags):
18263        * Platform/CoreIPC/MessageEncoder.h:
18264        (MessageEncoder):
18265        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
18266        (CoreIPC):
18267
182682013-01-29  Mario Sanchez Prada  <mario.prada@samsung.com>
18269
18270        [GTK] Missing build flags when building with Harfbuzz
18271        https://bugs.webkit.org/show_bug.cgi?id=108174
18272
18273        Reviewed by Martin Robinson.
18274
18275        Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
18276        parameter will be added to linking lines when needed.
18277
18278        * GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
18279        * UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.
18280
182812013-01-29  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
18282
18283        [EFL] Unified text checker implementation.
18284        https://bugs.webkit.org/show_bug.cgi?id=107682
18285
18286        Reviewed by Anders Carlsson.
18287
18288        * UIProcess/efl/TextCheckerEfl.cpp:
18289        (WebKit):
18290        (WebKit::TextChecker::checkTextOfParagraph):
18291        Allow to check spelling for multiple words,
18292        their misspelling location and length are saved to the vector.
18293
18294        * WebProcess/WebCoreSupport/WebEditorClient.h:
18295        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
18296        (WebKit::WebEditorClient::checkTextOfParagraph):
18297        (WebKit):
18298        As spelling implementation is exposed to UIProcess,
18299        send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
18300
183012013-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
18302
18303        [GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
18304        https://bugs.webkit.org/show_bug.cgi?id=99695
18305
18306        Reviewed by Anders Carlsson.
18307
18308        * UIProcess/API/gtk/WebKitWebContext.cpp:
18309        (webkit_web_context_prefetch_dns): Public method to resolve the
18310        domain name in advance for the given hostname.
18311        * UIProcess/API/gtk/WebKitWebContext.h:
18312        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
18313        webkit_web_context_prefetch_dns.
18314        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
18315        (webkitWebExtensionDidReceiveMessage): Parse PrefetchDNS message
18316        and call WebCore::prefetchDNS() with the given hostname.
18317        (didReceiveMessage): Call webkitWebExtensionDidReceiveMessage().
18318        (webkitWebExtensionCreate): Add implementation for
18319        didReceiveMessage callback.
18320
183212013-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
18322
18323        [GTK] Implement resources API using injected bundle
18324        https://bugs.webkit.org/show_bug.cgi?id=107457
18325
18326        Reviewed by Sam Weinig.
18327
18328        The ResourceLoaderClient was removed from the UI process in
18329        r140285, and most of the GTK+ API depends on resources. This patch
18330        implements the same API using the ResourceLoaderClient from
18331        injected bundle. It fixes the resources unit tests, as well as
18332        other 14 unit tests that are timing out because they depend on
18333        resource API.
18334
18335        * GNUmakefile.list.am: Add new files to compilation.
18336        * Shared/UserMessageCoders.h:
18337        (WebKit::UserMessageEncoder::baseEncode): Add support for encoding
18338        WebURLResponse and WebError objects in user messages.
18339        (WebKit::UserMessageDecoder::baseDecode): Add support for decoding
18340        WebURLResponse and WebError objects from user messages.
18341        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Added.
18342        (didReceiveWebViewMessageFromInjectedBundle): Handle messages sent
18343        to the WebView. For now it hanldes all the sresource loader client
18344        messages.
18345        (didReceiveMessageFromInjectedBundle): Handle messages received
18346        from injected bundle.
18347        (attachInjectedBundleClientToContext): Initialize the injected
18348        bundle client.
18349        * UIProcess/API/gtk/WebKitInjectedBundleClient.h: Added.
18350        * UIProcess/API/gtk/WebKitWebContext.cpp:
18351        (_WebKitWebContextPrivate): Add a HashMap to map page IDs to
18352        WebKitWebViews.
18353        (createDefaultWebContext): Call
18354        attachInjectedBundleClientToContext() to intialize the injected
18355        bundle client.
18356        (webkitWebContextCreatePageForWebView): Use
18357        webkitWebViewBaseCreateWebPage() to create and initialize a new
18358        WebPageProxy and map the newly created page with the given
18359        WebKitWebView.
18360        (webkitWebContextWebViewDestroyed): Called when the given
18361        WebKitWebView is being destroyed to remove it from the views map.
18362        (webkitWebContextGetWebViewForPage): Returns the WebKitWebView
18363        associated to the given page ID.
18364        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
18365        * UIProcess/API/gtk/WebKitWebView.cpp:
18366        (webkitWebViewConstructed): Use
18367        webkitWebContextCreatePageForWebView() instead of
18368        webkitWebViewBaseCreateWebPage() directly.
18369        (webkitWebViewDispose): Call webkitWebContextWebViewDestroyed() to
18370        notify the context.
18371        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
18372        (didInitiateLoadForResource): Send a message to the UI process
18373        with the callback parameters encoded.
18374        (willSendRequestForFrame): Ditto.
18375        (didReceiveResponseForResource): Ditto.
18376        (didReceiveContentLengthForResource): Ditto.
18377        (didFinishLoadForResource): Ditto.
18378        (didFailLoadForResource): Ditto.
18379        (webkitWebPageCreate): Initialize the
18380        WKBundlePageResourceLoadClient.
18381
183822013-01-29  Laszlo Gombos  <l.gombos@samsung.com>
18383
18384        [Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
18385        https://bugs.webkit.org/show_bug.cgi?id=105683
18386
18387        Reviewed by Simon Hausmann.
18388
18389        The ENABLE(SPEECH_INPUT) guard is only used in one location
18390        in the source tree and as such it is always 0.
18391
18392        I believe that this guard is a left over and is not needed any more
18393        as the code guarded is not guarded anywhere else.
18394
18395        * WebProcess/qt/WebProcessQt.cpp:
18396        (WebKit::WebProcess::platformInitializeWebProcess):
18397
183982013-01-29  Zan Dobersek  <zdobersek@igalia.com>
18399
18400        Unreviewed build fix after r141024.
18401        Adding new files to the build.
18402
18403        * GNUmakefile.am:
18404        * GNUmakefile.list.am:
18405
184062013-01-29  Jinwoo Song  <jinwoo7.song@samsung.com>
18407
18408        [WK2] Fix unused parameter build warning
18409        https://bugs.webkit.org/show_bug.cgi?id=108156
18410
18411        Reviewed by Kentaro Hara.
18412
18413        Comment out the unused parameters to fix the build warnings.
18414
18415        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
18416        * WebProcess/Plugins/PluginProxy.h:
18417
184182013-01-28  Jae Hyun Park  <jae.park@company100.net>
18419
18420        [Qt] Build fix
18421        https://bugs.webkit.org/show_bug.cgi?id=108142
18422
18423        Reviewed by Gyuyoung Kim.
18424
18425        Build fix. Though StorageManager was added to WK2 in r141024,
18426        it is not added to Target.pri for qt port.
18427
18428        * Target.pri:
18429
184302013-01-28  Huang Dongsung  <luxtella@company100.net>
18431
18432        Coordinated Graphics: Refactor code related to debug border and repaint count.
18433        https://bugs.webkit.org/show_bug.cgi?id=107910
18434
18435        Reviewed by Noam Rosenthal.
18436
18437        There are two big changes:
18438        1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
18439        2. When updating a backing store, increment a repaint count.
18440
18441        In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
18442        environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
18443        after http://webkit.org/b/107198.
18444
18445        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
18446        (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
18447        (CoordinatedLayerInfo):
18448        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
18449        (WebKit::CoordinatedBackingStore::removeAllTiles):
18450        (WebKit::CoordinatedBackingStore::updateTile):
18451        (WebKit::CoordinatedBackingStore::texture):
18452        (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
18453        (WebKit::CoordinatedBackingStore::adjustedTransformForRect):
18454        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
18455        (WebKit):
18456        (WebKit::CoordinatedBackingStore::drawBorder):
18457            Override TextureMapperPlatformLayer::drawBorder() to draw the border
18458            for each tile.
18459        (WebKit::CoordinatedBackingStore::drawRepaintCounter):
18460        (WebKit::CoordinatedBackingStore::commitTileOperations):
18461        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
18462        (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
18463        (CoordinatedBackingStoreTile):
18464        (CoordinatedBackingStore):
18465        (WebKit::CoordinatedBackingStore::rect):
18466        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
18467        (WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
18468        (WebKit):
18469        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
18470        (CoordinatedLayerTreeHostProxy):
18471        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
18472        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
18473        (WebKit::LayerTreeRenderer::setLayerRepaintCount):
18474        (WebKit):
18475        (WebKit::LayerTreeRenderer::setLayerState):
18476        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
18477        (LayerTreeRenderer):
18478        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
18479        (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
18480        (WebCore):
18481        (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
18482        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
18483        (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
18484        (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
18485        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
18486        (CoordinatedGraphicsLayerClient):
18487        (CoordinatedGraphicsLayer):
18488        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
18489        (WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
18490        (WebKit):
18491        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
18492
184932013-01-28  Sam Weinig  <sam@webkit.org>
18494
18495        Remove support from ArgumentEncoder for deprecated encode functions
18496        https://bugs.webkit.org/show_bug.cgi?id=108155
18497
18498        Reviewed by Dan Bernstein.
18499
18500        * Platform/CoreIPC/ArgumentEncoder.h:
18501        (CoreIPC::ArgumentEncoder::encode):
18502
185032013-01-28  Sam Weinig  <sam@webkit.org>
18504
18505        Disable default use of the Plug-in XPCService until we can
18506        figure out how to deal with the 32-bit one.
18507
18508        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
18509        (WebKit::shouldUseXPC):
18510        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
18511
185122013-01-28  Sam Weinig  <sam@webkit.org>
18513
18514        Plug-ins should initialize their sandbox at creation time
18515        https://bugs.webkit.org/show_bug.cgi?id=108098
18516
18517        Reviewed by Anders Carlsson.
18518
18519        Add the ability to add string key/value pairs to process creation parameters
18520        to allow the plugin process to get passed the plugin path which in turn allows
18521        the plugin to initialize its sandbox at the correct time.
18522
18523        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
18524        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
18525        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
18526        (NetworkServiceInitializer):
18527        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
18528        (WebKit::PluginProcessMainDelegate::getExtraData):
18529        (PluginProcessMainDelegate):
18530        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
18531        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
18532        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
18533        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
18534        (WebKit):
18535        (PluginServiceInitializerDelegate):
18536        (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
18537        (WebKit::PluginServiceInitializerDelegate::getExtraData):
18538        (PluginServiceInitializer):
18539        * PluginProcess/PluginProcess.cpp:
18540        (WebKit::PluginProcess::initializeProcess):
18541        (WebKit::PluginProcess::initializePluginProcess):
18542        (WebKit::PluginProcess::initializeProcessName):
18543        (WebKit::PluginProcess::initializeSandbox):
18544        * PluginProcess/PluginProcess.h:
18545        * PluginProcess/mac/PluginProcessMac.mm:
18546        (WebKit::PluginProcess::platformInitializePluginProcess):
18547        (WebKit::PluginProcess::platformInitializeProcess):
18548        (WebKit::PluginProcess::initializeProcessName):
18549        (WebKit::PluginProcess::initializeSandbox):
18550        * Shared/ChildProcess.h:
18551        (ChildProcessInitializationParameters):
18552        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
18553        (ChildProcessMainDelegate):
18554        (WebKit::ChildProcessMain):
18555        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
18556        (WebKit::ChildProcessMainDelegate::getExtraData):
18557        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
18558        (WebKit::XPCServiceEventHandler):
18559        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
18560        (WebKit::XPCServiceEventHandler):
18561        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Added.
18562        (XPCServiceInitializerDelegate):
18563        (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
18564        (WebKit::XPCServiceInitializer):
18565        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Added.
18566        (WebKit::XPCServiceInitializerDelegate::~XPCServiceInitializerDelegate):
18567        (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
18568        (WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
18569        (WebKit::XPCServiceInitializerDelegate::getClientProcessName):
18570        (WebKit::XPCServiceInitializerDelegate::getExtraData):
18571        * Shared/Plugins/PluginProcessCreationParameters.cpp:
18572        (WebKit::PluginProcessCreationParameters::encode):
18573        (WebKit::PluginProcessCreationParameters::decode):
18574        * Shared/Plugins/PluginProcessCreationParameters.h:
18575        (PluginProcessCreationParameters):
18576        * UIProcess/Launcher/ProcessLauncher.h:
18577        (LaunchOptions):
18578        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
18579        (WebKit::connectToService):
18580        (WebKit::connectToReExecService):
18581        (WebKit::createService):
18582        (WebKit::createProcess):
18583        (WebKit::ProcessLauncher::launchProcess):
18584        * UIProcess/Plugins/PluginProcessProxy.cpp:
18585        (WebKit::PluginProcessProxy::didFinishLaunching):
18586        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
18587        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
18588        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
18589        * WebKit2.xcodeproj/project.pbxproj:
18590        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
18591        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
18592        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
18593        (WebContentServiceInitializer):
18594
185952013-01-28  Kiran Muppala  <cmuppala@apple.com>
18596
18597        Add window occlusion criteria to determine page visibility on Mac
18598        https://bugs.webkit.org/show_bug.cgi?id=107494
18599
18600        Reviewed by Simon Fraser.
18601
18602        * UIProcess/API/mac/PageClientImpl.mm:
18603        (WebKit::PageClientImpl::isViewVisible): Add window occlusion check.
18604        * UIProcess/API/mac/WKView.mm:
18605        (-[WKView dealloc]): Remove self from the all views vector.
18606        (-[WKView addWindowObserversForWindow:]): Register observer for
18607        NSWindowWillOrderOffScreenNotification.
18608        (-[WKView removeWindowObservers]): Unregister observer for
18609        NSWindowWillOrderOffScreenNotification.
18610        (-[WKView viewWillMoveToWindow:]): Disable occlusion notifications.
18611        (-[WKView viewDidMoveToWindow]): Enable occlusion notifications.
18612        (-[WKView _windowWillOrderOffScreen:]): Disable occlusion notifications.
18613        (-[WKView _windowDidOrderOnScreen:]): Enable occlusion notifications.
18614        This notification ensures that occlusion notifications are registered
18615        correctly even if the NSWindow object is assigned a window number after
18616        the viewDidMoveToWindow notification has been received.  This occurs
18617        for instance during application launch.
18618        (-[WKView _setIsWindowOccluded:]):
18619        (-[WKView _enableWindowOcclusionNotifications]):
18620        (-[WKView _disableWindowOcclusionNotifications]):
18621        (windowBecameVisible):
18622        (windowBecameOccluded):
18623        (+[WKView _registerWindowOcclusionNotificationHandlers]):
18624        (+[WKView _unregisterWindowOcclusionNotificationHandlers]):
18625        (+[WKView _allViews]):
18626        (-[WKView _isWindowOccluded]):
18627        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add
18628        self to the all views vector.
18629        * UIProcess/API/mac/WKViewInternal.h:
18630
186312013-01-28  Huang Dongsung  <luxtella@company100.net>
18632
18633        [TexMap] Enable debug borders and repaint counter via Settings.
18634        https://bugs.webkit.org/show_bug.cgi?id=107198
18635
18636        Reviewed by Benjamin Poulain.
18637
18638        Currently, if the environment variable WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
18639        is set to 1, only CoordinatedBacking shows debug borders and repaint counter.
18640
18641        This patch makes the environment variable change Settings.
18642
18643        In addition, Qt uses WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS instead of
18644        QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS from now.
18645
18646        After Bug 105787, all backing stores and platform layers in TextureMapper can
18647        show debug borders and repaint counter.
18648
18649        * UIProcess/API/efl/EwkView.cpp:
18650        (EwkView::EwkView):
18651        * UIProcess/API/gtk/WebKitSettings.cpp:
18652        (webKitSettingsSetProperty):
18653        * UIProcess/API/qt/qquickwebview.cpp:
18654        (QQuickWebViewPrivate::initialize):
18655
186562013-01-28  Anders Carlsson  <andersca@apple.com>
18657
18658        Move Mach port handling from WorkQueue to Connection
18659        https://bugs.webkit.org/show_bug.cgi?id=108140
18660
18661        Reviewed by Sam Weinig.
18662
18663        Instead of having WorkQueue know about Mach port sources, just fold that
18664        functionality directly into Connection. This lets us get rid of the generic source
18665        handling from WorkQueue.
18666
18667        * Platform/CoreIPC/Connection.h:
18668        (Connection):
18669        * Platform/CoreIPC/mac/ConnectionMac.cpp:
18670        (CoreIPC::Connection::platformInvalidate):
18671        (CoreIPC::createDataAvailableSource):
18672        (CoreIPC):
18673        (CoreIPC::Connection::open):
18674        (CoreIPC::Connection::initializeDeadNameSource):
18675        * Platform/WorkQueue.h:
18676        (WorkQueue::dispatchQueue):
18677        (WorkQueue):
18678        * Platform/mac/WorkQueueMac.cpp:
18679        (WorkQueue::platformInvalidate):
18680
186812013-01-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
18682
18683        Add StorageManager class to cmake ports
18684
18685        Unreviewed build fix. Though StorageManager was added to WK2 in r141024,
18686        it is not added to cmake ports(EFL).
18687
18688        * CMakeLists.txt:
18689        * PlatformEfl.cmake:
18690
186912013-01-28  Sam Weinig  <sam@webkit.org>
18692
18693        <rdar://problem/13098777>
18694        Add (allow mach-lookup (global-name "com.apple.tccd.system"))
18695
18696        Reviewed by Maciej Stachowiak.
18697
18698        * WebProcess/com.apple.WebProcess.sb.in:
18699
187002013-01-28  Brady Eidson  <beidson@apple.com>
18701
18702        WebKit2 should notify the client if the NetworkProcess crashes.
18703        <rdar://problem/13090513> and https://bugs.webkit.org/show_bug.cgi?id=108126
18704
18705        Reviewed by Sam Weinig.
18706
18707        Add new client callback to the ContextClient:
18708        * UIProcess/API/C/WKContext.h:
18709        * UIProcess/WebContextClient.cpp:
18710        (WebKit::WebContextClient::networkProcessDidCrash):
18711        * UIProcess/WebContextClient.h:
18712
18713        Call out to the client when the NetworkProcess crashes:
18714        * UIProcess/WebContext.cpp:
18715        (WebKit::WebContext::networkProcessCrashed):
18716        * UIProcess/WebContext.h:
18717
18718        * UIProcess/Network/NetworkProcessProxy.cpp:
18719        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
18720
187212013-01-28  Pratik Solanki  <psolanki@apple.com>
18722
18723        PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED
18724        https://bugs.webkit.org/show_bug.cgi?id=108101
18725
18726        Reviewed by Benjamin Poulain.
18727
18728        Since iOS does not define __MAC_OS_X_VERSION_MIN_REQUIRED, any usage of
18729        __MAC_OS_X_VERSION_MIN_REQUIRED should be after a PLATFORM(IOS) check.
18730
18731        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
18732        (InitWebCoreSystemInterface):
18733
187342013-01-28  Anders Carlsson  <andersca@apple.com>
18735
18736        Add StorageManager class
18737        https://bugs.webkit.org/show_bug.cgi?id=108127
18738
18739        Reviewed by Sam Weinig.
18740
18741        The StorageManager will be in charge of handling access to local and session storage
18742        in the UI process.
18743
18744        * UIProcess/Storage/StorageManager.cpp: Added.
18745        * UIProcess/Storage/StorageManager.h: Added.
18746        * WebKit2.xcodeproj/project.pbxproj:
18747
187482013-01-28  Anders Carlsson  <andersca@apple.com>
18749
18750        More work on UI side local storage
18751        https://bugs.webkit.org/show_bug.cgi?id=108119
18752
18753        Reviewed by Beth Dakin.
18754
18755        * WebKit2.xcodeproj/project.pbxproj:
18756        * WebProcess/Storage/StorageNamespaceProxy.cpp:
18757        (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
18758        Rename create to createSessionStorageNamespace and make it take a WebPage.
18759
18760        (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
18761        Add WebPage parameter.
18762    
18763        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
18764        (WebKit::WebPlatformStrategies::sessionStorageNamespace):
18765        Add an #ifdef for enabling UI side storage.
18766        
18767        * WebProcess/WebPage/WebFrame.cpp:
18768        (WebKit::WebFrame::page):
18769        Call new WebPage::fromCorePage helper.
18770
18771        * WebProcess/WebPage/WebPage.cpp:
18772        (WebKit::WebPage::fromCorePage):
18773        Add new function for getting a WebPage from a WebCore::Page.
18774
187752013-01-28  Joseph Pecoraro  <pecoraro@apple.com>
18776
18777        Improve PageVisibility API with enums
18778        https://bugs.webkit.org/show_bug.cgi?id=107364
18779
18780        Reviewed by Sam Weinig.
18781
18782        * Shared/API/c/WKPageVisibilityTypes.h: Added.
18783        * Shared/API/c/WKSharedAPICast.h:
18784        (WebKit::toPageVisibilityState):
18785        Create an enum for page visibility APIs and a conversion function
18786        for the WK2 values to WebCore values.
18787
18788        * Target.pri:
18789        * GNUmakefile.list.am:
18790        * WebKit2.xcodeproj/project.pbxproj:
18791        Add WKPageVisibilityTypes.h to the build as a private export.
18792
18793        * UIProcess/API/C/WKPage.h:
18794        * UIProcess/API/C/WKPage.cpp:
18795        (WKPageSetVisibilityState):
18796        * UIProcess/WebPageProxy.h:
18797        * UIProcess/WebPageProxy.cpp:
18798        (WebKit::WebPageProxy::setVisibilityState):
18799        UIProcess API to set visibility state. WebPageProxy already
18800        had m_visibilityState, so update that when setter is used.
18801
18802        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
18803        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
18804        * WebProcess/InjectedBundle/InjectedBundle.cpp:
18805        * WebProcess/InjectedBundle/InjectedBundle.h:
18806        Remove the old SPI for WebKitTestRunner. Tests now use the C API.
18807
18808        * WebProcess/WebPage/WebPage.h:
18809        * WebProcess/WebPage/WebPage.cpp:
18810        (WebKit::WebPage::setVisibilityState):
18811        * WebProcess/WebPage/WebPage.messages.in:
18812        Update the existing WebPage API to use uint32_t, which matches
18813        other enum message types.
18814
188152013-01-28  Christophe Dumez  <christophe.dumez@intel.com>
18816
18817        [EFL][WK2] Use C API inside ewk_download_job
18818        https://bugs.webkit.org/show_bug.cgi?id=107810
18819
18820        Reviewed by Anders Carlsson.
18821
18822        Use C API inside ewk_download_job instead of accessing internal C++
18823        classes directly, to avoid violating API layering.
18824
18825        * UIProcess/API/C/WKDownload.cpp:
18826        (WKDownloadGetID): Add C API to get the download ID as we need it to
18827        support our public API and it seems like a useful addition.
18828        * UIProcess/API/C/WKDownload.h:
18829        * UIProcess/API/efl/ewk_download_job.cpp:
18830        (EwkDownloadJob::EwkDownloadJob):
18831        (EwkDownloadJob::id):
18832        (EwkDownloadJob::request):
18833        (EwkDownloadJob::cancel):
18834        * UIProcess/API/efl/ewk_download_job_private.h:
18835        (EwkDownloadJob::create):
18836        (EwkDownloadJob):
18837        * UIProcess/efl/DownloadManagerEfl.cpp:
18838        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
18839        (WebKit::DownloadManagerEfl::didReceiveResponse):
18840        (WebKit::DownloadManagerEfl::didCreateDestination):
18841        (WebKit::DownloadManagerEfl::didReceiveData):
18842        (WebKit::DownloadManagerEfl::didFail):
18843        (WebKit::DownloadManagerEfl::didCancel):
18844        (WebKit::DownloadManagerEfl::didFinish):
18845        (WebKit::DownloadManagerEfl::registerDownloadJob): Rename
18846        registerDownload() to registerDownloadJob() for consistency with
18847        unregisterDownloadJob().
18848        (WebKit::DownloadManagerEfl::ewkDownloadJob): Rename downloadJob() to
18849        ewkDownloadJob() for clarity since it returns a EwkDownload object.
18850        Also take a WKDownloadRef in argument instead of an identifier since
18851        all the callers have a WKDownloadRef and it makes their code simpler.
18852        Finally, make the getter non-const since it returns a non-const pointer.
18853        (WebKit::DownloadManagerEfl::unregisterDownloadJob): Take a
18854        WKDownloadRef in argument instead of an identifier since all the
18855        callers have a WKDownloadRef and it makes their code simpler.
18856        * UIProcess/efl/DownloadManagerEfl.h:
18857        (DownloadManagerEfl):
18858        * UIProcess/efl/PageClientBase.cpp:
18859        (WebKit::PageClientBase::handleDownloadRequest):
18860
188612013-01-28  Tim Horton  <timothy_horton@apple.com>
18862
18863        PDFPlugin: getMainResourceDataOfFrame should return PDFPlugin's data so that Save... works
18864        https://bugs.webkit.org/show_bug.cgi?id=108060
18865        <rdar://problem/13075454>
18866
18867        Reviewed by Sam Weinig.
18868
18869        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Implement getResourceData.
18870        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
18871        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Implement getResourceData, returning the accumulated
18872        data if it exists and has finished loading.
18873        (WebKit::SimplePDFPlugin::getResourceData):
18874        * WebProcess/Plugins/Plugin.h: Add getResourceData, which hands out a raw pointer/size pair
18875        to the plugin's "main resource" data.
18876        * WebProcess/Plugins/PluginProxy.h: Implement getResourceData.
18877        * WebProcess/Plugins/PluginView.cpp:
18878        (WebKit::PluginView::getResourceData): Forward getResourceData through to the plugin.
18879        * WebProcess/Plugins/PluginView.h:
18880        * WebProcess/WebPage/WebPage.cpp:
18881        (WebKit::WebPage::getMainResourceDataOfFrame): If the requested frame is backed by a PluginDocument,
18882        attempt to ask the PluginView for its resource data.
18883
188842013-01-28  Tim Horton  <timothy_horton@apple.com>
18885
18886        [wk2] WKView's intrinsicContentSize should only report a flexible width if the content width is less than the minimum width
18887        https://bugs.webkit.org/show_bug.cgi?id=108056
18888
18889        Reviewed by Simon Fraser.
18890
18891        We're currently reporting a flexible width if the intrinsic
18892        content size is less than *or equal* to the minimum layout
18893        width. This is wrong and causes ping-ponging between flexible
18894        and inflexible width in cases where autolayout fits our
18895        view to exactly the intrinsic content size. It should be strictly
18896        less than instead.
18897
18898        * UIProcess/API/mac/WKView.mm:
18899        (-[WKView _setIntrinsicContentSize:]):
18900
189012013-01-28  Anders Carlsson  <andersca@apple.com>
18902
18903        Add StorageStrategy member functions to WebKit2
18904        https://bugs.webkit.org/show_bug.cgi?id=108105
18905
18906        Reviewed by Tim Horton.
18907
18908        Add default implementations that just chain up to the base class for now.
18909
18910        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
18911        (WebKit::WebPlatformStrategies::localStorageNamespace):
18912        (WebKit::WebPlatformStrategies::sessionStorageNamespace):
18913        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
18914        (WebPlatformStrategies):
18915
189162013-01-28  Adam Barth  <abarth@webkit.org>
18917
18918        Remove webkitNotifications.createHTMLNotification
18919        https://bugs.webkit.org/show_bug.cgi?id=107598
18920
18921        Reviewed by Benjamin Poulain.
18922
18923        * Configurations/FeatureDefines.xcconfig:
18924
189252013-01-28  Andy Estes  <aestes@apple.com>
18926
18927        Fix non-fat builds by excluding PluginService.32 as a target dependency for WebKit2.
18928
18929        * WebKit2.xcodeproj/project.pbxproj:
18930
189312013-01-28  Renata Hodovan  <reni@webkit.org>
18932
18933        [Qt][Win][WK2] Build fix after r140957.
18934
18935        Rubber-stamped by Csaba Osztrogonác.
18936
18937        <sys/wait.h> is only needed and available on linux therefore it's moved into an ifdef block.
18938
18939        * WebProcess/qt/WebProcessMainQt.cpp:
18940
189412013-01-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18942
18943        [EFL][WK2] Use C API inside ewk_url_response
18944        https://bugs.webkit.org/show_bug.cgi?id=107826
18945
18946        Reviewed by Andreas Kling.
18947
18948        * Shared/API/c/WKURLResponse.cpp:
18949        (WKURLResponseGetExpectedContentsLength):
18950        * Shared/API/c/WKURLResponse.h:
18951
18952            Add new WK2 C API to get the expected contents length.
18953
18954        * UIProcess/API/efl/ewk_url_response.cpp:
18955        (EwkUrlResponse::EwkUrlResponse):
18956        (EwkUrlResponse::httpStatusCode):
18957        (EwkUrlResponse::contentLength):
18958        * UIProcess/API/efl/ewk_url_response_private.h:
18959        (EwkUrlResponse::create):
18960        (EwkUrlResponse):
18961
18962            Change the methods to not call WebCore methods.
18963
189642013-01-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18965
18966        [WK2][EFL] Remove unneeded private methods
18967        https://bugs.webkit.org/show_bug.cgi?id=107693
18968
18969        Reviewed by Andreas Kling.
18970
18971        Care has been taken to verify that the wrappers can
18972        never be null when called.
18973
18974        * UIProcess/API/efl/EwkViewImpl.cpp:
18975        (EwkViewImpl::displayTimerFired):
18976        (EwkViewImpl::createGLSurface):
18977        * UIProcess/API/efl/EwkViewImpl.h:
18978        (EwkViewImpl):
18979
189802013-01-28  Renata Hodovan  <reni@webkit.org>
18981
18982        [WK2] Putting QtWebProcess into a chrooted sandbox
18983        https://bugs.webkit.org/show_bug.cgi?id=90005
18984
18985        Reviewed by Anders Carlsson and Zoltan Herczeg.
18986
18987        This new feature makes possible to run WebProcess inside a chroot. In this case UIProcess calls the
18988        internal SandboxProcess binary what makes up an environment for WebProcess inside the sandbox and runs the WebProcess.
18989        SandboxProcess first creates two needed device files (random and urandom), mounts filesystems (proc and shared memory),
18990        then links run-time dependencies of WebProcess. After this, SandboxProcess moves to a new pid namespace (cloning with
18991        CLONE_NEWPID flag). Then after an other cloning (with CLONE_FS flag) we share our filesystem with our children. This is
18992        needed because we want to call chroot() function from here and jail our child (WebProcess) too. This will be performed
18993        when WebProcess sends a request for it via an socketpair. If sandboxing is done, SandboxProcess exits.
18994        Since chroot() system call needs sudoer rights SandboxProcess binary should have set its suid flag. However we can reduce
18995        its capabilites. First we restrict the capabilities of the process and the number of its possible resources. Furthermore
18996        we fallback to the nobody or the real user.
18997
18998        * Configurations/FeatureDefines.xcconfig:
18999        * SandboxProcess.pro: Added.
19000        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Added.
19001        (launchChangeRootHelper):
19002        (setEnvironmentVariablesForChangeRootHelper):
19003        (prepareAndStartChangeRootHelper):
19004        (setCapabilities):
19005        (dropPrivileges):
19006        (fileExists):
19007        (directoryPermissions):
19008        (createDirectory):
19009        (createDirectoryPath):
19010        (createDeviceFiles):
19011        (mountFileSystems):
19012        (linkFile):
19013        (linkDirectory):
19014        (collectRunTimeDependencies):
19015        (setupXauthorityForNobodyUser):
19016        (initSandbox):
19017        (restrictCapabilities):
19018        (moveToNewPidNamespace):
19019        (run):
19020        (main):
19021        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Added.
19022        * Shared/linux/SandboxProcess/StringOperations.cpp: Added.
19023        (stringCopy):
19024        (stringConcat):
19025        (stringAppend):
19026        * Shared/linux/SandboxProcess/StringOperations.h: Added.
19027        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
19028        (WebKit::ProcessLauncher::launchProcess):
19029        * WebKit2.pri:
19030        * WebProcess.pro:
19031        * WebProcess/qt/WebProcessMainQt.cpp:
19032        (WebKit):
19033        (WebKit::chrootMe):
19034        (WebKit::WebProcessMainQt):
19035
190362013-01-28  Christophe Dumez  <christophe.dumez@intel.com>
19037
19038        [EFL][WK2] Rely more on C API in ewk_favicon_database
19039        https://bugs.webkit.org/show_bug.cgi?id=108035
19040
19041        Reviewed by Benjamin Poulain.
19042
19043        Rely less on internal C++ API in ewk_favicon_database and use C API
19044        instead of avoid breaking API layering.
19045
19046        * PlatformEfl.cmake:
19047        * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp: Added.
19048        (WKIconDatabaseTryGetCairoSurfaceForURL): Add C API for getting the
19049        favicon for a given page URL as a cairo_surface_t*.
19050        * UIProcess/API/C/cairo/WKIconDatabaseCairo.h: Added.
19051        * UIProcess/API/efl/ewk_favicon_database.cpp:
19052        (EwkFaviconDatabase::didChangeIconForPageURL):
19053        (EwkFaviconDatabase::getIconSurfaceSynchronously):
19054        (EwkFaviconDatabase::iconDataReadyForPageURL):
19055
190562013-01-27  Alexey Proskuryakov  <ap@apple.com>
19057
19058        Fix location of sandbox profiles in built products
19059        https://bugs.webkit.org/show_bug.cgi?id=108026
19060
19061        Reviewed by Sam Weinig.
19062
19063        * WebKit2.xcodeproj/project.pbxproj: Sandbox profiles go into WebKit2 framework resources.
19064
190652013-01-27  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
19066
19067        Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
19068        https://bugs.webkit.org/show_bug.cgi?id=106740
19069
19070        Reviewed by Benjamin Poulain.
19071
19072        * config.h:
19073
190742013-01-27  Sam Weinig  <sam@webkit.org>
19075
19076        Add support for launching WebKit2 plugins using XPC
19077        https://bugs.webkit.org/show_bug.cgi?id=108040
19078
19079        Reviewed by Dan Bernstein.
19080
19081        * Configurations/PluginService.32.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
19082        * Configurations/PluginService.64.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
19083        * Configurations/PluginService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
19084        Add configurations.
19085
19086        * PluginProcess/EntryPoint/mac/XPCService: Added.
19087        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Added.
19088        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
19089        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
19090        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Added.
19091        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
19092        * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
19093        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Added.
19094        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Added.
19095        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Added.
19096        (main):
19097        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm.
19098        (initializePluginService):
19099        Add entry points.
19100
19101        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
19102        (WebKit::serviceName):
19103        Add plugin process service names and move into correct #ifdef.
19104
19105        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
19106        (WebKit::shouldUseXPC):
19107        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
19108        Opt into xpc using the same rules as the WebProcess.
19109
19110        * WebKit2.xcodeproj/project.pbxproj:
19111        Add files.
19112
191132013-01-26  Alexey Proskuryakov  <ap@apple.com>
19114
19115        Use shared ChildProcess code to enter plug-in sandbox.
19116
19117        Reviewed by Sam Weinig.
19118
19119        There is one known behavior change from this refactoring: getpwuid_r is used
19120        instead of NSHomeDirectory for home directory, mathcing other client processes.
19121
19122        * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::enterSandbox):
19123        * PluginProcess/PluginProcess.h:
19124        PluginProcess prevents ChildProcess attempt to enter the sandbox immediately on
19125        launch for now, because we don't have a sandbox profile directory path yet.
19126        It now keeps a copy of ChildProcessInitializationParameters, so that
19127        ChildProcess::initializeSandbox() could be called later.
19128
19129        * PluginProcess/mac/PluginProcessMac.mm:
19130        (WebKit::PluginProcess::platformInitializeProcess): Store a copy of ChildProcessInitializationParameters
19131        for later.
19132        (WebKit::loadSandboxProfile): Build a sandbox profile from a common prefix and
19133        a plugin-specific part.
19134        (WebKit::PluginProcess::platformInitializePluginProcess): We can enter the sandbox now.
19135        (WebKit::PluginProcess::enterSandbox): Prepare SandboxInitializationParameters,
19136        and call ChildProcess::initializeSandbox().
19137
19138        * Shared/mac/ChildProcessMac.mm:
19139        (WebKit::ChildProcess::initializeSandbox): Actually handle system directory suffix
19140        from parameters.
19141
19142        * WebKit2.xcodeproj/project.pbxproj:
19143        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Removed.
19144        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Removed.
19145
191462013-01-26  Sam Weinig  <sam@webkit.org>
19147
19148        Add support for running the networking process as an XPCService
19149        https://bugs.webkit.org/show_bug.cgi?id=108025
19150
19151        Reviewed by Dan Bernstein.
19152
19153        * Configurations/NetworkService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.Development.xcconfig.
19154        * Configurations/NetworkService.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
19155        Add configurations.
19156
19157        * NetworkProcess/EntryPoint/mac/XPCService: Added.
19158        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService: Added.
19159        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Added.
19160        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
19161        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm.
19162        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist.
19163        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm.
19164        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm.
19165        (initializeNetworkService):
19166        Add entry points.
19167
19168        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
19169        (WebKit::serviceName):
19170        (WebKit::connectToServiceForDevelopment):
19171        (WebKit::createServiceForDevelopment):
19172        (WebKit::createService):
19173        (WebKit::createProcess):
19174        (WebKit::ProcessLauncher::launchProcess):
19175        Rework service creation to work for arbitrary services.
19176
19177        * UIProcess/Network/NetworkProcessProxy.cpp:
19178        (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
19179        (WebKit::NetworkProcessProxy::getLaunchOptions):
19180        * UIProcess/Network/NetworkProcessProxy.h:
19181        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
19182        (WebKit::shouldUseXPC):
19183        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
19184        Opt into xpc using the same rules as the WebProcess.
19185
19186        * WebKit2.xcodeproj/project.pbxproj:
19187        Update files.
19188
19189        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
19190        (initializeWebContentService):
19191        Fix the comment to refer to the shim correctly.
19192
191932013-01-26  Sam Weinig  <sam@webkit.org>
19194
19195        Simplify environment creation in XPC service re-exec
19196        https://bugs.webkit.org/show_bug.cgi?id=108017
19197
19198        Reviewed by Dan Bernstein.
19199
19200        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
19201        (WebKit::XPCServiceEventHandler):
19202        There is no need to copy these strings.
19203
192042013-01-26  Alexey Proskuryakov  <ap@apple.com>
19205
19206        Remove code for handling NetworkProcess authentication challenges in WebProcess
19207        https://bugs.webkit.org/show_bug.cgi?id=108003
19208
19209        Reviewed by Sam Weinig.
19210
19211        * DerivedSources.make:
19212        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
19213        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
19214        * WebKit2.xcodeproj/project.pbxproj:
19215        * NetworkProcess/NetworkResourceLoader.messages.in: Removed. We no longer have
19216        an messages to NetworkResourceLoader.
19217
19218        * Shared/WebCoreArgumentCoders.cpp:
19219        (CoreIPC::::encode):
19220        (CoreIPC::::decode):
19221        There is no longer an identifier inside AuthenticationChallenge.
19222
19223        * NetworkProcess/NetworkResourceLoader.cpp:
19224        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
19225        (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
19226        * NetworkProcess/NetworkResourceLoader.h:
19227        Removed code for receiving authentication responses from WebProcess. Removed
19228        m_currentAuthenticationChallenge - AuthenticationMAnager now keeps track of that.
19229
19230        * WebProcess/Network/WebResourceLoader.cpp:
19231        * WebProcess/Network/WebResourceLoader.h:
19232        * WebProcess/Network/WebResourceLoader.messages.in:
19233        Removed code for handling authentication challenges. They are now sent directly to
19234        UI Process. The only thing WebProcess still does is decide whether is can authenticate
19235        against a particular authentication space.
19236
192372013-01-26  Sam Weinig  <sam@webkit.org>
19238
19239        Fix the development build.
19240
19241        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
19242        (WebKit::XPCServiceEventHandler):
19243        Use the right stringizer.
19244
192452013-01-26  Sam Weinig  <sam@webkit.org>
19246
19247        Refactor XPCService initialization to make it easier to add more services
19248        https://bugs.webkit.org/show_bug.cgi?id=108015
19249
19250        Reviewed by Dan Bernstein.
19251
19252        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Added.
19253        (WebKit::XPCServiceEventHandler):
19254        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Added.
19255        (WebKit::XPCServiceEventHandler):
19256        Move bootstrapping to Shared (like we have for the legacy process). For now, we use
19257        a macro to define the actual initialization point function to use, in the future, we
19258        could consider alternatives, such as getting the function name from the bundle.
19259
19260        * WebKit2.xcodeproj/project.pbxproj:
19261        Update files.
19262
19263        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
19264        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
19265        Simplify to use the new XPCServiceBootstrapper.
19266
19267        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm.
19268        (initializeWebContentService):
19269        * WebProcess/mac/WebProcessServiceEntryPoints.h: Removed.
19270        * WebProcess/mac/WebProcessServiceEntryPoints.mm: Removed.
19271        Move the entry point to where it belongs and extract the bootstrapping parts.
19272
192732013-01-26  Adenilson Cavalcanti  <cavalcantii@gmail.com>
19274
19275        [Qt]Qt build fix
19276        https://bugs.webkit.org/show_bug.cgi?id=108013
19277
19278        Changes on process initialization classes broke webkit building with Qt5. This
19279        patch fix it.
19280
19281        Reviewed by Sam Weinig.
19282
19283        * PluginProcess/qt/PluginProcessMainQt.cpp:
19284
192852013-01-26  Sam Weinig  <sam@webkit.org>
19286
19287        Hoist command line parsing into ChildProcessMain
19288        https://bugs.webkit.org/show_bug.cgi?id=108010
19289
19290        Reviewed by Dan Bernstein.
19291
19292        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
19293        (NetworkProcessMain):
19294        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
19295        (PluginProcessMain):
19296        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
19297        (WebKit::ChildProcessMain):
19298        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
19299        (SharedWorkerProcessMain):
19300        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
19301        (WebContentProcessMain):
19302
193032013-01-26  Sam Weinig  <sam@webkit.org>
19304
19305        Move LegacyProcess entry points into new EntryPoint directories
19306        https://bugs.webkit.org/show_bug.cgi?id=108008
19307
19308        Reviewed by Anders Carlsson.
19309
19310        Also refactors to remove the need for the overly general WebKitMain, by putting the
19311        framework lazy loading into a helper function each legacy process can call (in ChildProcessMainBootstrapper.h)
19312
19313        * Configurations/NetworkProcess.xcconfig:
19314        * Configurations/PluginProcess.xcconfig:
19315        * Configurations/SharedWorkerProcess.xcconfig:
19316        * Configurations/WebProcess.xcconfig:
19317        * NetworkProcess/EntryPoint: Added.
19318        * NetworkProcess/EntryPoint/mac: Added.
19319        * NetworkProcess/EntryPoint/mac/LegacyProcess: Added.
19320        * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/NetworkProcess/Info.plist.
19321        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessMainMac.mm.
19322        (NetworkProcessMain):
19323        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Added.
19324        (main):
19325        * NetworkProcess/Info.plist: Removed.
19326        * NetworkProcess/NetworkProcessMain.h: Removed.
19327        * NetworkProcess/mac/NetworkProcessMainMac.mm: Removed.
19328        * PluginProcess/EntryPoint: Added.
19329        * PluginProcess/EntryPoint/mac: Added.
19330        * PluginProcess/EntryPoint/mac/LegacyProcess: Added.
19331        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/PluginProcess/Info.plist.
19332        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: Copied from Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm.
19333        (PluginProcessMain):
19334        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Added.
19335        (main):
19336        * PluginProcess/Info.plist: Removed.
19337        * PluginProcess/PluginProcessMain.h: Removed.
19338        * PluginProcess/mac/PluginProcessMainMac.mm: Removed.
19339        * Shared/EntryPointUtilities: Added.
19340        * Shared/EntryPointUtilities/mac: Added.
19341        * Shared/EntryPointUtilities/mac/LegacyProcess: Added.
19342        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.h.
19343        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.mm.
19344        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Added.
19345        (closeUnusedFileDescriptors):
19346        (getBootstrapMainFunction):
19347        * Shared/EntryPointUtilities/mac/XPCService: Added.
19348        * Shared/mac/ChildProcessMain.h: Removed.
19349        * Shared/mac/ChildProcessMain.mm: Removed.
19350        * SharedWorkerProcess/EntryPoint: Added.
19351        * SharedWorkerProcess/EntryPoint/mac: Added.
19352        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess: Added.
19353        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/SharedWorkerProcess/Info.plist.
19354        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm: Copied from Source/WebKit2/SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm.
19355        (SharedWorkerProcessMain):
19356        * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Added.
19357        (main):
19358        * SharedWorkerProcess/Info.plist: Removed.
19359        * SharedWorkerProcess/SharedWorkerProcessMain.h: Removed.
19360        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Removed.
19361        * WebKit2.xcodeproj/project.pbxproj:
19362        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist.
19363        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm.
19364        (WebKit::WebContentProcessMainDelegate::WebContentProcessMainDelegate):
19365        (WebKit):
19366        (WebContentProcessMain):
19367        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Added.
19368        (main):
19369        * WebProcess/Info.plist: Removed.
19370        * WebProcess/WebKitMain.cpp: Removed.
19371        * WebProcess/WebProcessMain.h: Removed.
19372        * WebProcess/mac/WebProcessMainMac.mm: Removed.
19373        * mac/MainMacProcess.cpp: Removed.
19374
193752013-01-25  Christophe Dumez  <christophe.dumez@intel.com>
19376
19377        [EFL][WK2] Use C API inside ewk_database_manager and ewk_storage_manager
19378        https://bugs.webkit.org/show_bug.cgi?id=107920
19379
19380        Reviewed by Benjamin Poulain.
19381
19382        Use C API inside ewk_database_manager and ewk_storage_manager instead
19383        of accessing internal C++ classes directly, to avoid violating API
19384        layering.
19385
19386        * UIProcess/API/efl/ewk_context.cpp:
19387        (EwkContext::EwkContext):
19388        * UIProcess/API/efl/ewk_database_manager.cpp:
19389        (EwkDatabaseManager::EwkDatabaseManager):
19390        (EwkDatabaseManager::getDatabaseOrigins):
19391        * UIProcess/API/efl/ewk_database_manager_private.h:
19392        (EwkDatabaseManager::create):
19393        (EwkDatabaseManager):
19394        * UIProcess/API/efl/ewk_storage_manager.cpp:
19395        (EwkStorageManager::EwkStorageManager):
19396        (EwkStorageManager::getStorageOrigins):
19397        * UIProcess/API/efl/ewk_storage_manager_private.h:
19398        (EwkStorageManager::create):
19399        (EwkStorageManager):
19400
194012013-01-25  Andreas Kling  <akling@apple.com>
19402
19403        [Mac] Defer loading the Web Inspector bundle until it's necessary.
19404        <http://webkit.org/b/107999>
19405        <rdar://problem/13091861>
19406
19407        Reviewed by Anders Carlsson.
19408
19409        Don't instantiate an NSBundle for the Web Inspector before it's needed.
19410        1.51MB progression on Membuster3.
19411
19412        * WebProcess/WebPage/WebInspector.cpp:
19413        (WebKit::WebInspector::WebInspector):
19414        * WebProcess/WebPage/WebInspector.h:
19415        (WebInspector):
19416        * WebProcess/WebPage/mac/WebInspectorMac.mm:
19417        (WebKit::WebInspector::setInspectorUsesWebKitUserInterface):
19418        (WebKit::WebInspector::localizedStringsURL):
19419
194202013-01-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
19421
19422        [EFL][WK2] Fix build break after r140891.
19423
19424        Unreviewed build fix. SerializedScriptValue needs to use PassRefPtr in WK2 as well.
19425
19426        * Shared/WebSerializedScriptValue.h:
19427        (WebKit::WebSerializedScriptValue::create):
19428
194292013-01-25  Mark Rowe  <mrowe@apple.com>
19430
19431        Don't crash when the WKBundlePageUIClient doesn't implement createPlugInExtraStyleSheet.
19432
19433        Reviewed by Dean Jackson.
19434
19435        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
19436        (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet): Check that createPlugInExtraStyleSheet
19437        is provided before calling it.
19438
194392013-01-25  Andy Estes  <aestes@apple.com>
19440
19441        Wrap content filtering code in an object
19442        https://bugs.webkit.org/show_bug.cgi?id=107914
19443
19444        Reviewed by Alexey Proskuryakov.
19445
19446        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
19447        (InitWebCoreSystemInterface): Updated to reflect changes in WKSI.
19448
194492013-01-25  Brady Eidson  <beidson@apple.com>
19450
19451        HTTP Authentication should be directly between the NetworkProcess and the UIProcess
19452        <rdar://problem/13074829> and https://bugs.webkit.org/show_bug.cgi?id=107974
19453
19454        Reviewed by Alexey Proskuryakov.
19455
19456        Some of this patch is refactoring to enable more flexibility in the authentication mechanism
19457        and the rest is actually implementing Network->UI process authentication.
19458
19459        Expose the same AuthenticationManager to anyone in the NetworkProcess asking for it:
19460        * NetworkProcess/NetworkProcess.cpp:
19461        (WebKit::NetworkProcess::authenticationManager):
19462        (WebKit::NetworkProcess::downloadsAuthenticationManager):
19463        * NetworkProcess/NetworkProcess.h:
19464
19465        * NetworkProcess/NetworkResourceLoader.cpp:
19466        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Instead of messaging to
19467          the WebProcess, tell the NetworkProcess AuthenticationManager.
19468
19469        Add WebPageID and WebFrameID members to SchedulableLoader that they receive from 
19470        * NetworkProcess/SchedulableLoader.cpp:
19471        * NetworkProcess/SchedulableLoader.h:
19472        (WebKit::SchedulableLoader::webPageID):
19473        (WebKit::SchedulableLoader::webFrameID):
19474
19475        Add a 3rd form of "didReceiveAuthenticationChallenge" for NetworkProcess use:
19476        * Shared/Authentication/AuthenticationManager.cpp:
19477        (WebKit::AuthenticationManager::mapChallengeToIdentifier):
19478        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
19479        * Shared/Authentication/AuthenticationManager.h:
19480        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
19481        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Remove a now obsolete comment
19482
19483        Include the WebPage and WebFrame ID for the originator of this request in case it results in a challenge:
19484        * Shared/Network/NetworkResourceLoadParameters.cpp:
19485        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
19486        (WebKit::NetworkResourceLoadParameters::encode):
19487        (WebKit::NetworkResourceLoadParameters::decode):
19488        * Shared/Network/NetworkResourceLoadParameters.h:
19489        (WebKit::NetworkResourceLoadParameters::webPageID):
19490        (WebKit::NetworkResourceLoadParameters::webFrameID):
19491
19492        Create a AuthenticationChallengeProxy pointing back to the NetworkProcess (instead of a WebProcess),
19493        and send the challenge to the appropriate WebPageProxy:
19494        * UIProcess/Network/NetworkProcessProxy.cpp:
19495        (WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
19496        * UIProcess/Network/NetworkProcessProxy.h:
19497        * UIProcess/Network/NetworkProcessProxy.messages.in:
19498
19499        Refactor didReceiveAuthenticationChallenge so an outsider can directly hand over an AuthenticationChallengeProxy:
19500        * UIProcess/WebPageProxy.cpp:
19501        (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
19502        (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
19503        * UIProcess/WebPageProxy.h:
19504
19505        Add a global WebPageID -> WebPageProxy map so parties with an ID don't need to know which process it belongs to:
19506        * UIProcess/WebProcessProxy.cpp:
19507        (WebKit::globalPageMap):
19508        (WebKit::WebProcessProxy::webPage):
19509        (WebKit::WebProcessProxy::createWebPage):
19510        (WebKit::WebProcessProxy::addExistingWebPage):
19511        (WebKit::WebProcessProxy::removeWebPage):
19512        * UIProcess/WebProcessProxy.h:
19513
19514        * WebProcess/Network/WebResourceLoadScheduler.cpp:
19515        (WebKit::WebResourceLoadScheduler::scheduleLoad):
19516
19517        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
19518        (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass 0 for WebFrameID and WebPageID since synchronous
19519          loads don't go through "normal" authentication channels and don't need them. Yet.
19520
195212013-01-25  Alexey Proskuryakov  <ap@apple.com>
19522
19523        <rdar://problem/13089261> Crash in WKSandboxExtensionGetSerializedFormat when opening Web Inspector
19524
19525        Reviewed by Brady Eidson.
19526
19527        * WebProcess/com.apple.WebProcess.sb.in: Should be able to issue extensions for
19528        Inspector files.
19529
195302013-01-25  Sam Weinig  <sam@webkit.org>
19531
19532        Try to fix the debug build.
19533
19534        * WebKit2.xcodeproj/project.pbxproj:
19535
195362013-01-25  Sam Weinig  <sam@webkit.org>
19537
19538        Move the WebContentServices to WebProcess/EntryPoint/mac/XPCService/.
19539
19540        Reviewed by Anders Carlsson.
19541
19542        * Configurations/WebContentService.Development.xcconfig:
19543        * Configurations/WebContentService.xcconfig:
19544        * WebKit2.xcodeproj/project.pbxproj:
19545        * WebProcess/EntryPoint: Added.
19546        * WebProcess/EntryPoint/mac: Added.
19547        * WebProcess/EntryPoint/mac/LegacyProcess: Added.
19548        * WebProcess/EntryPoint/mac/XPCService: Added.
19549        * WebProcess/EntryPoint/mac/XPCService/WebContentService: Copied from WebProcessService.
19550        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Copied from WebProcessServiceForWebKitDevelopment.
19551        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Copied from WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm.
19552        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
19553        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Copied from WebProcessService/WebProcessServiceMain.mm.
19554        * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebProcessServiceMain.mm: Removed.
19555        * WebProcessService: Removed.
19556        * WebProcessService/Info.plist: Removed.
19557        * WebProcessService/WebProcessServiceMain.mm: Removed.
19558        * WebProcessServiceForWebKitDevelopment: Removed.
19559        * WebProcessServiceForWebKitDevelopment/Info.plist: Removed.
19560        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
19561
195622013-01-25  Ivan Krstić  <ike@apple.com>
19563
19564        Prepend common plugin sandbox profile to specific per-plugin one.
19565        <rdar://problem/13044349>
19566
19567        Reviewed by Alexey Proskuryakov.
19568
19569        * PluginProcess/mac/PluginProcessMac.mm:
19570        (WebKit::initializeSandbox):
19571
195722013-01-25  Dean Jackson  <dino@apple.com>
19573
19574        Add a user agent stylesheet for plugins
19575        https://bugs.webkit.org/show_bug.cgi?id=107890
19576
19577        Reviewed by Alexey Proskuryakov.
19578
19579        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Rename client callbacks
19580        to have a "create" prefix, making it clear that these generate new Strings.
19581        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Actually call into
19582        the injected bundle to retrieve any custom stylesheet for plugins.
19583        (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
19584        * WebProcess/WebCoreSupport/WebChromeClient.h:
19585        (WebChromeClient): Add override keyword onto virtual functions now
19586        that the base class has implementations.
19587
195882013-01-25  Alexey Proskuryakov  <ap@apple.com>
19589
19590        NetworkProcess cannot load files with non-ASCII names
19591        https://bugs.webkit.org/show_bug.cgi?id=107977
19592
19593        Reviewed by Brady Eidson.
19594
19595        * Shared/Network/NetworkResourceLoadParameters.cpp:
19596        (WebKit::NetworkResourceLoadParameters::encode): Use the correct path accessor.
19597
195982013-01-25  Alexey Proskuryakov  <ap@apple.com>
19599
19600        REGRESSION: System directory prefix doesn't have a "+"
19601        https://bugs.webkit.org/show_bug.cgi?id=107971
19602
19603        Reviewed by Brady Eidson.
19604
19605        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
19606        Re-added the "+".
19607
196082013-01-25  Brady Eidson  <beidson@apple.com>
19609
19610        New NetworkProcess can ASSERT after old NetworkProcess crashes
19611        https://bugs.webkit.org/show_bug.cgi?id=107970
19612
19613        Reviewed by Alexey Proskuryakov.
19614
19615        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
19616        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Don't tell the scheduler
19617          to remove a loader that doesn't exist, as we might be recovering from a crash.
19618
196192013-01-25  Alexey Proskuryakov  <ap@apple.com>
19620
19621        Send sandbox extensions for local files to NetworkProcess
19622        https://bugs.webkit.org/show_bug.cgi?id=107872
19623
19624        Reviewed by Brady Eidson.
19625
19626        Send sandbox extensions in NetworkResourceLoadParameters, and consume/invalidate
19627        them during loading. Changed NetworkProcess code to only use that class for IPC,
19628        not for actual implementation.
19629
19630        * NetworkProcess/HostRecord.cpp:
19631        (WebKit::HostRecord::scheduleResourceLoader):
19632        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
19633        (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
19634        (WebKit::NetworkResourceLoadScheduler::removeLoader):
19635        (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
19636        * NetworkProcess/NetworkResourceLoader.cpp:
19637        (WebKit::NetworkResourceLoader::destinationID):
19638        (WebKit::NetworkResourceLoader::start):
19639        (WebKit::NetworkResourceLoader::resourceHandleStopped):
19640        (WebKit::NetworkResourceLoader::didReceiveResponse):
19641        (WebKit::NetworkResourceLoader::didFinishLoading):
19642        (WebKit::NetworkResourceLoader::didFail):
19643        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
19644        * NetworkProcess/SchedulableLoader.cpp:
19645        (WebKit::SchedulableLoader::SchedulableLoader):
19646        (WebKit::SchedulableLoader::consumeSandboxExtensions):
19647        (WebKit::SchedulableLoader::invalidateSandboxExtensions):
19648        * NetworkProcess/SchedulableLoader.h:
19649        (WebKit::SchedulableLoader::identifier):
19650        (WebKit::SchedulableLoader::request):
19651        (WebKit::SchedulableLoader::priority):
19652        (WebKit::SchedulableLoader::contentSniffingPolicy):
19653        (WebKit::SchedulableLoader::allowStoredCredentials):
19654        (WebKit::SchedulableLoader::inPrivateBrowsingMode):
19655        (SchedulableLoader):
19656        * NetworkProcess/SyncNetworkResourceLoader.cpp:
19657        (WebKit::SyncNetworkResourceLoader::start):
19658        * Shared/Network/NetworkResourceLoadParameters.cpp:
19659        (WebKit::NetworkResourceLoadParameters::encode):
19660        (WebKit::NetworkResourceLoadParameters::decode):
19661        * Shared/Network/NetworkResourceLoadParameters.h:
19662        (WebKit::NetworkResourceLoadParameters::requestBodyExtensions):
19663        (WebKit::NetworkResourceLoadParameters::resourceSandboxExtension):
19664
196652013-01-25  Claudio Saavedra  <csaavedra@igalia.com>
19666
19667        Remove stale class include
19668        https://bugs.webkit.org/show_bug.cgi?id=107945
19669
19670        Reviewed by Andreas Kling.
19671
19672        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
19673        GeolocationPermissionRequestProxy has nothing to do here.
19674
196752013-01-25  Zan Dobersek  <zdobersek@igalia.com>
19676
19677        Unreviewed.
19678
19679        Now searching for *.messages.in in Source/WebKit2/WebProcess/Storage
19680        instead of Source/WebKit2/WebProcess/KeyValueStorage after the
19681        WebKeyValueStorageManager.messages.in was moved there.
19682
19683        * GNUmakefile.am:
19684
196852013-01-25  Zan Dobersek  <zdobersek@igalia.com>
19686
19687        Unreviewed.
19688
19689        Reincluding the input file for WebKeyValueStorageManager IPC messages
19690        into the extra distribution list after the file was moved.
19691
19692        * GNUmakefile.am:
19693
196942013-01-25  Zan Dobersek  <zdobersek@igalia.com>
19695
19696        Further GTK build fixing.
19697        Adding Source/WebKit2/WebProcess/Storage to the list of directories
19698        to be searched for header inclusion.
19699
19700        * GNUmakefile.am:
19701
197022013-01-25  Zan Dobersek  <zdobersek@igalia.com>
19703
19704        Unreviewed GTK build fix.
19705        Adjusting the build targets after WebKeyValueStorageManager.cpp was moved
19706        to a different directory.
19707
19708        * GNUmakefile.list.am:
19709
197102013-01-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
19711
19712        [WK2][EFL] PagePolicyClientEfl should be based on C WK2 API
19713        https://bugs.webkit.org/show_bug.cgi?id=107854
19714
19715        Reviewed by Benjamin Poulain.
19716
19717        PagePolicyClientEfl should be based on C WK2 API in order not to
19718        break API layering.
19719
19720        * UIProcess/efl/PagePolicyClientEfl.cpp:
19721        (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
19722
197232013-01-25  Huang Dongsung  <luxtella@company100.net>
19724
19725        [Qt][Gtk] build fix after r140752.
19726        https://bugs.webkit.org/show_bug.cgi?id=107908
19727
19728        Reviewed by Kentaro Hara.
19729
19730        Build break after r140752.
19731
19732        Move Authentication and Downloads to Shared.
19733
19734        * DerivedSources.pri:
19735        * GNUmakefile.am:
19736        * WebKit2.pri:
19737
197382013-01-24  Tim Horton  <timothy_horton@apple.com>
19739
19740        [wk2] Page overlays should do their own animation, instead of relying on implicit animation
19741        https://bugs.webkit.org/show_bug.cgi?id=107896
19742        <rdar://problem/12900058>
19743
19744        Reviewed by Sam Weinig.
19745
19746        Use PageOverlay's animation instead of CA implicit animations for uninstallPageOverlay.
19747
19748        Make WKBundlePageInstallPageOverlay/WKBundlePageUninstallPageOverlay default to no animation.
19749
19750        Add WKBundlePageInstallPageOverlayWithAnimation/WKBundlePageUninstallPageOverlayWithAnimation.
19751
19752        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
19753        (WKBundlePageUninstallPageOverlay): The default for shouldFadeOut is now false, so we don't need to pass it.
19754        (WKBundlePageInstallPageOverlayWithAnimation): Add a version of WKBundlePageInstallPageOverlay that fades in.
19755        (WKBundlePageUninstallPageOverlayWithAnimation): Add a version of WKBundlePageUninstallPageOverlay that fades out.
19756        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
19757        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
19758        (WebKit::WebInspectorClient::highlight): installPageOverlay used to animate by default, now we need to ask for it.
19759        (WebKit::WebInspectorClient::hideHighlight): uninstallPageOverlay used to implicitly animate accidentally, now we need to ask for it.
19760        * WebProcess/WebPage/FindController.cpp:
19761        (WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
19762        (WebKit::FindController::hideFindUI): Ditto.
19763        * WebProcess/WebPage/WebPage.cpp:
19764        (WebKit::WebPage::installPageOverlay): Add shouldFadeIn parameter.
19765        (WebKit::WebPage::uninstallPageOverlay):
19766        * WebProcess/WebPage/WebPage.h:
19767        (WebPage): Add shouldFadeIn to installPageOverlay; make both it and uninstallPageOverlay's shouldFade out default to false.
19768        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
19769        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer): Disable implicit animations when removing a page overlay.
19770
197712013-01-24  Huang Dongsung  <luxtella@company100.net>
19772
19773        [EFL] Unreviewed build fix after r140752.
19774        https://bugs.webkit.org/show_bug.cgi?id=107886
19775
19776        Build break after r140752.
19777
19778        * PlatformEfl.cmake: Move DownloadSoupErrorsEfl and DownloadSoup to Shared/Downloads.
19779
197802013-01-24  Tim Horton  <timothy_horton@apple.com>
19781
19782        Fix NetworkProcess loading after r140730.
19783
19784        Reviewed by Sam Weinig.
19785
19786        If a process' sandbox profile path is empty, don't try to initialize the sandbox.
19787
19788        * Shared/mac/ChildProcessMac.mm:
19789        (WebKit::ChildProcess::initializeSandbox):
19790
197912013-01-24  Ryosuke Niwa  <rniwa@webkit.org>
19792
19793        Mac build fix after r140752.
19794
19795        * DerivedSources.make:
19796
197972013-01-24  Jae Hyun Park  <jae.park@company100.net>
19798
19799        Redundant LegacyReceiver attribute in WebPage.messages.in
19800        https://bugs.webkit.org/show_bug.cgi?id=107875
19801
19802        Reviewed by Anders Carlsson.
19803
19804        To generate WebPageMessageReceiver with legacy, just one LegacyReceiver
19805        attribute in WebPage.messages.in is enough. This patch removes this
19806        redundant attribute.
19807
19808        * WebProcess/WebPage/WebPage.messages.in:
19809
198102013-01-24  Anders Carlsson  <andersca@apple.com>
19811
19812        Fix release build.
19813
19814        * WebProcess/Storage/StorageAreaProxy.cpp:
19815        (WebKit::StorageAreaProxy::length):
19816
198172013-01-24  Alexey Proskuryakov  <ap@apple.com>
19818
19819        <rdar://problem/9971916> [WK2] Update sandbox extension usage
19820        https://bugs.webkit.org/show_bug.cgi?id=107861
19821
19822        Reviewed by Sam Weinig.
19823
19824        * Shared/SandboxExtension.h:
19825        * Shared/mac/SandboxExtensionMac.mm:
19826        (WebKit::wkSandboxExtensionType):
19827        * UIProcess/Downloads/DownloadProxy.cpp:
19828        (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
19829        * UIProcess/WebContext.cpp:
19830        (WebKit::WebContext::createNewWebProcess):
19831        (WebKit::WebContext::processDidFinishLaunching):
19832        (WebKit::WebContext::startMemorySampler):
19833        * WebProcess/com.apple.WebProcess.sb.in:
19834
198352013-01-24  Brady Eidson  <beidson@apple.com>
19836
19837        Move Authentication and Downloads from WebProcess to Shared.
19838        https://bugs.webkit.org/show_bug.cgi?id=107879
19839
19840        Reviewed by Anders Carlsson.
19841
19842        * Shared/Authentication/AuthenticationManager.cpp: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.cpp.
19843        * Shared/Authentication/AuthenticationManager.h: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.h.
19844        * Shared/Authentication/AuthenticationManager.messages.in: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.messages.in.
19845        * Shared/Authentication/mac/AuthenticationManager.mac.mm: Renamed from Source/WebKit2/WebProcess/Authentication/mac/AuthenticationManager.mac.mm.
19846        * Shared/Downloads/Download.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/Download.cpp.
19847        * Shared/Downloads/Download.h: Renamed from Source/WebKit2/WebProcess/Downloads/Download.h.
19848        * Shared/Downloads/DownloadAuthenticationClient.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.cpp.
19849        * Shared/Downloads/DownloadAuthenticationClient.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.h.
19850        * Shared/Downloads/DownloadManager.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp.
19851        * Shared/Downloads/DownloadManager.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.h.
19852        * Shared/Downloads/cfnet/DownloadCFNet.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/cfnet/DownloadCFNet.cpp.
19853        * Shared/Downloads/curl/DownloadCurl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp.
19854        * Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp.
19855        * Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp.
19856        * Shared/Downloads/mac/DownloadMac.mm: Renamed from Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm.
19857        * Shared/Downloads/qt/DownloadQt.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp.
19858        * Shared/Downloads/qt/QtFileDownloader.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.cpp.
19859        * Shared/Downloads/qt/QtFileDownloader.h: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.h.
19860        * Shared/Downloads/soup/DownloadSoup.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp.
19861        * Shared/Downloads/soup/DownloadSoupErrors.h: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoupErrors.h.
19862
19863        * CMakeLists.txt:
19864        * GNUmakefile.list.am:
19865        * Target.pri:
19866        * WebKit2.xcodeproj/project.pbxproj:
19867
198682013-01-24  Seokju Kwon  <seokju.kwon@gmail.com>
19869
19870        [EFL] Unreviewed build fix after r140711
19871        https://bugs.webkit.org/show_bug.cgi?id=107873
19872
19873        Unreviewed build fix.
19874
19875        Build break after r140711.
19876
19877        * CMakeLists.txt: Move WebKeyValueStorageManager to WebProcess/Storage.
19878
198792013-01-24  Jae Hyun Park  <jae.park@company100.net>
19880
19881        Coordinated Graphics: remove SurfaceUpdateInfo::encode/decode
19882        https://bugs.webkit.org/show_bug.cgi?id=107794
19883
19884        Reviewed by Anders Carlsson.
19885
19886        We want to remove the dependency on CoreIPC from SurfaceUpdateInfo
19887        because we will extract Coordinated Graphics from WK2. Since
19888        SurfaceUpdateInfo is only used in Coordinated Graphics, this patch
19889        moves it to Shared/CoordinatedGraphics, and removes CoreIPC
19890        dependency.
19891
19892        No new tests, no change in behavior.
19893
19894        * CMakeLists.txt:
19895        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
19896        (CoreIPC::::encode):
19897        (CoreIPC):
19898        (CoreIPC::::decode):
19899        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
19900        (WebKit):
19901        * Shared/CoordinatedGraphics/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/SurfaceUpdateInfo.h.
19902        (WebKit):
19903        (SurfaceUpdateInfo):
19904        (WebKit::SurfaceUpdateInfo::SurfaceUpdateInfo):
19905        * Shared/SurfaceUpdateInfo.cpp: Removed.
19906        * Target.pri:
19907
199082013-01-24  Anders Carlsson  <andersca@apple.com>
19909
19910        More StorageAreaProxy cleanup
19911        https://bugs.webkit.org/show_bug.cgi?id=107870
19912
19913        Reviewed by Beth Dakin.
19914
19915        Remove some unnecessary 'WebCore::' qualifications, 
19916        and implement StorageNamespaceProxy::storageArea.
19917        
19918        * WebProcess/Storage/StorageAreaProxy.cpp:
19919        * WebProcess/Storage/StorageAreaProxy.h:
19920        * WebProcess/Storage/StorageNamespaceProxy.cpp:
19921
199222013-01-24  Sam Weinig  <sam@webkit.org>
19923
19924        Cleanup sandbox initialization a bit
19925        https://bugs.webkit.org/show_bug.cgi?id=107847
19926
19927        Reviewed by Alexey Proskuryakov.
19928
19929        * NetworkProcess/NetworkProcess.cpp:
19930        (WebKit::NetworkProcess::initializeSandbox):
19931        * NetworkProcess/NetworkProcess.h:
19932        * NetworkProcess/mac/NetworkProcessMac.mm:
19933        (WebKit::NetworkProcess::initializeSandbox):
19934        * PluginProcess/PluginProcess.h:
19935        * Shared/ChildProcess.cpp:
19936        (WebKit::ChildProcess::initialize):
19937        (WebKit::ChildProcess::initializeSandbox):
19938        * Shared/ChildProcess.h:
19939        (ChildProcess):
19940        * Shared/SandboxInitializationParameters.h:
19941        (SandboxInitializationParameters):
19942        (WebKit::SandboxInitializationParameters::mode):
19943        (WebKit::SandboxInitializationParameters::setOverrideSandboxProfilePath):
19944        (WebKit::SandboxInitializationParameters::overrideSandboxProfilePath):
19945        (WebKit::SandboxInitializationParameters::setSandboxProfile):
19946        (WebKit::SandboxInitializationParameters::sandboxProfile):
19947        (WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
19948        (WebKit::SandboxInitializationParameters::~SandboxInitializationParameters):
19949        * Shared/mac/ChildProcessMac.mm:
19950        (WebKit::ChildProcess::platformInitialize):
19951        (WebKit::ChildProcess::initializeSandbox):
19952        * Shared/mac/SandboxInitialiationParametersMac.mm:
19953        (WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
19954        * WebProcess/WebProcess.cpp:
19955        (WebKit::WebProcess::initializeSandbox):
19956        * WebProcess/WebProcess.h:
19957        * WebProcess/mac/WebProcessMac.mm:
19958        (WebKit::ChildProcess::initializeSandbox):
19959
199602013-01-24  Anders Carlsson  <andersca@apple.com>
19961
19962        Add stubbed out StorageAreaProxy class
19963        https://bugs.webkit.org/show_bug.cgi?id=107864
19964
19965        Reviewed by Beth Dakin.
19966
19967        * WebKit2.xcodeproj/project.pbxproj:
19968        * WebProcess/Storage/StorageAreaProxy.cpp: Added.
19969        * WebProcess/Storage/StorageAreaProxy.h: Added.
19970
199712013-01-24  Csaba Osztrogonác  <ossy@webkit.org>
19972
19973        Unreviewed trivial buildfix after r140711.
19974
19975        * DerivedSources.pri:
19976        * Target.pri:
19977
199782013-01-24  Mark Hahnenberg  <mhahnenberg@apple.com>
19979
19980        Objective-C API: Rename JSValue.h/APIJSValue.h to JSCJSValue.h/JSValue.h
19981        https://bugs.webkit.org/show_bug.cgi?id=107327
19982
19983        Reviewed by Filip Pizlo.
19984
19985        We're renaming these two files, so we have to replace the names everywhere.
19986
19987        * WebProcess/WebPage/WebPage.cpp:
19988
199892013-01-24  Dean Jackson  <dino@apple.com>
19990
19991        Allow some plugin snapshot UI content to come from Injected Bundle
19992        https://bugs.webkit.org/show_bug.cgi?id=107852
19993
19994        Reviewed by Anders Carlsson.
19995
19996        Hook up three new methods: plugInStartLabelTitle, plugInStartLabelSubtitle and
19997        plugInExtraStyleSheet to allow some custom styling and content to come
19998        from the InjectedBundle.
19999
20000        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Callbacks added to
20001        WKBundlePageUIClient structure.
20002        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Stub implementations
20003        of the three new methods.
20004        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
20005        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
20006        (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
20007        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
20008        (InjectedBundlePageUIClient):
20009        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Call into the injected bundle
20010        for each of these methods.
20011        (WebKit::WebChromeClient::plugInStartLabelTitle):
20012        (WebKit::WebChromeClient::plugInStartLabelSubtitle):
20013        (WebKit::WebChromeClient::plugInExtraStyleSheet):
20014        * WebProcess/WebCoreSupport/WebChromeClient.h:
20015        (WebChromeClient): Declare the virtual methods in the Chrome
20016        Client so that they can accessed from WebCore eventually.
20017
200182013-01-24  Anders Carlsson  <andersca@apple.com>
20019
20020        Add stubbed out StorageNamespaceProxy class
20021        https://bugs.webkit.org/show_bug.cgi?id=107846
20022
20023        Reviewed by Sam Weinig.
20024
20025        Add new class.
20026
20027        * WebKit2.xcodeproj/project.pbxproj:
20028        * WebProcess/Storage/StorageNamespaceProxy.cpp: Added.
20029        * WebProcess/Storage/StorageNamespaceProxy.h: Added.
20030
200312013-01-24  Anders Carlsson  <andersca@apple.com>
20032
20033        Move WebKeyValueStorageManager to WebProcess/Storage.
20034
20035        Rubber-stamped by Sam Weinig.
20036
20037        Try this again, with DerivedSources.make correctly updated this time.
20038
20039        * DerivedSources.make:
20040        * WebKit2.xcodeproj/project.pbxproj:
20041        * WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
20042        * WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
20043        * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
20044
200452013-01-24  Christophe Dumez  <christophe.dumez@intel.com>
20046
20047        [EFL][WK2] Use C API inside ewk_favicon_database
20048        https://bugs.webkit.org/show_bug.cgi?id=107680
20049
20050        Reviewed by Kenneth Rohde Christiansen.
20051
20052        Use C API inside ewk_favicon_database instead of
20053        accessible the C++ classes and violating layering.
20054        We still rely on some C++ methods but this will be
20055        addressed later since there is no equivalent in
20056        the C API and it will require more refactoring.
20057
20058        * UIProcess/API/efl/ewk_context.cpp:
20059        (EwkContext::ensureFaviconDatabase):
20060        * UIProcess/API/efl/ewk_favicon_database.cpp:
20061        (EwkFaviconDatabase::EwkFaviconDatabase):
20062        (EwkFaviconDatabase::~EwkFaviconDatabase):
20063        (EwkFaviconDatabase::iconURLForPageURL):
20064        (EwkFaviconDatabase::iconForPageURL):
20065        (EwkFaviconDatabase::getIconSurfaceSynchronously):
20066        (EwkFaviconDatabase::iconDataReadyForPageURL):
20067        (ewk_favicon_database_async_icon_get):
20068        * UIProcess/API/efl/ewk_favicon_database_private.h:
20069        (EwkFaviconDatabase::create):
20070        (EwkFaviconDatabase):
20071
200722013-01-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
20073
20074        [EFL][WK2] Rename EwkViewImpl class to EwkView
20075        https://bugs.webkit.org/show_bug.cgi?id=107719
20076
20077        Reviewed by Andreas Kling.
20078
20079        Rename EwkViewImpl class to EwkView, due to ewk view
20080        refactoring plan (https://bugs.webkit.org/show_bug.cgi?id=107662#c1).
20081
20082        * PlatformEfl.cmake:
20083        * UIProcess/API/C/efl/WKView.cpp:
20084        (WKViewCreate):
20085        (WKViewCreateWithFixedLayout):
20086        (WKViewGetPage):
20087        (WKViewCreateSnapshot):
20088        * UIProcess/API/efl/EwkView.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp.
20089        (pageViewMap):
20090        (EwkView::addToPageViewMap):
20091        (EwkView::removeFromPageViewMap):
20092        (EwkView::viewFromPageViewMap):
20093        (EwkView::EwkView):
20094        (EwkView::~EwkView):
20095        (EwkView::smartData):
20096        (EwkView::fromEvasObject):
20097        (EwkView::wkPage):
20098        (EwkView::setCursor):
20099        (EwkView::setDeviceScaleFactor):
20100        (EwkView::deviceScaleFactor):
20101        (EwkView::transformFromScene):
20102        (EwkView::transformToScene):
20103        (EwkView::transformToScreen):
20104        (EwkView::layerTreeRenderer):
20105        (EwkView::displayTimerFired):
20106        (EwkView::update):
20107        (EwkView::enterFullScreen):
20108        (EwkView::exitFullScreen):
20109        (EwkView::windowGeometry):
20110        (EwkView::setWindowGeometry):
20111        (EwkView::setImageData):
20112        (EwkView::size):
20113        (EwkView::isFocused):
20114        (EwkView::isVisible):
20115        (EwkView::title):
20116        (EwkView::inputMethodContext):
20117        (EwkView::themePath):
20118        (EwkView::setThemePath):
20119        (EwkView::customTextEncodingName):
20120        (EwkView::setCustomTextEncodingName):
20121        (EwkView::setMouseEventsEnabled):
20122        (EwkView::setTouchEventsEnabled):
20123        (EwkView::informIconChange):
20124        (EwkView::createGLSurface):
20125        (EwkView::enterAcceleratedCompositingMode):
20126        (EwkView::exitAcceleratedCompositingMode):
20127        (EwkView::requestColorPicker):
20128        (EwkView::dismissColorPicker):
20129        (EwkView::showContextMenu):
20130        (EwkView::hideContextMenu):
20131        (EwkView::requestPopupMenu):
20132        (EwkView::closePopupMenu):
20133        (EwkView::requestJSAlertPopup):
20134        (EwkView::requestJSConfirmPopup):
20135        (EwkView::requestJSPromptPopup):
20136        (EwkView::informDatabaseQuotaReached):
20137        (EwkView::informURLChange):
20138        (EwkView::windowFeatures):
20139        (EwkView::createNewPage):
20140        (EwkView::close):
20141        (EwkView::onMouseDown):
20142        (EwkView::onMouseUp):
20143        (EwkView::onMouseMove):
20144        (EwkView::feedTouchEvents):
20145        (EwkView::onTouchDown):
20146        (EwkView::onTouchUp):
20147        (EwkView::onTouchMove):
20148        (EwkView::onFaviconChanged):
20149        (EwkView::takeSnapshot):
20150        * UIProcess/API/efl/EwkView.h: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h.
20151        (WebKit):
20152        (WebCore):
20153        (EwkView):
20154        (EwkView::view):
20155        (EwkView::page):
20156        (EwkView::ewkContext):
20157        (EwkView::settings):
20158        (EwkView::backForwardList):
20159        (EwkView::url):
20160        (EwkView::faviconURL):
20161        (EwkView::mouseEventsEnabled):
20162        (EwkView::touchEventsEnabled):
20163        (EwkView::setNeedsSurfaceResize):
20164        (EwkView::smartCallback):
20165        (EwkView::pageClient):
20166        (EwkView::setPageScaleFactor):
20167        (EwkView::pageScaleFactor):
20168        (EwkView::setPagePosition):
20169        (EwkView::pagePosition):
20170        (EwkView::isHardwareAccelerated):
20171        (EwkView::setDrawsBackground):
20172        (EwkView::evasGLContext):
20173        (EwkView::evasGLSurface):
20174        * UIProcess/API/efl/ewk_context_menu.cpp:
20175        (EwkContextMenu::EwkContextMenu):
20176        * UIProcess/API/efl/ewk_context_menu_private.h:
20177        (EwkContextMenu::create):
20178        (EwkContextMenu):
20179        * UIProcess/API/efl/ewk_download_job.cpp:
20180        (EwkDownloadJob::EwkDownloadJob):
20181        (EwkDownloadJob::view):
20182        * UIProcess/API/efl/ewk_download_job_private.h:
20183        (EwkDownloadJob::create):
20184        (EwkDownloadJob):
20185        * UIProcess/API/efl/ewk_popup_menu.cpp:
20186        (EwkPopupMenu::EwkPopupMenu):
20187        (EwkPopupMenu::close):
20188        * UIProcess/API/efl/ewk_popup_menu_private.h:
20189        (EwkPopupMenu::create):
20190        (EwkPopupMenu):
20191        * UIProcess/API/efl/ewk_settings.cpp:
20192        (EwkSettings::preferences):
20193        * UIProcess/API/efl/ewk_settings_private.h:
20194        (EwkSettings::create):
20195        (EwkSettings::EwkSettings):
20196        (EwkSettings):
20197        * UIProcess/API/efl/ewk_view.cpp:
20198        (createEwkView):
20199        (ewk_view_base_add):
20200        * UIProcess/API/efl/ewk_view.h:
20201        * UIProcess/API/efl/ewk_view_private.h:
20202        * UIProcess/API/efl/ewk_window_features.cpp:
20203        (EwkWindowFeatures::EwkWindowFeatures):
20204        (EwkWindowFeatures::setToolbarVisible):
20205        (EwkWindowFeatures::setStatusBarVisible):
20206        (EwkWindowFeatures::setMenuBarVisible):
20207        (EwkWindowFeatures::setResizable):
20208        * UIProcess/API/efl/ewk_window_features_private.h:
20209        (EwkWindowFeatures::create):
20210        (EwkWindowFeatures):
20211        * UIProcess/cairo/BackingStoreCairo.cpp:
20212        (WebKit::BackingStore::incorporateUpdate):
20213        * UIProcess/efl/ContextHistoryClientEfl.cpp:
20214        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
20215        (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
20216        (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
20217        (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
20218        * UIProcess/efl/ContextMenuClientEfl.cpp:
20219        (ContextMenuClientEfl::ContextMenuClientEfl):
20220        * UIProcess/efl/ContextMenuClientEfl.h:
20221        (WebKit::ContextMenuClientEfl::create):
20222        (ContextMenuClientEfl):
20223        * UIProcess/efl/DownloadManagerEfl.cpp:
20224        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
20225        (WebKit::DownloadManagerEfl::didFail):
20226        (WebKit::DownloadManagerEfl::didCancel):
20227        (WebKit::DownloadManagerEfl::didFinish):
20228        (WebKit::DownloadManagerEfl::registerDownload):
20229        * UIProcess/efl/DownloadManagerEfl.h:
20230        (DownloadManagerEfl):
20231        * UIProcess/efl/FindClientEfl.cpp:
20232        (WebKit::FindClientEfl::didFindString):
20233        (WebKit::FindClientEfl::didFailToFindString):
20234        (WebKit::FindClientEfl::FindClientEfl):
20235        * UIProcess/efl/FindClientEfl.h:
20236        (WebKit::FindClientEfl::create):
20237        (FindClientEfl):
20238        * UIProcess/efl/FormClientEfl.cpp:
20239        (WebKit::FormClientEfl::willSubmitForm):
20240        (WebKit::FormClientEfl::FormClientEfl):
20241        * UIProcess/efl/FormClientEfl.h:
20242        (WebKit::FormClientEfl::create):
20243        (FormClientEfl):
20244        * UIProcess/efl/InputMethodContextEfl.cpp:
20245        (WebKit::InputMethodContextEfl::InputMethodContextEfl):
20246        (WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
20247        (WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
20248        (WebKit::InputMethodContextEfl::updateTextInputState):
20249        * UIProcess/efl/InputMethodContextEfl.h:
20250        (WebKit::InputMethodContextEfl::create):
20251        (InputMethodContextEfl):
20252        * UIProcess/efl/PageClientBase.cpp:
20253        (WebKit::PageClientBase::PageClientBase):
20254        (WebKit::PageClientBase::view):
20255        (WebKit::PageClientBase::createDrawingAreaProxy):
20256        (WebKit::PageClientBase::setViewNeedsDisplay):
20257        (WebKit::PageClientBase::viewSize):
20258        (WebKit::PageClientBase::isViewFocused):
20259        (WebKit::PageClientBase::isViewVisible):
20260        (WebKit::PageClientBase::processDidCrash):
20261        (WebKit::PageClientBase::didRelaunchProcess):
20262        (WebKit::PageClientBase::toolTipChanged):
20263        (WebKit::PageClientBase::setCursor):
20264        (WebKit::PageClientBase::createPopupMenuProxy):
20265        (WebKit::PageClientBase::createContextMenuProxy):
20266        (WebKit::PageClientBase::enterAcceleratedCompositingMode):
20267        (WebKit::PageClientBase::exitAcceleratedCompositingMode):
20268        (WebKit::PageClientBase::updateTextInputState):
20269        (WebKit::PageClientBase::handleDownloadRequest):
20270        * UIProcess/efl/PageClientBase.h:
20271        (PageClientBase):
20272        * UIProcess/efl/PageClientDefaultImpl.cpp:
20273        (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
20274        (WebKit::PageClientDefaultImpl::updateViewportSize):
20275        (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
20276        (WebKit::PageClientDefaultImpl::convertToUserSpace):
20277        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
20278        * UIProcess/efl/PageClientDefaultImpl.h:
20279        (WebKit::PageClientDefaultImpl::create):
20280        (PageClientDefaultImpl):
20281        * UIProcess/efl/PageClientLegacyImpl.cpp:
20282        (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
20283        (WebKit::PageClientLegacyImpl::didCommitLoad):
20284        (WebKit::PageClientLegacyImpl::updateViewportSize):
20285        (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
20286        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
20287        (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
20288        (WebKit::PageClientLegacyImpl::didRenderFrame):
20289        (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
20290        * UIProcess/efl/PageClientLegacyImpl.h:
20291        (WebKit::PageClientLegacyImpl::create):
20292        (PageClientLegacyImpl):
20293        * UIProcess/efl/PageLoadClientEfl.cpp:
20294        (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
20295        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
20296        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
20297        (WebKit::PageLoadClientEfl::didChangeProgress):
20298        (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
20299        (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
20300        (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
20301        (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
20302        (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
20303        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
20304        (WebKit::PageLoadClientEfl::didChangeBackForwardList):
20305        (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
20306        (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
20307        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
20308        * UIProcess/efl/PageLoadClientEfl.h:
20309        (WebKit::PageLoadClientEfl::create):
20310        (PageLoadClientEfl):
20311        (WebKit::PageLoadClientEfl::view):
20312        * UIProcess/efl/PagePolicyClientEfl.cpp:
20313        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
20314        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
20315        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
20316        * UIProcess/efl/PagePolicyClientEfl.h:
20317        (WebKit::PagePolicyClientEfl::create):
20318        (PagePolicyClientEfl):
20319        * UIProcess/efl/PageUIClientEfl.cpp:
20320        (WebKit::PageUIClientEfl::PageUIClientEfl):
20321        (WebKit::PageUIClientEfl::close):
20322        (WebKit::PageUIClientEfl::takeFocus):
20323        (WebKit::PageUIClientEfl::focus):
20324        (WebKit::PageUIClientEfl::unfocus):
20325        (WebKit::PageUIClientEfl::runJavaScriptAlert):
20326        (WebKit::PageUIClientEfl::runJavaScriptConfirm):
20327        (WebKit::PageUIClientEfl::runJavaScriptPrompt):
20328        (WebKit::PageUIClientEfl::toolbarsAreVisible):
20329        (WebKit::PageUIClientEfl::setToolbarsAreVisible):
20330        (WebKit::PageUIClientEfl::menuBarIsVisible):
20331        (WebKit::PageUIClientEfl::setMenuBarIsVisible):
20332        (WebKit::PageUIClientEfl::statusBarIsVisible):
20333        (WebKit::PageUIClientEfl::setStatusBarIsVisible):
20334        (WebKit::PageUIClientEfl::isResizable):
20335        (WebKit::PageUIClientEfl::setIsResizable):
20336        (WebKit::PageUIClientEfl::getWindowFrame):
20337        (WebKit::PageUIClientEfl::setWindowFrame):
20338        (WebKit::PageUIClientEfl::exceededDatabaseQuota):
20339        (WebKit::PageUIClientEfl::runOpenPanel):
20340        (WebKit::PageUIClientEfl::createNewPage):
20341        (WebKit::PageUIClientEfl::showColorPicker):
20342        (WebKit::PageUIClientEfl::hideColorPicker):
20343        * UIProcess/efl/PageUIClientEfl.h:
20344        (WebKit::PageUIClientEfl::create):
20345        (PageUIClientEfl):
20346        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
20347        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
20348        (WebKit::PageViewportControllerClientEfl::drawingArea):
20349        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
20350        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
20351        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
20352        (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
20353        (WebKit::PageViewportControllerClientEfl::didResumeContent):
20354        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
20355        * UIProcess/efl/PageViewportControllerClientEfl.h:
20356        (WebKit::PageViewportControllerClientEfl::create):
20357        (PageViewportControllerClientEfl):
20358        * UIProcess/efl/VibrationClientEfl.cpp:
20359        (VibrationClientEfl::vibrateCallback):
20360        (VibrationClientEfl::cancelVibrationCallback):
20361        (VibrationClientEfl::create):
20362        (VibrationClientEfl::VibrationClientEfl):
20363        (VibrationClientEfl::~VibrationClientEfl):
20364        * UIProcess/efl/VibrationClientEfl.h:
20365        (VibrationClientEfl):
20366        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
20367        (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
20368        (WebKit::WebContextMenuProxyEfl::showContextMenu):
20369        (WebKit::WebContextMenuProxyEfl::hideContextMenu):
20370        * UIProcess/efl/WebContextMenuProxyEfl.h:
20371        (WebKit::WebContextMenuProxyEfl::create):
20372        (WebContextMenuProxyEfl):
20373        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
20374        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
20375        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
20376        * UIProcess/efl/WebInspectorProxyEfl.cpp:
20377        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
20378        * UIProcess/efl/WebPageProxyEfl.cpp:
20379        (WebKit::WebPageProxy::viewWidget):
20380        * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
20381        (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
20382        (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
20383        (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
20384        * UIProcess/efl/WebPopupMenuProxyEfl.h:
20385        (WebKit::WebPopupMenuProxyEfl::create):
20386        (WebPopupMenuProxyEfl):
20387
203882013-01-24  Andras Becsi  <andras.becsi@digia.com>
20389
20390        Remove nonexistent header from WebKit2/Target.pri
20391
20392        Unreviewed cleanup after r139919.
20393
20394        * Target.pri:
20395
203962013-01-24  Michael Brüning  <michael.bruning@digia.com>
20397
20398        [Qt][WK2] Pages / resources cannot be loaded from qrc files.
20399        https://bugs.webkit.org/show_bug.cgi?id=107031
20400
20401        Reviewed by Jocelyn Turcotte.
20402
20403        Enables WebKit2 Qt applications to load files from the bundled
20404        qrc files. This is achieved by adding a url scheme handler for
20405        the "qrc" scheme using the application scheme handler and ignoring
20406        all handlers for the qrc application scheme that the application might
20407        set.
20408
20409        * UIProcess/API/qt/qquickurlschemedelegate.cpp:
20410        (QQuickQrcSchemeDelegate::QQuickQrcSchemeDelegate):
20411        (QQuickQrcSchemeDelegate::readResourceAndSend):
20412        * UIProcess/API/qt/qquickurlschemedelegate_p.h:
20413        (QQuickQrcSchemeDelegate):
20414        * UIProcess/API/qt/qquickwebview.cpp:
20415        (QQuickWebViewPrivate::initialize):
20416        (QQuickWebViewExperimental::schemeDelegates_Append):
20417        (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
20418        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
20419        * UIProcess/API/qt/tests/qmltests/common/qrctest.html: Added.
20420        * UIProcess/API/qt/tests/qmltests/resources.qrc:
20421
204222013-01-24  Krzysztof Czech  <k.czech@samsung.com>
20423
20424        [EFL][WK2] Expose accessibility hierarchy in WebKit2-EFL.
20425        https://bugs.webkit.org/show_bug.cgi?id=106216
20426
20427        Reviewed by Andreas Kling.
20428
20429        Create WebPage's accessibility object on WebPage initialization.
20430        Wrap around WebCore's accessibility objects.
20431        Updating accessibility hierarchy. Expands accessibility implementation
20432        of WebKit-GTK to be used in EFL.
20433
20434        * PlatformEfl.cmake:
20435        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20436        (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
20437        * WebProcess/WebPage/WebPage.h:
20438        (WebPage):
20439        * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
20440        (webPageAccessibilityObjectGetIndexInParent):
20441        (web_page_accessibility_object_init):
20442        * WebProcess/WebPage/efl/WebPageEfl.cpp:
20443        (WebKit::WebPage::platformInitialize):
20444        (WebKit):
20445        (WebKit::WebPage::updateAccessibilityTree):
20446
204472013-01-23  Seokju Kwon  <seokju.kwon@gmail.com>
20448
20449        [EFL] Unreviewed build fix after r140605
20450        https://bugs.webkit.org/show_bug.cgi?id=107787
20451
20452        Unreviewed build fix.
20453
20454        Build break after r140605.
20455
20456        * UIProcess/WebBatteryManagerProxy.cpp:
20457        * UIProcess/WebBatteryManagerProxy.h:
20458        (WebBatteryManagerProxy):
20459        * UIProcess/WebNetworkInfoManagerProxy.cpp:
20460        * UIProcess/WebNetworkInfoManagerProxy.h:
20461        (WebNetworkInfoManagerProxy):
20462        * UIProcess/WebVibrationProxy.cpp:
20463        * UIProcess/WebVibrationProxy.h:
20464        (WebVibrationProxy):
20465        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
20466        * UIProcess/soup/WebSoupRequestManagerProxy.h:
20467        (WebSoupRequestManagerProxy):
20468        * WebProcess/Battery/WebBatteryManager.cpp:
20469        * WebProcess/Battery/WebBatteryManager.h:
20470        (WebBatteryManager):
20471        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
20472        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
20473        (WebNetworkInfoManager):
20474        * WebProcess/soup/WebSoupRequestManager.cpp:
20475        * WebProcess/soup/WebSoupRequestManager.h:
20476        (WebSoupRequestManager):
20477
204782013-01-23  Sam Weinig  <sam@webkit.org>
20479
20480        Cleanup the names of the WebKit2 xpc services
20481        https://bugs.webkit.org/show_bug.cgi?id=107759
20482
20483        Reviewed by Anders Carlsson.
20484
20485        Renames:
20486            com.apple.WebKit2.WebProcessService -> com.apple.WebKit.WebContent
20487            com.apple.WebKit2.WebProcessServiceForWebKitDevelopment -> com.apple.WebKit.WebContent.Development
20488
20489        * Configurations/BaseXPCService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
20490        * Configurations/WebContentService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
20491        * Configurations/WebContentServiceForDevelopment.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessServiceForWebKitDevelopment.xcconfig.
20492        * Configurations/WebProcessService.xcconfig: Removed.
20493        * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Removed.
20494        Rename config files to match new service names and add base config.
20495
20496        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
20497        (WebKit::connectToWebProcessServiceForWebKitDevelopment):
20498        (WebKit::createWebProcessServiceForWebKitDevelopment):
20499        (WebKit::createWebProcessService):
20500        * WebKit2.xcodeproj/project.pbxproj:
20501        * WebKit2Service: Removed.
20502        * WebProcessService/Info.plist:
20503        * WebProcessServiceForWebKitDevelopment/Info.plist:
20504        Update for new names.
20505
205062013-01-23  Seulgi Kim  <seulgikim@company100.net>
20507
20508        Coordinated Graphics : Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.
20509        https://bugs.webkit.org/show_bug.cgi?id=107625
20510
20511        Reviewed by Benjamin Poulain.
20512
20513        Currently, the number of messages sent by CoordinatedLayerTreeHost is
20514        equal to the number of layers created/deleted even though they requested
20515        in the same cycle.
20516        It's not good since CoreIPC creates functional before sending messages,
20517        and CoordinatedLayerTreeHostProxy creates functional before
20518        create/delete layers.
20519
20520        This patch makes CoordinatedLayerTreeHost send just one
20521        CreateCompositingLayers message and CoordinatedLayerTreeHostProxy create
20522        just one functional in a cycle. The same work has been done with
20523        DeleteCompositingLayers message.
20524
20525        This patch will reduce the number of calls to Functional and number of
20526        IPC messages by sending the created/deleted layers in a vector.
20527
20528        No new tests, no change in behavior.
20529
20530        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
20531        (WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayers):
20532        (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayers):
20533        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
20534        (CoordinatedLayerTreeHostProxy):
20535        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
20536        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
20537        (WebKit::LayerTreeRenderer::createLayers):
20538        (WebKit):
20539        (WebKit::LayerTreeRenderer::deleteLayers):
20540        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
20541        (LayerTreeRenderer):
20542        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
20543        (WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
20544        (WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
20545
205462013-01-23  Huang Dongsung  <luxtella@company100.net>
20547
20548        Coordinated Graphics: Add LegacyReceiver to messages.in files.
20549        https://bugs.webkit.org/show_bug.cgi?id=107760
20550
20551        Reviewed by Anders Carlsson.
20552
20553        After r140605, LegacyReceiver attribute is needed to use recevier specific
20554        memeber functions.
20555
20556        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
20557        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
20558
205592013-01-23  Sheriff Bot  <webkit.review.bot@gmail.com>
20560
20561        Unreviewed, rolling out r140612.
20562        http://trac.webkit.org/changeset/140612
20563        https://bugs.webkit.org/show_bug.cgi?id=107768
20564
20565         broke the build (Requested by smfr on #webkit).
20566
20567        * WebKit2.xcodeproj/project.pbxproj:
20568        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.cpp.
20569        (WebKit):
20570        (WebKit::WebKeyValueStorageManager::supplementName):
20571        (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
20572        (WebKit::WebKeyValueStorageManager::initialize):
20573        (WebKit::keyValueStorageOriginIdentifiers):
20574        (WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
20575        (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
20576        (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
20577        (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
20578        (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
20579        (WebKit::WebKeyValueStorageManager::deleteAllEntries):
20580        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.h.
20581        (WebKit):
20582        (WebKeyValueStorageManager):
20583        (WebKit::WebKeyValueStorageManager::localStorageDirectory):
20584        (WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
20585        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.messages.in.
20586
205872013-01-23  Ian Vollick  <vollick@chromium.org>
20588
20589        Introduce the "stacking container" concept.
20590        https://bugs.webkit.org/show_bug.cgi?id=107734
20591
20592        Reviewed by Simon Fraser.
20593
20594        A stacking container is treated just like a stacking context. That
20595        is, it has z-order lists, it and its descendants are stacked as a
20596        unit, and when the RenderLayerCompositor does its overlap testing,
20597        the composited regions for all layer lists take effect only once the
20598        stacking container is done being processed.
20599
20600        This patch also adds the function RenderLayer::isStackingContainer().
20601        Currently, this is equivalent to RenderLayer::isStackingContext(),
20602        but in future, the definition of stacking container will be broadened
20603        to encompass more than just stacking contexts.
20604
20605        Other than the addition of this extra function, the patch is mostly
20606        comprised of name changes. Any code that used to refer to the
20607        stacking context concept, but didn't necessarily require a stacking
20608        context in the strict, CSS-sense, was switched to refer to stacking
20609        container. No functionality was changed.
20610
20611        No new tests, no change in functionality.
20612
20613        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
20614        (WebKit::updateOffsetFromViewportForSelf):
20615
206162013-01-23  Anders Carlsson  <andersca@apple.com>
20617
20618        Move Move WebKeyValueStorageManager to WebProcess/Storage.
20619
20620        Rubber-stamped by Sam Weinig.
20621
20622        * WebKit2.xcodeproj/project.pbxproj:
20623        * WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
20624        * WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
20625        * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
20626
206272013-01-23  Anders Carlsson  <andersca@apple.com>
20628
20629        Remove LegacyReceiver from a couple of .messages.in files
20630        https://bugs.webkit.org/show_bug.cgi?id=107749
20631
20632        Reviewed by Beth Dakin.
20633
20634        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
20635        (WebKit):
20636        * UIProcess/Notifications/WebNotificationManagerProxy.h:
20637        (WebNotificationManagerProxy):
20638        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
20639        * UIProcess/WebGeolocationManagerProxy.cpp:
20640        * UIProcess/WebGeolocationManagerProxy.h:
20641        (WebGeolocationManagerProxy):
20642        * UIProcess/WebGeolocationManagerProxy.messages.in:
20643        * UIProcess/WebIconDatabase.cpp:
20644        * UIProcess/WebIconDatabase.h:
20645        (WebIconDatabase):
20646        * UIProcess/WebIconDatabase.messages.in:
20647        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
20648        * UIProcess/WebKeyValueStorageManagerProxy.h:
20649        (WebKeyValueStorageManagerProxy):
20650        * UIProcess/WebKeyValueStorageManagerProxy.messages.in:
20651        * UIProcess/WebMediaCacheManagerProxy.cpp:
20652        * UIProcess/WebMediaCacheManagerProxy.h:
20653        (WebMediaCacheManagerProxy):
20654        * UIProcess/WebMediaCacheManagerProxy.messages.in:
20655        * UIProcess/WebResourceCacheManagerProxy.cpp:
20656        * UIProcess/WebResourceCacheManagerProxy.h:
20657        (WebResourceCacheManagerProxy):
20658        * UIProcess/WebResourceCacheManagerProxy.messages.in:
20659        * WebProcess/Geolocation/WebGeolocationManager.cpp:
20660        * WebProcess/Geolocation/WebGeolocationManager.h:
20661        (WebGeolocationManager):
20662        * WebProcess/Geolocation/WebGeolocationManager.messages.in:
20663        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
20664        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
20665        (WebIconDatabaseProxy):
20666        * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
20667        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
20668        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
20669        (WebKeyValueStorageManager):
20670        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
20671        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
20672        * WebProcess/MediaCache/WebMediaCacheManager.h:
20673        (WebMediaCacheManager):
20674        * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
20675        * WebProcess/Notifications/WebNotificationManager.cpp:
20676        * WebProcess/Notifications/WebNotificationManager.h:
20677        (WebNotificationManager):
20678        * WebProcess/Notifications/WebNotificationManager.messages.in:
20679        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
20680        * WebProcess/ResourceCache/WebResourceCacheManager.h:
20681        (WebResourceCacheManager):
20682        * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
20683        * WebProcess/WebPage/WebPageGroupProxy.cpp:
20684        (WebKit):
20685        * WebProcess/WebPage/WebPageGroupProxy.h:
20686        (WebPageGroupProxy):
20687        * WebProcess/WebPage/WebPageGroupProxy.messages.in:
20688
206892013-01-23  Anders Carlsson  <andersca@apple.com>
20690
20691        Message receiver generation should work in terms of MessageReceiver objects
20692        https://bugs.webkit.org/show_bug.cgi?id=107742
20693
20694        Reviewed by Beth Dakin.
20695
20696        The generated message receiver code should generate the MessageReceiver
20697        member functions didReceiveMessage and didReceiveSyncMessage instead of
20698        receiver specific member functions.
20699
20700        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
20701        * NetworkProcess/NetworkProcess.messages.in:
20702        * NetworkProcess/NetworkResourceLoader.messages.in:
20703        * PluginProcess/PluginControllerProxy.messages.in:
20704        * PluginProcess/PluginProcess.messages.in:
20705        * PluginProcess/WebProcessConnection.messages.in:
20706        * Scripts/webkit2/messages.py:
20707        (generate_message_handler):
20708        * Scripts/webkit2/messages_unittest.py:
20709        * Scripts/webkit2/model.py:
20710        (MessageReceiver.__init__):
20711        (MessageReceiver.has_attribute):
20712        * Scripts/webkit2/parser.py:
20713        (parse):
20714        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
20715        * Shared/Plugins/NPObjectMessageReceiver.messages.in:
20716        * Shared/WebConnection.messages.in:
20717        * Shared/mac/SecItemShim.messages.in:
20718        * SharedWorkerProcess/SharedWorkerProcess.messages.in:
20719        * UIProcess/Downloads/DownloadProxy.messages.in:
20720        * UIProcess/DrawingAreaProxy.messages.in:
20721        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
20722        * UIProcess/Network/NetworkProcessProxy.messages.in:
20723        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
20724        * UIProcess/Plugins/PluginProcessProxy.messages.in:
20725        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
20726        * UIProcess/WebApplicationCacheManagerProxy.messages.in:
20727        * UIProcess/WebContext.messages.in:
20728        * UIProcess/WebCookieManagerProxy.messages.in:
20729        * UIProcess/WebDatabaseManagerProxy.messages.in:
20730        * UIProcess/WebFullScreenManagerProxy.messages.in:
20731        * UIProcess/WebGeolocationManagerProxy.messages.in:
20732        * UIProcess/WebIconDatabase.messages.in:
20733        * UIProcess/WebInspectorProxy.messages.in:
20734        * UIProcess/WebKeyValueStorageManagerProxy.messages.in:
20735        * UIProcess/WebMediaCacheManagerProxy.messages.in:
20736        * UIProcess/WebPageProxy.messages.in:
20737        * UIProcess/WebProcessProxy.messages.in:
20738        * UIProcess/WebResourceCacheManagerProxy.messages.in:
20739        * UIProcess/mac/RemoteLayerTreeHost.messages.in:
20740        * UIProcess/mac/SecItemShimProxy.messages.in:
20741        * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
20742        * WebProcess/Authentication/AuthenticationManager.h:
20743        * WebProcess/Authentication/AuthenticationManager.messages.in:
20744        * WebProcess/Cookies/WebCookieManager.messages.in:
20745        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
20746        * WebProcess/Geolocation/WebGeolocationManager.messages.in:
20747        * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
20748        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
20749        * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
20750        * WebProcess/Network/NetworkProcessConnection.messages.in:
20751        * WebProcess/Network/WebResourceLoader.messages.in:
20752        * WebProcess/Notifications/WebNotificationManager.messages.in:
20753        * WebProcess/Plugins/PluginProcessConnection.messages.in:
20754        * WebProcess/Plugins/PluginProxy.messages.in:
20755        * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
20756        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
20757        * WebProcess/WebPage/DrawingArea.messages.in:
20758        * WebProcess/WebPage/EventDispatcher.messages.in:
20759        * WebProcess/WebPage/WebInspector.messages.in:
20760        * WebProcess/WebPage/WebPage.messages.in:
20761        * WebProcess/WebPage/WebPageGroupProxy.messages.in:
20762        * WebProcess/WebProcess.messages.in:
20763
207642013-01-23  Huang Dongsung  <luxtella@company100.net>
20765
20766        Coordinated Graphics: remove CoordinatedLayerInfo::encode/decode.
20767        https://bugs.webkit.org/show_bug.cgi?id=107644
20768
20769        Reviewed by Anders Carlsson.
20770
20771        We want to remove the dependency on CoreIPC from CoordinatedLayerInfo because we
20772        will extract Coordinated Graphics from WK2.
20773
20774        * CMakeLists.txt:
20775        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
20776        (CoreIPC::::encode):
20777        (CoreIPC):
20778        (CoreIPC::::decode):
20779        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
20780        (WebKit):
20781        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Removed.
20782        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
20783        * Target.pri:
20784
207852013-01-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20786
20787        [WK2] Replace some internal API usage in EwkView with C API
20788        https://bugs.webkit.org/show_bug.cgi?id=107652
20789
20790        Reviewed by Benjamin Poulain.
20791
20792        * UIProcess/API/efl/ewk_view.cpp:
20793        (ewk_view_url_set):
20794        (ewk_view_reload):
20795        (ewk_view_reload_bypass_cache):
20796        (ewk_view_stop):
20797        (ewk_view_load_progress_get):
20798        (ewk_view_scale_set):
20799        (ewk_view_scale_get):
20800        (ewk_view_device_pixel_ratio_get):
20801        (ewk_view_back):
20802        (ewk_view_forward):
20803        (ewk_view_back_possible):
20804        (ewk_view_forward_possible):
20805        (ewk_view_html_string_load):
20806        (ewk_view_text_find):
20807        (ewk_view_text_find_highlight_clear):
20808        (ewk_view_text_matches_count):
20809        (ewk_view_inspector_show):
20810        (ewk_view_inspector_close):
20811
208122013-01-23  Alexey Proskuryakov  <ap@apple.com>
20813
20814        Build fix.
20815
20816        * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
20817        Copy/paste trouble fix.
20818
208192013-01-23  Alexey Proskuryakov  <ap@apple.com>
20820
20821        <rdar://problem/13064414> REGRESSION(r139514): didFailToSendSyncMessage is not called by Connection
20822        https://bugs.webkit.org/show_bug.cgi?id=107715
20823
20824        Reviewed by Anders Carlsson.
20825
20826        * Platform/CoreIPC/Connection.cpp:
20827        (CoreIPC::Connection::sendSyncMessage):
20828        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
20829        Correcting a misapplied edit - didFailToSendSyncMessage should be kept in main
20830        thread message sending, not in secondary thread.
20831
208322013-01-23  Brady Eidson  <beidson@apple.com>
20833
20834        Recursion handling cancelled authentication challenges in NetworkProcess
20835        <rdar://problem/13024541> and https://bugs.webkit.org/show_bug.cgi?id=107702
20836
20837        Reviewed by Alexey Proskuryakov.
20838
20839        This turned in to both a bug fix with authentication and a minimal refactoring of NetworkResourceLoader.
20840
20841        - Rename ::stop to ::resourceHandleStopped
20842        - Move all cleanup code to ::resourceHandleStopped
20843        - Schedule a resourceHandleStopped call when an authentication cancellation occurs
20844        - Tell the WebResourceLoader to cancel when an authentication cancellation occurs
20845
20846        * NetworkProcess/NetworkResourceLoader.cpp:
20847        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
20848        (WebKit::NetworkResourceLoader::start):
20849        (WebKit::NetworkResourceLoader::performStops):
20850        (WebKit::NetworkResourceLoader::resourceHandleStopped):
20851        (WebKit::NetworkResourceLoader::didFail):
20852        (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
20853        * NetworkProcess/NetworkResourceLoader.h:
20854
20855        * WebProcess/Network/WebResourceLoader.cpp:
20856        (WebKit::WebResourceLoader::cancelResourceLoader):
20857        * WebProcess/Network/WebResourceLoader.h:
20858        * WebProcess/Network/WebResourceLoader.messages.in:
20859
208602013-01-23  Christophe Dumez  <christophe.dumez@intel.com>
20861
20862        [EFL][WK2] Use C API inside ewk_cookie_manager
20863        https://bugs.webkit.org/show_bug.cgi?id=107661
20864
20865        Reviewed by Alexey Proskuryakov.
20866
20867        Use C API inside ewk_cookie_manager instead of
20868        accessing C++ classes directly and violating
20869        layering.
20870
20871        * PlatformEfl.cmake:
20872        * UIProcess/API/C/soup/WKCookieManagerSoup.cpp: Added.
20873        (toSoupCookiePersistentStorageType):
20874        (WKCookieManagerSetCookiePersistentStorage): Add C API for setting
20875        the persistent storage path and type when using libsoup.
20876        * UIProcess/API/C/soup/WKCookieManagerSoup.h: Added.
20877        * UIProcess/API/efl/ewk_context.cpp:
20878        (EwkContext::cookieManager):
20879        * UIProcess/API/efl/ewk_cookie_manager.cpp:
20880        (EwkCookieManager::EwkCookieManager):
20881        (EwkCookieManager::~EwkCookieManager):
20882        (EwkCookieManager::setPersistentStorage):
20883        (EwkCookieManager::setHTTPAcceptPolicy):
20884        (EwkCookieManager::clearHostnameCookies):
20885        (EwkCookieManager::clearAllCookies):
20886        (EwkCookieManager::watchChanges):
20887        (EwkCookieManager::getHostNamesWithCookies):
20888        (EwkCookieManager::getHTTPAcceptPolicy):
20889        (ewk_cookie_manager_persistent_storage_set):
20890        (ewk_cookie_manager_hostname_cookies_clear):
20891        * UIProcess/API/efl/ewk_cookie_manager_private.h:
20892        (EwkCookieManager::create):
20893        (EwkCookieManager):
20894
208952013-01-22  Anders Carlsson  <andersca@apple.com>
20896
20897        Use a platforom strategy for local storage
20898        https://bugs.webkit.org/show_bug.cgi?id=107600
20899
20900        Reviewed by Andreas Kling.
20901
20902        Update for new storage strategy.
20903
20904        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
20905        (WebKit::WebPlatformStrategies::createStorageStrategy):
20906        (WebKit):
20907        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
20908        (WebPlatformStrategies):
20909
209102013-01-21  Kentaro Hara  <haraken@chromium.org>
20911
20912        Implement UIEvent constructor
20913        https://bugs.webkit.org/show_bug.cgi?id=107430
20914
20915        Reviewed by Adam Barth.
20916
20917        Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
20918
20919        UIEvent constructor is implemented under a DOM4_EVENTS_CONSTRUCTOR flag,
20920        which is enabled on Safari and Chromium for now.
20921
20922        * Configurations/FeatureDefines.xcconfig:
20923
209242013-01-22  Alexey Proskuryakov  <ap@apple.com>
20925
20926        Move sandbox initialization to ChildProcess
20927        https://bugs.webkit.org/show_bug.cgi?id=107486
20928
20929        Reviewed by Sam Weinig.
20930
20931        * NetworkProcess/NetworkProcess.h:
20932        * NetworkProcess/NetworkProcess.cpp:
20933        (WebKit::NetworkProcess::initializeSandbox): Removed. We no longer need this function
20934        to be implemented in each process type.
20935
20936        * NetworkProcess/mac/NetworkProcessMac.mm:
20937        (WebKit::initializeSandbox): Removed a custom (and incomplete) implementation.
20938        (WebKit::NetworkProcess::processUpdateSandboxInitializationParameters): Clear
20939        sandbox profile path in parameters, telling ChildProcess to not enter a sandbox.
20940
20941        * PluginProcess/PluginProcess.h:
20942        * PluginProcess/mac/PluginProcessMac.mm:
20943        Added FIXMEs, saying that we should switch to ChildProcess implementation.
20944
20945        * Shared/ChildProcess.cpp: Dummy implementations for other platforms.
20946
20947        * Shared/ChildProcess.h: Added processUpdateSandboxInitializationParameters, which
20948        child processes will override to change sandbox initialization parameters.
20949
20950        * Shared/SandboxInitializationParameters.h: Added.
20951        * Shared/mac/SandboxInitialiationParametersMac.mm: Added.
20952        Abstracts out sandbox parameter vector for coding safety. Encapsulates other
20953        things that subclasses will want to do differently.
20954
20955        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
20956        Added a shared implementation, based largely on WebProcess version.
20957
20958        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Removed custom sandboxing code.
20959
20960        * WebKit2.xcodeproj/project.pbxproj: Added SandboxInitializationParameters files.
20961
20962        * WebProcess/WebProcess.cpp:
20963        * WebProcess/WebProcess.h:
20964        Updated dummy implementations to match ChildProcess.
20965
20966        * WebProcess/mac/WebProcessMac.mm:
20967        (WebKit): Moved sandboxing code to ChildProcess.
20968        (WebKit::WebProcess::processUpdateSandboxInitializationParameters): Override
20969        profile path, because default one doesn't work for WebProcessService.
20970
209712013-01-22  Joseph Pecoraro  <pecoraro@apple.com>
20972
20973        [Mac] Enable Page Visibility (PAGE_VISIBILITY_API)
20974        https://bugs.webkit.org/show_bug.cgi?id=107230
20975
20976        Reviewed by David Kilzer.
20977
20978        * Configurations/FeatureDefines.xcconfig:
20979
209802013-01-22  Joseph Pecoraro  <pecoraro@apple.com>
20981
20982        Remove empty file WebPageProxyMessageKinds.h
20983        https://bugs.webkit.org/show_bug.cgi?id=107335
20984
20985        Reviewed by Kentaro Hara.
20986
20987        * GNUmakefile.list.am:
20988        * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
20989
209902013-01-22  Tim Horton  <timothy_horton@apple.com>
20991
20992        PDFPlugin: Build PDFPlugin everywhere, enable at runtime
20993        https://bugs.webkit.org/show_bug.cgi?id=107117
20994
20995        Reviewed by Alexey Proskuryakov.
20996
20997        Since PDFLayerController SPI is all forward-declared, the plugin should build
20998        on all Mac platforms, and can be enabled at runtime.
20999
21000        * Configurations/FeatureDefines.xcconfig:
21001
210022013-01-21  Dirk Schulze  <dschulze@adobe.com>
21003
21004        Add build flag for Canvas's Path object (disabled by default)
21005        https://bugs.webkit.org/show_bug.cgi?id=107473
21006
21007        Reviewed by Dean Jackson.
21008
21009        Add CANVAS_PATH build flag to build systems.
21010
21011        * Configurations/FeatureDefines.xcconfig:
21012
210132013-01-21  Jinwoo Song  <jinwoo7.song@samsung.com>
21014
21015        [EFL][WK2] Add APIs to set/get view source mode
21016        https://bugs.webkit.org/show_bug.cgi?id=106633
21017
21018        Reviewed by Gyuyoung Kim.
21019
21020        Added APIs to set/get view source mode for enabling to load
21021        the source code of the web page.
21022
21023        * UIProcess/API/efl/ewk_view.cpp:
21024        (ewk_view_source_mode_set):
21025        (ewk_view_source_mode_get):
21026        * UIProcess/API/efl/ewk_view.h:
21027        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
21028        (TEST_F):
21029        * UIProcess/WebPageProxy.cpp:
21030        (WebKit::WebPageProxy::WebPageProxy):
21031        (WebKit::WebPageProxy::setMainFrameInViewSourceMode):
21032        * UIProcess/WebPageProxy.h:
21033        (WebKit::WebPageProxy::mainFrameInViewSourceMode):
21034        (WebPageProxy):
21035
210362013-01-21  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
21037
21038        [EFL][WK2] Implement WebInspector::localizedStringsURL() on EFL
21039        https://bugs.webkit.org/show_bug.cgi?id=107363
21040
21041        Reviewed by Benjamin Poulain.
21042
21043        Implement WebInspector::localizedStringsURL() method to return the
21044        file URL of the localizedStrings.js.
21045
21046        This prevents printing warnings about "Localized string not found" in
21047        the console and fixes Web inspector related failing tests on the bots.
21048
21049        * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
21050        (WebKit::WebInspector::localizedStringsURL):
21051
210522013-01-21  Kiran Muppala  <cmuppala@apple.com>
21053
21054        Enable process suppression by default on Mac
21055        https://bugs.webkit.org/show_bug.cgi?id=106804
21056
21057        Reviewed by Alexey Proskuryakov.
21058
21059        * UIProcess/WebContext.cpp:
21060        (WebKit::WebContext::WebContext): Change initialized value of
21061        m_processSuppressionEnabled from false to true.
21062        * UIProcess/mac/WebContextMac.mm:
21063        (WebKit::WebContext::platformInitialize): Since process suppression
21064        is no longer disabled on construction, do not disable it for global
21065        child processes either.  Instead enable occlusion notifications as
21066        they are needed to trigger process suppression.
21067
210682013-01-17  Andy Estes  <aestes@apple.com>
21069
21070        Add a USE() macro for content filtering code
21071        https://bugs.webkit.org/show_bug.cgi?id=107098
21072
21073        Reviewed by Mark Rowe.
21074
21075        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
21076        (InitWebCoreSystemInterface): Use USE(CONTENT_FILTERING).
21077
210782013-01-21  Anders Carlsson  <andersca@apple.com>
21079
21080        Don't null out the IPC connection in ChildProcess:terminate
21081        https://bugs.webkit.org/show_bug.cgi?id=107469
21082        <rdar://problem/13015294>
21083
21084        Reviewed by Dan Bernstein.
21085
21086        We already invalidate the connection, and Connection::sendMessage checks if a connection
21087        is valid and bails if it isn't, so the only thing that nulling out the connection here does
21088        is that it would force us to add random connection null checks everywhere.
21089
21090        * Shared/ChildProcess.cpp:
21091        (WebKit::ChildProcess::terminate):
21092
210932013-01-21  Joone Hur  <joone.hur@intel.com>
21094
21095        [EFL] API unit tests are running extremely slow on the bots
21096        https://bugs.webkit.org/show_bug.cgi?id=104665
21097
21098        Reviewed by Gyuyoung Kim.
21099
21100        Clear HTTP cache files before running the unit tests, which prevents 
21101        performance degradation due to so many cache files.
21102
21103        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
21104        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
21105
211062013-01-21  Gustavo Noronha Silva  <gns@gnome.org>
21107
21108        REGRESSION (r140285): GTK uses WKPageResourceLoadClient which was removed
21109        https://bugs.webkit.org/show_bug.cgi?id=107421
21110
21111        Unreviewed buildfix.
21112
21113        * GNUmakefile.list.am:
21114        * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Removed.
21115        * UIProcess/API/gtk/WebKitResourceLoadClient.h: Removed.
21116        * UIProcess/API/gtk/WebKitWebView.cpp: No longer attach unexisting ResourceLoadClient.
21117        (webkitWebViewConstructed):
21118
211192013-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
21120
21121        Unreviewed, rolling out r139781.
21122        http://trac.webkit.org/changeset/139781
21123        https://bugs.webkit.org/show_bug.cgi?id=107443
21124
21125        This patch seems to cause flakiness on Qt (Requested by chris-
21126        qBT_work on #webkit).
21127
21128        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
21129        (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
21130
211312013-01-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
21132
21133        REGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
21134        https://bugs.webkit.org/show_bug.cgi?id=107417
21135
21136        Reviewed by Gyuyoung Kim.
21137
21138        We had no choice but remove the ResourceLoadClientEfl after r140285
21139        and thus our public API signals depending on it. The test_ewk2_auth_request
21140        unit test was skipped because it depends these signals and will be fixed in a
21141        different patch.
21142
21143        * PlatformEfl.cmake:
21144        * UIProcess/API/efl/EWebKit2.h:
21145        * UIProcess/API/efl/EwkViewCallbacks.h:
21146        * UIProcess/API/efl/EwkViewImpl.cpp:
21147        (EwkViewImpl::EwkViewImpl):
21148        * UIProcess/API/efl/EwkViewImpl.h:
21149        (WebKit):
21150        (EwkViewImpl):
21151        * UIProcess/API/efl/ewk_resource.cpp: Removed.
21152        * UIProcess/API/efl/ewk_resource.h: Removed.
21153        * UIProcess/API/efl/ewk_resource_private.h: Removed.
21154        * UIProcess/API/efl/ewk_view.cpp:
21155        * UIProcess/API/efl/ewk_view.h:
21156        * UIProcess/efl/ResourceLoadClientEfl.cpp: Removed.
21157        * UIProcess/efl/ResourceLoadClientEfl.h: Removed.
21158
211592013-01-20  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
21160
21161        Remove support getting per-resource callbacks in the UIProcess
21162        https://bugs.webkit.org/show_bug.cgi?id=107405
21163
21164        Reviewed by Sam Weinig.
21165
21166        EFL, GTK and Qt WebKit2 build fixes after r140285.
21167        Remove from build WebResourceLoadClient.{cpp,h} deleted by r140285.
21168
21169        * CMakeLists.txt:
21170        * GNUmakefile.list.am:
21171        * Target.pri:
21172
211732013-01-20  Sam Weinig  <sam@webkit.org>
21174
21175        Remove support getting per-resource callbacks in the UIProcess
21176        https://bugs.webkit.org/show_bug.cgi?id=107405
21177
21178        Reviewed by Anders Carlsson.
21179
21180        Removes support for the WKPageResourceLoadClient. Access to per-resource
21181        callbacks are still available in the bundle, and via the WebInspector.
21182
21183        * UIProcess/API/C/WKPage.cpp:
21184        * UIProcess/API/C/WKPage.h:
21185        * UIProcess/WebPageProxy.cpp:
21186        * UIProcess/WebPageProxy.h:
21187        * UIProcess/WebPageProxy.messages.in:
21188        Stop handling per-resource messages and forwarding them to the API.
21189
21190        * UIProcess/WebResourceLoadClient.cpp: Removed.
21191        * UIProcess/WebResourceLoadClient.h: Removed.
21192        * WebKit2.xcodeproj/project.pbxproj:
21193        Remove the files.
21194
21195        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21196        (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
21197        (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
21198        (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
21199        (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
21200        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
21201        (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
21202        Stop sending per-resource messages to the UIProcess.
21203
212042013-01-20  Gustavo Noronha Silva  <gns@gnome.org>
21205
21206        Unreviewed. Simple indentation fix.
21207
21208        * GNUmakefile.am:
21209
212102013-01-20  Alexey Proskuryakov  <ap@apple.com>
21211
21212        Remove obsolete plug-in sandboxing code.
21213        https://bugs.webkit.org/show_bug.cgi?id=107362
21214
21215        Reviewed by Darin Adler.
21216
21217        * WebKit2.xcodeproj/project.pbxproj:
21218        * DerivedSources.make:
21219        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Removed.
21220
21221        * PluginProcess/mac/PluginProcessMac.mm:
21222        (WebKit::initializeSandbox): Fixed a memory leak in code that stays.
21223
21224        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
21225        (WebKit::NPN_GetValue):
21226
21227        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
21228        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
21229        Removed API related parts. Remaining code will move to a better place in a follow-up
21230        patch, just keeping it here for easier reviewing.
21231        (enterSandbox): Removed no longer used arguments.
21232
212332013-01-17  Sam Weinig  <sam@webkit.org>
21234
21235        Don't initialize AppKit for processes that don't use it
21236        https://bugs.webkit.org/show_bug.cgi?id=107216
21237
21238        Reviewed by Alexey Proskuryakov.
21239
21240        * PluginProcess/mac/PluginProcessMainMac.mm:
21241        (WebKit::PluginProcessMainDelegate::doPreInitializationWork):
21242        * WebProcess/mac/WebProcessMainMac.mm:
21243        (WebKit::WebProcessMainDelegate::doPreInitializationWork):
21244        Move AppKit initialization to the two places it is used, the WebProcessMain and the PluginProcessMain.
21245
21246        * Shared/ChildProcess.cpp:
21247        (WebKit::ChildProcess::initialize):
21248        Remove redundant call to InitializeWebKit2().
21249
21250        * Shared/mac/ChildProcessMain.h:
21251        (WebKit::ChildProcessMain):
21252        Remove initialization of AppKit now that the delegate does it if necessary,
21253        and move InitializeWebKit2() to after delegate.doPreInitializationWork(), so
21254        the delegate has a chance to set things up it, in this case, calling 
21255        RunLoop::setUseApplicationRunLoopOnMainRunLoop if needed.
21256
21257        * PluginProcess/mac/PluginProcessMac.mm:
21258        (WebKit::PluginProcess::platformInitializePluginProcess):
21259        * WebProcess/mac/WebProcessMac.mm:
21260        (WebKit::WebProcess::platformInitializeProcess):
21261        Remove now redundant call to RunLoop::setUseApplicationRunLoopOnMainRunLoop().
21262
21263        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
21264        (WebKit::WebProcessServiceEventHandler):
21265        (webProcessServiceMain):
21266        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
21267        Call WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop() and make call to InitializeWebKit2()
21268        more consistent.
21269
212702013-01-18  Tim Horton  <timothy_horton@apple.com>
21271
21272        [wk2] Intrinsic content size should report a flexible width if the content is not wider than the minimum layout width
21273        https://bugs.webkit.org/show_bug.cgi?id=107334
21274        <rdar://problem/12960009>
21275
21276        Reviewed by Anders Carlsson.
21277
21278        * UIProcess/API/mac/WKView.mm:
21279        (-[WKView _setIntrinsicContentSize:]): If the content is laid-out at or below the minimum layout width, it's flexible; otherwise, we need to inform autolayout that we require more space via our intrinsic content size.
21280        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21281        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Allow auto-sizing to expand its width beyond the minimum if needed.
21282        * WebProcess/WebPage/WebPage.cpp:
21283        (WebKit::WebPage::setMinimumLayoutWidth): Allow auto-sizing to expand its width beyond the minimum if needed.
21284
212852013-01-18  Alexey Proskuryakov  <ap@apple.com>
21286
21287        <rdar://problem/13042826> REGRESSION (r139985): Full Screen Youtube loses keyboard and mouse control
21288        https://bugs.webkit.org/show_bug.cgi?id=107191
21289
21290        Reviewed by Darin Adler.
21291
21292        Moved initialization from platformInitializePluginProcess to platformInitializeProcess,
21293        because the former is called too late. In r139985, I used a correct location for
21294        WebProcess, but not for PluginProcess.
21295
21296        * PluginProcess/mac/PluginProcessMac.mm:
21297        (WebKit::PluginProcess::platformInitializeProcess):
21298        (WebKit::PluginProcess::platformInitializePluginProcess):
21299
213002013-01-18  Brady Eidson  <beidson@apple.com>
21301
21302        Rework NetworkProcess resource load identifiers.
21303        <rdar://problem/12934449> and https://bugs.webkit.org/show_bug.cgi?id=107192
21304
21305        Reviewed by Alexey Proskuryakov.
21306
21307        Having the NetworkProcess vend out identifiers to WebProcesses was a bad idea.
21308        This patch reverts that so that WebProcesses are in control of their own unique identifiers.
21309
21310        The NetworkProcess doesn't need identifiers at all.
21311        It can represent outstanding loads with the loaders themselves.
21312
21313        This patch adds a "SchedulableLoader" base class for normal and synchronous loaders.
21314        It reworks each use of identifiers into using SchedulableLoaders instead.
21315
21316        This also gave an opportunity to move the serving of pending requests for a host into the 
21317        HostRecord itself which cleans certain things up nicely.
21318
21319        Change HostRecord to have queues of SchedulableLoaders instead of identifiers.
21320        Make HostRecord responsible for actually starting the loaders in its queues:
21321        * NetworkProcess/HostRecord.cpp:
21322        (WebKit::HostRecord::~HostRecord):
21323        (WebKit::HostRecord::scheduleResourceLoader):
21324        (WebKit::HostRecord::addLoaderInProgress):
21325        (WebKit::HostRecord::removeLoader):
21326        (WebKit::HostRecord::hasRequests):
21327        (WebKit::HostRecord::servePendingRequestsForQueue):
21328        (WebKit::HostRecord::servePendingRequests):
21329        (WebKit::HostRecord::limitsRequests):
21330        * NetworkProcess/HostRecord.h:
21331        (WebKit::HostRecord::create): HostRecord is now also RefCounted. new and delete are so 2004.
21332
21333        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
21334        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): Create the loader then schedule
21335          it with the scheduler, instead of having the scheduler create it.
21336        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
21337        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
21338        * NetworkProcess/NetworkConnectionToWebProcess.h:
21339        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
21340
21341        Remove maps and sets of identifiers, replacing them with sets of SchedulableLoaders where needed.
21342        Rely on HostRecords to actually manage sets of SchedulableLoaders.
21343        Rely on HostRecord to do the actual serving of its pending requests:
21344        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
21345        (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
21346        (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
21347        (WebKit::NetworkResourceLoadScheduler::hostForURL):
21348        (WebKit::NetworkResourceLoadScheduler::removeLoader):
21349        (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
21350        (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
21351        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
21352        (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
21353        * NetworkProcess/NetworkResourceLoadScheduler.h:
21354
21355        A new base class for all loaders that the scheduler and HostRecords might need to know about:
21356        * NetworkProcess/SchedulableLoader.cpp:
21357        (WebKit::SchedulableLoader::SchedulableLoader):
21358        (WebKit::SchedulableLoader::~SchedulableLoader):
21359        * NetworkProcess/SchedulableLoader.h:
21360        (WebKit::SchedulableLoader::loadParameters):
21361        (WebKit::SchedulableLoader::connectionToWebProcess):
21362        (WebKit::SchedulableLoader::isSynchronous):
21363        (WebKit::SchedulableLoader::setHostRecord):
21364        (WebKit::SchedulableLoader::hostRecord):
21365
21366        Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
21367        * NetworkProcess/NetworkResourceLoader.cpp:
21368        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
21369        (WebKit::NetworkResourceLoader::connection):
21370        (WebKit::NetworkResourceLoader::destinationID):
21371        (WebKit::NetworkResourceLoader::start):
21372        (WebKit::NetworkResourceLoader::stop):
21373        (WebKit::NetworkResourceLoader::didReceiveResponse):
21374        (WebKit::NetworkResourceLoader::didFail):
21375        (WebKit::NetworkResourceLoader::willSendRequest):
21376        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
21377        * NetworkProcess/NetworkResourceLoader.h:
21378        (WebKit::NetworkResourceLoader::create):
21379
21380        Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
21381        * NetworkProcess/SyncNetworkResourceLoader.cpp:
21382        (WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
21383        (WebKit::SyncNetworkResourceLoader::start):
21384        * NetworkProcess/SyncNetworkResourceLoader.h:
21385        (WebKit::SyncNetworkResourceLoader::create):
21386        (WebKit::SyncNetworkResourceLoader::isSynchronous):
21387
21388        Fold the WebProcess resource load identifier in with the load parameters:
21389        * Shared/Network/NetworkResourceLoadParameters.cpp:
21390        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
21391        (WebKit::NetworkResourceLoadParameters::encode):
21392        (WebKit::NetworkResourceLoadParameters::decode):
21393        * Shared/Network/NetworkResourceLoadParameters.h:
21394        (WebKit::NetworkResourceLoadParameters::identifier):
21395
21396        The identifier is preset in the WebProcess and doesn't come from the NetworkProcess,
21397        so the message to schedule a load can now be asynchronous:
21398        * WebProcess/Network/WebResourceLoadScheduler.cpp:
21399        (WebKit::WebResourceLoadScheduler::scheduleLoad):
21400
21401        Update to include a WebProcess generated identifier along with synchronous loads:
21402        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
21403        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
21404        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
21405
21406        * WebKit2.xcodeproj/project.pbxproj:
21407
214082013-01-18  Huang Dongsung  <luxtella@company100.net>
21409
21410        Coordinated Graphics: CoordinatedTile::updateBackBuffer() returns a dirty rect.
21411        https://bugs.webkit.org/show_bug.cgi?id=107196
21412
21413        Reviewed by Kenneth Rohde Christiansen.
21414
21415        Currently, CoordinatedTile::updateBackBuffer() always returns an empty vector.
21416        This patch makes CoordinatedTile::updateBackBuffer() return a correct dirty rect.
21417
21418        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
21419        (WebKit::CoordinatedTile::updateBackBuffer):
21420
214212013-01-17  Tim Horton  <timothy_horton@apple.com>
21422
21423        [WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport
21424        https://bugs.webkit.org/show_bug.cgi?id=107200
21425        <rdar://problem/12849029>
21426
21427        Reviewed by Simon Fraser.
21428
21429        Make use of FrameView's auto-size mode to allow WKView's computed intrinsic content
21430        size to shrink below the current viewport size.
21431
21432        * UIProcess/WebPageProxy.cpp:
21433        (WebKit::WebPageProxy::setMinimumLayoutWidth): Forward minimumLayoutWidth changes to WebPage.
21434        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
21435        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): Remove minimumLayoutWidth argument on updateGeometry.
21436        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21437        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Enable auto-size mode on the new FrameView if needed.
21438        * WebProcess/WebPage/DrawingArea.h:
21439        (WebKit::DrawingArea::updateGeometry): Remove minimumLayoutWidth argument.
21440        * WebProcess/WebPage/DrawingArea.messages.in: Remove minimumLayoutWidth argument on updateGeometry.
21441        * WebProcess/WebPage/WebPage.cpp:
21442        (WebKit::WebPage::WebPage): Initialize m_minimumLayoutWidth to 0.
21443        (WebKit::WebPage::setMinimumLayoutWidth): Keep track of minimumLayoutWidth on WebPage. Update auto-sizing state if needed.
21444        * WebProcess/WebPage/WebPage.h:
21445        (WebKit::WebPage::minimumLayoutWidth):
21446        * WebProcess/WebPage/WebPage.messages.in: Add SetMinimumLayoutWidth.
21447        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21448        (TiledCoreAnimationDrawingArea): Remove storage for m_minimumLayoutWidth. We can get it from WebPage instead.
21449        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21450        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21451        (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged): Grab minimumLayoutWidth from WebPage.
21452        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Don't setSize() if auto-sizing is enabled; FrameView will do the right thing.
21453
214542013-01-17  Jon Lee  <jonlee@apple.com>
21455
21456        Do not track user interaction for plugins that are not snapshotted
21457        https://bugs.webkit.org/show_bug.cgi?id=107211
21458        <rdar://problem/12967277>
21459
21460        Reviewed by Dean Jackson.
21461
21462        When the user interacts with a snapshotted plug-in, we extend that plug-in origin's
21463        expiration date. However, plug-ins may not be snapshotted for other reasons than the
21464        user's initial opt-in. In this case, that plug-in's origin might be not be in the cached
21465        table. This is an edge case that was not initially considered.
21466
21467        * WebProcess/WebProcess.cpp:
21468        (WebKit::WebProcess::plugInDidReceiveUserInteraction): Convert the assertion to an if
21469        check, and return early if the entry is not found in the cache table.
21470
214712013-01-17  Alexey Proskuryakov  <ap@apple.com>
21472
21473        REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not called.
21474
21475        Rubber-stamped by Brady Eidson.
21476
21477        * NetworkProcess/NetworkResourceLoader.cpp:
21478        (WebKit::NetworkResourceLoader::willSendRequest): Reverted a small part of r139516.
21479
214802013-01-17  Huang Dongsung  <luxtella@company100.net>
21481
21482        Coordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
21483        https://bugs.webkit.org/show_bug.cgi?id=107084
21484
21485        Reviewed by Noam Rosenthal.
21486
21487        There are two changes.
21488        1. It is redundant to call GraphicsLayer::removeFromParent() or
21489        GraphicsLayer::removeAllChildren() before deleting GraphicsLayer, because the
21490        destructor of GraphicsLayerTextureMapper removes a parent and all children.
21491        2. LayerTreeRenderer::setRootLayerID() does not need to remove all children of
21492        rootLayer because this method can be called only once.
21493
21494        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
21495        (WebKit::LayerTreeRenderer::deleteLayer):
21496        (WebKit::LayerTreeRenderer::setRootLayerID):
21497        (WebKit::LayerTreeRenderer::purgeGLResources):
21498
214992013-01-17  Timothy Hatcher  <timothy@apple.com>
21500
21501        Make logging console messages to STDOUT work in WebKit2 via a new setting.
21502
21503        https://bugs.webkit.org/show_bug.cgi?id=107157
21504
21505        Reviewed by Joseph Pecoraro.
21506
21507        * Shared/WebPreferencesStore.h:
21508        * UIProcess/API/C/WKPreferences.cpp:
21509        (WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
21510        (WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
21511        * UIProcess/API/C/WKPreferencesPrivate.h:
21512        * UIProcess/WebInspectorProxy.cpp:
21513        (WebKit::createInspectorPageGroup): Enable logging in debug builds.
21514        * WebProcess/WebPage/WebPage.cpp:
21515        (WebKit::WebPage::updatePreferences): Set new setting in WebCore.
21516
215172013-01-17  Brady Eidson  <beidson@apple.com>
21518
21519        Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
21520        https://bugs.webkit.org/show_bug.cgi?id=107166
21521
21522        Reviewed by Alexey Proskuryakov.
21523
21524        NetworkConnectionToWebProcess now keeps its own id->loader map so it can directly address them as needed:
21525        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
21526        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
21527        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
21528        (WebKit::NetworkConnectionToWebProcess::didClose):
21529        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
21530        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
21531        * NetworkProcess/NetworkConnectionToWebProcess.h:
21532
21533        NetworkResourceLoadScheduler no longer keeps an identifier -> loader map:
21534        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
21535        (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
21536        (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
21537        * NetworkProcess/NetworkResourceLoadScheduler.h:
21538
21539        There is no longer such a thing as NetworkConnectionToWebProcessObserver:
21540        * NetworkProcess/NetworkResourceLoader.cpp:
21541        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
21542        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
21543        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
21544        * NetworkProcess/NetworkResourceLoader.h:
21545
215462013-01-17  Tim Horton  <timothy_horton@apple.com>
21547
21548        Remove an incorrect ASSERT() after r140002.
21549
21550        Reviewed by Simon Fraser.
21551
21552        setRootCompositingLayer(null) is valid now.
21553
21554        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21555        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
21556
215572013-01-17  Poul Sysolyatin  <psytonx@gmail.com>
21558
21559        32-bit build for Qt5 on Mac OS fails.
21560        https://bugs.webkit.org/show_bug.cgi?id=107094
21561
21562        We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
21563        Fixed 32-bit build detection for support Qt5.
21564
21565        Reviewed by Benjamin Poulain.
21566
21567        * Target.pri:
21568
215692013-01-17  Martin Robinson  <mrobinson@igalia.com>
21570
21571        [GTK] Build with LevelDB when IndexedDB is enabled
21572        https://bugs.webkit.org/show_bug.cgi?id=103220
21573
21574        Reviewed by Gustavo Noronha Silva.
21575
21576        * GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
21577        library to the shared library link phase.
21578
215792013-01-17  Tim Horton  <timothy_horton@apple.com>
21580
21581        [WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
21582        https://bugs.webkit.org/show_bug.cgi?id=107108
21583        <rdar://problem/12549879>
21584
21585        Reviewed by Darin Adler and Simon Fraser.
21586
21587        Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
21588        its layer tree, to prevent flashing when switching tabs. We have new plans
21589        to alleviate the flashing, but first, we should reinstate unparenting the root layer,
21590        to allow underlying libraries to better manage the memory backing all compositing layers.
21591
21592        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21593        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
21594
215952013-01-17  Tim Horton  <timothy_horton@apple.com>
21596
21597        Fix the Mac build sans ENABLE(CSS_FILTERS)
21598
21599        Reviewed by Darin Adler.
21600
21601        Include FloatRect in RemoteGraphicsLayer.mm; it's included by chance currently,
21602        via something that must be compiled out without CSS_FILTERS (or SVG, or shaders, or something).
21603
21604        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
21605
216062013-01-16  Alexey Proskuryakov  <ap@apple.com>
21607
21608        Don't use NSApplication run loop in NetworkProcess
21609        https://bugs.webkit.org/show_bug.cgi?id=107061
21610
21611        Reviewed by Anders Carlsson.
21612
21613        Only WebProcess and PluginProcess should use Cocoa APIs that require the run loop.
21614
21615        * PluginProcess/mac/PluginProcessMac.mm:
21616        (WebKit::PluginProcess::platformInitializePluginProcess):
21617        * WebProcess/mac/WebProcessMac.mm:
21618        (WebKit::WebProcess::platformInitializeProcess):
21619
216202013-01-16  Alexey Proskuryakov  <ap@apple.com>
21621
21622        Update sandbox rules after r128003
21623        https://bugs.webkit.org/show_bug.cgi?id=106840
21624
21625        Reviewed by Darin Adler.
21626
21627        * WebProcess/com.apple.WebProcess.sb.in: Additional Lion only fixes.
21628
216292013-01-16  Sam Weinig  <sam@webkit.org>
21630
21631        Make debug-safari --target-web-process work again
21632        https://bugs.webkit.org/show_bug.cgi?id=107088
21633
21634        Reviewed by Anders Carlsson.
21635
21636        --target-web-process was made harder to use during recent refactoring
21637        by requiring users to pass a -ui-process-name parameter in addition to
21638        the -client-executable. Instead, we should conjure up that name from
21639        the information we already have at our disposal.
21640
21641        * WebProcess/mac/WebProcessMainMac.mm:
21642        (WebKit::WebProcessMainDelegate::getConnectionIdentifier):
21643        Simplify by making the non-client-executable path use the base
21644        class implementation.
21645
21646        (WebKit::WebProcessMainDelegate::getClientIdentifier):
21647        Ditto.
21648
21649        (WebKit::WebProcessMainDelegate::getClientProcessName):
21650        Added. Create a client process name (its actually not too important what it is, as it
21651        is only used to show a name in Activity Monitor) from the passed in client executable
21652        path.
21653
216542013-01-16  Sam Weinig  <sam@webkit.org>
21655
21656        Fix crashes on the bots.
21657
21658        The WebKit LoaderStrategy for loading synchronously was only implemented
21659        for the case where you have a network process. When you don't, we should
21660        be using the base implementation.
21661
21662        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
21663        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
21664
216652013-01-16  Sam Weinig  <sam@webkit.org>
21666
21667        Update Owners file.
21668
21669        * Owners:
21670
216712013-01-16  Sam Weinig  <sam@webkit.org>
21672
21673        Remove unused AddLoadInProgress message
21674        https://bugs.webkit.org/show_bug.cgi?id=107077
21675
21676        Reviewed by Dan Bernstein.
21677
21678        Dead code is dead.
21679
21680        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
21681        * NetworkProcess/NetworkConnectionToWebProcess.h:
21682        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
21683
216842013-01-16  Anders Carlsson  <andersca@apple.com>
21685
21686        Fix crash when destroying a plug-in with pending URL requests
21687        https://bugs.webkit.org/show_bug.cgi?id=107075
21688        <rdar://problem/12513871>
21689
21690        Reviewed by Sam Weinig.
21691
21692        In PluginView::destroyPluginAndReset, make sure to cancel any outstanding URL requests since the PluginView
21693        object will stay around and would otherwise start loading URLs from stopped plug-ins.
21694
21695        * WebProcess/Plugins/PluginView.cpp:
21696        (WebKit::PluginView::Stream::start):
21697        Assert that the plug-in is alive.
21698        
21699        (WebKit::PluginView::destroyPluginAndReset):
21700        Empty out the pending URL requests vector and stop the timer.
21701
217022013-01-16  Jaehun Lim  <ljaehun.lim@samsung.com>
21703
21704        [EFL][WK2] PageUIClientEfl should keep in sync with WKPageUIClient
21705        https://bugs.webkit.org/show_bug.cgi?id=107060
21706
21707        Reviewed by Benjamin Poulain.
21708
21709        Rearrange the order of functions in PageUIClientEfl.
21710        Rename closePage() to close().
21711
21712        * UIProcess/API/efl/EwkViewImpl.cpp:
21713        (EwkViewImpl::close):
21714        * UIProcess/API/efl/EwkViewImpl.h:
21715        (EwkViewImpl):
21716        * UIProcess/efl/PageUIClientEfl.cpp:
21717        (WebKit::PageUIClientEfl::PageUIClientEfl):
21718        (WebKit::PageUIClientEfl::close):
21719        (WebKit::PageUIClientEfl::takeFocus):
21720        (WebKit::PageUIClientEfl::focus):
21721        (WebKit::PageUIClientEfl::unfocus):
21722        (WebKit::PageUIClientEfl::getWindowFrame):
21723        (WebKit::PageUIClientEfl::setWindowFrame):
21724        (WebKit::PageUIClientEfl::createNewPage):
21725        (WebKit::PageUIClientEfl::showColorPicker):
21726        (WebKit::PageUIClientEfl::hideColorPicker):
21727        * UIProcess/efl/PageUIClientEfl.h:
21728        (PageUIClientEfl):
21729
217302013-01-16  Brady Eidson  <beidson@apple.com>
21731
21732        Synchronous XMLHTTPRequests need to go to the NetworkProcess.
21733        <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826
21734
21735        Reviewed by Sam Weinig and Alexey Proskuryakov.
21736
21737        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
21738        (WebKit::WebPlatformStrategies::loadResourceSynchronously): Entry point for WebCore to get
21739          synchronous requests to the NetworkProcess.
21740        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
21741
21742        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
21743        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): Create a SyncNetworkResourceLoader
21744          and schedule it.
21745        * NetworkProcess/NetworkConnectionToWebProcess.h:
21746        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
21747
21748        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
21749        (WebKit::NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader):
21750        (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve synchronous loaders
21751          before async loaders.
21752        * NetworkProcess/NetworkResourceLoadScheduler.h:
21753
21754        A class that encapsulates a synchronous load request and the CoreIPC reply to be made once it is complete:
21755        * NetworkProcess/SyncNetworkResourceLoader.cpp: Added.
21756        (WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
21757        (WebKit::SyncNetworkResourceLoader::start):
21758        * NetworkProcess/SyncNetworkResourceLoader.h: Copied from Source/WebKit2/NetworkProcess/HostRecord.h.
21759        (WebKit::SyncNetworkResourceLoader::create):
21760        (WebKit::SyncNetworkResourceLoader::setIdentifier):
21761        (WebKit::SyncNetworkResourceLoader::identifier):
21762        (WebKit::SyncNetworkResourceLoader::loadParameters):
21763
21764        Add a second queue of sync loaders:
21765        * NetworkProcess/HostRecord.h:
21766        (WebKit::HostRecord::syncLoadersPending):
21767
21768        Add comments to explicitly spell out the current reliance on some messages that are currently synchronous:
21769        * NetworkProcess/NetworkResourceLoader.cpp:
21770        (WebKit::NetworkResourceLoader::willSendRequest):
21771        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
21772
21773        * WebKit2.xcodeproj/project.pbxproj:
21774
217752013-01-16  Alexey Proskuryakov  <ap@apple.com>
21776
21777        WebProcess should not access ~/Library/Caches/com.apple.WebProcess
21778        https://bugs.webkit.org/show_bug.cgi?id=107055
21779
21780        Reviewed by Anders Carlsson.
21781
21782        * WebProcess/com.apple.WebProcess.sb.in: Remove the rule allowing access.
21783
21784        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
21785        Use a correct cache directory even if NetworkProcess is in use. Not all loading has
21786        moved to this process yet.
21787
217882013-01-16  Anders Carlsson  <andersca@apple.com>
21789
21790        Remove CoreIPCMessageKinds.h
21791        https://bugs.webkit.org/show_bug.cgi?id=107048
21792
21793        Reviewed by Beth Dakin.
21794
21795        Use named IPC messages instead.
21796
21797        * Platform/CoreIPC/Connection.cpp:
21798        (CoreIPC::Connection::sendSyncReply):
21799        (CoreIPC::Connection::processIncomingMessage):
21800        (CoreIPC::Connection::dispatchSyncMessage):
21801        * Platform/CoreIPC/CoreIPCMessageKinds.h: Removed.
21802        * Platform/CoreIPC/MessageID.h:
21803        (MessageID):
21804        (CoreIPC::MessageID::stripMostSignificantBit):
21805        (CoreIPC::MessageID::operator==):
21806        * Platform/CoreIPC/mac/ConnectionMac.cpp:
21807        (CoreIPC::Connection::open):
21808        (CoreIPC::Connection::receiveSourceEventHandler):
21809        * WebKit2.xcodeproj/project.pbxproj:
21810
218112013-01-15  Jer Noble  <jer.noble@apple.com>
21812
21813        Add a Setting to disable QTKit media engine.
21814        https://bugs.webkit.org/show_bug.cgi?id=106972
21815
21816        Reviewed by Eric Carlson.
21817
21818        Add a WebKit2 API to access WebCore QTKitEnabled settings.
21819
21820        * Shared/WebPreferencesStore.h:
21821        * UIProcess/API/C/WKPreferences.cpp:
21822        (WKPreferencesSetQTKitEnabled): Pass through to WebCore.
21823        (WKPreferencesGetQTKitEnabled): Ditto.
21824        * UIProcess/API/C/WKPreferences.h:
21825        * WebProcess/WebPage/WebPage.cpp:
21826        (WebKit::WebPage::updatePreferences): Synchronize WebKit2/WebCore settings.
21827
218282013-01-16  Kiran Muppala  <cmuppala@apple.com>
21829
21830        Groundwork to enable process suppression by default on Mac
21831        https://bugs.webkit.org/show_bug.cgi?id=106513
21832
21833        Reviewed by Alexey Proskuryakov.
21834
21835        Process suppression has so far been controlled by a user default and
21836        disabled by default.  This patch provides the groundwork to enable it by
21837        default and adds a private API to enable/disable it on a per-context
21838        basis.
21839
21840        * Shared/mac/ChildProcessMac.mm:
21841        (WebKit::ChildProcess::platformInitialize): Add comment about
21842        initilization of application occlusion state.
21843        * UIProcess/API/C/mac/WKContextPrivateMac.cpp: Added.
21844        (WKContextGetProcessSuppressionEnabled):
21845        (WKContextSetProcessSuppressionEnabled):
21846        Add private API to enable/disable process suppression on a per-context
21847        basis.
21848        * UIProcess/API/C/mac/WKContextPrivateMac.h: Added.
21849        * UIProcess/Network/NetworkProcessProxy.cpp:
21850        (WebKit::NetworkProcessProxy::didFinishLaunching): Check if owning
21851        context has process suppression enabled before updating application
21852        occlusion state.
21853        * UIProcess/WebProcessProxy.cpp:
21854        (WebKit::WebProcessProxy::didFinishLaunching): Ditto.
21855        * UIProcess/Plugins/PluginProcessProxy.cpp:
21856        (WebKit::PluginProcessProxy::didFinishLaunching): Check if
21857        process suppression is enabled for global child processes before
21858        updating application occlusion state.
21859        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
21860        (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Ditto.
21861        * UIProcess/WebContext.cpp:
21862        (WebKit::WebContext::create): Remove call to
21863        initializeProcessSuppressionSupport, since platformInitialize has been
21864        modified to perform initialization.
21865        (WebKit::WebContext::WebContext): Initialize new member variable
21866        m_processSuppressionEnabled to false.
21867        * UIProcess/WebContext.h:
21868        (WebKit::WebContext::processSuppressionEnabled): Remove "Support"
21869        from the method name.
21870        * UIProcess/mac/WebContextMac.mm:
21871        (WebKit::updateGlobalChildProcessesApplicationOcclusionState):
21872        (WebKit::applicationOcclusionStateChanged): Update the application
21873        occlusion state of child processes having process suppresion enabled.
21874        (WebKit::applicationBecameVisible):
21875        (WebKit::applicationBecameOccluded):
21876        Simplify by moving code to applicationOcclusionStateChanged.
21877        (WebKit::registerOcclusionNotificationHandlers): Fix typos.
21878        (WebKit::unregisterOcclusionNotificationHandlers): Add
21879        method to unregister occlusion notification handlers when no context
21880        has process suppression enabled.
21881        (WebKit::enableOcclusionNotifications):
21882        (WebKit::disableOcclusionNotifications):
21883        (WebKit::enableProcessSuppressionForGlobalChildProcesses):
21884        (WebKit::disableProcessSuppressionForGlobalChildProcesses):
21885        (WebKit::processSuppressionIsEnabledForAnyContext):
21886        (WebKit::processSuppressionIsEnabledForAllContexts):
21887        (WebKit::WebContext::platformInitialize): Disable process suppression
21888        for global child processes since process suppression is disabled for a
21889        context on construction.
21890        (WebKit::WebContext::setProcessSuppressionEnabled):
21891        (WebKit::WebContext::updateChildProcessesApplicationOcclusionState):
21892        (WebKit::WebContext::applicationIsOccluded):
21893        (WebKit::WebContext::processSuppressionEnabledForGlobalChildProcesses):
21894        (WebKit::WebContext::processSuppressionEnabledChanged): Update child
21895        processes application occlusion state, enable/disable occlusion
21896        notifications and enable/disable process suppression for global child
21897        processes.
21898        * WebKit2.xcodeproj/project.pbxproj:
21899
219002013-01-15  Anders Carlsson  <andersca@apple.com>
21901
21902        Merge LayerTreeHostCA and LayerTreeHostMac
21903        https://bugs.webkit.org/show_bug.cgi?id=106967
21904
21905        Reviewed by Sam Weinig.
21906
21907        There's no need to have a LayerTreeHostCA base class anymore, just merge it into LayerTreeHostMac.
21908
21909        * WebKit2.xcodeproj/project.pbxproj:
21910        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Removed.
21911        * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed.
21912        * WebProcess/WebPage/mac/LayerTreeHostMac.h:
21913        (LayerTreeHostMac):
21914        * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
21915        (WebKit::LayerTreeHostMac::LayerTreeHostMac):
21916        (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
21917        (WebKit::LayerTreeHostMac::layerTreeContext):
21918        (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
21919        (WebKit):
21920        (WebKit::LayerTreeHostMac::setRootCompositingLayer):
21921        (WebKit::LayerTreeHostMac::invalidate):
21922        (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
21923        (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
21924        (WebKit::LayerTreeHostMac::forceRepaint):
21925        (WebKit::LayerTreeHostMac::sizeDidChange):
21926        (WebKit::LayerTreeHostMac::deviceScaleFactorDidChange):
21927        (WebKit::LayerTreeHostMac::didInstallPageOverlay):
21928        (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
21929        (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
21930        (WebKit::LayerTreeHostMac::pauseRendering):
21931        (WebKit::LayerTreeHostMac::resumeRendering):
21932        (WebKit::LayerTreeHostMac::setLayerHostingMode):
21933        (WebKit::LayerTreeHostMac::notifyAnimationStarted):
21934        (WebKit::LayerTreeHostMac::notifyFlushRequired):
21935        (WebKit::LayerTreeHostMac::paintContents):
21936        (WebKit::LayerTreeHostMac::deviceScaleFactor):
21937        (WebKit::LayerTreeHostMac::flushLayers):
21938        (WebKit::LayerTreeHostMac::initialize):
21939        (WebKit::LayerTreeHostMac::performScheduledLayerFlush):
21940        (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
21941        (WebKit::LayerTreeHostMac::createPageOverlayLayer):
21942        (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
21943
219442013-01-15  Tim Horton  <timothy_horton@apple.com>
21945
21946        Clamp TileCache visibleRect to WKView's visibleRect
21947        https://bugs.webkit.org/show_bug.cgi?id=106601
21948        <rdar://problem/12843164>
21949
21950        Reviewed by Simon Fraser.
21951
21952        Some clients expand the WKView to be much larger than what is visible on screen, and
21953        control scrolling with their own view. Currently, we will create tiles for the entire
21954        view, consuming a great deal of memory, and can sometimes factor scrollbars which can
21955        never exist into layout. Piggyback on WKView SPI (the property minimumWidthForAutoLayout,
21956        renamed from minimumLayoutWidth) to drop into a mode where we disable main frame scrolling
21957        and respect the WKView's visibleRect when creating tiles.
21958
21959        * UIProcess/API/mac/WKView.mm:
21960        (-[WKView setFrameSize:]): Update the page's viewExposedRect from our visibleRect.
21961        (-[WKView _updateWindowAndViewFrames]): Update the page's viewExposedRect from our visibleRect.
21962        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): The main frame is scrollable by default.
21963        (-[WKView enableFrameSizeUpdates]): If frame size updates become enabled, update the
21964        page's viewExposedRect from our visibleRect.
21965        (-[WKView setMinimumLayoutWidth:]): Rename minimumLayoutWidth property to minimumWidthForAutoLayout.
21966        Warn once if the old one is used.
21967        (-[WKView minimumWidthForAutoLayout]):
21968        (-[WKView setMinimumWidthForAutoLayout:]): Adjust the minimum layout width, whether the main frame
21969        is scrollable, and update the page's viewExposedRect if needed.
21970        * UIProcess/API/mac/WKViewPrivate.h: Added minimumWidthForAutoLayout property.
21971        * UIProcess/WebPageProxy.h:
21972        (WebPageProxy): Add viewExposedRectChanged/setMainFrameIsScrollable.
21973        * UIProcess/mac/WebPageProxyMac.mm:
21974        (WebKit::WebPageProxy::viewExposedRectChanged): Forward viewExposedRectChanged to WebPage.
21975        (WebKit::WebPageProxy::setMainFrameIsScrollable): Forward setMainFrameIsScrollable to WebPage.
21976        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
21977        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Disable scrollbars and scrolling if
21978        main frame scrollability is disabled.
21979        * WebProcess/WebPage/DrawingArea.h:
21980        (WebKit::DrawingArea::setExposedRect): Added empty default implementation.
21981        (WebKit::DrawingArea::mainFrameScrollabilityChanged): Added empty default implementation.
21982        (DrawingArea):
21983        * WebProcess/WebPage/WebPage.cpp:
21984        (WebKit::WebPage::windowAndViewFramesChanged): We don't need the WebCore:: namespace.
21985        (WebKit::WebPage::viewExposedRectChanged): Forward exposed rect changes to DrawingArea (only TiledCoreAnimationDrawingArea cares, for now).
21986        (WebKit::WebPage::setMainFrameIsScrollable): Forward scrollability changes to DrawingArea and the main FrameView.
21987        (WebKit::WebPage::drawRectToImage): We don't need the WebCore:: namespace.
21988        * WebProcess/WebPage/WebPage.h:
21989        (WebPage): Add mainFrameIsScrollable, viewExposedRectChanged, setMainFrameIsScrollable, and storage for m_mainFrameIsScrollable.
21990        (WebKit::WebPage::mainFrameIsScrollable):
21991        * WebProcess/WebPage/WebPage.messages.in: Add ViewExposedRectChanged and SetMainFrameIsScrollable messages.
21992        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21993        (TiledCoreAnimationDrawingArea):
21994        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21995        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward new exposed rect to TiledBacking (only TileCache cares, for now).
21996        (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Ask TiledBacking to clip to the exposedRect if main frame scrolling is disabled.
21997        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Use size instead of viewSize in case we've changed it because of m_minimumLayoutWidth.
21998        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update exposedRect and clipsToExposedRect.
21999
220002013-01-15  Enrica Casucci  <enrica@apple.com>
22001
22002        Add a new set of WebKit2 APIs for text search and
22003        search results management.
22004        https://bugs.webkit.org/show_bug.cgi?id=106834.
22005        <rdar://problem/12597159>
22006
22007        Reviewed by Simon Fraser.
22008        
22009        Adding new API to perform text search in WebKit2 without using
22010        the stock UI. The new interface provides all the information
22011        necessary to write a custom UI for search. The main logic is
22012        implemented in the new functions added to FindController.
22013
22014        Added new TextWebKitAPI test.
22015
22016        * UIProcess/API/C/WKPage.cpp:
22017        (WKPageFindStringMatches): Added.
22018        (WKPageGetImageForFindMatch): Added.
22019        (WKPageSelectFindMatch): Added.
22020        (WKPageSetPageFindMatchesClient): Added.
22021        * UIProcess/API/C/WKPage.h: Added the new API definitions.
22022        * UIProcess/WebFindClient.cpp: Added new client callbacks.
22023        (WebKit::WebFindMatchesClient::didFindStringMatches):
22024        (WebKit::WebFindMatchesClient::didGetImageForMatchResult):
22025        * UIProcess/WebFindClient.h:
22026        (WebFindMatchesClient): Added.
22027        * UIProcess/WebPageProxy.cpp: Added proxy methods.
22028        (WebKit::WebPageProxy::initializeFindMatchesClient):
22029        (WebKit::WebPageProxy::findStringMatches):
22030        (WebKit::WebPageProxy::getImageForFindMatch):
22031        (WebKit::WebPageProxy::selectFindMatch):
22032        (WebKit::WebPageProxy::didGetImageForFindMatch):
22033        (WebKit::WebPageProxy::didFindStringMatches):
22034        * UIProcess/WebPageProxy.h:
22035        * UIProcess/WebPageProxy.messages.in:
22036        * WebProcess/WebPage/FindController.cpp:
22037        (WebKit::FindController::findStringMatches): Finds all the matching
22038        text according to the find options. All the matching text ranges are
22039        stored in a vector until the next call to findStringMatches or until
22040        hideFindUI is called. The message that is sent back to the UI process
22041        contains a vector containing an entry for each find match (i.e. for each
22042        range) and each entry is represented by a vector of the corresponding
22043        text rects. It also returns the index in the vector of matches corresponding
22044        to the first match after the user selection.
22045        If there is no selection the index is always 0 and if there are no
22046        matches after the user selection, the index returned is -1.
22047        (WebKit::FindController::getFindIndicatorBitmapAndRect): Helper function
22048        to share code between updateFindIndicator and getImageForFindMatch.
22049        (WebKit::FindController::getImageForFindMatch): Creates the image corresponding
22050        to the text matched at the given match index.
22051        (WebKit::FindController::selectFindMatch): creates a selection for the range
22052        corresponding to the given match index.
22053        (WebKit::FindController::hideFindUI): Added logic to clear the vector
22054        of matched ranges.
22055        (WebKit::FindController::updateFindIndicator): Updated to use the
22056        new helper function getFindIndicatorBitmapAndRect.
22057        * WebProcess/WebPage/FindController.h:
22058        * WebProcess/WebPage/WebPage.cpp:
22059        (WebKit::WebPage::findStringMatches):
22060        (WebKit::WebPage::getImageForFindMatch):
22061        (WebKit::WebPage::selectFindMatch):
22062        * WebProcess/WebPage/WebPage.h:
22063        * WebProcess/WebPage/WebPage.messages.in:
22064
220652013-01-15  Anders Carlsson  <andersca@apple.com>
22066
22067        Rename LayerTreeHostCAMac to LayerTreeHostMac.
22068
22069        Rubber-stamped by Deth Bakin.
22070
22071        * WebKit2.xcodeproj/project.pbxproj:
22072        * WebProcess/WebPage/LayerTreeHost.cpp:
22073        * WebProcess/WebPage/mac/LayerTreeHostMac.h: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h.
22074        * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm.
22075
220762013-01-15  Dominik Röttsches  <dominik.rottsches@intel.com>
22077
22078        [CoordinatedGraphics] Deadlock when running abspos-child-container-changes-from-relative-to-static.html
22079        https://bugs.webkit.org/show_bug.cgi?id=106884
22080
22081        Reviewed by Benjamin Poulain.
22082
22083        We need to return false if m_waitingForUIProcess is true since otherwise
22084        we'll not really repaint in performScheduledLayerFlush() and the
22085        UI process will wait forever. Returning false leads to executing the layer flush
22086        synchronously and immediately, then acknowledging the
22087        callback to the WebProcess - which resolves the deadlock.
22088
22089        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
22090        (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync): Return false in order to trigger a synchronous repaint if m_waitingForUIProcess is true.
22091
220922013-01-15  Simon Fraser  <simon.fraser@apple.com>
22093
22094        Allow tiled WKViews to have transparent backgrounds
22095        https://bugs.webkit.org/show_bug.cgi?id=106400
22096
22097        Reviewed by Anders Carlsson.
22098
22099        When WKViews were set to have transparent backgrounds, they still
22100        obscured content behind the view, for several reasons.
22101        
22102        First, when in tiled scrolling mode, WKView set the background
22103        of its layer to opaque white. Fix by using the clearColor (effectively
22104        removing the background color) if the view has a non-opaque background.
22105        
22106        Second, RenderLayerBacking just looked at FrameViews's isTransparent()
22107        when deciding to make TileCache tiles non-opaque, but it also needs to
22108        consider FrameViews with a non-opaque base background color. The
22109        same logic was necessary to avoid setting an opaque white background
22110        color on the TileCache layer.
22111        
22112        Finally, for views with non-opaque backgrounds, we don't want to display
22113        linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
22114        to return false in that case.
22115
22116        * UIProcess/API/mac/WKView.mm:
22117        (-[WKView updateLayer]):
22118
221192013-01-14  Dean Jackson  <dino@apple.com>
22120
22121        [ANGLE] Update ANGLE in WebKit
22122        https://bugs.webkit.org/show_bug.cgi?id=106274
22123
22124        Unreviewed attempted build fix.
22125
22126        The khrplatform.h file is now a public header without a directory
22127        prefix. Update the include path to look in the right place.
22128
22129        * PlatformEfl.cmake:
22130
221312013-01-14  Alexey Proskuryakov  <ap@apple.com>
22132
22133        <rdar://problem/12524710> Update sandbox rules after r128003
22134        https://bugs.webkit.org/show_bug.cgi?id=106840
22135
22136        Reviewed by Anders Carlsson.
22137
22138        * WebProcess/com.apple.WebProcess.sb.in:
22139
221402013-01-14  Huang Dongsung  <luxtella@company100.net>
22141
22142        [EFL] REGRESSION(r139189): MiniBrowser renders abnormally with -r option.
22143        https://bugs.webkit.org/show_bug.cgi?id=106512
22144
22145        Reviewed by Kenneth Rohde Christiansen.
22146
22147        PageViewportController handles only pageScaleFactor after r139189. So
22148        PageViewportControllerClientEFL calls EwkView::setScaleFactor() with
22149        pageScaleFactor instead of pageScaleFactor * deviceScaleFactor.
22150
22151        This patch makes EwkView handle pageScaleFactor.
22152        1. EwkView uses pageScaleFactor * deviceScaleFactor when drawing in
22153        the device unit.
22154        2. EwkView uses pageScaleFactor when notifying the scale to
22155        PageViewportController.
22156
22157        * UIProcess/API/efl/EwkViewImpl.cpp:
22158        (EwkViewImpl::EwkViewImpl):
22159        (EwkViewImpl::deviceScaleFactor):
22160        (EwkViewImpl::transformFromScene):
22161        (EwkViewImpl::displayTimerFired):
22162        * UIProcess/API/efl/EwkViewImpl.h:
22163        (EwkViewImpl):
22164        (EwkViewImpl::setPageScaleFactor):
22165        (EwkViewImpl::pageScaleFactor):
22166        * UIProcess/PageViewportController.cpp:
22167        (WebKit::PageViewportController::didRenderFrame):
22168        * UIProcess/PageViewportControllerClient.h:
22169        (PageViewportControllerClient):
22170        * UIProcess/efl/PageClientLegacyImpl.cpp:
22171        (WebKit::PageClientLegacyImpl::updateViewportSize):
22172        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
22173        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
22174        (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
22175        (WebKit::PageViewportControllerClientEfl::didResumeContent):
22176        * UIProcess/efl/PageViewportControllerClientEfl.h:
22177        (PageViewportControllerClientEfl):
22178        * UIProcess/qt/PageViewportControllerClientQt.cpp:
22179        (WebKit::PageViewportControllerClientQt::setPageScaleFactor):
22180        * UIProcess/qt/PageViewportControllerClientQt.h:
22181        (PageViewportControllerClientQt):
22182
221832013-01-14  Max Vujovic  <mvujovic@adobe.com>
22184
22185        [ANGLE] Update ANGLE in WebKit
22186        https://bugs.webkit.org/show_bug.cgi?id=106274
22187
22188        Reviewed by Dean Jackson.
22189
22190        Update ANGLE to r1641.
22191
22192        * PlatformEfl.cmake: Add ANGLE/include to the include directories list because ShaderLang.h
22193        now includes "KHR/khrplatform.h", which is located in ANGLE/include/KHR/khrplatform.h.
22194
221952013-01-14  Alexey Proskuryakov  <ap@apple.com>
22196
22197        NetworkProcess scheduler never resumes resource loads that were postponed
22198        due to connection limit
22199        https://bugs.webkit.org/show_bug.cgi?id=106821
22200
22201        Reviewed by Brady Eidson.
22202
22203        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
22204        (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
22205        * NetworkProcess/NetworkResourceLoadScheduler.h:
22206        Remove an uninitialized variable that could prevent loading.
22207
222082013-01-11  Balazs Kelemen  <kbalazs@webkit.org>
22209
22210        [Qt][WK2] plugin tests assert in debug
22211        https://bugs.webkit.org/show_bug.cgi?id=106659
22212
22213        Reviewed by Benjamin Poulain.
22214
22215        Fixed the misuse of String::split.
22216
22217        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
22218        (WebKit::truncateToSingleLine):
22219        Add an assert to make sure this function works well. I just walked there
22220        while debugging the bug, and although it was innocent, adding this assertion
22221        is logical.
22222        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
22223        (WebKit::PluginProcessProxy::scanPlugin):
22224        The ASSERT was wrong. We have three lines, each ends in a newline, so split
22225        with allowEmptyEntries=true will devide it to 4 substrings.
22226
222272013-01-11  Filip Pizlo  <fpizlo@apple.com>
22228
22229        JITThunks should not compile only because of luck
22230        https://bugs.webkit.org/show_bug.cgi?id=105696
22231
22232        Rubber stamped by Sam Weinig.
22233
22234        * Shared/APIObject.cpp:
22235        * Shared/linux/WebMemorySamplerLinux.cpp:
22236        * UIProcess/WebContext.cpp:
22237        * WebProcess/WebPage/WebPage.cpp:
22238        * WebProcess/efl/WebProcessMainEfl.cpp:
22239
222402013-01-11  Huang Dongsung  <luxtella@company100.net>
22241
22242        Coordinated Graphics: Remove the dependency of WebCoordinatedSurface::Handle from Coordinated Graphics.
22243        https://bugs.webkit.org/show_bug.cgi?id=104347
22244
22245        Reviewed by Noam Rosenthal.
22246
22247        It is a preparation patch for Threaded Coordinated Graphics on WK1.
22248
22249        Currently, UpdateAtlas and CoordinatedImageBacking use
22250        WebCoordinatedSurface::Handle, but WebCoordinatedSurface::Handle can be
22251        used only IPC-based Coordinated Graphics. So this patch removes the
22252        dependency of WebCoordinatedSurface::Handle from UpdateAtlas and
22253        CoordinatedImageBacking. Now CoordinatedLayerTreeHost converts the
22254        handle to a WebCoordinatedSurface.
22255
22256        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
22257        (WebKit::CoordinatedImageBacking::update):
22258        (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
22259        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
22260        (Coordinator):
22261        (CoordinatedImageBacking):
22262        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
22263        (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
22264        (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
22265        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
22266        (WebKit):
22267        (CoordinatedLayerTreeHost):
22268        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
22269        (WebKit::UpdateAtlas::UpdateAtlas):
22270        (WebKit::UpdateAtlas::~UpdateAtlas):
22271        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
22272        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
22273        (UpdateAtlasClient):
22274        (UpdateAtlas):
22275
222762013-01-11  Alexey Proskuryakov  <ap@apple.com>
22277
22278        [WK2] Network process unblocks all waiting threads when any sync reply arrives
22279        https://bugs.webkit.org/show_bug.cgi?id=106713
22280
22281        Reviewed by Brady Eidson.
22282
22283        Switch to sending sync CoreIPC messages, which is now possible.
22284
22285        * NetworkProcess/NetworkConnectionToWebProcess.h:
22286        * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didClose):
22287        We no longer have response maps.
22288
22289        * NetworkProcess/NetworkResourceLoader.cpp:
22290        (WebKit::NetworkResourceLoader::willSendRequest): Just send a sync message.
22291        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
22292        (WebKit::NetworkResourceLoader::didReceiveDataArray): Added an unrelated assertion.
22293
22294        * NetworkProcess/NetworkResourceLoader.h:
22295        * NetworkProcess/NetworkResourceLoader.messages.in:
22296        Removed no longer used reply messages and their handlers.
22297
22298        * Shared/BlockingResponseMap.h: Removed a bool version, which was not perfectly
22299        safe, and only used in NetworkProcess.
22300        (BlockingResponseMap::didReceiveResponse): Updated a still valid FIXME to not refer
22301        to network process.
22302        (BlockingResponseMap::cancel): Ditto.
22303
22304        * WebProcess/Network/NetworkProcessConnection.h:
22305        * WebProcess/Network/NetworkProcessConnection.cpp:
22306        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
22307        Plumbing to handle sync messages.
22308
22309        * WebProcess/Network/WebResourceLoader.cpp:
22310        (WebKit::WebResourceLoader::willSendRequest):
22311        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
22312        * WebProcess/Network/WebResourceLoader.h:
22313        * WebProcess/Network/WebResourceLoader.messages.in:
22314        Updated (simplified) sync messages and their handlers.
22315
223162013-01-11  Alexey Proskuryakov  <ap@apple.com>
22317
22318        [WK2] Make it possible to send sync messages from secondary threads
22319        https://bugs.webkit.org/show_bug.cgi?id=106708
22320
22321        Apply another review comment (overlooked a "ditto").
22322
22323        * Platform/CoreIPC/Connection.cpp:
22324        (CoreIPC::Connection::sendSyncMessage):
22325
223262013-01-11  Alexey Proskuryakov  <ap@apple.com>
22327
22328        [WK2] Make it possible to send sync messages from secondary threads
22329        https://bugs.webkit.org/show_bug.cgi?id=106708
22330
22331        Reviewed by Anders Carlsson.
22332
22333        It is hugely beneficial to implement sync messages at Connection level, because
22334        ad hoc code that blocks a thread and wakes it up when a reply arrives on main
22335        thread can't be made equally performant. A CoreOPC MessageDecoder can be moved across
22336        threads, which can't be done with a decoded argument passed by reference to client code.
22337
22338        Sync messages from secondary threads are tracked in much simpler data structure
22339        than client thread ones, because we don't need to be concerned with incoming messages.
22340
22341        * Platform/CoreIPC/Connection.cpp:
22342        (Connection::SecondaryThreadPendingSyncReply):
22343        (CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply):
22344        (CoreIPC::Connection::createSyncMessageEncoder):
22345        (CoreIPC::Connection::sendSyncMessage):
22346        (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
22347        (CoreIPC::Connection::processIncomingSyncReply):
22348        (CoreIPC::Connection::connectionDidClose):
22349
22350        * Platform/CoreIPC/Connection.h: Also corrected a misleading comment.
22351
223522013-01-11  Dan Bernstein  <mitz@apple.com>
22353
22354        Exclude unused resources.
22355
22356        Reviewed by Darin Adler.
22357
22358        * Configurations/WebKit2.xcconfig: Defined EXCLUDED_SOURCE_FILE_NAMES.
22359
223602013-01-11  Anders Carlsson  <andersca@apple.com>
22361
22362        Incoming synchronous messages can sometimes arrive out of order
22363        https://bugs.webkit.org/show_bug.cgi?id=106677
22364        <rdar://problem/12889499>
22365
22366        Reviewed by Andreas Kling.
22367
22368        In cases where synchronous messages come in more than one connection at the same time, we can sometimes deliver
22369        the synchronous messages before any pending asynchronous messages on that connection. This breaks FIFO ordering.
22370
22371        Fix this by separating the "dispatch all incoming synchronous messages" phase out into multiple phases, so we'll
22372        schedule one call per connection instead of one call for all connections.
22373
22374        * Platform/CoreIPC/Connection.cpp:
22375        (Connection::SyncMessageState):
22376        (CoreIPC::Connection::SyncMessageState::SyncMessageState):
22377        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
22378        (CoreIPC::Connection::SyncMessageState::dispatchMessages):
22379        (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
22380        (CoreIPC::Connection::waitForSyncReply):
22381
223822013-01-11  Zan Dobersek  <zandobersek@gmail.com>
22383
22384        Unreviewed. Build fix for the GTK debug builds of WebKit2 after r139415.
22385
22386        * WebProcess/gtk/WebGtkExtensionManager.cpp:
22387
223882013-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
22389
22390        [GTK] Remove support for global extensions in WebKit2 GTK+
22391        https://bugs.webkit.org/show_bug.cgi?id=106646
22392
22393        Reviewed by Xan Lopez.
22394
22395        We have now API to set the web extensions directory. A global web
22396        estensions directory doesn't make sense anymore.
22397
22398        * WebProcess/gtk/WebGtkExtensionManager.cpp:
22399        (WebKit::WebGtkExtensionManager::scanModules): Only scan the given
22400        directory for modules.
22401        (WebKit::WebGtkExtensionManager::initialize): Load modules found
22402        in the given directory only.
22403        * WebProcess/gtk/WebGtkExtensionManager.h:
22404        (WebGtkExtensionManager): Remove appendModuleDirectories().
22405
224062013-01-11  KwangYong Choi  <ky0.choi@samsung.com>
22407
22408        [EFL][WK2] Add ewk_view_page_contents_get() API
22409        https://bugs.webkit.org/show_bug.cgi?id=106440
22410
22411        Reviewed by Gyuyoung Kim.
22412
22413        Add ewk_view_page_contents_get() API for getting contents of the current page.
22414        Currently, it supports only MHTML type.
22415
22416        * UIProcess/API/efl/ewk_view.cpp:
22417        (Ewk_Page_Contents_Context):
22418        (ewkViewPageContentsCallback):
22419        (ewk_view_page_contents_get):
22420        * UIProcess/API/efl/ewk_view.h:
22421        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
22422        (PageContentsCallback):
22423        (TEST_F):
22424
224252013-01-11  Krzysztof Czech  <k.czech@samsung.com>
22426
22427        [WK2] Missing HAVE(ACCESSIBILITY) guards to some atk/ accessibility files.
22428        https://bugs.webkit.org/show_bug.cgi?id=106447
22429
22430        Reviewed by Andreas Kling.
22431
22432        Files do not have HAVE(ACCESSIBILITY) guards.
22433        This is source of potential build breakes, when macro is not enabled.
22434
22435        * WebProcess/WebPage/atk/WebPageAccessibilityObject.h:
22436        * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
22437
224382013-01-11  KwangYong Choi  <ky0.choi@samsung.com>
22439
22440        [EFL] Fix unused parameter build error
22441        https://bugs.webkit.org/show_bug.cgi?id=106639
22442
22443        Reviewed by Kentaro Hara.
22444
22445        Use UNUSED_PARAM macro to fix build error.
22446
22447        * UIProcess/API/efl/ewk_color_picker.cpp:
22448        (ewk_color_picker_color_set):
22449        (ewk_color_picker_color_get):
22450        * UIProcess/API/efl/ewk_context.cpp:
22451        (ewk_context_additional_plugin_path_set):
22452        * UIProcess/API/efl/ewk_settings.cpp:
22453        (ewk_settings_fullscreen_enabled_set):
22454        (ewk_settings_fullscreen_enabled_get):
22455        * UIProcess/API/efl/ewk_view.cpp:
22456        (ewk_view_intent_deliver):
22457        (ewk_view_feed_touch_event):
22458        (ewk_view_touch_events_enabled_set):
22459        (ewk_view_touch_events_enabled_get):
22460        (ewk_view_fullscreen_exit):
22461
224622013-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
22463
22464        [GTK] Add API to set the web extensions directory to WebKit2 GTK+
22465        https://bugs.webkit.org/show_bug.cgi?id=106462
22466
22467        Reviewed by Xan Lopez.
22468
22469        * UIProcess/API/gtk/WebKitWebContext.cpp:
22470        (webkit_web_context_set_web_extensions_directory): Set
22471        the given directory as injected bundle initialization user data.
22472        * UIProcess/API/gtk/WebKitWebContext.h:
22473        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
22474        * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
22475        (beforeAll): Update the test to use
22476        webkit_web_context_set_web_extensions_directory()
22477        instead of setting the WEBKIT_WEB_EXTENSIONS_PATH env var.
22478        * WebProcess/gtk/WebGtkExtensionManager.cpp:
22479        (WebKit::WebGtkExtensionManager::scanModules): Append the given
22480        additional web extensions directory to the list of directories to
22481        scan for modules.
22482        (WebKit::WebGtkExtensionManager::initialize): Get the additional
22483        web extensions directory from initialization user data and pass it
22484        to scanModules().
22485        * WebProcess/gtk/WebGtkExtensionManager.h:
22486        (WebGtkExtensionManager): Add userData parameter.
22487        * WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
22488        (WKBundleInitialize): Pass initialization user data to
22489        WebGtkExtensionManager.
22490
224912013-01-10  Huang Dongsung  <luxtella@company100.net>
22492
22493        [Qt][EFL] Rename from xxxContentsScale() to xxxScale() in PageViewportController.
22494        https://bugs.webkit.org/show_bug.cgi?id=106537
22495
22496        Reviewed by Kenneth Rohde Christiansen.
22497
22498        Rename 3 methods to match the terms of ViewportAttributes.
22499
22500        * UIProcess/API/qt/qwebkittest.cpp:
22501        (QWebKitTest::viewport):
22502        (QWebKitTest::contentsScale):
22503        * UIProcess/PageViewportController.h:
22504        (WebKit::PageViewportController::minimumScale):
22505        (WebKit::PageViewportController::maximumScale):
22506        (WebKit::PageViewportController::currentScale):
22507        * UIProcess/qt/PageViewportControllerClientQt.cpp:
22508        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
22509
225102013-01-10  Michael Pruett  <michael@68k.org>
22511
22512        [WK2] Set IndexedDB database path in WK2
22513        https://bugs.webkit.org/show_bug.cgi?id=106257
22514
22515        Reviewed by Benjamin Poulain.
22516
22517        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
22518        (WebKit::WebKeyValueStorageManager::initialize):
22519        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
22520        (WebKeyValueStorageManager):
22521        (WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
22522        * WebProcess/WebPage/WebPageGroupProxy.cpp:
22523        (WebKit::WebPageGroupProxy::WebPageGroupProxy):
22524
225252013-01-10  Tim Horton  <timothy_horton@apple.com>
22526
22527        Ensure that WebPageProxy's notion of pageScaleFactor is reset on didCommitLoad
22528        https://bugs.webkit.org/show_bug.cgi?id=103290
22529        <rdar://problem/12752467>
22530
22531        Reviewed by Darin Adler.
22532
22533        When a standard main frame load is committed, we reset the WebPage's
22534        pageScaleFactor, if it's not the default. However, if the previous
22535        page had a full-main-frame plugin that was handling page scaling itself,
22536        WebPageProxy can have a cached pageScaleFactor != 1, while WebPage
22537        now (since the plugin that was overriding (set)pageScaleFactor is gone)
22538        has a pageScaleFactor of 1, causing us to skip the call to reset the
22539        WebPage's pageScaleFactor.
22540
22541        Therefore, when WebPageProxy is notified that a standard main-frame load
22542        is committed, reset its cached notion of the pageScaleFactor.
22543
22544        * UIProcess/WebPageProxy.cpp:
22545        (WebKit::WebPageProxy::didCommitLoadForFrame): Add a parameter which corresponds to FrameLoadType, so we can
22546        determine whether a frame load is of FrameLoadTypeStandard (which matches the check to reset page scale in
22547        WebFrameLoaderClient::didCommitLoad), so we can reset m_pageScaleFactor.
22548        * UIProcess/WebPageProxy.h:
22549        (WebPageProxy): Add frameLoadType parameter to didCommitLoadForFrame.
22550        * UIProcess/WebPageProxy.messages.in: Add frameLoadType parameter to didCommitLoadForFrame.
22551        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
22552        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): Pass frameLoadType parameter to didCommitLoadForFrame.
22553
225542013-01-10  Tim Horton  <timothy_horton@apple.com>
22555
22556        PDFPlugin: Cmd-/+ should affect PDF page scale
22557        https://bugs.webkit.org/show_bug.cgi?id=103285
22558        <rdar://problem/12710469>
22559
22560        Reviewed by Darin Adler.
22561
22562        Plugins which support handling page scale themselves should also handle
22563        page zoom, as it is a very similar concept.
22564
22565        This patch disables text zoom in the case of a main-frame plugin which supports
22566        page scale factor changes, as it is not needed in the PDFPlugin case
22567        (we can't do text-only scale for PDF), but it could be added later if needed.
22568
22569        * UIProcess/WebPageProxy.cpp:
22570        (WebKit::WebPageProxy::pageZoomFactorDidChange):
22571        * UIProcess/WebPageProxy.h:
22572        (WebPageProxy):
22573        * UIProcess/WebPageProxy.messages.in:
22574        Add WebPageProxy::pageZoomFactorDidChange, to notify WebPageProxy of
22575        out-of-band page zoom factor changes (in this case, from PluginView).
22576
22577        * WebProcess/Plugins/PluginView.cpp:
22578        (WebKit::PluginView::setPageScaleFactor):
22579        Update WebPageProxy's notion of the current page zoom whenever PluginView
22580        is notified of a page scale factor change.
22581
22582        * WebProcess/WebPage/WebPage.cpp:
22583        (WebKit::WebPage::setTextZoomFactor): We don't support text zoom in plugins, but
22584        we also don't want it to silently act on the Frame if we have a plugin that
22585        purports to handle page scale itself. Return early if this is the case.
22586        (WebKit::WebPage::pageZoomFactor): For plugins that support page scale factor,
22587        we equate page scale and page zoom. Return the PluginView's page scale factor
22588        in place of the Frame's page zoom factor.
22589        (WebKit::WebPage::setPageZoomFactor): Make page zoom changes in the aforementioned
22590        case affect the PluginView's page scale.
22591        (WebKit::WebPage::setPageAndTextZoomFactors): Ditto.
22592
225932013-01-10  Tim Horton  <timothy_horton@apple.com>
22594
22595        PDFPlugin: Header cleanup
22596        https://bugs.webkit.org/show_bug.cgi?id=106540
22597
22598        Reviewed by Andreas Kling.
22599
22600        * WebProcess/Plugins/PDF/PDFPlugin.mm: Remove some unneeded headers.
22601
226022013-01-10  Zan Dobersek  <zandobersek@gmail.com>
22603
22604        Remove the ENABLE_ANIMATION_API feature define occurences
22605        https://bugs.webkit.org/show_bug.cgi?id=106544
22606
22607        Reviewed by Simon Fraser.
22608
22609        The Animation API code was removed in r137243. The ENABLE_ANIMATION_API
22610        feature define handling still lingers in various build systems and configurations
22611        but is of no use, so it should be removed.
22612
22613        * Configurations/FeatureDefines.xcconfig:
22614
226152013-01-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
22616
22617        [EFL][WK2] Contents gets blurry when page is scrolled down
22618        https://bugs.webkit.org/show_bug.cgi?id=106545
22619
22620        Reviewed by Kenneth Rohde Christiansen.
22621
22622        The bound values for scrolling also should be pixel aligned, otherwise
22623        it leads to page contents blurriness when the page is scrolled down.
22624
22625        * UIProcess/PageViewportController.cpp:
22626        (WebKit::PageViewportController::pageDidRequestScroll):
22627
226282013-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
22629
22630        [GTK] Add support for loading web process extensions
22631        https://bugs.webkit.org/show_bug.cgi?id=105631
22632
22633        Reviewed by Gustavo Noronha Silva.
22634
22635        * GNUmakefile.am: Link to libWebCoreDOM.la and build injected
22636        bundle lib.
22637        * GNUmakefile.list.am: Add new files to compilation.
22638        * UIProcess/API/gtk/WebKitWebContext.cpp:
22639        (injectedBundleDirectory): Helper funtion to get the injected
22640        bundle directory.
22641        (injectedBundleFilename): Helper funtion to get the injected undle
22642        library full path.
22643        (createDefaultWebContext): Create the WebContext with an injected
22644        bundle path.
22645        * UIProcess/API/gtk/WebKitWebView.cpp:
22646        (webkit_web_view_get_page_id): Return the identifier of the web
22647        page associated to the web view.
22648        * UIProcess/API/gtk/WebKitWebView.h:
22649        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
22650        web extensions.
22651        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
22652        * UIProcess/API/gtk/docs/webkit2gtk.types: Add new types.
22653        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
22654        * UIProcess/API/gtk/tests/TestMain.cpp:
22655        (main):
22656        * UIProcess/API/gtk/tests/TestWebExtensions.cpp: Added.
22657        (testWebExtension):
22658        (beforeAll):
22659        (afterAll):
22660        * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Added.
22661        (methodCallCallback):
22662        (webkit_web_extension_initialize):
22663        * UIProcess/API/gtk/tests/WebKitTestBus.cpp: Added.
22664        (WebKitTestBus::WebKitTestBus):
22665        (WebKitTestBus::run):
22666        (WebKitTestBus::~WebKitTestBus):
22667        (WebKitTestBus::connection):
22668        (onNameAppeared):
22669        (WebKitTestBus::createProxy):
22670        * UIProcess/API/gtk/tests/WebKitTestBus.h: Added.
22671        (WebKitTestBus):
22672        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: Added.
22673        (_WebKitWebExtensionPrivate):
22674        (webkitWebExtensionPageCreated): Create a WebKitWebPage for the
22675        newly crated page and emit WebKitWebExtension::page-created
22676        signals.
22677        (webkitWebExtensionPageDestroy): Remove the page from the map.
22678        (didCreatePage): Call webkitWebExtensionPageCreated().
22679        (willDestroyPage): Call webkitWebExtensionPageDestroy().
22680        (webkitWebExtensionCreate): Create a new WebKitWebExtension and
22681        initialize the injected bundle client.
22682        (webkit_web_extension_get_page): Return the WebKitWebPage for the
22683        given page identifier.
22684        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Added.
22685        (_WebKitWebExtension):
22686        (_WebKitWebExtensionClass):
22687        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionDefines.h: Added.
22688        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionPrivate.h: Added.
22689        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: Added.
22690        (_WebKitWebPagePrivate):
22691        (webkit_web_page_class_init):
22692        (webkitWebPageCreate): Create a new WebKitWebPage.
22693        (webkit_web_page_get_dom_document): Return the WebKitDOMDocument
22694        loaded in the WebKitWebPage.
22695        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Added.
22696        (_WebKitWebPage):
22697        (_WebKitWebPageClass):
22698        * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h: Added.
22699        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: Added.
22700        * WebProcess/gtk/WebGtkExtensionManager.cpp: Added.
22701        (WebKit::WebGtkExtensionManager::shared): Return the global shared
22702        instance.
22703        (WebKit::WebGtkExtensionManager::WebGtkExtensionManager):
22704        (WebKit::WebGtkExtensionManager::appendModuleDirectories): Add
22705        directories to scan for modules.
22706        (WebKit::WebGtkExtensionManager::scanModules): Scan for modules.
22707        (WebKit::WebGtkExtensionManager::initialize): Load and initialize
22708        the modules found.
22709        * WebProcess/gtk/WebGtkExtensionManager.h: Added.
22710        * WebProcess/gtk/WebGtkInjectedBundleMain.cpp: Added.
22711        (WKBundleInitialize): Initialize WebGtkExtensionManager.
22712
227132013-01-10  Huang Dongsung  <luxtella@company100.net>
22714
22715        REGRESSION(r139189): pixel alignment must be performed in device units.
22716        https://bugs.webkit.org/show_bug.cgi?id=106504
22717
22718        Reviewed by Kenneth Rohde Christiansen.
22719
22720        After r139189, pixel alignment is performed in UI units. If deviceScaleFactor is
22721        fractional number, adjusted scroll position can blur non-composited layer.
22722
22723        * UIProcess/PageViewportController.cpp:
22724        (WebKit::PageViewportController::pixelAlignedFloatPoint):
22725
227262013-01-10  Arnaud Renevier  <a.renevier@sisa.samsung.com>
22727
22728        [WK2] [Gtk] web inspector is not visible.
22729        https://bugs.webkit.org/show_bug.cgi?id=106050
22730
22731        Reviewed by Carlos Garcia Campos.
22732
22733        Use webkitWebViewBaseAddWebInspector when adding web inspector to
22734        webview in order to make webview aware of its existence.
22735
22736        Use gtk_container_add when adding web inspector wiew to its own window
22737        because m_inspectorWindow is not a WebKitWebViewBase.
22738
22739        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
22740        (WebKit::WebInspectorProxy::createInspectorWindow):
22741        (WebKit::WebInspectorProxy::platformAttach):
22742
227432013-01-09  Seokju Kwon  <seokju.kwon@gmail.com>
22744
22745        [WK2][EFL] Add guard around NativeWebTouchEvent
22746        https://bugs.webkit.org/show_bug.cgi?id=105846
22747
22748        Reviewed by Benjamin Poulain.
22749
22750        Fix EFL build without TOUCH_EVENTS.
22751
22752        * Shared/efl/NativeWebTouchEventEfl.cpp: Add TOUCH_EVENTS guard.
22753
227542013-01-09  Huang Dongsung  <luxtella@company100.net>
22755
22756        Remove deviceScaleFactor argument in computeMinimumScaleFactorForContentContained().
22757        https://bugs.webkit.org/show_bug.cgi?id=106500
22758
22759        Reviewed by Kenneth Rohde Christiansen.
22760
22761        deviceScaleFactor argument is not used after r139189.
22762
22763        * UIProcess/PageViewportController.cpp:
22764        (WebKit::PageViewportController::updateMinimumScaleToFit):
22765
227662013-01-09  Huang Dongsung  <luxtella@company100.net>
22767
22768        [QT][EFL][WK2] Rename scale members in PageViewportController.
22769        https://bugs.webkit.org/show_bug.cgi?id=106499
22770
22771        Reviewed by Kenneth Rohde Christiansen.
22772
22773        Rename from m_contentsScale to m_pageScaleFactor and from devicePixelRatio() to
22774        deviceScaleFactor() to match terms of WebCore.
22775
22776        * UIProcess/API/qt/qwebkittest.cpp:
22777        (QWebKitTest::devicePixelRatio):
22778        * UIProcess/PageViewportController.cpp:
22779        (WebKit::PageViewportController::PageViewportController):
22780        (WebKit::PageViewportController::deviceScaleFactor):
22781        (WebKit::PageViewportController::pixelAlignedFloatPoint):
22782        (WebKit::PageViewportController::boundContentsPosition):
22783        (WebKit::PageViewportController::didRenderFrame):
22784        (WebKit::PageViewportController::didChangeContentsVisibility):
22785        (WebKit::PageViewportController::syncVisibleContents):
22786        (WebKit::PageViewportController::visibleContentsSize):
22787        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
22788        (WebKit::PageViewportController::updateMinimumScaleToFit):
22789        * UIProcess/PageViewportController.h:
22790        (PageViewportController):
22791        (WebKit::PageViewportController::currentContentsScale):
22792        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
22793        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
22794
227952013-01-09  KyungTae Kim  <ktf.kim@samsung.com>
22796
22797        [WK2][soup] Get rid of LocalTerminationDisabler
22798        https://bugs.webkit.org/show_bug.cgi?id=106510
22799
22800        Unreviewed build fix.
22801
22802        With r139257(bug 106501), the LocalTerminationDisabler was removed from WebKit::ChildProcess.
22803        So, it should be removed on setCookiePersistentStorage, too.
22804
22805        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
22806        (WebKit::WebCookieManager::setCookiePersistentStorage):
22807
228082013-01-09  Alexey Proskuryakov  <ap@apple.com>
22809
22810        [WK2] Get rid of LocalTerminationDisabler
22811        https://bugs.webkit.org/show_bug.cgi?id=106501
22812
22813        Reviewed by Anders Carlsson.
22814
22815        LocalTerminationDisabler is no-op - termination timer can't fire inside its scope
22816        even if not stopped.
22817
22818        * PluginProcess/PluginProcess.cpp:
22819        (WebKit::PluginProcess::getSitesWithData):
22820        (WebKit::PluginProcess::clearSiteData):
22821        * Shared/ChildProcess.h:
22822        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
22823        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
22824        (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
22825        (WebKit::WebApplicationCacheManager::deleteAllEntries):
22826        (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
22827        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
22828        (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
22829        (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
22830        (WebKit::WebKeyValueStorageManager::deleteAllEntries):
22831        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
22832        (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
22833        (WebKit::WebMediaCacheManager::clearCacheForHostname):
22834        (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
22835        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
22836        (WebKit::WebResourceCacheManager::getCacheOrigins):
22837        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
22838        (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
22839        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
22840        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
22841        (WebKit::WebDatabaseManager::getDatabaseOrigins):
22842        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
22843        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
22844        (WebKit::WebDatabaseManager::deleteAllDatabases):
22845        (WebKit::WebDatabaseManager::setQuotaForOrigin):
22846        * WebProcess/WebProcess.cpp:
22847        (WebKit::WebProcess::getSitesWithPluginData):
22848        (WebKit::WebProcess::clearPluginSiteData):
22849
228502013-01-09  Kiran Muppala  <cmuppala@apple.com>
22851
22852        Add user defaults to override system proxy settings for NetworkProcess on Mac
22853        https://bugs.webkit.org/show_bug.cgi?id=104197
22854
22855        Reviewed by Brady Eidson.
22856
22857        For internal testing and debugging, it is useful to have a defaults write to set the HTTP and HTTPS proxy specific to a
22858        WebKit2 client application and not affect the system proxy settings on Mac.
22859
22860        * NetworkProcess/mac/NetworkProcessMac.mm:
22861        (WebKit::overrideSystemProxies): Add helper method to parse proxy URLs and populate settings dictionary passed
22862        to WKCFNetworkSetOverrideSystemProxySettings.
22863        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call overrideSystemProxies if process creation parameters for
22864        http proxy or https proxy is set.
22865        * Shared/Network/NetworkProcessCreationParameters.cpp: Add httpProxy and httpsProxy process creation parameters on Mac.
22866        (WebKit::NetworkProcessCreationParameters::encode):
22867        (WebKit::NetworkProcessCreationParameters::decode):
22868        * Shared/Network/NetworkProcessCreationParameters.h:
22869        * UIProcess/mac/WebContextMac.mm:
22870        (WebKit::WebContext::platformInitializeNetworkProcess): Initialize httpProxy and httpsProxy process creation parameters
22871        based on the value of WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey user default respectively.
22872
228732013-01-09  Alexey Proskuryakov  <ap@apple.com>
22874
22875        Local builds of NetworkProcess should have a process icon
22876        https://bugs.webkit.org/show_bug.cgi?id=106489
22877
22878        Reviewed by Mark Rowe.
22879
22880        * Resources/WebKit.icns: Copied from Source/WebKit2/WebProcess/mac/WebKit.icns.
22881        * WebProcess/mac/WebKit.icns: Removed.
22882        Copied to a shared location. We don't have different icons, so just using WebKit one.
22883
22884        * Configurations/NetworkProcess.xcconfig:
22885        * NetworkProcess/Info.plist:
22886        * WebKit2.xcodeproj/project.pbxproj:
22887        Same changes as for WebProcess.
22888
228892013-01-09  Andras Becsi  <andras.becsi@digia.com>
22890
22891        [Qt][WK2] Fix a typo in in the double-tap-to-zoom logic
22892
22893        Rubber-stamped by Csaba Osztrogonác.
22894
22895        The qMin for the upper boundary of the scale was accidentally
22896        changed to qMax in r139189, change it back to fix the Qt API tests.
22897
22898        * UIProcess/qt/PageViewportControllerClientQt.cpp:
22899        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
22900
229012013-01-09  Andras Becsi  <andras.becsi@digia.com>
22902
22903        [Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from PageViewportController
22904        https://bugs.webkit.org/show_bug.cgi?id=106355
22905
22906        Reviewed by Kenneth Rohde Christiansen.
22907
22908        Since r137597 Qt uses the device pixel ratio of the underlying
22909        platform window as the device pixel ratio in WebCore.
22910        The tiles are rendered with the effective scale (scale adjusted with
22911        the device scale factor) and the projection matrix is also adjusted
22912        with the device pixel ratio when painting.
22913        As a result we can follow the same approach as QtQuick and all the
22914        coordinates in PageViewportController need to be in device independent
22915        pixels (UI pixels) thus we do no longer need to adjust with the device
22916        pixel ratio when calculating the viewport attributes.
22917        This simplifies the logic significantly and increases robustness,
22918        but does not allow to set a custom device pixel ratio different from
22919        the factor of the underlying platform (eg. for testing purposes).
22920        This patch is conceptually a follow-up of r137597 and fixes layout
22921        and canvas size on retina display.
22922
22923        * UIProcess/PageViewportController.cpp:
22924        (WebKit::PageViewportController::PageViewportController):
22925        (WebKit::PageViewportController::innerBoundedViewportScale):
22926        (WebKit::PageViewportController::outerBoundedViewportScale):
22927        (WebKit::PageViewportController::pixelAlignedFloatPoint):
22928        (WebKit::PageViewportController::boundContentsPosition):
22929        (WebKit::PageViewportController::didRenderFrame):
22930        (WebKit::PageViewportController::pageTransitionViewportReady):
22931        (WebKit::PageViewportController::didChangeContentsVisibility):
22932        (WebKit::PageViewportController::syncVisibleContents):
22933        (WebKit::PageViewportController::visibleContentsSize):
22934        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
22935        (WebKit::PageViewportController::updateMinimumScaleToFit):
22936        * UIProcess/PageViewportController.h:
22937        (WebKit::PageViewportController::currentContentsScale):
22938        (PageViewportController):
22939        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
22940        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
22941        Adjust the viewport size with the device pixel ratio to keep previous
22942        behaviour.
22943        * UIProcess/qt/PageViewportControllerClientQt.cpp:
22944        (WebKit::PageViewportControllerClientQt::focusEditableArea):
22945        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
22946        * UIProcess/qt/QtWebPageSGNode.cpp:
22947        (WebKit::ContentsSGNode::clipRect):
22948        * WebProcess/WebPage/WebPage.cpp:
22949        (WebKit::WebPage::sendViewportAttributesChanged):
22950
229512013-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
22952
22953        Unreviewed. Fix make distcheck.
22954
22955        * GNUmakefile.list.am: Add missing headers.
22956
229572013-01-08  Sam Weinig  <sam@webkit.org>
22958
22959        Add Owners file.
22960
22961        * Owners: Added.
22962
229632013-01-08  Anders Carlsson  <andersca@apple.com>
22964
22965        Unbreak the world.
22966
22967        * WebProcess/com.apple.WebProcess.sb.in:
22968
229692013-01-08  Anders Carlsson  <andersca@apple.com>
22970
22971        Silence a sandbox violation
22972        https://bugs.webkit.org/show_bug.cgi?id=106386
22973        <rdar://problem/12976435>
22974
22975        Reviewed by Andreas Kling.
22976
22977        * WebProcess/com.apple.WebProcess.sb.in:
22978
229792013-01-08  Sam Weinig  <sam@webkit.org>
22980
22981        This should be camel case. Must remove to fix.
22982
22983        * OWNERS: Removed.
22984
229852013-01-08  Alexey Proskuryakov  <ap@apple.com>
22986
22987        <rdar://problem/12944813> Network process temporary and cache directories are not set correctly
22988
22989        Reviewed by Sam Weinig.
22990
22991        Set DIRHELPER_USER_DIR_SUFFIX, like we do for WebProcess. Also while in this function,
22992        enabled sandbox-style file quarantine.
22993
22994        * NetworkProcess/mac/NetworkProcessMac.mm:
22995        (WebKit::NetworkProcess::initializeSandbox):
22996
229972013-01-08  Anders Carlsson  <andersca@apple.com>
22998
22999        Use correct capitalization in service name
23000        https://bugs.webkit.org/show_bug.cgi?id=106368
23001
23002        Reviewed by Andreas Kling.
23003
23004        * WebProcess/com.apple.WebProcess.sb.in:
23005
230062013-01-08  Anders Carlsson  <andersca@apple.com>
23007
23008        Tweak sandbox profile
23009        https://bugs.webkit.org/show_bug.cgi?id=106362
23010        <rdar://problem/12884745>
23011
23012        Reviewed by Sam Weinig.
23013
23014        * WebProcess/com.apple.WebProcess.sb.in:
23015        Allow access to com.apple.CoreServices.launchservicesd.
23016
230172013-01-08  Sam Weinig  <sam@webkit.org>
23018
23019        Add OWNERS file.
23020
23021        * OWNERS: Added.
23022
230232013-01-08  Mark Lam  <mark.lam@apple.com>
23024
23025        Removed the need for the ProposedDatabase mechanism.
23026        https://bugs.webkit.org/show_bug.cgi?id=106292.
23027
23028        Reviewed by Sam Weinig.
23029
23030        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
23031        (WebKit::WebChromeClient::exceededDatabaseQuota):
23032        * WebProcess/WebCoreSupport/WebChromeClient.h:
23033        (WebChromeClient):
23034
230352013-01-08  Sam Weinig  <sam@webkit.org>
23036
23037        Remove dead Connection members in ChildProcess subclasses (and their users)
23038        https://bugs.webkit.org/show_bug.cgi?id=106347
23039        <rdar://problem/12973955>
23040
23041        Reviewed by Alexey Proskuryakov.
23042
23043        This also fixes a crash when entering fullscreen with a plug-in.
23044
23045        * PluginProcess/PluginProcess.h:
23046        Remove dead m_connection member.
23047
23048        * PluginProcess/mac/PluginProcessMac.mm:
23049        (WebKit::PluginProcess::setModalWindowIsShowing):
23050        (WebKit::PluginProcess::setFullscreenWindowIsShowing):
23051        Replace use of m_connection, which is dead, with parentProcessConnection().
23052
23053        * SharedWorkerProcess/SharedWorkerProcess.h:
23054        (SharedWorkerProcess):
23055        Remove dead m_connection member.
23056
23057        * SharedWorkerProcess/SharedWorkerProcess.cpp:
23058        (WebKit::SharedWorkerProcess::createWebProcessConnection):
23059        Replace use of m_connection, which is dead, with parentProcessConnection().
23060
230612013-01-07  Alexey Proskuryakov  <ap@apple.com>
23062
23063        [WK2] NetworkProcess should have a Keychain shim
23064        https://bugs.webkit.org/show_bug.cgi?id=106286
23065
23066        Reviewed by Sam Weinig.
23067
23068        Renamed WebProcessShim to SecItemShim. Use it with NetworkProcess, too.
23069
23070        * WebProcess/mac/SecItemShimLibrary.h: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.h.
23071        * WebProcess/mac/SecItemShimLibrary.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.mm.
23072        This code lives in SecItemShim.dylib.
23073        "Library" in the name is to avoid conflicting with SecItemShim class in WebKit2.
23074
23075        * Shared/mac/SecItemShim.cpp:
23076        (WebKit::sendSecItemRequest):
23077        (WebKit::SecItemShim::initialize):
23078        * Shared/mac/SecItemShim.h:
23079        Take a ChildProcess pointer at initialization instead of using using WebProcess::shared().
23080
23081        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
23082        Use SecItemShim with NetworkProcess too.
23083
23084        * NetworkProcess/NetworkProcess.cpp:
23085        (WebKit::NetworkProcess::initializeConnection):
23086        * NetworkProcess/NetworkProcess.h:
23087        * NetworkProcess/mac/NetworkProcessMac.mm:
23088        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
23089        * UIProcess/Network/NetworkProcessProxy.cpp:
23090        (WebKit::NetworkProcessProxy::didFinishLaunching):
23091        * WebKit2.xcodeproj/project.pbxproj:
23092        * WebProcess/WebProcess.cpp:
23093        (WebKit::WebProcess::initializeConnection):
23094        * WebProcess/mac/WebProcessMac.mm:
23095        (WebKit::WebProcess::platformInitializeProcess):
23096        * WebProcess/mac/WebProcessMainMac.mm:
23097        (WebKit::WebProcessMainDelegate::doPreInitializationWork):
23098        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
23099        (webProcessServiceMain):
23100        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
23101        * WebProcess/mac/WebProcessShim.h: Removed.
23102        * WebProcess/mac/WebProcessShim.mm: Removed.
23103        * WebProcessService/Info.plist:
23104
231052013-01-08  Kihong Kwon  <kihong.kwon@samsung.com>
23106
23107        Add DeviceProximityController to support Device Proximity Events.
23108        https://bugs.webkit.org/show_bug.cgi?id=97630
23109
23110        Reviewed by Hajime Morita.
23111
23112        Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
23113        But startUpdating and stopUpdating need to be implemented.
23114
23115        * CMakeLists.txt:
23116        * WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
23117        (WebKit):
23118        (WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
23119        (WebKit::WebDeviceProximityClient::startUpdating):
23120        (WebKit::WebDeviceProximityClient::stopUpdating):
23121        (WebKit::WebDeviceProximityClient::hasLastData):
23122        * WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
23123        (WebKit):
23124        (WebDeviceProximityClient):
23125        (WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
23126        * WebProcess/WebPage/WebPage.cpp:
23127        (WebKit::WebPage::WebPage):
23128
231292013-01-03  Sergio Villar Senin  <svillar@igalia.com>
23130
23131        [GTK] Add WebP image support
23132        https://bugs.webkit.org/show_bug.cgi?id=105915
23133
23134        Reviewed by Martin Robinson.
23135
23136        * GNUmakefile.am: link against WebP library.
23137
231382013-01-08  Csaba Osztrogonác  <ossy@webkit.org>
23139
23140        [Qt][Win] Unreviewed buildfix, partially revert
23141        r139003, because Qt port still uses these files.
23142
23143        * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
23144        * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
23145        * Platform/win/SharedMemoryWin.cpp: Added.
23146        * Platform/win/WorkQueueWin.cpp: Added.
23147
231482013-01-07  Christophe Dumez  <christophe.dumez@intel.com>
23149
23150        [CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
23151        https://bugs.webkit.org/show_bug.cgi?id=104637
23152
23153        Reviewed by Noam Rosenthal.
23154
23155        r137526 attempted to fix excessive repainting when compositing layers
23156        change size. However, the fix did not suffice for ports using Coordinated
23157        Graphics because CoordinatedGraphicsLayer::setSize() was calling
23158        setNeedsDisplay() causing a full repaint.
23159
23160        This patch removes the call to setNeedsDisplay() in
23161        CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
23162        repaint CoordinatedGraphics layers when their size changes.
23163
23164        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
23165        (WebCore::CoordinatedGraphicsLayer::setSize):
23166
231672013-01-07  Christophe Dumez  <christophe.dumez@intel.com>
23168
23169        [CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
23170        https://bugs.webkit.org/show_bug.cgi?id=106002
23171
23172        Reviewed by Noam Rosenthal.
23173
23174        Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
23175        we can track invalidation in the composited layer.
23176
23177        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
23178        (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
23179        (WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
23180        of an IntRect to setNeedsDisplayInRect() since it is what it expects.
23181        (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
23182
231832013-01-07  Anders Carlsson  <andersca@apple.com>
23184
23185        Remove PLATFORM(WIN) #ifdefs
23186        https://bugs.webkit.org/show_bug.cgi?id=106279
23187
23188        Reviewed by Sam Weinig.
23189
23190        * Platform/CoreIPC/BinarySemaphore.cpp:
23191        * Platform/CoreIPC/Connection.cpp:
23192        (CoreIPC::Connection::waitForSyncReply):
23193        * Platform/CoreIPC/Connection.h:
23194        (Client):
23195        * Platform/Module.cpp:
23196        (WebKit::Module::Module):
23197        * Platform/Module.h:
23198        (Module):
23199        * Platform/PlatformProcessIdentifier.h:
23200        (WebKit):
23201        * Shared/CommandLine.h:
23202        (CommandLine):
23203        * Shared/FontSmoothingLevel.h:
23204        * Shared/LayerTreeContext.h:
23205        (LayerTreeContext):
23206        * Shared/NativeWebKeyboardEvent.h:
23207        (NativeWebKeyboardEvent):
23208        * Shared/NativeWebMouseEvent.h:
23209        (NativeWebMouseEvent):
23210        * Shared/NativeWebWheelEvent.h:
23211        (NativeWebWheelEvent):
23212        * Shared/PlatformPopupMenuData.cpp:
23213        (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
23214        (WebKit::PlatformPopupMenuData::encode):
23215        (WebKit::PlatformPopupMenuData::decode):
23216        * Shared/PlatformPopupMenuData.h:
23217        (PlatformPopupMenuData):
23218        * Shared/Plugins/PluginModuleInfo.h:
23219        (PluginModuleInfo):
23220        (WebKit::PluginModuleInfo::isolatedCopy):
23221        * Shared/ShareableBitmap.h:
23222        (ShareableBitmap):
23223        * Shared/WebCoreArgumentCoders.h:
23224        * Shared/WebEvent.h:
23225        (WebMouseEvent):
23226        * Shared/WebEventConversion.cpp:
23227        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
23228        * Shared/WebMouseEvent.cpp:
23229        (WebKit::WebMouseEvent::WebMouseEvent):
23230        (WebKit::WebMouseEvent::encode):
23231        (WebKit::WebMouseEvent::decode):
23232        * Shared/WebPageCreationParameters.cpp:
23233        (WebKit::WebPageCreationParameters::encode):
23234        (WebKit::WebPageCreationParameters::decode):
23235        * Shared/WebPageCreationParameters.h:
23236        (WebPageCreationParameters):
23237        * Shared/WebPreferencesStore.h:
23238        (WebKit):
23239        * Shared/WebProcessCreationParameters.cpp:
23240        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
23241        (WebKit::WebProcessCreationParameters::encode):
23242        (WebKit::WebProcessCreationParameters::decode):
23243        * Shared/WebProcessCreationParameters.h:
23244        (WebProcessCreationParameters):
23245        * Shared/WebURLRequest.h:
23246        * Shared/WebURLResponse.h:
23247        * Shared/cg/ShareableBitmapCG.cpp:
23248        (WebKit::ShareableBitmap::makeCGImageCopy):
23249        * UIProcess/API/C/WKAPICast.h:
23250        (WebKit::toFontSmoothingLevel):
23251        (WebKit::toAPI):
23252        * UIProcess/API/C/WKPage.cpp:
23253        * UIProcess/BackingStore.h:
23254        (BackingStore):
23255        * UIProcess/PageClient.h:
23256        (WebKit):
23257        (PageClient):
23258        * UIProcess/WebContext.cpp:
23259        (WebKit::WebContext::WebContext):
23260        * UIProcess/WebContext.h:
23261        (WebContext):
23262        * UIProcess/WebFullScreenManagerProxy.h:
23263        (WebKit):
23264        * UIProcess/WebInspectorProxy.cpp:
23265        (WebKit::WebInspectorProxy::WebInspectorProxy):
23266        * UIProcess/WebInspectorProxy.h:
23267        (WebInspectorProxy):
23268        * UIProcess/WebPageProxy.cpp:
23269        (WebKit::WebPageProxy::performDragControllerAction):
23270        (WebKit::WebPageProxy::didReceiveEvent):
23271        (WebKit::WebPageProxy::creationParameters):
23272        (WebKit):
23273        * UIProcess/WebPageProxy.h:
23274        (WebKit):
23275        (WebPageProxy):
23276        * UIProcess/WebPageProxy.messages.in:
23277        * UIProcess/WebProcessProxy.h:
23278        (WebProcessProxy):
23279        * WebKit2Prefix.h:
23280        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
23281        (WKBundleFrameCopyWebArchiveFilteringSubframes):
23282        * WebProcess/InjectedBundle/InjectedBundle.cpp:
23283        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
23284        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
23285        * WebProcess/InjectedBundle/InjectedBundle.h:
23286        (WebKit):
23287        (InjectedBundle):
23288        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
23289        (WebKit::NPN_GetValue):
23290        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
23291        (NetscapePlugin):
23292        * WebProcess/Plugins/PluginController.h:
23293        (PluginController):
23294        * WebProcess/Plugins/PluginView.cpp:
23295        * WebProcess/Plugins/PluginView.h:
23296        (PluginView):
23297        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
23298        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
23299        (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
23300        (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
23301        (WebKit):
23302        * WebProcess/WebCoreSupport/WebChromeClient.h:
23303        (WebChromeClient):
23304        * WebProcess/WebCoreSupport/WebDragClient.cpp:
23305        (WebKit):
23306        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
23307        (WebKit::WebEditorClient::respondToChangedSelection):
23308        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23309        (WebKit):
23310        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
23311        (WebFrameLoaderClient):
23312        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
23313        * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
23314        (WebKit::WebPopupMenu::updateFromElement):
23315        * WebProcess/WebKitMain.cpp:
23316        * WebProcess/WebPage/DrawingArea.h:
23317        (WebKit):
23318        (DrawingArea):
23319        * WebProcess/WebPage/DrawingAreaImpl.cpp:
23320        (WebKit::DrawingAreaImpl::createGraphicsContext):
23321        * WebProcess/WebPage/DrawingAreaImpl.h:
23322        (DrawingAreaImpl):
23323        * WebProcess/WebPage/LayerTreeHost.cpp:
23324        (WebKit::LayerTreeHost::create):
23325        * WebProcess/WebPage/LayerTreeHost.h:
23326        (WebCore):
23327        (WebKit):
23328        (LayerTreeHost):
23329        * WebProcess/WebPage/WebFrame.cpp:
23330        (WebKit):
23331        * WebProcess/WebPage/WebFrame.h:
23332        (WebFrame):
23333        * WebProcess/WebPage/WebPage.cpp:
23334        (WebKit::WebPage::WebPage):
23335        (WebKit::WebPage::installPageOverlay):
23336        (WebKit::WebPage::uninstallPageOverlay):
23337        (WebKit::WebPage::getWebArchiveOfFrame):
23338        (WebKit):
23339        * WebProcess/WebPage/WebPage.h:
23340        (WebPage):
23341        * WebProcess/WebPage/WebPage.messages.in:
23342        * WebProcess/WebProcess.cpp:
23343        (WebKit::WebProcess::initializeWebProcess):
23344        (WebKit::WebProcess::ensurePrivateBrowsingSession):
23345        (WebKit::WebProcess::destroyPrivateBrowsingSession):
23346        * WebProcess/WebProcess.h:
23347        (WebProcess):
23348        * WebProcess/WebProcess.messages.in:
23349        * config.h:
23350
233512013-01-07  Alexey Proskuryakov  <ap@apple.com>
23352
23353        [WK2] Delete more obsolete Keychain code
23354        https://bugs.webkit.org/show_bug.cgi?id=106276
23355
23356        Reviewed by Sam Weinig.
23357
23358        Deleting dead code.
23359
23360        * Shared/mac/KeychainAttribute.cpp: Removed.
23361        * Shared/mac/KeychainAttribute.h: Removed.
23362        * WebKit2.xcodeproj/project.pbxproj:
23363
233642013-01-07  Alexey Proskuryakov  <ap@apple.com>
23365
23366        [WK2] Merge SecItemShimMethods files into SecItemShim
23367        https://bugs.webkit.org/show_bug.cgi?id=106278
23368
23369        Reviewed by Anders Carlsson.
23370
23371        Now that we have a SecItemShim class, there is no reason to split implementation
23372        into a separate file.
23373
23374        * Shared/mac/SecItemShim.cpp:
23375        (WebKit::responseMap):
23376        (WebKit::generateSecItemRequestID):
23377        (WebKit::sendSecItemRequest):
23378        (WebKit::webSecItemCopyMatching):
23379        (WebKit::webSecItemAdd):
23380        (WebKit::webSecItemUpdate):
23381        (WebKit::webSecItemDelete):
23382        (WebKit::SecItemShim::secItemResponse):
23383        (WebKit::SecItemShim::install):
23384        * WebKit2.xcodeproj/project.pbxproj:
23385        * WebProcess/mac/SecItemShimMethods.h: Removed.
23386        * WebProcess/mac/SecItemShimMethods.mm: Removed.
23387
233882013-01-07  Ryosuke Niwa  <rniwa@webkit.org>
23389
23390        Sorted the xcodeproj file.
23391
23392        * WebKit2.xcodeproj/project.pbxproj:
23393
233942013-01-07  Alexey Proskuryakov  <ap@apple.com>
23395
23396        [WK2] Make SecItemShim messages work with any process
23397        https://bugs.webkit.org/show_bug.cgi?id=106269
23398
23399        Reviewed by Sam Weinig.
23400
23401        Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
23402        relevant code from WebProcess(Proxy).
23403
23404        * DerivedSources.make:
23405        * Platform/CoreIPC/MessageID.h:
23406        * UIProcess/WebProcessProxy.cpp:
23407        (WebKit::WebProcessProxy::didFinishLaunching):
23408        * UIProcess/WebProcessProxy.h:
23409        (WebProcessProxy):
23410        * UIProcess/WebProcessProxy.messages.in:
23411        * Shared/mac/SecItemShim.cpp: Added.
23412        (WebKit::SecItemShim::shared):
23413        (WebKit::SecItemShim::SecItemShim):
23414        (WebKit::SecItemShim::secItemResponse):
23415        (WebKit::SecItemShim::install):
23416        (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
23417        * Shared/mac/SecItemShim.h: Added.
23418        * Shared/mac/SecItemShim.messages.in: Added.
23419        * UIProcess/mac/SecItemShimProxy.cpp: Added.
23420        (WebKit::SecItemShimProxy::shared):
23421        (WebKit::SecItemShimProxy::SecItemShimProxy):
23422        (WebKit::handleSecItemRequest):
23423        (WebKit::dispatchFunctionOnQueue):
23424        (WebKit::SecItemShimProxy::secItemRequest):
23425        (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
23426        * UIProcess/mac/SecItemShimProxy.h: Added.
23427        * UIProcess/mac/SecItemShimProxy.messages.in: Added.
23428        * UIProcess/mac/WebProcessProxyMac.mm:
23429        * WebKit2.xcodeproj/project.pbxproj:
23430        * WebProcess/WebProcess.cpp:
23431        (WebKit::WebProcess::initializeConnection):
23432        * WebProcess/WebProcess.h:
23433        * WebProcess/WebProcess.messages.in:
23434        * WebProcess/mac/SecItemShimMethods.mm:
23435        (WebKit::sendSeqItemRequest):
23436        * WebProcess/mac/WebProcessMac.mm:
23437        (WebKit::WebProcess::platformInitializeProcess):
23438
234392013-01-07  Anders Carlsson  <andersca@apple.com>
23440
23441        Remove Windows files from WebKit2
23442        https://bugs.webkit.org/show_bug.cgi?id=106264
23443
23444        Reviewed by Sam Weinig.
23445
23446        * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
23447        * Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
23448        * Platform/win/ModuleWin.cpp: Removed.
23449        * Platform/win/SharedMemoryWin.cpp: Removed.
23450        * Platform/win/WorkQueueWin.cpp: Removed.
23451        * Shared/API/c/win/WKBaseWin.h: Removed.
23452        * Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
23453        * Shared/API/c/win/WKCertificateInfoWin.h: Removed.
23454        * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
23455        * Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
23456        * Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
23457        * Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
23458        * Shared/win/CommandLineWin.cpp: Removed.
23459        * Shared/win/LayerTreeContextWin.cpp: Removed.
23460        * Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
23461        * Shared/win/NativeWebMouseEventWin.cpp: Removed.
23462        * Shared/win/NativeWebWheelEventWin.cpp: Removed.
23463        * Shared/win/PlatformCertificateInfo.cpp: Removed.
23464        * Shared/win/PlatformCertificateInfo.h: Removed.
23465        * Shared/win/ShareableBitmapWin.cpp: Removed.
23466        * Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
23467        * Shared/win/WebEventFactory.cpp: Removed.
23468        * Shared/win/WebEventFactory.h: Removed.
23469        * Shared/win/WebKitBundle.cpp: Removed.
23470        * Shared/win/WebKitBundle.h: Removed.
23471        * Shared/win/WebURLRequestWin.cpp: Removed.
23472        * Shared/win/WebURLResponseWin.cpp: Removed.
23473        * Shared/win/WindowGeometry.cpp: Removed.
23474        * Shared/win/WindowGeometry.h: Removed.
23475        * UIProcess/API/C/win/WKAPICastWin.h: Removed.
23476        * UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
23477        * UIProcess/API/C/win/WKContextWin.cpp: Removed.
23478        * UIProcess/API/C/win/WKView.cpp: Removed.
23479        * UIProcess/API/C/win/WKView.h: Removed.
23480        * UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
23481        * UIProcess/API/C/win/WKViewPrivate.h: Removed.
23482        * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
23483        * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
23484        * UIProcess/win/BackingStoreWin.cpp: Removed.
23485        * UIProcess/win/TextCheckerWin.cpp: Removed.
23486        * UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
23487        * UIProcess/win/WebContextMenuProxyWin.h: Removed.
23488        * UIProcess/win/WebContextWin.cpp: Removed.
23489        * UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
23490        * UIProcess/win/WebInspectorProxyWin.cpp: Removed.
23491        * UIProcess/win/WebPageProxyWin.cpp: Removed.
23492        * UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
23493        * UIProcess/win/WebPopupMenuProxyWin.h: Removed.
23494        * UIProcess/win/WebProcessProxyWin.cpp: Removed.
23495        * UIProcess/win/WebUndoClient.cpp: Removed.
23496        * UIProcess/win/WebUndoClient.h: Removed.
23497        * UIProcess/win/WebView.cpp: Removed.
23498        * UIProcess/win/WebView.h: Removed.
23499        * WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
23500        * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
23501        * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
23502        * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
23503        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
23504        * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
23505        * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
23506        * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
23507        * WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
23508        * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
23509        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
23510        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
23511        * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
23512        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
23513        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
23514        * WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
23515        * WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
23516        * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
23517        * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
23518        * WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
23519        * WebProcess/WebPage/win/WebPageWin.cpp: Removed.
23520        * WebProcess/win/WebProcessMainWin.cpp: Removed.
23521        * WebProcess/win/WebProcessWin.cpp: Removed.
23522
235232013-01-07  Xianzhu Wang  <wangxianzhu@chromium.org>
23524
23525        Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
23526        https://bugs.webkit.org/show_bug.cgi?id=105546
23527
23528        Reviewed by James Robinson.
23529
23530        Export the new symbol.
23531
23532        * win/WebKit2.def.in:
23533
235342013-01-07  Mike West  <mkwst@chromium.org>
23535
23536        Make the IFRAME_SEAMLESS flag runtime-enabled.
23537        https://bugs.webkit.org/show_bug.cgi?id=106213
23538
23539        Reviewed by Ojan Vafai.
23540
23541        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
23542        (WKBundleSetSeamlessIFramesEnabled):
23543        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
23544        * WebProcess/InjectedBundle/InjectedBundle.cpp:
23545        (WebKit::InjectedBundle::setSeamlessIFramesEnabled):
23546        (WebKit):
23547        * WebProcess/InjectedBundle/InjectedBundle.h:
23548        (InjectedBundle):
23549            Add a toggle for seamless IFrames to InjectedBundle, and set it to
23550            true when beginning testing.
23551
235522013-01-07  Alexey Proskuryakov  <ap@apple.com>
23553
23554        [WK2] Remove more obsolete shim code
23555        https://bugs.webkit.org/show_bug.cgi?id=106248
23556
23557        Reviewed by Anders Carlsson.
23558
23559        Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
23560        only needed for that obsolete version of shim.
23561
23562        We now use WebProcessSecItemShimCallbacks.
23563
23564        * Shared/mac/SecItemRequestData.h:
23565        * UIProcess/mac/WebProcessProxyMac.mm:
23566        (WebKit::handleSecItemRequest):
23567        * WebProcess/mac/WebProcessShim.h:
23568
235692013-01-05  Sam Weinig  <sam@webkit.org>
23570
23571        Merge child process main functions as much as possible
23572        https://bugs.webkit.org/show_bug.cgi?id=106192
23573
23574        Reviewed by Anders Carlsson.
23575
23576        To reduce copied code, this merges the Mac main functions for the WebProcess,
23577        NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
23578        are needed, it adds a delegate class for hooks into the main function that each
23579        process can override if necessary.
23580
23581        * NetworkProcess/mac/NetworkProcessMainMac.mm:
23582        (WebKit::NetworkProcessMain):
23583        Remove almost everything with a call to ChildProcessMain with the default delegate.
23584
23585        * PluginProcess/mac/PluginProcessMac.mm:
23586        (WebKit::PluginProcess::platformInitializeProcess):
23587        Move defaults registration here from PluginProcessMainMac.
23588
23589        * PluginProcess/mac/PluginProcessMainMac.mm:
23590        (PluginProcessMainDelegate):
23591        Add a delegate for the new shared main function that does does PluginProcess
23592        specific work.
23593
23594        (WebKit::PluginProcessMainDelegate::doPreInitializationWork):
23595        Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
23596        to this pre-initialization hook.
23597
23598        (WebKit::PluginProcessMainDelegate::doPostRunWork):
23599        Move private temporary and cache directories clean up to this post run hook.
23600
23601        (WebKit::PluginProcessMain):
23602        Call the ChildProcessMain shared main function with the PluginProcess as the process
23603        to initialize and PluginProcessMainDelegate as the main delegate.
23604
23605        * Shared/mac/ChildProcessMain.h: Added.
23606        (ChildProcessMainDelegate):
23607        ChildProcessMainDelegate is a helper class that process can subclass to hook into
23608        the main function.
23609
23610        (WebKit::ChildProcessMain):
23611        Add a single version of the "main" function that uses the ChildProcessMainDelegate to
23612        allow processes to hook into it.
23613
23614        * Shared/mac/ChildProcessMain.mm:
23615        (WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
23616        (WebKit::ChildProcessMainDelegate::installSignalHandlers):
23617        (WebKit::ChildProcessMainDelegate::doPreInitializationWork):
23618        (WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
23619        (WebKit::ChildProcessMainDelegate::getClientIdentifier):
23620        (WebKit::ChildProcessMainDelegate::getClientProcessName):
23621        (WebKit::ChildProcessMainDelegate::doPostRunWork):
23622        Add default implementations of the delegate hooks, most processes should be able to
23623        use the defaults.
23624
23625        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
23626        (WebKit::SharedWorkerProcessMain):
23627        Remove almost everything with a call to ChildProcessMain with the default delegate.
23628
23629        * WebKit2.xcodeproj/project.pbxproj:
23630        Add new files.
23631
23632        * WebProcess/mac/WebProcessMainMac.mm:
23633        (WebProcessMainDelegate):
23634        Add a delegate for the new shared main function that does does WebProcess
23635        specific work.
23636
23637        (WebKit::WebProcessMainDelegate::doPreInitializationWork):
23638        Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.
23639
23640        (WebKit::WebProcessMainDelegate::getConnectionIdentifier):
23641        A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
23642        be able to launch the UIProcess (for debugging purposes).
23643
23644        (WebKit::WebProcessMainDelegate::getClientIdentifier):
23645        For the same reasons as about, a custom getClientIdentifier is needed.
23646
23647        (WebKit::WebProcessMain):
23648        Call the ChildProcessMain shared main function with the WebProcess as the process
23649        to initialize and WebProcessMainDelegate as the main delegate.
23650
236512013-01-07  Simon Fraser  <simon.fraser@apple.com>
23652
23653        Make WKViews work when layer-backed
23654        https://bugs.webkit.org/show_bug.cgi?id=106166
23655
23656        Reviewed by Sam Weinig.
23657        
23658        When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
23659        if layer-backed.
23660        
23661        The issue is that the DrawingAreaProxy code tries to optimize scrolling by
23662        calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
23663        repainting the entire view. However, -scrollRect:by: does nothing for NSViews
23664        that have layers.
23665        
23666        Fix by plumbing through a canScrollView() function which PageClientImpl()
23667        implements, returning true if the view does not have layer backing.
23668        When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
23669        dirties the entire view.
23670
23671        * UIProcess/API/gtk/PageClientImpl.h:
23672        (WebKit::PageClientImpl::canScrollView):
23673        * UIProcess/API/mac/PageClientImpl.h:
23674        (PageClientImpl):
23675        * UIProcess/API/mac/PageClientImpl.mm:
23676        (WebKit::PageClientImpl::canScrollView):
23677        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
23678        (QRawWebViewPrivate::canScrollView):
23679        * UIProcess/DrawingAreaProxyImpl.cpp:
23680        (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
23681        * UIProcess/PageClient.h:
23682        * UIProcess/WebPageProxy.cpp:
23683        (WebKit::WebPageProxy::canScrollView):
23684        * UIProcess/WebPageProxy.h:
23685        * UIProcess/efl/PageClientBase.h:
23686        (WebKit::PageClientBase::canScrollView):
23687        * UIProcess/qt/QtPageClient.h:
23688        (WebKit::QtPageClient::canScrollView):
23689        * UIProcess/win/WebView.h:
23690        (WebKit::WebView::canScrollView):
23691
236922013-01-04  Sam Weinig  <sam@webkit.org>
23693
23694        Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
23695        https://bugs.webkit.org/show_bug.cgi?id=106163
23696
23697        Reviewed by Darin Adler.
23698
23699        Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
23700        as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
23701        captured in ChildProcess and derived classes.
23702
23703        * NetworkProcess/NetworkProcess.cpp:
23704        (WebKit::NetworkProcess::initializeProcessName):
23705        (WebKit::NetworkProcess::initializeSandbox):
23706        * NetworkProcess/NetworkProcess.h:
23707        (NetworkProcess):
23708        * NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
23709        * NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
23710        * NetworkProcess/mac/NetworkProcessMac.mm:
23711        (WebKit::NetworkProcess::initializeProcessName):
23712        (WebKit::NetworkProcess::initializeSandbox):
23713        * NetworkProcess/mac/NetworkProcessMainMac.mm:
23714        (WebKit::NetworkProcessMain):
23715        * PluginProcess/PluginProcess.cpp:
23716        (WebKit::PluginProcess::initializeProcess):
23717        * PluginProcess/PluginProcess.h:
23718        (PluginProcess):
23719        * PluginProcess/mac/PluginProcessMac.mm:
23720        (WebKit::PluginProcess::platformInitializeProcess):
23721        * PluginProcess/mac/PluginProcessMainMac.mm:
23722        (WebKit::PluginProcessMain):
23723        * PluginProcess/qt/PluginProcessQt.cpp:
23724        (WebKit::PluginProcess::platformInitializeProcess):
23725        (WebKit::PluginProcess::platformInitializePluginProcess):
23726        * PluginProcess/unix/PluginProcessUnix.cpp:
23727        (WebKit::PluginProcess::platformInitializeProcess):
23728        * Shared/ChildProcess.cpp:
23729        (WebKit::ChildProcess::initialize):
23730        (WebKit::ChildProcess::initializeProcess):
23731        (WebKit::ChildProcess::initializeProcessName):
23732        (WebKit::ChildProcess::initializeSandbox):
23733        (WebKit::ChildProcess::initializeConnection):
23734        * Shared/ChildProcess.h:
23735        (ChildProcess):
23736        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
23737        (WebKit::SharedWorkerProcessMain):
23738        * WebKit2.xcodeproj/project.pbxproj:
23739        * WebProcess/WebProcess.cpp:
23740        (WebKit::WebProcess::initializeProcess):
23741        (WebKit::WebProcess::initializeProcessName):
23742        (WebKit::WebProcess::initializeSandbox):
23743        * WebProcess/WebProcess.h:
23744        (WebProcess):
23745        * WebProcess/mac/WebProcessInitialization.h: Removed.
23746        * WebProcess/mac/WebProcessInitialization.mm: Removed.
23747        * WebProcess/mac/WebProcessMac.mm:
23748        (WebKit::WebProcess::initializeSandbox):
23749        (WebKit::WebProcess::initializeProcessName):
23750        (WebKit::WebProcess::platformInitializeProcess):
23751        * WebProcess/mac/WebProcessMainMac.mm:
23752        (WebKit::WebProcessMain):
23753        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
23754        (WebKit::WebProcessServiceEventHandler):
23755        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
23756
237572013-01-04  Sam Weinig  <sam@webkit.org>
23758
23759        Fix failing API test.
23760
23761        * WebProcess/WebProcess.cpp:
23762        (WebKit::WebProcess::initializeConnection):
23763        (WebKit::WebProcess::initializeWebProcess):
23764        The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
23765        so that if the user tries to use it, its there.
23766
237672013-01-04  Sam Weinig  <sam@webkit.org>
23768
23769        Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
23770        https://bugs.webkit.org/show_bug.cgi?id=106161
23771
23772        Reviewed by Simon Fraser.
23773
23774        Adds InitializeWebKit2 and uses it.
23775
23776        * CMakeLists.txt:
23777        * GNUmakefile.list.am:
23778        * NetworkProcess/NetworkProcess.cpp:
23779        (WebKit::NetworkProcess::initializeNetworkProcess):
23780        * NetworkProcess/mac/NetworkProcessInitialization.mm:
23781        (WebKit::initializeNetworkProcess):
23782        * PluginProcess/mac/PluginProcessMainMac.mm:
23783        (WebKit::PluginProcessMain):
23784        * Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
23785        (WebKit::InitializeWebKit2):
23786        * Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
23787        (WebKit):
23788        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
23789        (WebKit::SharedWorkerProcessMain):
23790        * Target.pri:
23791        * WebKit2.xcodeproj/project.pbxproj:
23792        * WebProcess/WebProcess.cpp:
23793        (WebKit::WebProcess::WebProcess):
23794        * WebProcess/mac/WebProcessInitialization.mm:
23795        (WebKit::initializeWebProcess):
23796
237972013-01-04  Sam Weinig  <sam@webkit.org>
23798
23799        Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
23800        of Alexey's review comments.
23801
23802        * NetworkProcess/NetworkProcess.cpp:
23803        (WebKit::NetworkProcess::downloadProxyConnection):
23804        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
23805        * PluginProcess/PluginProcess.cpp:
23806        (WebKit::PluginProcess::createWebProcessConnection):
23807        (WebKit::PluginProcess::getSitesWithData):
23808        (WebKit::PluginProcess::clearSiteData):
23809        * Shared/ChildProcess.h:
23810        (WebKit::ChildProcess::parentProcessConnection):
23811        * SharedWorkerProcess/SharedWorkerProcess.h:
23812        * WebProcess/WebProcess.cpp:
23813        (WebKit::WebProcess::downloadProxyConnection):
23814        (WebKit::WebProcess::addVisitedLink):
23815        (WebKit::WebProcess::removeWebFrame):
23816        (WebKit::WebProcess::getSitesWithPluginData):
23817        (WebKit::WebProcess::clearPluginSiteData):
23818        (WebKit::WebProcess::addPlugInAutoStartOrigin):
23819        (WebKit::WebProcess::plugInDidReceiveUserInteraction):
23820        (WebKit::WebProcess::getWebCoreStatistics):
23821
238222013-01-04  Sam Weinig  <sam@webkit.org>
23823
23824        Consolidate process initialization in ChildProcess
23825        https://bugs.webkit.org/show_bug.cgi?id=106144
23826
23827        Reviewed by Alexey Proskuryakov.
23828
23829        Consolidate more functionality down into ChildProcess.
23830
23831        * NetworkProcess/NetworkProcess.cpp:
23832        (WebKit::NetworkProcess::didReceiveMessage):
23833        (WebKit::NetworkProcess::didReceiveSyncMessage):
23834        (WebKit::NetworkProcess::downloadProxyConnection):
23835        (WebKit::NetworkProcess::initializeNetworkProcess):
23836        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
23837        (WebKit::NetworkProcess::initializeSandbox):
23838        * NetworkProcess/NetworkProcess.h:
23839        * NetworkProcess/mac/NetworkProcessInitialization.h:
23840        * NetworkProcess/mac/NetworkProcessInitialization.mm:
23841        (WebKit::initializeNetworkProcess):
23842        * NetworkProcess/mac/NetworkProcessMac.mm:
23843        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
23844        * NetworkProcess/mac/NetworkProcessMainMac.mm:
23845        (WebKit::NetworkProcessMain):
23846        * PluginProcess/PluginProcess.cpp:
23847        (WebKit::PluginProcess::PluginProcess):
23848        (WebKit::PluginProcess::initializePluginProcess):
23849        (WebKit::PluginProcess::createWebProcessConnection):
23850        (WebKit::PluginProcess::getSitesWithData):
23851        (WebKit::PluginProcess::clearSiteData):
23852        * PluginProcess/PluginProcess.h:
23853        (PluginProcess):
23854        * PluginProcess/mac/PluginProcessMac.mm:
23855        (WebKit::initializeShim):
23856        (WebKit::initializeCocoaOverrides):
23857        (WebKit::PluginProcess::platformInitialize):
23858        (WebKit::PluginProcess::platformInitializePluginProcess):
23859        * PluginProcess/mac/PluginProcessMainMac.mm:
23860        (WebKit::PluginProcessMain):
23861        * PluginProcess/qt/PluginProcessMainQt.cpp:
23862        (WebKit::PluginProcessMain):
23863        * PluginProcess/qt/PluginProcessQt.cpp:
23864        (WebKit::PluginProcess::platformInitializePluginProcess):
23865        * PluginProcess/unix/PluginProcessMainUnix.cpp:
23866        (WebKit::PluginProcessMainUnix):
23867        * PluginProcess/unix/PluginProcessUnix.cpp:
23868        (WebKit::PluginProcess::platformInitializePluginProcess):
23869        * Shared/ChildProcess.cpp:
23870        (WebKit::ChildProcess::ChildProcess):
23871        (WebKit::watchdogCallback):
23872        (WebKit::didCloseOnConnectionWorkQueue):
23873        (WebKit::ChildProcess::initialize):
23874        (WebKit::ChildProcess::initializeConnection):
23875        (WebKit::ChildProcess::initializeSandbox):
23876        (WebKit::ChildProcess::terminate):
23877        * Shared/ChildProcess.h:
23878        (ChildProcessInitializationParameters):
23879        (ChildProcess):
23880        (WebKit::ChildProcess::connection):
23881        (WebKit::ChildProcess::destinationID):
23882        (WebKit::ChildProcess::messageReceiverMap):
23883        * SharedWorkerProcess/SharedWorkerProcess.cpp:
23884        (WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
23885        * SharedWorkerProcess/SharedWorkerProcess.h:
23886        (SharedWorkerProcess):
23887        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
23888        (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):
23889        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
23890        (WebKit::SharedWorkerProcessMain):
23891        * WebProcess/WebProcess.cpp:
23892        (WebKit::WebProcess::initializeConnection):
23893        (WebKit::WebProcess::downloadProxyConnection):
23894        (WebKit::WebProcess::initializeWebProcess):
23895        (WebKit::WebProcess::terminate):
23896        (WebKit::WebProcess::didReceiveSyncMessage):
23897        (WebKit::WebProcess::didReceiveMessage):
23898        (WebKit::WebProcess::removeWebFrame):
23899        (WebKit::WebProcess::initializeSandbox):
23900        * WebProcess/WebProcess.h:
23901        * WebProcess/efl/WebProcessMainEfl.cpp:
23902        (WebKit::WebProcessMainEfl):
23903        * WebProcess/gtk/WebProcessMainGtk.cpp:
23904        (WebKit::WebProcessMainGtk):
23905        * WebProcess/mac/WebProcessInitialization.h:
23906        * WebProcess/mac/WebProcessInitialization.mm:
23907        (WebKit::initializeWebProcess):
23908        * WebProcess/mac/WebProcessMac.mm:
23909        (WebKit::WebProcess::platformInitialize):
23910        * WebProcess/mac/WebProcessMainMac.mm:
23911        (WebKit::WebProcessMain):
23912        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
23913        (WebKit::WebProcessServiceEventHandler):
23914        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
23915        * WebProcess/qt/WebProcessMainQt.cpp:
23916        (WebKit::WebProcessMainQt):
23917
239182013-01-04  Tim Horton  <timothy_horton@apple.com>
23919
23920        [wk2] Remove non-visible tiles from the layer tree
23921        https://bugs.webkit.org/show_bug.cgi?id=106061
23922        <rdar://problem/12761821>
23923
23924        Reviewed by Simon Fraser.
23925
23926        Add a setting to enable aggressive retention of TileCache tiles. If enabled,
23927        TileCache will generally try to keep around all tiles. This setting is off by default.
23928
23929        * Shared/WebPreferencesStore.h:
23930        * UIProcess/API/C/WKPreferences.cpp:
23931        (WKPreferencesSetAggressiveTileRetentionEnabled):
23932        (WKPreferencesGetAggressiveTileRetentionEnabled):
23933        * UIProcess/API/C/WKPreferencesPrivate.h:
23934        * WebProcess/WebPage/WebPage.cpp:
23935        (WebKit::WebPage::updatePreferences):
23936        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
23937        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.
23938
239392013-01-04  Sam Weinig  <sam@webkit.org>
23940
23941        Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
23942        https://bugs.webkit.org/show_bug.cgi?id=106120
23943
23944        Reviewed by Brady Eidson.
23945
23946        Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
23947        the RunLoop parameter since it is always the same the as RunLoop::main().
23948
23949        * NetworkProcess/NetworkProcess.cpp:
23950        (WebKit::NetworkProcess::initializeConnection):
23951        * NetworkProcess/NetworkProcess.h:
23952        (NetworkProcess):
23953        * NetworkProcess/mac/NetworkProcessInitialization.mm:
23954        (WebKit::initializeNetworkProcess):
23955        * PluginProcess/PluginProcess.cpp:
23956        (WebKit::PluginProcess::initializeConnection):
23957        * PluginProcess/PluginProcess.h:
23958        * PluginProcess/mac/PluginProcessMainMac.mm:
23959        (WebKit::PluginProcessMain):
23960        * PluginProcess/qt/PluginProcessMainQt.cpp:
23961        (WebKit::PluginProcessMain):
23962        * PluginProcess/unix/PluginProcessMainUnix.cpp:
23963        (WebKit::PluginProcessMainUnix):
23964        * SharedWorkerProcess/SharedWorkerProcess.cpp:
23965        (WebKit::SharedWorkerProcess::initializeConnection):
23966        * SharedWorkerProcess/SharedWorkerProcess.h:
23967        (SharedWorkerProcess):
23968        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
23969        (WebKit::SharedWorkerProcessMain):
23970
239712013-01-04  Adam Klein  <adamk@chromium.org>
23972
23973        Remove ENABLE_MUTATION_OBSERVERS #define
23974        https://bugs.webkit.org/show_bug.cgi?id=105459
23975
23976        Reviewed by Ryosuke Niwa.
23977
23978        * Configurations/FeatureDefines.xcconfig:
23979
239802013-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
23981
23982        [WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
23983        https://bugs.webkit.org/show_bug.cgi?id=106052
23984
23985        Reviewed by Martin Robinson.
23986
23987        Do not allocate more size for the inspector view than its parent
23988        size. Also make sure that the view size is always at least 1.
23989
23990        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
23991        (resizeWebKitWebViewBaseFromAllocation):
23992
239932013-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
23994
23995        [GTK][Qt] Make compositing messages async again
23996        https://bugs.webkit.org/show_bug.cgi?id=106082
23997
23998        Reviewed by Simon Hausmann.
23999
24000        * UIProcess/WebPageProxy.cpp:
24001        (WebKit::WebPageProxy::setComposition):
24002        (WebKit::WebPageProxy::confirmComposition):
24003        (WebKit::WebPageProxy::cancelComposition):
24004        * WebProcess/WebPage/WebPage.cpp:
24005        (WebKit::WebPage::confirmComposition):
24006        (WebKit::WebPage::setComposition):
24007        (WebKit::WebPage::cancelComposition):
24008        * WebProcess/WebPage/WebPage.h:
24009        (WebPage):
24010        * WebProcess/WebPage/WebPage.messages.in:
24011
240122013-01-04  Christophe Dumez  <christophe.dumez@intel.com>
24013
24014        Regression(r138728): Causes crashes on the build bots
24015        https://bugs.webkit.org/show_bug.cgi?id=106083
24016
24017        Reviewed by Simon Hausmann.
24018
24019        Update encodeTimingFunction() to encode the x/y members only
24020        if the bezierPreset is set to custom. This is needed because
24021        decodeTimingFunction() only decodes x/y members if the
24022        bezierPreset is set to custom.
24023
24024        This fixes assertion hits on the debug build bots.
24025
24026        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
24027        (CoreIPC::encodeTimingFunction):
24028
240292013-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
24030
24031        [SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
24032        https://bugs.webkit.org/show_bug.cgi?id=106012
24033
24034        Reviewed by Martin Robinson.
24035
24036        * UIProcess/API/C/soup/WKContextSoup.cpp:
24037        (WKContextGetSoupRequestManager):
24038        * UIProcess/API/gtk/WebKitWebContext.cpp:
24039        (createDefaultWebContext):
24040        * UIProcess/WebContext.cpp:
24041        (WebKit::WebContext::WebContext):
24042        (WebKit::WebContext::~WebContext):
24043        (WebKit::WebContext::disconnectProcess):
24044        * UIProcess/WebContext.h:
24045        (WebKit):
24046        (WebContext):
24047        * UIProcess/WebPageProxy.cpp:
24048        (WebKit::WebPageProxy::didReceiveURIRequest):
24049        * UIProcess/efl/WebContextEfl.cpp:
24050        (WebKit::WebContext::platformInitializeWebProcess):
24051        * UIProcess/gtk/WebContextGtk.cpp:
24052        (WebKit::WebContext::platformInitializeWebProcess):
24053        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
24054        (WebKit::WebSoupRequestManagerProxy::supplementName):
24055        (WebKit):
24056        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
24057        (WebKit::WebSoupRequestManagerProxy::initializeClient):
24058        (WebKit::WebSoupRequestManagerProxy::contextDestroyed):
24059        (WebKit::WebSoupRequestManagerProxy::processDidClose):
24060        (WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
24061        (WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
24062        (WebKit::WebSoupRequestManagerProxy::registerURIScheme):
24063        (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
24064        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
24065        * UIProcess/soup/WebSoupRequestManagerProxy.h:
24066        (WebSoupRequestManagerProxy):
24067
240682013-01-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
24069
24070        [EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()
24071        https://bugs.webkit.org/show_bug.cgi?id=106010
24072
24073        Reviewed by Gyuyoung Kim.
24074
24075        Removed EwkViewImpl::informLoadCommitted() method to simplify the code.
24076
24077        * UIProcess/API/efl/EwkViewImpl.cpp:
24078        * UIProcess/API/efl/EwkViewImpl.h:
24079        * UIProcess/efl/PageClientBase.h:
24080        (PageClientBase):
24081        * UIProcess/efl/PageLoadClientEfl.cpp:
24082        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
24083
240842013-01-03  Jon Lee  <jonlee@apple.com>
24085
24086        REGRESSION(r138729): crash and assertion failures in WebKit::WebProcess::plugInDidReceiveUserInteraction
24087        https://bugs.webkit.org/show_bug.cgi?id=106042
24088        <rdar://problem/12953469>
24089
24090        Reviewed by Brady Eidson.
24091
24092        The assertion is hit if plugin snapshotting is disabled, and the user interacts with a plug-in that
24093        comes from an origin not found in the cached dictionary. The proper fix is to check for whether the
24094        setting is enabled. Otherwise, that origin should be in the dictionary since the plugin is running.
24095
24096        * WebProcess/Plugins/PluginView.cpp:
24097        (WebKit::PluginView::pluginDidReceiveUserInteraction): Check for the setting, and avoid the whole code
24098        path if snapshotting is disabled.
24099
241002013-01-03  Roger Fong  <roger_fong@apple.com>
24101
24102        Remove all traces of Windows from WebKit2 folder.
24103        https://bugs.webkit.org/show_bug.cgi?id=105585.
24104
24105        Reviewed by Sam Weinig.
24106
24107        * win: Removed.
24108        * win/MainWin.cpp: Removed.
24109        * win/WebKit2.def.in: Removed.
24110        * win/WebKit2.make: Removed.
24111        * win/WebKit2.rc: Removed.
24112        * win/WebKit2.submit.sln: Removed.
24113        * win/WebKit2.vcproj: Removed.
24114        * win/WebKit2Apple.vsprops: Removed.
24115        * win/WebKit2CFLite.vsprops: Removed.
24116        * win/WebKit2Common.vsprops: Removed.
24117        * win/WebKit2Debug.vsprops: Removed.
24118        * win/WebKit2DebugAll.vsprops: Removed.
24119        * win/WebKit2DebugCairoCFLite.vsprops: Removed.
24120        * win/WebKit2DirectX.vsprops: Removed.
24121        * win/WebKit2ExportGenerator.vcproj: Removed.
24122        * win/WebKit2ExportGeneratorBuildCmd.cmd: Removed.
24123        * win/WebKit2ExportGeneratorCommon.vsprops: Removed.
24124        * win/WebKit2ExportGeneratorDebug.vsprops: Removed.
24125        * win/WebKit2ExportGeneratorDebugAll.vsprops: Removed.
24126        * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Removed.
24127        * win/WebKit2ExportGeneratorPostBuild.cmd: Removed.
24128        * win/WebKit2ExportGeneratorPreBuild.cmd: Removed.
24129        * win/WebKit2ExportGeneratorProduction.vsprops: Removed.
24130        * win/WebKit2ExportGeneratorRelease.vsprops: Removed.
24131        * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Removed.
24132        * win/WebKit2Generated.make: Removed.
24133        * win/WebKit2Generated.vcproj: Removed.
24134        * win/WebKit2GeneratedCommon.vsprops: Removed.
24135        * win/WebKit2Production.vsprops: Removed.
24136        * win/WebKit2Release.vsprops: Removed.
24137        * win/WebKit2ReleaseCairoCFLite.vsprops: Removed.
24138        * win/WebKit2WebProcess.resources: Removed.
24139        * win/WebKit2WebProcess.resources/Info.plist: Removed.
24140        * win/WebKit2WebProcess.vcproj: Removed.
24141        * win/WebKit2WebProcessCommon.vsprops: Removed.
24142        * win/WebKit2WebProcessDebug.vsprops: Removed.
24143        * win/WebKit2WebProcessDebugAll.vsprops: Removed.
24144        * win/WebKit2WebProcessDebugCairoCFLite.vsprops: Removed.
24145        * win/WebKit2WebProcessPostBuild.cmd: Removed.
24146        * win/WebKit2WebProcessPreBuild.cmd: Removed.
24147        * win/WebKit2WebProcessProduction.vsprops: Removed.
24148        * win/WebKit2WebProcessRelease.vsprops: Removed.
24149        * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Removed.
24150        * win/WebKitPostBuild.cmd: Removed.
24151        * win/WebKitPreBuild.cmd: Removed.
24152        * win/WebKitPreLink.cmd: Removed.
24153        * win/build-generated-files.sh: Removed.
24154        * win/deleteButton.png: Removed.
24155        * win/deleteButtonPressed.png: Removed.
24156        * win/fsVideoAudioVolumeHigh.png: Removed.
24157        * win/fsVideoAudioVolumeLow.png: Removed.
24158        * win/fsVideoExitFullscreen.png: Removed.
24159        * win/fsVideoPause.png: Removed.
24160        * win/fsVideoPlay.png: Removed.
24161        * win/missingImage.png: Removed.
24162        * win/nullplugin.png: Removed.
24163        * win/panEastCursor.png: Removed.
24164        * win/panIcon.png: Removed.
24165        * win/panNorthCursor.png: Removed.
24166        * win/panNorthEastCursor.png: Removed.
24167        * win/panNorthWestCursor.png: Removed.
24168        * win/panSouthCursor.png: Removed.
24169        * win/panSouthEastCursor.png: Removed.
24170        * win/panSouthWestCursor.png: Removed.
24171        * win/panWestCursor.png: Removed.
24172        * win/resource.h: Removed.
24173        * win/searchCancel.png: Removed.
24174        * win/searchCancelPressed.png: Removed.
24175        * win/searchMagnifier.png: Removed.
24176        * win/searchMagnifierResults.png: Removed.
24177        * win/textAreaResizeCorner.png: Removed.
24178        * win/verticalTextCursor.png: Removed.
24179        * win/xcopy.excludes: Removed.
24180        * win/zoomInCursor.png: Removed.
24181        * win/zoomOutCursor.png: Removed.
24182
241832013-01-03  Kiran Muppala  <cmuppala@apple.com>
24184
24185        Ensure autorelease pool exists when calling WKNSProcessInfoProcessAssertionWithTypes on Mac
24186        https://bugs.webkit.org/show_bug.cgi?id=105674
24187
24188        Reviewed by Sam Weinig.
24189
24190        The function WKNSProcessInfoProcessAssertionWithTypes returns a autoreleased object and since,
24191        it is called during process initialization prior to the runloop being started in PluginProcess
24192        and SharedWorkerProcess, an autorelease pool must be explictly created.
24193
24194        * PluginProcess/mac/PluginProcessMainMac.mm:
24195        (WebKit::PluginProcessMain): Enclose process initialization code in an @autoreleasepool block.
24196        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
24197        (WebKit::SharedWorkerProcessMain): Ditto.
24198
241992013-01-03  Csaba Osztrogonác  <ossy@webkit.org>
24200
24201        [Qt] Unreviewed debug buildfix after r138723.
24202
24203        * WebProcess/qt/QtBuiltinBundle.cpp:
24204
242052013-01-02  Jon Lee  <jonlee@apple.com>
24206
24207        Revert auto-start plugins to snapshotted plugins after a period of inactivity
24208        https://bugs.webkit.org/show_bug.cgi?id=105973
24209        <rdar://problem/12947865>
24210
24211        Reviewed by Brady Eidson.
24212
24213        Change the set of origin hashes maintained by the web process to a hash map that associates
24214        a timestamp for each hash. If the plug-in's origin is marked for auto-start, we also check
24215        it against the timestamp. If the time is later, then we consider the entry stale, and snapshot
24216        the plug-in instead.
24217
24218        But, if the user interacts with the plug-in, we delay that expiration timestamp out, so that
24219        it expires a month from first interaction. To avoid too much chatter between the web processes
24220        and UI process, we only update the timestamp if a day a passed since the last change to the
24221        timestamp.
24222
24223        * WebProcess/Plugins/PluginView.h:
24224        (PluginView): Add a member variable to flag whether the user had interacted with the plug-in.
24225        * WebProcess/Plugins/PluginView.cpp:
24226        (WebKit::PluginView::PluginView): Initialize the flag to false.
24227        (WebKit::PluginView::handleEvent): We consider mouse down, up, wheel, context menu, and keyboard
24228        events as user interaction. Do not consider mouse enter, leave, and move events as user
24229        interaction. Also, remove unneeded comments.
24230        (WebKit::PluginView::pluginDidReceiveUserInteraction): If this is the first time the function is
24231        called, tell the web process, so that the expiration timestamp can be updated.
24232
24233        * WebProcess/WebProcess.messages.in: Update the messages to include the expiration time.
24234        * WebProcess/WebProcess.h:
24235        (WebProcess): Update the cached copy of the auto-start origins to include their expiration
24236        timestamps. Update the message signatures. Add a function to update the expiration timestamp
24237        for a specific origin. Rename plugInAutoStartOriginsChanged to resetPlugInAutoStartOrigins.
24238        * WebProcess/WebProcess.cpp:
24239        (WebKit::WebProcess::initializeWebProcess): Instead of individually adding the origins in the
24240        provided vector, just call resetPlugInAutoStartOrigins().
24241        (WebKit::WebProcess::isPlugInAutoStartOrigin): Check to see if the origin is in the table, and if
24242        so, check the current time against the expiration time.
24243        (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Update the cached table.
24244        (WebKit::WebProcess::resetPlugInAutoStartOrigins): Swap the tables between the provided parameter
24245        and the member variable. We can safely do this because the function is called in two cases where
24246        the parameter is afterwards thrown away: when a new web process is created, and when it is called
24247        through an IPC message.
24248        (WebKit::WebProcess::plugInDidReceiveUserInteraction): When invoked, we tell the UI process to
24249        update the expiration time for the given origin if the time difference between the expiration
24250        time and the current time is less than the threshold plugInAutoStartExpirationTimeUpdateThreshold.
24251
24252        * UIProcess/WebContext.messages.in: Add message that is called when the web process wants to
24253        update the expiration timestamp for the plug-in origin.
24254        * UIProcess/WebContext.cpp:
24255        (WebKit::WebContext::plugInDidReceiveUserInteraction): Forward to the provider.
24256        * UIProcess/WebContext.h:
24257
24258        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
24259        (WebKit::expirationTimeFromNow): Returns a new time based on the current time + 1 month.
24260        (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Refactor. Set the expiration time for the
24261        added origin.
24262        (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Refactor.
24263        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Refactor to include the expiration
24264        times. Also, check the current time against the expiration time. If we are past the time, remove
24265        the entry from the copy.
24266        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Refactor to extract and duplicate
24267        the provided map of origins and expiration timestamps.
24268        (WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Look for the origin hash. If found,
24269        update the expiration time. Update all existing web processes with the new expiration time, and
24270        tell the context client that the hashes have changed.
24271        * UIProcess/Plugins/PlugInAutoStartProvider.h:
24272        (PlugInAutoStartProvider): Change the m_autoStartHashes variable to a map of a hash to its domain
24273        entry in the auto-start table. It is used to cross-reference the auto-start table and update
24274        the origin's expiration time.
24275
24276        * Shared/WebProcessCreationParameters.h:
24277        (WebProcessCreationParameters): Switch the creation parameter to seed the origin table to a map.
24278
242792013-01-03  Alexis Menard  <alexis@webkit.org>
24280
24281        Querying transition-timing-function value on the computed style does not return keywords when it should.
24282        https://bugs.webkit.org/show_bug.cgi?id=105442
24283
24284        Reviewed by Simon Fraser.
24285
24286        Update the code to pass the animations from one process to another as
24287        the constructor of TimingFunction changed to take an extra parameter
24288        holding the type of the cubic-bezier form.
24289
24290        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
24291        (CoreIPC::encodeTimingFunction):
24292        (CoreIPC::decodeTimingFunction):
24293
242942013-01-03  Rik Cabanier  <cabanier@adobe.com>
24295
24296        Canvas blending tests fail on Mac WK2
24297        https://bugs.webkit.org/show_bug.cgi?id=105943
24298
24299        Reviewed by Simon Fraser.
24300
24301        CanvasUsesAcceleratedDrawing preference was not passed to the WebProcess.
24302
24303        * WebProcess/InjectedBundle/InjectedBundle.cpp: Adds support for CanvasUsesAcceleratedDrawing to WK2
24304        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
24305
243062013-01-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
24307
24308        [Qt] Use WebPageProxy::postMessageToInjectedBundle when passing messages to a specific page in the builtin bundle
24309        https://bugs.webkit.org/show_bug.cgi?id=105928
24310
24311        Reviewed by Simon Hausmann.
24312
24313        Simplify the code since we now can send the contents as is, instead of packaging it inside
24314        an array that also contained the reference for the page. This was made possible after
24315        r126311.
24316
24317        * UIProcess/API/qt/qquickwebview.cpp:
24318        (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
24319        (QQuickWebViewExperimental::postMessage):
24320        Built the messages and used WebPageProxy::postMessageToInjectedBundle() directly.
24321
24322        * UIProcess/qt/QtWebContext.cpp: Removed functions that now are simpler and were inlined in
24323        qquickwebview.cpp.
24324        * UIProcess/qt/QtWebContext.h: Ditto.
24325        * WebProcess/qt/QtBuiltinBundle.cpp:
24326        (WebKit::QtBuiltinBundle::initialize): Used the callback that gets messages for specific
24327        pages. Also changed the way we create the bundle client: now we fill the struct with zeros,
24328        and then set the fields we care about. This way if another field is added to that client,
24329        this code doesn't need to be changed.
24330        (WebKit::QtBuiltinBundle::didReceiveMessageToPage):
24331        (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): Changed to not read the page
24332        reference from the message, since we get it in the callback already.
24333        (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): Ditto.
24334        * WebProcess/qt/QtBuiltinBundle.h:
24335        (QtBuiltinBundle):
24336
243372013-01-03  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
24338
24339        [Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph sync and render.
24340        https://bugs.webkit.org/show_bug.cgi?id=106018
24341
24342        Reviewed by Simon Hausmann.
24343
24344        The main and rendering threads are only guaranteed to be synchronised in
24345        the updatePaintNode call. In every other cases, QQuickItems cannot be
24346        safely accessed from the rendering thread.
24347
24348        Do as the first patch version in
24349        https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the
24350        ratio value directly to fix the issue.
24351
24352        Also add a note about the threading issue in QQuickWebPage::updatePaintNode.
24353
24354        * UIProcess/API/qt/qquickwebpage.cpp:
24355        (QQuickWebPage::updatePaintNode):
24356        * UIProcess/qt/QtWebPageSGNode.cpp:
24357        (WebKit::QtWebPageSGNode::QtWebPageSGNode):
24358        * UIProcess/qt/QtWebPageSGNode.h:
24359        (QtWebPageSGNode):
24360        (WebKit::QtWebPageSGNode::devicePixelRatio):
24361        (WebKit::QtWebPageSGNode::setDevicePixelRatio):
24362
243632013-01-02  Sam Weinig  <sam@webkit.org>
24364
24365        Stop pretending its possible to run the WebProcess in threaded mode
24366        https://bugs.webkit.org/show_bug.cgi?id=105969
24367
24368        Reviewed by Alexey Proskuryakov.
24369
24370        - Removes WebProcess::isSeparateProcess()
24371        - Stop storing a RunLoop on the WebProcess and just use RunLoop::main().
24372
24373        * WebProcess/Network/NetworkProcessConnection.cpp:
24374        (WebKit::NetworkProcessConnection::NetworkProcessConnection):
24375        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
24376        (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
24377        * WebProcess/Plugins/PluginProcessConnection.cpp:
24378        (WebKit::PluginProcessConnection::PluginProcessConnection):
24379        * WebProcess/WebPage/DrawingAreaImpl.cpp:
24380        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
24381        * WebProcess/WebPage/PageOverlay.cpp:
24382        (WebKit::PageOverlay::PageOverlay):
24383        * WebProcess/WebPage/WebPage.cpp:
24384        (WebKit::WebPage::WebPage):
24385        (WebKit::WebPage::close):
24386        * WebProcess/WebProcess.cpp:
24387        (WebKit::WebProcess::initializeConnection):
24388        (WebKit::WebProcess::shouldTerminate):
24389        (WebKit::WebProcess::terminate):
24390        (WebKit::WebProcess::didClose):
24391        * WebProcess/WebProcess.h:
24392        (WebProcess):
24393        * WebProcess/efl/WebProcessMainEfl.cpp:
24394        (WebKit::WebProcessMainEfl):
24395        * WebProcess/gtk/WebProcessMainGtk.cpp:
24396        (WebKit::WebProcessMainGtk):
24397        * WebProcess/mac/WebProcessInitialization.mm:
24398        (WebKit::initializeWebProcess):
24399        * WebProcess/qt/WebProcessMainQt.cpp:
24400        (WebKit::WebProcessMainQt):
24401        * WebProcess/win/WebProcessMainWin.cpp:
24402        (WebKit::WebProcessMain):
24403
244042013-01-02  Sam Weinig  <sam@webkit.org>
24405
24406        Factor out NetworkProcess initialization into its own function in preparation of adding a NetworkProcess service
24407        https://bugs.webkit.org/show_bug.cgi?id=105946
24408
24409        Reviewed by Brady Eidson.
24410
24411        * NetworkProcess/NetworkProcess.h:
24412        * NetworkProcess/mac/NetworkProcessInitialization.h: Added.
24413        (NetworkProcessInitializationParameters):
24414        * NetworkProcess/mac/NetworkProcessInitialization.mm: Added.
24415        (WebKit::initializeNetworkProcess):
24416        * NetworkProcess/mac/NetworkProcessMac.mm:
24417        (WebKit::NetworkProcess::initializeSandbox):
24418        (WebKit::NetworkProcess::platformInitialize):
24419        * NetworkProcess/mac/NetworkProcessMainMac.mm:
24420        (WebKit::NetworkProcessMain):
24421        * WebKit2.xcodeproj/project.pbxproj:
24422
244232013-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
24424
24425        Unreviewed, rolling out r138403.
24426        http://trac.webkit.org/changeset/138403
24427        https://bugs.webkit.org/show_bug.cgi?id=105950
24428
24429        Fixing e138331 which was rolled out in r138403 (Requested by
24430        rfong on #webkit).
24431
24432        * win/WebKit2.def.in:
24433
244342013-01-02  Ryosuke Niwa  <rniwa@webkit.org>
24435
24436        Yet another Windows build fix attempt. Try exporting more symbols.
24437
24438        * win/WebKit2.def.in:
24439
244402013-01-02  Alexey Proskuryakov  <ap@apple.com>
24441
24442        REGRESSION (r138464): Safari hangs when opening Privacy preferences
24443        https://bugs.webkit.org/show_bug.cgi?id=105933
24444
24445        Reviewed by Sam Weinig.
24446
24447        Quick and dirty fix - added a special case for main thread. But I'm not sure if
24448        dispatch_sync on main queue is really the best idiom here.
24449
24450        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
24451        (WebKit::getPluginInfoFromCarbonResources):
24452
244532013-01-02  Ryosuke Niwa  <rniwa@webkit.org>
24454
24455        Don't include a header that has been removed in r138413.
24456
24457        * WebProcess/win/WebProcessWin.cpp:
24458
244592013-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
24460
24461        [WK2] Rename SetFrameInViewSourceMode to SetMainFrameInViewSourceMode
24462        https://bugs.webkit.org/show_bug.cgi?id=105885
24463
24464        Reviewed by Martin Robinson.
24465
24466        This way we don't depend on a WebFrameProxy and
24467        webkit_web_view_set_view_mode() works even if the main frame proxy
24468        hasn't been created yet.
24469
24470        * UIProcess/API/gtk/WebKitWebView.cpp:
24471        (webkit_web_view_set_view_mode): Call
24472        WebPageProxy::setMainFrameInViewSourceMode() directly.
24473        * UIProcess/WebFrameProxy.cpp:
24474        (WebKit::WebFrameProxy::WebFrameProxy): Remove
24475        setInViewSourceMode().
24476        * UIProcess/WebFrameProxy.h:
24477        (WebFrameProxy):
24478        * UIProcess/WebPageProxy.cpp:
24479        (WebKit::WebPageProxy::setMainFrameInViewSourceMode):
24480        * UIProcess/WebPageProxy.h:
24481        (WebPageProxy):
24482        * WebProcess/WebPage/WebPage.cpp:
24483        (WebKit::WebPage::setMainFrameInViewSourceMode):
24484        * WebProcess/WebPage/WebPage.h:
24485        (WebPage):
24486        * WebProcess/WebPage/WebPage.messages.in:
24487
244882013-01-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
24489
24490        [Qt] Use WebPageGroup to create user scripts instead of Qt-specific function in WebPage
24491        https://bugs.webkit.org/show_bug.cgi?id=105921
24492
24493        Reviewed by Simon Hausmann.
24494
24495        After r131281 the WebPageGroup.h (in UIProcess) exposes a way to add user scripts, so we can
24496        use this directly to implement the user script functionality in Qt. The previous solution was
24497        a Qt-port specific function in WebPage that can be removed now.
24498
24499        * UIProcess/API/qt/qquickwebview.cpp:
24500        (QQuickWebViewPrivate::updateUserScripts): Use WebPageGroup functions to manipulate user scripts directly.
24501        * UIProcess/WebPageProxy.h:
24502        (WebPageProxy): Remove now unused function.
24503        * UIProcess/qt/WebPageProxyQt.cpp: Ditto.
24504        * WebProcess/WebPage/WebPage.messages.in: Ditto.
24505        * WebProcess/WebPage/qt/WebPageQt.cpp: Remove now unused function and headers.
24506
245072013-01-02  Heikki Paajanen  <heikki.paajanen@palm.com>
24508
24509        [Qt][WK2] Add experimental API to find text from page
24510        https://bugs.webkit.org/show_bug.cgi?id=96481
24511
24512        Reviewed by Jocelyn Turcotte.
24513
24514        Expose findString and PageFindClient provided functionality to QtQuick
24515        applications.
24516
24517        * Target.pri:
24518        * UIProcess/API/qt/qquickwebview.cpp:
24519        (QQuickWebViewPrivate::initialize):
24520        (QQuickWebViewExperimental::findText):
24521        (QQuickWebViewPrivate::didFindString):
24522        * UIProcess/API/qt/qquickwebview_p.h:
24523        (WebKit):
24524        * UIProcess/API/qt/qquickwebview_p_p.h:
24525        (QQuickWebViewPrivate):
24526        * UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Added.
24527        * UIProcess/qt/QtWebPageFindClient.cpp: Added.
24528        (WebKit):
24529        (WebKit::QtWebPageFindClient::QtWebPageFindClient):
24530        (WebKit::QtWebPageFindClient::didFindString):
24531        (WebKit::toQtWebPageFindClient):
24532        (WebKit::QtWebPageFindClient::didFailToFindString):
24533        * UIProcess/qt/QtWebPageFindClient.h: Added.
24534        (WebKit):
24535        (QtWebPageFindClient):
24536
245372013-01-02  Christophe Dumez  <christophe.dumez@intel.com>
24538
24539        Regression(r138607): Causes crashes related to WebIconDatabase
24540        https://bugs.webkit.org/show_bug.cgi?id=105909
24541
24542        Reviewed by Gyuyoung Kim.
24543
24544        Add back WebIconDatabase initialization statement
24545        in WebContext constructor. It was removed in
24546        r138607 and causing a lot of crashes on WebKit2.
24547
24548        * UIProcess/WebContext.cpp:
24549        (WebKit::WebContext::WebContext):
24550
245512012-12-31  Sam Weinig  <sam@webkit.org>
24552
24553        Convert more classes to be WebContextSupplements
24554        https://bugs.webkit.org/show_bug.cgi?id=105890
24555
24556        Reviewed by Dan Bernstein.
24557
24558        * UIProcess/API/C/WKContext.cpp:
24559        (WKContextGetCookieManager):
24560        (WKContextGetDatabaseManager):
24561        (WKContextGetGeolocationManager):
24562        (WKContextGetKeyValueStorageManager):
24563        (WKContextGetMediaCacheManager):
24564        (WKContextGetNotificationManager):
24565        (WKContextGetResourceCacheManager):
24566        * UIProcess/API/efl/ewk_context.cpp:
24567        (EwkContext::cookieManager):
24568        (EwkContext::clearResourceCache):
24569        * UIProcess/API/efl/ewk_database_manager_private.h:
24570        (EwkDatabaseManager::create):
24571        * UIProcess/API/efl/ewk_storage_manager_private.h:
24572        (EwkStorageManager::create):
24573        * UIProcess/API/gtk/WebKitWebContext.cpp:
24574        (createDefaultWebContext):
24575        (webkit_web_context_clear_cache):
24576        (webkit_web_context_get_cookie_manager):
24577        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
24578        (WebKit::WebNotificationManagerProxy::supplementName):
24579        (WebKit):
24580        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
24581        (WebKit::WebNotificationManagerProxy::initializeProvider):
24582        (WebKit::WebNotificationManagerProxy::contextDestroyed):
24583        (WebKit::WebNotificationManagerProxy::processDidClose):
24584        (WebKit::WebNotificationManagerProxy::refWebContextSupplement):
24585        (WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
24586        (WebKit::WebNotificationManagerProxy::didReceiveMessage):
24587        (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
24588        (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
24589        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
24590        (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
24591        (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
24592        * UIProcess/Notifications/WebNotificationManagerProxy.h:
24593        (WebNotificationManagerProxy):
24594        * UIProcess/WebContext.cpp:
24595        (WebKit::WebContext::WebContext):
24596        (WebKit::WebContext::~WebContext):
24597        (WebKit::WebContext::removeNetworkProcessProxy):
24598        (WebKit::WebContext::createNewWebProcess):
24599        (WebKit::WebContext::shouldTerminate):
24600        (WebKit::WebContext::disconnectProcess):
24601        * UIProcess/WebContext.h:
24602        (WebKit):
24603        (WebContext):
24604        (WebKit::WebContext::iconDatabase):
24605        * UIProcess/WebContextSupplement.h:
24606        (WebKit):
24607        (WebKit::WebContextSupplement::contextDestroyed):
24608        (WebKit::WebContextSupplement::processDidClose):
24609        (WebContextSupplement):
24610        (WebKit::WebContextSupplement::shouldTerminate):
24611        (WebKit::WebContextSupplement::ref):
24612        (WebKit::WebContextSupplement::deref):
24613        * UIProcess/WebCookieManagerProxy.cpp:
24614        (WebKit::WebCookieManagerProxy::supplementName):
24615        (WebKit):
24616        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
24617        (WebKit::WebCookieManagerProxy::initializeClient):
24618        (WebKit::WebCookieManagerProxy::contextDestroyed):
24619        (WebKit::WebCookieManagerProxy::processDidClose):
24620        (WebKit::WebCookieManagerProxy::shouldTerminate):
24621        (WebKit::WebCookieManagerProxy::refWebContextSupplement):
24622        (WebKit::WebCookieManagerProxy::derefWebContextSupplement):
24623        (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
24624        (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
24625        (WebKit::WebCookieManagerProxy::deleteAllCookies):
24626        (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
24627        (WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
24628        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
24629        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
24630        * UIProcess/WebCookieManagerProxy.h:
24631        (WebCookieManagerProxy):
24632        * UIProcess/WebDatabaseManagerProxy.cpp:
24633        (WebKit::WebDatabaseManagerProxy::supplementName):
24634        (WebKit):
24635        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
24636        (WebKit::WebDatabaseManagerProxy::initializeClient):
24637        (WebKit::WebDatabaseManagerProxy::contextDestroyed):
24638        (WebKit::WebDatabaseManagerProxy::processDidClose):
24639        (WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
24640        (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
24641        (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
24642        (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
24643        (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
24644        (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
24645        (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
24646        (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
24647        (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
24648        * UIProcess/WebDatabaseManagerProxy.h:
24649        (WebDatabaseManagerProxy):
24650        * UIProcess/WebGeolocationManagerProxy.cpp:
24651        (WebKit::WebGeolocationManagerProxy::supplementName):
24652        (WebKit):
24653        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
24654        (WebKit::WebGeolocationManagerProxy::initializeProvider):
24655        (WebKit::WebGeolocationManagerProxy::contextDestroyed):
24656        (WebKit::WebGeolocationManagerProxy::processDidClose):
24657        (WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
24658        (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
24659        (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
24660        (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
24661        (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
24662        * UIProcess/WebGeolocationManagerProxy.h:
24663        (WebGeolocationManagerProxy):
24664        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
24665        (WebKit::WebKeyValueStorageManagerProxy::supplementName):
24666        (WebKit):
24667        (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
24668        (WebKit::WebKeyValueStorageManagerProxy::contextDestroyed):
24669        (WebKit::WebKeyValueStorageManagerProxy::processDidClose):
24670        (WebKit::WebKeyValueStorageManagerProxy::refWebContextSupplement):
24671        (WebKit::WebKeyValueStorageManagerProxy::derefWebContextSupplement):
24672        (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
24673        (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
24674        (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
24675        * UIProcess/WebKeyValueStorageManagerProxy.h:
24676        (WebKeyValueStorageManagerProxy):
24677        * UIProcess/WebMediaCacheManagerProxy.cpp:
24678        (WebKit::WebMediaCacheManagerProxy::supplementName):
24679        (WebKit):
24680        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
24681        (WebKit::WebMediaCacheManagerProxy::contextDestroyed):
24682        (WebKit::WebMediaCacheManagerProxy::processDidClose):
24683        (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
24684        (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
24685        (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
24686        (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
24687        (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
24688        * UIProcess/WebMediaCacheManagerProxy.h:
24689        (WebMediaCacheManagerProxy):
24690        * UIProcess/WebPageProxy.cpp:
24691        (WebKit::WebPageProxy::showNotification):
24692        * UIProcess/WebResourceCacheManagerProxy.cpp:
24693        (WebKit::WebResourceCacheManagerProxy::supplementName):
24694        (WebKit):
24695        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
24696        (WebKit::WebResourceCacheManagerProxy::contextDestroyed):
24697        (WebKit::WebResourceCacheManagerProxy::processDidClose):
24698        (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
24699        (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
24700        (WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
24701        (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
24702        (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
24703        (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
24704        * UIProcess/WebResourceCacheManagerProxy.h:
24705        (WebResourceCacheManagerProxy):
24706        * UIProcess/efl/WebContextEfl.cpp:
24707        (WebKit::WebContext::platformInitializeWebProcess):
24708        * UIProcess/gtk/WebContextGtk.cpp:
24709        (WebKit::WebContext::platformInitializeWebProcess):
24710        * UIProcess/qt/WebContextQt.cpp:
24711        (WebKit::WebContext::platformInitializeWebProcess):
24712
247132013-01-01  Dan Bernstein  <mitz@apple.com>
24714
24715        <rdar://problem/12942239> Update copyright strings
24716
24717        Reviewed by Sam Weinig.
24718
24719        * Info.plist:
24720        * NetworkProcess/Info.plist:
24721        * PluginProcess/Info.plist:
24722        * SharedWorkerProcess/Info.plist:
24723        * WebProcess/Info.plist:
24724        * WebProcessService/Info.plist:
24725        * WebProcessServiceForWebKitDevelopment/Info.plist:
24726
247272013-01-01  KwangYong Choi  <ky0.choi@samsung.com>
24728
24729        [EFL] Enable MHTML feature
24730        https://bugs.webkit.org/show_bug.cgi?id=105815
24731
24732        Reviewed by Laszlo Gombos.
24733
24734        Add missing include directory for ENABLE_MHTML.
24735
24736        * CMakeLists.txt:
24737
247382012-12-30  Sam Weinig  <sam@webkit.org>
24739
24740        Add supplementability for WebContext
24741        https://bugs.webkit.org/show_bug.cgi?id=105878
24742
24743        Reviewed by Dan Bernstein.
24744
24745        Add WebContextSupplement and convert WebApplicationCacheManagerProxy to it.
24746
24747        * UIProcess/API/C/WKContext.cpp:
24748        (WKContextGetApplicationCacheManager):
24749        * UIProcess/WebApplicationCacheManagerProxy.cpp:
24750        (WebKit::WebApplicationCacheManagerProxy::supplementName):
24751        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
24752        (WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
24753        (WebKit::WebApplicationCacheManagerProxy::processDidClose):
24754        (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
24755        (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
24756        (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
24757        (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
24758        (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
24759        * UIProcess/WebApplicationCacheManagerProxy.h:
24760        (WebApplicationCacheManagerProxy):
24761        * UIProcess/WebContext.cpp:
24762        (WebKit::WebContext::WebContext):
24763        (WebKit::WebContext::~WebContext):
24764        (WebKit::WebContext::shouldTerminate):
24765        (WebKit::WebContext::disconnectProcess):
24766        * UIProcess/WebContext.h:
24767        (WebKit::WebContext::supplement):
24768        (WebKit::WebContext::addSupplement):
24769        * UIProcess/WebContextSupplement.h: Added.
24770        (WebKit::WebContextSupplement::WebContextSupplement):
24771        (WebKit::WebContextSupplement::~WebContextSupplement):
24772        (WebKit::WebContextSupplement::ref):
24773        (WebKit::WebContextSupplement::deref):
24774        (WebKit::WebContextSupplement::context):
24775        (WebKit::WebContextSupplement::clearContext):
24776        * WebKit2.xcodeproj/project.pbxproj:
24777
247782012-12-31  Christophe Dumez  <christophe.dumez@intel.com>
24779
24780        [EFL[WK2] Regression(r138574): Should not allocate memory in the fork
24781        https://bugs.webkit.org/show_bug.cgi?id=105868
24782
24783        Reviewed by Kenneth Rohde Christiansen.
24784
24785        Store prefixed executable path in a CString before the fork to
24786        avoid allocating memory in the fork by calling String::utf8().
24787        Allocating memory in the fork may lead to deadlocks due to
24788        FastMalloc and the fork not inheriting the threads.
24789
24790        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
24791        (WebKit::ProcessLauncher::launchProcess):
24792
247932012-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
24794
24795        [GTK] Add API to set a WebKitWebView in view source mode to WebKit2
24796        https://bugs.webkit.org/show_bug.cgi?id=99315
24797
24798        Reviewed by Martin Robinson.
24799
24800        Add a generic API to set/get a view mode. For now there are only
24801        two modes, Web and Source, but the API can be extended if we
24802        eventually support other view modes like Printing for example.
24803
24804        * UIProcess/API/gtk/WebKitWebView.cpp:
24805        (webkitWebViewSetProperty): Implement setter for view-mode
24806        property.
24807        (webkitWebViewGetProperty): Implement getter for view-mode
24808        property.
24809        (webkit_web_view_class_init): Add view-source property.
24810        (webkit_web_view_set_view_mode): Public method to set the view
24811        mode.
24812        (webkit_web_view_get_view_mode): Public method to get the view
24813        mode.
24814        * UIProcess/API/gtk/WebKitWebView.h: Add WebKitViewMode enum.
24815        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
24816        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
24817        (testWebViewMode):
24818        (beforeAll):
24819        * UIProcess/WebFrameProxy.cpp:
24820        (WebKit::WebFrameProxy::WebFrameProxy): Initialize
24821        m_inViewSourceMode.
24822        (WebKit::WebFrameProxy::setInViewSourceMode): Set
24823        m_inViewSourceMode if it has changed and call
24824        WebPageProxy::setFrameInViewSourceMode() to notify the WebProcess.
24825        * UIProcess/WebFrameProxy.h:
24826        (WebKit::WebFrameProxy::inViewSourceMode): Return whether the
24827        frame is currently in view source mode.
24828        * UIProcess/WebPageProxy.cpp:
24829        (WebKit::WebPageProxy::setFrameInViewSourceMode): Send a message
24830        to the WebProcess to set the given frame in view source mode or not.
24831        * UIProcess/WebPageProxy.h:
24832        (WebPageProxy): Add setFrameInViewSourceMode().
24833        * WebProcess/WebPage/WebPage.cpp:
24834        (WebKit::WebPage::setFrameInViewSourceMode): Call
24835        setInViewSourceMode for the main frame.
24836        * WebProcess/WebPage/WebPage.h:
24837        (WebPage): Add setFrameInViewSourceMode().
24838        * WebProcess/WebPage/WebPage.messages.in: Add new message
24839        SetFrameInViewSourceMode.
24840
248412012-12-30  Christophe Dumez  <christophe.dumez@intel.com>
24842
24843        [EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
24844        https://bugs.webkit.org/show_bug.cgi?id=105867
24845
24846        Reviewed by Kenneth Rohde Christiansen.
24847
24848        Fix invalid use of temporary object in ProcessLauncher::launchProcess()
24849        for prefixedExecutablePath.
24850
24851        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
24852        (WebKit::ProcessLauncher::launchProcess):
24853
248542012-12-29  Sam Weinig  <sam@webkit.org>
24855
24856        Windows build fix.
24857
24858        * win/WebKit2Common.vsprops:
24859
248602012-12-29  Sam Weinig  <sam@webkit.org>
24861
24862        Add supplementability to the NetworkProcess
24863        https://bugs.webkit.org/show_bug.cgi?id=105838
24864
24865        Reviewed by Dan Bernstein.
24866
24867        This patch adds a NetworkProcessSupplement, which is almost identical to
24868        WebProcessSupplement, but has a different initialization override. It also
24869        stops WebProcessSupplement from inheriting from MessageReceiver (and makes
24870        everything that is a WebProcessSupplement also a MessageReceiver) as keeping
24871        that would cause classes that need to be both WebProcessSupplements and
24872        NetworkProcessSupplements inherit from MessageReceiver twice.
24873
24874        * GNUmakefile.list.am:
24875        * NetworkProcess/NetworkProcess.cpp:
24876        (WebKit::NetworkProcess::NetworkProcess):
24877        (WebKit::NetworkProcess::downloadsAuthenticationManager):
24878        (WebKit::NetworkProcess::initializeNetworkProcess):
24879        * NetworkProcess/NetworkProcess.h:
24880        (WebKit):
24881        (NetworkProcess):
24882        (WebKit::NetworkProcess::supplement):
24883        (WebKit::NetworkProcess::addSupplement):
24884        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
24885        (CustomProtocolManager):
24886        * Shared/Network/NetworkProcessSupplement.h: Added.
24887        (WebKit):
24888        (NetworkProcessSupplement):
24889        (WebKit::NetworkProcessSupplement::~NetworkProcessSupplement):
24890        (WebKit::NetworkProcessSupplement::initialize):
24891        * Target.pri:
24892        * WebKit2.xcodeproj/project.pbxproj:
24893        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
24894        * WebProcess/Authentication/AuthenticationManager.h:
24895        * WebProcess/Cookies/WebCookieManager.h:
24896        * WebProcess/Geolocation/WebGeolocationManager.h:
24897        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
24898        * WebProcess/MediaCache/WebMediaCacheManager.h:
24899        * WebProcess/Notifications/WebNotificationManager.h:
24900        * WebProcess/ResourceCache/WebResourceCacheManager.h:
24901        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
24902        * WebProcess/WebProcessSupplement.h:
24903        * win/WebKit2.vcproj:
24904
249052012-12-28  Ryuan Choi  <ryuan.choi@samsung.com>
24906
24907        [EFL][WK2] MiniBrowser could not be launched on specific machine
24908        https://bugs.webkit.org/show_bug.cgi?id=105844
24909
24910        Reviewed by Gyuyoung Kim.
24911
24912        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
24913        (WebKit::ProcessLauncher::launchProcess):
24914        Modified to avoid bad use of temporary object.
24915
249162012-12-28  Joone Hur  <joone.hur@intel.com>
24917
24918        [EFL][WK2] Implement ewk_context_resource_cache_clear
24919        https://bugs.webkit.org/show_bug.cgi?id=104782
24920
24921        The purpose of this API is to clear HTTP caches in local storage and 
24922        all resources cached in memory such as images, CSS, JavaScript, XSL, 
24923        and fonts.
24924
24925        Reviewed by Kenneth Rohde Christiansen.
24926
24927        * UIProcess/API/efl/ewk_context.cpp:
24928        (EwkContext::clearResourceCache): Call WebResourceCacheManager::ClearCacheForAllOrigins.
24929        (ewk_context_resource_cache_clear):
24930        * UIProcess/API/efl/ewk_context.h: Add ewk_context_resource_cache_clear. 
24931        * UIProcess/API/efl/ewk_context_private.h:
24932        (EwkContext):
24933
249342012-12-28  Mark Rowe  <mrowe@apple.com>
24935
24936        Move logic for extracting the OS X marketing version in to WebCore
24937        <http://webkit.org/b/105841> / <rdar://problem/10736041>
24938
24939        Reviewed by Dan Bernstein.
24940
24941        * UIProcess/mac/WebPageProxyMac.mm:
24942        (WebKit::systemMarketingVersionForUserAgentString): Call the WebCore function instead
24943        of the WKSI function.
24944        (WebKit::WebPageProxy::standardUserAgent):
24945        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
24946        (InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.
24947
249482012-12-28  Sam Weinig  <sam@webkit.org>
24949
24950        Fix assert seen when adding a custom protocol handler before an initial
24951        web process has been created.
24952
24953        * UIProcess/WebContext.h:
24954        (WebKit::WebContext::sendToNetworkingProcess):
24955
249562012-12-28  Martin Robinson  <mrobinson@igalia.com>
24957
24958        [GTK][WK2] Add support for IME Composition
24959        https://bugs.webkit.org/show_bug.cgi?id=65093
24960
24961        Reviewed by Carlos Garcia Campos.
24962
24963        Add a WebKit2 implementation of the GtkInputMethodFilter and provide
24964        the necessary plumbing to pass composition information along with
24965        input method events.
24966
24967        * GNUmakefile.list.am: Add new files to the source list.
24968        * Shared/EditorState.cpp: The cursorRect is now passed for GTK+ as well as
24969        Qt, so update the encode and decode methods to pass that along.
24970        * Shared/EditorState.h: Add the cursorRect member for GTK+ as well.
24971        * Shared/NativeWebKeyboardEvent.h:
24972        (NativeWebKeyboardEvent): Keyboard events should also have knowledge of
24973        the compositionResults and whether or not the event was faked for composition
24974        purposes.
24975        * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.
24976        * Shared/gtk/WebEventFactory.cpp:
24977        (WebKit::WebEventFactory::createWebKeyboardEvent): Copy the logic of PlatformKeyEvent,
24978        for properly setting the windows key code and the event text from the composition
24979        results.
24980        * Shared/gtk/WebEventFactory.h: The createWebKeyboardEvent factory now takes a
24981        CompositionResults argument.
24982        * UIProcess/API/gtk/PageClientImpl.cpp:
24983        (WebKit::PageClientImpl::doneWithKeyEvent): Don't forward keyboard events that
24984        were faked for composition reasons. These events originated from WebKit and should
24985        never be passed to parent classes.
24986        (WebKit::PageClientImpl::updateTextInputState): Plumb through the updateTextInputState
24987        method to the WebViewBase.
24988        * UIProcess/API/gtk/PageClientImpl.h:
24989        (PageClientImpl): Add a updateTextInputState method.
24990        * UIProcess/API/gtk/WebKitWebViewBase.cpp: 
24991        (_WebKitWebViewBasePrivate): Instead of having an input method context as a member
24992        keep a WebViewBaseInputMethodFilter.
24993        (webkitWebViewBaseRealize): Set the filter widget when the WebViewBase is realized.
24994        (webkit_web_view_base_init): No longer create a input method context during init.
24995        (webkitWebViewBaseFocusInEvent): Pass along focus in events to the filter.
24996        (webkitWebViewBaseFocusOutEvent): Pass along focus out events to the filter.
24997        (webkitWebViewBaseKeyPressEvent): Instead of passing key presses directly to the WebProcess,
24998        filter them through the input method filter.
24999        (webkitWebViewBaseKeyReleaseEvent): Ditto.
25000        (webkitWebViewBaseButtonPressEvent): Notify the input method filter about button press events.
25001        (webkitWebViewBaseGetIMContext): The input method filter owns the input method now.
25002        (webkitWebViewBaseSetInputMethodState): Add a bit of plumbing for the PageClient.
25003        (webkitWebViewBaseUpdateTextInputState): Ditto.
25004        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add plumbing declarations.
25005        * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Added. An implementation of GtkInputMethodFilter for WebKit2.
25006        * UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Copied from Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h.
25007        * UIProcess/PageClient.h:
25008        (PageClient): updateInputMethod state is now for both Qt and GTK+.
25009        * UIProcess/WebPageProxy.cpp:
25010        (WebKit::WebPageProxy::editorStateChanged): Pass the editor state for GTK+ as well as Qt.
25011        (WebKit::WebPageProxy::setComposition): Moved this method from WebPageProxyQt as it's used for GTK+ now as well.
25012        (WebKit::WebPageProxy::confirmComposition): Ditto.
25013        (WebKit::WebPageProxy::cancelComposition): Ditto.
25014        * UIProcess/WebPageProxy.h:
25015        (WebPageProxy): The setInputMethodState message is for GTK+ as well as Qt now.
25016        * UIProcess/WebPageProxy.messages.in: Ditto.
25017        * UIProcess/gtk/WebPageProxyGtk.cpp:
25018        (WebKit::WebPageProxy::setInputMethodState): Ditto.
25019        * UIProcess/qt/WebPageProxyQt.cpp: Move some methods to the platform-independent file.
25020        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: More closely match the WebKit1
25021        logic for dealing with key events so that composition events will be handled properly.
25022        * WebProcess/WebPage/WebPage.cpp:
25023        (WebKit::WebPage::editorState): Properly pass the cursorRect for GTK+.
25024        (WebKit::targetFrameForEditing): Moved from the Qt file, because its used by GTK+ as well. They
25025        now pass along the updated EditorState as well, just like the Mac versions.
25026        (WebKit::WebPage::confirmComposition): Ditto.
25027        (WebKit::WebPage::setComposition): Ditto.
25028        (WebKit::WebPage::cancelComposition): Ditto.
25029        * WebProcess/WebPage/WebPage.h: The above messages are now for GTK+ as well as Qt.
25030        * WebProcess/WebPage/WebPage.messages.in: Ditto.
25031        * WebProcess/WebPage/qt/WebPageQt.cpp: Moved some methods to the platform-independent file.
25032
250332012-12-28  Sam Weinig  <sam@webkit.org>
25034
25035        Appease the Windows Gods.
25036
25037        * WebProcess/Notifications/WebNotificationManager.cpp:
25038
250392012-12-27  Sam Weinig  <sam@webkit.org>
25040
25041        Make CustomProtocolManager a WebProcessSupplement
25042        https://bugs.webkit.org/show_bug.cgi?id=105814
25043
25044        Reviewed by Dan Bernstein.
25045
25046        This converts CustomProtocolManager from a global singleton, to be a
25047        supplement of the WebProcess. Since it also needs to act as a supplement
25048        of the NetworkProcess, it adds an initialization function for the NetworkProcess
25049        as well, while we await the arrival of the forthcoming NetworkProcessSupplement.
25050        
25051        In addition, this moves the handling of registering and unregistering schemes
25052        directly to the CustomProtocolManager, instead of requiring an unnecessary trip
25053        in the ChildProcess.
25054
25055        * NetworkProcess/NetworkProcess.cpp:
25056        (WebKit::NetworkProcess::NetworkProcess):
25057        (WebKit::NetworkProcess::initializeNetworkProcess):
25058        * NetworkProcess/NetworkProcess.h:
25059        * NetworkProcess/NetworkProcess.messages.in:
25060        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
25061        (CustomProtocolManager):
25062        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
25063        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
25064        (+[WKCustomProtocol canInitWithRequest:]):
25065        (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
25066        (-[WKCustomProtocol startLoading]):
25067        (-[WKCustomProtocol stopLoading]):
25068        (WebKit::CustomProtocolManager::supplementName):
25069        (WebKit::CustomProtocolManager::CustomProtocolManager):
25070        (WebKit::CustomProtocolManager::initialize):
25071        * UIProcess/WebContext.cpp:
25072        (WebKit::WebContext::registerSchemeForCustomProtocol):
25073        (WebKit::WebContext::unregisterSchemeForCustomProtocol):
25074        * WebProcess/WebProcess.cpp:
25075        (WebKit::WebProcess::WebProcess):
25076        (WebKit::WebProcess::initializeWebProcess):
25077        * WebProcess/WebProcess.h:
25078        * WebProcess/WebProcess.messages.in:
25079
250802012-12-27  Sam Weinig  <sam@webkit.org>
25081
25082        Convert a few other WebProcess managers to be WebProcessSupplements
25083        https://bugs.webkit.org/show_bug.cgi?id=105812
25084
25085        Reviewed by Dan Bernstein.
25086
25087        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
25088        (WebKit::WebApplicationCacheManager::supplementName):
25089        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
25090        (WebApplicationCacheManager):
25091        * WebProcess/Authentication/AuthenticationManager.cpp:
25092        (WebKit::AuthenticationManager::supplementName):
25093        * WebProcess/Authentication/AuthenticationManager.h:
25094        (AuthenticationManager):
25095        * WebProcess/Cookies/WebCookieManager.cpp:
25096        (WebKit::WebCookieManager::supplementName):
25097        * WebProcess/Cookies/WebCookieManager.h:
25098        (WebCookieManager):
25099        * WebProcess/Geolocation/WebGeolocationManager.cpp:
25100        (WebKit::WebGeolocationManager::supplementName):
25101        * WebProcess/Geolocation/WebGeolocationManager.h:
25102        (WebGeolocationManager):
25103        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25104        (WebKit::InjectedBundle::setAlwaysAcceptCookies):
25105        (WebKit::InjectedBundle::clearApplicationCache):
25106        (WebKit::InjectedBundle::setAppCacheMaximumSize):
25107        (WebKit::InjectedBundle::webNotificationID):
25108        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
25109        (WebKit::WebMediaCacheManager::supplementName):
25110        * WebProcess/MediaCache/WebMediaCacheManager.h:
25111        (WebMediaCacheManager):
25112        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
25113        (WebKit::NotificationPermissionRequestManager::permissionLevel):
25114        (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
25115        (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
25116        (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
25117        * WebProcess/Notifications/WebNotificationManager.cpp:
25118        (WebKit::WebNotificationManager::supplementName):
25119        (WebKit::WebNotificationManager::initialize):
25120        * WebProcess/Notifications/WebNotificationManager.h:
25121        (WebNotificationManager):
25122        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
25123        (WebKit::WebResourceCacheManager::supplementName):
25124        * WebProcess/ResourceCache/WebResourceCacheManager.h:
25125        (WebResourceCacheManager):
25126        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
25127        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
25128        * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
25129        (WebKit::WebGeolocationClient::geolocationDestroyed):
25130        (WebKit::WebGeolocationClient::startUpdating):
25131        (WebKit::WebGeolocationClient::stopUpdating):
25132        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
25133        (WebKit::WebNotificationClient::show):
25134        (WebKit::WebNotificationClient::cancel):
25135        (WebKit::WebNotificationClient::clearNotifications):
25136        (WebKit::WebNotificationClient::notificationObjectDestroyed):
25137        * WebProcess/WebProcess.cpp:
25138        (WebKit::WebProcess::WebProcess):
25139        (WebKit::WebProcess::downloadsAuthenticationManager):
25140        * WebProcess/WebProcess.h:
25141        (WebKit::WebProcess::textCheckerState):
25142        (WebKit::WebProcess::networkAccessManager):
25143        (WebKit::WebProcess::soupRequestManager):
25144        * WebProcess/mac/WebProcessMac.mm:
25145        (WebKit::WebProcess::platformInitializeWebProcess):
25146        * WebProcess/soup/WebProcessSoup.cpp:
25147        (WebKit::WebProcess::platformInitializeWebProcess):
25148        * WebProcess/win/WebProcessWin.cpp:
25149        (WebKit::WebProcess::platformInitializeWebProcess):
25150
251512012-12-27  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
25152
25153        [EFL][WK2] Regression(138462) Sometimes garbage in snapshots
25154        https://bugs.webkit.org/show_bug.cgi?id=105803
25155
25156        Reviewed by Kenneth Rohde Christiansen.
25157
25158        Instead of creating temporary buffer and then creating cairo surface
25159        from it, create cairo surface 1st and use surface image internal buffer
25160        to read pixels from GL buffer. 
25161
25162        * UIProcess/API/efl/EwkViewImpl.cpp:
25163        (EwkViewImpl::takeSnapshot):
25164        * UIProcess/API/efl/SnapshotImageGL.cpp:
25165        (getImageSurfaceFromFrameBuffer):
25166        * UIProcess/API/efl/SnapshotImageGL.h:
25167
251682012-12-27  Sam Weinig  <sam@webkit.org>
25169
25170        Actually make use of the WebProcessSupplements by adding a supplement map to WebProcess
25171        https://bugs.webkit.org/show_bug.cgi?id=105804
25172
25173        Reviewed by Dan Bernstein.
25174
25175        This continues the work of adding extensibility to WebProcess by adding a supplement
25176        map, and using it as proof of concept for WebDatabaseManager and WebKeyValueStorageManager.
25177
25178        - A supplement is added to WebProcess by calling:
25179            process->addSupplement<SupplementFoo>();
25180        - A supplement can be used accessed by calling:
25181            process->supplement<SupplementFoo>();
25182
25183        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25184        (WebKit::InjectedBundle::clearAllDatabases):
25185        (WebKit::InjectedBundle::setDatabaseQuota):
25186        * WebProcess/WebPage/WebPage.cpp:
25187        (WebKit::WebPage::updatePreferences):
25188        Switch to using the new supplement accessor.
25189
25190        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25191        (WebKit::WebKeyValueStorageManager::supplementName):
25192        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25193        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
25194        (WebKit::WebDatabaseManager::supplementName):
25195        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
25196        Add static supplementName functions. We might want to merge this with
25197        the message class name, but for now we have both. 
25198
25199        * WebProcess/WebProcess.cpp:
25200        (WebKit::WebProcess::WebProcess):
25201        Add supplements the new way. This should eventually move to the caller
25202        of WebProcess::initialize, so that we can reduce #ifdefs and ports have
25203        a chance to customize.
25204        
25205        (WebKit::WebProcess::initializeWebProcess):
25206        Iterate the supplements to give each a chance to initialize.
25207
25208        * WebProcess/WebProcess.h:
25209        (WebKit::WebProcess::supplement):
25210        (WebKit::WebProcess::addSupplement):
25211        Add functions to add and get WebProcessSupplements.
25212
252132012-12-26  Sam Weinig  <sam@webkit.org>
25214
25215        Add an initial stab at a generic supplemental interface for WebProcess
25216        https://bugs.webkit.org/show_bug.cgi?id=105779
25217
25218        Reviewed by Darin Adler.
25219
25220        This starts the process of adding a mechanism to WebProcess to extend its
25221        functionality without actually changing it (similar to the Supplement
25222        mechanism in WebCore). This will make it possible for ports to add functionality
25223        that might not be needed or wanted by other ports.
25224
25225        * WebKit2.xcodeproj/project.pbxproj:
25226        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25227        (WebKit::WebKeyValueStorageManager::initialize):
25228        (WebKit):
25229        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25230        (WebKeyValueStorageManager):
25231        (WebKit::WebKeyValueStorageManager::localStorageDirectory):
25232        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
25233        (WebKit::WebDatabaseManager::WebDatabaseManager):
25234        (WebKit::WebDatabaseManager::initialize):
25235        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
25236        (WebDatabaseManager):
25237        * WebProcess/WebPage/WebPage.cpp:
25238        (WebKit::WebPage::updatePreferences):
25239        * WebProcess/WebProcess.cpp:
25240        (WebKit::WebProcess::initializeWebProcess):
25241        (WebKit::WebProcess::keyValueStorageManager):
25242        (WebKit):
25243        * WebProcess/WebProcess.h:
25244        (WebProcess):
25245        * WebProcess/WebProcessSupplement.h: Added.
25246        (WebKit):
25247        (WebProcessSupplement):
25248        (WebKit::WebProcessSupplement::~WebProcessSupplement):
25249        (WebKit::WebProcessSupplement::initialize):
25250
252512012-12-27  Christophe Dumez  <christophe.dumez@intel.com>
25252
25253        [EFL][WK2] Regression(135935) layout tests snapshots are flaky
25254        https://bugs.webkit.org/show_bug.cgi?id=103468
25255
25256        Reviewed by Kenneth Rohde Christiansen.
25257
25258        Make sure that we wait for pending repaints before taking a
25259        snapshot to avoid flakiness in pixel / ref tests. We also
25260        suspend all animations before taking the snapshot to make
25261        sure we don't wait forever for repaint events to be processed.
25262
25263        * UIProcess/API/efl/EwkViewImpl.cpp:
25264        (EwkViewImpl::takeSnapshot):
25265
252662012-12-26  Csaba Osztrogonác  <ossy@webkit.org>
25267
25268        Unreviewed Xmas buildfix after r138479.
25269
25270        * WebProcess/MediaCache/WebMediaCacheManager.h:
25271
252722012-12-25  Sam Weinig  <sam@webkit.org>
25273
25274        Convert WebKeyValueStorageManager and WebMediaCacheManager to MessageReceiver
25275        https://bugs.webkit.org/show_bug.cgi?id=105751
25276
25277        Reviewed by Andreas Kling.
25278
25279        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25280        (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
25281        (WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
25282        (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
25283        (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
25284        (WebKit::WebKeyValueStorageManager::deleteAllEntries):
25285        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25286        (WebKeyValueStorageManager): Remove unused m_originsLoaded member variable.
25287        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
25288        (WebKit::WebMediaCacheManager::WebMediaCacheManager):
25289        (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
25290        (WebKit::WebMediaCacheManager::clearCacheForHostname):
25291        (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
25292        * WebProcess/MediaCache/WebMediaCacheManager.h:
25293        (WebMediaCacheManager):
25294        Convert the managers to MessageReceiver.
25295
25296        * WebProcess/WebProcess.cpp:
25297        (WebKit::WebProcess::WebProcess):
25298        (WebKit::WebProcess::initializeWebProcess):
25299        (WebKit::WebProcess::didReceiveMessage):
25300        * WebProcess/WebProcess.h:
25301        (WebProcess):
25302        Add the new managers.
25303
253042012-12-25  Sam Weinig  <sam@webkit.org>
25305
25306        Fix the Database manager assert, again.
25307
25308        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
25309        (WebKit):
25310        (WebKit::WebDatabaseManager::WebDatabaseManager):
25311        (WebKit::WebDatabaseManager::initialize):
25312        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
25313        (WebDatabaseManager):
25314        * WebProcess/WebProcess.cpp:
25315        (WebKit::WebProcess::initializeWebProcess):
25316
253172012-12-25  Huang Dongsung  <luxtella@company100.net>
25318
25319        Coordinated Graphics: Manage the lifecycle of CoordinatedGraphicsLayer explicitly.
25320        https://bugs.webkit.org/show_bug.cgi?id=104990
25321
25322        Reviewed by Noam Rosenthal.
25323
25324        Send explicit commands to the UI process to create/delete compositing
25325        layers, instead of having the UI process decide lazily when to create
25326        them.
25327
25328        Avoid creating a compositing layer at all if it was deleted in the same
25329        cycle.
25330
25331        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
25332        (WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayer):
25333        (WebKit):
25334        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
25335        (CoordinatedLayerTreeHostProxy):
25336        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
25337        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
25338        (WebKit::LayerTreeRenderer::createCanvas):
25339        (WebKit::LayerTreeRenderer::destroyCanvas):
25340        (WebKit::LayerTreeRenderer::setLayerChildren):
25341        (WebKit::LayerTreeRenderer::setLayerFilters):
25342        (WebKit::LayerTreeRenderer::setLayerState):
25343        (WebKit::LayerTreeRenderer::getLayerByIDIfExists):
25344        (WebKit):
25345        (WebKit::LayerTreeRenderer::createLayer):
25346        (WebKit::LayerTreeRenderer::deleteLayer):
25347        (WebKit::LayerTreeRenderer::setRootLayerID):
25348        (WebKit::LayerTreeRenderer::createTile):
25349        (WebKit::LayerTreeRenderer::removeTile):
25350        (WebKit::LayerTreeRenderer::updateTile):
25351        (WebKit::LayerTreeRenderer::ensureRootLayer):
25352        (WebKit::LayerTreeRenderer::setLayerAnimations):
25353        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
25354        (LayerTreeRenderer):
25355        (WebKit::LayerTreeRenderer::layerByID):
25356        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
25357        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
25358        (WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
25359        (WebKit):
25360        (WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
25361        (WebKit::CoordinatedLayerTreeHost::detachLayer):
25362        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
25363        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
25364
253652012-12-25  Sam Weinig  <sam@webkit.org>
25366
25367        Fix Qt build.
25368
25369        * WebProcess/WebPage/qt/WebPageQt.cpp:
25370
253712012-12-24  Sam Weinig  <sam@webkit.org>
25372
25373        Reduce the number of includes in WebProcess.h
25374        https://bugs.webkit.org/show_bug.cgi?id=105709
25375
25376        Reviewed by Dan Bernstein.
25377
25378        * NetworkProcess/NetworkProcess.cpp:
25379        (WebKit::NetworkProcess::NetworkProcess):
25380        (WebKit::NetworkProcess::downloadsAuthenticationManager):
25381        * NetworkProcess/NetworkProcess.h:
25382        (WebKit):
25383        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
25384        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
25385        * WebProcess/FullScreen/WebFullScreenManager.cpp:
25386        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25387        * WebProcess/Network/NetworkProcessConnection.cpp:
25388        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
25389        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
25390        * WebProcess/WebPage/FindController.cpp:
25391        * WebProcess/WebPage/WebContextMenu.cpp:
25392        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
25393        * WebProcess/WebProcess.cpp:
25394        (WebKit::WebProcess::WebProcess):
25395        (WebKit::WebProcess::downloadsAuthenticationManager):
25396        (WebKit::WebProcess::initializeWebProcess):
25397        (WebKit::WebProcess::geolocationManager):
25398        (WebKit):
25399        (WebKit::WebProcess::applicationCacheManager):
25400        (WebKit::WebProcess::resourceCacheManager):
25401        (WebKit::WebProcess::cookieManager):
25402        (WebKit::WebProcess::authenticationManager):
25403        (WebKit::WebProcess::databaseManager):
25404        (WebKit::WebProcess::notificationManager):
25405        (WebKit::WebProcess::pluginProcessConnectionManager):
25406        (WebKit::WebProcess::networkProcessConnectionClosed):
25407        (WebKit::WebProcess::webResourceLoadScheduler):
25408        (WebKit::WebProcess::pluginProcessCrashed):
25409        * WebProcess/WebProcess.h:
25410        (WebCore):
25411        (WebKit):
25412        (WebProcess):
25413        * WebProcess/mac/WebProcessMac.mm:
25414        (WebKit::WebProcess::platformInitializeWebProcess):
25415
254162012-12-25  Andreas Kling  <akling@apple.com>
25417
25418        [WK2][Mac] Call Carbon resource APIs on main thread only.
25419        <rdar://problem/11760262>
25420        <http://webkit.org/b/105746>
25421
25422        Reviewed by Anders Carlsson.
25423
25424        The Carbon resource APIs are not thread-safe, so use a little libdispatch sugar to make
25425        sure that plugin enumeration never calls them on a secondary thread.
25426
25427        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
25428        (WebKit::getPluginInfoFromCarbonResourcesOnMainThread):
25429        (WebKit::getPluginInfoFromCarbonResources):
25430
254312012-12-25  Seokju Kwon  <seokju.kwon@gmail.com>
25432
25433        [EFL][WK2] Build breaks with --no-input-type-color
25434        https://bugs.webkit.org/show_bug.cgi?id=105740
25435
25436        Reviewed by Laszlo Gombos.
25437
25438        * UIProcess/API/efl/EwkViewImpl.h: Add INPUT_TYPE_COLOR guard.
25439        (EwkViewImpl):
25440
254412012-12-25  Christophe Dumez  <christophe.dumez@intel.com>
25442
25443        [EFL][WK2] Refactor snapshot taking code
25444        https://bugs.webkit.org/show_bug.cgi?id=105687
25445
25446        Reviewed by Kenneth Rohde Christiansen.
25447
25448        Refactor EFL WK2 snapshot taking code to use
25449        smart pointers when possible and follow naming
25450        conventions.
25451
25452        * UIProcess/API/C/efl/WKView.cpp:
25453        (WKViewCreateSnapshot):
25454        * UIProcess/API/C/efl/WKView.h: Rename WKViewGetSnapshot
25455        to WKViewCreateSnapshot to follow C API naming conventions,
25456        since the returned value needs to be adopted.
25457        * UIProcess/API/efl/EwkViewImpl.cpp:
25458        (EwkViewImpl::takeSnapshot):
25459        * UIProcess/API/efl/EwkViewImpl.h: Have takeSnapshot() return
25460        a cairo_surface_t instead of a WKType. The value should be
25461        converted to a WKType at C API level.
25462        (EwkViewImpl):
25463        * UIProcess/API/efl/SnapshotImageGL.cpp: Use OwnArrayPtr for the
25464        buffer to avoid manual memory handling. Remove useless call to
25465        glBindTexture() since glReadPixels() reads pixels from the frame
25466        buffer, not from the texture.
25467        (getImageDataFromFrameBuffer):
25468        * UIProcess/API/efl/SnapshotImageGL.h: Rename getImageFromCurrentTexture
25469        to getImageDataFromFrameBuffer for consistency since we technically
25470        return the pixel data of the image and since glReadPixels does not
25471        actually read from the texture. Have the function return a smart
25472        pointer instead of a raw one to avoid manual memory handling.
25473
254742012-12-25  Tim Horton  <timothy_horton@apple.com>
25475
25476        PDFPlugin: Find-in-page
25477        https://bugs.webkit.org/show_bug.cgi?id=105710
25478        <rdar://problem/12555331>
25479
25480        Reviewed by Alexey Proskuryakov.
25481
25482        Make use of PDFLayerController's find-in-page functionality to mimic WebKit's.
25483        Add two Plugin methods, countFindMatches and findString, and make use of them
25484        if attempting to find-in-page within a PluginDocument.
25485
25486        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
25487        (WebKit::NetscapePlugin::countFindMatches): Added. We don't support find-in-page for NetscapePlugin.
25488        (WebKit::NetscapePlugin::findString): Added. We don't support find-in-page for NetscapePlugin.
25489        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add countFindMatches and findString.
25490        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add requisite PDFLayerController interfaces.
25491        * WebProcess/Plugins/PDF/PDFPlugin.h: Add countFindMatches, findString, and nextMatchForString,
25492        as well as  storage for the most-recently-searched string.
25493        * WebProcess/Plugins/PDF/PDFPlugin.mm:
25494        (WebKit::PDFPlugin::writeItemsToPasteboard):
25495        (WebKit::PDFPlugin::countFindMatches):
25496        (WebKit::PDFPlugin::nextMatchForString):
25497        (WebKit::PDFPlugin::findString):
25498        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add countFindMatches and findString.
25499        * WebProcess/Plugins/Plugin.h: Add countFindMatches and findString.
25500        * WebProcess/Plugins/PluginProxy.h: Add countFindMatches and findString, but since PDFPlugin
25501        is in-process, we don't need to forward these calls to the PluginProcess.
25502        * WebProcess/Plugins/PluginView.cpp: 
25503        (WebKit::PluginView::countFindMatches): Forward countFindMatches to the plugin.
25504        (WebKit::PluginView::findString): Forward findString to the plugin.
25505        * WebProcess/Plugins/PluginView.h: Add countFindMatches and findString.
25506        * WebProcess/WebPage/FindController.cpp:
25507        (WebKit::pluginViewForFrame): If the given frame hosts a PluginDocument, grab its PluginView.
25508        (WebKit::FindController::countStringMatches): Forward countStringMatches to PluginView if necessary.
25509        (WebKit::FindController::updateFindUIAfterPageScroll): Only use unmarkAllTextMatches if we're using
25510        ordinary find-in-page and don't have a plugin. If we have a plugin, disable our overlay, as it must
25511        be handled by the plugin itself, and request the number of matches for the search from the plugin.
25512        (WebKit::FindController::findString): If necessary, forward findString to the plugin.
25513        (WebKit::FindController::hideFindUI): Hide the search highlight by searching for an empty string.
25514
255152012-12-24  Laszlo Gombos  <l.gombos@samsung.com>
25516
25517        Remove wtf/Platform.h includes from {c|cpp} files
25518        https://bugs.webkit.org/show_bug.cgi?id=105678
25519
25520        Reviewed by Kentaro Hara.
25521
25522        Remove wtf/Platform.h from the include list as it is already
25523        included in config.h.
25524
25525        * Shared/qt/QtNetworkRequestData.cpp:
25526
255272012-12-24  Sam Weinig  <sam@webkit.org>
25528
25529        Assert fix take 2.
25530
25531        * WebProcess/WebProcess.cpp:
25532        (WebKit::WebProcess::WebProcess):
25533        (WebKit::WebProcess::initializeWebProcess):
25534
255352012-12-24  Sam Weinig  <sam@webkit.org>
25536
25537        Fix WebKit2 asserting on launch.
25538
25539        * WebProcess/WebProcess.cpp:
25540        (WebKit::WebProcess::WebProcess):
25541        * WebProcess/WebProcess.h:
25542        (WebKit::WebProcess::databaseManager):
25543        (WebProcess):
25544
255452012-12-24  Csaba Osztrogonác  <ossy@webkit.org>
25546
25547        [Qt][Win] Unreviewed Xmas buildfix after r138433.
25548
25549        * WebProcess/Cookies/WebCookieManager.h:
25550
255512012-12-23  Seokju Kwon  <seokju.kwon@gmail.com>
25552
25553        Fix the incorrect use of preprocessor statement in API header
25554        https://bugs.webkit.org/show_bug.cgi?id=105675
25555
25556        Reviewed by Sam Weinig.
25557
25558        Remove a preprocessor statement in WKBundlePage.h
25559
25560        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
25561        (WKBundlePageGetInspector):
25562        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
25563
255642012-12-23  Sam Weinig  <sam@webkit.org>
25565
25566        Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection
25567        https://bugs.webkit.org/show_bug.cgi?id=105703
25568
25569        Reviewed by Dan Bernstein.
25570
25571        Also switches WebCookieManager over to be a MessageReceiver while we are at it.
25572
25573        * NetworkProcess/NetworkProcess.cpp:
25574        (WebKit::NetworkProcess::NetworkProcess):
25575        (WebKit::NetworkProcess::initialize):
25576        (WebKit::NetworkProcess::didReceiveMessage):
25577        * NetworkProcess/NetworkProcess.h:
25578        (WebKit):
25579        * WebProcess/Authentication/AuthenticationManager.cpp:
25580        (WebKit::AuthenticationManager::AuthenticationManager):
25581        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
25582        * WebProcess/Authentication/AuthenticationManager.h:
25583        (AuthenticationManager):
25584        * WebProcess/Cookies/WebCookieManager.cpp:
25585        (WebKit):
25586        (WebKit::WebCookieManager::WebCookieManager):
25587        (WebKit::WebCookieManager::didReceiveMessage):
25588        (WebKit::WebCookieManager::getHostnamesWithCookies):
25589        (WebKit::WebCookieManager::cookiesDidChange):
25590        (WebKit::WebCookieManager::dispatchCookiesDidChange):
25591        (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
25592        * WebProcess/Cookies/WebCookieManager.h:
25593        (WebKit):
25594        (WebCookieManager):
25595        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
25596        (WebKit::WebCookieManager::setCookiePersistentStorage):
25597        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25598        (WebKit::InjectedBundle::setAlwaysAcceptCookies):
25599        * WebProcess/WebProcess.cpp:
25600        (WebKit::WebProcess::WebProcess):
25601        (WebKit::WebProcess::initialize):
25602        (WebKit::WebProcess::didReceiveMessage):
25603        * WebProcess/WebProcess.h:
25604        (WebProcess):
25605        (WebKit::WebProcess::cookieManager):
25606
256072012-12-23  Sam Weinig  <sam@webkit.org>
25608
25609        Try to fix the Qt build.
25610
25611        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
25612
256132012-12-23  Sam Weinig  <sam@webkit.org>
25614
25615        Remove more special cased message receiving code from WebProcess
25616        https://bugs.webkit.org/show_bug.cgi?id=105700
25617
25618        Reviewed by Dan Bernstein.
25619
25620        Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
25621        CoreIPC::MessageReceivers, removes them as special cases in WebProcess.
25622
25623        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
25624        (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
25625        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
25626        (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
25627        (WebKit::WebApplicationCacheManager::deleteAllEntries):
25628        (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
25629        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
25630        (WebKit):
25631        (WebApplicationCacheManager):
25632        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25633        (WebKit::InjectedBundle::clearAllDatabases):
25634        (WebKit::InjectedBundle::setDatabaseQuota):
25635        (WebKit::InjectedBundle::clearApplicationCache):
25636        (WebKit::InjectedBundle::setAppCacheMaximumSize):
25637        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
25638        (WebKit::WebResourceCacheManager::WebResourceCacheManager):
25639        (WebKit::WebResourceCacheManager::getCacheOrigins):
25640        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
25641        (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
25642        * WebProcess/ResourceCache/WebResourceCacheManager.h:
25643        (WebKit):
25644        (WebResourceCacheManager):
25645        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
25646        (WebKit):
25647        (WebKit::WebDatabaseManager::WebDatabaseManager):
25648        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
25649        (WebKit::WebDatabaseManager::getDatabaseOrigins):
25650        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
25651        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
25652        (WebKit::WebDatabaseManager::deleteAllDatabases):
25653        (WebKit::WebDatabaseManager::setQuotaForOrigin):
25654        (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
25655        (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
25656        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
25657        (WebKit):
25658        (WebDatabaseManager):
25659        * WebProcess/WebProcess.cpp:
25660        (WebKit::WebProcess::WebProcess):
25661        (WebKit::WebProcess::didReceiveMessage):
25662        * WebProcess/WebProcess.h:
25663        (WebProcess):
25664        (WebKit::WebProcess::applicationCacheManager):
25665        (WebKit::WebProcess::resourceCacheManager):
25666        (WebKit::WebProcess::databaseManager):
25667
256682012-12-23  Alexey Proskuryakov  <ap@apple.com>
25669
25670        <rdar://problem/12808377> Network process should respect cookie accept policy
25671        https://bugs.webkit.org/show_bug.cgi?id=105684
25672
25673        Reviewed by Sam Weinig.
25674
25675        * NetworkProcess/NetworkProcess.cpp:
25676        (WebKit::NetworkProcess::initialize): Tell cookie manager which connection to
25677        make calls on. Now that the code can run in either WebProcess or NetworkProcess,
25678        it cannot use WebProcess singleton.
25679        (WebKit::NetworkProcess::didReceiveMessage): Dispatch WebCookieManager messages.
25680
25681        * WebProcess/WebProcess.cpp:
25682        (WebKit::WebProcess::initialize): Tell cookie manager which connection to
25683        make calls on.
25684
25685        * UIProcess/Downloads/DownloadProxy.cpp:
25686        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Changed to use
25687        WebContext::networkingProcessConnection() instead of deciding upon the connection here.
25688
25689        * UIProcess/Network/NetworkProcessProxy.cpp:
25690        (WebKit::NetworkProcessProxy::didReceiveMessage): Call m_webContext->dispatchMessage),
25691        as WebCookieManagerProxy handlers are registered on the context. This may seem wasteful,
25692        but a lot of registered managers will need the ame handling soon.
25693
25694        * UIProcess/WebContext.cpp:
25695        (WebKit::WebContext::networkingProcessConnection): Added a way to get connection
25696        to whichever process performs networking.
25697        (WebKit::WebContext::removeNetworkProcessProxy): Invalidate cookie manager proxy,
25698        so that expected responses could be cleared.
25699        (WebKit::WebContext::disconnectProcess): Updated a FIXME.
25700
25701        * UIProcess/WebContext.h: Deleted deprecatedSharedProcess().
25702        (WebKit::WebContext::networkingProcessConnection): Added.
25703        (WebKit::WebContext::sendToNetworkingProcess): Added.
25704        (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): Added.
25705
25706        * UIProcess/WebCookieManagerProxy.cpp:
25707        (WebKit::WebCookieManagerProxy::shouldTerminate): Should not prevent WebProcess
25708        termination when NetworkProcess is in use.
25709        (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Removed a useless ASSERT
25710        that neiter documents expectations nor helps find bugs. Send a message to correct
25711        process, whether WebProcess or NetworkProcess.
25712        (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Ditto.
25713        (WebKit::WebCookieManagerProxy::deleteAllCookies): Ditto.
25714        (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Ditto.
25715        (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
25716        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Ditto.
25717        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): Ditto.
25718
25719        * WebProcess/Cookies/WebCookieManager.h:
25720        * WebProcess/Cookies/WebCookieManager.cpp: Made the class usable in either WebProcess
25721        or NetworkProcess.
25722        (WebKit::WebCookieManager::setConnection): WebCookieManager now remembers which
25723        connection to talk back on.
25724        (WebKit::WebCookieManager::didReceiveMessage): Added an assertion that stored connection
25725        matches the one being used to reciev messages.
25726        (WebKit::WebCookieManager::getHostnamesWithCookies): Use the stored connection to
25727        send a reply.
25728        (WebKit::WebCookieManager::startObservingCookieChanges): Pass a callback function,
25729        so that WebCore doesn't have to use a platform strategy.
25730        (WebKit::WebCookieManager::cookiesDidChange): The new callback.
25731        (WebKit::WebCookieManager::dispatchCookiesDidChange): Use the stored connection.
25732        (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): Use the stored connection.
25733
25734        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
25735        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
25736        Removed notifyCookiesChanged() which is no longer part of CookiesStrategy.
25737
257382012-12-22  Sam Weinig  <sam@webkit.org>
25739
25740        Make CustomProtocolManager a MessageReceiver to remove more special casing
25741        https://bugs.webkit.org/show_bug.cgi?id=105682
25742
25743        Reviewed by Dan Bernstein.
25744
25745        To avoid storing a Connection in CustomProtocolManager, which is not a great idea without
25746        it being the Connection::Client and therefore getting death notifications, I also made
25747        ChildProcess a MessageSender so that extensions to it, like CustomProtocolManager, can
25748        easily send messages to the parent process.
25749
25750        * NetworkProcess/NetworkProcess.cpp:
25751        (WebKit::NetworkProcess::NetworkProcess):
25752        Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in 
25753        the ChildProcess.
25754
25755        (WebKit::NetworkProcess::didReceiveMessage):
25756        Remove the special case for CustomProtocolManager.
25757
25758        (WebKit::NetworkProcess::initializeNetworkProcess):
25759        Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
25760
25761        * NetworkProcess/NetworkProcess.h:
25762        Add overrides necessary for MessageSender.
25763
25764        * PluginProcess/PluginProcess.h:
25765        Ditto.
25766
25767        * Shared/ChildProcess.h:
25768        (ChildProcess):
25769        Make ChildProcess a MessageSender.
25770
25771        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
25772        (CustomProtocolManager):
25773        (WebKit::CustomProtocolManager::childProcess):
25774        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
25775        (-[WKCustomProtocol startLoading]):
25776        (-[WKCustomProtocol stopLoading]):
25777        (WebKit::CustomProtocolManager::CustomProtocolManager):
25778        (WebKit::CustomProtocolManager::initialize):
25779        (WebKit::CustomProtocolManager::connectionEstablished):
25780        Make CustomProtocolManager a MessageReceiver and split initialization and the time when it can 
25781        start acting as protocol handler as these happen at different times now. It also now stores a
25782        ChildProcess rather than a Connection.
25783
25784        * SharedWorkerProcess/SharedWorkerProcess.h:
25785        Add overrides necessary for MessageSender.
25786
25787        * WebProcess/WebProcess.cpp:
25788        (WebKit::WebProcess::WebProcess):
25789        Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in 
25790        the ChildProcess.
25791
25792        (WebKit::WebProcess::didReceiveMessage):
25793        Remove the special case for CustomProtocolManager.
25794
25795        (WebKit::WebProcess::initializeCustomProtocolManager):
25796        Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
25797
25798        * WebProcess/WebProcess.h:
25799        Add overrides necessary for MessageSender.
25800
258012012-12-20  Martin Robinson  <mrobinson@igalia.com>
25802
25803        [GTK] Remove plugin process configuration option
25804        https://bugs.webkit.org/show_bug.cgi?id=105564
25805
25806        Reviewed by Carlos Garcia Campos.
25807
25808        Remove the --enable-plugin-process configuration option, opting instead to
25809        always build the plugin process when building WebKit2. It isn't very interesting
25810        for downstream to enable or disable the plugin process. It should always be
25811        enabled for WebKit2 and it's better for us not to have to keep a disabled plugin
25812        process building. Additionally, the in-process plugin isn't functional, since
25813        plugins depend on GTK+ 2 and WebKit2 depends on GTK+ 3.
25814
25815        * GNUmakefile.am: Remove the option.
25816        * GNUmakefile.list.am: Remote the option.
25817
258182012-12-22  Sam Weinig  <sam@webkit.org>
25819
25820        Give the ChildProcess a MessageReceiverMap
25821        https://bugs.webkit.org/show_bug.cgi?id=105681
25822
25823        Reviewed by Dan Bernstein.
25824
25825        Moving the MessageReceiverMap to the ChildProcess will help shared code
25826        between the WebProcess and NetworkProcess.
25827
25828        * NetworkProcess/NetworkProcess.cpp:
25829        (WebKit::NetworkProcess::NetworkProcess):
25830        Pass 'this' instead of the MessageReceiverMap, now that ChildProcess
25831        can be used to access the MessageReceiverMap.
25832
25833        * NetworkProcess/NetworkProcess.h:
25834        (NetworkProcess):
25835        Remove the now extraneous MessageReceiverMap.
25836
25837        * Shared/ChildProcess.cpp:
25838        (WebKit::ChildProcess::ChildProcess):
25839        (WebKit):
25840        (WebKit::ChildProcess::~ChildProcess):
25841        (WebKit::ChildProcess::addMessageReceiver):
25842        (WebKit::ChildProcess::removeMessageReceiver):
25843        * Shared/ChildProcess.h:
25844        (ChildProcess):
25845        Add a MessageReceiverMap and helper functions from WebProcess.
25846
25847        * WebProcess/Authentication/AuthenticationManager.cpp:
25848        (WebKit::AuthenticationManager::AuthenticationManager):
25849        * WebProcess/Authentication/AuthenticationManager.h:
25850        (AuthenticationManager):
25851        Fix the FIXME, passing the ChildProcess rather than the MessageReceiverMap.
25852
25853        * WebProcess/WebProcess.cpp:
25854        (WebKit::WebProcess::WebProcess):
25855        * WebProcess/WebProcess.h:
25856        (WebProcess):
25857        Remove the MessageReceiverMap and helper functions.
25858
258592012-12-22  Alexey Proskuryakov  <ap@apple.com>
25860
25861        Windows build fix.
25862
25863        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
25864
258652012-12-22  Alexey Proskuryakov  <ap@apple.com>
25866
25867        Add a separate class for networking related storage
25868        https://bugs.webkit.org/show_bug.cgi?id=105676
25869
25870        Reviewed by Sam Weinig.
25871
25872        * NetworkProcess/NetworkConnectionToWebProcess.cpp: We no longer need to create
25873        fake RemoteNetworkingContexts here! Use an actual default or private storage session.
25874
25875        * NetworkProcess/mac/NetworkProcessMainMac.mm: Updated form of WebSystemInterface.h include,
25876        it's not a system one.
25877
25878        * NetworkProcess/mac/RemoteNetworkingContext.h: Expose privateBrowsingSession(),
25879        so that NetworkConnectionToWebProcess could use it. We can generalize the interface
25880        one we support more sessions.
25881
25882        * NetworkProcess/mac/RemoteNetworkingContext.mm: This class now only tracks private
25883        browsing session, with most other code being in NetworkStorageSession.
25884
25885        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
25886        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
25887        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
25888        * WebProcess/WebProcess.cpp:
25889        * WebProcess/efl/WebProcessMainEfl.cpp:
25890        * WebProcess/gtk/WebProcessMainGtk.cpp:
25891        * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
25892        * WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
25893        * WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
25894        * WebProcess/Downloads/mac/DownloadMac.mm:
25895        * WebProcess/Network/WebResourceLoader.cpp:
25896        Updated includes for ResourceHandle change. For some ports, the includes could be
25897        made more tight, but I have no practical way to do that.
25898
25899        * WebKit2.xcodeproj/project.pbxproj: Removed WebPlatformStrategiesMac.mm.
25900
25901        * WebProcess/Cookies/WebCookieManager.cpp:
25902        (WebKit::WebCookieManager::getHostnamesWithCookies):
25903        (WebKit::WebCookieManager::deleteCookiesForHostname):
25904        (WebKit::WebCookieManager::deleteAllCookies):
25905        Pass a proper session instead of relying on a strategy to call back to WebKit
25906        for default cookie storage (we don't even have strategies initialized in NetworkProcess).
25907
25908        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25909        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Initialize WCSI
25910        before calling a function that now uses in in WebCore.
25911
25912        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
25913        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: We no longer need a strategy
25914        for default cookie storage! Updated other functions to use sessions.
25915
25916        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
25917        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
25918        * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Removed.
25919        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
25920        WebFrameNetworkingContext is now simpler, with more tracking being donre through WebCore.
25921
259222012-12-21  Elliott Sprehn  <esprehn@chromium.org>
25923
25924        Replace documentFragmentIsShadowRoot with isTreeScope
25925        https://bugs.webkit.org/show_bug.cgi?id=105345
25926
25927        Reviewed by Dimitri Glazkov.
25928
25929        Expose isTreeScope symbol.
25930
25931        * win/WebKit2.def.in:
25932
259332012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
25934
25935        Unreviewed, rolling out r138331.
25936        http://trac.webkit.org/changeset/138331
25937        https://bugs.webkit.org/show_bug.cgi?id=105668
25938
25939        Broke Windows clean builds; can't figure out how to fix it
25940        (Requested by rniwa on #webkit).
25941
25942        * win/WebKit2.def.in:
25943
259442012-12-21  Brady Eidson  <beidson@apple.com>
25945
25946        ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess.
25947        <rdar://problem/12924845> and https://bugs.webkit.org/show_bug.cgi?id=105646
25948
25949        Reviewed by Alexey Proskuryakov.
25950
25951        If we fail to schedule a loader with the NetworkProcess it is probably because the NetworkProcess crashed.
25952
25953        Since these loaders will never succeed in loading we should schedule them to fail on a timer.
25954
25955        * WebProcess/Network/WebResourceLoadScheduler.cpp:
25956        (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
25957        (WebKit::WebResourceLoadScheduler::scheduleLoad):
25958        (WebKit::WebResourceLoadScheduler::addUnschedulableLoad):
25959        (WebKit::WebResourceLoadScheduler::unscheduledLoadTimerFired):
25960        (WebKit::WebResourceLoadScheduler::remove):
25961        * WebProcess/Network/WebResourceLoadScheduler.h:
25962
259632012-12-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25964
25965        Unreviewed potential fix EFL/Qt test breakage on WK2
25966
25967        Only disable scrollbars when in fixed layout mode.
25968
25969        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
25970        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
25971
259722012-12-21  Brady Eidson  <beidson@apple.com>
25973
25974        Remove ResourceLoadScheduler::addMainResourceLoad and all related code
25975        <rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
25976
25977        Reviewed by Alexey Proskuryakov.
25978
25979        Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
25980
25981        * WebProcess/Network/WebResourceLoadScheduler.cpp:
25982        (WebKit::WebResourceLoadScheduler::remove):
25983        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
25984        * WebProcess/Network/WebResourceLoadScheduler.h:
25985
259862012-12-20  Sam Weinig  <sam@webkit.org>
25987
25988        Add WebKit2 SPI to get the current selection as a WebArchive
25989        https://bugs.webkit.org/show_bug.cgi?id=105613
25990
25991        Reviewed by Anders Carlsson.
25992
25993        * UIProcess/API/C/WKPage.cpp:
25994        (WKPageGetSelectionAsWebArchiveData):
25995        * UIProcess/API/C/WKPage.h:
25996        Add SPI.
25997
25998        * UIProcess/WebPageProxy.cpp:
25999        (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
26000        (WebKit):
26001        * UIProcess/WebPageProxy.h:
26002        (WebPageProxy):
26003        * WebProcess/WebPage/WebPage.cpp:
26004        (WebKit):
26005        (WebKit::frameWithSelection):
26006        (WebKit::WebPage::getSelectionAsWebArchiveData):
26007        * WebProcess/WebPage/WebPage.h:
26008        (WebPage):
26009        * WebProcess/WebPage/WebPage.messages.in:
26010        Pipe getter to the WebProcess and back.
26011
260122012-12-21  Brady Eidson  <beidson@apple.com>
26013
26014        Perform cleanup in WebProcess if the NetworkProcess crashes.
26015        <rdar://problem/12903117> and https://bugs.webkit.org/show_bug.cgi?id=105592
26016
26017        Reviewed by Alexey Proskuryakov.
26018
26019        If the NetworkProcess crashes, a whole bunch of WebResourceLoaders (and WebCore::ResourceLoaders)
26020        might be orphaned in the WebProcess.
26021
26022        These loaders need to fail once it is apparent they will never finish loading.
26023
26024        * Shared/API/c/WKError.h: Add a new error representing an "WebKit Internal Error."
26025
26026        * WebProcess/WebCoreSupport/WebErrors.h:
26027        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
26028        (WebKit::internalError):
26029
26030        * WebProcess/Network/WebResourceLoadScheduler.cpp:
26031        (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Call didFail all outstanding ResourceLoaders
26032          and tell all WebResourceLoaders the NetworkProcess crashed.
26033        * WebProcess/Network/WebResourceLoadScheduler.h:
26034
26035        * WebProcess/Network/WebResourceLoader.cpp:
26036        (WebKit::WebResourceLoader::networkProcessCrashed): Call didFail with the new InternalError
26037        * WebProcess/Network/WebResourceLoader.h:
26038
26039        * WebProcess/WebProcess.cpp:
26040        (WebKit::WebProcess::networkProcessConnectionClosed): Tell the scheduled the NetworkProcess crashed.
26041
260422012-12-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26043
26044        [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
26045        https://bugs.webkit.org/show_bug.cgi?id=105632
26046
26047        Reviewed by Antonio Gomes.
26048
26049        Then creating the frame ask to not create scrollbars and
26050        lock it so they won't be created at any later time.
26051
26052        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26053        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26054
260552012-12-21  Seokju Kwon  <seokju.kwon@gmail.com>
26056
26057        [EFL] Add guard around ContextMenuItemTagInspectElement
26058        https://bugs.webkit.org/show_bug.cgi?id=105267
26059
26060        Reviewed by Ryosuke Niwa.
26061
26062        Need INSPECTOR guard for using ContextMenuItemTagInspectElement.
26063
26064        * UIProcess/API/efl/ewk_context_menu_item.cpp:
26065
260662012-12-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
26067
26068        [WK2] TiledBackingStore: Scroll position is not reset when new page is loaded
26069        https://bugs.webkit.org/show_bug.cgi?id=105627
26070
26071        Reviewed by Kenneth Rohde Christiansen.
26072
26073        Reset scroll position to (0,0) when new page is loaded.
26074
26075        * WebProcess/WebPage/WebPage.cpp:
26076        (WebKit::WebPage::sendViewportAttributesChanged):
26077
260782012-12-21  Tim Horton  <timothy_horton@apple.com>
26079
26080        PDFPlugin: Cannot drop files/URLs on PDFPlugin
26081        https://bugs.webkit.org/show_bug.cgi?id=105516
26082        <rdar://problem/12729443>
26083
26084        Reviewed by Alexey Proskuryakov.
26085
26086        Add shouldAllowNavigationFromDrags to Plugin/PluginView/etc., which WebCore will
26087        consult when dragging over a PluginDocument to decide whether or not a drag may result in navigation.
26088
26089        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
26090        (WebKit::NetscapePlugin::shouldAllowNavigationFromDrags): Added, always returning false to keep existing behavior.
26091        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
26092        (NetscapePlugin): Added.
26093        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
26094        (WebKit::SimplePDFPlugin::shouldAllowNavigationFromDrags): Added, always returning true. (Simple)PDFPlugin should
26095        navigate when dropped onto, just like an image or HTML document would.
26096        * WebProcess/Plugins/Plugin.h:
26097        (Plugin): Add shouldAllowNavigationFromDrags.
26098        * WebProcess/Plugins/PluginProxy.h: Add shouldAllowNavigationFromDrags.
26099        * WebProcess/Plugins/PluginView.cpp:
26100        (WebKit::PluginView::shouldAllowNavigationFromDrags): Forward shouldAllowNavigationFromDrags to the plugin.
26101        * WebProcess/Plugins/PluginView.h: Add shouldAllowNavigationFromDrags.
26102
261032012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
26104
26105        Unreviewed, rolling out r138357.
26106        http://trac.webkit.org/changeset/138357
26107        https://bugs.webkit.org/show_bug.cgi?id=105622
26108
26109        wrong fix for the problem (the original author actually
26110        already did this, and it's not helping) (Requested by thorton
26111        on #webkit).
26112
26113        * win/WebKit2.def.in:
26114
261152012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
26116
26117        Unreviewed, rolling out r138338.
26118        http://trac.webkit.org/changeset/138338
26119        https://bugs.webkit.org/show_bug.cgi?id=105621
26120
26121        speculative rollout because fast/dom/shadow/content-element-
26122        distributed-nodes.html is crashing on linux debug. (Requested
26123        by loislo on #webkit).
26124
26125        * win/WebKit2.def.in:
26126
261272012-12-21  Tim Horton  <timothy_horton@apple.com>
26128
26129        Unreviewed Windows build fix after http://trac.webkit.org/changeset/138338
26130
26131        * win/WebKit2.def.in:
26132
261332012-12-21  Tim Horton  <timothy_horton@apple.com>
26134
26135        Reducing print preview scale significantly causes a crash
26136        https://bugs.webkit.org/show_bug.cgi?id=105519
26137        <rdar://problem/12807090>
26138
26139        Reviewed by Alexey Proskuryakov.
26140
26141        The bitmap image used for print previews was being created respecting the print preview scale.
26142        This doesn't make any sense, as the scale does not affect the size of the image required to
26143        represent the previewed page. Instead, we should not scale the size, creating the buffer at a
26144        size that is constant regardless of scale, and do the scaling when drawing *into* the buffer instead.
26145
26146        In some cases, this could cause an out-of-memory crash.
26147
26148        * UIProcess/API/mac/WKPrintingView.mm:
26149        (-[WKPrintingView _drawPreview:]): Rename rect to scaledPrintingRect for clarity. Compute print
26150        preview bitmap image size from the original non-scaled drawing size and the device scale factor.
26151        Hand the image size to drawRectToImage. Draw the image without scaling, as it's always created
26152        at the correct size. Don't compute the scale factor from the size of the image, we can know it from WebPageProxy.
26153        * UIProcess/WebPageProxy.cpp:
26154        (WebKit::WebPageProxy::drawRectToImage): Add a parameter to drawRectForImage, imageSize.
26155        * UIProcess/WebPageProxy.h:
26156        (WebPageProxy): Add a parameter to drawRectForImage, imageSize.
26157        * WebProcess/WebPage/WebPage.cpp:
26158        (WebKit::WebPage::drawRectToImage): Use imageSize to size our buffer, and scale up to make the printing rect
26159        fit in the bitmap's bounds.
26160        * WebProcess/WebPage/WebPage.h:
26161        (WebPage): Add a parameter to drawRectForImage, imageSize.
26162        * WebProcess/WebPage/WebPage.messages.in: Add a parameter to drawRectForImage, imageSize.
26163
261642012-12-20  Helder Correia  <helder.correia@nokia.com>
26165
26166        [CoordGfx] Make single-argument AreaAllocator constructors explicit
26167        https://bugs.webkit.org/show_bug.cgi?id=105598
26168
26169        Reviewed by Noam Rosenthal.
26170
26171        Follow the coding style for AreaAllocator and GeneralAreaAllocator.
26172
26173        * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h:
26174        (AreaAllocator):
26175        (GeneralAreaAllocator):
26176
261772012-12-20  Elliott Sprehn  <esprehn@chromium.org>
26178
26179        Replace documentFragmentIsShadowRoot with isTreeScope
26180        https://bugs.webkit.org/show_bug.cgi?id=105345
26181
26182        Reviewed by Dimitri Glazkov.
26183
26184        Expose isTreeScope symbol.
26185
26186        * win/WebKit2.def.in:
26187
261882012-12-20  Kiran Muppala  <cmuppala@apple.com>
26189
26190        Set timer coalescing policy for WebKit2 processes on Mac until process visible assertion handles it automatically
26191        https://bugs.webkit.org/show_bug.cgi?id=105594
26192
26193        Reviewed by Mark Rowe.
26194
26195        * Shared/mac/ChildProcessMac.mm:
26196        (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
26197        for visible applications.
26198        (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
26199
262002012-12-20  Anders Carlsson  <andersca@apple.com>
26201
26202        Stop building WebKit2 for Windows
26203        https://bugs.webkit.org/show_bug.cgi?id=105585
26204
26205        Reviewed by Brian Weinstein.
26206
26207        Remove an unneeded export.
26208
26209        * win/WebKit2.def.in:
26210
262112012-12-20  Ryuan Choi  <ryuan.choi@samsung.com>
26212
26213        [EFL] Build break with latest EFL libraries.
26214        https://bugs.webkit.org/show_bug.cgi?id=104827
26215
26216        Reviewed by Laszlo Gombos.
26217
26218        The eo EFL package is introduced and evas and ecore use it since 1.8.
26219        While introducing Eo, EFL changed several structures of Evas and Ecore
26220        from own specific class to Eo.
26221
26222        So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
26223        Ecore_Timer to build with latest EFL libraries.
26224
26225        * PlatformEfl.cmake: Includes eo EFL library.
26226        * UIProcess/API/C/efl/WKAPICastEfl.h: Modified declaration of Evas_Object.
26227        * UIProcess/API/C/efl/WKView.h: Modified declaration of Evas.
26228        * UIProcess/efl/WebPopupMenuProxyEfl.h: Removed unnecessary declaration.
26229
262302012-12-20  Helder Correia  <helder.correia@nokia.com>
26231
26232        [CoordGfx] Remove CoordinatedLayerUpdateInfo class forwarding
26233        https://bugs.webkit.org/show_bug.cgi?id=105588
26234
26235        Reviewed by Noam Rosenthal.
26236
26237        There is no such class.
26238
26239        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
26240        (WebKit):
26241        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
26242        (WebKit):
26243
262442012-12-20  Pratik Solanki  <psolanki@apple.com>
26245
26246        Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
26247        https://bugs.webkit.org/show_bug.cgi?id=105578
26248
26249        Reviewed by Alexey Proskuryakov.
26250
26251        * NetworkProcess/NetworkResourceLoader.cpp:
26252        * NetworkProcess/NetworkResourceLoader.h:
26253
262542012-12-20  Alexey Proskuryakov  <ap@apple.com>
26255
26256        LocalTerminationDisabler is not needed in WebCookieManager.cpp
26257        https://bugs.webkit.org/show_bug.cgi?id=105581
26258
26259        Reviewed by Anders Carlsson.
26260
26261        All WebCookieManager functions are synchronous, and all LocalTerminationDisabler does
26262        is enable/disable a timer that cannot fire inside the function anyway.
26263
26264        * WebProcess/Cookies/WebCookieManager.cpp:
26265        (WebKit::WebCookieManager::getHostnamesWithCookies):
26266        (WebKit::WebCookieManager::deleteCookiesForHostname):
26267        (WebKit::WebCookieManager::deleteAllCookies):
26268        (WebKit::WebCookieManager::startObservingCookieChanges):
26269        (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
26270        (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
26271
262722012-12-20  Brady Eidson  <beidson@apple.com>
26273
26274        NetworkProcess has no need for suspend/resumePendingRequests.
26275        <rdar://problem/12866005> and https://bugs.webkit.org/show_bug.cgi?id=105550
26276
26277        Reviewed by Alexey Proskuryakov.
26278
26279        suspend/resumePendingRequests were important in a single-process, WebKit1 API world to help prevent
26280        client callbacks from occurring during layout/painting.
26281
26282        In a WebKit2 + NetworkProcess world, they aren't important.
26283
26284        Remove the Web->Network process messages:
26285        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
26286        * NetworkProcess/NetworkConnectionToWebProcess.h:
26287        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
26288        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
26289        * NetworkProcess/NetworkResourceLoadScheduler.h:
26290
26291        For now, still keep the per-WebProcess count to help keep servePendingRequest working as WebCore intends:
26292        * WebProcess/Network/WebResourceLoadScheduler.cpp:
26293        (WebKit::WebResourceLoadScheduler::servePendingRequests):
26294        (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
26295        (WebKit::WebResourceLoadScheduler::resumePendingRequests):
26296
262972012-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
26298
26299        [GTK] Add API to set a TLS errors policy to WebKit2 GTK+ API
26300        https://bugs.webkit.org/show_bug.cgi?id=104482
26301
26302        Reviewed by Martin Robinson.
26303
26304        Add an emum for TLS errors policy with values IGNORE and FAIL and
26305        API to WebKitWebContext to set/get the policy.
26306
26307        * Shared/WebProcessCreationParameters.cpp:
26308        (WebKit::WebProcessCreationParameters::encode): Encode ignoreTLSErrors.
26309        (WebKit::WebProcessCreationParameters::decode): Decode ignoreTLSErrors.
26310        * Shared/WebProcessCreationParameters.h:
26311        (WebProcessCreationParameters): Add ignoreTLSErrors when building
26312        with soup network backend.
26313        * Shared/soup/PlatformCertificateInfo.cpp:
26314        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Add a
26315        constructor that receives a ResourceError.
26316        * Shared/soup/PlatformCertificateInfo.h:
26317        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
26318        (CoreIPC::::encodePlatformData): Encode the
26319        PlatformCertificateInfo as part for the ResourceError.
26320        (CoreIPC::::decodePlatformData): Decode the
26321        PlatformCertificateInfo and set certificate and TLS errors in the
26322        ResourceError.
26323        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
26324        (didFailProvisionalLoadWithErrorForFrame): Call
26325        webkitWebViewLoadFailedWithTLSErrors() if the load failed due to
26326        TLS errors.
26327        * UIProcess/API/gtk/WebKitWebContext.cpp:
26328        (_WebKitWebContextPrivate): Add tlsErrorsPolicy member.
26329        (createDefaultWebContext): Initiales tlsErrorsPolicy.
26330        (webkit_web_context_set_tls_errors_policy): Set the TLS errors
26331        policy notify WebContext to ignore TLS errors or not.
26332        (webkit_web_context_get_tls_errors_policy): Return the current TLS
26333        errors policy.
26334        * UIProcess/API/gtk/WebKitWebContext.h:
26335        * UIProcess/API/gtk/WebKitWebView.cpp:
26336        (webkitWebViewLoadFailedWithTLSErrors): Finish the load with an
26337        error if the TLS errors policy is FAIL.
26338        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
26339        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
26340        * UIProcess/API/gtk/tests/TestSSL.cpp:
26341        (testTLSErrorsPolicy):
26342        (beforeAll):
26343        * UIProcess/WebContext.cpp:
26344        (WebKit::WebContext::WebContext): Initialize m_ignoreTLSErrors.
26345        * UIProcess/WebContext.h:
26346        (WebContext): Add m_ignoreTLSErrors member.
26347        (WebKit::WebContext::ignoreTLSErrors): Return m_ignoreTLSErrors.
26348        * UIProcess/efl/WebContextEfl.cpp:
26349        (WebKit::WebContext::platformInitializeWebProcess): Set
26350        ignoreTLSErrors parameter.
26351        (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
26352        message to the web process.
26353        * UIProcess/gtk/WebContextGtk.cpp:
26354        (WebKit::WebContext::platformInitializeWebProcess): Set
26355        ignoreTLSErrors parameter.
26356        (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
26357        message to the web process.
26358        (WebKit):
26359        * WebProcess/WebProcess.h:
26360        * WebProcess/WebProcess.messages.in:
26361        * WebProcess/efl/WebProcessMainEfl.cpp:
26362        (WebKit::WebProcessMainEfl): Remove the call to
26363        ResourceHandle::setIgnoreSSLErrors().
26364        * WebProcess/gtk/WebProcessMainGtk.cpp:
26365        (WebKit::WebProcessMainGtk): Remove the call to
26366        ResourceHandle::setIgnoreSSLErrors().
26367        * WebProcess/soup/WebProcessSoup.cpp:
26368        (WebKit::WebProcess::platformInitializeWebProcess):
26369        (WebKit::WebProcess::setIgnoreTLSErrors): Call
26370        ResourceHandle::setIgnoreSSLErrors().
26371        (WebKit):
26372
263732012-12-20  Dominik Röttsches  <dominik.rottsches@intel.com>
26374
26375        [EFL] MiniBrowser does not play Infinite Gangnam Style
26376        https://bugs.webkit.org/show_bug.cgi?id=103531
26377
26378        Reviewed by Kenneth Rohde Christiansen.
26379
26380        WebAudio preference now defaults to switched on.
26381
26382        * UIProcess/API/efl/EwkViewImpl.cpp:
26383        (EwkViewImpl::EwkViewImpl):
26384
263852012-12-20  Huang Dongsung  <luxtella@company100.net>
26386
26387        Remove GraphicsLayer::setGraphicsLayerFactory().
26388        https://bugs.webkit.org/show_bug.cgi?id=105503
26389
26390        Reviewed by Kenneth Rohde Christiansen.
26391
26392        We don't need GraphicsLayer::setGraphicsLayerFactory() anymore. After r130302,
26393        we have used a graphics layer factory explicitly.
26394
26395        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
26396        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
26397        * WebProcess/efl/WebProcessMainEfl.cpp:
26398        (WebKit::WebProcessMainEfl):
26399        * WebProcess/qt/WebProcessMainQt.cpp:
26400        (WebKit::WebProcessMainQt):
26401
264022012-12-20  Dominik Röttsches  <dominik.rottsches@intel.com>
26403
26404        [WK2] WebAudio WKTR support
26405        https://bugs.webkit.org/show_bug.cgi?id=95084
26406
26407        Reviewed by Kenneth Rohde Christiansen.
26408
26409        Implementing audio data dump support for WebKitTestRunner,
26410        by adding the API to the IDL, enabling IPC for transferring
26411        the audio data as bytebuffer and dumping it according
26412        to run-webkit-tests script's expectations.
26413
26414        I am adding a testrunner specific bundle method to extract data
26415        from a Uint8Array into a bytebuffer. This API is used by
26416        WebKitTestRunner's TestRunner to extract the data into a local
26417        variable, then sending it over IPC.
26418
26419        * DerivedSources.pri: Fixing Qt build by adding JSUint8Array.h header to list of forwarding headers.
26420        * Target.pri: Adding missing WKData.* files. Qt build fix.
26421        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
26422        (WKBundleCreateWKDataFromUint8Array): Added.
26423        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Adding WKBundleCreateWKDataFromUint8Array.
26424        * WebProcess/InjectedBundle/InjectedBundle.cpp: Convert Uint8Array to WebData.
26425        (WebKit::InjectedBundle::createWebDataFromUint8Array):
26426        (WebKit):
26427        * WebProcess/InjectedBundle/InjectedBundle.h:
26428        (WebKit):
26429        (InjectedBundle):
26430
264312012-12-19  Kiran Muppala  <cmuppala@apple.com>
26432
26433        Adopt new assertion SPI for process suppression on Mac
26434        https://bugs.webkit.org/show_bug.cgi?id=105378
26435
26436        Reviewed by Mark Rowe.
26437
26438        Process suppression for WebKit2 child processes is currently enabled or disabled using AutomaticTermination.
26439        This should be replaced with a new assertion SPI specific to process suppression.
26440
26441        * Shared/ChildProcess.cpp:
26442        (WebKit::ChildProcess::ChildProcess): Remove unused member variable m_applicationIsOccluded.
26443        * Shared/ChildProcess.h:
26444        (WebKit::ChildProcess::applicationIsOccluded): Infer occlusion state from m_processVisibleAssertion.
26445        * Shared/mac/ChildProcessMac.mm:
26446        (WebKit::ChildProcess::setApplicationIsOccluded): Use applicationIsOccluded() accessor to check if the
26447        occlusion state has changed and take or release a process visible assertion accordingly.
26448        (WebKit::ChildProcess::platformInitialize): Remove call to initializeTimerCoalescingPolicy(), since taking
26449        a process visible assertion also sets the timer coalescing policy appropriately.  Set the occlusion
26450        state to false on initialization.
26451
264522012-12-19  Alexey Proskuryakov  <ap@apple.com>
26453
26454        <rdar://problem/12890242> [WK2 NetworkProcess] Client doesn't receive SSL certificates
26455        https://bugs.webkit.org/show_bug.cgi?id=105467
26456
26457        Reviewed by Brady Eidson.
26458
26459        * NetworkProcess/NetworkResourceLoader.cpp:
26460        (WebKit::NetworkResourceLoader::didReceiveResponse):
26461        * Shared/mac/PlatformCertificateInfo.mm:
26462        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
26463        * WebProcess/Network/WebResourceLoader.cpp:
26464        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
26465        * WebProcess/Network/WebResourceLoader.h:
26466        * WebProcess/Network/WebResourceLoader.messages.in:
26467        Pass certificate chain over IPC, so that we could ultimately send it to client
26468        via WebPageProxy::DidCommitLoadForFrame message.
26469
26470        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
26471        Initialize a WKSI function we've been missing.
26472
264732012-12-19  Jon Lee  <jonlee@apple.com>
26474
26475        Add a function to set the origin hash table
26476        https://bugs.webkit.org/show_bug.cgi?id=105447
26477        <rdar://problem/12910985>
26478
26479        Reviewed by Brian Weinstein.
26480
26481        Add a new API called WKContextSetPlugInAutoStartOriginHashes. It assigns the table of hashes,
26482        keyed by main frame origin, to the WebContext. That, in turn, notifies all existing web
26483        processes, so that each web process can update its copy of the auto-start hashes.
26484
26485        * UIProcess/API/C/WKContext.cpp:
26486        (WKContextSetPlugInAutoStartOriginHashes): To clear the table, an empty dictionary must be
26487        provided.
26488        * UIProcess/API/C/WKContext.h:
26489
26490        * UIProcess/WebContext.cpp:
26491        (WebKit::WebContext::setPlugInAutoStartOriginHashes): Forward to PlugInAutoStartProvider.
26492        * UIProcess/WebContext.h:
26493
26494        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
26495        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Clear the map and set of hashes,
26496        and convert the data from the provided dictionary. Also add it to a temporary vector, which will
26497        be used to pass along to all of the active web processes.
26498        * UIProcess/Plugins/PlugInAutoStartProvider.h:
26499
26500        * WebProcess/WebProcess.messages.in: Add plugInAutoStartOriginsChanged. Takes in a vector of
26501        the new set of hashes.
26502        * WebProcess/WebProcess.cpp:
26503        (WebKit::WebProcess::plugInAutoStartOriginsChanged): Clear the existing set, and copy the new
26504        hashes.
26505        * WebProcess/WebProcess.h:
26506
265072012-12-18  Jon Lee  <jonlee@apple.com>
26508
26509        Notify context client of change to table, and allow client to get a copy of it
26510        https://bugs.webkit.org/show_bug.cgi?id=105364
26511        <rdar://problem/12906267>
26512
26513        Reviewed by Brady Eidson.
26514
26515        Add a callback to notify the context client that the origin hashes have changed.
26516        The client may choose to get a copy of that table and save it to disk.
26517
26518        * UIProcess/API/C/WKContext.cpp:
26519        (WKContextCopyPlugInAutoStartOriginHashes): Added to the context client.
26520        * UIProcess/API/C/WKContext.h:
26521        * UIProcess/WebContext.cpp:
26522        (WebKit::WebContext::plugInAutoStartOriginHashes): Return a copy of the origin hash
26523        table.
26524        * UIProcess/WebContext.h:
26525
26526        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
26527        (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): When the origin is added to
26528        the table, notify the context client.
26529        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Create a copy of the
26530        table.
26531        * UIProcess/Plugins/PlugInAutoStartProvider.h:
26532
26533        * UIProcess/WebContextClient.cpp:
26534        (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): Call the client.
26535        * UIProcess/WebContextClient.h:
26536
265372012-12-19  Alexis Menard  <alexis@webkit.org>
26538
26539        Implement CSS parsing for CSS transitions unprefixed.
26540        https://bugs.webkit.org/show_bug.cgi?id=104804
26541
26542        Reviewed by Dean Jackson.
26543
26544        Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
26545        to cover the work of unprefixing Transforms, Animations and 
26546        Transitions. It will let the possibility of each ports to turn it off 
26547        in their release branches until we're confident that these CSS 
26548        properties are ready to be unprefixed.
26549
26550        * Configurations/FeatureDefines.xcconfig:
26551
265522012-12-19  Kondapally Kalyan  <kalyan.kondapally@intel.com>
26553
26554        [EFL][WK2][AC] Avoid creating an empty surface.
26555        https://bugs.webkit.org/show_bug.cgi?id=105410
26556
26557        Reviewed by Kenneth Rohde Christiansen.
26558
26559        Ensure that the view has valid size before creating the surface.
26560
26561        * UIProcess/API/efl/EvasGLSurface.h:
26562        (WebKit::EvasGLSurface::create):
26563        * UIProcess/API/efl/EwkViewImpl.cpp:
26564        (EwkViewImpl::displayTimerFired):
26565
265662012-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26567
26568        [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing or wrong position
26569        https://bugs.webkit.org/show_bug.cgi?id=104414
26570
26571        Reviewed by Simon Hausmann.
26572
26573        When contents size changes, make sure to apply any pending position
26574        change if possible.
26575
26576        * UIProcess/PageViewportController.cpp:
26577        (WebKit::PageViewportController::didChangeContentsSize):
26578
265792012-12-19  Alberto Garcia  <agarcia@igalia.com>
26580
26581        [GTK] [WK2] Trailing semicolon in an #include line
26582        https://bugs.webkit.org/show_bug.cgi?id=105418
26583
26584        Reviewed by Xan Lopez.
26585
26586        * UIProcess/gtk/WebContextGtk.cpp:
26587        Remove trailing semicolon in #include line.
26588
265892012-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26590
26591        [EFL][WK2] Move deviceScaleFactor to our view as it's view related
26592        https://bugs.webkit.org/show_bug.cgi?id=105412
26593
26594        Reviewed by Laszlo Gombos.
26595
26596        * UIProcess/API/efl/EwkViewImpl.cpp:
26597        (EwkViewImpl::setDeviceScaleFactor):
26598        (EwkViewImpl::transformFromScene):
26599        * UIProcess/API/efl/EwkViewImpl.h:
26600        (EwkViewImpl):
26601        * UIProcess/API/efl/ewk_view.cpp:
26602        (ewk_view_device_pixel_ratio_set):
26603
266042012-12-19  Zeno Albisser  <zeno@webkit.org>
26605
26606        [Qt] Missing vtable for LoadStartedCatcher.
26607        https://bugs.webkit.org/show_bug.cgi?id=105313
26608
26609        Properly splitting class declarations and function
26610        definitions into headers/cpp-files.
26611        This makes including util.moc redundant
26612        and avoids the well known vtable issues with QObject classes.
26613
26614        Reviewed by Simon Hausmann.
26615
26616        * UIProcess/API/qt/tests/util.cpp:
26617        (LoadSpy::LoadSpy):
26618        (LoadSpy::onLoadingChanged):
26619        * UIProcess/API/qt/tests/util.h:
26620        (LoadSpy):
26621
266222012-12-19  KyungTae Kim  <ktf.kim@samsung.com>
26623
26624        Unused parameters on WebContext.cpp
26625        https://bugs.webkit.org/show_bug.cgi?id=105395
26626
26627        Reviewed by Kentaro Hara.
26628
26629        Because the parameters 'certficate', 'host' are not used if !ENABLE(NETWORK_PROCESS), 
26630        use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
26631
26632        * UIProcess/WebContext.cpp:
26633        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
26634
266352012-12-18  Alexey Proskuryakov  <ap@apple.com>
26636
26637        Remove unnecessary functions from CookiesStrategy
26638        https://bugs.webkit.org/show_bug.cgi?id=105369
26639
26640        Reviewed by Brady Eidson.
26641
26642        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
26643        * NetworkProcess/NetworkConnectionToWebProcess.h:
26644        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
26645        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
26646        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
26647
26648        * WebProcess/Cookies/WebCookieManager.cpp: Call PlatformCookieJar directly.
26649        Cookie messages to NetworkProcess should not be sent through WebProcess. In a future
26650        patch, I'll make WebCookieManagerProxy message NetworkProcess instead.
26651
266522012-12-18  Jon Lee  <jonlee@apple.com>
26653
26654        [WK2] Create a context client
26655        https://bugs.webkit.org/show_bug.cgi?id=105316
26656        <rdar://problem/12901762>
26657
26658        Reviewed by Brady Eidson.
26659
26660        Web contexts already have clients related to downloads or history.
26661        Miscellaneous callbacks can be grouped into a generic client for the
26662        web context.
26663
26664        * UIProcess/API/C/WKContext.cpp:
26665        (WKContextSetClient): Set the client for the context.
26666        * UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.
26667
26668        * UIProcess/WebContext.cpp:
26669        (WebKit::WebContext::initializeClient):
26670        * UIProcess/WebContext.h: Add a variable for the new client. Move the
26671        download client so that all the clients are grouped together.
26672        (WebKit::WebContext::client): Returns the context client.
26673        * UIProcess/WebContextClient.cpp: Added. Currently empty, but will be
26674        filled out in a pending patch.
26675        * UIProcess/WebContextClient.h: Added.
26676
26677        Add WebContextClient.{h,cpp}.
26678        * CMakeLists.txt:
26679        * GNUmakefile.list.am:
26680        * Target.pri:
26681        * WebKit2.xcodeproj/project.pbxproj:
26682        * win/WebKit2.vcproj:
26683
266842012-12-18  Ivan Krstić  <ike@apple.com>
26685
26686        <rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins
26687
26688        Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.
26689
26690        Previously we assigned each PluginProcess a private temporary and
26691        cache directory based on the bundle name of the plugin that was
26692        running. This sometimes led to overly-long pathnames (sockets on OS X
26693        can only be 103 characters long), and didn't provide isolation between
26694        multiple running instances of the same plugin on behalf of different
26695        processes. We now assign each PluginProcess its own private
26696        temporary and cache directory regardless of which plugin it's running,
26697        and make an attempt to clean these up when the process terminates.
26698
26699        We also pass the temporary directory into the sandbox
26700        profile as a parameter, in case the plugin profile needs to apply
26701        additional rules beyond the default read/write policy.
26702
26703        * PluginProcess/mac/PluginProcessMainMac.mm:
26704        (WebKit::PluginProcessMain):
26705        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
26706        (enterSandbox):
26707
267082012-12-18  Beth Dakin  <bdakin@apple.com>
26709
26710        https://bugs.webkit.org/show_bug.cgi?id=102579
26711        [mac] Enable scaled cursors
26712
26713        Reviewed by Dean Jackson.
26714
26715        * Configurations/FeatureDefines.xcconfig:
26716
267172012-12-18  Joseph Pecoraro  <pecoraro@apple.com>
26718
26719        [Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
26720        https://bugs.webkit.org/show_bug.cgi?id=104279
26721
26722        Reviewed by David Kilzer.
26723
26724        Add a build phase to check the public WebKit2 headers for
26725        inappropriate macros. Also set the executable as an input
26726        path on the other check-* build phases.
26727
26728        * WebKit2.xcodeproj/project.pbxproj:
26729
267302012-12-18  Jer Noble  <jer.noble@apple.com>
26731
26732        REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
26733        https://bugs.webkit.org/show_bug.cgi?id=104610
26734
26735        Reviewed by Anders Carlsson.
26736
26737        When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that 
26738        the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
26739        when we detect that it has been skipped.
26740
26741        * UIProcess/mac/WKFullScreenWindowController.mm:
26742        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
26743
267442012-12-18  Brady Eidson  <beidson@apple.com>
26745
26746        WebProcesses often crash if they access the network after a NetworkProcess crash.
26747        <rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338
26748
26749        Reviewed by Alexey Proskuryakov.
26750
26751        After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
26752        when it is needed.
26753
26754        If that attempt fails, then the WebProcess should "cleanly" crash.
26755
26756        * WebProcess/WebProcess.cpp:
26757        (WebKit::WebProcess::networkConnection):
26758
267592012-12-17  Sam Weinig  <sam@webkit.org>
26760
26761        Try to fix the Mac build.
26762
26763        * NetworkProcess/mac/NetworkProcessMac.mm:
26764
267652012-12-17  Halton Huo  <halton.huo@intel.com>
26766
26767        [EFL] Add ecore_imf_evas to FindEcore.cmake
26768        https://bugs.webkit.org/show_bug.cgi?id=105159
26769
26770        Reviewed by Laszlo Gombos.
26771
26772        * PlatformEfl.cmake: Add ECORE_IMF_EVAS_LIBRARIES to WebProcess_LIBRARIES
26773
267742012-12-17  Huang Dongsung  <luxtella@company100.net>
26775
26776        Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
26777        https://bugs.webkit.org/show_bug.cgi?id=103959
26778
26779        Reviewed by Kenneth Rohde Christiansen.
26780
26781        Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
26782        It has two problem.
26783        1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
26784        TiledBackingStore from asynchronously sending UpdateTile message to UI
26785        Process.
26786        2. CreateTile and RemoveTile message can be sent to UI Process at any time.
26787
26788        This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
26789        It means only during flushing layer states, CoordinatedGraphicsLayer
26790        calls methods of TiledBackingStore, which indirectly call createTile(),
26791        updateTile() and removeTile().
26792
26793        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
26794        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
26795        (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
26796        (WebCore::CoordinatedGraphicsLayer::setContentsScale):
26797        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
26798        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
26799        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
26800        (WebCore::CoordinatedGraphicsLayer::createTile):
26801        (WebCore::CoordinatedGraphicsLayer::updateTile):
26802        (WebCore::CoordinatedGraphicsLayer::removeTile):
26803        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
26804        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
26805        (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
26806        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
26807        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
26808        (CoordinatedGraphicsLayerClient):
26809        (CoordinatedGraphicsLayer):
26810        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
26811        (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
26812        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
26813        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
26814        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
26815
268162012-12-17  Brady Eidson  <beidson@apple.com>
26817
26818        Can't visit sites with untrusted certs with the NetworkProcess.
26819        <rdar://problem/12885641> and https://bugs.webkit.org/show_bug.cgi?id=105235
26820
26821        Reviewed by Sam Weinig.
26822
26823        For Mac the missing functionality is being able to tell the network layer in the
26824        NetworkProcess to temporarily accept a certificate chain for the given host.
26825
26826        This patch adds some SPI supporting the way this works on Mac.
26827
26828        Add a message and Mac implementation for "allowSpecificHTTPSCertificateForHost":
26829        * NetworkProcess/NetworkProcess.h:
26830        * NetworkProcess/NetworkProcess.messages.in:
26831        * NetworkProcess/mac/NetworkProcessMac.mm:
26832        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
26833
26834        Add SPI for the embedding app"
26835        * UIProcess/API/C/WKContext.cpp:
26836        (WKContextAllowSpecificHTTPSCertificateForHost):
26837        * UIProcess/API/C/WKContextPrivate.h:
26838
26839        * UIProcess/WebContext.cpp:
26840        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
26841        * UIProcess/WebContext.h:
26842
268432012-12-17  Huang Dongsung  <luxtella@company100.net>
26844
26845        [CoordinatedGraphics] Assertion hit in WebKit::LayerTreeRenderer::setLayerState()
26846        https://bugs.webkit.org/show_bug.cgi?id=104518
26847
26848        Reviewed by Noam Rosenthal.
26849
26850        CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() must perform
26851        only during flushing pending layer changes in CoordinatedLayerTreeHost.
26852        RenderLayerCompositor can call GraphicsLayer::flushCompositingState() regardless
26853        of CoordinatedLayerTreeHost and it breaks our assumption. It means that
26854        CoordinatedGraphicsLayer can send messages although m_waitingForUIProcess in
26855        CoordinatedLayerTreeHost is true.
26856
26857        Assertion hits because of the same reason. If RenderLayerCompositor calls
26858        flushCompositingState() before the first CoordinatedLayerTreeHost::flushPendingLayerChanges(),
26859        SetCompositingLayerState message can be prior to SetRootCompositingLayer message.
26860
26861        We fix this by ensuring that we perform the layer flush only in the code
26862        path originating from CoordinatedLayerTreeHost.
26863
26864        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
26865        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
26866        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
26867        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
26868        (CoordinatedGraphicsLayerClient):
26869        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
26870        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
26871        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
26872        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
26873
268742012-12-17  Alexey Proskuryakov  <ap@apple.com>
26875
26876        <rdar://problem/12895354> NetworkProcess should not exit after downloading
26877        https://bugs.webkit.org/show_bug.cgi?id=105209
26878
26879        Reviewed by Anders Carlsson.
26880
26881        * NetworkProcess/NetworkProcess.cpp:
26882        (WebKit::NetworkProcess::shouldTerminate): This process should never voluntarily
26883        terminate, because it keeps session auth and cookies.
26884
268852012-12-17  Thiago Marcos P. Santos  <thiago.santos@intel.com>
26886
26887        [EFL] Unit tests process hanging on WK2 Release bots
26888        https://bugs.webkit.org/show_bug.cgi?id=105021
26889
26890        Reviewed by Kenneth Rohde Christiansen.
26891
26892        Follow-up of r137605, which made it more difficult to reproduce
26893        the race condition but doesn't entirely solve the problem. Now
26894        we are handling only points in the middle of the fork()/exec().
26895
26896        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
26897        (WebKit::ProcessLauncher::launchProcess):
26898
268992012-12-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26900
26901        [EFL][WK2] window_create doesn't receive the url
26902        https://bugs.webkit.org/show_bug.cgi?id=105184
26903
26904        Reviewed by Alexis Menard.
26905
26906        Pass the url to the window_create method.
26907
26908        * UIProcess/API/efl/EwkViewImpl.cpp:
26909        (EwkViewImpl::createNewPage):
26910        * UIProcess/API/efl/EwkViewImpl.h:
26911        (EwkViewImpl):
26912        * UIProcess/API/efl/ewk_view.h:
26913        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
26914        (createDefaultWindow):
26915        (createWindow):
26916        * UIProcess/efl/PageUIClientEfl.cpp:
26917        (WebKit::PageUIClientEfl::createNewPage):
26918
269192012-12-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
26920
26921        [WK2] TiledBackingStore: css3/device-adapt/viewport-width-not-affecting-next-page.html is flaky
26922        https://bugs.webkit.org/show_bug.cgi?id=105131
26923
26924        Reviewed by Kenneth Rohde Christiansen.
26925
26926        The problem was lead by truncation of the scaled result for 'contentFixedSize'.
26927        Fixed now with using FloatSize::scale() instead of IntSize::scale().
26928
26929        * WebProcess/WebPage/WebPage.cpp:
26930        (WebKit::WebPage::sendViewportAttributesChanged):
26931
269322012-12-17  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
26933
26934        [Qt] remove some unnecessary CONFIG additions
26935
26936        Reviewed by Simon Hausmann.
26937
26938        qt is already added by spec_pre.prf, warn_on and depend_includepath by
26939        default_pre.prf.
26940
26941        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
26942        * UIProcess/API/qt/tests/qmltests/WebView.pro:
26943
269442012-12-17  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
26945
26946        [Qt] rely on automatic output directory setup
26947
26948        Reviewed by Simon Hausmann.
26949
26950        Now being a proper qt module (by virtue of having load(qt_build_config)
26951        in .qmake.conf), webkit gets the path setup goodies for free.
26952
26953        This also fixes Makefile.api.Debug/Release trying to generate qrc_WebKit.cpp
26954        at the same time, instead of the debug and release version ending up in different
26955        directories as they should.
26956
26957        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
26958        * UIProcess/API/qt/tests/qmltests/WebView.pro:
26959
269602012-12-17  Thiago Marcos P. Santos  <thiago.santos@intel.com>
26961
26962        [EFL] Unit tests process hanging on WK2 Release bots
26963        https://bugs.webkit.org/show_bug.cgi?id=105021
26964
26965        Reviewed by Kenneth Rohde Christiansen.
26966
26967        Do not allocate memory in the middle of a fork()/exec().
26968        EFL uses global FastMalloc new operator and when we fork(), the
26969        process is in a very delicate state. We were being lucky most of the
26970        time, but sometimes FastMalloc enters in a busy wait and hangs
26971        because it's data structures cannot be trusted after the fork().
26972
26973        This explains why sometimes we see UIProcess hanging on the bots:
26974        they are in fact UIProcess trying to exec() into a WebProcess but
26975        hanged just after the fork(). CMake test runner kills the original
26976        UIProcess due to timeout and the buggy one stays forever.
26977
26978        * PlatformEfl.cmake:
26979        Set the timeout back to the original value.
26980
26981        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
26982        (WebKit::ProcessLauncher::launchProcess):
26983        I'm keeping the original behavior, including the call to
26984        system() when wrapping the WebProcess on Debug mode. This
26985        should be changed to exec() in another patch.
26986
269872012-12-17  Csaba Osztrogonác  <ossy@webkit.org>
26988
26989        Fix the Qt Windows build after r137803
26990        https://bugs.webkit.org/show_bug.cgi?id=105152
26991
26992        Reviewed by Kentaro Hara.
26993
26994        * Shared/CacheModel.h:
26995
269962012-12-16  Tim Horton  <timothy_horton@apple.com>
26997
26998        PDFPlugin: The "Open in Preview" HUD button should work
26999        https://bugs.webkit.org/show_bug.cgi?id=102448
27000        <rdar://problem/12695729>
27001
27002        Reviewed by Alexey Proskuryakov.
27003
27004        Implement the "Open in Preview" button for PDFPlugin, by moving the implementation from PDFViewController
27005        onto WebPageProxyMac, and reusing it in PDFViewController and PDFPlugin.
27006
27007        * UIProcess/API/mac/PDFViewController.h:
27008        (PDFViewController): Remove unnecessary members in favor of a UUID that identifies our PDF on disk.
27009        * UIProcess/API/mac/PDFViewController.mm:
27010        (WebKit::PDFViewController::openPDFInFinder): Move PDFViewController's implementation of openPDFInFinder
27011        and related functions to WebPageProxyMac. This will allow it to be shared with PDFPlugin.
27012        * UIProcess/WebPageProxy.h:
27013        (WebPageProxy): Add savePDFToFileInTemporaryFolderAndOpenWithNativeApplication,
27014        savePDFToFileInTemporaryFolderAndOpenWithNativeApplicationRaw, and openPDFFromTemporaryFolderWithNativeApplication.
27015        Add m_temporaryPDFFiles, which is used to keep track of the filenames of PDFs that we've saved to disk.
27016        * UIProcess/WebPageProxy.messages.in:
27017        Add SavePDFToFileInTemporaryFolderAndOpenWithNativeApplication and OpenPDFFromTemporaryFolderWithNativeApplication.
27018        * UIProcess/mac/WebPageProxyMac.mm:
27019        (WebKit::temporaryPDFDirectoryPath): Copied from PDFViewController. Construct the path to a
27020        WebKitPDFs temporary directory into which PDFs to be opened with a native application are downloaded.
27021        (WebKit::pathToPDFOnDisk): Copied from PDFViewController. Combine temporaryPDFDirectoryPath
27022        with the suggested filename for the given PDF, creating a new filename if the file already exists.
27023        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplicationRaw):
27024        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
27025        Save the given PDF data to a temporary file, given the suggested filename. This inserts the
27026        filename used into m_temporaryPDFFiles, where it can later be retrieved by UUID when asked
27027        to open the PDF again in a native application. Then, open it with NSWorkspace.
27028        (WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication):
27029        Open the previously saved PDF file with NSWorkspace, referenced by UUID.
27030        We identify the file by UUID instead of name so that only the UIProcess needs
27031        to keep track of the actual filename, and so that the WebProcess
27032        cannot hand an arbitrary filename back to the UIProcess to open.
27033        * WebProcess/Plugins/PDF/PDFPlugin.h:
27034        (PDFPlugin): Add openWithNativeApplication and storage for the UUID that identifies our PDF on disk.
27035        * WebProcess/Plugins/PDF/PDFPlugin.mm:
27036        (-[WKPDFLayerControllerDelegate openWithPreview]): Forward openWithPreview to PDFPlugin's openWithNativeApplication.
27037        (WebKit::PDFPlugin::saveToPDF):
27038        Hand raw data to WebPage and have it send the message to WebPageProxy instead of using IPC types in PDFPlugin.
27039        (WebKit::PDFPlugin::openWithNativeApplication):
27040        Ask WebPage to save the current PDF to a temporary directory and open it with a native application.
27041        If we've already downloaded the PDF (and have a non-null m_temporaryPDFUUID),
27042        we can just open the existing file.
27043        * WebProcess/WebPage/WebPage.cpp:
27044        (WebKit::WebPage::savePDFToFileInDownloadsFolder): Hand the PDF data to WebPageProxy to save.
27045        (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): Hand the PDF data to WebPageProxy to save and open.
27046        * WebProcess/WebPage/WebPage.h:
27047        (WebPage): Add savePDFToFileInDownloadsFolder and savePDFToTemporaryFolderAndOpenWithNativeApplication.
27048
270492012-12-16  Seokju Kwon  <seokju.kwon@gmail.com>
27050
27051        [WK2] Remote Web Inspector requires the inspector
27052        https://bugs.webkit.org/show_bug.cgi?id=105088
27053
27054        Reviewed by Sam Weinig.
27055
27056        Inspector server should not be started without inspector.
27057
27058        * config.h:
27059
270602012-12-16  Seokju Kwon  <seokju.kwon@gmail.com>
27061
27062        Fix unused parameter compile warnings
27063        https://bugs.webkit.org/show_bug.cgi?id=105089
27064
27065        Reviewed by Kentaro Hara.
27066
27067        Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
27068
27069        * UIProcess/API/efl/ewk_view.cpp:
27070        (ewk_view_inspector_show):
27071        (ewk_view_inspector_close):
27072
270732012-12-16  Ryuan Choi  <ryuan.choi@samsung.com>
27074
27075        [EFL][WK2] Header files of ewk_context_menu should be installed
27076        https://bugs.webkit.org/show_bug.cgi?id=105069
27077
27078        Reviewed by Gyuyoung Kim.
27079
27080        * PlatformEfl.cmake:
27081        Modified to install ewk_context_menu.h and ewk_context_menu_item.h which
27082        are included in EWebKit2.h
27083
270842012-12-16  Alexey Proskuryakov  <ap@apple.com>
27085
27086        <rdar://problem/12886898> Bundle uploads don't work
27087        https://bugs.webkit.org/show_bug.cgi?id=105149
27088
27089        Reviewed by Sam Weinig.
27090
27091        * NetworkProcess/NetworkResourceLoader.cpp:
27092        (WebKit::NetworkResourceLoader::didReceiveResponse):
27093        (WebKit::NetworkResourceLoader::didFail):
27094        Clean up generated files when they are no longer needed. This has to be done before FormData
27095        destruction. This duplicates same work done in WebProcess, but duplicaiton is safe, and may
27096        be helpful if one of the sides prematurely exits.
27097
270982012-12-16  Jon Lee  <jonlee@apple.com>
27099
27100        Allow built-in PDF plugin and plugin documents to auto-start
27101        https://bugs.webkit.org/show_bug.cgi?id=105000
27102        <rdar://problem/12633351>
27103
27104        Reviewed by Sam Weinig.
27105
27106        Overrides PluginViewBase::shouldAlwaysAutoStart().
27107        * WebProcess/Plugins/PluginView.cpp:
27108        (WebKit::PluginView::shouldAlwaysAutoStart): If there's no plug-in, return the default,
27109        otherwise return the plug-in's behavior.
27110        * WebProcess/Plugins/PluginView.h:
27111
27112        * WebProcess/Plugins/Plugin.h:
27113        (WebKit::Plugin::shouldAlwaysAutoStart): Added. By default, return false.
27114        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Built-in PDF plug-ins should auto-start.
27115
271162012-12-16  Huang Dongsung  <luxtella@company100.net>
27117
27118        Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
27119        https://bugs.webkit.org/show_bug.cgi?id=104880
27120
27121        Reviewed by Noam Rosenthal.
27122
27123        This patch changes two points.
27124        1. Remove layerByIDMap() in CoordinatedGraphicsLayer because it is unused.
27125        2. Remove code swapping m_registeredLayers in CoordinatedLayerTreeHost because
27126        setCoordinator(0) does not call detachLayer().
27127
27128        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
27129        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
27130        (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
27131        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
27132        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
27133
271342012-12-16  Anders Carlsson  <andersca@apple.com>
27135
27136        Remove the random crash thread
27137        https://bugs.webkit.org/show_bug.cgi?id=105147
27138
27139        Reviewed by Sam Weinig.
27140
27141        Remove old crashy code.
27142
27143        * WebProcess/WebProcess.cpp:
27144        (WebKit::WebProcess::initialize):
27145
271462012-12-16  Anders Carlsson  <andersca@apple.com>
27147
27148        Implement authentication for downloads
27149        https://bugs.webkit.org/show_bug.cgi?id=105146
27150        <rdar://problem/12239483>
27151
27152        Reviewed by Sam Weinig.
27153
27154        * NetworkProcess/NetworkProcess.cpp:
27155        (WebKit::NetworkProcess::NetworkProcess):
27156        (WebKit::NetworkProcess::initialize):
27157        (WebKit::NetworkProcess::didReceiveMessage):
27158        (WebKit::NetworkProcess::didReceiveSyncMessage):
27159        (WebKit::NetworkProcess::downloadsAuthenticationManager):
27160        * NetworkProcess/NetworkProcess.h:
27161        * UIProcess/Downloads/DownloadProxy.cpp:
27162        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
27163        * WebProcess/Downloads/Download.cpp:
27164        (WebKit::Download::didReceiveAuthenticationChallenge):
27165        * WebProcess/Downloads/DownloadManager.cpp:
27166        (WebKit::DownloadManager::downloadsAuthenticationManager):
27167        * WebProcess/Downloads/DownloadManager.h:
27168        * WebProcess/Downloads/mac/DownloadMac.mm:
27169        * WebProcess/WebProcess.cpp:
27170        (WebKit::WebProcess::downloadsAuthenticationManager):
27171        (WebKit::WebProcess::didReceiveSyncMessage):
27172        * WebProcess/WebProcess.h:
27173
271742012-12-16  Huang Dongsung  <luxtella@company100.net>
27175
27176        Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
27177        https://bugs.webkit.org/show_bug.cgi?id=104880
27178
27179        Reviewed by Noam Rosenthal.
27180
27181        Delete backing stores explicitly in ~CoordinatedLayerTreeHost().
27182
27183        Clarify the lifecycle of backing stores in CoordinatedGraphicsLayer.
27184        Currently, CoordinatedGraphicsLayer::removeTile() checks if m_coordinator
27185        exists, because ~CoordinatedLayerTreeHost() sets m_coordinator in
27186        CoordinatedGraphicsLayer to 0. This patch purges backing stores before setting
27187        m_coordinator to 0. This change makes code more readable.
27188
27189        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
27190        (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
27191        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
27192        (WebCore::CoordinatedGraphicsLayer::createTile):
27193        (WebCore::CoordinatedGraphicsLayer::updateTile):
27194        (WebCore::CoordinatedGraphicsLayer::removeTile):
27195        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
27196        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
27197
271982012-12-16  Anders Carlsson  <andersca@apple.com>
27199
27200        Authentication manager cleanup
27201        https://bugs.webkit.org/show_bug.cgi?id=105144
27202
27203        Reviewed by Sam Weinig.
27204
27205        Some cleanup to make it possible to reuse the authentication manager from the network process.
27206
27207        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
27208        (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
27209        (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
27210        (WebKit::AuthenticationChallengeProxy::useCredential):
27211        (WebKit::AuthenticationChallengeProxy::cancel):
27212        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
27213        (WebKit::AuthenticationChallengeProxy::create):
27214        (AuthenticationChallengeProxy):
27215        * UIProcess/Downloads/DownloadProxy.cpp:
27216        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
27217        * UIProcess/WebPageProxy.cpp:
27218        (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
27219        * WebProcess/Authentication/AuthenticationManager.cpp:
27220        (WebKit::AuthenticationManager::AuthenticationManager):
27221        (WebKit::AuthenticationManager::setConnection):
27222        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
27223        (WebKit::AuthenticationManager::useCredentialForChallenge):
27224        * WebProcess/Authentication/AuthenticationManager.h:
27225        * WebProcess/Downloads/Download.cpp:
27226        (WebKit::Download::didReceiveAuthenticationChallenge):
27227        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27228        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
27229        * WebProcess/WebProcess.cpp:
27230        (WebKit::WebProcess::WebProcess):
27231        (WebKit::WebProcess::initialize):
27232        * WebProcess/WebProcess.h:
27233        (WebKit::WebProcess::authenticationManager):
27234        (WebProcess):
27235
272362012-12-16  Anders Carlsson  <andersca@apple.com>
27237
27238        Rudimentary support for main resource downloads
27239        https://bugs.webkit.org/show_bug.cgi?id=105141
27240
27241        Reviewed by Sam Weinig.
27242
27243        For now, instead of converting a main resource load into a download, just cancel it and start
27244        a new separate download.
27245
27246        * NetworkProcess/NetworkProcess.cpp:
27247        (WebKit::NetworkProcess::downloadRequest):
27248        Call through to the download manager.
27249        
27250        (WebKit::NetworkProcess::cancelDownload):
27251        Call through to the download manager.
27252
27253        * NetworkProcess/NetworkProcess.messages.in:
27254        Add new messages.
27255
27256        * UIProcess/Downloads/DownloadProxy.cpp:
27257        (WebKit::DownloadProxy::cancel):
27258        Send the cancel message to the network process when needed.
27259
27260        * UIProcess/WebContext.cpp:
27261        (WebKit::WebContext::download):
27262        Handle the network process case.
27263
27264        * UIProcess/WebPageProxy.cpp:
27265        (WebKit::WebPageProxy::WebPageProxy):
27266        (WebKit::WebPageProxy::receivedPolicyDecision):
27267        (WebKit::WebPageProxy::decidePolicyForResponse):
27268        Keep track of the current request when calling decidePolicyForResponse.
27269
272702012-12-16  Andy Estes  <aestes@apple.com>
27271
27272        [WebKit2] CustomProtocolManager should intercept messages of class MessageClassCustomProtocolManager sent to the network process
27273        https://bugs.webkit.org/show_bug.cgi?id=105137
27274
27275        Reviewed by Anders Carlsson.
27276
27277        * NetworkProcess/NetworkProcess.cpp:
27278        (WebKit::NetworkProcess::didReceiveMessage):
27279
272802012-12-16  Levi Weintraub  <leviw@chromium.org>
27281
27282        Push pixel snapping logic into TransformState
27283        https://bugs.webkit.org/show_bug.cgi?id=101779
27284
27285        Reviewed by Simon Fraser.
27286
27287        Eliminating use of SnapOffsetForTransforms as it's no longer needed.
27288
27289        * WebProcess/FullScreen/WebFullScreenManager.cpp:
27290        (WebKit::screenRectOfContents):
27291
272922012-12-16  Anders Carlsson  <andersca@apple.com>
27293
27294        Rename WebFrame::convertHandleToDownload to convertMainResourceLoadToDownload
27295        https://bugs.webkit.org/show_bug.cgi?id=105134
27296
27297        Reviewed by Sam Weinig.
27298
27299        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27300        (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
27301        * WebProcess/WebPage/WebFrame.cpp:
27302        (WebKit::WebFrame::convertMainResourceLoadToDownload):
27303        * WebProcess/WebPage/WebFrame.h:
27304        (WebFrame):
27305
273062012-12-15  Anders Carlsson  <andersca@apple.com>
27307
27308        Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
27309        https://bugs.webkit.org/show_bug.cgi?id=105122
27310
27311        Reviewed by Andreas Kling.
27312
27313        Update for WebCore changes.
27314
27315        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27316        (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
27317        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
27318        (WebFrameLoaderClient):
27319
273202012-12-15  Anders Carlsson  <andersca@apple.com>
27321
27322        Another build fix.
27323
27324        * UIProcess/WebContext.cpp:
27325        (WebKit::WebContext::createDownloadProxy):
27326
273272012-12-15  Andy Estes  <aestes@apple.com>
27328
27329        [WebKit2] Have CustomProtocolManager and CustomProtocolManagerProxy store Connections for messaging
27330        https://bugs.webkit.org/show_bug.cgi?id=105124
27331
27332        Reviewed by Anders Carlsson.
27333
27334        Remove CustomProtocolManagerProxy's assumption that all messages go to
27335        a web process. Have it take a ChildProcessProxy instead and extract its
27336        connection.
27337
27338        Similarly, remove CustomProtocolManager's assumption that all messages
27339        go through a shared WebProcess. Initialize the shared CustomProtocolManager
27340        with a Connection object instead.
27341
27342        * NetworkProcess/NetworkProcess.cpp:
27343        (WebKit::NetworkProcess::initializeNetworkProcess): Initialize the
27344        shared CustomProtocolManager with the NetworkProcess's connection to
27345        the UI process.
27346        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
27347        (WebKit::CustomProtocolManager::connection): Assert m_connection is
27348        non-0 and return it.
27349        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
27350        (+[WKCustomProtocol canInitWithRequest:]): Remove an unnecessary
27351        namespace.
27352        (-[WKCustomProtocol initWithRequest:cachedResponse:client:]): Ditto.
27353        (-[WKCustomProtocol startLoading]): Send a message on the
27354        CustomProtocolManager's connection rather than assuming there is a
27355        shared WebProcess in our address space.
27356        (-[WKCustomProtocol stopLoading]): Ditto.
27357        (WebKit::CustomProtocolManager::initialize): Initialize the shared
27358        CustomProtocolManager with a Connection and register our custom
27359        protocol handler with NSURLProtocol.
27360        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
27361        (WebKit):
27362        (CustomProtocolManagerProxy): Take a ChildProcessProxy* rather than a
27363        WebProcessProxy*.
27364        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
27365        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): Ditto.
27366        (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
27367        * UIProcess/Network/NetworkProcessProxy.cpp:
27368        (WebKit::NetworkProcessProxy::NetworkProcessProxy): Instantiate a
27369        CustomProtocolManagerProxy for the network process.
27370        (WebKit::NetworkProcessProxy::didReceiveMessage): Route messages of
27371        class MessageClassCustomProtocolManagerProxy to the
27372        CustomProtocolManagerProxy.
27373        * UIProcess/Network/NetworkProcessProxy.h:
27374        * UIProcess/WebProcessProxy.cpp:
27375        (WebKit::WebProcessProxy::didReceiveMessage): Assert that we aren't
27376        using the network process since we've received a message from a
27377        web process's CustomProtocolManager.
27378        * WebProcess/WebProcess.cpp:
27379        (WebKit::WebProcess::initializeWebProcess): Break CustomProtocolManager
27380        initialization out into a helper function.
27381        (WebKit::WebProcess::initializeCustomProtocolManager): Initialize our
27382        CustomProtocolManager.
27383        * WebProcess/WebProcess.h:
27384
273852012-12-15  Anders Carlsson  <andersca@apple.com>
27386
27387        Happy little Qt build fix.
27388
27389        * UIProcess/WebContext.cpp:
27390        (WebKit::WebContext::download):
27391
273922012-12-15  Alexey Proskuryakov  <ap@apple.com>
27393
27394        <rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work)
27395        https://bugs.webkit.org/show_bug.cgi?id=105120
27396
27397        Reviewed by Sam Weinig.
27398
27399        Serialize HTTP body. ResourceRequest serialization cannot (and shouldn't) know about
27400        body streams, as used with files.
27401
27402        * Shared/Network/NetworkResourceLoadParameters.cpp:
27403        (WebKit::NetworkResourceLoadParameters::encode):
27404        (WebKit::NetworkResourceLoadParameters::decode):
27405        * Shared/WebCoreArgumentCoders.cpp:
27406        (CoreIPC::::encode):
27407
274082012-12-15  Anders Carlsson  <andersca@apple.com>
27409
27410        Handle downloads in the network process
27411        https://bugs.webkit.org/show_bug.cgi?id=105117
27412
27413        Reviewed by Sam Weinig.
27414
27415        Start using the download manager in the network process.
27416
27417        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
27418        (WebKit::NetworkConnectionToWebProcess::startDownload):
27419        Call through to the download manager.
27420
27421        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
27422        Add StartDownload message.
27423
27424        * NetworkProcess/NetworkProcess.cpp:
27425        (WebKit::NetworkProcess::downloadManager):
27426        Add "singleton" download manager.
27427
27428        (WebKit::NetworkProcess::didCreateDownload):
27429        (WebKit::NetworkProcess::didDestroyDownload):
27430        (WebKit::NetworkProcess::downloadProxyConnection):
27431        Implement DownloadManager::Client.
27432
27433        * UIProcess/Network/NetworkProcessProxy.cpp:
27434        (WebKit::NetworkProcessProxy::didReceiveMessage):
27435        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
27436        Call through to the message receiver map.
27437
27438        * WebProcess/Downloads/Download.cpp:
27439        * WebProcess/Downloads/DownloadManager.cpp:
27440        (WebKit::DownloadManager::downloadProxyConnection):
27441        * WebProcess/Downloads/DownloadManager.h:
27442        Rename connection to downloadProxyConnection.
27443
27444        * WebProcess/WebPage/WebFrame.cpp:
27445        (WebKit::WebFrame::startDownload):
27446        When using the network process, send a message to it with the request that needs to be downloaded.
27447
27448        * WebProcess/WebProcess.cpp:
27449        (WebKit::WebProcess::downloadProxyConnection):
27450        Return the connection to the UI process.
27451
274522012-12-15  Sam Weinig  <sam@webkit.org>
27453
27454        NSURLCache should be disabled in the WebProcess when using the NetworkProcess
27455        <rdar://problem/12872266>
27456        https://bugs.webkit.org/show_bug.cgi?id=105119
27457
27458        Reviewed by Alexey Proskuryakov.
27459
27460        Set the size of the NSURLCache to 0 (both disk and memory) in the WebProcess when using
27461        the NetworkProcess.
27462
27463        * WebProcess/mac/WebProcessMac.mm:
27464        (WebKit::WebProcess::platformSetCacheModel):
27465        (WebKit::WebProcess::platformInitializeWebProcess):
27466
274672012-12-15  Sam Weinig  <sam@webkit.org>
27468
27469        The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
27470        <rdar://problem/12848505>
27471        https://bugs.webkit.org/show_bug.cgi?id=105115
27472
27473        Reviewed by Anders Carlsson.
27474
27475        * NetworkProcess/NetworkProcess.cpp:
27476        (WebKit::NetworkProcess::NetworkProcess):
27477        (WebKit::NetworkProcess::initializeNetworkProcess):
27478        (WebKit::NetworkProcess::setCacheModel):
27479        * NetworkProcess/NetworkProcess.h:
27480        (NetworkProcess):
27481        * NetworkProcess/mac/NetworkProcessMac.mm:
27482        (WebKit::NetworkProcess::platformInitialize):
27483        (WebKit::memorySize):
27484        (WebKit::volumeFreeSize):
27485        (WebKit::NetworkProcess::platformSetCacheModel):
27486        Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
27487        We should eventually move the calculation of this to the WebContext so it can be done
27488        once.
27489
27490        * Shared/Network/NetworkProcessCreationParameters.cpp:
27491        (WebKit::NetworkProcessCreationParameters::encode):
27492        (WebKit::NetworkProcessCreationParameters::decode):
27493        * Shared/Network/NetworkProcessCreationParameters.h:
27494        (NetworkProcessCreationParameters):
27495        Add the necessary creation parameters to set up the cache.
27496
27497        * UIProcess/Network/NetworkProcessProxy.cpp:
27498        (WebKit::NetworkProcessProxy::didFinishLaunching):
27499        * UIProcess/Network/NetworkProcessProxy.h:
27500        (NetworkProcessProxy):
27501        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
27502        * UIProcess/WebContext.cpp:
27503        (WebKit::WebContext::ensureNetworkProcess):
27504        (WebKit::WebContext::setCacheModel):
27505        * UIProcess/WebContext.h:
27506        (WebKit):
27507        (WebContext):
27508        * UIProcess/mac/WebContextMac.mm:
27509        (WebKit):
27510        (WebKit::WebContext::platformInitializeNetworkProcess):
27511        Move initializing the NetworkProcess to just after creating (matching the WebProcess),
27512        rather than waiting for it finish loading before sending the creation parameters.
27513        Additionally, this moves the setting up of the creation parameters to the WebContext,
27514        as that is where all the interesting state resides (and also matches the WebProcess).
27515
275162012-12-15  Andy Estes  <aestes@apple.com>
27517
27518        [WebKit2] Register the custom protocol handler in the network process if it exists
27519        https://bugs.webkit.org/show_bug.cgi?id=105118
27520
27521        Reviewed by Anders Carlsson.
27522
27523        Register our custom protocol handler with NSURLProtocol when starting
27524        up the network process; do not register the custom protocol handler in
27525        web processes if a network process is being used.
27526
27527        * NetworkProcess/NetworkProcess.cpp:
27528        (WebKit::NetworkProcess::initializeNetworkProcess):
27529        * WebProcess/WebProcess.cpp:
27530        (WebKit::WebProcess::initializeWebProcess):
27531        * WebProcess/mac/WebProcessMac.mm:
27532        (WebKit::WebProcess::platformInitializeWebProcess):
27533
275342012-12-15  Sam Weinig  <sam@webkit.org>
27535
27536        The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
27537        <rdar://problem/12848505>
27538        https://bugs.webkit.org/show_bug.cgi?id=105115
27539
27540        Reviewed by Anders Carlsson.
27541
27542        * NetworkProcess/NetworkProcess.cpp:
27543        (WebKit::NetworkProcess::NetworkProcess):
27544        (WebKit::NetworkProcess::initializeNetworkProcess):
27545        (WebKit::NetworkProcess::setCacheModel):
27546        * NetworkProcess/NetworkProcess.h:
27547        (NetworkProcess):
27548        * NetworkProcess/mac/NetworkProcessMac.mm:
27549        (WebKit::NetworkProcess::platformInitialize):
27550        (WebKit::memorySize):
27551        (WebKit::volumeFreeSize):
27552        (WebKit::NetworkProcess::platformSetCacheModel):
27553        Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
27554        We should eventually move the calculation of this to the WebContext so it can be done
27555        once.
27556
27557        * Shared/Network/NetworkProcessCreationParameters.cpp:
27558        (WebKit::NetworkProcessCreationParameters::encode):
27559        (WebKit::NetworkProcessCreationParameters::decode):
27560        * Shared/Network/NetworkProcessCreationParameters.h:
27561        (NetworkProcessCreationParameters):
27562        Add the necessary creation parameters to set up the cache.
27563
27564        * UIProcess/Network/NetworkProcessProxy.cpp:
27565        (WebKit::NetworkProcessProxy::didFinishLaunching):
27566        * UIProcess/Network/NetworkProcessProxy.h:
27567        (NetworkProcessProxy):
27568        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
27569        * UIProcess/WebContext.cpp:
27570        (WebKit::WebContext::ensureNetworkProcess):
27571        (WebKit::WebContext::setCacheModel):
27572        * UIProcess/WebContext.h:
27573        (WebKit):
27574        (WebContext):
27575        * UIProcess/mac/WebContextMac.mm:
27576        (WebKit):
27577        (WebKit::WebContext::platformInitializeNetworkProcess):
27578        Move initializing the NetworkProcess to just after creating (matching the WebProcess),
27579        rather than waiting for it finish loading before sending the creation parameters.
27580        Additionally, this moves the setting up of the creation parameters to the WebContext,
27581        as that is where all the interesting state resides (and also matches the WebProcess).
27582
275832012-12-15  Andy Estes  <aestes@apple.com>
27584
27585        Clean up the previous build fix; access m_networkProcess directly.
27586
27587        * UIProcess/WebContext.cpp:
27588        (WebKit::WebContext::registerSchemeForCustomProtocol):
27589        (WebKit::WebContext::unregisterSchemeForCustomProtocol):
27590
275912012-12-15  Andy Estes  <aestes@apple.com>
27592
27593        Fix the build.
27594
27595        * UIProcess/WebContext.cpp:
27596        (WebKit::WebContext::registerSchemeForCustomProtocol):
27597        (WebKit::WebContext::unregisterSchemeForCustomProtocol):
27598
275992012-12-15  Andy Estes  <aestes@apple.com>
27600
27601        [WebKit2] Register schemes with the network process if it is being used
27602        https://bugs.webkit.org/show_bug.cgi?id=105113
27603
27604        Reviewed by Anders Carlsson.
27605
27606        If a WebContext is using the network process, it needs to be told about
27607        scheme (un)registration rather than the context's web processes.
27608
27609        * NetworkProcess/NetworkProcess.cpp:
27610        (WebKit::NetworkProcess::initializeNetworkProcess): Tell the shared
27611        CustomProtocolManager about schemes registered at process creation time.
27612        (WebKit::NetworkProcess::registerSchemeForCustomProtocol): Tell the
27613        shared CustomProtocolManager about a new scheme.
27614        (WebKit::NetworkProcess::unregisterSchemeForCustomProtocol): Remove a
27615        scheme from the shared CustomProtocolManager.
27616        * NetworkProcess/NetworkProcess.h:
27617        * NetworkProcess/NetworkProcess.messages.in: Add registration and
27618        unregistration messages for the NetworkProcess.
27619        * Shared/Network/NetworkProcessCreationParameters.cpp:
27620        (WebKit::NetworkProcessCreationParameters::encode): Encode
27621        urlSchemesRegisteredForCustomProtocols.
27622        (WebKit::NetworkProcessCreationParameters::decode): Decode
27623        urlSchemesRegisteredForCustomProtocols.
27624        * Shared/Network/NetworkProcessCreationParameters.h: Define
27625        urlSchemesRegisteredForCustomProtocols.
27626        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
27627        (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess): Populate
27628        urlSchemesRegisteredForCustomProtocols with the current set of schemes.
27629        * UIProcess/WebContext.cpp:
27630        (WebKit::WebContext::registerSchemeForCustomProtocol): Send a new
27631        scheme to either the network process or to the context's web processes.
27632        (WebKit::WebContext::unregisterSchemeForCustomProtocol): Ditto for
27633        removing a scheme.
27634        * UIProcess/WebContext.h:
27635        * UIProcess/mac/WebContextMac.mm:
27636        (WebKit::WebContext::platformInitializeWebProcess): Only populate
27637        urlSchemesRegisteredForCustomProtocols if the network process isn't
27638        being used.
27639        (WebKit::WebContext::registerNotificationObservers):
27640        * WebProcess/mac/WebProcessMac.mm:
27641        (WebKit::WebProcess::platformInitializeWebProcess):
27642        urlSchemesRegisteredForCustomProtocols should only be non-empty if the
27643        network process isn't being used. Assert this.
27644
276452012-12-15  Anders Carlsson  <andersca@apple.com>
27646
27647        Remove the unneeded NetworkProcessCrashed message
27648        https://bugs.webkit.org/show_bug.cgi?id=105114
27649
27650        Reviewed by Sam Weinig.
27651
27652        Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
27653        nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
27654        function is called on the connection between the web process and network process.
27655        
27656        Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
27657        thread-safe so this could in theory cause bad crashes.
27658
27659        * UIProcess/Network/NetworkProcessProxy.cpp:
27660        (WebKit::NetworkProcessProxy::didClose):
27661        * WebProcess/WebProcess.cpp:
27662        * WebProcess/WebProcess.h:
27663        (WebProcess):
27664        * WebProcess/WebProcess.messages.in:
27665
276662012-12-15  Anders Carlsson  <andersca@apple.com>
27667
27668        Add a DownloadProxyMap object to the NetworkProcessProxy object
27669        https://bugs.webkit.org/show_bug.cgi?id=105112
27670
27671        Reviewed by Sam Weinig.
27672
27673        * UIProcess/Network/NetworkProcessProxy.cpp:
27674        (WebKit::NetworkProcessProxy::createDownloadProxy):
27675        (WebKit::NetworkProcessProxy::didClose):
27676        * UIProcess/Network/NetworkProcessProxy.h:
27677        * UIProcess/WebContext.cpp:
27678        (WebKit::WebContext::createDownloadProxy):
27679        * UIProcess/WebProcessProxy.cpp:
27680        * UIProcess/WebProcessProxy.h:
27681
276822012-12-15  Anders Carlsson  <andersca@apple.com>
27683
27684        Move the download proxy map from the web context to the web process proxy
27685        https://bugs.webkit.org/show_bug.cgi?id=105109
27686
27687        Reviewed by Andreas Kling.
27688
27689        More progress towards making downloads work with the networking process. Since downloads are handled by the
27690        web process when not using a networking process, it makes sense for the download proxy map to live in the
27691        web process proxy object.
27692
27693        * UIProcess/WebContext.cpp:
27694        (WebKit::WebContext::WebContext):
27695        (WebKit::WebContext::shouldTerminate):
27696        (WebKit::WebContext::disconnectProcess):
27697        (WebKit::WebContext::download):
27698        (WebKit::WebContext::createDownloadProxy):
27699        * UIProcess/WebContext.h:
27700        (WebContext):
27701        * UIProcess/WebProcessProxy.cpp:
27702        (WebKit::WebProcessProxy::disconnect):
27703        (WebKit::WebProcessProxy::shouldTerminate):
27704        (WebKit):
27705        (WebKit::WebProcessProxy::createDownloadProxy):
27706        * UIProcess/WebProcessProxy.h:
27707        (WebProcessProxy):
27708
277092012-12-15  Anders Carlsson  <andersca@apple.com>
27710
27711        DownloadProxy should keep a strong reference to its associated web context
27712        https://bugs.webkit.org/show_bug.cgi?id=105107
27713
27714        Reviewed by Alexey Proskuryakov.
27715
27716        While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
27717        if the process that's doing the download crashes.
27718
27719        * UIProcess/Downloads/DownloadProxy.cpp:
27720        (WebKit::DownloadProxy::processDidClose):
27721        (WebKit::DownloadProxy::didStart):
27722        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
27723        (WebKit::DownloadProxy::didReceiveResponse):
27724        (WebKit::DownloadProxy::didReceiveData):
27725        (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
27726        (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
27727        (WebKit::DownloadProxy::didCreateDestination):
27728        (WebKit::DownloadProxy::didFinish):
27729        (WebKit::DownloadProxy::didFail):
27730        (WebKit::DownloadProxy::didCancel):
27731        * UIProcess/Downloads/DownloadProxy.h:
27732        (DownloadProxy):
27733
277342012-12-15  Anders Carlsson  <andersca@apple.com>
27735
27736        Remove WebContext::downloadFinished
27737        https://bugs.webkit.org/show_bug.cgi?id=105105
27738
27739        Reviewed by Sam Weinig.
27740
27741        Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.
27742
27743        * UIProcess/Downloads/DownloadProxy.cpp:
27744        (WebKit::DownloadProxy::didFinish):
27745        (WebKit::DownloadProxy::didFail):
27746        (WebKit::DownloadProxy::didCancel):
27747        * UIProcess/Downloads/DownloadProxyMap.cpp:
27748        (WebKit::DownloadProxyMap::DownloadProxyMap):
27749        (WebKit::DownloadProxyMap::createDownloadProxy):
27750        (WebKit::DownloadProxyMap::downloadFinished):
27751        * UIProcess/Downloads/DownloadProxyMap.h:
27752        (DownloadProxyMap):
27753        * UIProcess/WebContext.cpp:
27754        (WebKit::WebContext::WebContext):
27755        (WebKit::WebContext::createDownloadProxy):
27756        * UIProcess/WebContext.h:
27757
277582012-12-15  Sam Weinig  <sam@webkit.org>
27759
27760        Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
27761        https://bugs.webkit.org/show_bug.cgi?id=105104
27762
27763        Reviewed by Alexey Proskuryakov.
27764
27765        Move to having the WebContext own and manage the NetworkProcessProxy.
27766
27767        * UIProcess/Network/NetworkProcessManager.cpp: Removed.
27768        * UIProcess/Network/NetworkProcessManager.h: Removed.
27769        * UIProcess/Network/NetworkProcessProxy.cpp:
27770        (WebKit::NetworkProcessProxy::create):
27771        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
27772        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
27773        * UIProcess/Network/NetworkProcessProxy.h:
27774        (WebKit):
27775        (NetworkProcessProxy):
27776        * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
27777        * UIProcess/WebContext.cpp:
27778        (WebKit::WebContext::ensureNetworkProcess):
27779        (WebKit::WebContext::removeNetworkProcessProxy):
27780        (WebKit::WebContext::getNetworkProcessConnection):
27781        (WebKit::WebContext::willStartUsingPrivateBrowsing):
27782        (WebKit::WebContext::willStopUsingPrivateBrowsing):
27783        (WebKit::WebContext::createNewWebProcess):
27784        * UIProcess/WebContext.h:
27785        (WebKit):
27786        (WebContext):
27787        (WebKit::WebContext::networkProcess):
27788        * UIProcess/WebProcessProxy.cpp:
27789        (WebKit::WebProcessProxy::getNetworkProcessConnection):
27790        * UIProcess/mac/WebContextMac.mm:
27791        (WebKit::WebContext::applicationBecameVisible):
27792        (WebKit::WebContext::applicationBecameOccluded):
27793        * WebKit2.xcodeproj/project.pbxproj:
27794
277952012-12-15  Anders Carlsson  <andersca@apple.com>
27796
27797        DownloadProxy objects should know which DownloadProxyMap they belong to
27798        https://bugs.webkit.org/show_bug.cgi?id=105102
27799
27800        Reviewed by Andy Estes.
27801
27802        * UIProcess/Downloads/DownloadProxy.cpp:
27803        (WebKit::DownloadProxy::create):
27804        (WebKit::DownloadProxy::DownloadProxy):
27805        * UIProcess/Downloads/DownloadProxy.h:
27806        (WebKit):
27807        (DownloadProxy):
27808        * UIProcess/Downloads/DownloadProxyMap.cpp:
27809        (WebKit::DownloadProxyMap::createDownloadProxy):
27810
278112012-12-15  Andy Estes  <aestes@apple.com>
27812
27813        [WebKit2] Move CustomProtocolManager to Shared/
27814        https://bugs.webkit.org/show_bug.cgi?id=105103
27815
27816        Reviewed by Sam Weinig.
27817
27818        CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.
27819
27820        * DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
27821        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
27822        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
27823        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
27824        * WebKit2.xcodeproj/project.pbxproj:
27825
278262012-12-15  Sam Weinig  <sam@webkit.org>
27827
27828        Try to fix the Qt build.
27829
27830        * Target.pri:
27831
278322012-12-15  Anders Carlsson  <andersca@apple.com>
27833
27834        Get rid of DownloadProxyMap::downloads()
27835        https://bugs.webkit.org/show_bug.cgi?id=105100
27836
27837        Reviewed by Sam Weinig.
27838
27839        Add the needed member functions to DownloadProxyMap and remove the downloads() member function.
27840
27841        * UIProcess/Downloads/DownloadProxyMap.cpp:
27842        (WebKit::DownloadProxyMap::downloadFinished):
27843        (WebKit::DownloadProxyMap::processDidClose):
27844        (WebKit):
27845        * UIProcess/Downloads/DownloadProxyMap.h:
27846        (WebKit::DownloadProxyMap::isEmpty):
27847        (DownloadProxyMap):
27848        * UIProcess/WebContext.cpp:
27849        (WebKit::WebContext::shouldTerminate):
27850        (WebKit::WebContext::disconnectProcess):
27851        (WebKit::WebContext::downloadFinished):
27852
278532012-12-15  Sam Weinig  <sam@webkit.org>
27854
27855        Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
27856        https://bugs.webkit.org/show_bug.cgi?id=105098
27857
27858        Reviewed by Anders Carlsson.
27859
27860        Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
27861        that it can be used by more than just the WebProcess.
27862
27863        * CMakeLists.txt:
27864        * GNUmakefile.list.am:
27865        * Shared/CacheModel.cpp: Added.
27866        (WebKit):
27867        (WebKit::calculateCacheSizes):
27868        * Shared/CacheModel.h:
27869        * Target.pri:
27870        * WebKit2.xcodeproj/project.pbxproj:
27871        * WebProcess/WebProcess.cpp:
27872        * WebProcess/WebProcess.h:
27873        (WebProcess):
27874        * win/WebKit2.vcproj:
27875
278762012-12-15  Anders Carlsson  <andersca@apple.com>
27877
27878        DownloadProxyMap shouldn't be a singleton after all
27879        https://bugs.webkit.org/show_bug.cgi?id=105099
27880
27881        Reviewed by Sam Weinig.
27882
27883        Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.
27884
27885        * UIProcess/Downloads/DownloadProxy.cpp:
27886        (WebKit::DownloadProxy::didFinish):
27887        (WebKit::DownloadProxy::didFail):
27888        (WebKit::DownloadProxy::didCancel):
27889        * UIProcess/Downloads/DownloadProxyMap.cpp:
27890        (WebKit::DownloadProxyMap::~DownloadProxyMap):
27891        * UIProcess/Downloads/DownloadProxyMap.h:
27892        (DownloadProxyMap):
27893        (WebKit::DownloadProxyMap::downloads):
27894        * UIProcess/WebContext.cpp:
27895        (WebKit::WebContext::shouldTerminate):
27896        (WebKit::WebContext::disconnectProcess):
27897        (WebKit::WebContext::createDownloadProxy):
27898        (WebKit::WebContext::downloadFinished):
27899        * UIProcess/WebContext.h:
27900        (WebContext):
27901
279022012-12-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
27903
27904        Disambiguate "background color" and "contents as solid color" on GraphicsLayer
27905        https://bugs.webkit.org/show_bug.cgi?id=104842
27906
27907        Reviewed by Simon Fraser.
27908
27909        Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.
27910
27911        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
27912        (CoordinatedLayerInfo):
27913        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
27914        (WebKit::LayerTreeRenderer::setLayerState):
27915        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
27916        (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
27917        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
27918        (CoordinatedGraphicsLayer):
27919
279202012-12-15  Christophe Dumez  <christophe.dumez@intel.com>
27921
27922        [GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
27923        https://bugs.webkit.org/show_bug.cgi?id=105095
27924
27925        Reviewed by Martin Robinson.
27926
27927        Adopt the pointer returned by cairo_create() in
27928        ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
27929        memory.
27930
27931        * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:
27932        (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
27933
279342012-12-15  Mark Lam  <mark.lam@apple.com>
27935
27936        Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
27937        https://bugs.webkit.org/show_bug.cgi?id=104934..
27938
27939        Not reviewed.
27940
27941        Greening the Qt Linux Release Minimal bot.
27942
27943        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
27944        (WebKit):
27945        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
27946        (WebPlatformStrategies):
27947
279482012-12-15  Mark Lam  <mark.lam@apple.com>
27949
27950        Re-landing patch for "Introducing the DatabaseStrategy and database servers".
27951        https://bugs.webkit.org/show_bug.cgi?id=104934.
27952
27953        Not reviewed.
27954
27955        Merged from r137767. Previously reviewed by Sam Weinig.
27956
27957        * CMakeLists.txt:
27958        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
27959        (WebKit::WebPlatformStrategies::createDatabaseStrategy):
27960        (WebKit):
27961        (WebKit::WebPlatformStrategies::getDatabaseServer):
27962        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
27963        (WebPlatformStrategies):
27964
279652012-12-14  Anders Carlsson  <andersca@apple.com>
27966
27967        DownloadProxy objects should be message receivers
27968        https://bugs.webkit.org/show_bug.cgi?id=105068
27969
27970        Reviewed by Andreas Kling.
27971
27972        This simplifies the WebContext message dispatch code somewhat.
27973
27974        * UIProcess/Downloads/DownloadProxy.cpp:
27975        (WebKit::DownloadProxy::didReceiveMessage):
27976        (WebKit::DownloadProxy::didReceiveSyncMessage):
27977        * UIProcess/Downloads/DownloadProxy.h:
27978        (DownloadProxy):
27979        * UIProcess/WebContext.cpp:
27980        (WebKit::WebContext::createDownloadProxy):
27981        (WebKit::WebContext::didReceiveMessage):
27982        (WebKit::WebContext::didReceiveSyncMessage):
27983
279842012-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
27985
27986        Unreviewed, rolling out r137767.
27987        http://trac.webkit.org/changeset/137767
27988        https://bugs.webkit.org/show_bug.cgi?id=105062
27989
27990        Broke Mac builds. (Requested by mlam on #webkit).
27991
27992        * CMakeLists.txt:
27993        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
27994        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
27995        (WebPlatformStrategies):
27996
279972012-12-14  Alexey Proskuryakov  <ap@apple.com>
27998
27999        <rdar://problem/12874760> NetworkProcess loads may get stuck when WebProcess quits
28000        https://bugs.webkit.org/show_bug.cgi?id=105056
28001
28002        Reviewed by Anders Carlsson.
28003
28004        Make response maps per-connection.
28005
28006        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
28007        (WebKit::NetworkConnectionToWebProcess::didClose): Cancel waiting for responses
28008        from WebProcess, they will never arrive.
28009
28010        * NetworkProcess/NetworkConnectionToWebProcess.h:
28011        (WebKit::NetworkConnectionToWebProcess::willSendRequestResponseMap):
28012        (WebKit::NetworkConnectionToWebProcess::canAuthenticateAgainstProtectionSpaceResponseMap):
28013        Maps now live here.
28014
28015        * NetworkProcess/NetworkResourceLoader.cpp:
28016        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): Added a FIXME.
28017
28018        (WebKit::NetworkResourceLoader::willSendRequest):
28019        (WebKit::NetworkResourceLoader::willSendRequestHandled):
28020        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
28021        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
28022        Handle the cases where we can't send a request, or can't expect a response any more.
28023
28024        * Shared/BlockingResponseMap.h:
28025        (BlockingResponseMap):
28026        (BlockingResponseMap::BlockingResponseMap):
28027        (BlockingResponseMap::~BlockingResponseMap):
28028        (BlockingResponseMap::waitForResponse):
28029        (BlockingResponseMap::didReceiveResponse):
28030        (BlockingResponseMap::cancel):
28031        (BlockingBoolResponseMap):
28032        (BlockingBoolResponseMap::BlockingBoolResponseMap):
28033        (BlockingBoolResponseMap::~BlockingBoolResponseMap):
28034        (BlockingBoolResponseMap::waitForResponse):
28035        (BlockingBoolResponseMap::didReceiveResponse):
28036        (BlockingBoolResponseMap::cancel):
28037        Added an ability to cancel, and slightly beefed up overall.
28038
280392012-12-14  Anders Carlsson  <andersca@apple.com>
28040
28041        DownloadProxyMap should keep track of outstanding DownloadProxy objects
28042        https://bugs.webkit.org/show_bug.cgi?id=105053
28043
28044        Reviewed by Andreas Kling.
28045
28046        This is more work towards removing the m_downloads map from every WebContext object.
28047
28048        * UIProcess/Downloads/DownloadProxy.cpp:
28049        (WebKit::DownloadProxy::didFinish):
28050        (WebKit::DownloadProxy::didFail):
28051        (WebKit::DownloadProxy::didCancel):
28052        * UIProcess/Downloads/DownloadProxyMap.cpp:
28053        (WebKit::DownloadProxyMap::createDownloadProxy):
28054        (WebKit):
28055        (WebKit::DownloadProxyMap::downloadFinished):
28056        * UIProcess/Downloads/DownloadProxyMap.h:
28057        (DownloadProxyMap):
28058        * UIProcess/WebContext.cpp:
28059        (WebKit::WebContext::createDownloadProxy):
28060
280612012-12-14  Mark Lam  <mark.lam@apple.com>
28062
28063        Introducing the DatabaseStrategy and database servers.
28064        https://bugs.webkit.org/show_bug.cgi?id=104934.
28065
28066        Reviewed by Sam Weinig.
28067
28068        The database server is currently a placeholder that does nothing.
28069
28070        * CMakeLists.txt:
28071        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
28072        (WebKit::WebPlatformStrategies::createDatabaseStrategy):
28073        (WebKit):
28074        (WebKit::WebPlatformStrategies::getDatabaseServer):
28075        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
28076        (WebPlatformStrategies):
28077
280782012-12-14  Alexey Proskuryakov  <ap@apple.com>
28079
28080        Resource loads sometimes stall
28081        https://bugs.webkit.org/show_bug.cgi?id=104976
28082
28083        Apply the same quick an dirty fix to BlockingBoolResponseMap.
28084
28085        * Shared/BlockingResponseMap.h:
28086        (BlockingBoolResponseMap::didReceiveResponse):
28087
280882012-12-14  Anders Carlsson  <andersca@apple.com>
28089
28090        Add a DownloadsProxyMap class in preparation for moving the downloads map away from WebContext
28091        https://bugs.webkit.org/show_bug.cgi?id=104980
28092
28093        Reviewed by Andreas Kling.
28094
28095        Currently the DownloadProxyMap doesn't really do anything; this initial change is to make sure that
28096        adding the new files won't break any builds.
28097
28098        * CMakeLists.txt:
28099        * GNUmakefile.list.am:
28100        * Target.pri:
28101        * UIProcess/Downloads/DownloadProxyMap.cpp: Added.
28102        (WebKit):
28103        (WebKit::DownloadProxyMap::shared):
28104        (WebKit::DownloadProxyMap::DownloadProxyMap):
28105        (WebKit::DownloadProxyMap::~DownloadProxyMap):
28106        (WebKit::DownloadProxyMap::createDownloadProxy):
28107        * UIProcess/Downloads/DownloadProxyMap.h: Added.
28108        (WebKit):
28109        (DownloadProxyMap):
28110        * UIProcess/WebContext.cpp:
28111        (WebKit::WebContext::createDownloadProxy):
28112        * WebKit2.xcodeproj/project.pbxproj:
28113        * win/WebKit2.vcproj:
28114
281152012-12-14  Anders Carlsson  <andersca@apple.com>
28116
28117        Fix assertion failure when the network process is enabled
28118        https://bugs.webkit.org/show_bug.cgi?id=105040
28119        <rdar://problem/12883632>
28120
28121        Reviewed by Alexey Proskuryakov.
28122
28123        Make sure that we don't call into the download manager when running with a network process.
28124
28125        * WebProcess/WebProcess.cpp:
28126        (WebKit::WebProcess::shouldTerminate):
28127
281282012-12-14  Michelangelo De Simone  <michelangelo@webkit.org>
28129
28130        [CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box)
28131        https://bugs.webkit.org/show_bug.cgi?id=103776
28132
28133        Reviewed by Dean Jackson.
28134
28135        The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly
28136        and therefore this feature - even though it was not fully implemented yet - shall not be used anymore.
28137
28138        In this patch we remove everything but the parsing code, which shall be addressed in a different patch
28139        (see: https://bugs.webkit.org/show_bug.cgi?id=103778).
28140
28141        Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt
28142
28143        Existing tests have been updated and new parsing legacy cases have been added.
28144
28145        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
28146        (CoreIPC::::encode):
28147        (CoreIPC::::decode):
28148        * Shared/CoordinatedGraphics/WebCustomFilterOperation.h:
28149        (WebCore::WebCustomFilterOperation::create):
28150        (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
28151
281522012-12-14  Alexey Proskuryakov  <ap@apple.com>
28153
28154        <rdar://problem/12880750> RGRESSION: Crash when emptying cookie jar
28155        https://bugs.webkit.org/show_bug.cgi?id=105038
28156
28157        Reviewed by Jessie Berlin.
28158
28159        Handle null context, which is used for cookie management functions.
28160
28161        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
28162        (WebKit::WebPlatformStrategies::cookiesForDOM):
28163        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
28164        (WebKit::WebPlatformStrategies::cookiesEnabled):
28165        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
28166        (WebKit::WebPlatformStrategies::getRawCookies):
28167        (WebKit::WebPlatformStrategies::deleteCookie):
28168        (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
28169        (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
28170        (WebKit::WebPlatformStrategies::deleteAllCookies):
28171
281722012-12-14  Alberto Garcia  <agarcia@igalia.com>
28173
28174        [GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage
28175        https://bugs.webkit.org/show_bug.cgi?id=104910
28176
28177        Reviewed by Martin Robinson.
28178
28179        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
28180        (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog):
28181        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h:
28182        (WebKit2GtkAuthenticationDialog):
28183        GtkAuthenticationDialog has a new credential storage mode
28184        parameter, so add it here too.
28185
28186        * UIProcess/API/gtk/WebKitWebView.cpp:
28187        (webkitWebViewHandleAuthenticationChallenge):
28188        When creating the GtkAuthenticationDialog, set the credential
28189        storage mode using the private browsing setting from the current
28190        page.
28191
281922012-12-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
28193
28194        [EFL][WK2] Fix EFL build after r137718
28195        https://bugs.webkit.org/show_bug.cgi?id=105018
28196
28197        Unreviewed build fix.
28198
28199        The problem was that UNUSED_PARAM(size) was left in the code
28200        for non-existent variable 'size'.
28201
28202        * UIProcess/efl/PageClientDefaultImpl.cpp:
28203        (WebKit::PageClientDefaultImpl::updateViewportSize):
28204        * UIProcess/efl/PageClientLegacyImpl.cpp:
28205        (WebKit::PageClientLegacyImpl::updateViewportSize):
28206
282072012-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28208
28209        [EFL][WK2] Do not pass size to updateViewportSize
28210        https://bugs.webkit.org/show_bug.cgi?id=104994
28211
28212        Reviewed by Gyuyoung Kim.
28213
28214        There is no need to pass size to updateViewportSize as we
28215        have direct access to it. This makes the code differ less
28216        from Qt.
28217
28218        * UIProcess/API/efl/ewk_view.cpp:
28219        (_ewk_view_smart_calculate):
28220        * UIProcess/PageViewportController.cpp:
28221        (WebKit::PageViewportController::pageDidRequestScroll):
28222        * UIProcess/efl/PageClientBase.h:
28223        (PageClientBase):
28224        * UIProcess/efl/PageClientDefaultImpl.cpp:
28225        (WebKit::PageClientDefaultImpl::updateViewportSize):
28226        * UIProcess/efl/PageClientDefaultImpl.h:
28227        (PageClientDefaultImpl):
28228        * UIProcess/efl/PageClientLegacyImpl.cpp:
28229        (WebKit::PageClientLegacyImpl::updateViewportSize):
28230        * UIProcess/efl/PageClientLegacyImpl.h:
28231        (PageClientLegacyImpl):
28232        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
28233        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
28234        * UIProcess/efl/PageViewportControllerClientEfl.h:
28235        (PageViewportControllerClientEfl):
28236
282372012-12-13  Sanghyup Lee  <sh53.lee@samsung.com>
28238
28239        Fix build warning
28240        https://bugs.webkit.org/show_bug.cgi?id=104978
28241
28242        Reviewed by Kentaro Hara.
28243
28244        Initialize parameter 'downloadID' to fix 'unused parameter' build warning.
28245
28246        * WebProcess/Downloads/Download.cpp:
28247        (WebKit::Download::Download):
28248
282492012-12-13  Alexey Proskuryakov  <ap@apple.com>
28250
28251        Resource loads sometimes stall
28252        https://bugs.webkit.org/show_bug.cgi?id=104976
28253
28254        Reviewed by Anders Carlsson.
28255
28256        Quick and dirty partial fix.
28257
28258        * Shared/BlockingResponseMap.h: (BlockingResponseMap::didReceiveResponse):
28259        Wake up all threads, so that non-sequential responses don't break us. This is still
28260        horribly inefficient,but should improve behavior quite a bit.
28261
282622012-12-13  Seokju Kwon  <seokju.kwon@gmail.com>
28263
28264        Fix unused parameter compile warnings
28265        https://bugs.webkit.org/show_bug.cgi?id=104907
28266
28267        Reviewed by Kentaro Hara.
28268
28269        Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
28270        when ENABLE_INSPECTOR is disabled.
28271
28272        * UIProcess/API/C/WKInspector.cpp:
28273        (WKInspectorGetPage):
28274        (WKInspectorIsVisible):
28275        (WKInspectorIsFront):
28276        (WKInspectorShow):
28277        (WKInspectorClose):
28278        (WKInspectorShowConsole):
28279        (WKInspectorShowResources):
28280        (WKInspectorShowMainResourceForFrame):
28281        (WKInspectorIsAttached):
28282        (WKInspectorAttach):
28283        (WKInspectorDetach):
28284        (WKInspectorIsDebuggingJavaScript):
28285        (WKInspectorToggleJavaScriptDebugging):
28286        (WKInspectorIsProfilingJavaScript):
28287        (WKInspectorToggleJavaScriptProfiling):
28288        (WKInspectorIsProfilingPage):
28289        (WKInspectorTogglePageProfiling):
28290        * UIProcess/API/C/WKPage.cpp:
28291        (WKPageGetInspector):
28292
282932012-12-13  Seokju Kwon  <seokju.kwon@gmail.com>
28294
28295        [QT][GTK][EFL] Add guard for WebInspectorServer
28296        https://bugs.webkit.org/show_bug.cgi?id=104889
28297
28298        Reviewed by Kenneth Rohde Christiansen.
28299
28300        Add ENABLE(INSPECTOR_SERVER) guard around platform-specific implementation for WebInspectorServer.
28301
28302        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
28303        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
28304        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
28305
283062012-12-13  Huang Dongsung  <luxtella@company100.net>
28307
28308        Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
28309        https://bugs.webkit.org/show_bug.cgi?id=103843
28310
28311        Reviewed by Noam Rosenthal.
28312
28313        Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
28314        lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
28315        have the same lifecycle to WebPage and the root layer is reused even if loading
28316        new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
28317        than twice.
28318
28319        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
28320        (WebKit::LayerTreeRenderer::setRootLayerID):
28321
283222012-12-13  Alexey Proskuryakov  <ap@apple.com>
28323
28324        <rdar://problem/12838354> DOM cookie access functions should respect private browsing
28325        https://bugs.webkit.org/show_bug.cgi?id=104691
28326
28327        Reviewed by Anders Carlsson.
28328
28329        Remove obsolete FIXMEs, and fix one function that I overlooked.
28330
28331        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
28332        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
28333        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
28334        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
28335        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
28336        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
28337        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
28338        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
28339        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
28340        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
28341
283422012-12-13  Anders Carlsson  <andersca@apple.com>
28343
28344        DownloadManager shouldn't call the web process directly
28345        https://bugs.webkit.org/show_bug.cgi?id=104946
28346
28347        Reviewed by Antti Koivisto.
28348
28349        Introduce the needed DownloadManager::Client member functions and have Download call them instead of calling the web process directly.
28350
28351        * WebProcess/Downloads/Download.cpp:
28352        (WebKit::Download::Download):
28353        (WebKit::Download::~Download):
28354        (WebKit::Download::connection):
28355        * WebProcess/Downloads/DownloadManager.cpp:
28356        (WebKit::DownloadManager::DownloadManager):
28357        (WebKit::DownloadManager::didCreateDownload):
28358        (WebKit::DownloadManager::didDestroyDownload):
28359        (WebKit::DownloadManager::connection):
28360        * WebProcess/Downloads/DownloadManager.h:
28361        * WebProcess/WebProcess.cpp:
28362        (WebKit::WebProcess::didCreateDownload):
28363        (WebKit::WebProcess::didDestroyDownload):
28364        * WebProcess/WebProcess.h:
28365
283662012-12-13  Alexey Proskuryakov  <ap@apple.com>
28367
28368        <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing
28369        https://bugs.webkit.org/show_bug.cgi?id=104691
28370
28371        Reviewed by Sam Weinig.
28372
28373        Pass private browsing state from local context to remote one.
28374
28375        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
28376        (WebKit::networkingContext):
28377        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
28378        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
28379        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
28380        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
28381        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
28382        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
28383        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
28384        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
28385        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
28386        * NetworkProcess/NetworkConnectionToWebProcess.h:
28387        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
28388        * NetworkProcess/mac/RemoteNetworkingContext.h:
28389        * NetworkProcess/mac/RemoteNetworkingContext.mm:
28390        (WebKit::RemoteNetworkingContext::inPrivateBrowsingMode):
28391        (WebKit::RemoteNetworkingContext::storageSession):
28392        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
28393        (WebKit::WebPlatformStrategies::cookiesForDOM):
28394        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
28395        (WebKit::WebPlatformStrategies::cookiesEnabled):
28396        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
28397        (WebKit::WebPlatformStrategies::getRawCookies):
28398        (WebKit::WebPlatformStrategies::deleteCookie):
28399        (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
28400        (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
28401        (WebKit::WebPlatformStrategies::deleteAllCookies):
28402        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
28403        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
28404        (WebKit::WebFrameNetworkingContext::inPrivateBrowsingMode):
28405        (WebKit::WebFrameNetworkingContext::storageSession):
28406        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
28407        (WebFrameNetworkingContext::inPrivateBrowsingMode):
28408
284092012-12-13  Anders Carlsson  <andersca@apple.com>
28410
28411        Get rid of DownloadManager::shared
28412        https://bugs.webkit.org/show_bug.cgi?id=104939
28413
28414        Reviewed by Andreas Kling.
28415
28416        Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.
28417
28418        * WebProcess/Downloads/DownloadManager.cpp:
28419        (WebKit::DownloadManager::DownloadManager):
28420        * WebProcess/Downloads/DownloadManager.h:
28421        (Client):
28422        (WebKit::DownloadManager::Client::~Client):
28423        (DownloadManager):
28424        * WebProcess/WebPage/WebFrame.cpp:
28425        (WebKit::WebFrame::startDownload):
28426        (WebKit::WebFrame::convertHandleToDownload):
28427        * WebProcess/WebProcess.cpp:
28428        (WebKit::WebProcess::downloadManager):
28429        (WebKit):
28430        (WebKit::WebProcess::shouldTerminate):
28431        (WebKit::WebProcess::downloadRequest):
28432        (WebKit::WebProcess::cancelDownload):
28433        (WebKit::WebProcess::startTransfer):
28434        * WebProcess/WebProcess.h:
28435        (WebProcess):
28436
284372012-12-12  Andy Estes  <aestes@apple.com>
28438
28439        [WebKit2] Only register NSNotificationCenter observers once per WebContext
28440        https://bugs.webkit.org/show_bug.cgi?id=104879
28441
28442        Reviewed by Alexey Proskuryakov.
28443
28444        WebContext was mistakenly registering NSNotificationCenter observers
28445        every time a new web process was created. In a multi-WebProcess world,
28446        this caused duplicate observers to be needlessly registered. Fix this
28447        by registering observers at WebContext creation time (and fix a related
28448        bug where two of the observers were never unregistered).
28449
28450        * UIProcess/WebContext.h:
28451        * UIProcess/mac/WebContextMac.mm:
28452        (WebKit::WebContext::platformInitialize): Register observers when initializing the context.
28453        (WebKit::WebContext::platformInitializeWebProcess): Don't register observers here.
28454        (WebKit::WebContext::platformInvalidateContext): Unregister observers when invalidating the context.
28455        (WebKit::WebContext::registerNotificationObservers):
28456        (WebKit::WebContext::unregisterNotificationObservers):
28457
284582012-12-13  Anders Carlsson  <andersca@apple.com>
28459
28460        Download objects should keep track of their associated DownloadManager object
28461        https://bugs.webkit.org/show_bug.cgi?id=104936
28462
28463        Reviewed by Andreas Kling.
28464
28465        This is the first step towards eliminating DownloadManager::shared.
28466
28467        * WebProcess/Downloads/Download.cpp:
28468        (WebKit::Download::create):
28469        (WebKit::Download::Download):
28470        (WebKit::Download::didFinish):
28471        (WebKit::Download::didFail):
28472        (WebKit::Download::didCancel):
28473        * WebProcess/Downloads/Download.h:
28474        * WebProcess/Downloads/DownloadManager.cpp:
28475        (WebKit::DownloadManager::startDownload):
28476        (WebKit::DownloadManager::convertHandleToDownload):
28477
284782012-12-13  Anders Carlsson  <andersca@apple.com>
28479
28480        Remove unused initiatingPage parameter from download objects
28481        https://bugs.webkit.org/show_bug.cgi?id=104933
28482
28483        Reviewed by Alexey Proskuryakov.
28484
28485        * WebProcess/Downloads/Download.h:
28486        (Download):
28487        * WebProcess/Downloads/DownloadManager.cpp:
28488        (WebKit::DownloadManager::startDownload):
28489        (WebKit::DownloadManager::convertHandleToDownload):
28490        * WebProcess/Downloads/DownloadManager.h:
28491        (DownloadManager):
28492        * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
28493        (WebKit::Download::start):
28494        (WebKit::Download::startWithHandle):
28495        * WebProcess/Downloads/curl/DownloadCurl.cpp:
28496        (WebKit::Download::start):
28497        (WebKit::Download::startWithHandle):
28498        * WebProcess/Downloads/mac/DownloadMac.mm:
28499        (WebKit::Download::start):
28500        (WebKit::Download::startWithHandle):
28501        * WebProcess/Downloads/qt/DownloadQt.cpp:
28502        (WebKit::Download::start):
28503        (WebKit::Download::startWithHandle):
28504        * WebProcess/Downloads/soup/DownloadSoup.cpp:
28505        (WebKit::Download::start):
28506        (WebKit::Download::startWithHandle):
28507        * WebProcess/WebPage/WebFrame.cpp:
28508        (WebKit::WebFrame::startDownload):
28509        (WebKit::WebFrame::convertHandleToDownload):
28510        * WebProcess/WebProcess.cpp:
28511        (WebKit::WebProcess::downloadRequest):
28512
285132012-12-13  Alexey Proskuryakov  <ap@apple.com>
28514
28515        <rdar://problem/12870065> Frequent NetworkProcess crashes due to null connection when closing tabs
28516        https://bugs.webkit.org/show_bug.cgi?id=104922
28517
28518        Reviewed by Anders Carlsson.
28519
28520        Don't zero out connection pointers when a connection closes. There doesn't appear
28521        to be any reason to do this.
28522
28523        Tested by hitting breakpoints in all relevant objects destructors to confirm that
28524        this doesn't introduce leaks.
28525
28526        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
28527        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
28528        (WebKit::NetworkConnectionToWebProcess::didClose):
28529        * NetworkProcess/NetworkResourceLoader.cpp:
28530        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
28531
285322012-12-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
28533
28534        [EFL] Update the way we set the cookies policy
28535        https://bugs.webkit.org/show_bug.cgi?id=104915
28536
28537        Reviewed by Kenneth Rohde Christiansen.
28538
28539        We are mistakenly assigning the cookie policy to the persistent storage
28540        type which is not correct. This was caused by r137432 and is making
28541        the unit tests fail.
28542
28543        * UIProcess/efl/WebContextEfl.cpp:
28544        (WebKit::WebContext::platformInitializeWebProcess):
28545
285462012-12-13  Andras Becsi  <andras.becsi@digia.com>
28547
28548        [Qt][WK2] Fix painting on Mac with retina display
28549        https://bugs.webkit.org/show_bug.cgi?id=104574
28550
28551        Unreviewed, removing leftover API test.
28552
28553        This hunk somehow did not make it into the final patch.
28554
28555        * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
28556
285572012-12-13  Andras Becsi  <andras.becsi@digia.com>
28558
28559        [Qt][WK2] Fix painting on Mac with retina display
28560        https://bugs.webkit.org/show_bug.cgi?id=104574
28561
28562        Reviewed by Kenneth Rohde Christiansen.
28563
28564        Since HiDPI support has been added and enabled in Qt we ended up
28565        painting incorrectly scaled content on high-resolution screens.
28566        Because the intrinsic device pixel ratio is always taken into
28567        account by Qt when painting to high-resolution screens we should
28568        automatically obtain the scale ratio from the window in which the
28569        item is rendered instead of setting it in QML.
28570
28571        Qt does not make it possible to override the device pixel ratio
28572        of the native window, therefore our experimental QML API for setting
28573        a custom value is of no use any more and should be removed.
28574
28575        This patch fixes the scaling issue on Mac retina display by querying
28576        the underlying window for the device scale factor and applying it to
28577        the backing store and the scene-graph rendering of the content node.
28578        Additionally removes the experimental API and related API tests.
28579
28580        * UIProcess/API/qt/qquickwebpage.cpp:
28581        (QQuickWebPage::updatePaintNode):
28582        * UIProcess/API/qt/qquickwebview.cpp:
28583        (QQuickWebViewPrivate::QQuickWebViewPrivate):
28584        (QQuickWebViewLegacyPrivate::updateViewportSize):
28585        (QQuickWebViewFlickablePrivate::onComponentComplete):
28586        * UIProcess/API/qt/qquickwebview_p.h:
28587        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
28588        (tst_QQuickWebView::newWebView):
28589        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
28590        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
28591        (WebKit::CoordinatedLayerTreeHostProxy::deviceScaleFactor):
28592        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
28593        (CoordinatedLayerTreeHostProxy):
28594        * UIProcess/qt/QtWebPageSGNode.cpp:
28595        (WebKit::ContentsSGNode::ContentsSGNode):
28596        (WebKit::ContentsSGNode::render):
28597        (WebKit::ContentsSGNode::clipRect):
28598        (ContentsSGNode):
28599        (WebKit::QtWebPageSGNode::QtWebPageSGNode):
28600        (WebKit::QtWebPageSGNode::devicePixelRatio):
28601        (WebKit):
28602        (WebKit::QtWebPageSGNode::setRenderer):
28603        * UIProcess/qt/QtWebPageSGNode.h:
28604        (QtWebPageSGNode):
28605
286062012-12-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
28607
28608        [EFL] API tests failing because Vibration API is using unsigned as duration since r137410
28609        https://bugs.webkit.org/show_bug.cgi?id=104914
28610
28611        Reviewed by Kenneth Rohde Christiansen.
28612
28613        Update the tests to reflect the data type coming from WebCore.
28614
28615        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
28616        (VibrationCbData):
28617        (onVibrate):
28618
286192012-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28620
28621        [EFL][WK2] Device pixel ratio lost upon relaunch of the web process
28622        https://bugs.webkit.org/show_bug.cgi?id=104913
28623
28624        Reviewed by Simon Hausmann.
28625
28626        Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
28627        when setting the device pixel ratio to make the setting permanent and
28628        make sure it is set as part of the web process creation parameters.
28629
28630        * UIProcess/API/efl/ewk_view.cpp:
28631        (ewk_view_device_pixel_ratio_set):
28632
286332012-12-13  Jerome Pasion  <jerome.pasion@digia.com>
28634
28635        [Qt] Doc: Fixing Qt WebKit reference documentation.
28636
28637        Reviewed by Simon Hausmann.
28638
28639        Fixes:
28640        -added \module for C++ classes and \qmlmodule for QML types
28641        -added links to the Qt WebKit Examples pages
28642        -fixed the qhp settings for Qt Creator
28643
28644        Task-number: QTBUG-28583
28645        Task-number: QTBUG-28418
28646        Task-number: QTBUG-27646
28647
28648        * UIProcess/API/qt/qquickwebview.cpp:
28649
286502012-12-13  Jussi Kukkonen  <jussi.kukkonen@intel.com>
28651
28652        [EFL][GTK] Don't call deprecated g_type_init when glib => 2.35
28653        https://bugs.webkit.org/show_bug.cgi?id=103209
28654
28655        Reviewed by Kenneth Rohde Christiansen.
28656
28657        g_type_init() is deprecated from 2.35.0 onwards. Don't call it
28658        in that case to avoid warnings and/or build failure.
28659
28660        Also, remove a call to g_type_init() from WebProcessMainGtk():
28661        It is not needed if gtk_init() is called.
28662
28663        * UIProcess/API/efl/ewk_main.cpp:
28664        (ewk_init):
28665        * WebProcess/efl/WebProcessMainEfl.cpp:
28666        (WebKit::WebProcessMainEfl):
28667        * WebProcess/gtk/WebProcessMainGtk.cpp:
28668        (WebKit::WebProcessMainGtk):
28669
286702012-12-13  Joaquim Rocha  <jrocha@igalia.com>
28671
28672        REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
28673        https://bugs.webkit.org/show_bug.cgi?id=104790
28674
28675        Reviewed by Carlos Garcia Campos.
28676
28677        The cookies accept policy and the cookies persistent storage type
28678        were not being correctly assigned.
28679
28680        * UIProcess/WebContext.cpp: Set the default value of the cookie
28681        accept policy.
28682        (WebKit::WebContext::WebContext):
28683        * UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
28684        storage type (it was mistakenly assigning the policy instead) and
28685        set the accept policy which was missing.
28686        (WebKit::WebContext::platformInitializeWebProcess):
28687
286882012-12-13  Jon Lee  <jonlee@apple.com>
28689
28690        plugin snapshotting accepts bad snapshot after 5 seconds
28691        https://bugs.webkit.org/show_bug.cgi?id=104886
28692        <rdar://problem/12838753>
28693
28694        Reviewed by Maciej Stachowiak.
28695
28696        * WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.
28697
286982012-12-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
28699
28700        NetworkInfoController needs to support destructor
28701        https://bugs.webkit.org/show_bug.cgi?id=104642
28702
28703        Reviewed by Kentaro Hara.
28704
28705        Though NetworkInfoController can be referenced by each port in order to update network status change,
28706        there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
28707        controller is destroyed.
28708
28709        * UIProcess/efl/NetworkInfoProvider.cpp:
28710        (NetworkInfoProvider::networkInfoControllerDestroyed):
28711        * UIProcess/efl/NetworkInfoProvider.h:
28712        (NetworkInfoProvider):
28713        * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
28714        (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
28715        (WebKit):
28716        * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
28717        (WebNetworkInfoClient):
28718
287192012-12-12  Andy Estes  <aestes@apple.com>
28720
28721        Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
28722
28723        * WebProcess/Plugins/PDF/PDFPlugin.h:
28724
287252012-12-12  Seokju Kwon  <seokju.kwon@gmail.com>
28726
28727        [EFL] Refactor duplicate code into EflInspectorUtilities
28728        https://bugs.webkit.org/show_bug.cgi?id=104329
28729
28730        Reviewed by Kenneth Rohde Christiansen.
28731
28732        Remove duplicated work to get the resource path for inspector.
28733        And use WebCore::inspectorResourcePath().
28734
28735        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
28736        (WebKit::WebInspectorServer::platformResourceForPath):
28737        * UIProcess/efl/WebInspectorProxyEfl.cpp:
28738        (WebKit::WebInspectorProxy::inspectorBaseURL):
28739
287402012-12-12  Mark Lam  <mark.lam@apple.com>
28741
28742        Encapsulate externally used webdatabase APIs in DatabaseManager.
28743        https://bugs.webkit.org/show_bug.cgi?id=104741.
28744
28745        Reviewed by Sam Weinig.
28746
28747        Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
28748        and DatabaseContext directly. This is to prepare for upcoming webkit2
28749        refactoring.
28750
28751        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
28752        (WebKit::WebChromeClient::exceededDatabaseQuota):
28753        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
28754        (WebKit::WebDatabaseManager::initialize):
28755        (WebKit::WebDatabaseManager::WebDatabaseManager):
28756        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
28757        (WebKit::WebDatabaseManager::getDatabaseOrigins):
28758        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
28759        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
28760        (WebKit::WebDatabaseManager::deleteAllDatabases):
28761        (WebKit::WebDatabaseManager::setQuotaForOrigin):
28762        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
28763        (WebDatabaseManager):
28764        * WebProcess/WebPage/WebPage.cpp:
28765        (WebKit::WebPage::updatePreferences):
28766
287672012-12-12  Alexey Proskuryakov  <ap@apple.com>
28768
28769        <rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
28770        https://bugs.webkit.org/show_bug.cgi?id=104844
28771
28772        Reviewed by Sam Weinig.
28773
28774        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
28775        (WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
28776        canceled.
28777
28778        * WebProcess/Network/WebResourceLoader.cpp:
28779        (WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.
28780
287812012-12-12  Andras Becsi  <andras.becsi@digia.com>
28782
28783        [Qt][WK2] Fix the build on Mac
28784
28785        Unreviewed build fix.
28786
28787        Add missing virtual destructor with empty
28788        definition to fix missing vtable error
28789        in test util's LoadStartedCatcher.
28790
28791        * UIProcess/API/qt/tests/util.h:
28792        (LoadStartedCatcher::~LoadStartedCatcher):
28793
287942012-12-12  Alexey Proskuryakov  <ap@apple.com>
28795
28796        Make LOG() work in WebProcess and NetworkProcess
28797        https://bugs.webkit.org/show_bug.cgi?id=104718
28798
28799        Reviewed by Tim Horton.
28800
28801        * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
28802        Initialize WebCore and WebKit2 logging.
28803
28804        * Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
28805        Added Network and NetworkScheduling. Re-ordered to match declaration order,
28806        alphabetical clearly doesn't help here.
28807
28808        * WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
28809        logging in addition to WebCore.
28810
28811        * UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
28812        logging in addition to WebCore.
28813
288142012-12-12  Simon Pena  <spena@igalia.com>
28815
28816        [GTK] Add sections documentation to WebKit2 GTK+ API
28817        https://bugs.webkit.org/show_bug.cgi?id=104484
28818
28819        Reviewed by Martin Robinson.
28820
28821        Many of the sections in the WebKit2 GTK+ API documentation were
28822        missing. This commit adds new documentation, in some cases
28823        adapting it from WebKitGtk+ and in others writing it from the
28824        scratch.
28825
28826        It also removes the WebKitWebViewBase class from the documentation
28827        index, since it is not really relevant.
28828
28829        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
28830        * UIProcess/API/gtk/WebKitContextMenu.cpp:
28831        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
28832        * UIProcess/API/gtk/WebKitCookieManager.cpp:
28833        * UIProcess/API/gtk/WebKitDownload.cpp:
28834        * UIProcess/API/gtk/WebKitError.cpp:
28835        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
28836        * UIProcess/API/gtk/WebKitFindController.cpp:
28837        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
28838        * UIProcess/API/gtk/WebKitPlugin.cpp:
28839        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
28840        * UIProcess/API/gtk/WebKitSecurityManager.cpp:
28841        * UIProcess/API/gtk/WebKitURIRequest.cpp:
28842        * UIProcess/API/gtk/WebKitURIResponse.cpp:
28843        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
28844        * UIProcess/API/gtk/WebKitVersion.cpp:
28845        * UIProcess/API/gtk/WebKitWebContext.cpp:
28846        * UIProcess/API/gtk/WebKitWebInspector.cpp:
28847        * UIProcess/API/gtk/WebKitWebResource.cpp:
28848        (webkit_web_resource_class_init):
28849        * UIProcess/API/gtk/WebKitWebView.cpp:
28850        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
28851
288522012-12-12  Kondapally Kalyan  <kalyan.kondapally@intel.com>
28853
28854        [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
28855        https://bugs.webkit.org/show_bug.cgi?id=104535.
28856
28857        Reviewed by Kenneth Rohde Christiansen.
28858
28859        GraphicsContext3DEfl does not re-create the surface on canvas resize, this
28860        conflicted with the logic in coordinated graphics Layer.
28861        CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
28862        in UI-Process should be recreated or not. With this
28863        patch we also check for size of the platform Layer.
28864
28865        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
28866        (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
28867        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
28868        (CoordinatedGraphicsLayer):
28869
288702012-12-12  Sheriff Bot  <webkit.review.bot@gmail.com>
28871
28872        Unreviewed, rolling out r137438.
28873        http://trac.webkit.org/changeset/137438
28874        https://bugs.webkit.org/show_bug.cgi?id=104798
28875
28876        assertion reached when removing tile (Requested by tmpsantos
28877        on #webkit).
28878
28879        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
28880        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
28881        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
28882        (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
28883        (WebCore::CoordinatedGraphicsLayer::setContentsScale):
28884        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
28885        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
28886        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
28887        (WebCore::CoordinatedGraphicsLayer::createTile):
28888        (WebCore::CoordinatedGraphicsLayer::updateTile):
28889        (WebCore::CoordinatedGraphicsLayer::removeTile):
28890        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
28891        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
28892        (WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
28893        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
28894        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
28895        (CoordinatedGraphicsLayerClient):
28896        (CoordinatedGraphicsLayer):
28897        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
28898        (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
28899        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
28900        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
28901        (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
28902        (WebKit):
28903        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
28904        (CoordinatedLayerTreeHost):
28905
289062012-12-12  Mario Sanchez Prada  <mario@webkit.org>
28907
28908        [GTK][WK2] New API to detect display/execution of insecure content
28909        https://bugs.webkit.org/show_bug.cgi?id=104578
28910
28911        Reviewed by Martin Robinson.
28912
28913        Added new API and documentation for detecting insecure content.
28914
28915        Implemented needed functions from C API's WKPageLoaderClient
28916
28917        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
28918        (didDisplayInsecureContentForFrame): Implemented.
28919        (didRunInsecureContentForFrame): Ditto.
28920        (attachLoaderClientToView): Added newly implemented functions.
28921
28922        Added new 'insecure-content-detected' signal to API.
28923
28924        * UIProcess/API/gtk/WebKitWebView.cpp:
28925        (webkit_web_view_class_init): Installed new signal.
28926        (webkitWebViewInsecureContentDetected): Helper function aded to
28927        private API to emit the new signal from the page loader client.
28928        * UIProcess/API/gtk/WebKitWebView.h:
28929        (_WebKitWebViewClass): Added new signal.
28930
28931        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
28932        new helper function webkitWebViewInsecureContentDetected().
28933
28934        Added new unit tests.
28935
28936        * UIProcess/API/gtk/tests/TestSSL.cpp:
28937        (testSSL): Updated to the new variable name for the https server.
28938        (testInsecureContent): New unit test.
28939        (httpsServerCallback): Renamed from serverCallback() and updated
28940        to return HTML content linking to external resources in an
28941        insecure (plain http) server, to be used by the new test.
28942        (httpServerCallback): New callback for a new http server, that
28943        will serve a script and an image when requested.
28944        (beforeAll): Run the new http server, besides the https one.
28945        (afterAll): Delete both the http and the https server.
28946
28947        Updated documentation with new API.
28948
28949        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
28950        to the new WebKitInsecureContentEvent enum type.
28951
289522012-12-12  Huang Dongsung  <luxtella@company100.net>
28953
28954        Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
28955        https://bugs.webkit.org/show_bug.cgi?id=103959
28956
28957        Reviewed by Kenneth Rohde Christiansen.
28958
28959        Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
28960        It has two problem.
28961        1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
28962        TiledBackingStore from asynchronously sending UpdateTile message to UI
28963        Process.
28964        2. CreateTile and RemoveTile message can be sent to UI Process at any time.
28965
28966        This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
28967        It means only during flushing layer states, CoordinatedGraphicsLayer
28968        calls methods of TiledBackingStore, which indirectly call createTile(),
28969        updateTile() and removeTile().
28970
28971        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
28972        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
28973        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
28974        (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
28975        (WebCore::CoordinatedGraphicsLayer::setContentsScale):
28976        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
28977        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
28978        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
28979        (WebCore::CoordinatedGraphicsLayer::createTile):
28980        (WebCore::CoordinatedGraphicsLayer::updateTile):
28981        (WebCore::CoordinatedGraphicsLayer::removeTile):
28982        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
28983        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
28984        (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
28985        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
28986        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
28987        (CoordinatedGraphicsLayerClient):
28988        (CoordinatedGraphicsLayer):
28989        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
28990        (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
28991        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
28992        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
28993        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
28994        (CoordinatedLayerTreeHost):
28995
289962012-12-12  Joaquim Rocha  <jrocha@igalia.com>
28997
28998        [GTK] Cookies' storage path and policy are not set when the WebProcess is killed and relaunched
28999        https://bugs.webkit.org/show_bug.cgi?id=104370
29000
29001        Reviewed by Carlos Garcia Campos.
29002
29003        This issue happens on ports that use Soup and causes problems like not finding the stored cookies
29004        nor their policy when the WebProcess is relaunched. As an example of a problem caused by this,
29005        a previously logged in user will not be logged in again when the process is relaunched and the
29006        policy used is always the same one.
29007
29008        * Shared/WebProcessCreationParameters.cpp:
29009        (WebKit::WebProcessCreationParameters::encode): Encode cookies' persistent storage path,
29010        storage type and acceptance policy.
29011        (WebKit::WebProcessCreationParameters::decode): Decode cookies' persistent storage path,
29012        storage type and acceptance policy.
29013        * Shared/WebProcessCreationParameters.h: Create 3 variables to hold the values mentioned above.
29014        (WebProcessCreationParameters):
29015        * UIProcess/WebCookieManagerProxy.cpp:
29016        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
29017        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Call WebCookieManagerProxySoup::setCookieAcceptPolicy.
29018        * UIProcess/WebCookieManagerProxy.h: Declare new Soup's methods setCookieAcceptPolicy, cookieAcceptPolicy and
29019        cookiePersistentStorage as well as the variables m_cookieAcceptPolicy and m_cookiePersistentStorage.
29020        (WebCookieManagerProxy):
29021        * UIProcess/efl/WebContextEfl.cpp: Assign the parameters' cookiePersistentStoragePath and
29022        cookiePersistentStorageType with the respective values.
29023        (WebKit::WebContext::platformInitializeWebProcess):
29024        * UIProcess/gtk/WebContextGtk.cpp: Assign the parameters' cookiePersistentStoragePath and
29025        cookiePersistentStorageType with the respective values.
29026        (WebKit::WebContext::platformInitializeWebProcess):
29027        * UIProcess/soup/WebCookieManagerProxySoup.cpp:
29028        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Assign the m_cookiePersistentStorage pair
29029        with the method's parameters.
29030        (WebKit):
29031        (WebKit::WebCookieManagerProxy::getCookiePersistentStorage): Implement this getter.
29032        * WebProcess/Cookies/WebCookieManager.h: Declare setCookiePersistentStorage.
29033        (WebCookieManager):
29034        * WebProcess/soup/WebProcessSoup.cpp:
29035        (WebKit::WebProcess::platformInitializeWebProcess): Set the cookies' persistent storage and policy
29036        using the WebCookieManager's methods.
29037
290382012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
29039
29040        [EFL][WK2] Duplicated WebPageGroup initialization
29041        https://bugs.webkit.org/show_bug.cgi?id=103229
29042
29043        Reviewed by Kenneth Rohde Christiansen.
29044
29045        WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
29046        because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
29047
29048        As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
29049        is created with default context.
29050
29051        * UIProcess/API/efl/ewk_view.cpp:
29052        (createEwkView):
29053
290542012-12-11  Sam Weinig  <sam@webkit.org>
29055
29056        Add API to set the maximum number of processes allowed in a WKContext
29057        https://bugs.webkit.org/show_bug.cgi?id=104769
29058
29059        Reviewed by Dan Bernstein.
29060
29061        Switch from using NSUserDefaults to a WKContext API to set the maximum number of processes
29062        for a context.
29063
29064        * UIProcess/API/C/WKContext.cpp:
29065        (WKContextSetMaximumNumberOfProcesses):
29066        (WKContextGetMaximumNumberOfProcesses):
29067        * UIProcess/API/C/WKContext.h:
29068        * UIProcess/WebContext.cpp:
29069        (WebKit::WebContext::setMaximumNumberOfProcesses):
29070        (WebKit):
29071        * UIProcess/WebContext.h:
29072        (WebContext):
29073        (WebKit::WebContext::maximumNumberOfProcesses):
29074        * UIProcess/mac/WebContextMac.mm:
29075        (WebKit::registerUserDefaultsIfNeeded):
29076        (WebKit::WebContext::platformInitialize):
29077
290782012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
29079
29080        Vibration API: IDL type doesn't match implementation type
29081        https://bugs.webkit.org/show_bug.cgi?id=103899
29082
29083        Reviewed by Kentaro Hara.
29084
29085        According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
29086        Therefore unsigned long need to be changed to unsigned for the Vibration API.
29087        - Change a parameter type of vibrate function from uint64_t to uint_32_t.
29088
29089        * UIProcess/API/C/WKVibration.h:
29090        * UIProcess/API/efl/EwkViewCallbacks.h:
29091        * UIProcess/WebVibrationProvider.cpp:
29092        (WebKit::WebVibrationProvider::vibrate):
29093        * UIProcess/WebVibrationProvider.h:
29094        (WebVibrationProvider):
29095        * UIProcess/WebVibrationProxy.cpp:
29096        (WebKit::WebVibrationProxy::vibrate):
29097        * UIProcess/WebVibrationProxy.h:
29098        (WebVibrationProxy):
29099        * UIProcess/WebVibrationProxy.messages.in:
29100        * UIProcess/efl/VibrationClientEfl.cpp:
29101        (VibrationClientEfl::vibrateCallback):
29102        * UIProcess/efl/VibrationClientEfl.h:
29103        (VibrationClientEfl):
29104        * WebProcess/WebCoreSupport/WebVibrationClient.cpp:
29105        (WebKit::WebVibrationClient::vibrate):
29106        * WebProcess/WebCoreSupport/WebVibrationClient.h:
29107        (WebVibrationClient):
29108
291092012-12-11  Alexey Proskuryakov  <ap@apple.com>
29110
29111        <rdar://problem/12857870> [WK2 NetworkProcess] Cannot load HTTPS sites
29112        https://bugs.webkit.org/show_bug.cgi?id=104732
29113
29114        Reviewed by Anders Carlsson.
29115
29116        * Shared/BlockingResponseMap.h: (BlockingBoolResponseMap::waitForResponse):
29117        Fixed to make sense.
29118
291192012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
29120
29121        Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
29122        https://bugs.webkit.org/show_bug.cgi?id=104714
29123
29124        Reviewed by Eric Seidel.
29125
29126        Export symbol Page::mainThreadScrollingReasonsAsText().
29127
29128        * win/WebKit2.def.in:
29129
291302012-12-11  Gwang Yoon Hwang  <ryumiel@company100.net>
29131
29132        Coordinated Graphics: Rename LayerTreeCoordinator to CoordinatedLayerTreeHost
29133        https://bugs.webkit.org/show_bug.cgi?id=104641
29134
29135        Reviewed by Noam Rosenthal.
29136
29137        The name of LayerTreeCoordinator does not match LayerTreeHost.  This
29138        patch renames it to CoordinatedLayerTreeHost. And make a getter for
29139        CoordinatedLayerTreeHostProxy in QQuickWebPagePrivate to make a cleaner code.
29140
29141        No new tests - just a refactoring.
29142
29143        * CMakeLists.txt:
29144        * DerivedSources.pri:
29145        * Platform/CoreIPC/MessageID.h:
29146        * Target.pri:
29147        * UIProcess/API/efl/EwkViewImpl.cpp:
29148        (EwkViewImpl::layerTreeRenderer):
29149        * UIProcess/API/qt/qquickwebpage.cpp:
29150        (QQuickWebPagePrivate::paint):
29151        (QQuickWebPagePrivate::coordinatedLayerTreeHostProxy):
29152        (QQuickWebPage::updatePaintNode):
29153        (QQuickWebPagePrivate::updateSize):
29154        * UIProcess/API/qt/qquickwebpage_p_p.h:
29155        (WebKit):
29156        (QQuickWebPagePrivate):
29157        * UIProcess/API/qt/raw/qrawwebview.cpp:
29158        (QRawWebView::setSize):
29159        (QRawWebView::layerTreeRenderer):
29160        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp.
29161        (WebKit):
29162        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
29163        (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
29164        (WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
29165        (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
29166        (WebKit::CoordinatedLayerTreeHostProxy::createTileForLayer):
29167        (WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
29168        (WebKit::CoordinatedLayerTreeHostProxy::removeTileForLayer):
29169        (WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
29170        (WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
29171        (WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayer):
29172        (WebKit::CoordinatedLayerTreeHostProxy::setRootCompositingLayer):
29173        (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerState):
29174        (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerChildren):
29175        (WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerFilters):
29176        (WebKit::CoordinatedLayerTreeHostProxy::removeCustomFilterProgram):
29177        (WebKit::CoordinatedLayerTreeHostProxy::createCustomFilterProgram):
29178        (WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
29179        (WebKit::CoordinatedLayerTreeHostProxy::createImageBacking):
29180        (WebKit::CoordinatedLayerTreeHostProxy::updateImageBacking):
29181        (WebKit::CoordinatedLayerTreeHostProxy::clearImageBackingContents):
29182        (WebKit::CoordinatedLayerTreeHostProxy::removeImageBacking):
29183        (WebKit::CoordinatedLayerTreeHostProxy::setContentsSize):
29184        (WebKit::CoordinatedLayerTreeHostProxy::setLayerAnimations):
29185        (WebKit::CoordinatedLayerTreeHostProxy::setAnimationsLocked):
29186        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
29187        (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
29188        (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
29189        (WebKit::CoordinatedLayerTreeHostProxy::animationFrameReady):
29190        (WebKit::CoordinatedLayerTreeHostProxy::didChangeScrollPosition):
29191        (WebKit::CoordinatedLayerTreeHostProxy::createCanvas):
29192        (WebKit::CoordinatedLayerTreeHostProxy::syncCanvas):
29193        (WebKit::CoordinatedLayerTreeHostProxy::destroyCanvas):
29194        (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
29195        (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
29196        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h.
29197        (WebKit):
29198        (CoordinatedLayerTreeHostProxy):
29199        (WebKit::CoordinatedLayerTreeHostProxy::layerTreeRenderer):
29200        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in.
29201        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
29202        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
29203        (WebKit::LayerTreeRenderer::animationFrameReady):
29204        (WebKit::LayerTreeRenderer::updateViewport):
29205        (WebKit::LayerTreeRenderer::renderNextFrame):
29206        (WebKit::LayerTreeRenderer::purgeBackingStores):
29207        (WebKit::LayerTreeRenderer::detach):
29208        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
29209        (WebKit):
29210        (LayerTreeRenderer):
29211        * UIProcess/DrawingAreaProxy.cpp:
29212        (WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
29213        * UIProcess/DrawingAreaProxy.h:
29214        (WebKit):
29215        (WebKit::DrawingAreaProxy::coordinatedLayerTreeHostProxy):
29216        (DrawingAreaProxy):
29217        * UIProcess/DrawingAreaProxyImpl.cpp:
29218        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
29219        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
29220        (WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
29221        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
29222        * UIProcess/DrawingAreaProxyImpl.h:
29223        (WebKit):
29224        * UIProcess/WebPageProxy.cpp:
29225        (WebKit::WebPageProxy::didReceiveMessage):
29226        * UIProcess/efl/PageClientBase.cpp:
29227        * UIProcess/efl/PageClientLegacyImpl.cpp:
29228        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
29229        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
29230        (WebKit::PageViewportControllerClientEfl::setRendererActive):
29231        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
29232        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
29233        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp.
29234        (WebKit):
29235        (WebKit::CoordinatedLayerTreeHost::create):
29236        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
29237        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
29238        (WebKit::CoordinatedLayerTreeHost::setLayerFlushSchedulingEnabled):
29239        (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
29240        (WebKit::CoordinatedLayerTreeHost::cancelPendingLayerFlush):
29241        (WebKit::CoordinatedLayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush):
29242        (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
29243        (WebKit::CoordinatedLayerTreeHost::invalidate):
29244        (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
29245        (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
29246        (WebKit::CoordinatedLayerTreeHost::forceRepaint):
29247        (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
29248        (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
29249        (WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
29250        (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
29251        (WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
29252        (WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
29253        (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
29254        (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
29255        (WebKit::CoordinatedLayerTreeHost::syncLayerState):
29256        (WebKit::CoordinatedLayerTreeHost::syncLayerChildren):
29257        (WebKit::CoordinatedLayerTreeHost::createCanvas):
29258        (WebKit::CoordinatedLayerTreeHost::syncCanvas):
29259        (WebKit::CoordinatedLayerTreeHost::destroyCanvas):
29260        (WebKit::CoordinatedLayerTreeHost::syncLayerFilters):
29261        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
29262        (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
29263        (WebKit::CoordinatedLayerTreeHost::disconnectCustomFilterPrograms):
29264        (WebKit::CoordinatedLayerTreeHost::detachLayer):
29265        (WebKit::updateOffsetFromViewportForSelf):
29266        (WebKit::updateOffsetFromViewportForLayer):
29267        (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
29268        (WebKit::CoordinatedLayerTreeHost::lockAnimations):
29269        (WebKit::CoordinatedLayerTreeHost::unlockAnimations):
29270        (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
29271        (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
29272        (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
29273        (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
29274        (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
29275        (WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer):
29276        (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
29277        (WebKit::CoordinatedLayerTreeHost::createImageBacking):
29278        (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
29279        (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
29280        (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
29281        (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
29282        (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
29283        (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
29284        (WebKit::CoordinatedLayerTreeHost::paintContents):
29285        (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
29286        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
29287        (WebKit::CoordinatedLayerTreeHost::createTile):
29288        (WebKit::CoordinatedLayerTreeHost::updateTile):
29289        (WebKit::CoordinatedLayerTreeHost::removeTile):
29290        (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
29291        (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
29292        (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
29293        (WebKit::CoordinatedLayerTreeHost::setLayerAnimations):
29294        (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
29295        (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
29296        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
29297        (WebKit::CoordinatedLayerTreeHost::animationFrameReady):
29298        (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
29299        (WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
29300        (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
29301        (WebKit::CoordinatedLayerTreeHost::beginContentUpdate):
29302        (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
29303        (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
29304        (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
29305        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h.
29306        (WebKit):
29307        (CoordinatedLayerTreeHost):
29308        (WebKit::CoordinatedLayerTreeHost::layerTreeContext):
29309        (WebKit::CoordinatedLayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
29310        (WebKit::CoordinatedLayerTreeHost::pauseRendering):
29311        (WebKit::CoordinatedLayerTreeHost::resumeRendering):
29312        (WebKit::CoordinatedLayerTreeHost::deviceScaleFactorDidChange):
29313        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in.
29314        * WebProcess/WebPage/DrawingArea.h:
29315        (DrawingArea):
29316        * WebProcess/WebPage/DrawingAreaImpl.cpp:
29317        (WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
29318        * WebProcess/WebPage/DrawingAreaImpl.h:
29319        (DrawingAreaImpl):
29320        * WebProcess/WebPage/LayerTreeHost.cpp:
29321        (WebKit::LayerTreeHost::create):
29322        * WebProcess/WebPage/LayerTreeHost.h:
29323        (LayerTreeHost):
29324        * WebProcess/WebPage/WebPage.cpp:
29325        (WebKit::WebPage::WebPage):
29326        (WebKit::WebPage::~WebPage):
29327        (WebKit::WebPage::didReceiveMessage):
29328
293292012-12-11  Alexey Proskuryakov  <ap@apple.com>
29330
29331        <rdar://problem/12857080> Per-Tab WebProcess: Blue lines between menu tabs at apple.com
29332        https://bugs.webkit.org/show_bug.cgi?id=104709
29333
29334        Reviewed by Sam Weinig.
29335
29336        Data URLs were broken. Removing a no longer valid optimization for now.
29337
29338        * WebProcess/Network/WebResourceLoadScheduler.cpp:
29339        (WebKit::WebResourceLoadScheduler::scheduleLoad):
29340
293412012-12-11  Michael Pruett  <michael@68k.org>
29342
29343        [JSC] Add tests for explicit serialization values
29344        https://bugs.webkit.org/show_bug.cgi?id=104423
29345
29346        Reviewed by Oliver Hunt.
29347
29348        Add tests for serialization and deserialization mechanisms of
29349        the JSC implementation of SerializedScriptValue. Similar tests
29350        already exist for the V8 implementation.
29351
29352        * win/WebKit2.def.in:
29353
293542012-12-11  Jon Lee  <jonlee@apple.com>
29355
29356        Initialize new web processes with list of auto-start origins for plug-ins
29357        https://bugs.webkit.org/show_bug.cgi?id=103219
29358        <rdar://problem/12747219>
29359
29360        Reviewed by Anders Carlsson.
29361
29362        Serialize the set of hashes into a vector as a parameter in web process creation.
29363
29364        * Shared/WebProcessCreationParameters.h: Add a parameter for the origin hashes.
29365
29366        * Shared/WebProcessCreationParameters.cpp: Encode/decode that parameter.
29367        (WebKit::WebProcessCreationParameters::encode):
29368        (WebKit::WebProcessCreationParameters::decode):
29369
29370        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
29371        (WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Return a vector copy with contents from the
29372        hash set.
29373        * UIProcess/Plugins/PlugInAutoStartProvider.h:
29374        (PlugInAutoStartProvider):
29375
29376        * UIProcess/WebContext.cpp:
29377        (WebKit::WebContext::createNewWebProcess): Populate the parameter with the contents of the set.
29378        * WebProcess/WebProcess.cpp:
29379        (WebKit::WebProcess::initializeWebProcess): Add the items in the vector to the web process' copy of the set.
29380
293812012-12-11  Andreas Kling  <akling@apple.com>
29382
29383        CoreIPC: ArgumentEncoder should have an inline buffer.
29384        <http://webkit.org/b/104622>
29385
29386        Reviewed by Anders Carlsson.
29387
29388        Add a 4K inline buffer to CoreIPC::ArgumentEncoder to avoid malloc/free churn.
29389        It was dominating the transient allocations graph in Instruments.
29390
29391        * Platform/CoreIPC/ArgumentEncoder.cpp:
29392        (CoreIPC::ArgumentEncoder::ArgumentEncoder):
29393        (CoreIPC::ArgumentEncoder::grow):
29394        * Platform/CoreIPC/ArgumentEncoder.h:
29395        (CoreIPC::ArgumentEncoder::buffer):
29396        (ArgumentEncoder):
29397        (CoreIPC::ArgumentEncoder::usesInlineBuffer):
29398
293992012-12-11  Mike West  <mkwst@chromium.org>
29400
29401        Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
29402        https://bugs.webkit.org/show_bug.cgi?id=66371
29403
29404        Reviewed by Pavel Feldman.
29405
29406        Drops WebCore::MessageLevel from the addMessageToConsole method.
29407
29408        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
29409        (WebKit::WebChromeClient::addMessageToConsole):
29410        * WebProcess/WebCoreSupport/WebChromeClient.h:
29411        (WebChromeClient):
29412
294132012-12-11  Thiago Marcos P. Santos  <thiago.santos@intel.com>
29414
29415        [EFL] Increase the timeout of the API unit tests
29416        https://bugs.webkit.org/show_bug.cgi?id=104666
29417
29418        Reviewed by Kenneth Rohde Christiansen.
29419
29420        Palliative fix until we find out why the tests are taking so long.
29421
29422        * PlatformEfl.cmake:
29423
294242012-12-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29425
29426        [Qt][EFL][WK2] Resizing the window doesn't always result in right content position
29427        https://bugs.webkit.org/show_bug.cgi?id=104416
29428
29429        Reviewed by Simon Hausmann.
29430
29431        Make sure the client is notified about position and scale changed done by us.
29432        Rename the m_*IsLocked to m_pending*Change as that makes the code more obvious.
29433
29434        Patch verified with both Qt and EFL.
29435
29436        * UIProcess/PageViewportController.cpp:
29437        (WebKit::PageViewportController::PageViewportController):
29438        (WebKit::PageViewportController::didRenderFrame): Notify client and pixel align.
29439        (WebKit::PageViewportController::didChangeContentsVisibility):
29440        (WebKit::PageViewportController::didChangeViewportAttributes):
29441        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
29442        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
29443        * UIProcess/PageViewportController.h:
29444        (PageViewportController):
29445
294462012-12-11  Christophe Dumez  <christophe.dumez@intel.com>
29447
29448        [CoordinatedGraphics] Use unsigned integers for UpdateAtlas IDs
29449        https://bugs.webkit.org/show_bug.cgi?id=104654
29450
29451        Reviewed by Kenneth Rohde Christiansen.
29452
29453        UpdateAtlas currently uses *signed* integer type for its identifier.
29454        Due to the way we generate those IDs, it is safer to use *unsigned*
29455        integers. This is because the generated ID will overflow at some
29456        point and the C and C++ language standards say that overflow of a
29457        signed value is undefined behaviour.
29458
29459        This patch switches to unsigned integer type for UpdateAtlas IDs
29460        since unsigned integers are guaranteed to wrap around on overflow.
29461
29462        * Shared/SurfaceUpdateInfo.h:
29463        (SurfaceUpdateInfo):
29464        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
29465        (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
29466        (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
29467        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
29468        (LayerTreeCoordinatorProxy):
29469        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
29470        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
29471        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
29472        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
29473        (CoordinatedGraphicsLayerClient):
29474        (CoordinatedGraphicsLayer):
29475        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
29476        (CoordinatedTileClient):
29477        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
29478        (WebKit::LayerTreeCoordinator::createUpdateAtlas):
29479        (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
29480        (WebKit::LayerTreeCoordinator::beginContentUpdate):
29481        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
29482        (LayerTreeCoordinator):
29483        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
29484        (WebKit::UpdateAtlas::UpdateAtlas):
29485        (WebKit::UpdateAtlas::~UpdateAtlas):
29486        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
29487        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
29488        (UpdateAtlasClient):
29489        (UpdateAtlas):
29490
294912012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
29492
29493        [EFL][WK2] Create a ewk view object with new context for API tests
29494        https://bugs.webkit.org/show_bug.cgi?id=103692
29495
29496        Reviewed by Gyuyoung Kim. 
29497
29498        Bug 103229 fixes the issue which PageGroupID increased even though
29499        the EwkView was created with default context. If the Bug 103229 is
29500        resolved, the EwkViews with same context will have same setting preferences.
29501
29502        Currently, WebKit2/EFL API test is creating the ewk view object
29503        with the default context so the setting values set previously may
29504        influence the following tests. So this patch created a ewk view object
29505        with a new context instead of default one.
29506
29507        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
29508        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
29509
295102012-12-10  Dan Winship  <danw@gnome.org>
29511
29512        [Soup] Fix spelling of "initiating" in API.
29513
29514        Reviewed by Martin Robinson.
29515
29516        * WebProcess/soup/WebSoupRequestManager.cpp:
29517        (WebKit::WebSoupRequestManager::send):
29518
295192012-12-10  Alexey Proskuryakov  <ap@apple.com>
29520
29521        [WK2] Add a user default to limit the number of web processes
29522        https://bugs.webkit.org/show_bug.cgi?id=104606
29523
29524        Reviewed by Sam Weinig.
29525
29526        When the limit is reached, we'll reuse an existing process with fewest pages.
29527
29528        * UIProcess/WebContext.cpp:
29529        (WebKit::WebContext::WebContext): Initialize m_webProcessCountLimit.
29530        (WebKit::WebContext::platformInitialize): Added a hook for reading the preference,
29531        empty implementation on most platforms.
29532        (WebKit::WebContext::createNewWebProcess): Changed to return a raw pointer. The new
29533        process is put into a vector anyway, so there is no ownership transfer.
29534        (WebKit::WebContext::warmInitialProcess): Don't create a new process if that would
29535        exceed the limit.
29536        (WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit): Added a new
29537        function that wither creates a new process, or picks an existing one.
29538        (WebKit::WebContext::createWebPage): Call the above new function instead of
29539        unconditionally creating a process.
29540
29541        * UIProcess/WebContext.h: createNewWebProcess is no private. All clients should
29542        respect the process count limit.
29543
29544        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
29545        Respect the process count limit.
29546
29547        * UIProcess/mac/WebContextMac.mm:
29548        (WebKit::registerUserDefaultsIfNeeded): Register the new default.
29549        (WebKit::WebContext::platformInitialize): Read the default into a WebContext
29550        member variable.
29551        (WebKit::WebContext::platformInitializeWebProcess): Moved registerUserDefaultsIfNeeded()
29552        from here to platformInitialize(), as that's a better place for it. Also added a
29553        FIXME for an unrelated issue.
29554
295552012-12-10  Jon Lee  <jonlee@apple.com>
29556
29557        Build fix.
29558
29559        * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
29560        (WebKit::WebPlugInClient::WebPlugInClient): Remove unneeded m_page variable.
29561        * WebProcess/WebCoreSupport/WebPlugInClient.h:
29562        (WebPlugInClient):
29563
295642012-12-10  Jon Lee  <jonlee@apple.com>
29565
29566        Keep track of plug-in snapshots clicked by user
29567        https://bugs.webkit.org/show_bug.cgi?id=103206
29568        <rdar://problem/12746483>
29569
29570        Reviewed by Anders Carlsson.
29571
29572        Create a new provider class for the web context that maintains a mapping of the plug-in origins
29573        allowed to auto-start for a specific page origin.
29574
29575        * WebProcess/WebPage/WebPage.cpp:
29576        (WebKit::WebPage::WebPage): Create and set WebPlugInClient.
29577
29578        Implement WebCore::PlugInClient.
29579        * WebProcess/WebCoreSupport/WebPlugInClient.cpp: Added.
29580        (WebKit::WebPlugInClient::WebPlugInClient):
29581        (WebKit::WebPlugInClient::~WebPlugInClient):
29582        (WebKit::WebPlugInClient::pageDestroyed):
29583        (WebKit::WebPlugInClient::isAutoStartOrigin): Forward to WebProcess.
29584        (WebKit::WebPlugInClient::addAutoStartOrigin): Forward to WebProcess.
29585        * WebProcess/WebCoreSupport/WebPlugInClient.h: Added.
29586
29587        * WebProcess/WebProcess.cpp: Maintains a copy of the hash set.
29588        (WebKit::WebProcess::isPlugInAutoStartOrigin): Look for the hash in the set.
29589        (WebKit::WebProcess::addPlugInAutoStartOrigin): Tell the UI process to add the hash for the page.
29590        (WebKit::WebProcess::didAddPlugInAutoStartOrigin): Add the hash to the cached set.
29591        * WebProcess/WebProcess.h:
29592        * WebProcess/WebProcess.messages.in: Add DidAddPlugInAutoStartOrigin.
29593
29594        Add the auto-start provider.
29595        * UIProcess/WebContext.cpp:
29596        (WebKit::WebContext::WebContext): Initialize the provider.
29597        (WebKit::WebContext::addPlugInAutoStartOriginHash): Forward to the provider.
29598        * UIProcess/WebContext.h:
29599        * UIProcess/WebContext.messages.in: Add AddPlugInAutoStartOriginHash.
29600
29601        The provider class maintains a map of page domains to hashes, and a set of all the hashes.
29602        The latter will be used to initialize new web processes without having to crawl through the
29603        whole map.
29604        * UIProcess/Plugins/PlugInAutoStartProvider.cpp: Added.
29605        (WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
29606        (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Add the origin to the map and set. Tell
29607        all processes to add the origin to their local copies.
29608        * UIProcess/Plugins/PlugInAutoStartProvider.h: Added.
29609
29610        Add PlugInAutoStartProvider and WebPlugInClient.
29611        * CMakeLists.txt:
29612        * GNUmakefile.list.am:
29613        * Target.pri:
29614        * WebKit2.xcodeproj/project.pbxproj:
29615        * win/WebKit2.vcproj:
29616
296172012-12-10  Anders Carlsson  <andersca@apple.com>
29618
29619        Add WKPageSetInvalidMessageFunction stub
29620        https://bugs.webkit.org/show_bug.cgi?id=104614
29621        <rdar://problem/12841671>
29622
29623        Reviewed by Mark Rowe.
29624
29625        * UIProcess/API/C/WKPage.cpp:
29626        (WKPageSetInvalidMessageFunction):
29627        * UIProcess/API/C/WKPagePrivate.h:
29628
296292012-12-09  Antti Koivisto  <antti@apple.com>
29630
29631        Factor node traversal into standalone functions
29632        https://bugs.webkit.org/show_bug.cgi?id=104507
29633
29634        Reviewed by Eric Seidel.
29635
29636        * WebProcess/WebPage/WebFrame.cpp:
29637        (WebKit::WebFrame::containsAnyFormElements):
29638
296392012-12-10  Eduardo Lima Mitev  <elima@igalia.com>
29640
29641        [GTK] Expose HitTestResult::scrollbar() condition in API
29642        https://bugs.webkit.org/show_bug.cgi?id=104369
29643
29644        Reviewed by Carlos Garcia Campos.
29645
29646        This patch populates WebCore::HitTestResult::scrollbar() condition
29647        in WebKitHitTestResult public API, and includes a corresponding unit
29648        test.
29649
29650        * Shared/WebHitTestResult.cpp: Adds new isScrollbar member to
29651        encoding and decoding methods to carry the scrollbar condition
29652        from Web process to UI process.
29653        (WebKit::WebHitTestResult::Data::encode):
29654        (WebKit::WebHitTestResult::Data::decode):
29655        * Shared/WebHitTestResult.h:
29656        (Data): Adds new bool member isScrollbar.
29657        (WebKit::WebHitTestResult::Data::Data): Initializes isScrollbar from
29658        WebCore::HitTestResult::scrollbar().
29659        (WebKit::WebHitTestResult::isScrollbar): Method that returns value
29660        of isScrollbar member.
29661        (WebHitTestResult):
29662        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
29663        (webkitHitTestResultCreate): Adds scrollbar condition to context upon
29664        initialization.
29665        (webkitHitTestResultCompare): Adds comparison of scrollbar condition.
29666        (webkit_hit_test_result_context_is_scrollbar): Public accessor for
29667        scrollbar presence in context.
29668        * UIProcess/API/gtk/WebKitHitTestResult.h: Adds new flag
29669        WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to
29670        WebKitHitTestResultContext enum.
29671        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Adds new API symbol
29672        to the corresponding documentation sections.
29673        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
29674        (testWebViewMouseTarget): Updates mouse-target
29675        test to include assertions for hitting scrollbar condition, and
29676        an new HTML to privide a positive case.
29677
296782012-12-10  Alexis Menard  <alexis@webkit.org>
29679
29680        [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
29681        https://bugs.webkit.org/show_bug.cgi?id=104539
29682
29683        Reviewed by Antonio Gomes.
29684
29685        As discussed on webkit-dev it is not needed to keep this feature flag 
29686        as support for <position> type is a small feature that is already 
29687        implemented by three other UAs. It was useful while landing this 
29688        feature as partial bits were landed one after one.
29689
29690        * Configurations/FeatureDefines.xcconfig:
29691
296922012-12-10  Alberto Garcia  <agarcia@igalia.com>
29693
29694        WebKitWebViewBase produces a warning if compiled with gcc
29695        https://bugs.webkit.org/show_bug.cgi?id=104561
29696
29697        Reviewed by Carlos Garcia Campos.
29698
29699        * UIProcess/API/gtk/WebKitWebViewBase.h:
29700        since this file can be included from C code, use void to
29701        explicitly specify that webkit_web_view_base_get_type() doesn't
29702        have parameters. Otherwise we get "warning: function declaration
29703        isn't a prototype" with -Wstrict-prototypes.
29704
297052012-12-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
29706
29707        [WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
29708        https://bugs.webkit.org/show_bug.cgi?id=104544
29709
29710        Reviewed by Kenneth Rohde Christiansen.
29711
29712        Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
29713        as it was not used by anyone.
29714
29715        * UIProcess/PageViewportController.cpp:
29716        (WebKit::PageViewportController::didRenderFrame):
29717        * UIProcess/PageViewportControllerClient.h:
29718        (PageViewportControllerClient):
29719        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
29720        (WebKit::PageViewportControllerClientEfl::setContentsScale):
29721        * UIProcess/efl/PageViewportControllerClientEfl.h:
29722        (PageViewportControllerClientEfl):
29723        * UIProcess/qt/PageViewportControllerClientQt.cpp:
29724        (WebKit::PageViewportControllerClientQt::setContentsScale):
29725        * UIProcess/qt/PageViewportControllerClientQt.h:
29726        (PageViewportControllerClientQt):
29727
297282012-12-10  Zoltan Nyul  <zoltan.nyul@intel.com>
29729
29730        Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
29731        https://bugs.webkit.org/show_bug.cgi?id=103886
29732
29733        Reviewed by Kenneth Rohde Christiansen.
29734
29735        Add support for TestRunner::setViewModeMediaFeature().
29736        This functionality is needed by the following LayoutTests:
29737        fast/media/media-query-list-02.html
29738        fast/media/media-query-list-03.html
29739        fast/media/media-query-list-04.html
29740        fast/media/media-query-list-05.html
29741        fast/media/media-query-list-06.html
29742        fast/media/media-query-list-07.html
29743        fast/media/view-mode-media-feature.html
29744
29745        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29746        (WKBundlePageSetViewMode):
29747        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
29748        * WebProcess/WebPage/WebPage.cpp:
29749        (WebKit::WebPage::setViewMode):
29750        (WebKit):
29751        * WebProcess/WebPage/WebPage.h:
29752        (WebPage):
29753
297542012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
29755
29756        [Qt] Fix QtWebProcess discovery on Windows
29757        https://bugs.webkit.org/show_bug.cgi?id=104552
29758
29759        Reviewed by Jocelyn Turcotte.
29760
29761        Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
29762
29763        * Shared/qt/ProcessExecutablePathQt.cpp:
29764        (WebKit::executablePath):
29765
297662012-12-10  Martin Robinson  <mrobinson@igalia.com>
29767
29768        [GTK] Bring Harfbuzz-ng support to Gtk
29769        https://bugs.webkit.org/show_bug.cgi?id=92098
29770
29771        Reviewed by Gustavo Noronha Silva.
29772
29773        Add a HarfBuzz dependency.
29774
29775        * GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
29776
297772012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
29778
29779        [Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
29780        https://bugs.webkit.org/show_bug.cgi?id=104541
29781
29782        Reviewed by Jocelyn Turcotte.
29783
29784        We now depend on a Qt 5 version that is guaranteed to have this API, so we
29785        can remove the configure checks for it.
29786
29787        * PluginProcess.pro:
29788        * Shared/qt/ProcessExecutablePathQt.cpp:
29789        (WebKit::executablePath):
29790        * WebProcess.pro:
29791
297922012-12-10  Simon Hausmann  <simon.hausmann@digia.com>
29793
29794        [Qt] Fix build without QtQuick 2
29795
29796        Unreviewed trivial build fix.
29797
29798        This function is defined in QtWebContext, which is only used when QtQuick2 is available.
29799
29800        * UIProcess/qt/WebContextQt.cpp:
29801        (WebKit::WebContext::platformInvalidateContext):
29802
298032012-12-10  Huang Dongsung  <luxtella@company100.net>
29804
29805        Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
29806        https://bugs.webkit.org/show_bug.cgi?id=100819
29807
29808        Reviewed by Kenneth Rohde Christiansen.
29809
29810        It is a follow-up patch of r137117.
29811
29812        There are two changes
29813        1. Add a const qualifier to supportsAlpha().
29814        2. Use << instead of encode() when using ArgumentEncoder.
29815
29816        * Shared/CoordinatedGraphics/CoordinatedSurface.h:
29817        (WebKit::CoordinatedSurface::supportsAlpha):
29818        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
29819        (WebKit::WebCoordinatedSurface::Handle::encode):
29820        (WebKit::WebCoordinatedSurface::copyToTexture):
29821
298222012-12-10  Huang Dongsung  <luxtella@company100.net>
29823
29824        Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
29825        https://bugs.webkit.org/show_bug.cgi?id=100819
29826
29827        Reviewed by Kenneth Rohde Christiansen.
29828
29829        WebCoordinatedSurface::copyToTexture should return early if the backend
29830        is GraphicsSurface.
29831
29832        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
29833        (WebKit::WebCoordinatedSurface::copyToTexture):
29834
298352012-12-10  Huang Dongsung  <luxtella@company100.net>
29836
29837        Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
29838        https://bugs.webkit.org/show_bug.cgi?id=100819
29839
29840        Reviewed by Noam Rosenthal.
29841
29842        Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
29843
29844        It is a preparation patch for Threaded Coordinated Graphics on WK1.
29845
29846        Create a CoordinatedSurface class that can be the base class both for
29847        the current IPC-based ShareableSurface, renamed here to
29848        WebCoordinatedSurface, and to a future thread-based surface
29849        implementation.
29850
29851        * CMakeLists.txt:
29852        * Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
29853        (WebCore):
29854        (WebKit):
29855        (CoordinatedSurface):
29856        (WebKit::CoordinatedSurface::~CoordinatedSurface):
29857        (WebKit::CoordinatedSurface::supportsAlpha):
29858        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
29859          Extends CoordinatedSurface.
29860        (WebKit):
29861        (WebKit::WebCoordinatedSurface::Handle::Handle):
29862        (WebKit::WebCoordinatedSurface::Handle::encode):
29863        (WebKit::WebCoordinatedSurface::Handle::decode):
29864        (WebKit::CoordinatedSurface::create):
29865        (WebKit::WebCoordinatedSurface::create):
29866        (WebKit::WebCoordinatedSurface::createWithSurface):
29867        (WebKit::WebCoordinatedSurface::createGraphicsContext):
29868        (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
29869        (WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
29870        (WebKit::WebCoordinatedSurface::createHandle):
29871        (WebKit::WebCoordinatedSurface::copyToTexture):
29872        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
29873        (WebCore):
29874        (WebKit):
29875        (WebCoordinatedSurface):
29876        (Handle):
29877        (WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
29878        (WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
29879        * Target.pri:
29880        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
29881        (WebKit::CoordinatedBackingStoreTile::swapBuffers):
29882        (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
29883        (WebKit::CoordinatedBackingStore::updateTile):
29884        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
29885        (WebKit):
29886        (CoordinatedBackingStoreTile):
29887        (CoordinatedBackingStore):
29888        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
29889        (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
29890        (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
29891        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
29892        (LayerTreeCoordinatorProxy):
29893        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
29894        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
29895        (WebKit::LayerTreeRenderer::updateImageBacking):
29896        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
29897        (TileUpdate):
29898        (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
29899        (LayerTreeRenderer):
29900        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
29901        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
29902        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
29903        (CoordinatedGraphicsLayerClient):
29904        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
29905        (WebKit::CoordinatedImageBacking::update):
29906        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
29907        (Coordinator):
29908        (CoordinatedImageBacking):
29909        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
29910        (WebKit::LayerTreeCoordinator::updateImageBacking):
29911        (WebKit::LayerTreeCoordinator::createUpdateAtlas):
29912        (WebKit::LayerTreeCoordinator::beginContentUpdate):
29913        (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
29914        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
29915        (LayerTreeCoordinator):
29916        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
29917        (WebKit::UpdateAtlas::UpdateAtlas):
29918        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
29919        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
29920        (UpdateAtlasClient):
29921        (UpdateAtlas):
29922        (WebKit::UpdateAtlas::supportsAlpha):
29923
299242012-12-09  Huang Dongsung  <luxtella@company100.net>
29925
29926        Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
29927        https://bugs.webkit.org/show_bug.cgi?id=103843
29928
29929        Reviewed by Noam Rosenthal.
29930
29931        Send SetRootCompositingLayer message to the UI process before
29932        flushing compositing states of layer tree.
29933
29934        This is in preparation for refactoring TextureMapper to work in an actor
29935        model (http://webkit.org/b/103854).
29936
29937        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
29938        (WebKit::LayerTreeRenderer::setLayerState):
29939        (WebKit::LayerTreeRenderer::setRootLayerID):
29940        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
29941        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
29942        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
29943        (WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
29944        (WebKit):
29945        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
29946        (LayerTreeCoordinator):
29947
299482012-12-09  Jon Lee  <jonlee@apple.com>
29949
29950        [WK2] Move button image to injected bundle
29951        https://bugs.webkit.org/show_bug.cgi?id=104107
29952        <rdar://problem/12813842>
29953
29954        Reviewed by Simon Fraser.
29955
29956        Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
29957
29958        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
29959        (WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
29960        * WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
29961
29962        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
29963        (WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
29964        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
29965
29966        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
29967
29968        * Shared/API/c/cg/WKImageCG.cpp:
29969        (WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
29970
299712012-12-09  Kangil Han  <kangil.han@samsung.com>
29972
29973        Fix unused parameter compile warnings
29974        https://bugs.webkit.org/show_bug.cgi?id=104463
29975
29976        Reviewed by Kentaro Hara.
29977
29978        Remove compile warning messages by omitting parameter name.
29979
29980        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
29981        (WebKit::LayerTreeRenderer::createCanvas):
29982
299832012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
29984
29985        [EFL][WK2] Add Remote Web Inspector
29986        https://bugs.webkit.org/show_bug.cgi?id=98705
29987
29988        Reviewed by Gyuyoung Kim.
29989
29990        Add Remote Web Inspector to EFL port.
29991        The WebInspectorSever will be started during WebKit context initialization.
29992        The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
29993
29994        * CMakeLists.txt:
29995        * PlatformEfl.cmake:
29996        * UIProcess/InspectorServer/WebInspectorServer.h:
29997        (WebInspectorServer):
29998        * UIProcess/InspectorServer/WebSocketServer.h:
29999        (WebSocketServer):
30000        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
30001        (WebKit):
30002        (WebKit::inspectorResourcePath):
30003        (WebKit::WebInspectorServer::platformResourceForPath):
30004        (WebKit::WebInspectorServer::buildPageList):
30005        * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
30006        (WebKit::connectionCallback):
30007        * UIProcess/efl/WebContextEfl.cpp:
30008        (WebKit::initializeInspectorServer):
30009        (WebKit):
30010        (WebKit::WebContext::platformInitializeWebProcess):
30011        * config.h:
30012
300132012-12-08  Gustavo Noronha Silva  <gns@gnome.org>
30014
30015        Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
30016
30017        * GNUmakefile.am:
30018
300192012-12-08  Seokju Kwon  <seokju.kwon@gmail.com>
30020
30021        Remove unused headers
30022        https://bugs.webkit.org/show_bug.cgi?id=104428
30023
30024        Reviewed by Kentaro Hara.
30025
30026        Header inclusion cleanup.
30027        Remove <WebCore/NotImplement.h>.
30028
30029        * Platform/qt/WorkQueueQt.cpp:
30030        * Platform/win/WorkQueueWin.cpp:
30031        * Shared/qt/ShareableBitmapQt.cpp:
30032        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
30033        * UIProcess/win/TextCheckerWin.cpp:
30034        * UIProcess/win/WebContextMenuProxyWin.cpp:
30035        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
30036
300372012-12-07  Jinwoo Song  <jinwoo7.song@samsung.com>
30038
30039        [EFL][WK2] Remove unused source file from PlatformEfl.cmake
30040        https://bugs.webkit.org/show_bug.cgi?id=104430
30041
30042        Reviewed by Kentaro Hara.
30043
30044        Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
30045
30046        * PlatformEfl.cmake:
30047
300482012-12-07  Jer Noble  <jer.noble@apple.com>
30049
30050        Allow the WebProcess access to the CoreMedia preferences file.
30051        https://bugs.webkit.org/show_bug.cgi?id=104320
30052        <rdar://problem/10904519>
30053
30054        Reviewed by Alexey Proskuryakov.
30055
30056        Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
30057        by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
30058        to access those preferences as well.
30059
30060        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
30061        * WebProcess/com.apple.WebProcess.sb.in:
30062
300632012-12-07  Tim Horton  <timothy_horton@apple.com>
30064
30065        [wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
30066        https://bugs.webkit.org/show_bug.cgi?id=104418
30067
30068        Reviewed by Simon Fraser.
30069
30070        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
30071        (WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
30072        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
30073        (WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
30074
300752012-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
30076
30077        Unreviewed, rolling out r136993.
30078        http://trac.webkit.org/changeset/136993
30079        https://bugs.webkit.org/show_bug.cgi?id=104415
30080
30081        This patch breaks the mac build (Requested by cabanier on
30082        #webkit).
30083
30084        * win/WebKit2.def.in:
30085
300862012-12-07  Alexey Proskuryakov  <ap@apple.com>
30087
30088        There is no need to change cached resource storage policy through ResourceHandleClient
30089        https://bugs.webkit.org/show_bug.cgi?id=104413
30090
30091        Reviewed by Brady Eidson.
30092
30093        * NetworkProcess/NetworkResourceLoader.cpp:
30094        * NetworkProcess/NetworkResourceLoader.h:
30095        Deleted overrides of the removed willCacheResponse.
30096
300972012-12-07  Alexey Proskuryakov  <ap@apple.com>
30098
30099        Network process should use a correct storage session in private browsing mode
30100        <rdar://problem/12838490>
30101        https://bugs.webkit.org/show_bug.cgi?id=104401
30102
30103        Reviewed by Brady Eidson.
30104
30105        Notify NetworkProcess when it needs to create or destroy a private browsing session,
30106        and add a NetworkResourceLoadParameters member telling if the particular resource
30107        should be requested using it.
30108
30109        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
30110        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
30111        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
30112        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
30113        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
30114        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
30115        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
30116        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
30117        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
30118        Added another dummy argument to dummy networking context.
30119
30120        * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
30121        Ensure private browsing session if it's needed due to a persistent preference, not
30122        an API call at runtime (which is handled below as ensure/destroy).
30123
30124        * NetworkProcess/NetworkResourceLoader.cpp:
30125        (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
30126        used for loading.
30127        (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
30128        matches WebCore, but may be not needed.
30129
30130        * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
30131        Store privateBrowsingEnabled flag.
30132
30133        * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
30134        Return a private session when it's in use.
30135
30136        * Shared/Network/NetworkProcessCreationParameters.cpp:
30137        (WebKit::NetworkProcessCreationParameters::encode):
30138        (WebKit::NetworkProcessCreationParameters::decode):
30139        * Shared/Network/NetworkProcessCreationParameters.h:
30140        Pass privateBrowsingEnabled flag to the new process.
30141
30142        * Shared/Network/NetworkResourceLoadParameters.cpp:
30143        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
30144        (WebKit::NetworkResourceLoadParameters::encode):
30145        (WebKit::NetworkResourceLoadParameters::decode):
30146        * Shared/Network/NetworkResourceLoadParameters.h:
30147        (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
30148        Pass inPrivateBrowsingMode flag for the request.
30149
30150        * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
30151        Exposed, so that we can send messages without going through NetworkProcessManager.
30152
30153        * UIProcess/WebContext.cpp:
30154        (WebKit::WebContext::usesNetworkProcess):
30155        (WebKit::anyContextUsesNetworkProcess):
30156        (WebKit::WebContext::willStartUsingPrivateBrowsing):
30157        (WebKit::WebContext::willStopUsingPrivateBrowsing):
30158        Notify NetworkProcess when entering or exiting private browsing.
30159
30160        * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
30161        anyContextUsesNetworkProcess to use.
30162
30163        * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
30164        Put current private browsing state over in NetworkResourceLoadParameters.
30165
301662012-12-07  Helder Correia  <helder.correia@nokia.com>
30167
30168        [CoordGfx] Variable name starts with upper case character
30169        https://bugs.webkit.org/show_bug.cgi?id=104327
30170
30171        Reviewed by Noam Rosenthal.
30172
30173        Just fixing a typo.
30174
30175        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
30176        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
30177
301782012-12-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30179
30180        [WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
30181        https://webkit.org/b/103519
30182
30183        Reviewed by Noam Rosenthal.
30184
30185        This patch removes the blurriness by pixel aligning the layers. It
30186        does not fully remove the shaking, only minimizes it.
30187
30188        * UIProcess/API/efl/EwkViewImpl.cpp:
30189        (EwkViewImpl::transformFromScene):
30190        (EwkViewImpl::displayTimerFired):
30191        * UIProcess/API/efl/EwkViewImpl.h:
30192        (EwkViewImpl::pagePosition):
30193
30194            As the pixel alignment of the main layer is moved to the
30195            PageViewportController, rename discretePagePosition to just
30196            pagePosition. It now returns a FloatPoint but the positions
30197            should still be discrete.
30198
30199        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
30200        (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
30201        (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
30202        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
30203        (LayerTreeCoordinatorProxy):
30204        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
30205        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30206        (WebKit::LayerTreeRenderer::didChangeScrollPosition):
30207        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
30208        (LayerTreeRenderer):
30209        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
30210        (WebKit::LayerTreeCoordinator::visibleContentsRect):
30211        (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
30212        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
30213        (LayerTreeCoordinator):
30214        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
30215        * WebProcess/WebPage/LayerTreeHost.h:
30216        (WebCore):
30217        (WebKit::LayerTreeHost::setVisibleContentsRect):
30218
30219            Change the internal scroll position/visible contents rect
30220            to be represented as float positions. The rounding to integer
30221            values not happens just before setFixesVisibleContentsRect.
30222            This makes it possible to know our exact positions and
30223            calculate proper scroll deltas.
30224
30225        (WebKit::LayerTreeRenderer::setLayerState):
30226
30227            Group anchor point, position and size together.
30228
30229        * UIProcess/PageViewportController.h:
30230        (PageViewportController):
30231        * UIProcess/PageViewportController.cpp:
30232        (WebKit::PageViewportController::PageViewportController):
30233        (WebKit::PageViewportController::boundContentsPosition):
30234        (WebKit::PageViewportController::boundContentsPositionAtScale):
30235        (WebKit::PageViewportController::didRenderFrame):
30236        (WebKit::PageViewportController::pageDidRequestScroll):
30237        (WebKit::PageViewportController::didChangeContentsVisibility):
30238        (WebKit::PageViewportController::syncVisibleContents):
30239        (WebKit::PageViewportController::visibleContentsSize):
30240        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
30241        * UIProcess/qt/PageViewportControllerClientQt.cpp:
30242        (WebKit::PageViewportControllerClientQt::focusEditableArea):
30243        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
30244        (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
30245
30246            Some renaming as what was called viewportPos was actually the
30247            contents position. Rename clampViewportToContents to
30248            boundContentsPosition and remove scale argument which is has
30249            direct access to.
30250
30251            Make the boundContentsPosition allow one extra pixel in each
30252            orientation to allow for pixel alignment of fixed position layers
30253
30254        (WebKit::isIntegral):
30255        (WebKit):
30256        (WebKit::PageViewportController::pixelAlignedFloatPoint):
30257
30258            Introduce way to pixel align the main contents layer. Only in
30259            use for EFL so far.
30260
30261        * UIProcess/efl/PageClientLegacyImpl.cpp:
30262        (WebKit::PageClientLegacyImpl::updateViewportSize):
30263        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
30264        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
30265        * UIProcess/efl/PageViewportControllerClientEfl.h:
30266        (WebKit::PageViewportControllerClientEfl::contentPosition):
30267        (PageViewportControllerClientEfl):
30268
30269            Store the contents position as a FloatPoint.
30270
30271        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
30272        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
30273        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
30274        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
30275        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
30276        (WebCore::isIntegral):
30277        (WebCore):
30278        (WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
30279        (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
30280        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
30281        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
30282        (CoordinatedGraphicsLayerClient):
30283        (CoordinatedGraphicsLayer):
30284
30285            Pixel align layers when the effective scale is not an integer
30286            value. This code is based on code from GraphicsLayerCA.
30287
302882012-12-07  Alexey Proskuryakov  <ap@apple.com>
30289
30290        REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
30291        https://bugs.webkit.org/show_bug.cgi?id=104392
30292
30293        Reviewed by Anders Carlsson.
30294
30295        * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
30296        back to using m_conection where it can be null.
30297
302982012-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>
30299
30300        [EFL][WK2] Add ewk_settings APIs for text autosizing
30301        https://bugs.webkit.org/show_bug.cgi?id=103342
30302
30303        Reviewed by Kenneth Rohde Christiansen.
30304
30305        Add ewk_settings_text_autosizing_enabled_get / set() functions.
30306        Text autosizing is disabled by default.
30307
30308        * UIProcess/API/efl/ewk_settings.cpp:
30309        (ewk_settings_text_autosizing_enabled_set):
30310        (ewk_settings_text_autosizing_enabled_get):
30311        * UIProcess/API/efl/ewk_settings.h:
30312        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
30313        (TEST_F):
30314
303152012-12-06  Rick Byers  <rbyers@chromium.org>
30316
30317        CSS cursor property should support webkit-image-set
30318        https://bugs.webkit.org/show_bug.cgi?id=99493
30319
30320        Reviewed by Beth Dakin.
30321
30322        Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
30323
30324        * Configurations/FeatureDefines.xcconfig:
30325
303262012-12-06  Jae Hyun Park  <jae.park@company100.net>
30327
30328        Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
30329        https://bugs.webkit.org/show_bug.cgi?id=103983
30330
30331        Reviewed by Noam Rosenthal.
30332
30333        This patch refactors WebLayerTreeInfo in 2 areas.
30334
30335        1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
30336        should be located in WebKit2/Shared/CoordinatedGraphics instead of
30337        WebKit2/Shared.
30338
30339        2. The name of WebLayerTreeInfo is incorrect. Currently,
30340        WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
30341        what WebLayer is since we don't use that name anymore. More appropriate
30342        name for WebLayerInfo would be CoordinatedLayerInfo.
30343
30344        No new test, because no behavioral change.
30345
30346        * CMakeLists.txt:
30347        * Scripts/webkit2/messages.py:
30348        (headers_for_type):
30349        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
30350        (WebKit):
30351        (WebKit::CoordinatedLayerInfo::encode):
30352        (WebKit::CoordinatedLayerInfo::decode):
30353        * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
30354        (WebKit):
30355        (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
30356        (CoordinatedLayerInfo):
30357        * Shared/LayerTreeContext.h:
30358        (LayerTreeContext):
30359        * Shared/efl/LayerTreeContextEfl.cpp:
30360        (WebKit::LayerTreeContext::LayerTreeContext):
30361        (WebKit::LayerTreeContext::encode):
30362        (WebKit::LayerTreeContext::decode):
30363        (WebKit::LayerTreeContext::isEmpty):
30364        (WebKit::operator==):
30365        * Shared/qt/LayerTreeContextQt.cpp:
30366        (WebKit::LayerTreeContext::LayerTreeContext):
30367        (WebKit::LayerTreeContext::encode):
30368        (WebKit::LayerTreeContext::decode):
30369        (WebKit::LayerTreeContext::isEmpty):
30370        (WebKit::operator==):
30371        * Target.pri:
30372        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
30373        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
30374        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
30375        (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
30376        (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
30377        (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
30378        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
30379        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
30380        (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
30381        (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
30382        (WebKit::LayerTreeCoordinatorProxy::createCanvas):
30383        (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
30384        (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
30385        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
30386        (WebKit):
30387        (LayerTreeCoordinatorProxy):
30388        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
30389        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30390        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
30391        (WebKit::LayerTreeRenderer::createLayer):
30392        (WebKit::LayerTreeRenderer::createCanvas):
30393        (WebKit::LayerTreeRenderer::syncCanvas):
30394        (WebKit::LayerTreeRenderer::destroyCanvas):
30395        (WebKit::LayerTreeRenderer::setLayerChildren):
30396        (WebKit::LayerTreeRenderer::setLayerFilters):
30397        (WebKit::LayerTreeRenderer::setLayerState):
30398        (WebKit::LayerTreeRenderer::deleteLayer):
30399        (WebKit::LayerTreeRenderer::ensureLayer):
30400        (WebKit::LayerTreeRenderer::setRootLayerID):
30401        (WebKit::LayerTreeRenderer::createTile):
30402        (WebKit::LayerTreeRenderer::removeTile):
30403        (WebKit::LayerTreeRenderer::updateTile):
30404        (WebKit::LayerTreeRenderer::ensureRootLayer):
30405        (WebKit::LayerTreeRenderer::purgeGLResources):
30406        (WebKit::LayerTreeRenderer::setLayerAnimations):
30407        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
30408        (WebKit):
30409        (LayerTreeRenderer):
30410        (WebKit::LayerTreeRenderer::layerByID):
30411        * UIProcess/DrawingAreaProxy.h:
30412        (WebKit):
30413        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
30414        (WebCore::layerByIDMap):
30415        (WebCore::toCoordinatedLayerID):
30416        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
30417        (WebCore::CoordinatedGraphicsLayer::id):
30418        (WebCore::CoordinatedGraphicsLayer::syncChildren):
30419        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
30420        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
30421        (CoordinatedGraphicsLayerClient):
30422        (CoordinatedGraphicsLayer):
30423        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
30424        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
30425        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
30426        (WebKit::LayerTreeCoordinator::syncLayerState):
30427        (WebKit::LayerTreeCoordinator::syncLayerChildren):
30428        (WebKit::LayerTreeCoordinator::createCanvas):
30429        (WebKit::LayerTreeCoordinator::syncCanvas):
30430        (WebKit::LayerTreeCoordinator::destroyCanvas):
30431        (WebKit::LayerTreeCoordinator::syncLayerFilters):
30432        (WebKit::LayerTreeCoordinator::createTile):
30433        (WebKit::LayerTreeCoordinator::updateTile):
30434        (WebKit::LayerTreeCoordinator::removeTile):
30435        (WebKit::LayerTreeCoordinator::setLayerAnimations):
30436        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
30437        (LayerTreeCoordinator):
30438
304392012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
30440
30441        Unreviewed, rolling out r136900.
30442        http://trac.webkit.org/changeset/136900
30443        https://bugs.webkit.org/show_bug.cgi?id=104318
30444
30445        Unreviewed build for Windows port. (Requested by rfong on
30446        #webkit).
30447
30448        * win/WebKit2.def.in:
30449
304502012-12-06  Jon Lee  <jonlee@apple.com>
30451
30452        Retry snapshots if they are too empty
30453        https://bugs.webkit.org/show_bug.cgi?id=104174
30454        <rdar://problem/12820146>
30455
30456        Reviewed by Simon Fraser.
30457
30458        * WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
30459        retried to come up with a snapshot.
30460        * WebProcess/Plugins/PluginView.cpp:
30461        (WebKit::PluginView::PluginView): Initialize the count to 0.
30462        (WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
30463        a grid of dots, and calculate the differences among them. If the average color difference is greater than
30464        a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
30465        bitmap image format, otherwise we return early.
30466        (WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
30467        evaluated to be too empty, then try again.
30468
304692012-12-06  Tony Chang  <tony@chromium.org>
30470
30471        Unreviewed, Apple Win Debug build fix.
30472
30473        * win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
30474
304752012-12-06  Alexey Proskuryakov  <ap@apple.com>
30476
30477        Track private browsing session in network process
30478        https://bugs.webkit.org/show_bug.cgi?id=104281
30479
30480        Reviewed by Jessie Berlin.
30481
30482        Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
30483        ensuring a private session may happen on demand if network process has been restarted
30484        after a crash, or if private browsing is enabled via a persistent preference.
30485
30486        Eventually, we should find a way to share code between WebFrameNetworkingContext
30487        and RemoteNetworkingContext.
30488
30489        * NetworkProcess/NetworkProcess.cpp:
30490        (WebKit::NetworkProcess::initializeNetworkProcess):
30491        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
30492        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
30493        * NetworkProcess/NetworkProcess.h:
30494        * NetworkProcess/NetworkProcess.messages.in:
30495        * NetworkProcess/mac/RemoteNetworkingContext.h:
30496        (RemoteNetworkingContext):
30497        * NetworkProcess/mac/RemoteNetworkingContext.mm:
30498        (WebKit::privateBrowsingStorageSessionIdentifierBase):
30499        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
30500        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
30501        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
30502        * Shared/Network/NetworkProcessCreationParameters.cpp:
30503        (WebKit::NetworkProcessCreationParameters::encode):
30504        (WebKit::NetworkProcessCreationParameters::decode):
30505        * Shared/Network/NetworkProcessCreationParameters.h:
30506        (NetworkProcessCreationParameters):
30507        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
30508        (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
30509        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
30510        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
30511        * WebProcess/WebProcess.cpp:
30512        (WebKit::WebProcess::initializeWebProcess):
30513
305142012-12-06  Laszlo Gombos  <l.gombos@samsung.com>
30515
30516        [EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
30517        https://bugs.webkit.org/show_bug.cgi?id=104278
30518
30519        Reviewed by Brent Fulgham.
30520
30521        The guards are not required as it is always set for EFL.
30522
30523        * PlatformEfl.cmake:
30524        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
30525        (WebKit::PluginProcessProxy::scanPlugin):
30526        * WebProcess/efl/WebProcessMainEfl.cpp:
30527        (WebKit::WebProcessMainEfl):
30528
305292012-12-06  Tony Chang  <tony@chromium.org>
30530
30531        REGRESSION(r135082): Restore the ability to insert author level style sheets from script
30532        https://bugs.webkit.org/show_bug.cgi?id=104042
30533
30534        Reviewed by Antti Koivisto.
30535
30536        Update exports for Internals.cpp.
30537
30538        * win/WebKit2.def.in:
30539
305402012-12-06  Andras Becsi  <andras.becsi@digia.com>
30541
30542        [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
30543        https://bugs.webkit.org/show_bug.cgi?id=104269
30544
30545        Unreviewed, trivialy fixing last minute change.
30546
30547        Move signal emission to the correct place.
30548
30549        * UIProcess/API/qt/qquickwebview.cpp:
30550        (QQuickWebViewFlickablePrivate::onComponentComplete):
30551        * UIProcess/qt/PageViewportControllerClientQt.cpp:
30552        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
30553
305542012-12-06  Andras Becsi  <andras.becsi@digia.com>
30555
30556        [Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
30557        https://bugs.webkit.org/show_bug.cgi?id=104269
30558
30559        Reviewed by Kenneth Rohde Christiansen.
30560
30561        Since the ViewportInfoItem of MiniBrowser is created before the
30562        WebView finishes construction, thus before the viewport controller
30563        has been instantiated, the shown device pixel ratio was incorrect.
30564        Additionally QWebKitTest's notification signal was also not emitted
30565        when the value changed.
30566
30567        * UIProcess/API/qt/qquickwebview.cpp:
30568        (QQuickWebViewPrivate::QQuickWebViewPrivate):
30569        * UIProcess/qt/PageViewportControllerClientQt.cpp:
30570        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
30571
305722012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
30573
30574        Unreviewed, rolling out r136788.
30575        http://trac.webkit.org/changeset/136788
30576        https://bugs.webkit.org/show_bug.cgi?id=104260
30577
30578        Asserts on EFL WebKit2 Debug bot (Requested by yael on
30579        #webkit).
30580
30581        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30582        (WebKit::LayerTreeRenderer::setLayerState):
30583        (WebKit::LayerTreeRenderer::setRootLayerID):
30584        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
30585        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
30586        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
30587        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
30588        (LayerTreeCoordinator):
30589
305902012-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
30591
30592        Unreviewed, rolling out r136795.
30593        http://trac.webkit.org/changeset/136795
30594        https://bugs.webkit.org/show_bug.cgi?id=104257
30595
30596        Asserts on EFL WebKit2 Debug bot (Requested by yael on
30597        #webkit).
30598
30599        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30600        (WebKit::LayerTreeRenderer::setRootLayerID):
30601
306022012-12-06  Shinya Kawanaka  <shinyak@chromium.org>
30603
30604        Internals.getElementByIdInShadowRoot is nonsense now.
30605        https://bugs.webkit.org/show_bug.cgi?id=104241
30606
30607        Reviewed by Kent Tamura.
30608
30609        * win/WebKit2.def.in:
30610
306112012-12-06  Christophe Dumez  <christophe.dumez@intel.com>
30612
30613        [EFL][WK2] Context clients should unregister themselves when destroyed
30614        https://bugs.webkit.org/show_bug.cgi?id=104113
30615
30616        Reviewed by Kenneth Rohde Christiansen.
30617
30618        Make sure the context clients (History and Download clients)
30619        unregister themselves when destroyed to make sure their
30620        callback functions are never called after the client objects
30621        have been destroyed (i.e. when the parent Ewk_Context has
30622        been destroyed).
30623
30624        This addresses crashing issues after a Ewk_Context object
30625        gets unref'd and destroyed.
30626
30627        * UIProcess/efl/ContextHistoryClientEfl.cpp:
30628        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
30629        (WebKit):
30630        (WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
30631        * UIProcess/efl/ContextHistoryClientEfl.h:
30632        (ContextHistoryClientEfl):
30633        * UIProcess/efl/DownloadManagerEfl.cpp:
30634        (WebKit::DownloadManagerEfl::~DownloadManagerEfl):
30635        (WebKit):
30636        * UIProcess/efl/DownloadManagerEfl.h:
30637        (DownloadManagerEfl):
30638
306392012-12-05  Huang Dongsung  <luxtella@company100.net>
30640
30641        Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
30642        https://bugs.webkit.org/show_bug.cgi?id=103843
30643
30644        Reviewed by Noam Rosenthal.
30645
30646        Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
30647        lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
30648        have the same lifecycle to WebPage and the root layer is reused even if loading
30649        new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
30650        than twice.
30651
30652        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30653        (WebKit::LayerTreeRenderer::setRootLayerID):
30654
306552012-12-05  Brent Fulgham  <bfulgham@webkit.org>
30656
30657        [Windows, WinCairo] Regenerate .def files on changes
30658        https://bugs.webkit.org/show_bug.cgi?id=104136
30659
30660        Reviewed by Tim Horton.
30661
30662        The new .def file generator is not regenerating the link
30663        export definitions once it creates the definition file
30664        the first time. You must clean the build directory for
30665        new symbols to be added (or removed).
30666
30667        * win/WebKit2.vcproj: Change the WebKit2.def file reference to
30668          point to the generated version of the file.
30669        * win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
30670          file that participates in the build so that Visual Studio knows
30671          to build the project when the file changes.
30672        * win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
30673          command into its own shell script.
30674        * win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
30675        * win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
30676          and definition files to ensure a clean build.
30677
306782012-12-05  Halton Huo  <halton.huo@intel.com>
30679
30680        [CMake] Unify coding style for CMake files
30681        https://bugs.webkit.org/show_bug.cgi?id=103605
30682
30683        Reviewed by Laszlo Gombos.
30684
30685        Update cmake files(.cmake, CMakeLists.txt) with following style rules:
30686        1. Indentation
30687        1.1 Use spaces, not tabs.
30688        1.2 Four spaces as indent.
30689        2. Spacing
30690        2.1 Place one space between control statements and their parentheses.
30691            For eg, if (), else (), elseif (), endif (), foreach (),
30692            endforeach (), while (), endwhile (), break ().
30693        2.2 Do not place spaces between function and macro statements and
30694            their parentheses. For eg, macro(), endmacro(), function(),
30695            endfunction().
30696        2.3 Do not place spaces between a command or function or macro and its
30697            parentheses, or between a parenthesis and its content. For eg,
30698            message("testing") not message( "testing") or message ("testing" )
30699        2.4 No space at line ending.
30700        3. Lowercase when call commands macros and functions. For eg,
30701           add_executable() not ADD_EXECUTABLE(), set() not SET().
30702
30703        * CMakeLists.txt:
30704        * PlatformEfl.cmake:
30705        * win/WebKit2ExportGenerator.vcproj:
30706        * win/WebKit2ExportGeneratorCommon.vsprops:
30707
307082012-12-05  Huang Dongsung  <luxtella@company100.net>
30709
30710        Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
30711        https://bugs.webkit.org/show_bug.cgi?id=103843
30712
30713        Reviewed by Noam Rosenthal.
30714
30715        Send SetRootCompositingLayer message to the UI process in the
30716        constructor instead of sending it on the first flush.
30717
30718        This is in preparation for refactoring TextureMapper to work in an actor
30719        model (http://webkit.org/b/103854).
30720
30721        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30722        (WebKit::LayerTreeRenderer::setLayerState):
30723        (WebKit::LayerTreeRenderer::setRootLayerID):
30724        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
30725        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
30726        (WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
30727        (WebKit):
30728        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
30729        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
30730        (LayerTreeCoordinator):
30731
307322012-12-05  Jinwoo Song  <jinwoo7.song@samsung.com>
30733
30734        [EFL][WK2] Don't use the C API internally in ewk_cookie_manager
30735        https://bugs.webkit.org/show_bug.cgi?id=103243
30736
30737        Reviewed by Gyuyoung Kim.
30738
30739        Used the C++ classes directly instead of the C API wrappers
30740        to avoid a lot of toImpl/toAPI casts.
30741
30742        * UIProcess/API/efl/ewk_context.cpp:
30743        (EwkContext::cookieManager):
30744        * UIProcess/API/efl/ewk_cookie_manager.cpp:
30745        (EwkCookieManager::EwkCookieManager):
30746        (EwkCookieManager::~EwkCookieManager):
30747        (EwkCookieManager::setPersistentStorage):
30748        (EwkCookieManager::setHTTPAcceptPolicy):
30749        (EwkCookieManager::clearHostnameCookies):
30750        (EwkCookieManager::clearAllCookies):
30751        (EwkCookieManager::watchChanges):
30752        (EwkCookieManager::getHostNamesWithCookies):
30753        (EwkCookieManager::getHTTPAcceptPolicy):
30754        * UIProcess/API/efl/ewk_cookie_manager_private.h:
30755        (EwkCookieManager::create):
30756        (EwkCookieManager):
30757
307582012-12-05  No'am Rosenthal  <noam@webkit.org>
30759
30760        Coordinated Graphics: Enable support for setContentsToBackgroundColor
30761        https://bugs.webkit.org/show_bug.cgi?id=104128
30762
30763        Reviewed by Kenneth Rohde Christiansen.
30764
30765        Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
30766
30767        * Shared/WebLayerTreeInfo.h:
30768        (WebLayerInfo):
30769        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
30770        (WebKit::LayerTreeRenderer::setLayerState):
30771        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
30772        (WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
30773        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
30774        (CoordinatedGraphicsLayer):
30775
307762012-12-05  Alexey Proskuryakov  <ap@apple.com>
30777
30778        <rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
30779
30780        Reviewed by Beth Dakin and Dan Bernstein.
30781
30782        * WebProcess/com.apple.WebProcess.sb.in:
30783
307842012-12-05  Alexey Proskuryakov  <ap@apple.com>
30785
30786        [WK2] Would like to queue messages while NetworkProcess is launching
30787        https://bugs.webkit.org/show_bug.cgi?id=104143
30788
30789        Reviewed by Anders Carlsson.
30790
30791        Factored out process launching and message sending code to a ChildProcessProxy class.
30792        Process closing and crashing code should be moved once we better understand common
30793        requirements for the processes.
30794
30795        * CMakeLists.txt:
30796        * GNUmakefile.list.am:
30797        * Target.pri:
30798        * WebKit2.xcodeproj/project.pbxproj:
30799        * win/WebKit2.vcproj:
30800        Added ChildProcessProxy files.
30801
30802        * Shared/ChildProcessProxy.cpp: Added.
30803        (WebKit::ChildProcessProxy::ChildProcessProxy):
30804        (WebKit::ChildProcessProxy::~ChildProcessProxy):
30805        (WebKit::ChildProcessProxy::fromConnection):
30806        (WebKit::ChildProcessProxy::connect):
30807        (WebKit::ChildProcessProxy::terminate):
30808        (WebKit::ChildProcessProxy::sendMessage):
30809        (WebKit::ChildProcessProxy::isLaunching):
30810        (WebKit::ChildProcessProxy::didFinishLaunching):
30811        (WebKit::ChildProcessProxy::clearConnection):
30812        * Shared/ChildProcessProxy.h: Added.
30813        (WebKit::ChildProcessProxy::connection):
30814        (WebKit::ChildProcessProxy::isValid):
30815        (WebKit::ChildProcessProxy::canSendMessage):
30816        (WebKit::ChildProcessProxy::processIdentifier):
30817        (WebKit::ChildProcessProxy::send):
30818        (WebKit::ChildProcessProxy::sendSync):
30819        Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
30820        but every one is a connection queue client, so that latter is passed as an argument.
30821
30822        * UIProcess/Network/NetworkProcessProxy.h:
30823        * UIProcess/Network/NetworkProcessProxy.cpp:
30824        Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
30825
30826        * UIProcess/Network/NetworkProcessProxy.cpp:
30827        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
30828        (WebKit::NetworkProcessProxy::getLaunchOptions):
30829        (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
30830        (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
30831        (WebKit::NetworkProcessProxy::didFinishLaunching):
30832        * UIProcess/Network/NetworkProcessProxy.h:
30833        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
30834        (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
30835        * UIProcess/WebProcessProxy.cpp:
30836        (WebKit::WebProcessProxy::WebProcessProxy):
30837        (WebKit::WebProcessProxy::~WebProcessProxy):
30838        (WebKit::WebProcessProxy::getLaunchOptions):
30839        (WebKit::WebProcessProxy::disconnect):
30840        (WebKit::WebProcessProxy::didFinishLaunching):
30841        Use shared code.
30842
30843        * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
30844        NetworkProcess inherits from conneciton client privately, so we need to do most
30845        of the work in ClientProcessProxy, and further upcast here.
30846
30847        * UIProcess/efl/WebProcessProxyEfl.cpp:
30848        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30849        * UIProcess/gtk/WebProcessProxyGtk.cpp:
30850        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30851        * UIProcess/mac/WebProcessProxyMac.mm:
30852        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30853        * UIProcess/qt/WebProcessProxyQt.cpp:
30854        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30855        * UIProcess/win/WebProcessProxyWin.cpp:
30856        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30857        Updated for renaming, platformConnect -> platformGetLaunchOptions().
30858
308592012-12-05  Kiran Muppala  <cmuppala@apple.com>
30860
30861        WebKit2 child processes need to initialize timer coalescing policy on Mac.
30862        https://bugs.webkit.org/show_bug.cgi?id=103613
30863
30864        Reviewed by Mark Rowe.
30865
30866        Set timer coalescing policy of WebKit2 child processes to that of visible applications
30867        until they can manage the policy based on UI process visibility.
30868
30869        * Shared/mac/ChildProcessMac.mm:
30870        (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
30871        for visible applications.
30872        (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
30873
308742012-12-05  Anders Carlsson  <andersca@apple.com>
30875
30876        Connection::waitForMessage shouldn't use the message ID
30877        https://bugs.webkit.org/show_bug.cgi?id=104157
30878
30879        Reviewed by Andreas Kling.
30880
30881        Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
30882        the message ID.
30883
30884        * Platform/CoreIPC/Connection.cpp:
30885        (CoreIPC::Connection::createSyncMessageEncoder):
30886        (CoreIPC::Connection::waitForMessage):
30887        (CoreIPC::Connection::processIncomingMessage):
30888        * Platform/CoreIPC/Connection.h:
30889        (CoreIPC::Connection::waitForAndDispatchImmediately):
30890
308912012-12-05  Jae Hyun Park  <jae.park@company100.net>
30892
30893        Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
30894        https://bugs.webkit.org/show_bug.cgi?id=103864
30895
30896        Reviewed by Noam Rosenthal.
30897
30898        AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
30899        So, these should be moved to CoordinatedGraphics to clarify the code.
30900
30901        No new test, because no change of behavior.
30902
30903        * CMakeLists.txt:
30904        * Target.pri:
30905        * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
30906        (WebKit):
30907        (WebKit::AreaAllocator::AreaAllocator):
30908        (WebKit::AreaAllocator::~AreaAllocator):
30909        (WebKit::AreaAllocator::expand):
30910        (WebKit::AreaAllocator::expandBy):
30911        (WebKit::AreaAllocator::release):
30912        (WebKit::AreaAllocator::overhead):
30913        (WebKit::AreaAllocator::roundAllocation):
30914        (WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
30915        (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
30916        (WebKit::GeneralAreaAllocator::freeNode):
30917        (WebKit::GeneralAreaAllocator::expand):
30918        (WebKit::fitsWithin):
30919        (WebKit::GeneralAreaAllocator::allocate):
30920        (WebKit::GeneralAreaAllocator::allocateFromNode):
30921        (WebKit::GeneralAreaAllocator::splitNode):
30922        (WebKit::GeneralAreaAllocator::updateLargestFree):
30923        (WebKit::GeneralAreaAllocator::release):
30924        (WebKit::GeneralAreaAllocator::overhead):
30925        * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
30926        (WebCore::nextPowerOfTwo):
30927        (WebCore):
30928        (WebKit):
30929        (AreaAllocator):
30930        (WebKit::AreaAllocator::size):
30931        (WebKit::AreaAllocator::minimumAllocation):
30932        (WebKit::AreaAllocator::setMinimumAllocation):
30933        (WebKit::AreaAllocator::margin):
30934        (WebKit::AreaAllocator::setMargin):
30935        (GeneralAreaAllocator):
30936        (Node):
30937        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
30938        (WebKit):
30939        (WebKit::UpdateAtlas::UpdateAtlas):
30940        (WebKit::UpdateAtlas::~UpdateAtlas):
30941        (WebKit::UpdateAtlas::buildLayoutIfNeeded):
30942        (WebKit::UpdateAtlas::didSwapBuffers):
30943        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
30944        * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
30945        (WebCore):
30946        (WebKit):
30947        (UpdateAtlasClient):
30948        (UpdateAtlas):
30949        (WebKit::UpdateAtlas::size):
30950        (WebKit::UpdateAtlas::flags):
30951        (WebKit::UpdateAtlas::addTimeInactive):
30952        (WebKit::UpdateAtlas::isInactive):
30953        (WebKit::UpdateAtlas::isInUse):
30954
309552012-12-05  Michael Brüning  <michael.bruning@digia.com>
30956
30957        Fix compilation for Qt5.0.0 stable branch.
30958        https://bugs.webkit.org/show_bug.cgi?id=103870
30959
30960        Reviewed by Simon Hausmann.
30961
30962        QWindow::pos() and QQuickItem::pos() have been renamed to position().
30963        Patch by Lars Knoll <lars.knoll@digia.com>
30964
30965        * UIProcess/qt/PageViewportControllerClientQt.cpp:
30966        (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
30967        (WebKit::PageViewportControllerClientQt::setViewportPosition):
30968
309692012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
30970
30971        [EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
30972        https://bugs.webkit.org/show_bug.cgi?id=104110
30973
30974        Reviewed by Laszlo Gombos.
30975
30976        Unregister the WKFaviconDatabase client in EwkFaviconDatabase
30977        destructor to avoid crashing if the callbacks get called
30978        after the EwkFaviconDatabase object has been destroyed (i.e.
30979        the parent EwkContext object was destroyed).
30980
30981        * UIProcess/API/efl/ewk_favicon_database.cpp:
30982        (EwkFaviconDatabase::~EwkFaviconDatabase):
30983
309842012-12-05  Andras Becsi  <andras.becsi@digia.com>
30985
30986        [Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
30987        https://bugs.webkit.org/show_bug.cgi?id=103889
30988
30989        Reviewed by Jocelyn Turcotte.
30990
30991        The client should always be notified in PageViewportController::didChangeViewportAttributes
30992        about the changed attributes not only if the minimum scale changed. This ensures that these
30993        changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
30994        Also increase precision of scale comparisons since the current value resulted in flakyness in
30995        scale related API tests.
30996
30997        * UIProcess/PageViewportController.cpp:
30998        (WebKit::PageViewportController::didChangeViewportAttributes):
30999        (WebKit::PageViewportController::updateMinimumScaleToFit):
31000
310012012-12-05  Christophe Dumez  <christophe.dumez@intel.com>
31002
31003        [CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
31004        https://bugs.webkit.org/show_bug.cgi?id=103816
31005
31006        Reviewed by Jocelyn Turcotte.
31007
31008        Use unsigned integer for CoordinatedTile identifier type.
31009        CoordinatedTile was previously using signed integers for
31010        its identifier which is unsafe because the generated ID
31011        will overflow at some point and the C and C++ language
31012        standards say that overflow of a signed value is undefined
31013        behaviour.
31014
31015        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
31016        (WebKit::CoordinatedBackingStore::createTile):
31017        (WebKit::CoordinatedBackingStore::removeTile):
31018        (WebKit::CoordinatedBackingStore::removeAllTiles):
31019        (WebKit::CoordinatedBackingStore::updateTile):
31020        (WebKit::CoordinatedBackingStore::texture):
31021        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
31022        (WebKit::CoordinatedBackingStore::commitTileOperations):
31023        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
31024        (CoordinatedBackingStore):
31025        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
31026        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
31027        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
31028        (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
31029        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
31030        (LayerTreeCoordinatorProxy):
31031        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
31032        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
31033        (WebKit::LayerTreeRenderer::createTile):
31034        (WebKit::LayerTreeRenderer::removeTile):
31035        (WebKit::LayerTreeRenderer::updateTile):
31036        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
31037        (LayerTreeRenderer):
31038        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
31039        (WebCore::CoordinatedGraphicsLayer::createTile):
31040        (WebCore::CoordinatedGraphicsLayer::updateTile):
31041        (WebCore::CoordinatedGraphicsLayer::removeTile):
31042        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
31043        (CoordinatedGraphicsLayerClient):
31044        (CoordinatedGraphicsLayer):
31045        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
31046        (WebKit):
31047        (WebKit::CoordinatedTile::CoordinatedTile):
31048        (WebKit::CoordinatedTile::~CoordinatedTile):
31049        (WebKit::CoordinatedTile::updateBackBuffer):
31050        (WebKit::CoordinatedTile::isReadyToPaint):
31051        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
31052        (CoordinatedTile):
31053        (CoordinatedTileClient):
31054        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
31055        (WebKit::LayerTreeCoordinator::createTile):
31056        (WebKit::LayerTreeCoordinator::updateTile):
31057        (WebKit::LayerTreeCoordinator::removeTile):
31058        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
31059        (LayerTreeCoordinator):
31060
310612012-12-05  Yuni Jeong  <yhnet.jung@samsung.com>
31062
31063        [EFL][WK2] Add APIs to get/set private browsing.
31064        https://bugs.webkit.org/show_bug.cgi?id=102052
31065
31066        Reviewed by Gyuyoung Kim.
31067
31068        Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
31069
31070        * UIProcess/API/efl/ewk_settings.cpp:
31071        (ewk_settings_private_browsing_enabled_set):
31072        (ewk_settings_private_browsing_enabled_get):
31073        * UIProcess/API/efl/ewk_settings.h:
31074        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
31075        (TEST_F):
31076
310772012-12-05  Joaquim Rocha  <jrocha@igalia.com>
31078
31079        URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
31080        https://bugs.webkit.org/show_bug.cgi?id=104013
31081
31082        Reviewed by Darin Adler.
31083
31084        * WebProcess/WebProcess.cpp:
31085        (WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
31086        urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
31087        urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
31088        call the respective (already existing) methods for registering them.
31089
310902012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
31091
31092        [EFL][WK2] Add APIs to get/set default font size.
31093        https://bugs.webkit.org/show_bug.cgi?id=101921
31094
31095        Reviewed by Gyuyoung Kim.
31096
31097        Add setting APIs for default font size and a unit test.
31098
31099        * UIProcess/API/efl/ewk_settings.cpp:
31100        (ewk_settings_default_font_size_set):
31101        (ewk_settings_default_font_size_get):
31102        * UIProcess/API/efl/ewk_settings.h:
31103        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
31104        (TEST_F):
31105
311062012-12-04  Anders Carlsson  <andersca@apple.com>
31107
31108        Remove #ifs that are always true
31109        https://bugs.webkit.org/show_bug.cgi?id=104080
31110
31111        Reviewed by Andreas Kling.
31112
31113        __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
31114
31115        * PluginProcess/mac/PluginProcessMac.mm:
31116        (WebKit::initializeSandbox):
31117        (WebKit::PluginProcess::platformInitialize):
31118        * Shared/DictionaryPopupInfo.cpp:
31119        (WebKit::DictionaryPopupInfo::encode):
31120        (WebKit::DictionaryPopupInfo::decode):
31121        * Shared/DictionaryPopupInfo.h:
31122        * Shared/mac/WebEventFactory.mm:
31123        (WebKit::phaseForEvent):
31124        (WebKit::momentumPhaseForEvent):
31125        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
31126        (WebKit::initializeSandbox):
31127        (WebKit::SharedWorkerProcess::platformInitialize):
31128        * UIProcess/API/mac/PDFViewController.mm:
31129        (WebKit::PDFViewScrollView_scrollWheel):
31130        (WebKit::PDFViewController::pdfKitBundle):
31131        * UIProcess/API/mac/PageClientImpl.mm:
31132        (WebKit::PageClientImpl::didPerformDictionaryLookup):
31133        (WebKit::PageClientImpl::dismissDictionaryLookupPanel):
31134        (WebKit::PageClientImpl::recordAutocorrectionResponse):
31135        (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
31136        * UIProcess/API/mac/WKView.mm:
31137        (-[WKView displayIfNeeded]):
31138        (-[WKView draggingUpdated:]):
31139        (-[WKView viewDidMoveToWindow]):
31140        (-[WKView _intrinsicDeviceScaleFactor]):
31141        (-[WKView _cacheWindowBottomCornerRect]):
31142        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
31143        (+[WKView hideWordDefinitionWindow]):
31144        * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
31145        * UIProcess/Launcher/mac/EnvironmentVariables.h:
31146        (EnvironmentVariables):
31147        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
31148        (WebKit::addDYLDEnvironmentAdditions):
31149        (WebKit::createWebProcessServiceForWebKitDevelopment):
31150        (WebKit):
31151        (WebKit::tryPreexistingProcess):
31152        (WebKit::createProcess):
31153        (WebKit::ProcessLauncher::launchProcess):
31154        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
31155        (WebKit::PluginInfoStore::shouldUsePlugin):
31156        (WebKit::PluginInfoStore::reactivateInactivePlugin):
31157        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
31158        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
31159        * UIProcess/WebPageProxy.cpp:
31160        (WebKit::WebPageProxy::didCommitLoadForFrame):
31161        (WebKit::WebPageProxy::pageDidScroll):
31162        (WebKit::WebPageProxy::processDidCrash):
31163        (WebKit::WebPageProxy::recordAutocorrectionResponse):
31164        (WebKit::WebPageProxy::handleAlternativeTextUIResult):
31165        * UIProcess/WebPageProxy.h:
31166        (WebPageProxy):
31167        * UIProcess/WebPageProxy.messages.in:
31168        * UIProcess/mac/TextCheckerMac.mm:
31169        (WebKit::initializeState):
31170        (WebKit::TextChecker::getGuessesForWord):
31171        * UIProcess/mac/WKFullScreenWindowController.mm:
31172        (convertRectToScreen):
31173        * UIProcess/mac/WebContextMac.mm:
31174        (WebKit::WebContext::platformInitializeWebProcess):
31175        * WebKit2Prefix.h:
31176        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
31177        (WebKit::NPN_GetValue):
31178        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
31179        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
31180        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
31181        * WebProcess/WebCoreSupport/WebEditorClient.h:
31182        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
31183        (InitWebCoreSystemInterface):
31184        * WebProcess/WebPage/WebPage.cpp:
31185        (WebKit):
31186        * WebProcess/WebPage/WebPage.h:
31187        (WebPage):
31188        * WebProcess/WebPage/WebPage.messages.in:
31189        * WebProcess/WebPage/mac/WebPageMac.mm:
31190        (WebKit::WebPage::performDictionaryLookupAtLocation):
31191        (WebKit::WebPage::performDictionaryLookupForSelection):
31192        (WebKit::WebPage::performDictionaryLookupForRange):
31193        * WebProcess/mac/SecItemShimMethods.mm:
31194        * WebProcess/mac/WebProcessMac.mm:
31195        (WebKit::WebProcess::secItemResponse):
31196        * WebProcess/mac/WebProcessMainMac.mm:
31197        (WebKit::WebProcessMain):
31198        * WebProcessService/WebProcessServiceMain.mm:
31199        (main):
31200        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
31201        (WebProcessServiceForWebKitDevelopmentEventHandler):
31202        (main):
31203
312042012-12-04  Anders Carlsson  <andersca@apple.com>
31205
31206        Remove more Snow Leopard only code
31207        https://bugs.webkit.org/show_bug.cgi?id=104079
31208
31209        Reviewed by Andreas Kling.
31210
31211        All of the SecKeychainItem code was Snow Leopard only.
31212
31213        * Shared/mac/SecKeychainItemRequestData.cpp: Removed.
31214        * Shared/mac/SecKeychainItemRequestData.h: Removed.
31215        * Shared/mac/SecKeychainItemResponseData.cpp: Removed.
31216        * Shared/mac/SecKeychainItemResponseData.h: Removed.
31217        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
31218        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
31219        * UIProcess/WebProcessProxy.h:
31220        (WebProcessProxy):
31221        * UIProcess/WebProcessProxy.messages.in:
31222        * UIProcess/mac/WebProcessProxyMac.mm:
31223        * WebKit2.xcodeproj/project.pbxproj:
31224        * WebProcess/WebProcess.h:
31225        * WebProcess/WebProcess.messages.in:
31226        * WebProcess/mac/KeychainItemShimMethods.h: Removed.
31227        * WebProcess/mac/KeychainItemShimMethods.mm: Removed.
31228        * WebProcess/mac/WebProcessMac.mm:
31229        (WebKit::WebProcess::initializeShim):
31230        * WebProcess/mac/WebProcessShim.mm:
31231
312322012-12-04  Anders Carlsson  <andersca@apple.com>
31233
31234        Remove PageClient::didChangeScrollbarsForMainFrame
31235        https://bugs.webkit.org/show_bug.cgi?id=104077
31236
31237        Reviewed by Andreas Kling.
31238
31239        The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
31240
31241        * UIProcess/API/gtk/PageClientImpl.cpp:
31242        * UIProcess/API/gtk/PageClientImpl.h:
31243        (PageClientImpl):
31244        * UIProcess/API/mac/PageClientImpl.h:
31245        (PageClientImpl):
31246        * UIProcess/API/mac/PageClientImpl.mm:
31247        * UIProcess/API/mac/WKView.mm:
31248        (-[WKView viewWillMoveToWindow:]):
31249        * UIProcess/API/mac/WKViewInternal.h:
31250        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
31251        * UIProcess/PageClient.h:
31252        (PageClient):
31253        * UIProcess/WebPageProxy.cpp:
31254        (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
31255        * UIProcess/efl/PageClientBase.cpp:
31256        (WebKit):
31257        * UIProcess/efl/PageClientBase.h:
31258        (PageClientBase):
31259        * UIProcess/qt/QtPageClient.h:
31260        * UIProcess/win/WebView.cpp:
31261        * UIProcess/win/WebView.h:
31262        (WebView):
31263
312642012-12-04  Andy Estes  <aestes@apple.com>
31265
31266        [WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
31267        https://bugs.webkit.org/show_bug.cgi?id=104063
31268
31269        Reviewed by Sam Weinig.
31270
31271        Objective-C message graphs can include browsing context controller
31272        objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
31273        in the web process plug-in and as WKBrowsingContextControllers in the UI
31274        process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
31275        by treating them as type WKBrowsingContextControllerType.
31276
31277        * Shared/mac/ObjCObjectGraphCoders.mm:
31278        (WebKit::typeFromObject):
31279
312802012-12-04  Simon Fraser  <simon.fraser@apple.com>
31281
31282        Show a mini visualizer for the tile cache tiles
31283        https://bugs.webkit.org/show_bug.cgi?id=104053
31284
31285        Reviewed by Beth Dakin.
31286
31287        Plumb through a preference that controls the visibility of a tiled
31288        scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
31289
31290        * Shared/WebPreferencesStore.h:
31291        * UIProcess/API/C/WKPreferences.cpp:
31292        (WKPreferencesSetTiledScrollingIndicatorVisible):
31293        (WKPreferencesGetTiledScrollingIndicatorVisible):
31294        * UIProcess/API/C/WKPreferencesPrivate.h:
31295        * WebProcess/WebPage/WebPage.cpp:
31296        (WebKit::WebPage::updatePreferences):
31297        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
31298        (TiledCoreAnimationDrawingArea):
31299        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
31300        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
31301        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
31302        (WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
31303        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
31304
313052012-12-04  Anders Carlsson  <andersca@apple.com>
31306
31307        Set the visible process name before entering the sandbox
31308        https://bugs.webkit.org/show_bug.cgi?id=104030
31309        <rdar://problem/12800317>
31310
31311        Reviewed by Sam Weinig.
31312
31313        Pass the UI process name along as a process initialization parameter so we can set it
31314        before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
31315
31316        * Shared/WebProcessCreationParameters.cpp:
31317        (WebKit::WebProcessCreationParameters::encode):
31318        (WebKit::WebProcessCreationParameters::decode):
31319        * Shared/WebProcessCreationParameters.h:
31320        (WebProcessCreationParameters):
31321        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
31322        (WebKit::connectToWebProcessServiceForWebKitDevelopment):
31323        (WebKit::createWebProcessService):
31324        (WebKit::createProcess):
31325        * UIProcess/mac/WebContextMac.mm:
31326        (WebKit::WebContext::platformInitializeWebProcess):
31327        * WebProcess/mac/WebProcessInitialization.h:
31328        (WebProcessInitializationParameters):
31329        * WebProcess/mac/WebProcessInitialization.mm:
31330        (WebKit::initializeWebProcess):
31331        * WebProcess/mac/WebProcessMac.mm:
31332        (WebKit::WebProcess::platformInitializeWebProcess):
31333        * WebProcess/mac/WebProcessMainMac.mm:
31334        (WebKit::WebProcessMain):
31335        * WebProcess/mac/WebProcessServiceEntryPoints.h:
31336        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
31337        (WebKit::WebProcessServiceEventHandler):
31338        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
31339        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
31340        (WebProcessServiceForWebKitDevelopmentEventHandler):
31341
313422012-12-03  Alexey Proskuryakov  <ap@apple.com>
31343
31344        [WK2] Track private browsing session explicitly
31345        <rdar://problem/12714532>
31346        https://bugs.webkit.org/show_bug.cgi?id=103953
31347
31348        Reviewed by Jessie Berlin.
31349
31350        * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
31351        Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
31352        makes no sense.
31353
31354        * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
31355        This is the only place in WK2 where we can learn that private browsing got disabled -
31356        no other functions are called when there are no pages open.
31357
31358        * UIProcess/WebContext.h:
31359        * UIProcess/WebContext.cpp:
31360        (WebKit::WebContext::willStartUsingPrivateBrowsing):
31361        (WebKit::WebContext::willStopUsingPrivateBrowsing):
31362        Count the number of API calls. We only implement a single shared private browsing
31363        session, not one per page group as API implies. When private browsing gets disabled,
31364        we want to destroy its session.
31365
31366        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
31367        Ensure a private browsing session if the current page needs it.
31368
31369        * WebProcess/WebProcess.h:
31370        * WebProcess/WebProcess.messages.in:
31371        * WebProcess/WebProcess.cpp:
31372        (WebKit::WebProcess::ensurePrivateBrowsingSession):
31373        (WebKit::WebProcess::destroyPrivateBrowsingSession):
31374        Call through to WebFrameNetworkingContext.
31375
313762012-12-04  Yuni Jeong  <yhnet.jung@samsung.com>
31377
31378        [EFL][WK2] Add APIs to toggle plug-ins support.
31379        https://bugs.webkit.org/show_bug.cgi?id=101920
31380
31381        Reviewed by Gyuyoung Kim.
31382
31383        Add setting APIs to toggle plug-ins support and add corresponding API tests.
31384
31385        * UIProcess/API/efl/ewk_settings.cpp:
31386        (ewk_settings_plugins_enabled_set):
31387        (ewk_settings_plugins_enabled_get):
31388        * UIProcess/API/efl/ewk_settings.h:
31389        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
31390        (TEST_F):
31391
313922012-12-04  Andras Becsi  <andras.becsi@digia.com>
31393
31394        [Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
31395        https://bugs.webkit.org/show_bug.cgi?id=103901
31396
31397        Reviewed by Jocelyn Turcotte.
31398
31399        Setting the specific flag instead of resetting all the flags
31400        when enabling QQuickItem::ItemAcceptsDrops.
31401        This fixes clipping of the contents of QQuickWebView.
31402
31403        * UIProcess/API/qt/qquickwebview.cpp:
31404        (QQuickWebViewPrivate::initialize):
31405
314062012-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
31407
31408        [GTK] Avoid unnecessary heap allocations during drag and drop operations
31409        https://bugs.webkit.org/show_bug.cgi?id=87938
31410
31411        Reviewed by Martin Robinson.
31412
31413        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
31414        (webkitWebViewBaseDragDataReceived): Create DragData for the given
31415        DataObjectGtk in the stack.
31416        (webkitWebViewBaseDragMotion): Ditto.
31417        (webkitWebViewBaseDragDrop): Ditto.
31418
314192012-12-04  Jaehun Lim  <ljaehun.lim@samsung.com>
31420
31421        [EFL][WK2] Use consistent class names inside Ewk classes
31422        https://bugs.webkit.org/show_bug.cgi?id=103015
31423
31424        Reviewed by Gyuyoung Kim.
31425
31426        WebKit EFL doesn't use '_' in class names.
31427        This patch removes the remaining uses of '_' inside Ewk classes.
31428
31429        * UIProcess/API/efl/EwkViewImpl.cpp:
31430        (EwkViewImpl::EwkViewImpl):
31431        (EwkViewImpl::~EwkViewImpl):
31432        (EwkViewImpl::informIconChange):
31433        (EwkViewImpl::requestColorPicker):
31434        (EwkViewImpl::requestPopupMenu):
31435        * UIProcess/API/efl/ewk_back_forward_list.cpp:
31436        (EwkBackForwardList::nextItem):
31437        (EwkBackForwardList::previousItem):
31438        (EwkBackForwardList::currentItem):
31439        (EwkBackForwardList::itemAt):
31440        (EwkBackForwardList::getFromCacheOrCreate):
31441        (EwkBackForwardList::createEinaList):
31442        * UIProcess/API/efl/ewk_back_forward_list_private.h:
31443        (EwkBackForwardList):
31444        * UIProcess/API/efl/ewk_context.cpp:
31445        (EwkContext::EwkContext):
31446        (EwkContext::cookieManager):
31447        (EwkContext::databaseManager):
31448        (EwkContext::ensureFaviconDatabase):
31449        (EwkContext::faviconDatabase):
31450        (EwkContext::storageManager):
31451        * UIProcess/API/efl/ewk_context_private.h:
31452        (EwkContext):
31453        * UIProcess/API/efl/ewk_cookie_manager.cpp:
31454        (EwkCookieManager::cookiesDidChange):
31455        (getAcceptPolicyCallback):
31456        (getHostnamesWithCookiesCallback):
31457        * UIProcess/API/efl/ewk_cookie_manager_private.h:
31458        (EwkCookieManager::create):
31459        * UIProcess/API/efl/ewk_database_manager.cpp:
31460        (EwkDatabaseManager::createOriginList):
31461        (getDatabaseOriginsCallback):
31462        * UIProcess/API/efl/ewk_database_manager_private.h:
31463        (EwkDatabaseManager):
31464        * UIProcess/API/efl/ewk_favicon_database.cpp:
31465        (EwkFaviconDatabase::didChangeIconForPageURL):
31466        (EwkFaviconDatabase::iconDataReadyForPageURL):
31467        * UIProcess/API/efl/ewk_popup_menu.cpp:
31468        (EwkPopupMenu::EwkPopupMenu):
31469        (EwkPopupMenu::~EwkPopupMenu):
31470        * UIProcess/API/efl/ewk_storage_manager.cpp:
31471        (EwkStorageManager::createOriginList):
31472        (getStorageOriginsCallback):
31473        * UIProcess/API/efl/ewk_storage_manager_private.h:
31474        (EwkStorageManager):
31475
314762012-12-03  Huang Dongsung  <luxtella@company100.net>
31477
31478        Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
31479        https://bugs.webkit.org/show_bug.cgi?id=103843
31480
31481        Reviewed by Noam Rosenthal.
31482
31483        Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
31484        because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
31485        setting the root layer. There is no behaviour changes because setting the root
31486        layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
31487        is received.
31488
31489        This is in preparation for refactoring TextureMapper to work in an actor
31490        model (http://webkit.org/b/103854).
31491
31492        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
31493        (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
31494        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
31495        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
31496
314972012-12-03  Anders Carlsson  <andersca@apple.com>
31498
31499        Make it easier to add more web process initialization parameters
31500        https://bugs.webkit.org/show_bug.cgi?id=103942
31501
31502        Reviewed by Andreas Kling.
31503
31504        Add a WebProcessInitializationParameters struct to make it easier to add more initialization
31505        parameters in the future. Also, fix naming and spelling errors.
31506
31507        * WebProcess/mac/WebProcessInitialization.h:
31508        (WebProcessInitializationParameters):
31509        (WebKit):
31510        * WebProcess/mac/WebProcessInitialization.mm:
31511        (WebKit::initializeWebProcess):
31512        * WebProcess/mac/WebProcessMainMac.mm:
31513        (WebKit::WebProcessMain):
31514        * WebProcess/mac/WebProcessServiceEntryPoints.h:
31515        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
31516        (WebKit::WebProcessServiceEventHandler):
31517        (webProcessServiceMain):
31518        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
31519        * WebProcessService/WebProcessServiceMain.mm:
31520        (main):
31521        * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
31522        (WebProcessServiceForWebKitDevelopmentEventHandler):
31523
315242012-12-03  Tim Horton  <timothy_horton@apple.com>
31525
31526        PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
31527        https://bugs.webkit.org/show_bug.cgi?id=103286
31528        <rdar://problem/12752315>
31529
31530        Reviewed by Dan Bernstein.
31531
31532        Style fixes after http://trac.webkit.org/changeset/136316.
31533
31534        * WebProcess/Plugins/PDF/PDFPlugin.mm:
31535        (WebKit::PDFPlugin::isFullFramePlugin):
31536
315372012-12-03  Alexis Menard  <alexis@webkit.org>
31538
31539        [Mac] Enable CSS3 background-position offset by default.
31540        https://bugs.webkit.org/show_bug.cgi?id=103905
31541
31542        Reviewed by Simon Fraser.
31543
31544        Turn the flag on by default.
31545
31546        * Configurations/FeatureDefines.xcconfig:
31547
315482012-12-03  Ryuan Choi  <ryuan.choi@samsung.com>
31549
31550        [EFL][WK2] Add contents,size,changed signal to the ewk_view API
31551        https://bugs.webkit.org/show_bug.cgi?id=103094
31552
31553        Reviewed by Kenneth Rohde Christiansen.
31554
31555        This patch emits signal to let applications know contents size.
31556        Applications can use this signal to give some additional behavior such as
31557        minimap, external scroll for quick movement.
31558
31559        * UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
31560        * UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
31561        * UIProcess/API/efl/EwkViewImpl.h: Ditto.
31562        (EwkViewImpl):
31563        * UIProcess/API/efl/ewk_view.h: Added test case.
31564        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
31565        (onContentsSizeChanged):
31566        (TEST_F):
31567        * UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
31568        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
31569        * UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
31570        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
31571        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31572        (WebKit::WebChromeClient::contentsSizeChanged):
31573        Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
31574
315752012-12-03  Csaba Osztrogonác  <ossy@webkit.org>
31576
31577        Unreviewed fix after r136292 to make GIT-SVN repositories happy.
31578
31579        * win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
31580        * win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
31581        * win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
31582        * win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
31583        * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
31584        * win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
31585        * win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
31586        * win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
31587        * win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
31588        * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
31589
315902012-12-03  Michael Brüning  <michael.bruning@digia.com>
31591
31592        [Qt][WK2] New resize tests fail
31593        https://bugs.webkit.org/show_bug.cgi?id=103875
31594
31595        Reviewed by Jocelyn Turcotte.
31596
31597        Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.   
31598
31599        * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
31600
316012012-12-03  Joaquim Rocha  <jrocha@igalia.com>
31602
31603        [GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
31604        https://bugs.webkit.org/show_bug.cgi?id=103729
31605
31606        Reviewed by Carlos Garcia Campos.
31607
31608        When a URI scheme is registered and the WebProcess is killed,
31609        those schemes would not work anymore after the process is relaunched.
31610
31611        This was observed in Epiphany and possibly affects any port that
31612        uses libsoup.
31613
31614        * Shared/WebProcessCreationParameters.cpp:
31615        (WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
31616        (WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
31617        * Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
31618        (WebProcessCreationParameters):
31619        * UIProcess/efl/WebContextEfl.cpp:
31620        (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
31621        registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
31622        * UIProcess/gtk/WebContextGtk.cpp:
31623        (WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
31624        registered in the WebSoupRequestManagerProxy.
31625        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
31626        (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
31627        * UIProcess/soup/WebSoupRequestManagerProxy.h:
31628        (WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
31629        (WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
31630        * WebProcess/soup/WebProcessSoup.cpp:
31631        (WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
31632        found in the parameters.
31633        * WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
31634        (WebSoupRequestManager):
31635
316362012-12-03  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
31637
31638        CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
31639        https://bugs.webkit.org/show_bug.cgi?id=103737
31640
31641        Reviewed by Kenneth Rohde Christiansen.
31642
31643        ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
31644        This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
31645        descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
31646        affected already by the viewport descriptors from the previous stylesheet.
31647
31648        New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
31649        was added to frame view so that viewport descriptors can always be applied to the reliable
31650        viewport size.
31651
31652        Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
31653        are assigned appropriately now in WebPage::sendViewportAttributesChanged().
31654
31655        * WebProcess/WebPage/WebPage.cpp:
31656        (WebKit::WebPage::sendViewportAttributesChanged):
31657
316582012-12-02  Huang Dongsung  <luxtella@company100.net>
31659
31660        Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
31661        https://bugs.webkit.org/show_bug.cgi?id=103843
31662
31663        Reviewed by Noam Rosenthal.
31664
31665        Send messages to the UI process by the tree order.
31666        This is in preparation for refactoring TextureMapper to work in an actor
31667        model (http://webkit.org/b/103854).
31668
31669        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
31670        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
31671
316722012-12-02  Ryuan Choi  <ryuan.choi@gmail.com>
31673
31674        [EFL][WK2] Update comments of header files which mentions deprecated API
31675        https://bugs.webkit.org/show_bug.cgi?id=103718
31676
31677        Reviewed by Gyuyoung Kim.
31678
31679        Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
31680
31681        * UIProcess/API/efl/ewk_context.h:
31682        * UIProcess/API/efl/ewk_database_manager.h:
31683        * UIProcess/API/efl/ewk_storage_manager.h:
31684
316852012-12-02  Huang Dongsung  <luxtella@company100.net>
31686
31687        REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
31688        https://bugs.webkit.org/show_bug.cgi?id=103845
31689
31690        Reviewed by Noam Rosenthal.
31691
31692        flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
31693        updateContentBuffers(). It means there can be the moment that
31694        CoordinatedGraphicsLayer has m_mainBackingStore although
31695        shouldHaveBackingStore() return false.
31696        This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
31697        of m_mainBackingStore.
31698
31699        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
31700        (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
31701        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
31702        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
31703        (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
31704        (WebCore):
31705        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
31706        (CoordinatedGraphicsLayer):
31707
317082012-12-02  Seokju Kwon  <seokju.kwon@gmail.com>
31709
31710        Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
31711        https://bugs.webkit.org/show_bug.cgi?id=103743
31712
31713        Reviewed by Gustavo Noronha Silva.
31714
31715        EFL port is using a GSocket based implementation as well.
31716        WebSocketServerSoup can be used together.
31717
31718        * GNUmakefile.list.am:
31719        * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
31720        (WebKit):
31721        (WebKit::connectionCallback):
31722        (WebKit::WebSocketServer::platformInitialize):
31723        (WebKit::WebSocketServer::platformListen):
31724        (WebKit::WebSocketServer::platformClose):
31725
317262012-12-02  Christophe Dumez  <christophe.dumez@intel.com>
31727
31728        [CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
31729        https://bugs.webkit.org/show_bug.cgi?id=103815
31730
31731        Reviewed by Noam Rosenthal.
31732
31733        Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
31734        to avoid calling HashMap::find() twice. find() was called once
31735        explicitly to get an iterator and a second time to remove the
31736        value from the value from the HashMap. We could have used
31737        remove(iterator) instead of remove(key) but using take() results
31738        in simpler code.
31739
31740        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
31741        (WebKit::LayerTreeRenderer::removeImageBacking):
31742
317432012-12-02  Huang Dongsung  <luxtella@company100.net>
31744
31745        Coordinated Graphics: Images disappear randomly
31746        https://bugs.webkit.org/show_bug.cgi?id=103522
31747
31748        Reviewed by Kenneth Rohde Christiansen.
31749
31750        Currently, we delete layers before synchronizing layer states of layers. It
31751        causes flash. This patch deletes layers after the synchronization.
31752
31753        In addiation, this patch removes updateViewport() in
31754        LayerTreeCoordinatorProxy::deleteCompositingLayer() because
31755        LayerTreeCoordinatorProxy::didRenderFrame() is always called after
31756        deleting layers.
31757
31758        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
31759        (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
31760        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
31761        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
31762
317632012-12-02  Brent Fulgham  <bfulgham@webkit.org>
31764
31765        [Windows, WinCairo] Revise export definitions to match mac.
31766        https://bugs.webkit.org/show_bug.cgi?id=103687
31767
31768        Reviewed by Tim Horton.
31769
31770        Update export definition files to use the same feature exclusion
31771        macros as other generated ports.
31772
31773        * win/WebKit2.def.in: Added additional build macro guards.
31774
317752012-12-02  No'am Rosenthal  <noam@webkit.org>
31776
31777        [CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
31778        https://bugs.webkit.org/show_bug.cgi?id=103714
31779
31780        Reviewed by Kenneth Rohde Christiansen.
31781
31782        Remove a layer from the m_pendingSyncBackingStores map when it is deleted.
31783
31784        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
31785        (WebKit::LayerTreeRenderer::deleteLayer):
31786
317872012-12-02  Yael Aharon  <yael.aharon@intel.com>
31788
31789        [EFL][WK2] MiniBrowser should have a legacy mode
31790        https://bugs.webkit.org/show_bug.cgi?id=103679
31791
31792        Reviewed by Kenneth Rohde Christiansen.
31793
31794        We need a way to create a web view in legacy mode, while still using the default context.
31795        WKViewCreate creates a legacy view, so change it to create a default context if a context
31796        was not passed.
31797
31798        * UIProcess/API/efl/ewk_view.cpp:
31799        (ewk_view_base_add):
31800
318012012-12-01  Tim Horton  <timothy_horton@apple.com>
31802
31803        PDFPlugin: Support PDF form editing in <iframe>s
31804        https://bugs.webkit.org/show_bug.cgi?id=103287
31805        <rdar://problem/10326917>
31806
31807        Reviewed by Dan Bernstein.
31808
31809        PDFPlugin form editing depends on having a Document that has the same
31810        size and position as the plugin; this is true not only in the full-main-frame
31811        case, but also in the <iframe> case. Therefore, we can enable form editing
31812        for <iframe> PDFPlugins.
31813
31814        * WebProcess/Plugins/PDF/PDFPlugin.mm:
31815        (WebKit::PDFPlugin::supportsForms): Support form editing whenever
31816        our Document's widget is our PluginView (which will only be true in the
31817        full-main-frame or <iframe> case).
31818
318192012-12-01  Tim Horton  <timothy_horton@apple.com>
31820
31821        PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
31822        https://bugs.webkit.org/show_bug.cgi?id=103286
31823        <rdar://problem/12752315>
31824
31825        Reviewed by Dan Bernstein.
31826
31827        Detecting whether or not a PDFPlugin is a full-page plugin or not is not
31828        as simple as checking isMainFrame(), because <embed> and <object> will
31829        cause PDFPlugin to live in the main frame, while still not being full-page.
31830        We also have to check that the main frame's document is a PluginDocument,
31831        and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.
31832
31833        * WebProcess/Plugins/PDF/PDFPlugin.h:
31834        (PDFPlugin): Add isFullFramePlugin.
31835        * WebProcess/Plugins/PDF/PDFPlugin.mm:
31836        (WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
31837        backed by a PluginDocument, and that that PluginDocument corresponds
31838        to this PDFPlugin.
31839        (WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
31840        (WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.
31841
318422012-12-01  Tim Horton  <timothy_horton@apple.com>
31843
31844        [wk2] Use spoolRect instead of snapshots for print preview
31845        https://bugs.webkit.org/show_bug.cgi?id=103798
31846        <rdar://problem/12686749>
31847
31848        Reviewed by Sam Weinig.
31849
31850        Revert to using spoolRect instead of snapshotting for printing; this was a bogus
31851        change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
31852        the core of that change, and incorrectly disregards the Frame parameter passed to
31853        beginPrinting, instead using the WebPage's current Frame.
31854
31855        * WebProcess/WebPage/WebPage.cpp:
31856        (WebKit::WebPage::drawRectToImage):
31857
318582012-11-30  Anders Carlsson  <andersca@apple.com>
31859
31860        Always listen for the DidFirstLayout layout milestone
31861        https://bugs.webkit.org/show_bug.cgi?id=103795
31862        <rdar://problem/12790268>
31863
31864        Reviewed by Dan Bernstein.
31865
31866        The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.
31867
31868        * WebProcess/WebPage/WebPage.cpp:
31869        (WebKit::WebPage::WebPage):
31870
318712012-11-30  Pierre Rossi  <pierre.rossi@gmail.com>
31872
31873        [Qt] Unreviewed speculative Mac build fix after r136232
31874
31875        cleanup an oversight from r136235
31876
31877        * PluginProcess.pro: s/webkit/webkitwidgets/
31878
318792012-11-30  Brent Fulgham  <bfulgham@webkit.org>
31880
31881        [Windows, WinCairo] Generate library export symbol file.
31882        https://bugs.webkit.org/show_bug.cgi?id=103687
31883
31884        Reviewed by Tim Horton.
31885
31886        Generate the export definition file based on the compile options
31887        and port settings. Get rid of the old hand-written file, and use
31888        a revised master input file that allows using conditional
31889        settings to generate the output, much like the Mac and other
31890        ports do.
31891
31892        * win/WebKit2.def: Removed.
31893        * win/WebKit2.def.in: Added.
31894        * win/WebKit2Apple.vsprops:
31895        * win/WebKit2CFLite.def: Removed.
31896        * win/WebKit2CFLite.vsprops:
31897        * win/WebKit2Common.vsprops:
31898        * win/WebKit2ExportGenerator.vcproj: Added.
31899        * win/WebKit2ExportGeneratorCommon.vsprops: Added.
31900        * win/WebKit2ExportGeneratorDebug.vsprops: Added.
31901        * win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
31902        * win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
31903        * win/WebKit2ExportGeneratorPostBuild.cmd: Added.
31904        * win/WebKit2ExportGeneratorPreBuild.cmd: Added.
31905        * win/WebKit2ExportGeneratorProduction.vsprops: Added.
31906        * win/WebKit2ExportGeneratorRelease.vsprops: Added.
31907        * win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
31908
319092012-11-30  Tim Horton  <timothy_horton@apple.com>
31910
31911        (Simple)PDFPlugin: Support conversion of PostScript documents
31912        https://bugs.webkit.org/show_bug.cgi?id=103289
31913        <rdar://problem/10235708>
31914
31915        Reviewed by Dan Bernstein.
31916
31917        SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
31918        to PDF before handing them off to their respective backends.
31919
31920        As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.
31921
31922        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
31923        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
31924        (WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
31925        (WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
31926        (WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
31927        (WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
31928        (WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
31929        (WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
31930        (WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
31931        * WebProcess/WebPage/WebPage.cpp:
31932        (WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.
31933
319342012-11-30  Tim Horton  <timothy_horton@apple.com>
31935
31936        PDFPlugin: "Show Definition" context menu item should be implemented
31937        https://bugs.webkit.org/show_bug.cgi?id=103389
31938        <rdar://problem/12710751>
31939
31940        Reviewed by Dan Bernstein.
31941
31942        Call existing dictionary popup code when the context menu "Show Definition" item is selected.
31943
31944        * WebProcess/Plugins/PDF/PDFPlugin.h:
31945        (PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
31946        * WebProcess/Plugins/PDF/PDFPlugin.mm:
31947        (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
31948        (WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
31949        Ask WebPageProxy to show the dictionary popup.
31950        (WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.
31951
319522012-11-30  Simon Hausmann  <simon.hausmann@digia.com>
31953
31954        Unreviewed trivial Qt build fix:
31955
31956        Always link against WebProcess against QT += webkit and use webkitwidgets only if available.
31957
31958        * WebProcess.pro:
31959
319602012-11-30  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi  <pierre.rossi@digia.com>
31961
31962        [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
31963        https://bugs.webkit.org/show_bug.cgi?id=99314
31964
31965        Reviewed by Tor Arne Vestbø.
31966
31967        This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
31968        shared libraries.
31969
31970        It's a big refactoring that mostly involves moving WebCore dependent
31971        code into QtWebKit and accessing it through exported QWebFrameAdapter
31972        and QWebPageAdapter classes.
31973
31974
31975        * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
31976        * UIProcess/API/qt/tests/publicapi/publicapi.pro:
31977        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
31978        * UIProcess/API/qt/tests/qmltests/WebView.pro:
31979        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
31980        * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
31981        * UIProcess/API/qt/tests/tests.pri:
31982
319832012-11-30  Joone Hur  <joone.hur@intel.com>
31984
31985        [EFL]Drawing artifacts while resizing the view
31986        https://bugs.webkit.org/show_bug.cgi?id=101288
31987
31988        Reviewed by Kenneth Rohde Christiansen.
31989
31990        An Evas GL surface is recreated when the window is resized, but the update of the surface is 
31991        asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
31992        As a result, the flickering problem happens while resizing the view.
31993        So this patch allows to create an Evas GL surface synchronously with the update of the surface.
31994
31995        * UIProcess/API/efl/EwkViewImpl.cpp:
31996        (EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
31997        (EwkViewImpl::displayTimerFired): Create an Evas GL surface.
31998        * UIProcess/API/efl/EwkViewImpl.h:
31999        (EwkViewImpl::setNeedsSurfaceResize): Added.
32000        (EwkViewImpl):
32001        * UIProcess/API/efl/ewk_view.cpp:
32002        (_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.
32003
320042012-11-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
32005
32006        [WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
32007        https://bugs.webkit.org/show_bug.cgi?id=103428
32008
32009        Reviewed by Kenneth Rohde Christiansen.
32010
32011        Set now appropriate fixed visible content rect before layout when viewport
32012        attributes change.
32013
32014        * UIProcess/PageViewportController.cpp:
32015        (WebKit::PageViewportController::syncVisibleContents):
32016        (WebKit::PageViewportController::didChangeViewportAttributes):
32017        * WebProcess/WebPage/WebPage.cpp:
32018        (WebKit::WebPage::sendViewportAttributesChanged):
32019
320202012-11-30  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
32021
32022        [EFL] Gardening after r136031 and r136142
32023        https://bugs.webkit.org/show_bug.cgi?id=103734
32024
32025        Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
32026        is asserting after r136031. So, disabling the test until bug 103732 is
32027        fixed.
32028
32029        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
32030        (TEST_F):
32031
320322012-11-30  Zeno Albisser  <zeno@webkit.org>
32033
32034        [Qt] Enable WebGL by default.
32035        https://bugs.webkit.org/show_bug.cgi?id=103731
32036
32037        Reviewed by Simon Hausmann.
32038
32039        * UIProcess/API/qt/qquickwebview.cpp:
32040        (QQuickWebViewPrivate::initialize):
32041
320422012-11-30  Mihai Maerean  <mmaerean@adobe.com>
32043
32044        [CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
32045        https://bugs.webkit.org/show_bug.cgi?id=101192
32046
32047        Reviewed by Hajime Morita.
32048
32049        Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.
32050
32051        Tests: No new tests because there is no functional change.
32052
32053        * WebProcess/InjectedBundle/InjectedBundle.cpp:
32054        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
32055        (WebKit::InjectedBundle::setCSSRegionsEnabled):
32056        (WebKit):
32057        * WebProcess/InjectedBundle/InjectedBundle.h:
32058        (InjectedBundle):
32059        * WebProcess/WebPage/WebPage.cpp:
32060        (WebKit::WebPage::updatePreferences):
32061
320622012-11-29  Tim Horton  <timothy_horton@apple.com>
32063
32064        PDFPlugin: Only plain text can be copied out of PDFs
32065        https://bugs.webkit.org/show_bug.cgi?id=103591
32066        <rdar://problem/12555161>
32067
32068        Reviewed by Alexey Proskuryakov.
32069
32070        Don't write zero-length data to the pasteboard, just skip the item.
32071
32072        As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
32073        so we assert that it doesn't happen in debug builds.
32074
32075        * WebProcess/Plugins/PDF/PDFPlugin.mm:
32076        (WebKit::PDFPlugin::writeItemsToPasteboard):
32077
320782012-11-29  Martin Robinson  <mrobinson@igalia.com>
32079
32080        [GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
32081        https://bugs.webkit.org/show_bug.cgi?id=103476
32082
32083        Reviewed by Alejandro G. Castro.
32084
32085        Create the RedirectedXCompositeWindow with an argument specifying that it
32086        should never have a GLContext backing it.
32087
32088        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
32089        (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
32090
320912012-11-29  Rafael Weinstein  <rafaelw@chromium.org>
32092
32093        [HTMLTemplateElement] Add feature flag
32094        https://bugs.webkit.org/show_bug.cgi?id=103694
32095
32096        Reviewed by Adam Barth.
32097
32098        This flag will guard the implementation of the HTMLTemplateElement.
32099        http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
32100
32101        * Configurations/FeatureDefines.xcconfig:
32102
321032012-11-29  Alexey Proskuryakov  <ap@apple.com>
32104
32105        [WK2] Forward cookie jar calls to NetworkProcess
32106        https://bugs.webkit.org/show_bug.cgi?id=103457
32107
32108        Reviewed by Darin Adler.
32109
32110        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
32111        Added messages to maniputate CookieJar in network process.
32112
32113        * NetworkProcess/NetworkConnectionToWebProcess.h:
32114        * NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,
32115        this file has a using direcive.
32116        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
32117        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
32118        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
32119        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
32120        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
32121        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
32122        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
32123        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
32124        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
32125        Added implementations that use PlatformCookieJar in the network process.
32126
32127        * Scripts/webkit2/messages.py: (struct_or_class):
32128        * Shared/WebCoreArgumentCoders.h:
32129        * Shared/WebCoreArgumentCoders.cpp:
32130        (CoreIPC::::encode):
32131        (CoreIPC::::decode):
32132        Added support for Cookie.
32133        
32134        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
32135        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
32136        (WebKit::WebPlatformStrategies::cookiesForDOM):
32137        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
32138        (WebKit::WebPlatformStrategies::cookiesEnabled):
32139        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
32140        (WebKit::WebPlatformStrategies::getRawCookies):
32141        (WebKit::WebPlatformStrategies::deleteCookie):
32142        (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
32143        (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
32144        (WebKit::WebPlatformStrategies::deleteAllCookies):
32145        When using the network process, forward cookie calls to it.
32146
321472012-11-29  Kiran Muppala  <cmuppala@apple.com>
32148
32149        Instantiate snapshot plugins in a PluginProcess with muted audio
32150        https://bugs.webkit.org/show_bug.cgi?id=101536
32151
32152        Reviewed by Anders Carlsson.
32153
32154        Plugins created for generation of a snapshot should be instantiated in a separate process with
32155        muted audio so that any sound generated during the snapshot process is not audible to the user.
32156
32157        * Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
32158        * PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and
32159        snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
32160        so that PluginProcessConnectionManager can store it in a HashMap.
32161        * PluginProcess/mac/PluginProcessMac.mm:
32162        (WebKit::muteAudio):
32163        (WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
32164        that the plugin process type is snapshot process.
32165        * Shared/Plugins/PluginProcessCreationParameters.cpp:
32166        (WebKit::PluginProcessCreationParameters::encode):
32167        (WebKit::PluginProcessCreationParameters::decode):
32168        * Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
32169        * UIProcess/Plugins/PluginProcessManager.cpp:
32170        (WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
32171        (WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
32172        (WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
32173        (WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
32174        (WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.
32175        * UIProcess/Plugins/PluginProcessManager.h:
32176        * UIProcess/Plugins/PluginProcessProxy.cpp:
32177        (WebKit::PluginProcessProxy::create): Add process type parameter.
32178        (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
32179        (WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
32180        (WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.
32181        * UIProcess/Plugins/PluginProcessProxy.h:
32182        (WebKit::PluginProcessProxy::processType):
32183        * UIProcess/WebProcessProxy.cpp:
32184        (WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
32185        PluginProcessManager.
32186        * UIProcess/WebProcessProxy.h:
32187        (WebProcessProxy):
32188        * UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
32189        * WebProcess/Plugins/PluginProcessConnection.cpp:
32190        (WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.
32191        * WebProcess/Plugins/PluginProcessConnection.h:
32192        (WebKit::PluginProcessConnection::create): Ditto.
32193        (WebKit::PluginProcessConnection::processType): Ditto.
32194        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
32195        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
32196        (WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
32197        plugin path to find the connection to remove.
32198        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.
32199        * WebProcess/Plugins/PluginProcessConnectionManager.h:
32200        * WebProcess/Plugins/PluginProxy.cpp:
32201        (WebKit::PluginProxy::create): Ditto.
32202        (WebKit::PluginProxy::PluginProxy): Ditto.
32203        (WebKit::PluginProxy::initialize): Add process type parameter in call to
32204        PluginProcessConnectionManager::getPluginProcessConnection.
32205        * WebProcess/Plugins/PluginProxy.h:
32206        * WebProcess/WebPage/WebPage.cpp:
32207        (WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
32208        pass it to PluginProxy::create.
32209        * WebProcess/WebProcess.cpp:
32210        (WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
32211        PluginProcessConnectionManager.
32212        * WebProcess/WebProcess.h:
32213        * WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
32214
322152012-11-29  Anders Carlsson  <andersca@apple.com>
32216
32217        Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
32218        https://bugs.webkit.org/show_bug.cgi?id=103689
32219
32220        Reviewed by Darin Adler.
32221
32222        * Platform/CoreIPC/mac/ConnectionMac.cpp:
32223        (CoreIPC::Connection::platformInitialize):
32224
322252012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
32226
32227        [CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
32228        https://bugs.webkit.org/show_bug.cgi?id=103650
32229
32230        Reviewed by Noam Rosenthal.
32231
32232        We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
32233        meaning that we need to delete them manually. This patch leverages smart
32234        pointers and stores layers as OwnPtr in the LayerMap so that the layers
32235        are owned by the HashMap and we don't have to handle memory manually.
32236
32237        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32238        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
32239        (WebKit::LayerTreeRenderer::setLayerChildren):
32240        (WebKit::LayerTreeRenderer::deleteLayer):
32241        (WebKit::LayerTreeRenderer::ensureLayer):
32242        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
32243
322442012-11-29  Anders Carlsson  <andersca@apple.com>
32245
32246        Add a minimumLayoutWidth WKView property
32247        https://bugs.webkit.org/show_bug.cgi?id=103660
32248        <rdar://problem/11791729>
32249
32250        Reviewed by Beth Dakin.
32251
32252        When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.
32253
32254        * UIProcess/API/mac/PageClientImpl.h:
32255        * UIProcess/API/mac/PageClientImpl.mm:
32256        (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
32257        Call the WKView.
32258
32259        * UIProcess/API/mac/WKView.mm:
32260        (-[WKView intrinsicContentSize]):
32261        Override the intrinsicContentSize getter.
32262
32263        (-[WKView _setIntrinsicContentSize:]):
32264        Update the intrinsic content size and mark it as invalid.
32265
32266        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
32267        By default, the WKView should have no intrinsic size.
32268
32269        (-[WKView minimumLayoutWidth]):
32270        (-[WKView setMinimumLayoutWidth:]):
32271        Call through to the WebPageProxy object.
32272
32273        * UIProcess/API/mac/WKViewPrivate.h:
32274        Add the SPI here.
32275
32276        * UIProcess/DrawingAreaProxy.h:
32277        (WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
32278        (WebKit::DrawingAreaProxy::didUpdateGeometry):
32279        (WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
32280        Add empty stubs.
32281
32282        * UIProcess/DrawingAreaProxy.messages.in:
32283        Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.
32284
32285        * UIProcess/WebPageProxy.cpp:
32286        (WebKit::WebPageProxy::WebPageProxy):
32287        Initialize the minimum layout width.
32288
32289        (WebKit::WebPageProxy::setMinimumLayoutWidth):
32290        Update the minimum layout width and call the drawing area proxy.
32291
32292        * UIProcess/WebPageProxy.h:
32293        (WebKit::WebPageProxy::minimumLayoutWidth):
32294        Add getter.
32295
32296        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
32297        (TiledCoreAnimationDrawingAreaProxy):
32298        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
32299        (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
32300        Update the geometry if needed.
32301
32302        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
32303        Update the intrinsic content size.
32304
32305        (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
32306        Call through to WebPageProxy::intrinsicContentSizeDidChange.
32307
32308        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
32309        Pass along the minimum layout width.
32310
32311        * UIProcess/mac/WebPageProxyMac.mm:
32312        (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
32313        Call through to the page client.
32314
32315        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
32316        (WebKit::WebChromeClient::contentsSizeChanged):
32317        Call DrawingArea::mainFrameContentSizeChanged.
32318
32319        * WebProcess/WebPage/DrawingArea.h:
32320        (WebKit::DrawingArea::mainFrameContentSizeChanged):
32321        Add empty stub.
32322
32323        (WebKit::DrawingArea::updateGeometry):
32324        Update signature.
32325
32326        * WebProcess/WebPage/DrawingArea.messages.in:
32327        Add minimumLayoutWidth to UpdateGeometry.
32328
32329        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
32330        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
32331        (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
32332        If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.
32333
32334        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
32335        If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
32336        layout with the viewport set to that height.
32337
323382012-11-29  Anders Carlsson  <andersca@apple.com>
32339
32340        CoreIPC::Connection should retain its xpc_connection_t
32341        https://bugs.webkit.org/show_bug.cgi?id=103671
32342        <rdar://problem/12717331>
32343
32344        Reviewed by Beth Dakin.
32345
32346        * Platform/CoreIPC/mac/ConnectionMac.cpp:
32347        (CoreIPC::Connection::platformInitialize):
32348        Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.
32349
323502012-11-29  Brent Fulgham  <bfulgham@webkit.org>
32351
32352        [Windows, WinCairo] Unreviewed build fix.  Build was failing
32353        because the export definition file included a debug-only
32354        symbol.  It's not needed and shouldn't be included for export.
32355
32356        * win/WebKit2.def: Don't require notSolidColor to be exported.
32357        * win/WebKit2CFLite.def: Ditto.
32358
323592012-11-29  Tim Horton  <timothy_horton@apple.com>
32360
32361        PDFPlugin: Only plain text can be copied out of PDFs
32362        https://bugs.webkit.org/show_bug.cgi?id=103591
32363        <rdar://problem/12555161>
32364
32365        Reviewed by Alexey Proskuryakov.
32366
32367        Enable rich data to be copied from PDFKit to the pasteboard.
32368
32369        * WebProcess/Plugins/PDF/PDFPlugin.h:
32370        (PDFPlugin): Add writeItemsToPasteboard.
32371        * WebProcess/Plugins/PDF/PDFPlugin.mm:
32372        (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
32373        (WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
32374        use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
32375        (RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.
32376
323772012-11-29  Martin Robinson  <mrobinson@igalia.com>
32378
32379        [GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
32380        https://bugs.webkit.org/show_bug.cgi?id=103277
32381
32382        Reviewed by Carlos Garcia Campos.
32383
32384        Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
32385        of the WebKitWebViewBase container (like the web inspector).
32386
32387        We do not yet properly handle pages that require authentication for more than one resource.
32388        As that is an uncommon situation, it will be handled in another patch.
32389
32390        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
32391        (WebKit::drawSignal): We have to override the draw signal of the dialog to draw
32392        a GtkWindow background on the widget. This is required because the widget doesn't
32393        have a real GtkWindow to draw its background.
32394        (WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
32395        is so that the dialog doesn't stick around when the user chooses to navigate away from the
32396        page requiring authentication.
32397        (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
32398        and frame to hold the dialog contents. Also append the 'background' widget class to the
32399        event box, so that it can draw a GtkWindow background in the draw signal handler.
32400        (WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
32401        load status changed signal handler.
32402        (WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
32403        WebKitWebViewBase.
32404        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the
32405        embedded dialog.
32406        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
32407        (didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.
32408        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
32409        (_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
32410        (webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
32411        is "internal" (ie the web inspector or the authentication dialog).
32412        (webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
32413        (webkitWebViewBaseAddAuthenticationDialog): Added.
32414        (webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
32415        to the WebView. This also aligns it with the way the authentication dialog is added.
32416        (webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
32417        field in the private structure.
32418        (webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
32419        (webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
32420        (webkit_web_view_base_init): Zero out the authentication dialog member on init.
32421        (webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
32422        (resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
32423        (webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
32424        (webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
32425        to web content.
32426        (webkitWebViewBaseButtonReleaseEvent):  Ditto.
32427        (webkitWebViewBaseScrollEvent): Ditto.
32428        (webkitWebViewBaseMotionNotifyEvent): Ditto.
32429        (webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
32430        elements in the dialog works correctly.
32431        (webkit_web_view_base_class_init): Hook up the focus event.
32432        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog
32433        and the web inspector.
32434        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
32435        (WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.
32436
324372012-11-29  Andrei Bucur  <abucur@adobe.com>
32438
32439        Fix the build after r136095
32440        https://bugs.webkit.org/show_bug.cgi?id=103629
32441
32442        Unreviewed.
32443
32444        Add a static_cast to fix the build.
32445
32446        * Shared/mac/ObjCObjectGraphCoders.mm:
32447        (WebKit::ObjCObjectGraphEncoder::baseEncode):
32448
324492012-11-29  Christophe Dumez  <christophe.dumez@intel.com>
32450
32451        [CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
32452        https://bugs.webkit.org/show_bug.cgi?id=103645
32453
32454        Reviewed by Noam Rosenthal.
32455
32456        The current LayerTreeRenderer code keep calling ensureLayer() and then
32457        LayerMap::find() to retrieve the layer. Since ensureLayer() already has
32458        a pointer to the layer, we can simply have the function return it.
32459        This is slightly more efficient and it makes the code a bit simpler.
32460
32461        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32462        (WebKit::LayerTreeRenderer::setLayerChildren):
32463        (WebKit::LayerTreeRenderer::setLayerFilters):
32464        (WebKit::LayerTreeRenderer::setLayerState):
32465        (WebKit::LayerTreeRenderer::ensureLayer):
32466        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
32467
324682012-11-29  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
32469
32470        [WK2] TiledBackingStore: User events are sent to web page before it is shown
32471        https://bugs.webkit.org/show_bug.cgi?id=101753
32472
32473        Reviewed by Jocelyn Turcotte.
32474
32475        User events are suppressed on WEB process side while drawing area is frozen.
32476
32477        * WebProcess/WebPage/WebPage.cpp:
32478        (WebKit::WebPage::mouseEvent):
32479        (WebKit::WebPage::wheelEvent):
32480        (WebKit::WebPage::keyEvent):
32481        (WebKit::WebPage::gestureEvent):
32482        (WebKit::WebPage::touchEvent):
32483        (WebKit::WebPage::sendIfEventCannotBeHandled):
32484        (WebKit):
32485        (WebKit::WebPage::didCompletePageTransition):
32486        * WebProcess/WebPage/WebPage.h:
32487        (WebPage):
32488
324892012-11-29  Allan Sandfeld Jensen  <allan.jensen@digia.com>
32490
32491        Possible to resize out of bounds 
32492        https://bugs.webkit.org/show_bug.cgi?id=103521
32493
32494        Reviewed by Jocelyn Turcotte.
32495
32496        Enforce the viewportBounds after resize, and ensure a user fitted page remains
32497        fit on viewport resize, but not on content growth.
32498
32499        * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
32500        * UIProcess/PageViewportController.cpp:
32501        (WebKit::PageViewportController::didChangeContentsSize):
32502        (WebKit::PageViewportController::didChangeViewportAttributes):
32503        (WebKit::PageViewportController::updateMinimumScaleToFit):
32504        * UIProcess/PageViewportController.h:
32505        (PageViewportController):
32506
325072012-11-29  Michael Brüning  <michael.bruning@digia.com>
32508
32509        [Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
32510        https://bugs.webkit.org/show_bug.cgi?id=97774
32511
32512        Reviewed by Kenneth Rohde Christiansen.
32513
32514        Implements the handler for willSetInputMethodState in WebKit2 in Qt.
32515        This is needed to tell the input method instance in Qt to commit its
32516        preedit content when the focus has moved to another node to prevent a
32517        bug where the old preedit string was kept as the preedit string and
32518        the editor moved focus back to the old node when continuing to enter
32519        text via the input method.
32520
32521        This behavior is analog to the behavior of the QtQuick text input
32522        elements.
32523
32524        * UIProcess/API/qt/raw/qrawwebview.cpp:
32525        (QRawWebViewPrivate::handleWillSetInputMethodState):
32526        * UIProcess/API/qt/raw/qrawwebview_p_p.h:
32527        (QRawWebViewPrivate):
32528        * UIProcess/PageClient.h:
32529        (PageClient):
32530        * UIProcess/WebPageProxy.h:
32531        (WebPageProxy):
32532        * UIProcess/WebPageProxy.messages.in:
32533        * UIProcess/qt/QtPageClient.cpp:
32534        (WebKit::QtPageClient::handleWillSetInputMethodState):
32535        (WebKit):
32536        * UIProcess/qt/QtPageClient.h:
32537        (QtPageClient):
32538        * UIProcess/qt/QtWebPageEventHandler.cpp:
32539        (WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
32540        (WebKit):
32541        * UIProcess/qt/QtWebPageEventHandler.h:
32542        (QtWebPageEventHandler):
32543        * UIProcess/qt/WebPageProxyQt.cpp:
32544        (WebKit::WebPageProxy::willSetInputMethodState):
32545        (WebKit):
32546        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
32547        (WebKit::WebEditorClient::willSetInputMethodState):
32548
325492012-11-28  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
32550
32551        [Qt] The WebView should be flickable only using touch events
32552        https://bugs.webkit.org/show_bug.cgi?id=100964
32553
32554        Reviewed by Kenneth Rohde Christiansen.
32555
32556        Let a user interacting with the WebView using a mouse the same way that a
32557        desktop browser would.
32558        This allows normal behaviors like text selecting, hover events, mouse cursors
32559        as well as avoid touch highlighting and touch adjustment.
32560
32561        To do so we let all mouse events to be handled by the page directly instead
32562        of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
32563        pushed back to the PageClient like touch events does, this have the intended
32564        behavior of not letting mouse events affect QQuickFlickable.
32565
32566        * UIProcess/API/qt/qquickwebview.cpp:
32567        * UIProcess/API/qt/qquickwebview_p_p.h:
32568        (QQuickWebViewFlickablePrivate):
32569
325702012-11-29  Andras Becsi  <andras.becsi@digia.com>
32571
32572        [Qt] Fix installation of QtWebProcess binary
32573        https://bugs.webkit.org/show_bug.cgi?id=101735
32574
32575        Reviewed by Simon Hausmann.
32576
32577        If available use QLibraryInfo::LibraryExecutablesPath to find
32578        the web process and the plugin process and deploy both helper
32579        processes to QT_INSTALL_LIBEXECS.
32580
32581        The effective fallback used to find the helper processes becomes:
32582            1. Application directory
32583            2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
32584            3. Qt binaries directory (QLibraryInfo::BinariesPath)
32585            4. No absolute path used
32586
32587        * PluginProcess.pro:
32588        * Shared/qt/ProcessExecutablePathQt.cpp:
32589        (WebKit::executablePath):
32590        * WebProcess.pro:
32591
325922012-11-28  Ryuan Choi  <ryuan.choi@gmail.com>
32593
32594        [EFL] Generate big_button_theme.edj
32595        https://bugs.webkit.org/show_bug.cgi?id=103511
32596
32597        Reviewed by Gyuyoung Kim.
32598
32599        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
32600        (EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
32601        (EWK2UnitTest):
32602        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
32603        (EWK2UnitTestEnvironment):
32604        * UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
32605        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj
32606        (TEST_F):
32607
326082012-11-28  Sheriff Bot  <webkit.review.bot@gmail.com>
32609
32610        Unreviewed, rolling out r135973.
32611        http://trac.webkit.org/changeset/135973
32612        https://bugs.webkit.org/show_bug.cgi?id=103604
32613
32614        It made API test crash on EFL bots (Requested by gyuyoung on
32615        #webkit).
32616
32617        * UIProcess/API/efl/ewk_view.cpp:
32618        (createEwkView):
32619
326202012-11-28  Michael Pruett  <michael@68k.org>
32621
32622        IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
32623        https://bugs.webkit.org/show_bug.cgi?id=103554
32624
32625        Reviewed by Kentaro Hara.
32626
32627        In r135022, duplicate createFromWire() and toWireString() methods
32628        were added to the JSC version of SerializedScriptValue. In
32629        order to allow the JSC SerializedScriptValue to compile when
32630        ENABLE(INDEXED_DATABASE) is turned on, these new methods have
32631        been removed and the old methods have been moved outside the
32632        ENABLE(INDEXED_DATABASE) guard.
32633
32634        * win/WebKit2.def:
32635        * win/WebKit2CFLite.def:
32636
326372012-11-28  Sam Weinig  <sam@webkit.org>
32638
32639        Fix 32bit build.
32640
32641        * Shared/mac/ObjCObjectGraphCoders.mm:
32642        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
32643        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
32644
326452012-11-28  Sam Weinig  <sam@webkit.org>
32646
32647        Add an objc object graph wrapper and coder for WKConnection message bodies
32648        https://bugs.webkit.org/show_bug.cgi?id=103589
32649
32650        Reviewed by Anders Carlsson.
32651
32652        Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
32653        WKBrowsingContextController across the wire.
32654
32655        * Shared/APIClient.h:
32656        (APIClient):
32657        (WebKit::APIClient::client):
32658        Add accessor for the ClientInterface.
32659
32660        * Shared/APIObject.h:
32661        Add new TypeObjCObjectGraph type.
32662
32663        * Shared/mac/ObjCObjectGraph.h: Added.
32664        (ObjCObjectGraph):
32665        (WebKit::ObjCObjectGraph::create):
32666        (WebKit::ObjCObjectGraph::root):
32667        (WebKit::ObjCObjectGraph::ObjCObjectGraph):
32668        (WebKit::ObjCObjectGraph::type):
32669        * Shared/mac/ObjCObjectGraph.mm: Added.
32670        Wraps 
32671
32672        * Shared/mac/ObjCObjectGraphCoders.h: Added.
32673        (WebContextObjCObjectGraphEncoder):
32674        (WebContextObjCObjectGraphDecoder):
32675        (InjectedBundleObjCObjectGraphEncoder):
32676        (InjectedBundleObjCObjectGraphDecoder):
32677        * Shared/mac/ObjCObjectGraphCoders.mm: Added.
32678        (WebKit::typeFromObject):
32679        (ObjCObjectGraphEncoder):
32680        (WebKit::ObjCObjectGraphEncoder::baseEncode):
32681        (WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
32682        (ObjCObjectGraphDecoder):
32683        (WebKit::ObjCObjectGraphDecoder::baseDecode):
32684        (WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
32685        (WebContextObjCObjectGraphEncoderImpl):
32686        (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
32687        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
32688        (WebContextObjCObjectGraphDecoderImpl):
32689        (WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
32690        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
32691        (InjectedBundleObjCObjectGraphEncoderImpl):
32692        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
32693        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
32694        (InjectedBundleObjCObjectGraphDecoderImpl):
32695        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
32696        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
32697        (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
32698        (WebKit::WebContextObjCObjectGraphEncoder::encode):
32699        (WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
32700        (WebKit::WebContextObjCObjectGraphDecoder::decode):
32701        (WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
32702        (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
32703        (WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
32704        (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
32705        Added.
32706
32707        * UIProcess/API/mac/WKBrowsingContextController.mm:
32708        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
32709        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
32710        Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a 
32711        new method to get a WKBrowsingContextController from a WKPageRef.
32712
32713        * UIProcess/API/mac/WKConnection.mm:
32714        (-[WKConnection sendMessageWithName:body:]):
32715        (didReceiveMessage):
32716        Switch WKConnection to use ObjCObjectGraph to encode the messageBody.
32717
32718        * UIProcess/WebContextUserMessageCoders.h:
32719        (WebKit::WebContextUserMessageEncoder::encode):
32720        (WebKit::WebContextUserMessageDecoder::decode):
32721        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
32722        (WebKit::InjectedBundleUserMessageEncoder::encode):
32723        (WebKit::InjectedBundleUserMessageDecoder::decode):
32724        Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.
32725
32726        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
32727        (-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):
32728        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
32729        Add method to get WKWebProcessPlugInController from the WKBundlePageRef.
32730
32731        * WebKit2.xcodeproj/project.pbxproj:
32732        Add new files.
32733
327342012-11-28  Sergio Villar Senin  <svillar@igalia.com>
32735
32736        [WK2][Qt] Add drag&drop support to Flickable webView
32737        https://bugs.webkit.org/show_bug.cgi?id=100778
32738
32739        Reviewed by Jocelyn Turcotte.
32740
32741        Enable the ItemAcceptsDrops flag in the flickable WebView. This
32742        will allow the WebView to receive drag&drop events.
32743
32744        * UIProcess/API/qt/qquickwebview.cpp:
32745        (QQuickWebViewPrivate::initialize):
32746
327472012-11-28  Shinya Kawanaka  <shinyak@chromium.org>
32748
32749        [Shadow] Move Distribution stuffs from ShadowRoot
32750        https://bugs.webkit.org/show_bug.cgi?id=103481
32751
32752        Reviewed by Hajime Morita.
32753
32754        * win/WebKit2.def:
32755        * win/WebKit2CFLite.def:
32756
327572012-11-28  Tim Horton  <timothy_horton@apple.com>
32758
32759        [mac] Dictionary lookup bubble loses intrarange formatting
32760        https://bugs.webkit.org/show_bug.cgi?id=103496
32761        <rdar://problem/12762172>
32762
32763        Reviewed by Alexey Proskuryakov.
32764
32765        Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
32766        when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
32767        highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.
32768
32769        * Shared/DictionaryPopupInfo.cpp:
32770        (WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
32771        (WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.
32772        * Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
32773        * UIProcess/API/mac/PageClientImpl.h:
32774        (PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
32775        no longer needs to take the page scale factor.
32776        * UIProcess/API/mac/PageClientImpl.mm:
32777        (WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
32778        instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.
32779        * UIProcess/PageClient.h:
32780        (PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
32781        * UIProcess/WebPageProxy.h:
32782        (WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
32783        * UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
32784        * UIProcess/mac/WebPageProxyMac.mm:
32785        (WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
32786        * WebProcess/WebPage/mac/WebPageMac.mm:
32787        (WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
32788        constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
32789        Also, scale the size of every font attribute by the current pageScaleFactor.
32790
327912012-11-28  peavo@outlook.com  <peavo@outlook.com>
32792
32793        [WinCairo] Crash when requesting favicon.
32794        https://bugs.webkit.org/show_bug.cgi?id=102689
32795
32796        Reviewed by Brent Fulgham.
32797
32798        * win/WebKit2CFLite.def: Link fixes.
32799        * win/WebKit2.def: Link fixes.
32800
328012012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
32802
32803        Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
32804        https://bugs.webkit.org/show_bug.cgi?id=103527
32805
32806        Reviewed by Jocelyn Turcotte.
32807
32808        Make sure m_pendingSyncBackingStores is cleared in
32809        LayerTreeRenderer::purgeGLResources() to avoid trying to assign
32810        backing store to layers after everything has been invalidated.
32811
32812        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32813        (WebKit::LayerTreeRenderer::purgeGLResources):
32814
328152012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
32816
32817        Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
32818        https://bugs.webkit.org/show_bug.cgi?id=103498
32819
32820        Reviewed by Kenneth Rohde Christiansen.
32821
32822        We hit the !m_pedningSyncBackingStores.contains(layer) assertion
32823        in LayerTreeRenderer when 2 asynchronous backing store operations
32824        are pending. The current code checks if the layer already has a
32825        backing store in its guard but this is insufficient as it is not
32826        checking the m_pendingSyncBackingStores hash for pending backing
32827        store changes.
32828
32829        In this patch, we improve the guards in createBackingStoreIfNeeded()
32830        and removeBackingStoreIfNeeded() to check not only if the layer has
32831        already a backing store but also check m_pendingSyncBackingStores
32832        for pending changes. This is safer and it allows for optimizations
32833        in the cases where we have both a removal and a creation pending.
32834        In those cases, we can simply cancel the pending operation instead
32835        of queueing a new one.
32836
32837        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32838        (WebKit::LayerTreeRenderer::getBackingStore):
32839        (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
32840        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
32841        (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
32842        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
32843
328442012-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
32845
32846        [EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
32847        https://bugs.webkit.org/show_bug.cgi?id=103079
32848
32849        Reviewed by Simon Hausmann.
32850
32851        The problem was caused because we moved the page inside our viewport
32852        in non-discrete units.
32853
32854        Now instead of changing the content visible in our viewport by
32855        applying scale, and then transforming the CSS offset, we now first
32856        discretely position the page in UI coordinates.
32857
32858        This patch also removes some dead code.
32859
32860        * UIProcess/API/efl/EwkViewImpl.cpp:
32861        (EwkViewImpl::transformFromScene):
32862        (EwkViewImpl::displayTimerFired):
32863
32864           Transform according to the page position.
32865
32866        * UIProcess/API/efl/EwkViewImpl.h:
32867        (EwkViewImpl::setPagePosition): Now stores a float.
32868        (EwkViewImpl::discretePagePosition): Returns the discrete page position.
32869        (EwkViewImpl):
32870        * UIProcess/efl/PageClientLegacyImpl.cpp:
32871        (WebKit::PageClientLegacyImpl::updateViewportSize):
32872        (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
32873        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
32874        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
32875        (WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
32876        (WebKit::PageViewportControllerClientEfl::setContentsScale):
32877        (WebKit::PageViewportControllerClientEfl::didResumeContent):
32878        * UIProcess/efl/PageViewportControllerClientEfl.h:
32879        (WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
32880        from the view directly.
32881        (WebKit::PageViewportControllerClientEfl::contentPosition):
32882        (PageViewportControllerClientEfl):
32883
328842012-11-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
32885
32886        [EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
32887        https://bugs.webkit.org/show_bug.cgi?id=103505
32888
32889        Reviewed by Kenneth Rohde Christiansen.
32890
32891        No need to export GL data members from EwkViewImpl class, 
32892        those are internal implementation objects not used by anyone outside the class.
32893
32894        * UIProcess/API/efl/EwkViewImpl.cpp:
32895        (EwkViewImpl::displayTimerFired):
32896        (EwkViewImpl::createGLSurface):
32897        * UIProcess/API/efl/EwkViewImpl.h:
32898        (EwkViewImpl):
32899        (EwkViewImpl::evasGLContext):
32900        (EwkViewImpl::evasGLSurface):
32901
329022012-11-28  Joone Hur  <joone.hur@intel.com>
32903
32904        [EFL][WK2][AC] Clear the viewport with white color
32905        https://bugs.webkit.org/show_bug.cgi?id=103495
32906
32907        When initializing a GL surface, we should clear the buffer with white color.
32908
32909        Reviewed by Kenneth Rohde Christiansen.
32910
32911        * UIProcess/API/efl/EwkViewImpl.cpp:
32912        (EwkViewImpl::createGLSurface):
32913
329142012-11-27  Jinwoo Song  <jinwoo7.song@samsung.com>
32915
32916        [EFL][WK2] Duplicated WebPageGroup initialization
32917        https://bugs.webkit.org/show_bug.cgi?id=103229
32918
32919        Reviewed by Gyuyoung Kim.
32920
32921        WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
32922        because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
32923
32924        As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
32925        is created with default context.
32926
32927        * UIProcess/API/efl/ewk_view.cpp:
32928        (createEwkView):
32929
329302012-11-27  Huang Dongsung  <luxtella@company100.net>
32931
32932        REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
32933        https://bugs.webkit.org/show_bug.cgi?id=103171
32934
32935        Reviewed by Noam Rosenthal.
32936
32937        Ensure that TextureMapperLayer has a backing store when the layer has
32938        drawsContent and contentsVisible properties and the size of the layer is not
32939        empty.
32940
32941        LayerTreeRenderer::setLayerState() must not set a backing store to
32942        TextureMapperLayer because setLayerState() just changes states of
32943        GraphicsLayerTextureMapper instead of TextureMapperLayer.
32944
32945        Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
32946        states to TextureMapperLayer.
32947
32948        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32949        (WebKit::LayerTreeRenderer::getBackingStore):
32950        (WebKit::LayerTreeRenderer::prepareContentBackingStore):
32951        (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
32952        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
32953        (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
32954        (WebKit::LayerTreeRenderer::flushLayerChanges):
32955        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
32956        (WebCore):
32957
329582012-11-27  Tim Horton  <timothy_horton@apple.com>
32959
32960        PDFPlugin: Should not be able to edit read-only text annotations
32961        https://bugs.webkit.org/show_bug.cgi?id=103387
32962        <rdar://problem/12752313>
32963
32964        Reviewed by Alexey Proskuryakov.
32965
32966        Don't allow read-only annotations to become active.
32967
32968        * WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
32969        * WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
32970        * WebProcess/Plugins/PDF/PDFPlugin.mm:
32971        (WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
32972        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
32973
329742012-11-27  Huang Dongsung  <luxtella@company100.net>
32975
32976        Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
32977        https://bugs.webkit.org/show_bug.cgi?id=103298
32978
32979        Reviewed by Noam Rosenthal.
32980
32981        This patch makes LayerTreeRenderer assign a content backing store to
32982        TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
32983        the backing store to TextureMapperLayer and it can break the invariant condition
32984        of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
32985        the layer has following conditions: drawsContent, contentsVisible and non empty
32986        size.
32987
32988        In addition, the modified code about creating and removing a backing store
32989        matches the same purpose code of CoordinatedGraphicsLayer and
32990        GraphicsLayerTextureMapepr.
32991
32992        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
32993        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
32994        (CoordinatedBackingStore):
32995        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
32996        (WebKit::layerShouldHaveBackingStore):
32997        (WebKit):
32998        (WebKit::LayerTreeRenderer::setLayerState):
32999        (WebKit::LayerTreeRenderer::getBackingStore):
33000        (WebKit::LayerTreeRenderer::prepareContentBackingStore):
33001        (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
33002        (WebKit::LayerTreeRenderer::removeBackingStore):
33003        (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
33004        (WebKit::LayerTreeRenderer::createTile):
33005        (WebKit::LayerTreeRenderer::removeTile):
33006        (WebKit::LayerTreeRenderer::updateTile):
33007        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
33008        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33009        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
33010            This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
33011            can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
33012            after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.
33013
330142012-11-27  James Simonsen  <simonjam@chromium.org>
33015
33016        Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
33017        https://bugs.webkit.org/show_bug.cgi?id=102151
33018
33019        Reviewed by Adam Barth.
33020
33021        * WebProcess/Plugins/PluginView.cpp:
33022        (WebKit::PluginView::performFrameLoadURLRequest):
33023        * WebProcess/WebPage/WebPage.cpp:
33024        (WebKit::WebPage::loadURLRequest):
33025        (WebKit::WebPage::loadData):
33026
330272012-10-22  Jer Noble  <jer.noble@apple.com>
33028
33029        [WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
33030        https://bugs.webkit.org/show_bug.cgi?id=100025
33031
33032        Reviewed by Dan Bernstein.
33033
33034        Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
33035        in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with 
33036        instructions to click the placeholder to exit full screen.
33037
33038        * UIProcess/mac/WKFullScreenWindowController.h:
33039        * UIProcess/mac/WKFullScreenWindowController.mm:
33040        (-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
33041        (-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
33042        (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
33043        (-[WKFullScreenWindowController enterFullScreen:]):  Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
33044        (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
33045        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
33046        (-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
33047        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
33048            from full screen mode when the full screen window is not on screen.
33049        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
33050        (-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
33051        (-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
33052        (-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
33053        (-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:
33054
330552012-11-27  Yael Aharon  <yael.aharon@intel.com>
33056
33057        [EFL][WK2] 3D pixel tests are failing
33058        https://bugs.webkit.org/show_bug.cgi?id=102833
33059
33060        Reviewed by Kenneth Rohde Christiansen.
33061
33062        Added an API for generating a snapshot, to be used from WebKitTestRunner.
33063
33064        * PlatformEfl.cmake:
33065        * UIProcess/API/C/efl/WKView.cpp:
33066        (WKViewGetSnapshot):
33067        * UIProcess/API/C/efl/WKView.h:
33068        * UIProcess/API/efl/EwkViewImpl.cpp:
33069        (EwkViewImpl::onFaviconChanged):
33070        (EwkViewImpl::takeSnapshot):
33071        * UIProcess/API/efl/EwkViewImpl.h:
33072        (EwkViewImpl):
33073        * UIProcess/API/efl/SnapshotImageGL.cpp: Added.
33074        (getImageFromCurrentTexture):
33075        * UIProcess/API/efl/SnapshotImageGL.h: Added.
33076
330772012-11-27  Tim Horton  <timothy_horton@apple.com>
33078
33079        PDFPlugin: Page scale factor should affect subframe PDFs
33080        https://bugs.webkit.org/show_bug.cgi?id=103291
33081        <rdar://problem/12555249>
33082
33083        Reviewed by Darin Adler.
33084
33085        For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
33086        so it can scale its drawing appropriately.
33087
33088        * WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
33089        * WebProcess/Plugins/PDF/PDFPlugin.mm:
33090        (WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
33091        instead of manually updating PDFLayerController's device scale factor.
33092        (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
33093        the "underlying" (non-zoom) content scale, which is the product of the
33094        device scale and the page scale.
33095        (WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
33096        (WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
33097        PDFLayerController's notion of the page scale up to date when the plugin's
33098        geometry changes.
33099
331002012-11-27  Tim Horton  <timothy_horton@apple.com>
33101
33102        PDFPlugin: Scroll bars do not grow on hover
33103        https://bugs.webkit.org/show_bug.cgi?id=103382
33104        <rdar://problem/12555262>
33105
33106        Reviewed by Beth Dakin.
33107
33108        PDFPlugin needs to forward relevant mouse events to the scrollbars.
33109        In addition, it needs to implement currentMousePosition so ScrollableArea and friends
33110        can find the mouse position at arbitrary times.
33111
33112        I also took this opportunity to factor some coordinate space conversion functions out.
33113
33114        * WebProcess/Plugins/PDF/PDFPlugin.h:
33115        (WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
33116        (WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
33117        (WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
33118        (PDFPlugin):
33119        * WebProcess/Plugins/PDF/PDFPlugin.mm:
33120        (WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
33121        (WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
33122        (WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
33123        (WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
33124        (WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
33125        Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
33126        If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
33127        If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
33128        If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
33129        If the mouse is currently over the scroll corner, bail, because nobody should get those events.
33130
331312012-11-27  Dan Bernstein  <mitz@apple.com>
33132
33133        Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
33134        https://bugs.webkit.org/show_bug.cgi?id=103358
33135
33136        Reviewed by Adele Peterson.
33137
33138        To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
33139        prevent media from starting automatically when the view is put in a window.
33140
33141        * Shared/WebPageCreationParameters.cpp:
33142        (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
33143        (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
33144        * Shared/WebPageCreationParameters.h:
33145        (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
33146        * UIProcess/API/C/WKPage.cpp:
33147        (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
33148        * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
33149        * UIProcess/WebPageProxy.cpp:
33150        (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
33151        to true, the value matching the current behavior.
33152        (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
33153        m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
33154        (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
33155        process creation parameters.
33156        * UIProcess/WebPageProxy.h:
33157        (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
33158        m_mayStartMediaWhenInWindow.
33159        * WebProcess/WebPage/WebPage.cpp:
33160        (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
33161        parameters.
33162        (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
33163        conditional on m_mayStartMediaWhenInWindow.
33164        (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
33165        already in a window when changing from false to true, starts m_setCanStartMediaTimer.
33166        * WebProcess/WebPage/WebPage.h:
33167        (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
33168        * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
33169
331702012-11-27  Pratik Solanki  <psolanki@apple.com>
33171
33172        objc/objc-runtime.h does not exist on all PLATFORM(MAC)
33173        https://bugs.webkit.org/show_bug.cgi?id=101780
33174
33175        Reviewed by Brent Fulgham.
33176
33177        Clean up header includes so we don't include objc/objc-runtime.h.
33178
33179        * PluginProcess/mac/PluginProcessShim.mm:
33180        * UIProcess/API/mac/PDFViewController.mm:
33181
331822012-11-27  Alexey Proskuryakov  <ap@apple.com>
33183
33184        [WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
33185        https://bugs.webkit.org/show_bug.cgi?id=103433
33186        <rdar://problem/12543513>
33187
33188        Reviewed by Jessie Berlin.
33189
33190        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
33191        assertion, and modified code to not rely on its condition being true.
33192
331932012-11-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
33194
33195        [EFL][Qt][WK2] Tiles not always painted
33196        https://bugs.webkit.org/show_bug.cgi?id=103271
33197
33198        Reviewed by Kenneth Rohde Christiansen.
33199
33200        The problem turned up because visible content was synchromized before the new fixed
33201        layout size had been applied in the web process.
33202
33203        * UIProcess/PageViewportController.cpp:
33204        (WebKit::PageViewportController::didChangeViewportSize):
33205        (WebKit::PageViewportController::didChangeViewportAttributes):
33206
332072012-11-27  Yael Aharon  <yael.aharon@intel.com>
33208
33209        [EFL] Graphics layer edges are sometimes very pixelated
33210        https://bugs.webkit.org/show_bug.cgi?id=103302
33211
33212        Reviewed by Kenneth Rohde Christiansen.
33213
33214        The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
33215        http://trac.webkit.org/changeset/135401.
33216
33217        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
33218        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
33219
332202012-11-27  KwangYong Choi  <ky0.choi@samsung.com>
33221
33222        [X11] Allow empty plugin name and description during scan plugin
33223        https://bugs.webkit.org/show_bug.cgi?id=103234
33224
33225        Reviewed by Simon Hausmann.
33226
33227        Empty entries should be allowed when split the output string of scan plugin
33228        because the plugin name and the description can be empty string.
33229
33230        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
33231        (WebKit::PluginProcessProxy::scanPlugin):
33232        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
33233        (WebKit::PluginProcessProxy::scanPlugin):
33234
332352012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
33236
33237        Unreviewed, rolling out r135819.
33238        http://trac.webkit.org/changeset/135819
33239        https://bugs.webkit.org/show_bug.cgi?id=103388
33240
33241        It broke many tests on Qt and EFL WK2 platforms (Requested by
33242        Ossy on #webkit).
33243
33244        * Shared/WebPageCreationParameters.cpp:
33245        (WebKit::WebPageCreationParameters::encode):
33246        (WebKit::WebPageCreationParameters::decode):
33247        * Shared/WebPageCreationParameters.h:
33248        (WebPageCreationParameters):
33249        * UIProcess/API/C/WKPage.cpp:
33250        (WKPageCopyRelatedPages):
33251        * UIProcess/API/C/WKPagePrivate.h:
33252        * UIProcess/WebPageProxy.cpp:
33253        (WebKit::WebPageProxy::WebPageProxy):
33254        (WebKit::WebPageProxy::creationParameters):
33255        * UIProcess/WebPageProxy.h:
33256        (WebPageProxy):
33257        * WebProcess/WebPage/WebPage.cpp:
33258        (WebKit::WebPage::WebPage):
33259        (WebKit::WebPage::setIsInWindow):
33260        * WebProcess/WebPage/WebPage.h:
33261        (WebPage):
33262        * WebProcess/WebPage/WebPage.messages.in:
33263
332642012-11-27  Kyungjin Kim  <gen.kim@samsung.com>
33265
33266        [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
33267        https://bugs.webkit.org/show_bug.cgi?id=103008
33268
33269        Reviewed by Gyuyoung Kim.
33270
33271        Fix API names in WKPreferences from 2d to 2D.
33272
33273        * UIProcess/API/C/WKPreferences.cpp:
33274        (WKPreferencesSetAccelerated2DCanvasEnabled):
33275        (WKPreferencesGetAccelerated2DCanvasEnabled):
33276        * UIProcess/API/C/WKPreferencesPrivate.h:
33277
332782012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
33279
33280        Unreviewed, rolling out r135786.
33281        http://trac.webkit.org/changeset/135786
33282        https://bugs.webkit.org/show_bug.cgi?id=103379
33283
33284        It made 3 plugin tests timeout on several platforms (Requested
33285        by Ossy on #webkit).
33286
33287        * WebProcess/Plugins/PluginView.cpp:
33288        (WebKit::PluginView::performFrameLoadURLRequest):
33289        * WebProcess/WebPage/WebPage.cpp:
33290        (WebKit::WebPage::loadURLRequest):
33291        (WebKit::WebPage::loadData):
33292        (WebKit::WebPage::linkClicked):
33293
332942012-11-27  Huang Dongsung  <luxtella@company100.net>
33295
33296        Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
33297        https://bugs.webkit.org/show_bug.cgi?id=103297
33298
33299        Reviewed by Noam Rosenthal.
33300
33301        Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
33302
33303        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33304        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
33305        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
33306        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
33307        (CoordinatedGraphicsLayer):
33308
333092012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
33310
33311        Unreviewed, rolling out r135822.
33312        http://trac.webkit.org/changeset/135822
33313        https://bugs.webkit.org/show_bug.cgi?id=103369
33314
33315        Undo the revert of r135818, since that change does not affect
33316        code used by Chromium (Requested by apavlov on #webkit).
33317
33318        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33319        (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
33320        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
33321
333222012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
33323
33324        Unreviewed, rolling out r135818.
33325        http://trac.webkit.org/changeset/135818
33326        https://bugs.webkit.org/show_bug.cgi?id=103368
33327
33328        platform/chromium/virtual/threaded/compositing/visibility
33329        /visibility-simple-webgl-layer.html crash on Mountain Lion
33330        (Requested by apavlov on #webkit).
33331
33332        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33333        (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
33334        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
33335
333362012-11-26  Dan Bernstein  <mitz@apple.com>
33337
33338        <rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
33339        https://bugs.webkit.org/show_bug.cgi?id=103358
33340
33341        Reviewed by Adele Peterson.
33342
33343        To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
33344        prevent media from starting automatically when the view is put in a window.
33345
33346        * Shared/WebPageCreationParameters.cpp:
33347        (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
33348        (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
33349        * Shared/WebPageCreationParameters.h:
33350        (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
33351        * UIProcess/API/C/WKPage.cpp:
33352        (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
33353        * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
33354        * UIProcess/WebPageProxy.cpp:
33355        (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
33356        to true, the value matching the current behavior.
33357        (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
33358        m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
33359        (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
33360        process creation parameters.
33361        * UIProcess/WebPageProxy.h:
33362        (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
33363        m_mayStartMediaWhenInWindow.
33364        * WebProcess/WebPage/WebPage.cpp:
33365        (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
33366        parameters.
33367        (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
33368        conditional on m_mayStartMediaWhenInWindow.
33369        (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
33370        already in a window when changing from false to true, starts m_setCanStartMediaTimer.
33371        * WebProcess/WebPage/WebPage.h:
33372        (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
33373        * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
33374
333752012-11-26  Huang Dongsung  <luxtella@company100.net>
33376
33377        Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
33378        https://bugs.webkit.org/show_bug.cgi?id=103297
33379
33380        Reviewed by Noam Rosenthal.
33381
33382        GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
33383        mask layer in setContentsVisible() and setMaskLayer() like setting a size.
33384        This patch is needed because RenderLayerBacking does not set the visibility to a
33385        mask layer like the size.
33386
33387        This patch does not change user experience because an invisible layer is not
33388        rendered although the mask layer is rendered. In that sense, it is an
33389        optimization patch.
33390
33391        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33392        (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
33393        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
33394
333952012-11-26  Kyungjin Kim  <gen.kim@samsung.com>
33396
33397        [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
33398        https://bugs.webkit.org/show_bug.cgi?id=103008
33399
33400        Reviewed by Gyuyoung Kim.
33401
33402        Add setting APIs for accelerated 2d canvas in WebKit2.
33403
33404        * Shared/WebPreferencesStore.h:
33405        (WebKit):
33406        * UIProcess/API/C/WKPreferences.cpp:
33407        (WKPreferencesSetAccelerated2dCanvasEnabled):
33408        (WKPreferencesGetAccelerated2dCanvasEnabled):
33409        * UIProcess/API/C/WKPreferencesPrivate.h:
33410        * WebProcess/WebPage/WebPage.cpp:
33411        (WebKit::WebPage::updatePreferences):
33412
334132012-11-26  Tim Horton  <timothy_horton@apple.com>
33414
33415        Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
33416        https://bugs.webkit.org/show_bug.cgi?id=103288
33417
33418        Reviewed by Dan Bernstein.
33419
33420        Other PluginView methods that use m_plugin null-check m_plugin and check
33421        that the plugin has finished initializing before using it. These three
33422        should do the same thing.
33423
33424        * WebProcess/Plugins/PluginView.cpp:
33425        (WebKit::PluginView::handleEditingCommand):
33426        (WebKit::PluginView::isEditingCommandEnabled):
33427        (WebKit::PluginView::shouldAllowScripting):
33428
334292012-11-26  Tim Horton  <timothy_horton@apple.com>
33430
33431        PDFPlugin: Subframe PDF context menus are in the wrong place
33432        https://bugs.webkit.org/show_bug.cgi?id=103284
33433        <rdar://problem/12727972>
33434
33435        Reviewed by Dan Bernstein.
33436
33437        Event position is in window coordinates, not content coordinates.
33438        Since we have no windowToScreen(), use windowToContents and contentsToScreen
33439        to get to screen coordinate space, which WKPopupContextMenu wants.
33440
33441        * WebProcess/Plugins/PDF/PDFPlugin.mm:
33442        (WebKit::PDFPlugin::handleContextMenuEvent):
33443
334442012-11-26  Tim Horton  <timothy_horton@apple.com>
33445
33446        PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
33447        https://bugs.webkit.org/show_bug.cgi?id=103282
33448        <rdar://problem/12710892>
33449
33450        Reviewed by Dan Bernstein.
33451
33452        Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
33453
33454        * WebProcess/Plugins/PDF/PDFPlugin.mm:
33455        (WebKit::PDFPlugin::handleMouseEvent):
33456
334572012-11-26  Ryuan Choi  <ryuan.choi@gmail.com>
33458
33459        [EFL] Unreviewed build fix after r135767 without Tiled Backing Store
33460        https://bugs.webkit.org/show_bug.cgi?id=103320
33461
33462        Unreviewed build fix.
33463
33464        * WebProcess/Plugins/Plugin.cpp:
33465        * WebProcess/Plugins/Plugin.h:
33466        (WebCore):
33467
334682012-11-26  James Simonsen  <simonjam@chromium.org>
33469
33470        Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
33471        https://bugs.webkit.org/show_bug.cgi?id=102151
33472
33473        Reviewed by Adam Barth.
33474
33475        * WebProcess/Plugins/PluginView.cpp:
33476        (WebKit::PluginView::performFrameLoadURLRequest):
33477        * WebProcess/WebPage/WebPage.cpp:
33478        (WebKit::WebPage::loadURLRequest):
33479        (WebKit::WebPage::loadData):
33480
334812012-11-26  Jon Lee  <jonlee@apple.com>
33482
33483        Pass clicks through to the restarted plugin
33484        https://bugs.webkit.org/show_bug.cgi?id=102150
33485        <rdar://problem/12695575>
33486
33487        Reviewed by Simon Fraser.
33488
33489        Expose convertToRootView() as a public function for all plugins. It converts the click point
33490        from local plugin coordinates to root view coordinates. When the events are sent to the
33491        plugin, the coordinate gets converted back to the local reference frame.
33492        * WebProcess/Plugins/Plugin.cpp:
33493        (WebKit::Plugin::convertToRootView): Default implementation should not be reached.
33494        * WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
33495        * WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
33496        method virtual.
33497        * WebProcess/Plugins/PluginProxy.h:
33498        * WebProcess/Plugins/PluginProxy.cpp:
33499        (WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
33500        a point in root view coordinates.
33501
33502        Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
33503        the earliest state where the plugin is playing.
33504        * WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
33505        (WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
33506        element to dispatch the pending mouse click.
33507        (WebKit::PluginView::paint):
33508        (WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
33509        WebMouseEvent.
33510        (WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
33511        the UI process. So we fabricate one based on the simulated event.
33512        (WebKit::PluginView::invalidateRect):
33513        (WebKit::PluginView::isAcceleratedCompositingEnabled):
33514        * WebProcess/Plugins/PluginView.h:
33515
335162012-11-26  Kalev Lember  <kalevlember@gmail.com>
33517
33518        [GTK] Explicitly link against librt
33519        https://bugs.webkit.org/show_bug.cgi?id=103194
33520
33521        Reviewed by Martin Robinson.
33522
33523        Fixes broken build with undefined references to shm_open / shm_unlink
33524        symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
33525
33526        * GNUmakefile.am:
33527
335282012-11-26  Christophe Dumez  <christophe.dumez@intel.com>
33529
33530        [EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
33531        https://bugs.webkit.org/show_bug.cgi?id=103224
33532
33533        Reviewed by Laszlo Gombos.
33534
33535        Add API to ewk_settings to enable / disable the HTML5
33536        local storage functionality. The functionality is
33537        enabled by default.
33538
33539        * UIProcess/API/efl/ewk_settings.cpp:
33540        (ewk_settings_local_storage_enabled_set):
33541        (ewk_settings_local_storage_enabled_get):
33542        * UIProcess/API/efl/ewk_settings.h:
33543        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
33544        (TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
33545
335462012-11-26  Rafael Brandao  <rafael.lobo@openbossa.org>
33547
33548        [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
33549        https://bugs.webkit.org/show_bug.cgi?id=101341
33550
33551        Reviewed by Noam Rosenthal.
33552
33553        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
33554        (WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
33555        vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
33556        can be harmful as we've already released the lock.
33557
335582012-11-26  Jaehun Lim  <ljaehun.lim@samsung.com>
33559
33560        Text Autosizing: Add Text Autosizing APIs for WK2
33561        https://bugs.webkit.org/show_bug.cgi?id=100633
33562
33563        Reviewed by Sam Weinig.
33564
33565        Implement basic Text Autosizing APIs for WK2.
33566        Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
33567        of text in wide columns, and makes text more legible.
33568        This patch adds setting APIs for Text Autosizing in WK2.
33569
33570        * Shared/WebPreferencesStore.h:
33571        (WebKit):
33572        * UIProcess/API/C/WKPreferences.cpp:
33573        (WKPreferencesSetTextAutosizingEnabled):
33574        (WKPreferencesGetTextAutosizingEnabled):
33575        * UIProcess/API/C/WKPreferences.h:
33576        * WebProcess/WebPage/WebPage.cpp:
33577        (WebKit::WebPage::updatePreferences):
33578
335792012-11-26  Pierre Rossi  <pierre.rossi@gmail.com>
33580
33581        [Qt] REGRESSION(r135575): It made all tests assert
33582        https://bugs.webkit.org/show_bug.cgi?id=103169
33583
33584        Reviewed by Simon Hausmann.
33585
33586        This fixes another regression introduced in r135515:
33587        initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
33588        since it can be called from WebKit2 to initialize QStyle for testing.
33589        This would then lead to things such as PlatformStrategies being
33590        initialized twice.
33591
33592        * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
33593        (WebKit):
33594        (main):
33595
335962012-11-26  Huang Dongsung  <luxtella@company100.net>
33597
33598        REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
33599        https://bugs.webkit.org/show_bug.cgi?id=103217
33600
33601        Reviewed by Noam Rosenthal.
33602
33603        It is possible for CoordinatedBackingStore of directed composited image to not
33604        have tiles, because CoordinatedImageBacking does not create tiles when the image
33605        is invisible.
33606
33607        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
33608        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
33609
336102012-11-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
33611
33612        [WK2] TiledBackingStore: page contents is scaled wrongly
33613        https://bugs.webkit.org/show_bug.cgi?id=103090
33614
33615        Reviewed by Kenneth Rohde Christiansen.
33616
33617        Before this change the page contents scaling in PageViewportController was
33618        defined all the times by m_rawAttributes.initialScale. If initial scale had not
33619        been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
33620        PageViewportController::didChangeViewportAttributes().
33621
33622        The problem was that m_minimumScaleToFit could have wrong value as contents size
33623        might have not be updated by the time PageViewportController::didChangeViewportAttributes()
33624        was invoked.
33625
33626        The solution is to use m_minimumScaleToFit for contents scaling if initial scale
33627        is not specified in the viewport meta tag, as it is updated all the time. 
33628        Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
33629        whether m_minimumScaleToFit should be used for scaling.
33630
33631        * UIProcess/PageViewportController.cpp:
33632        (WebKit::PageViewportController::PageViewportController):
33633        (WebKit::PageViewportController::didChangeContentsSize):
33634        (WebKit::PageViewportController::pageTransitionViewportReady):
33635        (WebKit::PageViewportController::didChangeViewportAttributes):
33636        * UIProcess/PageViewportController.h:
33637        (PageViewportController):
33638
336392012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
33640
33641        [EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
33642        https://bugs.webkit.org/show_bug.cgi?id=103187
33643
33644        Reviewed by Kenneth Rohde Christiansen.
33645
33646        Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the 
33647        same arg type s/he wants to have in the Ewk_View callback.
33648
33649        * UIProcess/API/efl/EwkViewCallbacks.h:
33650        (EvasObjectHolder):
33651        (EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
33652        (EwkViewCallbacks):
33653
336542012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
33655
33656        [EFL][WK2] Check errors in EwkView callbacks usage at compile time
33657        https://bugs.webkit.org/show_bug.cgi?id=103177
33658
33659        Reviewed by Kenneth Rohde Christiansen.
33660
33661        Errors in EwkView callbacks usage are now checked at compile time.
33662
33663        * UIProcess/API/efl/EwkViewCallbacks.h:
33664        (CallBack):
33665        (EwkViewCallbacks::CallBack::CallBack):
33666        (EwkViewCallbacks::CallBack::call):
33667
336682012-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
33669
33670        Unreviewed, rolling out r135575.
33671        http://trac.webkit.org/changeset/135575
33672        https://bugs.webkit.org/show_bug.cgi?id=103169
33673
33674        It made all tests assert (Requested by Ossy on #webkit).
33675
33676        * qt/MainQt.cpp:
33677        (WebKit):
33678        (main):
33679
336802012-11-23  Alexis Menard  <alexis@webkit.org>
33681
33682        [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
33683        https://bugs.webkit.org/show_bug.cgi?id=102104
33684
33685        Reviewed by Julien Chaffraix.
33686
33687        Protect the new feature behind a feature flag.
33688
33689        * Configurations/FeatureDefines.xcconfig:
33690
336912012-11-23  Huang Dongsung  <luxtella@company100.net>
33692
33693        Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
33694        https://bugs.webkit.org/show_bug.cgi?id=103097
33695
33696        Reviewed by Noam Rosenthal.
33697
33698        CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
33699        not check its ancestor. This patch makes this method check its ancestor
33700        to match its name.
33701
33702        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
33703        (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
33704
337052012-11-23  Huang Dongsung  <luxtella@company100.net>
33706
33707        Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
33708        https://bugs.webkit.org/show_bug.cgi?id=103030
33709
33710        Reviewed by Noam Rosenthal.
33711
33712        LayerTreeRenderer::removeTile() must add a backing store into
33713        m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
33714
33715        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
33716        (WebKit::LayerTreeRenderer::removeTile):
33717
337182012-11-23  Huang Dongsung  <luxtella@company100.net>
33719
33720        [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
33721        https://bugs.webkit.org/show_bug.cgi?id=103046
33722
33723        Reviewed by Noam Rosenthal.
33724
33725        This patch makes GraphicsLayerTextureMapper create its own backing
33726        store. However, LayerTreeRenderer also creates its own backing store. So
33727        when LayerTreeRenderer uses GraphicsLayerTextureMapper,
33728        LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
33729        backing store.
33730
33731        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
33732        (WebKit::LayerTreeRenderer::createLayer):
33733        (WebKit::LayerTreeRenderer::getBackingStore):
33734
337352012-11-23  Huang Dongsung  <luxtella@company100.net>
33736
33737        REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
33738        https://bugs.webkit.org/show_bug.cgi?id=103077
33739
33740        Reviewed by Noam Rosenthal.
33741
33742        Currently, the painting thread uses purgeGLResources() and setActive().
33743        QQuickWebPage::updatePaintNode() indirectly calls both methods after
33744        locking the main thread.
33745
33746        This patch changes two points.
33747        1. Remove ASSERT(isMainThread()) in methods that the painting thread can
33748        call.
33749        2. Make purgeGLResources() and setActive() call methods of
33750        LayerTreeCoordinatorProxy via dispatchOnMainThread().
33751
33752        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
33753        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
33754        (WebKit::LayerTreeRenderer::renderNextFrame):
33755        (WebKit::LayerTreeRenderer::purgeGLResources):
33756        (WebKit):
33757        (WebKit::LayerTreeRenderer::purgeBackingStores):
33758        (WebKit::LayerTreeRenderer::setActive):
33759        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
33760        (LayerTreeRenderer):
33761
337622012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
33763
33764        [EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
33765        https://bugs.webkit.org/show_bug.cgi?id=103133
33766
33767        Reviewed by Kenneth Rohde Christiansen.
33768
33769        If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
33770        attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
33771        and only fall back to ecore_evas_software_x11_window_get().
33772
33773        * UIProcess/API/efl/EwkViewImpl.cpp:
33774        (EwkViewImpl::transformToScreen):
33775
337762012-11-23  Wojciech Bielawski  <w.bielawski@samsung.com>
33777
33778        [WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
33779        https://bugs.webkit.org/show_bug.cgi?id=86881
33780
33781        Reviewed by Kenneth Rohde Christiansen.
33782
33783        InjectedBundle API extended to retrieve contextMenu entries names.
33784        WebContextMenu exteded with function to retrieve menu items.
33785        This API is required by layout tests.
33786        Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
33787        Behaviour of dependend methods is unchanged.
33788
33789        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
33790        (WKBundlePageGetContextMenuEntriesNames):
33791        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
33792        * WebProcess/WebPage/WebContextMenu.cpp:
33793        (WebKit::WebContextMenu::items):
33794        (WebKit):
33795        * WebProcess/WebPage/WebContextMenu.h:
33796        (WebContextMenu):
33797
337982012-11-22  Pierre Rossi  <pierre.rossi@gmail.com>
33799
33800        [Qt] Avoid initializing PlatformStrategies twice.
33801
33802        Rubber-stamped by Simon Hausmann.
33803
33804        This fixes another regression introduced in r135515:
33805        initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
33806        since it can be called from WebKit2 to initialize QStyle for testing.
33807        This would then lead to things such as PlatformStrategies being
33808        initialized twice.
33809
33810        * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
33811        (WebKit):
33812        (main):
33813
338142012-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
33815
33816        [GTK] Use custom private macros to define GObjects
33817        https://bugs.webkit.org/show_bug.cgi?id=99705
33818
33819        Reviewed by Martin Robinson.
33820
33821        Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
33822        G_DEFINE_TYPE macros, to define GObject types. These macros also
33823        define the init and finalize functions reducing the GObject
33824        boilerplate and hiding the placement new syntax that causes some
33825        confusion. The patch replaces the use of G_DEFINE_TYPE macros by
33826        WEBKIT_DEFINE_TYPE ones and removes the init and finalize
33827        implementations, moving custom code when needed to the private
33828        struct constructor/destructor or constructed/dispose virtual
33829        methods when appropriate.
33830
33831        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
33832        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
33833        (webkit_back_forward_list_item_class_init):
33834        * UIProcess/API/gtk/WebKitContextMenu.cpp:
33835        (webkitContextMenuDispose):
33836        (webkit_context_menu_class_init):
33837        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
33838        (_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
33839        (_WebKitContextMenuItemPrivate):
33840        (webkit_context_menu_item_class_init):
33841        * UIProcess/API/gtk/WebKitCookieManager.cpp:
33842        (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
33843        (_WebKitCookieManagerPrivate):
33844        * UIProcess/API/gtk/WebKitDownload.cpp:
33845        (webkit_download_class_init):
33846        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
33847        (webkit_favicon_database_class_init):
33848        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
33849        (webkitFileChooserRequestDispose):
33850        (webkit_file_chooser_request_class_init):
33851        * UIProcess/API/gtk/WebKitFindController.cpp:
33852        (webkit_find_controller_class_init):
33853        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
33854        (webkitFormSubmissionRequestDispose):
33855        (webkit_form_submission_request_class_init):
33856        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
33857        (webkitGeolocationPermissionRequestDispose):
33858        (webkit_geolocation_permission_request_class_init):
33859        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
33860        (webkit_hit_test_result_class_init):
33861        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
33862        (webkit_navigation_policy_decision_class_init):
33863        * UIProcess/API/gtk/WebKitPlugin.cpp:
33864        (_WebKitPluginPrivate::~_WebKitPluginPrivate):
33865        (_WebKitPluginPrivate):
33866        (webkit_plugin_class_init):
33867        * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
33868        (webkitPolicyDecisionDispose):
33869        (webkit_policy_decision_class_init):
33870        (webkit_policy_decision_use):
33871        (webkit_policy_decision_ignore):
33872        (webkit_policy_decision_download):
33873        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
33874        (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
33875        (_WebKitPrintOperationPrivate):
33876        (webkit_print_operation_class_init):
33877        * UIProcess/API/gtk/WebKitPrivate.h:
33878        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
33879        (webkit_response_policy_decision_class_init):
33880        * UIProcess/API/gtk/WebKitSecurityManager.cpp:
33881        (webkit_security_manager_class_init):
33882        * UIProcess/API/gtk/WebKitSettings.cpp:
33883        (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
33884        (_WebKitSettingsPrivate):
33885        (webkit_settings_class_init):
33886        * UIProcess/API/gtk/WebKitURIRequest.cpp:
33887        (webkit_uri_request_class_init):
33888        * UIProcess/API/gtk/WebKitURIResponse.cpp:
33889        (webkit_uri_response_class_init):
33890        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
33891        (webkit_uri_scheme_request_class_init):
33892        * UIProcess/API/gtk/WebKitWebContext.cpp:
33893        * UIProcess/API/gtk/WebKitWebInspector.cpp:
33894        (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
33895        (_WebKitWebInspectorPrivate):
33896        (webkit_web_inspector_class_init):
33897        * UIProcess/API/gtk/WebKitWebResource.cpp:
33898        (webkit_web_resource_class_init):
33899        * UIProcess/API/gtk/WebKitWebView.cpp:
33900        (_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
33901        (_WebKitWebViewPrivate):
33902        (webkitWebViewConstructed):
33903        (webkitWebViewDispose):
33904        (webkit_web_view_class_init):
33905        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
33906        (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
33907        (_WebKitWebViewBasePrivate):
33908        (_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
33909        (webkitWebViewBaseDispose):
33910        (webkitWebViewBaseConstructed):
33911        (webkit_web_view_base_class_init):
33912        * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
33913        (webkit_web_view_base_accessible_class_init):
33914        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
33915        (webkit_window_properties_class_init):
33916
339172012-11-22  KwangYong Choi  <ky0.choi@samsung.com>
33918
33919        [EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
33920        https://bugs.webkit.org/show_bug.cgi?id=103044
33921
33922        Reviewed by Kentaro Hara.
33923
33924        enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
33925        So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
33926
33927        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
33928        (WebKit::ProcessLauncher::launchProcess):
33929
339302012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
33931
33932        [GTK] Split SVG from WebCore to work-around make limitation
33933        https://bugs.webkit.org/show_bug.cgi?id=97735
33934
33935        Reviewed by Carlos Garcia Campos.
33936
33937        Add a new libtool convenience library, libWebCoreSVG.la, to work-around
33938        make limitation when linking libWebCore.
33939
33940        * GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
33941
339422012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
33943
33944        [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
33945        https://bugs.webkit.org/show_bug.cgi?id=102800
33946
33947        Reviewed by Tor Arne Vestbø.
33948
33949        This patch separates code that needs to use QWidget related APIs in
33950        WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
33951        example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
33952        while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
33953        static library. WebKit1 is compiled without QT += widgets and therefore
33954        any widget related dependency has been moved "up" and out of WebKit1 into
33955        the WebKitWidgets library.
33956
33957        Between the code in WebKit.a and WebKitWidgets.a new adapters and
33958        interfaces have been introduced, such as QWebPageAdapter and
33959        QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
33960        call out into the API layer, implemented by QWebPage (QWebPagePrivate).
33961        The other way around if QWebPage wants to access WebCore or
33962        WebCoreSupport related functionality, it will go through
33963        QWebPageAdapater (as base class). The separation in the direction up
33964        into the API layer is complete with this patch, no code in WebKit1
33965        depends on QtWidgets. The separation the other way around, code in the
33966        API layer not using any WebCore types, is not complete yet.
33967
33968        Some classes such as QWebSettings, QWebElement or
33969        DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
33970        they do not depend on widget related Qt APIs and they make much more
33971        use of WebCore internal APIs and therefore are easier to keep in
33972        WebKit1.
33973
33974        In the future we plan to place a real shared library boundary between
33975        WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
33976        part of the QtWebKit shared library and by turning the WebKitWidgets
33977        static library into a shared one.
33978
33979        * qt/MainQt.cpp:
33980        (WebKit):
33981        (main):
33982
339832012-11-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
33984
33985        [WK2][EFL] No need to remove surface before replacing
33986        https://bugs.webkit.org/show_bug.cgi?id=103055
33987
33988        Rubberstamped by Simon Hausmann.
33989
33990        The surface is stored in a OwnPtr which automatically
33991        frees the existing surface after replacing it with a new
33992        one. For some reason, this also fixes resizing issues on
33993        my Nvidia driver.
33994
33995        * UIProcess/API/efl/EwkViewImpl.cpp:
33996        (EwkViewImpl::createGLSurface):
33997        * UIProcess/API/efl/EwkViewImpl.h:
33998        * UIProcess/API/efl/ewk_view.cpp:
33999        (_ewk_view_smart_calculate):
34000
340012012-11-22  Christophe Dumez  <christophe.dumez@intel.com>
34002
34003        WebKitTestRunner needs layoutTestController.setCacheModel
34004        https://bugs.webkit.org/show_bug.cgi?id=42684
34005
34006        Reviewed by Kenneth Rohde Christiansen.
34007
34008        Add Bundle C API for WebKitTestRunner to set the
34009        cache model.
34010
34011        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
34012        (WKBundleSetCacheModel):
34013        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
34014        * WebProcess/InjectedBundle/InjectedBundle.cpp:
34015        (WebKit::InjectedBundle::setCacheModel):
34016        (WebKit):
34017        * WebProcess/InjectedBundle/InjectedBundle.h:
34018        (InjectedBundle):
34019        * WebProcess/WebProcess.h:
34020        (WebProcess):
34021
340222012-11-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
34023
34024        REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
34025        https://bugs.webkit.org/show_bug.cgi?id=102971
34026
34027        Reviewed by Kenneth Rohde Christiansen.
34028
34029        m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
34030        it's value.
34031
34032        * UIProcess/PageViewportController.cpp:
34033        (WebKit::PageViewportController::didChangeViewportAttributes):
34034
340352012-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
34036
34037        [EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
34038        https://bugs.webkit.org/show_bug.cgi?id=102865
34039
34040        Reviewed by Kenneth Rohde Christiansen.
34041
34042        Set the screen position as a third parameter and contents position as
34043        a fourth parameter of WebPlatformTouchPoint().
34044
34045        * Shared/efl/WebEventFactory.cpp:
34046        (WebKit::WebEventFactory::createWebTouchEvent):
34047
340482012-11-22  Huang Dongsung  <luxtella@company100.net>
34049
34050        Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
34051        https://bugs.webkit.org/show_bug.cgi?id=102894
34052
34053        Reviewed by Kenneth Rohde Christiansen.
34054
34055        CoordinatedGraphicsLayer does not need to have a backing store
34056        if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
34057
34058        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34059        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
34060
340612012-11-22  Huang Dongsung  <luxtella@company100.net>
34062
34063        Coordinated Graphics: refactor LayerTreeRenderer.
34064        https://bugs.webkit.org/show_bug.cgi?id=103004
34065
34066        Reviewed by Noam Rosenthal.
34067
34068        This patch changes two subjects.
34069        1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
34070        In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
34071        function) instead of its own implementation.
34072
34073        2. Remove setAccelerationMode() because we don't use m_accelerationMode member
34074        except for the setter.
34075
34076        * UIProcess/API/efl/EwkViewImpl.cpp:
34077        (EwkViewImpl::createGLSurface):
34078        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
34079        (WebKit):
34080        (WebKit::LayerTreeRenderer::dispatchOnMainThread):
34081        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
34082        (WebKit::LayerTreeRenderer::animationFrameReady):
34083        (WebKit::LayerTreeRenderer::updateViewport):
34084        (WebKit::LayerTreeRenderer::renderNextFrame):
34085        (WebKit::LayerTreeRenderer::purgeGLResources):
34086        (WebKit::LayerTreeRenderer::detach):
34087        (WebKit::LayerTreeRenderer::setActive):
34088        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
34089        (LayerTreeRenderer):
34090        * UIProcess/efl/PageClientBase.cpp:
34091        (WebKit::PageClientBase::createDrawingAreaProxy):
34092
340932012-11-21  Jinwoo Song  <jinwoo7.song@samsung.com>
34094
34095        [EFL][WK2] Use consistent class names in the clients
34096        https://bugs.webkit.org/show_bug.cgi?id=102684
34097
34098        Reviewed by Gyuyoung Kim.
34099
34100        WebKit EFL classes do not use '_' since r135117 but '_' is still remained
34101        in some clients classes. This patch removed the '_' to make class names
34102        to be consistent.
34103
34104        * UIProcess/efl/ContextHistoryClientEfl.cpp:
34105        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
34106        * UIProcess/efl/DownloadManagerEfl.cpp:
34107        (WebKit::DownloadManagerEfl::didFail):
34108        * UIProcess/efl/FormClientEfl.cpp:
34109        (WebKit::FormClientEfl::willSubmitForm):
34110        * UIProcess/efl/PageLoadClientEfl.cpp:
34111        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
34112        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
34113        (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
34114        (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
34115        (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
34116        * UIProcess/efl/PagePolicyClientEfl.cpp:
34117        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
34118        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
34119        * UIProcess/efl/PageUIClientEfl.cpp:
34120        (WebKit::PageUIClientEfl::runOpenPanel):
34121        * UIProcess/efl/RequestManagerClientEfl.cpp:
34122        (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
34123        (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
34124        (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
34125        * UIProcess/efl/RequestManagerClientEfl.h:
34126        (RequestManagerClientEfl):
34127        * UIProcess/efl/ResourceLoadClientEfl.cpp:
34128        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
34129        (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
34130        (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
34131        (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
34132        (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
34133        * UIProcess/efl/ResourceLoadClientEfl.h:
34134        (ResourceLoadClientEfl):
34135
341362012-11-21  Jaehun Lim  <ljaehun.lim@samsung.com>
34137
34138        [EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
34139        https://bugs.webkit.org/show_bug.cgi?id=102773
34140
34141        Reviewed by Gyuyoung Kim.
34142
34143        PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
34144
34145        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
34146
341472012-11-21  Huang Dongsung  <luxtella@company100.net>
34148
34149        Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
34150        https://bugs.webkit.org/show_bug.cgi?id=102896
34151
34152        Reviewed by Noam Rosenthal.
34153
34154        When changing children, we don't need to sync a layer state because
34155        there is no more need to send the parent ID every time the layer tree
34156        hierarchy changes. So this patch removes didChangeLayerState() in
34157        methods which change children.
34158
34159        In addition, purgeBackingStores() does not need to call didChangeChildren()
34160        because purgeBackingStores() does not change children.
34161
34162        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34163        (WebCore::CoordinatedGraphicsLayer::setChildren):
34164        (WebCore::CoordinatedGraphicsLayer::addChild):
34165        (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
34166        (WebCore::CoordinatedGraphicsLayer::addChildAbove):
34167        (WebCore::CoordinatedGraphicsLayer::addChildBelow):
34168        (WebCore::CoordinatedGraphicsLayer::replaceChild):
34169        (WebCore::CoordinatedGraphicsLayer::removeFromParent):
34170        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
34171
341722012-11-21  Huang Dongsung  <luxtella@company100.net>
34173
34174        REGRESSION(r135212): Fix crash due to an infinite rect.
34175        https://bugs.webkit.org/show_bug.cgi?id=102891
34176
34177        Reviewed by Noam Rosenthal.
34178
34179        When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
34180        can calculate an infinite rect. However, TiledBackingStore cannot handle the
34181        infinite rect. This patch clamps the infinite rect to avoid crash in
34182        TiledBackingStore.
34183
34184        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34185        (WebCore::clampToContentsRectIfRectIsInfinite):
34186        (WebCore):
34187        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
34188
341892012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
34190
34191        Disambiguate innerNodeFramePoint and mainFramePoint
34192        https://bugs.webkit.org/show_bug.cgi?id=98139
34193
34194        Reviewed by Julien Chaffraix.
34195
34196        Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
34197
34198        * WebProcess/WebPage/WebContextMenu.cpp:
34199        (WebKit::WebContextMenu::show):
34200        * WebProcess/WebPage/mac/WebPageMac.mm:
34201        (WebKit::WebPage::characterIndexForPoint):
34202
342032012-11-21  Simon Hausmann  <simon.hausmann@digia.com>
34204
34205        Unreviewed Qt/Windows build fix.
34206        https://bugs.webkit.org/show_bug.cgi?id=102787
34207
34208        Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
34209        defines a member function called "interface". Since windows headers also define a pre-processor
34210        macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
34211        which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
34212        the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
34213        and just slows down the build, this patch removes it.
34214
34215        * UIProcess/API/qt/qwebkittest_p.h:
34216
342172012-11-21  Huang Dongsung  <luxtella@company100.net>
34218
34219        Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
34220        https://bugs.webkit.org/show_bug.cgi?id=102900
34221
34222        Reviewed by Noam Rosenthal.
34223
34224        Currently, QQuickWebPage::updatePaintNode() calls
34225        LayerTreeRenderer::syncRemoteContent() with locking the main thread.
34226        syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
34227        updatePaintNode(). Calling syncRemoteContent() in the painting thread is
34228        thread-safe because syncRemoteContent() does not access any data
34229        structures, which the main thread use.
34230
34231        After this patch, syncRemoteContent() is used only internally, so
34232        syncRemoteContent() becomes private.
34233
34234        * UIProcess/API/efl/EwkViewImpl.cpp:
34235        (EwkViewImpl::displayTimerFired):
34236        * UIProcess/API/qt/qquickwebpage.cpp:
34237        (QQuickWebPage::updatePaintNode):
34238        * UIProcess/API/qt/raw/qrawwebview.cpp:
34239        (QRawWebView::paint):
34240        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
34241        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
34242        (WebKit::LayerTreeRenderer::ensureRootLayer):
34243        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
34244        (LayerTreeRenderer):
34245
342462012-11-21  Andras Becsi  <andras.becsi@digia.com>
34247
34248        [WK2] Viewport meta tag broken after r134801
34249        https://bugs.webkit.org/show_bug.cgi?id=102801
34250
34251        Reviewed by Kenneth Rohde Christiansen.
34252
34253        If the initial-scale attribute is not explicitly specified it is left -1 by the
34254        viewport meta algorithm and if the content is not scalable the min and max scales
34255        are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
34256        in negative scales on the UI side.
34257        Make sure that the minimum scale to fit the viewport is calculated before restricting
34258        the scales and use this scale as the initial scale if no explicit initial scale was set.
34259
34260        * UIProcess/PageViewportController.cpp:
34261        (WebKit::PageViewportController::PageViewportController):
34262        (WebKit::PageViewportController::pageTransitionViewportReady):
34263        (WebKit::PageViewportController::didChangeViewportAttributes):
34264        (WebKit::PageViewportController::updateMinimumScaleToFit):
34265
342662012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
34267
34268        [EFL][WK2] Support Context Menu
34269        https://bugs.webkit.org/show_bug.cgi?id=96200
34270
34271        Reviewed by Laszlo Gombos.
34272
34273        This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
34274        Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
34275        For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
34276
34277        In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
34278
34279        * PlatformEfl.cmake:
34280        * UIProcess/API/efl/EWebKit2.h:
34281        * UIProcess/API/efl/EwkViewImpl.cpp:
34282        (EwkViewImpl::EwkViewImpl):
34283        (EwkViewImpl::showContextMenu):
34284        (EwkViewImpl::hideContextMenu):
34285        * UIProcess/API/efl/EwkViewImpl.h:
34286        (WebKit):
34287        (EwkViewImpl):
34288        * UIProcess/API/efl/ewk_context_menu.cpp: Added.
34289        (EwkContextMenu::EwkContextMenu):
34290        (EwkContextMenu::~EwkContextMenu):
34291        (EwkContextMenu::hide):
34292        (Ewk_Context_Menu::appendItem):
34293        (Ewk_Context_Menu::removeItem):
34294        (EwkContextMenu::contextMenuItemSelected):
34295        (ewk_context_menu_new):
34296        (ewk_context_menu_new_with_items):
34297        (ewk_context_menu_item_append):
34298        (ewk_context_menu_item_remove):
34299        (ewk_context_menu_hide):
34300        (ewk_context_menu_items_get):
34301        (ewk_context_menu_item_select):
34302        * UIProcess/API/efl/ewk_context_menu.h: Added.
34303        * UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
34304        (EwkContextMenuItem::EwkContextMenuItem):
34305        (ewk_context_menu_item_new):
34306        (ewk_context_menu_item_new_with_submenu):
34307        (ewk_context_menu_item_type_get):
34308        (ewk_context_menu_item_type_set):
34309        (ewk_context_menu_item_action_get):
34310        (ewk_context_menu_item_action_set):
34311        (ewk_context_menu_item_title_get):
34312        (ewk_context_menu_item_title_set):
34313        (ewk_context_menu_item_checked_get):
34314        (ewk_context_menu_item_checked_set):
34315        (ewk_context_menu_item_enabled_get):
34316        (ewk_context_menu_item_enabled_set):
34317        * UIProcess/API/efl/ewk_context_menu_item.h: Added.
34318        * UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
34319        (EwkContextMenuItem):
34320        (EwkContextMenuItem::create):
34321        (EwkContextMenuItem::action):
34322        (EwkContextMenuItem::setAction):
34323        (EwkContextMenuItem::title):
34324        (EwkContextMenuItem::setTitle):
34325        (EwkContextMenuItem::type):
34326        (EwkContextMenuItem::setType):
34327        (EwkContextMenuItem::checked):
34328        (EwkContextMenuItem::setChecked):
34329        (EwkContextMenuItem::enabled):
34330        (EwkContextMenuItem::setEnabled):
34331        * UIProcess/API/efl/ewk_context_menu_private.h: Added.
34332        (WebKit):
34333        (EwkContextMenu):
34334        (EwkContextMenu::create):
34335        (EwkContextMenu::items):
34336        * UIProcess/API/efl/ewk_defines.h: Added.
34337        * UIProcess/API/efl/ewk_view.h:
34338        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
34339        (checkBasicContextMenuItem):
34340        (showContextMenu):
34341        (TEST_F):
34342        * UIProcess/efl/ContextMenuClientEfl.cpp: Added.
34343        (toContextClientEfl):
34344        (ContextMenuClientEfl::ContextMenuClientEfl):
34345        (ContextMenuClientEfl::getContextMenuFromProposedMenu):
34346        * UIProcess/efl/ContextMenuClientEfl.h: Added.
34347        (WebKit):
34348        (ContextMenuClientEfl):
34349        (WebKit::ContextMenuClientEfl::create):
34350        * UIProcess/efl/PageClientBase.cpp:
34351        (WebKit::PageClientBase::createContextMenuProxy):
34352        * UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
34353        (WebKit):
34354        (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
34355        (WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
34356        (WebKit::WebContextMenuProxyEfl::showContextMenu):
34357        (WebKit::WebContextMenuProxyEfl::hideContextMenu):
34358        (WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
34359        * UIProcess/efl/WebContextMenuProxyEfl.h: Added.
34360        (WebKit):
34361        (WebContextMenuProxyEfl):
34362        (WebKit::WebContextMenuProxyEfl::create):
34363
343642012-11-21  Jongseok Yang  <js45.yang@samsung.com>
34365
34366        [EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
34367        https://bugs.webkit.org/show_bug.cgi?id=102867
34368
34369        Reviewed by Gyuyoung Kim.
34370
34371        Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
34372
34373        ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
34374        because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
34375        And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
34376
34377        * UIProcess/API/efl/ewk_view.cpp:
34378        (ewk_view_encoding_custom_get):
34379        (ewk_view_encoding_custom_set):
34380        * UIProcess/API/efl/ewk_view.h:
34381        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
34382        (TEST_F):
34383
343842012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
34385
34386        [EFL][WK2] Remove unnecessary #include in API test
34387        https://bugs.webkit.org/show_bug.cgi?id=102674
34388
34389        Reviewed by Laszlo Gombos.
34390
34391        Removed duplicated header files from the API test cases.
34392        Now, EWK2UnitTestBase.h includes the basic header files, 
34393        so test cases may only include this one and add the addtional
34394        header files if necessary.
34395
34396        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
34397        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
34398        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
34399        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
34400        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
34401        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
34402        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
34403        * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
34404        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
34405        * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
34406        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
34407        * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
34408        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
34409        * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
34410        * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
34411        * UIProcess/API/efl/tests/test_ewk2_object.cpp:
34412        * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
34413        * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
34414        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
34415        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
34416        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
34417        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
34418
344192012-11-19  Sam Weinig  <sam@webkit.org>
34420
34421        Simplify WebConnection by removing its underlying CoreIPC::Connection
34422        https://bugs.webkit.org/show_bug.cgi?id=102771
34423
34424        Reviewed by Anders Carlsson.
34425
34426        Instead of having WebConnection subclasses own the CoreIPC::Connection,
34427        move back to having the WebProcess and WebProcessProxy own it (and be
34428        its Connection::Client) and use the new MessageReceiver class to vend
34429        messages to the WebConnection.
34430
34431        * Shared/WebConnection.cpp:
34432        (WebKit::WebConnection::WebConnection):
34433        (WebKit::WebConnection::postMessage):
34434        (WebKit::WebConnection::didClose):
34435        (WebKit::WebConnection::didReceiveMessage):
34436        * Shared/WebConnection.h:
34437        Make WebConnection both a MessageReceiver and MessageSender
34438        and add virtual functions for derived classes to fill in.
34439
34440        * UIProcess/WebConnectionToWebProcess.cpp:
34441        (WebKit::WebConnectionToWebProcess::create):
34442        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
34443        (WebKit::WebConnectionToWebProcess::invalidate):
34444        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
34445        (WebKit::WebConnectionToWebProcess::connection):
34446        (WebKit::WebConnectionToWebProcess::destinationID):
34447        (WebKit::WebConnectionToWebProcess::hasValidConnection):
34448        * UIProcess/WebConnectionToWebProcess.h:
34449        * UIProcess/WebProcessProxy.cpp:
34450        (WebKit::WebProcessProxy::~WebProcessProxy):
34451        (WebKit::WebProcessProxy::fromConnection):
34452        (WebKit::WebProcessProxy::disconnect):
34453        (WebKit::WebProcessProxy::addMessageReceiver):
34454        (WebKit::WebProcessProxy::didClose):
34455        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
34456        (WebKit::WebProcessProxy::didFinishLaunching):
34457        * UIProcess/WebProcessProxy.h:
34458        (WebKit::WebProcessProxy::connection):
34459        (WebProcessProxy):
34460        (WebKit::WebProcessProxy::webConnection):
34461        * WebProcess/WebConnectionToUIProcess.cpp:
34462        (WebKit::WebConnectionToUIProcess::create):
34463        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
34464        (WebKit):
34465        (WebKit::WebConnectionToUIProcess::invalidate):
34466        (WebKit::WebConnectionToUIProcess::connection):
34467        (WebKit::WebConnectionToUIProcess::destinationID):
34468        (WebKit::WebConnectionToUIProcess::hasValidConnection):
34469        * WebProcess/WebConnectionToUIProcess.h:
34470        (WebConnectionToUIProcess):
34471        * WebProcess/WebProcess.cpp:
34472        (WebKit::WebProcess::initialize):
34473        (WebKit::WebProcess::terminate):
34474        * WebProcess/WebProcess.h:
34475        (WebKit::WebProcess::connection):
34476        (WebKit::WebProcess::webConnectionToUIProcess):
34477        Move the CoreIPC::Connection back to the processes.
34478
344792012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
34480
34481        [EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
34482        https://bugs.webkit.org/show_bug.cgi?id=99114
34483
34484        Reviewed by Gyuyoung Kim.
34485
34486        Added Ewk_Window_Features API so that we can create new windows
34487        with various window features such as location, size, toolbar, menubar,
34488        statusbar, locationbar, scrollbar, resizable, and fullscreen.
34489
34490        UI client callbacks related to window features also implemented
34491        so that it is possible to retrieve the window object property values.
34492
34493        * PlatformEfl.cmake:
34494        * UIProcess/API/efl/EWebKit2.h:
34495        * UIProcess/API/efl/EwkViewCallbacks.h:
34496        (EwkViewCallbacks):
34497        * UIProcess/API/efl/EwkViewImpl.cpp:
34498        (EwkViewImpl::windowFeatures):
34499        (EwkViewImpl::createNewPage):
34500        (EwkViewImpl::closePage):
34501        * UIProcess/API/efl/EwkViewImpl.h:
34502        (EwkViewImpl):
34503        * UIProcess/API/efl/ewk_view.h:
34504        * UIProcess/efl/PageUIClientEfl.cpp:
34505        (WebKit::PageUIClientEfl::createNewPage):
34506        (WebKit::PageUIClientEfl::toolbarsAreVisible):
34507        (WebKit):
34508        (WebKit::PageUIClientEfl::setToolbarsAreVisible):
34509        (WebKit::PageUIClientEfl::menuBarIsVisible):
34510        (WebKit::PageUIClientEfl::setMenuBarIsVisible):
34511        (WebKit::PageUIClientEfl::statusBarIsVisible):
34512        (WebKit::PageUIClientEfl::setStatusBarIsVisible):
34513        (WebKit::PageUIClientEfl::isResizable):
34514        (WebKit::PageUIClientEfl::setIsResizable):
34515        (WebKit::PageUIClientEfl::PageUIClientEfl):
34516        * UIProcess/efl/PageUIClientEfl.h:
34517        (PageUIClientEfl):
34518
345192012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
34520
34521        Unreviewed, rolling out r135295.
34522        http://trac.webkit.org/changeset/135295
34523        https://bugs.webkit.org/show_bug.cgi?id=102834
34524
34525        This patch causes assertion to some layout tests on chromium
34526        (Requested by jianli on #webkit).
34527
34528        * WebProcess/Plugins/PluginView.cpp:
34529        (WebKit::PluginView::performFrameLoadURLRequest):
34530        * WebProcess/WebPage/WebPage.cpp:
34531        (WebKit::WebPage::loadURLRequest):
34532        (WebKit::WebPage::loadData):
34533        (WebKit::WebPage::linkClicked):
34534
345352012-11-20  James Simonsen  <simonjam@chromium.org>
34536
34537        Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
34538        https://bugs.webkit.org/show_bug.cgi?id=102151
34539
34540        Reviewed by Adam Barth.
34541
34542        * WebProcess/Plugins/PluginView.cpp:
34543        (WebKit::PluginView::performFrameLoadURLRequest):
34544        * WebProcess/WebPage/WebPage.cpp:
34545        (WebKit::WebPage::loadURLRequest):
34546        (WebKit::WebPage::loadData):
34547
345482012-11-20  peavo@outlook.com  <peavo@outlook.com>
34549
34550        WinCairo build fails to link.
34551        https://bugs.webkit.org/show_bug.cgi?id=102804
34552
34553        Reviewed by Alexey Proskuryakov.
34554
34555        * win/WebKit2CFLite.def:
34556
345572012-11-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
34558
34559        [WTR] WebKitTestRunner should be able to run tests using fixed layout
34560        https://bugs.webkit.org/show_bug.cgi?id=102517
34561
34562        Reviewed by Kenneth Rohde Christiansen.
34563
34564        Update EFL private API so we can create a view with fixed layout. We
34565        can keep this as private as I don't see a real life use case for it
34566        outside WTR and the WebInspector.
34567
34568        * UIProcess/API/C/efl/WKView.cpp:
34569        (WKViewCreate):
34570        (WKViewCreateWithFixedLayout):
34571        * UIProcess/API/C/efl/WKView.h:
34572        * UIProcess/API/efl/ewk_view.cpp:
34573        (ewk_view_base_add):
34574        * UIProcess/API/efl/ewk_view_private.h:
34575        * UIProcess/efl/WebInspectorProxyEfl.cpp:
34576        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
34577
345782012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
34579
34580        [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
34581        https://bugs.webkit.org/show_bug.cgi?id=102790
34582
34583        Reviewed by Kenneth Rohde Christiansen.
34584
34585        Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
34586        but instead return whether it has changed the minimumScaleToFit.
34587
34588        * UIProcess/PageViewportController.cpp:
34589        (WebKit::PageViewportController::didChangeContentsSize):
34590        (WebKit::PageViewportController::updateMinimumScaleToFit):
34591        * UIProcess/PageViewportController.h:
34592        (PageViewportController):
34593
345942012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
34595
34596        [Qt] No test of double-click to zoom out
34597        https://bugs.webkit.org/show_bug.cgi?id=102810
34598
34599        Reviewed by Kenneth Rohde Christiansen.
34600
34601        Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
34602        that zoom out always goes to lower zoom levels.
34603
34604        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
34605
346062012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
34607
34608        [Qt] Large areas highlighted on touch
34609        https://bugs.webkit.org/show_bug.cgi?id=97216
34610
34611        Reviewed by Simon Hausmann.
34612
34613        Restrict highlighting of scripted event-handlers to inline elements only.
34614
34615        * WebProcess/WebPage/WebPage.cpp:
34616        (WebKit::WebPage::highlightPotentialActivation):
34617
346182012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
34619
34620        [Qt] Zoom logic confused by page and pinch resize
34621        https://bugs.webkit.org/show_bug.cgi?id=102803
34622
34623        Reviewed by Kenneth Rohde Christiansen.
34624
34625        Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
34626        zoom-out and zoom-back when the zoom-out stack is empty.
34627
34628        * UIProcess/qt/PageViewportControllerClientQt.cpp:
34629        (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
34630        (WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
34631        (WebKit::PageViewportControllerClientQt::setContentsScale):
34632        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
34633        (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
34634        * UIProcess/qt/PageViewportControllerClientQt.h:
34635        (PageViewportControllerClientQt):
34636
346372012-11-19  KyungTae Kim  <ktf.kim@samsung.com>
34638
34639        [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
34640        https://bugs.webkit.org/show_bug.cgi?id=102760
34641
34642        Reviewed by Laszlo Gombos.
34643
34644        Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
34645        use UNUSED_PARAM macro to fix build warning -Wunused-parameter
34646
34647        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34648        (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
34649
346502012-11-19  Huang Dongsung  <luxtella@company100.net>
34651
34652        Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
34653        https://bugs.webkit.org/show_bug.cgi?id=102313
34654
34655        Reviewed by Noam Rosenthal.
34656
34657        Currently, we don't remove tiles of the layer with the special properties: a
34658        transform animation and non affine transform. If a page has a lot of layers with
34659        a transform animation, we will encounter OOM. So this patch removes the
34660        privilege of the layer.
34661
34662        There are two changes.
34663        1. computeTransformedVisibleRect() calculates a layer transform using the
34664        current local transform which a transform animation applied.
34665        2. tiledBackingStoreVisibleRect() calculates a visible
34666        rect of all layers, even if the layer includes the property: a transform
34667        animation or non affine transform.
34668
34669        Test: animations/animation-offscreen-to-onscreen.html
34670
34671        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34672        (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
34673        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
34674        (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
34675        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
34676        (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
34677        (WebCore):
34678        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
34679        (CoordinatedGraphicsLayer):
34680
346812012-11-19  Huang Dongsung  <luxtella@company100.net>
34682
34683        Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
34684        https://bugs.webkit.org/show_bug.cgi?id=102449
34685
34686        Reviewed by Noam Rosenthal.
34687
34688        Currently, once uploading textures for composited images, Coordinated Graphics
34689        does not release the textures until all layers using images are destroyed.
34690
34691        This patch removes a texture if we don't need to render an image. This mechanism
34692        is similar how TiledBackingStore removes invisible tiles.
34693
34694        When all layers are invisible, we wait 3 seconds to remove the content
34695        of the image, because we want to prevent a transform animation from
34696        creating and destroying a texture over and over again.
34697
34698        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
34699        (WebKit::CoordinatedBackingStore::removeAllTiles):
34700        (WebKit):
34701        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
34702        (CoordinatedBackingStore):
34703        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
34704        (WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
34705        (WebKit):
34706        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
34707        (LayerTreeCoordinatorProxy):
34708        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
34709        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
34710        (WebKit::LayerTreeRenderer::clearImageBackingContents):
34711        (WebKit):
34712        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
34713        (LayerTreeRenderer):
34714        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34715        (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
34716        (WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
34717        (WebCore):
34718        (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
34719        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
34720        (CoordinatedGraphicsLayer):
34721        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
34722        (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
34723        (WebKit::CoordinatedImageBacking::addHost):
34724        (WebKit::CoordinatedImageBacking::removeHost):
34725        (WebKit::CoordinatedImageBacking::update):
34726        (WebKit):
34727        (WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
34728        (WebKit::CoordinatedImageBacking::clearContentsTimerFired):
34729        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
34730        (Coordinator):
34731        (Host):
34732        (CoordinatedImageBacking):
34733        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
34734        (WebKit::LayerTreeCoordinator::clearImageBackingContents):
34735        (WebKit):
34736        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
34737        (LayerTreeCoordinator):
34738
347392012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
34740
34741        Unreviewed, rolling out r135201.
34742        http://trac.webkit.org/changeset/135201
34743        https://bugs.webkit.org/show_bug.cgi?id=102725
34744
34745        Broke all non-Mac WK2 builds. (Requested by rakuco on
34746        #webkit).
34747
34748        * Shared/mac/PlatformCertificateInfo.h:
34749        * Shared/mac/PlatformCertificateInfo.mm:
34750        (WebKit):
34751        * WebKit2.xcodeproj/project.pbxproj:
34752        * WebProcess/Authentication/AuthenticationManager.cpp:
34753        * WebProcess/Authentication/AuthenticationManager.h:
34754        (AuthenticationManager):
34755        * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
34756        (WebKit):
34757        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
34758
347592012-11-19  Brady Eidson  <beidson@apple.com>
34760
34761        Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
34762        https://bugs.webkit.org/show_bug.cgi?id=102718
34763
34764        Reviewed by Sam Weinig.
34765
34766        Add the shared PlatformCertificateInfo version of the method:
34767        * Shared/mac/PlatformCertificateInfo.h:
34768        * Shared/mac/PlatformCertificateInfo.mm:
34769        (WebKit::tryUsePlatformCertificateInfoForChallenge):
34770
34771        Use the new shared version:
34772        * WebProcess/Authentication/AuthenticationManager.cpp:
34773
34774        Remove the old member version:
34775        * WebProcess/Authentication/AuthenticationManager.h:
34776        * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
34777        * WebKit2.xcodeproj/project.pbxproj:
34778
347792012-11-19  Huang Dongsung  <luxtella@company100.net>
34780
34781        Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
34782        https://bugs.webkit.org/show_bug.cgi?id=102664
34783
34784        Reviewed by Noam Rosenthal.
34785
34786        This patch makes sync canvas code handle the lifecycle of the canvas
34787        GraphicsSurface in the similar style to a directly image compositing and
34788        an update atlas code. This patch moves the canvas lifecycle handling
34789        code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
34790        CoordinatedGraphicsLayer knows best when to create and remove the canvas
34791        GraphicsSurface.
34792
34793        After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
34794        as the canvas platform layer is unset in Web Process.
34795
34796        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
34797        (WebKit::LayerTreeCoordinatorProxy::createCanvas):
34798        (WebKit):
34799        (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
34800        (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
34801        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
34802        (LayerTreeCoordinatorProxy):
34803        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
34804        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
34805        (WebKit::LayerTreeRenderer::createCanvas):
34806        (WebKit):
34807        (WebKit::LayerTreeRenderer::syncCanvas):
34808        (WebKit::LayerTreeRenderer::destroyCanvas):
34809        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
34810        (LayerTreeRenderer):
34811        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
34812        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
34813        (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
34814        (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
34815        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
34816        (WebCore):
34817        (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
34818        (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
34819        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
34820        (CoordinatedGraphicsLayerClient):
34821        (CoordinatedGraphicsLayer):
34822        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
34823        (WebKit::LayerTreeCoordinator::createCanvas):
34824        (WebKit):
34825        (WebKit::LayerTreeCoordinator::syncCanvas):
34826        (WebKit::LayerTreeCoordinator::destroyCanvas):
34827        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
34828        (LayerTreeCoordinator):
34829
348302012-11-19  Brady Eidson  <beidson@apple.com>
34831
34832        Replace an unneeded #include with a forward declaration after r135179.
34833
34834        Reviewed by nobody, but suggested by Alexey Proskuryakov.
34835
34836        * WebProcess/Network/WebResourceLoader.h:
34837
348382012-11-19  Martin Robinson  <mrobinson@igalia.com>
34839
34840        [GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
34841        https://bugs.webkit.org/show_bug.cgi?id=102613
34842
34843        Unreviewed build fix.
34844
34845        * GNUmakefile.am: Fix the build after one of my previous patches introduced
34846        a link dependency on libsecret.
34847
348482012-11-19  Yael Aharon  <yael.aharon@intel.com>
34849
34850        [EFL][WK2] Web Inspector crashes if evas_gl is not available
34851        https://bugs.webkit.org/show_bug.cgi?id=102531
34852
34853        Reviewed by Kenneth Rohde Christiansen.
34854
34855        Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
34856
34857        * UIProcess/efl/WebInspectorProxyEfl.cpp:
34858        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
34859
348602012-11-19  Brady Eidson  <beidson@apple.com>
34861
34862        Remove the source files for NetworkRequest from the repository.
34863        They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
34864
34865        Unreviewed.
34866
34867        * NetworkProcess/NetworkRequest.cpp: Removed.
34868        * NetworkProcess/NetworkRequest.h: Removed.
34869
348702012-11-19  Brady Eidson  <beidson@apple.com>
34871
34872        Add 64-bit specializations for atomicIncrement and atomicDecrement
34873        https://bugs.webkit.org/show_bug.cgi?id=102702
34874
34875        Reviewed by Eric Carlson.
34876
34877        Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
34878
34879        * NetworkProcess/NetworkResourceLoader.cpp:
34880        (WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
34881        (WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
34882
34883        * WebProcess/mac/KeychainItemShimMethods.mm:
34884        (WebKit::generateSecKeychainItemRequestID): Ditto.
34885
34886        * WebProcess/mac/SecItemShimMethods.mm:
34887        (WebKit::generateSecItemRequestID): Ditto.
34888
348892012-11-19  Brady Eidson  <beidson@apple.com>
34890
34891        NetworkProcess Authentication.
34892        https://bugs.webkit.org/show_bug.cgi?id=102592
34893
34894        Reviewed by Alexey Proskuryakov.
34895
34896        This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
34897        related events to the WebProcess and relying on existing client APIs to answer them.
34898
34899        Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
34900        Also implement messaging back from the WebProcess to response to those auth challenges:
34901        * NetworkProcess/NetworkResourceLoader.cpp:
34902        (WebKit::willSendRequestResponseMap):
34903        (WebKit::NetworkResourceLoader::willSendRequest):
34904        (WebKit::NetworkResourceLoader::willSendRequestHandled):
34905        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
34906        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
34907        (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
34908        (WebKit::NetworkResourceLoader::receivedCancellation):
34909        (WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
34910        (WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
34911        (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
34912        (WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
34913        (WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
34914        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
34915        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
34916        * NetworkProcess/NetworkResourceLoader.h:
34917        * NetworkProcess/NetworkResourceLoader.messages.in:
34918
34919        Implement messaging to response to auth challenges from the NetworkProcess, and implement
34920        AuthenticationClient to response to auth responses from WebProcess clients:
34921        * WebProcess/Network/WebResourceLoader.cpp:
34922        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
34923        (WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
34924        (WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
34925        (WebKit::WebResourceLoader::receivedCredential):
34926        (WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
34927        (WebKit::WebResourceLoader::receivedCancellation):
34928        * WebProcess/Network/WebResourceLoader.h:
34929        (WebKit::WebResourceLoader::refAuthenticationClient):
34930        (WebKit::WebResourceLoader::derefAuthenticationClient):
34931        * WebProcess/Network/WebResourceLoader.messages.in:
34932
34933        Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
34934        * Shared/BlockingResponseMap.h:
34935        (BlockingBoolResponseMap::waitForResponse):
34936        (BlockingBoolResponseMap::didReceiveResponse):
34937
34938        Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
34939        already has the answer when the question is asked:
34940        * Shared/Network/NetworkResourceLoadParameters.cpp:
34941        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
34942        (WebKit::NetworkResourceLoadParameters::encode):
34943        (WebKit::NetworkResourceLoadParameters::decode):
34944        * Shared/Network/NetworkResourceLoadParameters.h:
34945        (WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
34946
34947        Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
34948        * WebProcess/Network/WebResourceLoadScheduler.cpp:
34949        (WebKit::WebResourceLoadScheduler::scheduleLoad):
34950
34951        Add a FIXME for client certs:
34952        * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
34953        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
34954
34955        Add a FIXME for downloads:
34956        * WebProcess/Downloads/mac/DownloadMac.mm:
34957
34958        Remove unused messaging related methods:
34959        * WebProcess/Network/NetworkProcessConnection.cpp:
34960        * WebProcess/Network/NetworkProcessConnection.h:
34961
349622012-11-19  Kihong Kwon  <kihong.kwon@samsung.com>
34963
34964        Add PROXIMITY_EVENTS feature
34965        https://bugs.webkit.org/show_bug.cgi?id=102658
34966
34967        Reviewed by Kentaro Hara.
34968
34969        Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
34970
34971        * Configurations/FeatureDefines.xcconfig:
34972
349732012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
34974
34975        [EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
34976        https://bugs.webkit.org/show_bug.cgi?id=102682
34977
34978        Reviewed by Kenneth Rohde Christiansen.
34979
34980        Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
34981        in displayTimerFired() to avoid crashing if those have already
34982        been destroyed by the time to timer is fired.
34983
34984        * UIProcess/API/efl/EwkViewImpl.cpp:
34985        (EwkViewImpl::layerTreeRenderer):
34986        (EwkViewImpl::displayTimerFired):
34987        (EwkViewImpl::createGLSurface):
34988        (EwkViewImpl::enterAcceleratedCompositingMode):
34989        * UIProcess/API/efl/EwkViewImpl.h:
34990        (WebKit):
34991        (EwkViewImpl):
34992
349932012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
34994
34995        [WK2][WTR] Memory leak in TestController::initialize()
34996        https://bugs.webkit.org/show_bug.cgi?id=102616
34997
34998        Reviewed by Kenneth Rohde Christiansen.
34999
35000        Export a few additional WTF symbols for windows port.
35001
35002        * win/WebKit2.def:
35003
350042012-11-19  Carlos Garcia Campos  <cgarcia@igalia.com>
35005
35006        [GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
35007        https://bugs.webkit.org/show_bug.cgi?id=102668
35008
35009        Reviewed by Philippe Normand.
35010
35011        Check only that window properties match when creating a new window
35012        if the expected window properties has been set. Also remove a
35013        FIXME and actually check that x and y are equal to the expected
35014        one, now that the issue is fixed.
35015
35016        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
35017
350182012-11-19  Balazs Kelemen  <kbalazs@webkit.org>
35019
35020        Unreviewed buildfix.
35021
35022        Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
35023
35024        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
35025        (WebCustomFilterProgramProxy): This is a polymorphic derived class
35026        so the destructor should be virtual.
35027
350282012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
35029
35030        [CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
35031        https://bugs.webkit.org/show_bug.cgi?id=102652
35032
35033        Reviewed by Kenneth Rohde Christiansen.
35034
35035        Handle null return of nativeImageForCurrentFrame similarly to Chromium
35036        port in r130610. This can happen if there is an error early in the
35037        decoding of an image.
35038
35039        Test: Already covered by compositing/images/truncated-direct-png-image.html
35040
35041        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
35042        (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
35043
350442012-11-18  Jaehun Lim  <ljaehun.lim@samsung.com>
35045
35046        [EFL][WK2] Remove underscore characters in Ewk class names.
35047        https://bugs.webkit.org/show_bug.cgi?id=102641
35048
35049        Reviewed by Gyuyoung Kim.
35050
35051        WebKit EFL doesn't use '_' in C++ class names.
35052
35053        * UIProcess/API/efl/EwkViewCallbacks.h:
35054        * UIProcess/API/efl/EwkViewImpl.h:
35055        (EwkViewImpl::settings):
35056        (EwkViewImpl::backForwardList):
35057        (EwkViewImpl):
35058        * UIProcess/API/efl/ewk_auth_request.h:
35059        * UIProcess/API/efl/ewk_auth_request_private.h:
35060        * UIProcess/API/efl/ewk_back_forward_list.cpp:
35061        (EwkBackForwardList::EwkBackForwardList):
35062        (EwkBackForwardList::nextItem):
35063        (EwkBackForwardList::previousItem):
35064        (EwkBackForwardList::currentItem):
35065        (EwkBackForwardList::itemAt):
35066        (EwkBackForwardList::size):
35067        (EwkBackForwardList::backList):
35068        (EwkBackForwardList::forwardList):
35069        (EwkBackForwardList::getFromCacheOrCreate):
35070        (EwkBackForwardList::createEinaList):
35071        (EwkBackForwardList::update):
35072        * UIProcess/API/efl/ewk_back_forward_list.h:
35073        * UIProcess/API/efl/ewk_back_forward_list_item.h:
35074        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
35075        * UIProcess/API/efl/ewk_back_forward_list_private.h:
35076        (EwkBackForwardList::create):
35077        (EwkBackForwardList):
35078        * UIProcess/API/efl/ewk_color_picker.cpp:
35079        (EwkColorPicker::EwkColorPicker):
35080        (EwkColorPicker::setColor):
35081        (EwkColorPicker::color):
35082        * UIProcess/API/efl/ewk_color_picker.h:
35083        * UIProcess/API/efl/ewk_color_picker_private.h:
35084        (EwkColorPicker::create):
35085        (EwkColorPicker):
35086        * UIProcess/API/efl/ewk_context.h:
35087        * UIProcess/API/efl/ewk_context_private.h:
35088        * UIProcess/API/efl/ewk_cookie_manager.cpp:
35089        (EwkCookieManager::EwkCookieManager):
35090        (EwkCookieManager::~EwkCookieManager):
35091        (EwkCookieManager::setPersistentStorage):
35092        (EwkCookieManager::setHTTPAcceptPolicy):
35093        (EwkCookieManager::clearHostnameCookies):
35094        (EwkCookieManager::clearAllCookies):
35095        (EwkCookieManager::watchChanges):
35096        (EwkCookieManager::isWatchingForChanges):
35097        (EwkCookieManager::getHostNamesWithCookies):
35098        (EwkCookieManager::getHTTPAcceptPolicy):
35099        (EwkCookieManager::cookiesDidChange):
35100        * UIProcess/API/efl/ewk_cookie_manager.h:
35101        * UIProcess/API/efl/ewk_cookie_manager_private.h:
35102        (EwkCookieManager::create):
35103        (EwkCookieManager):
35104        * UIProcess/API/efl/ewk_database_manager.cpp:
35105        (EwkDatabaseManager::EwkDatabaseManager):
35106        (EwkDatabaseManager::getDatabaseOrigins):
35107        (EwkDatabaseManager::createOriginList):
35108        * UIProcess/API/efl/ewk_database_manager.h:
35109        * UIProcess/API/efl/ewk_database_manager_private.h:
35110        (EwkDatabaseManager::create):
35111        (EwkDatabaseManager):
35112        * UIProcess/API/efl/ewk_download_job.h:
35113        * UIProcess/API/efl/ewk_download_job_private.h:
35114        * UIProcess/API/efl/ewk_error.cpp:
35115        (EwkError::EwkError):
35116        (EwkError::url):
35117        (EwkError::description):
35118        (EwkError::domain):
35119        (EwkError::errorCode):
35120        (EwkError::isCancellation):
35121        * UIProcess/API/efl/ewk_error.h:
35122        * UIProcess/API/efl/ewk_error_private.h:
35123        (EwkError::create):
35124        (EwkError):
35125        * UIProcess/API/efl/ewk_favicon_database.cpp:
35126        (EwkFaviconDatabase::EwkFaviconDatabase):
35127        (EwkFaviconDatabase::~EwkFaviconDatabase):
35128        (EwkFaviconDatabase::iconURLForPageURL):
35129        (EwkFaviconDatabase::watchChanges):
35130        (EwkFaviconDatabase::unwatchChanges):
35131        (EwkFaviconDatabase::iconForPageURL):
35132        (EwkFaviconDatabase::didChangeIconForPageURL):
35133        (EwkFaviconDatabase::getIconSurfaceSynchronously):
35134        (EwkFaviconDatabase::iconDataReadyForPageURL):
35135        * UIProcess/API/efl/ewk_favicon_database.h:
35136        * UIProcess/API/efl/ewk_favicon_database_private.h:
35137        (EwkFaviconDatabase::create):
35138        (EwkFaviconDatabase):
35139        * UIProcess/API/efl/ewk_file_chooser_request.h:
35140        * UIProcess/API/efl/ewk_file_chooser_request_private.h:
35141        * UIProcess/API/efl/ewk_form_submission_request.h:
35142        * UIProcess/API/efl/ewk_form_submission_request_private.h:
35143        * UIProcess/API/efl/ewk_intent.h:
35144        * UIProcess/API/efl/ewk_intent_private.h:
35145        * UIProcess/API/efl/ewk_intent_service.h:
35146        * UIProcess/API/efl/ewk_intent_service_private.h:
35147        * UIProcess/API/efl/ewk_navigation_data.h:
35148        * UIProcess/API/efl/ewk_navigation_data_private.h:
35149        * UIProcess/API/efl/ewk_navigation_policy_decision.h:
35150        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
35151        * UIProcess/API/efl/ewk_object.h:
35152        * UIProcess/API/efl/ewk_object_private.h:
35153        (EwkObject::~EwkObject):
35154        (ewk_object_is_of_type):
35155        (ewk_object_cast_check):
35156        (ewk_object_cast):
35157        * UIProcess/API/efl/ewk_popup_menu.cpp:
35158        (EwkPopupMenu::EwkPopupMenu):
35159        (EwkPopupMenu::~EwkPopupMenu):
35160        (EwkPopupMenu::close):
35161        (EwkPopupMenu::items):
35162        (EwkPopupMenu::selectedIndex):
35163        (EwkPopupMenu::setSelectedIndex):
35164        * UIProcess/API/efl/ewk_popup_menu.h:
35165        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
35166        (EwkPopupMenuItem::EwkPopupMenuItem):
35167        (EwkPopupMenuItem::type):
35168        (EwkPopupMenuItem::textDirection):
35169        (EwkPopupMenuItem::text):
35170        (EwkPopupMenuItem::tooltipText):
35171        (EwkPopupMenuItem::accessibilityText):
35172        (EwkPopupMenuItem::hasTextDirectionOverride):
35173        (EwkPopupMenuItem::isEnabled):
35174        (EwkPopupMenuItem::isLabel):
35175        (EwkPopupMenuItem::isSelected):
35176        * UIProcess/API/efl/ewk_popup_menu_item.h:
35177        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
35178        (EwkPopupMenuItem::create):
35179        (EwkPopupMenuItem):
35180        * UIProcess/API/efl/ewk_popup_menu_private.h:
35181        (EwkPopupMenu::create):
35182        (EwkPopupMenu):
35183        * UIProcess/API/efl/ewk_resource.h:
35184        * UIProcess/API/efl/ewk_resource_private.h:
35185        * UIProcess/API/efl/ewk_security_origin.h:
35186        * UIProcess/API/efl/ewk_security_origin_private.h:
35187        * UIProcess/API/efl/ewk_settings.cpp:
35188        (EwkSettings::preferences):
35189        * UIProcess/API/efl/ewk_settings.h:
35190        * UIProcess/API/efl/ewk_settings_private.h:
35191        (EwkSettings::create):
35192        (EwkSettings::EwkSettings):
35193        * UIProcess/API/efl/ewk_storage_manager.cpp:
35194        (EwkStorageManager::EwkStorageManager):
35195        (EwkStorageManager::getStorageOrigins):
35196        (EwkStorageManager::createOriginList):
35197        * UIProcess/API/efl/ewk_storage_manager.h:
35198        * UIProcess/API/efl/ewk_storage_manager_private.h:
35199        (EwkStorageManager::create):
35200        (EwkStorageManager):
35201        * UIProcess/API/efl/ewk_url_request.h:
35202        * UIProcess/API/efl/ewk_url_request_private.h:
35203        * UIProcess/API/efl/ewk_url_response.h:
35204        * UIProcess/API/efl/ewk_url_response_private.h:
35205        * UIProcess/API/efl/ewk_url_scheme_request.h:
35206        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
35207        * UIProcess/API/efl/tests/test_ewk2_object.cpp:
35208        (TEST_F):
35209
352102012-11-18  Yael Aharon  <yael.aharon@intel.com>
35211
35212        [EFL][WK2] Wrong transform when using software path.
35213        https://bugs.webkit.org/show_bug.cgi?id=102549
35214
35215        Reviewed by Kenneth Rohde Christiansen.
35216
35217        When using the software path, our transform is not correct and results 
35218        in drawing the wrong part of the page. This becomes more obvious after scrolling.
35219
35220        * UIProcess/efl/WebInspectorProxyEfl.cpp:
35221        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
35222
352232012-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
35224
35225        [WK2] REGRESSION: After web process crash a new web process is created for every existing page
35226        https://bugs.webkit.org/show_bug.cgi?id=102520
35227
35228        Reviewed by Alexey Proskuryakov.
35229
35230        When process model is SharedSecondaryProcess a new shared process
35231        should be created instead of a new process per page.
35232
35233        * UIProcess/WebContext.cpp:
35234        (WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
35235        process and return it.
35236        (WebKit::WebContext::createWebPage): Update to change in
35237        ensureSharedWebProcess() that returns the shared web process now.
35238        * UIProcess/WebContext.h:
35239        (WebContext): Remove relaunchProcessIfNecessary().
35240        (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
35241        Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
35242        * UIProcess/WebPageProxy.cpp:
35243        (WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
35244        process for SharedSecondaryProcess model or create a new web
35245        process for multi-process models.
35246
352472012-11-17  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
35248
35249        Remove 8-bit related assertion from NetscapePluginModuleX11.
35250        https://bugs.webkit.org/show_bug.cgi?id=102588
35251
35252        Reviewed by Andreas Kling.
35253
35254        Follow-up to r135043: since String::fromUTF8() is not guaranteed
35255        to give us a 16-bit string, the assertion in
35256        truncateToSingleLine() will fail in that case.
35257
35258        This should make the EFL WK2 Debug bot stop failing all
35259        plugin-related tests because "WebKit Test Plugin" is returned as
35260        an 8-bit string.
35261
35262        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
35263        (WebKit::truncateToSingleLine):
35264
352652012-11-17  Alexandru Chiculita  <achicu@adobe.com>
35266
35267        [Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
35268        https://bugs.webkit.org/show_bug.cgi?id=101801
35269
35270        Reviewed by Noam Rosenthal.
35271
35272        Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
35273        LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
35274        LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
35275        The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
35276        LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
35277        about the removed CustomFilterProgram.
35278
35279        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
35280        (CoreIPC::::encode):
35281        (CoreIPC::::decode):
35282        (CoreIPC):
35283        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
35284        (WebCore):
35285        * Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
35286        (WebCore):
35287        (WebCustomFilterOperation):
35288        (WebCore::WebCustomFilterOperation::create):
35289        (WebCore::WebCustomFilterOperation::programID):
35290        (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
35291        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
35292        (WebKit::WebCustomFilterProgramProxy::create):
35293        (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
35294        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
35295        (WebKit):
35296        (WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
35297        (WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
35298        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
35299        (LayerTreeCoordinatorProxy):
35300        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
35301        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
35302        (WebKit::LayerTreeRenderer::setLayerFilters):
35303        (WebKit):
35304        (WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
35305        (WebKit::LayerTreeRenderer::createCustomFilterProgram):
35306        (WebKit::LayerTreeRenderer::removeCustomFilterProgram):
35307        (WebKit::LayerTreeRenderer::setLayerAnimations):
35308        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
35309        (WebCore):
35310        (LayerTreeRenderer):
35311        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
35312        (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
35313        (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
35314        (WebKit::LayerTreeCoordinator::setLayerAnimations):
35315
353162012-11-17  Brady Eidson  <beidson@apple.com>
35317
35318        Add an integer identifier field to AuthenticationChallengeBase.
35319        https://bugs.webkit.org/show_bug.cgi?id=102593
35320
35321        Reviewed by Darin Adler.
35322
35323        Properly encode/decode the identifier when sending the challenge over CoreIPC.
35324
35325        * Shared/WebCoreArgumentCoders.cpp:
35326        (CoreIPC::::encode):
35327        (CoreIPC::::decode):
35328
353292012-11-17  Balazs Kelemen  <kbalazs@webkit.org>
35330
35331        8bit-unaware String usage in NetscapePluginModuleX11.cpp
35332        https://bugs.webkit.org/show_bug.cgi?id=102482
35333
35334        Reviewed by Michael Saboff.
35335
35336        String::fromUTF8 is not guaranteed to give a 16 bit string.
35337
35338        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
35339        (WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
35340
353412012-11-16  Jaehun Lim  <ljaehun.lim@samsung.com>
35342
35343        [EFL][WK2] Remove unnecessary #include statemtns
35344        https://bugs.webkit.org/show_bug.cgi?id=102577
35345
35346        Reviewed by Anders Carlsson.
35347
35348        ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
35349
35350        * UIProcess/API/efl/ewk_auth_request_private.h:
35351        * UIProcess/API/efl/ewk_database_manager.cpp:
35352        * UIProcess/API/efl/ewk_file_chooser_request_private.h:
35353        * UIProcess/API/efl/ewk_form_submission_request_private.h:
35354        * UIProcess/API/efl/ewk_navigation_data_private.h:
35355        * UIProcess/API/efl/ewk_resource_private.h:
35356        * UIProcess/API/efl/ewk_storage_manager.cpp:
35357
353582012-11-16  Sam Weinig  <weinig@apple.com>
35359
35360        Fix the windows build.
35361
35362        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
35363        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
35364        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
35365        * WebProcess/InjectedBundle/InjectedBundle.cpp:
35366        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
35367        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
35368        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
35369        (WebKit::WebPlatformStrategies::defaultCookieStorage):
35370        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
35371        (WebFrameNetworkingContext):
35372        * WebProcess/WebPage/WebPage.cpp:
35373        (WebKit::WebPage::updatePreferences):
35374        * WebProcess/WebPage/win/WebPageWin.cpp:
35375        (WebKit::cachedResponseForURL):
35376        * WebProcess/WebProcess.cpp:
35377        (WebKit::WebProcess::initializeWebProcess):
35378        * WebProcess/win/WebProcessWin.cpp:
35379        (WebKit::WebProcess::platformSetCacheModel):
35380        (WebKit::WebProcess::platformClearResourceCaches):
35381        (WebKit::WebProcess::platformInitializeWebProcess):
35382
353832012-11-16  Alec Flett  <alecflett@chromium.org>
35384
35385        Add tests for explicit serialization values
35386        https://bugs.webkit.org/show_bug.cgi?id=96818
35387
35388        Reviewed by Adam Barth.
35389
35390        Add exports for SerializedScriptValue changes.
35391
35392        * win/WebKit2.def:
35393        * win/WebKit2CFLite.def:
35394
353952012-11-16  Kiran Muppala  <cmuppala@apple.com>
35396
35397        Set task priority of WebKit2 processes to zero on Mac
35398        https://bugs.webkit.org/show_bug.cgi?id=102567
35399
35400        Reviewed by Mark Rowe.
35401
35402        Explicitly set task priority of WebKit2 processes to zero, to
35403        override automatic priority determination by the system.
35404
35405        * Shared/ChildProcess.cpp:
35406        (WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
35407        move MAC specific call to disableProcessSuppression to platformInitialize.
35408        (WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
35409        * Shared/ChildProcess.h:
35410        * Shared/mac/ChildProcessMac.mm:
35411        (WebKit::ChildProcess::platformInitialize): Add call to setpriority().
35412
354132012-11-16  Brady Eidson  <beidson@apple.com>
35414
35415        Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
35416        https://bugs.webkit.org/show_bug.cgi?id=102570
35417
35418        Reviewed by Alexey Proskuryakov.
35419
35420        This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
35421
35422        This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
35423        loader related messaging going forward.
35424
35425        Build/infrastructure stuff:
35426        * Platform/CoreIPC/MessageID.h:
35427        * WebKit2.xcodeproj/project.pbxproj:
35428        * DerivedSources.make:
35429
35430        Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
35431        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
35432        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
35433        * NetworkProcess/NetworkConnectionToWebProcess.h:
35434        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
35435
35436        Hang on to a master map of identifiers to NetworkResourceLoaders:
35437        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
35438        (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
35439        (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
35440        (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
35441        * NetworkProcess/NetworkResourceLoadScheduler.h:
35442
35443        Change the way "willSendRequestHandled" comes in to be a direct message:
35444        * NetworkProcess/NetworkResourceLoader.cpp:
35445        (WebKit::NetworkResourceLoader::willSendRequest):
35446        (WebKit::NetworkResourceLoader::willSendRequestHandled):
35447        * NetworkProcess/NetworkResourceLoader.h:
35448        * NetworkProcess/NetworkResourceLoader.messages.in:
35449
35450        Make WebResourceLoader a MessageSender:
35451        * WebProcess/Network/WebResourceLoader.cpp:
35452        (WebKit::WebResourceLoader::connection):
35453        (WebKit::WebResourceLoader::destinationID):
35454        (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
35455        * WebProcess/Network/WebResourceLoader.h:
35456
354572012-11-16  Tony Chang  <tony@chromium.org>
35458
35459        Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
35460        https://bugs.webkit.org/show_bug.cgi?id=102554
35461
35462        Reviewed by Andreas Kling.
35463
35464        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
35465        we're going to revist this feature once additional vendor support is
35466        achieved.
35467
35468        * Configurations/FeatureDefines.xcconfig:
35469
354702012-11-16  Brent Fulgham  <bfulgham@webkit.org>
35471
35472        [WinCairo] Build correction after r134960.
35473
35474        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:  Stub out
35475        calls to CFNetwork-based implementation.
35476
354772012-11-16  Martin Robinson  <mrobinson@igalia.com>
35478
35479        Move authentication dialog to the UIProcess
35480
35481        [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
35482        https://bugs.webkit.org/show_bug.cgi?id=101843
35483
35484        Reviewed by Gustavo Noronha Silva.
35485
35486        Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
35487        the GTK+ widgets. This will allow us to to embed the dialog into the WebView
35488        in the future and to test authentication with the WebKit2 C API.
35489
35490        * GNUmakefile.list.am: Add the new class to the source list and remove the
35491        GTK+-only WebFrameLoader implementation file.
35492        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
35493        which uses the WebKit2 classes to do the UIProcess-side authentication.
35494        * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
35495        * UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
35496        (didReceiveAuthenticationChallengeInFrame): Added.
35497        (attachLoaderClientToView): Use the new callback.
35498        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
35499        (WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
35500        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
35501        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
35502        again.
35503        * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
35504
355052012-11-15  Alexey Proskuryakov  <ap@apple.com>
35506
35507        Private Browsing is a per-page setting that sets a global value
35508        https://bugs.webkit.org/show_bug.cgi?id=67870
35509
35510        Reviewed by Sam Weinig.
35511
35512        * NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
35513
35514        * NetworkProcess/mac/RemoteNetworkingContext.mm:
35515        (WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
35516        so far.
35517
35518        * WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
35519        code that uses Objective C.
35520
35521        * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
35522        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
35523        instead of hardcoding access to sessiosn here.
35524
35525        * WebProcess/InjectedBundle/InjectedBundle.cpp:
35526        (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
35527        browsing session as appropriate.
35528        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
35529        instead of hardcoding access to sessiosn here.
35530
35531        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
35532        * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
35533        (WebKit::WebPlatformStrategies::defaultCookieStorage):
35534        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
35535        (WebKit::WebPlatformStrategies::defaultCookieStorage):
35536        Implemented defaultCookieStorage() through WebFrameNetworkingContext.
35537
35538        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
35539        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
35540        Moved code for dealing with global contexts here from WebCore.
35541
35542        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
35543        Create a global private session when any page enters private browsing, and
35544        delete it when any page exits private browsing. This is handling a preference
35545        change, so all pages get it once.
35546
35547        * WebProcess/WebPage/mac/WebPageMac.mm:
35548        (WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
35549        (WebKit::cachedResponseForURL): Ditto.
35550
35551        * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
35552        to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
35553
355542012-11-16  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
35555
35556        [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
35557        https://bugs.webkit.org/show_bug.cgi?id=102000
35558
35559        Reviewed by Kenneth Rohde Christiansen.
35560
35561        Add matching of view background color to the page background. This helps to reduce 
35562        visibility of flicker during scrolling/scaling/repainting where page tiles are not
35563        ready. View background color matching is disabled by default and can be enabled 
35564        with new API function ewk_view_draws_page_background_set .
35565        View background color can interfere with semi-transparent pages and should be
35566        disabled by default.
35567        Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
35568
35569        * UIProcess/API/efl/EwkViewImpl.cpp:
35570        (EwkViewImpl::EwkViewImpl):
35571        (EwkViewImpl::displayTimerFired):
35572        * UIProcess/API/efl/EwkViewImpl.h:
35573        (EwkViewImpl::setDrawsBackground):
35574        (EwkViewImpl):
35575        * UIProcess/API/efl/ewk_view.cpp:
35576        (ewk_view_draws_page_background_set):
35577        * UIProcess/API/efl/ewk_view.h:
35578        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
35579        (WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
35580        (WebKit):
35581        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
35582        (LayerTreeCoordinatorProxy):
35583        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
35584        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
35585        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
35586        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
35587        (WebKit::LayerTreeRenderer::paintToGraphicsContext):
35588        (WebKit::LayerTreeRenderer::setBackgroundColor):
35589        (WebKit):
35590        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
35591        (LayerTreeRenderer):
35592        (WebKit::LayerTreeRenderer::setDrawsBackground):
35593        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
35594        (WebKit::LayerTreeCoordinator::setBackgroundColor):
35595        (WebKit):
35596        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
35597        (LayerTreeCoordinator):
35598        * WebProcess/WebPage/LayerTreeHost.h:
35599        (WebKit::LayerTreeHost::setBackgroundColor):
35600        * WebProcess/WebPage/WebPage.cpp:
35601        (WebKit::WebPage::WebPage):
35602        (WebKit::WebPage::mainFrameDidLayout):
35603        * WebProcess/WebPage/WebPage.h:
35604        (WebPage):
35605
356062012-11-16  Krzysztof Czech  <k.czech@samsung.com>
35607
35608        [WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
35609        https://bugs.webkit.org/show_bug.cgi?id=101748
35610
35611        Reviewed by Martin Robinson.
35612
35613        Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
35614
35615        * GNUmakefile.am:
35616        * GNUmakefile.list.am:
35617        * WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
35618        (WebKit):
35619        (_WebPageAccessibilityObject):
35620        (_WebPageAccessibilityObjectClass):
35621        * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
35622        (accessibilityRootObjectWrapper):
35623        (webPageAccessibilityObjectInitialize):
35624        (webPageAccessibilityObjectGetIndexInParent):
35625        (webPageAccessibilityObjectGetNChildren):
35626        (webPageAccessibilityObjectRefChild):
35627        (web_page_accessibility_object_init):
35628        (web_page_accessibility_object_class_init):
35629        (webPageAccessibilityObjectNew):
35630        (webPageAccessibilityObjectRefresh):
35631
356322012-11-16  Alexandru Chiculita  <achicu@adobe.com>
35633
35634        [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
35635        https://bugs.webkit.org/show_bug.cgi?id=102414
35636
35637        Reviewed by Noam Rosenthal.
35638
35639        This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
35640        In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
35641        of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
35642        filters are not needed anymore.
35643
35644        The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
35645        will fix that and try to reuse existing custom filters.
35646
35647        * CMakeLists.txt:
35648        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
35649        (CoreIPC::::encode):
35650        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
35651        (WebKit):
35652        (WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
35653        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
35654        (WebKit):
35655        (WebCustomFilterProgramProxyClient):
35656        (WebCustomFilterProgramProxy):
35657        (WebKit::WebCustomFilterProgramProxy::create):
35658        (WebKit::WebCustomFilterProgramProxy::id):
35659        (WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
35660        (WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
35661        (WebKit::WebCustomFilterProgramProxy::setClient):
35662        (WebKit::WebCustomFilterProgramProxy::client):
35663        (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
35664        * Target.pri:
35665        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
35666        (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
35667        (WebKit::LayerTreeCoordinator::syncLayerFilters):
35668        (WebKit):
35669        (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
35670        (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
35671        (WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
35672        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
35673        (LayerTreeCoordinator):
35674
356752012-11-16  Peter Gal  <galpeter@inf.u-szeged.hu>
35676
35677        [Qt][Mac] Fix the build after r124873
35678        https://bugs.webkit.org/show_bug.cgi?id=102475
35679
35680        Reviewed by Noam Rosenthal.
35681
35682        Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
35683
35684        * Shared/WebLayerTreeInfo.h:
35685        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
35686
356872012-11-16  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
35688
35689        [EFL][WK2] Unset the tooltip when the web process has crashed
35690        https://bugs.webkit.org/show_bug.cgi?id=102232
35691
35692        Reviewed by Gyuyoung Kim.
35693
35694        Emit 'tooltip,text,unset' signal to unset the tooltip
35695        when the web process has crashed.
35696
35697        * UIProcess/efl/PageClientBase.cpp:
35698        (WebKit::PageClientBase::processDidCrash):
35699
357002012-11-16  Helder Correia  <helder.correia@nokia.com>
35701
35702        [CoordGfx] Follow coding style on explicit constructors
35703        https://bugs.webkit.org/show_bug.cgi?id=102451
35704
35705        Reviewed by Noam Rosenthal.
35706
35707        Use the explicit keyword on single argument constructors.
35708
35709        No new tests needed.
35710
35711        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
35712        (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
35713        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
35714        (CoordinatedTileBackend):
35715
357162012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
35717
35718        Unreviewed, rolling out r134908.
35719        http://trac.webkit.org/changeset/134908
35720        https://bugs.webkit.org/show_bug.cgi?id=102473
35721
35722        Broke the Apple Windows Debug build. (Requested by dydx on
35723        #webkit).
35724
35725        * win/WebKit2.def:
35726        * win/WebKit2CFLite.def:
35727
357282012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
35729
35730        Unreviewed, rolling out r134913.
35731        http://trac.webkit.org/changeset/134913
35732        https://bugs.webkit.org/show_bug.cgi?id=102472
35733
35734        Incorrect fix. (Requested by dydx on #webkit).
35735
35736        * win/WebKit2.def:
35737        * win/WebKit2CFLite.def:
35738
357392012-11-16  Daniel Bates  <dbates@webkit.org>
35740
35741        Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
35742        (https://bugs.webkit.org/show_bug.cgi?id=102354).
35743
35744        Add symbol.
35745
35746        * win/WebKit2.def:
35747        * win/WebKit2CFLite.def:
35748
357492012-11-16  KyungTae Kim  <ktf.kim@samsung.com>
35750
35751        [WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
35752        https://bugs.webkit.org/show_bug.cgi?id=102465
35753
35754        Reviewed by Noam Rosenthal.
35755
35756        The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
35757
35758        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
35759        (WebKit::CoordinatedBackingStoreTile::swapBuffers):
35760
357612012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
35762
35763        Unreviewed, rolling out r134865.
35764        http://trac.webkit.org/changeset/134865
35765        https://bugs.webkit.org/show_bug.cgi?id=102466
35766
35767        Broke the Apple Windows Debug build. (Requested by dydx on
35768        #webkit).
35769
35770        * win/WebKit2.def:
35771        * win/WebKit2CFLite.def:
35772
357732012-11-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
35774
35775        Avoid copying of ViewportArguments in computeViewportAttributes function
35776        https://bugs.webkit.org/show_bug.cgi?id=102354
35777
35778        Reviewed by Kenneth Rohde Christiansen.
35779
35780        Update exported symbols.
35781
35782        * win/WebKit2.def:
35783        * win/WebKit2CFLite.def:
35784
357852012-11-15  Huang Dongsung  <luxtella@company100.net>
35786
35787        Coordinated Graphics: Refactor code related to directly composited images.
35788        https://bugs.webkit.org/show_bug.cgi?id=101023
35789
35790        Reviewed by Noam Rosenthal.
35791
35792        Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
35793
35794        Currently, LayerTreeCoordinator manages composited images using
35795        ShareableBitmap. This patch introduces CoordinatedImageBacking which
35796        plays a role in managing composited images. CoordinatedImageBacking makes us
35797        gather code related to a directly composited image into a single class.
35798
35799        We create only one CoordinatedImageBacking per image. For example, in the leaves
35800        demo, we create only 3 textures of leaves.
35801
35802        * CMakeLists.txt:
35803        * Shared/WebLayerTreeInfo.h:
35804        (WebKit::WebLayerInfo::WebLayerInfo):
35805        (WebLayerInfo):
35806        * Target.pri:
35807        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
35808        (WebKit::CoordinatedBackingStoreTile::swapBuffers):
35809        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
35810        (WebKit::LayerTreeCoordinatorProxy::createImageBacking):
35811        (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
35812        (WebKit):
35813        (WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
35814        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
35815        (LayerTreeCoordinatorProxy):
35816        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
35817        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
35818        (WebKit::LayerTreeRenderer::setLayerState):
35819        (WebKit::LayerTreeRenderer::createImageBacking):
35820        (WebKit::LayerTreeRenderer::updateImageBacking):
35821        (WebKit::LayerTreeRenderer::removeImageBacking):
35822        (WebKit):
35823        (WebKit::LayerTreeRenderer::assignImageBackingToLayer):
35824        (WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
35825        (WebKit::LayerTreeRenderer::flushLayerChanges):
35826        (WebKit::LayerTreeRenderer::purgeGLResources):
35827        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
35828        (LayerTreeRenderer):
35829        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
35830        (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
35831        (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
35832        (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
35833        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
35834        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
35835        (CoordinatedGraphicsLayerClient):
35836        (CoordinatedGraphicsLayer):
35837        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
35838        (WebKit):
35839        (WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
35840        (WebKit::CoordinatedImageBacking::create):
35841        (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
35842        (WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
35843        (WebKit::CoordinatedImageBacking::addLayerClient):
35844        (WebKit::CoordinatedImageBacking::removeLayerClient):
35845        (WebKit::CoordinatedImageBacking::markDirty):
35846        (WebKit::CoordinatedImageBacking::update):
35847        (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
35848        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
35849        (WebCore):
35850        (WebKit):
35851        (CoordinatedImageBacking):
35852        (Coordinator):
35853        (WebKit::CoordinatedImageBacking::id):
35854        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
35855        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
35856        (WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
35857        (WebKit::LayerTreeCoordinator::createImageBacking):
35858        (WebKit::LayerTreeCoordinator::updateImageBacking):
35859        (WebKit::LayerTreeCoordinator::removeImageBacking):
35860        (WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
35861        (WebKit::LayerTreeCoordinator::purgeBackingStores):
35862        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
35863        (LayerTreeCoordinator):
35864
358652012-11-15  Huang Dongsung  <luxtella@company100.net>
35866
35867        Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
35868        https://bugs.webkit.org/show_bug.cgi?id=102309
35869
35870        We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
35871        a TiledBackingStore and every tiles.
35872        This patch caches the inverse transform to reuse it.
35873
35874        Reviewed by Noam Rosenthal.
35875
35876        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
35877        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
35878        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
35879        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
35880        (CoordinatedGraphicsLayer):
35881
358822012-11-15  Alec Flett  <alecflett@chromium.org>
35883
35884        Add tests for explicit serialization values
35885        https://bugs.webkit.org/show_bug.cgi?id=96818
35886
35887        Reviewed by Adam Barth.
35888
35889        Add exports for SerializedScriptValue changes.
35890
35891        * win/WebKit2.def:
35892        * win/WebKit2CFLite.def:
35893
358942012-11-15  Gustavo Noronha Silva  <gns@gnome.org>
35895
35896        [GTK] Split WebCore/platform into a separate library
35897        https://bugs.webkit.org/show_bug.cgi?id=94435
35898
35899        Reviewed by Martin Robinson.
35900
35901        More people have been reporting problems when linking WebCore because
35902        the command line limit is being exceeded. Splitting WebCore a bit more
35903        is in order.
35904
35905        * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
35906
359072012-11-15  Anders Carlsson  <andersca@apple.com>
35908
35909        Consolidate four accelerated compositing WKView methods into a single method
35910        https://bugs.webkit.org/show_bug.cgi?id=102419
35911
35912        Reviewed by Andreas Kling.
35913
35914        Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
35915        the existing PageClientImpl member functions call it. Also, add a new
35916        PageClient member function, setAcceleratedCompositingRootLayer.
35917
35918        * UIProcess/API/mac/PageClientImpl.h:
35919        * UIProcess/API/mac/PageClientImpl.mm:
35920        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
35921        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
35922        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
35923        (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
35924        * UIProcess/API/mac/WKView.mm:
35925        (-[WKView _processDidCrash]):
35926        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
35927        * UIProcess/API/mac/WKViewInternal.h:
35928        * UIProcess/PageClient.h:
35929        * UIProcess/WebPageProxy.h:
35930        * UIProcess/mac/RemoteLayerTreeHost.mm:
35931        (WebKit::RemoteLayerTreeHost::commit):
35932        * UIProcess/mac/WebPageProxyMac.mm:
35933        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
35934
359352012-11-15  Rick Byers  <rbyers@chromium.org>
35936
35937        No tests for changing mouse cursors
35938        https://bugs.webkit.org/show_bug.cgi?id=100550
35939
35940        Reviewed by Brent Fulgham.
35941
35942        Add necessary exports for Internals::getCurrentCursorInfo
35943
35944        * win/WebKit2.def:
35945        * win/WebKit2CFLite.def:
35946
359472012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
35948
35949        Remove initiallyFitToViewport attribute
35950        https://bugs.webkit.org/show_bug.cgi?id=102392
35951
35952        Reviewed by Noam Rosenthal.
35953
35954        Remove the initiallyFitToViewport which shouldn't have been
35955        added in the first place. We now reset userScalable to auto (-1)
35956        in case it was not explicitly set by the web author.
35957
35958        Same behavior, covered by existing tests.
35959
35960        * UIProcess/PageViewportController.cpp:
35961        (WebKit::PageViewportController::PageViewportController):
35962        (WebKit::PageViewportController::pageTransitionViewportReady):
35963        * WebProcess/WebPage/WebPage.cpp:
35964        (WebKit::WebPage::sendViewportAttributesChanged):
35965
359662012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
35967
35968        Coordinated Graphics: support the "freeze animations" API
35969        https://bugs.webkit.org/show_bug.cgi?id=100703
35970
35971        Reviewed by Noam Rosenthal.
35972
35973        Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
35974
35975        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
35976        (WebCore::CoordinatedGraphicsLayer::suspendAnimations):
35977        (WebCore):
35978        (WebCore::CoordinatedGraphicsLayer::resumeAnimations):
35979        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
35980        (CoordinatedGraphicsLayer):
35981
359822012-11-15  Yuni Jeong  <yhnet.jung@samsung.com>
35983
35984        [EFL][WK2] Add APIs to get/set whether scripts can open new windows.
35985        https://bugs.webkit.org/show_bug.cgi?id=102054
35986
35987        Reviewed by Gyuyoung Kim.
35988
35989        Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
35990
35991        * UIProcess/API/efl/ewk_settings.cpp:
35992        (ewk_settings_scripts_can_open_windows_set):
35993        (ewk_settings_scripts_can_open_windows_get):
35994        * UIProcess/API/efl/ewk_settings.h:
35995        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
35996        (TEST_F):
35997
359982012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
35999
36000        Unreviewed, rolling out r134691, r134703, r134715, r134716,
36001        and r134733.
36002        http://trac.webkit.org/changeset/134691
36003        http://trac.webkit.org/changeset/134703
36004        http://trac.webkit.org/changeset/134715
36005        http://trac.webkit.org/changeset/134716
36006        http://trac.webkit.org/changeset/134733
36007        https://bugs.webkit.org/show_bug.cgi?id=102342
36008
36009        "Broke the Apple Windows Debug and GTK builds." (Requested by
36010        dydx on #webkit).
36011
36012        * win/WebKit2.def:
36013        * win/WebKit2CFLite.def:
36014
360152012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
36016
36017        Unreviewed, rolling out r134741.
36018        http://trac.webkit.org/changeset/134741
36019        https://bugs.webkit.org/show_bug.cgi?id=102337
36020
36021        "Change is incorrect." (Requested by dydx on #webkit).
36022
36023        * win/WebKit2.def:
36024        * win/WebKit2CFLite.def:
36025
360262012-11-14  Daniel Bates  <dbates@webkit.org>
36027
36028        Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
36029        (https://bugs.webkit.org/show_bug.cgi?id=96818)
36030
36031        Export symbols of the form:
36032        ?deserializeBuffer@Internals@WebCore[...]
36033        ?serializeObject@Internals@WebCore[...]
36034
36035        * win/WebKit2.def:
36036        * win/WebKit2CFLite.def:
36037
360382012-11-14  Alec Flett  <alecflett@chromium.org>
36039
36040        Fix windows build exports (again)
36041        https://bugs.webkit.org/show_bug.cgi?id=102324
36042
36043        Unreviewed windows-only build fix.
36044
36045        Add one more export that was causing unit tests to fail to link.
36046
36047        * win/WebKit2.def:
36048        * win/WebKit2CFLite.def:
36049
360502012-11-14  Brent Fulgham  <bfulgham@webkit.org>
36051
36052        [WinCairo] Build correction after r134703.
36053
36054        * win/WebKit2CFLite.def: Add exports to CFLite version of
36055        Windows build to match Alec's last update.
36056
360572012-11-14  Alec Flett  <alecflett@chromium.org>
36058
36059        Fix Windows exports for TestWebKit
36060        https://bugs.webkit.org/show_bug.cgi?id=102302
36061
36062        Unreviewed, fixing Safari Win build.
36063
36064        Add missing exports.
36065
36066        * win/WebKit2.def:
36067
360682012-11-14  Huang Dongsung  <luxtella@company100.net>
36069
36070        Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
36071        https://bugs.webkit.org/show_bug.cgi?id=102172
36072
36073        Reviewed by Noam Rosenthal.
36074
36075        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
36076        (CoordinatedGraphicsLayer):
36077
360782012-11-14  Brady Eidson  <beidson@apple.com>
36079
36080        Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
36081        https://bugs.webkit.org/show_bug.cgi?id=102259
36082
36083        Reviewed by Alexey Proskuryakov.
36084
36085        Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
36086        WebResourceLoaders directly.
36087
36088        Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
36089        directly into WebResourceLoader.
36090
36091        Build-system infrastructure stuff:
36092        * DerivedSources.make:
36093        * Platform/CoreIPC/MessageID.h:
36094        * WebKit2.xcodeproj/project.pbxproj:
36095
36096        Message directly to WebResourceLoader instead of NetworkProcessConnection:
36097        * NetworkProcess/NetworkResourceLoader.cpp:
36098        (WebKit::NetworkResourceLoader::connection):
36099        (WebKit::NetworkResourceLoader::didReceiveResponse):
36100        (WebKit::NetworkResourceLoader::didReceiveData):
36101        (WebKit::NetworkResourceLoader::didFinishLoading):
36102        (WebKit::NetworkResourceLoader::didFail):
36103        (WebKit::NetworkResourceLoader::willSendRequest):
36104        * NetworkProcess/NetworkResourceLoader.h:
36105        (WebKit::NetworkResourceLoader::destinationID):
36106
36107        For now handle the only relevant message class which is the WebResourceLoader class:
36108        * WebProcess/Network/NetworkProcessConnection.cpp:
36109        (WebKit::NetworkProcessConnection::didReceiveMessage):
36110        * WebProcess/Network/NetworkProcessConnection.h:
36111        * WebProcess/Network/NetworkProcessConnection.messages.in:
36112
36113        Allow access to WebResourceLoaders by identifier:
36114        * WebProcess/Network/WebResourceLoadScheduler.cpp:
36115        * WebProcess/Network/WebResourceLoadScheduler.h:
36116        (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
36117
36118        Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
36119        * WebProcess/Network/WebResourceLoader.cpp:
36120        (WebKit::WebResourceLoader::willSendRequest):
36121        (WebKit::WebResourceLoader::didReceiveResponse):
36122        (WebKit::WebResourceLoader::didReceiveData):
36123        (WebKit::WebResourceLoader::didFinishResourceLoad):
36124        (WebKit::WebResourceLoader::didFailResourceLoad):
36125        (WebKit::WebResourceLoader::didReceiveResource):
36126        * WebProcess/Network/WebResourceLoader.h:
36127        * WebProcess/Network/WebResourceLoader.messages.in:
36128
361292012-11-14  Andy Estes  <aestes@apple.com>
36130
36131        Fix the Lion build after r134681.
36132
36133        * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
36134
361352012-11-08  Andy Estes  <aestes@apple.com>
36136
36137        [WebKit2] Need API in UIProcess to enable loading of custom protocols
36138        https://bugs.webkit.org/show_bug.cgi?id=101674
36139
36140        Reviewed by Brady Eidson.
36141
36142        Enable clients of WebKit2 to implement NSURLProtocol subclasses to
36143        control the loading of resources with schemes that WebKit2 cannot
36144        handle natively. Since loading happens in a different process, we
36145        accomplish this by registering a global NSURLProtocol in the web
36146        process and proxying NSURLProtocol and NSURLProtocolClient calls to
36147        the client's NSURLProtocol in the UI process.
36148
36149        * DerivedSources.make: Addded new .messages.in files.
36150        * Platform/CoreIPC/MessageID.h:
36151        * Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
36152        (WebKit::WebProcessCreationParameters::encode):
36153        (WebKit::WebProcessCreationParameters::decode):
36154        * Shared/WebProcessCreationParameters.h:
36155        * UIProcess/API/mac/WKBrowsingContextController.h:
36156        * UIProcess/API/mac/WKBrowsingContextController.mm:
36157        (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
36158        Added a class method where a client can register a scheme that it supports.
36159        (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
36160        Added a class method where a client can unregister a scheme that it no longer supports.
36161        (+[WKBrowsingContextController customSchemes]):
36162        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
36163        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
36164        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
36165        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
36166
36167        Implemented an NSURLConnectionDelegate that proxies messages to the
36168        equivalent NSURLProtocolClient in the web process:
36169        (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
36170        (-[WKCustomProtocolLoader dealloc]):
36171        (-[WKCustomProtocolLoader connection:didFailWithError:]):
36172        (-[WKCustomProtocolLoader connection:willCacheResponse:]):
36173        (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
36174        (-[WKCustomProtocolLoader connection:didReceiveData:]):
36175        (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
36176        (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
36177
36178        Implemented a proxy that recieves -startLoading and -stopLoading
36179        messages from the NSURLProtocol in the web process and starts an
36180        NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
36181        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
36182        (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
36183        (WebKit::CustomProtocolManagerProxy::startLoading):
36184        (WebKit::CustomProtocolManagerProxy::stopLoading):
36185
36186        * UIProcess/WebContext.h: Declared strings that store names of
36187        NSNotifications used for scheme registration in the UI process.
36188        * UIProcess/WebProcessProxy.cpp:
36189        (WebKit::WebProcessProxy::WebProcessProxy):
36190        (WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
36191        CustomProtocolManagerProxy.
36192        * UIProcess/WebProcessProxy.h:
36193        * UIProcess/mac/WebContextMac.mm:
36194        (WebKit::WebContext::platformInitializeWebProcess): Added the currently
36195        registered schemes to the WebProcessCreationParameters and register
36196        NSNotification observers for new scheme registration that forwards to
36197        the context's web processes.
36198        * WebKit2.xcodeproj/project.pbxproj:
36199        * WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
36200        * WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
36201        * WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
36202        * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
36203        (generateCustomProtocolID): Generate a per-WebProcess unique ID.
36204
36205        Implemented a global NSURLProtocol that claims to support all schemes
36206        registered in the UI process. When NSURLConnection calls -startLoading
36207        and -stopLoading, we forward these messages to the client's NSURLProtocol
36208        in the UI process:
36209        (+[WKCustomProtocol canInitWithRequest:]):
36210        (+[WKCustomProtocol canonicalRequestForRequest:]):
36211        (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
36212        (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
36213        (-[WKCustomProtocol startLoading]):
36214        (-[WKCustomProtocol stopLoading]):
36215
36216        Implemented a manager that receives NSURLConnectionDelegate messages
36217        forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
36218        (WebKit::CustomProtocolManager::shared):
36219        (WebKit::CustomProtocolManager::registerCustomProtocolClass):
36220        (WebKit::CustomProtocolManager::addCustomProtocol):
36221        (WebKit::CustomProtocolManager::removeCustomProtocol):
36222        (WebKit::CustomProtocolManager::registerScheme):
36223        (WebKit::CustomProtocolManager::unregisterScheme):
36224        (WebKit::CustomProtocolManager::supportsScheme):
36225        (WebKit::CustomProtocolManager::didReceiveMessage):
36226        (WebKit::CustomProtocolManager::didFailWithError):
36227        (WebKit::CustomProtocolManager::didLoadData):
36228        (WebKit::CustomProtocolManager::didReceiveResponse):
36229        (WebKit::CustomProtocolManager::didFinishLoading):
36230        (WebKit::CustomProtocolManager::protocolForID):
36231
36232        * WebProcess/WebProcess.cpp:
36233        (WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
36234        shared CustomProtocolManager.
36235        (WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
36236        scheme received from the UI process.
36237        (WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
36238        scheme received from the UI process.
36239        * WebProcess/WebProcess.h:
36240        * WebProcess/WebProcess.messages.in: Declared messages for passing
36241        supported schemes from the UI process the web process.
36242        * WebProcess/mac/WebProcessMac.mm:
36243        (WebKit::WebProcess::platformInitializeWebProcess): Register the
36244        schemes contained in the WebProcessCreationParameters.
36245
362462012-11-14  Helder Correia  <helder.correia@nokia.com>
36247
36248        [TexMap][Cairo] Accelerated compositing debug visuals
36249        https://bugs.webkit.org/show_bug.cgi?id=101883
36250
36251        Reviewed by Kenneth Rohde Christiansen.
36252
36253        No new tests, just introducing a debug feature.
36254
36255        Add a Cairo implementation to complement the patch from bug 90116
36256        (http://trac.webkit.org/changeset/122275).
36257
36258        For this feature to be enabled, the environment variable
36259        WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
36260        both repaint counters and tile borders will be painted.
36261
36262        A Cairo-specific drawRepaintCounter() implementation was added to
36263        TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
36264        the counters. It is then uploaded to a BitmapTexture acquired
36265        from the pool and finally draw by TextureMapper. The actual compositing
36266        happens inside LayerBackingStore::paintToTextureMapper(). Each
36267        LayerBackingStoreTile has a repaint counter which gets incremented in
36268        LayerBackingStore::updateTile().
36269
36270        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
36271        (WebKit::shouldShowTileDebugVisuals):
36272
362732012-11-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
36274
36275        Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
36276        https://bugs.webkit.org/show_bug.cgi?id=102133
36277
36278        Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
36279        Also, there is no need for calling setCoordinator every time the tree changes,
36280        since we can call it once when the layer is created, now that LayerTreeCoordinator
36281        is the GraphicsLayerFactory.
36282
36283        Reviewed by Kenneth Rohde Christiansen
36284
36285        No change in functionality.
36286
36287        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
36288        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
36289        (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
36290        (WebCore::CoordinatedGraphicsLayer::setChildren):
36291        (WebCore::CoordinatedGraphicsLayer::addChild):
36292        (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
36293        (WebCore::CoordinatedGraphicsLayer::addChildAbove):
36294        (WebCore::CoordinatedGraphicsLayer::addChildBelow):
36295        (WebCore::CoordinatedGraphicsLayer::replaceChild):
36296        (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
36297        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
36298        (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
36299        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
36300        (WebCore::CoordinatedGraphicsLayer::syncChildren):
36301        (WebCore::CoordinatedGraphicsLayer::syncFilters):
36302        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
36303        (WebCore::CoordinatedGraphicsLayer::syncAnimations):
36304        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
36305        (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
36306        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
36307        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
36308        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
36309        (WebCore::CoordinatedGraphicsLayer::createTile):
36310        (WebCore::CoordinatedGraphicsLayer::updateTile):
36311        (WebCore::CoordinatedGraphicsLayer::removeTile):
36312        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
36313        (WebCore::CoordinatedGraphicsLayer::setCoordinator):
36314        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
36315        (CoordinatedGraphicsLayer):
36316        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
36317        (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
36318        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
36319        (WebKit::LayerTreeCoordinator::paintContents):
36320
363212012-11-14  Anders Carlsson  <andersca@apple.com>
36322
36323        More steps towards actually hosting layers in the UI process
36324        https://bugs.webkit.org/show_bug.cgi?id=102275
36325
36326        Reviewed by Andreas Kling.
36327
36328        * Shared/mac/RemoteLayerTreeTransaction.h:
36329        (WebKit::RemoteLayerTreeTransaction::rootLayerID):
36330        Add a getter for the root layer ID.
36331
36332        * UIProcess/mac/RemoteLayerTreeHost.h:
36333        (RemoteLayerTreeHost):
36334        Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
36335
36336        * UIProcess/mac/RemoteLayerTreeHost.mm:
36337        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
36338        Initialize the root layer to null.
36339
36340        (WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
36341        (WebKit::RemoteLayerTreeHost::notifyFlushRequired):
36342        (WebKit::RemoteLayerTreeHost::paintContents):
36343        Add empty stubs.
36344
36345        (WebKit::RemoteLayerTreeHost::commit):
36346        Try to get the root layer.
36347
36348        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
36349        Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
36350
363512012-11-14  Brady Eidson  <beidson@apple.com>
36352
36353        Fix the Production build after r134640 broke it.
36354
36355        * WebProcess/Network/WebResourceLoader.h:
36356        (WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
36357
363582012-11-14  Tim Horton  <timothy_horton@apple.com>
36359
36360        PDFPlugin should make use of PDFKit's fluid zooming
36361        https://bugs.webkit.org/show_bug.cgi?id=101962
36362        <rdar://problem/12555229>
36363
36364        Reviewed by Anders Carlsson.
36365
36366        Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
36367        The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
36368        backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
36369
36370        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
36371        (WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
36372        inform the injected bundle whether or not the frame handles scaling itself.
36373        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
36374        * WebProcess/Plugins/PDF/PDFPlugin.mm:
36375        (WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
36376        the scale factor immediately.
36377        * WebProcess/WebPage/WebFrame.cpp:
36378        (WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
36379        gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
36380        * WebProcess/WebPage/WebFrame.h:
36381        (WebFrame):
36382
363832012-11-14  Tim Horton  <timothy_horton@apple.com>
36384
36385        PDFPlugin should support downloading PDFs
36386        https://bugs.webkit.org/show_bug.cgi?id=102152
36387        <rdar://problem/12555313>
36388
36389        Reviewed by Alexey Proskuryakov.
36390
36391        Clicking on the "Download PDF" HUD button should download the current
36392        PDF to the Downloads folder.
36393
36394        * UIProcess/WebPageProxy.cpp:
36395        (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
36396        PDF data to disk, in the Downloads folder. This will only save files with
36397        the .pdf extension, and of MIME type "application/pdf".
36398        * UIProcess/WebPageProxy.h:
36399        (WebPageProxy): Add savePDFToFileInDownloadsFolder.
36400        * UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
36401        * WebProcess/Plugins/PDF/PDFPlugin.h:
36402        (PDFPlugin): Add saveToPDF().
36403        * WebProcess/Plugins/PDF/PDFPlugin.mm:
36404        (-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
36405        (WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
36406        current PDF, which it will save to the Downloads folder. We receive
36407        the suggested filename during loading.
36408        * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
36409        (WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
36410        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
36411        (WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
36412
364132012-11-14  Brady Eidson  <beidson@apple.com>
36414
36415        Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
36416        https://bugs.webkit.org/show_bug.cgi?id=102259
36417
36418        Reviewed by Alexey Proskuryakov.
36419
36420        WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
36421
36422        We should create a WebResourceLoader that will eventually act as an intermediary between
36423        WebCore::ResourceLoader and NetworkResourceLoader.
36424
36425        This patch is prep-work: It adds a new skeleton class to the WebProcess.
36426
36427        * WebKit2.xcodeproj/project.pbxproj:
36428
36429        Add the new WebResourceLoader class which is a very thin skeleton for now:
36430        * WebProcess/Network/WebResourceLoader.cpp: Added.
36431        (WebKit::WebResourceLoader::create):
36432        (WebKit::WebResourceLoader::WebResourceLoader):
36433        (WebKit::WebResourceLoader::~WebResourceLoader):
36434        * WebProcess/Network/WebResourceLoader.h: Added.
36435        (WebKit::WebResourceLoader::coreLoader):
36436
36437        Adapt WebResourceLoadScheduler to use this new class where appropriate:
36438        * WebProcess/Network/WebResourceLoadScheduler.cpp:
36439        (WebKit::WebResourceLoadScheduler::scheduleLoad):
36440        (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
36441        (WebKit::WebResourceLoadScheduler::remove):
36442        (WebKit::WebResourceLoadScheduler::willSendRequest):
36443        (WebKit::WebResourceLoadScheduler::didReceiveResponse):
36444        (WebKit::WebResourceLoadScheduler::didReceiveData):
36445        (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
36446        (WebKit::WebResourceLoadScheduler::didReceiveResource):
36447        (WebKit::WebResourceLoadScheduler::didFailResourceLoad):
36448        * WebProcess/Network/WebResourceLoadScheduler.h:
36449
36450
364512012-11-14  Brady Eidson  <beidson@apple.com>
36452
36453        Deliver data from NetworkProcess to resources progressively.
36454        https://bugs.webkit.org/show_bug.cgi?id=102171
36455
36456        Reviewed by Alexey Proskuryakov.
36457
36458        Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
36459        to deliver data progressively.
36460
36461        This allows progressive parsing of textual resources and progressive rendering of images,
36462        as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
36463
36464        * NetworkProcess/NetworkResourceLoader.cpp:
36465        (WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
36466          pass it straight through to the WebProcess.
36467        (WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
36468          delivering a chunk of buffered data.
36469        (WebKit::NetworkResourceLoader::didFail):
36470        * NetworkProcess/NetworkResourceLoader.h:
36471
36472        * WebProcess/Network/NetworkProcessConnection.cpp:
36473        (WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
36474        (WebKit::NetworkProcessConnection::didFinishResourceLoad):
36475        (WebKit::NetworkProcessConnection::didFailResourceLoad):
36476        * WebProcess/Network/NetworkProcessConnection.h:
36477        * WebProcess/Network/NetworkProcessConnection.messages.in:
36478
36479        * WebProcess/Network/WebResourceLoadScheduler.cpp:
36480        (WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
36481        (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
36482        * WebProcess/Network/WebResourceLoadScheduler.h:
36483
364842012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
36485
36486        Add platform implementation of remote web inspector server for GTK port.
36487        https://bugs.webkit.org/show_bug.cgi?id=88094 
36488
36489        Reviewed by Gustavo Noronha Silva.
36490
36491        The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
36492        The server listens on port 2999 by default. IP address of the server can be set
36493        in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
36494        The server is started during WebKit context initialization.
36495        Once a page is loaded insector server can be accessed via other WebKit based browser.
36496        New WebKit API gtk tests have beed added.
36497        inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
36498
36499        Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
36500
36501        * GNUmakefile.am:
36502        * GNUmakefile.list.am:
36503        * Platform/Logging.cpp:
36504        (WebKit):
36505        (WebKit::getChannelFromName):
36506        (WebKit::initializeLogChannelsIfNecessary):
36507        * Platform/Logging.h:
36508        (WebKit):
36509        * UIProcess/API/gtk/tests/GNUmakefile.am:
36510        * UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
36511        (loadChangedCallback):
36512        (main):
36513        * UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
36514        (stopTestServer):
36515        (sigAbortHandler):
36516        (testServerMonitorThreadFunc):
36517        (startTestServerMonitor):
36518        (startTestServer):
36519        (testInspectorServerPageList):
36520        (testRemoteDebuggingMessage):
36521        (openRemoteDebuggingSession):
36522        (beforeAll):
36523        (afterAll):
36524        * UIProcess/InspectorServer/WebInspectorServer.h:
36525        (WebInspectorServer):
36526        * UIProcess/InspectorServer/WebSocketServer.h:
36527        (WebSocketServer):
36528        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
36529        (WebKit::WebSocketServerConnection::WebSocketServerConnection):
36530        (WebKit::WebSocketServerConnection::shutdownNow):
36531        (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
36532        (WebKit::WebSocketServerConnection::didCloseSocketStream):
36533        (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
36534        (WebKit):
36535        (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
36536        * UIProcess/InspectorServer/WebSocketServerConnection.h:
36537        (WebSocketServerConnection):
36538        * UIProcess/InspectorServer/front-end: Added.
36539        * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
36540        * UIProcess/InspectorServer/gtk: Added.
36541        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
36542        (WebKit):
36543        (WebKit::WebInspectorServer::platformResourceForPath):
36544        (WebKit::WebInspectorServer::buildPageList):
36545        * UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
36546        (WebKit):
36547        (WebKit::connectionCallback):
36548        (WebKit::WebSocketServer::platformInitialize):
36549        (WebKit::WebSocketServer::platformListen):
36550        (WebKit::WebSocketServer::platformClose):
36551        * UIProcess/gtk/WebContextGtk.cpp:
36552        (WebKit::initInspectorServer):
36553        (WebKit):
36554        (WebKit::WebContext::platformInitializeWebProcess):
36555        * WebKit2.qrc:
36556        * config.h:
36557        * qt/Resources/inspectorPageIndex.html: Removed.
36558
365592012-11-14  Christophe Dumez  <christophe.dumez@intel.com>
36560
36561        [EFL][WK2][AC] Print out warning if we fallback back to software mode
36562        https://bugs.webkit.org/show_bug.cgi?id=102188
36563
36564        Reviewed by Kenneth Rohde Christiansen.
36565
36566        Print out a warning if accelerated compositing is enabled but the
36567        implementation is falling back to software mode for some reason.
36568
36569        * UIProcess/API/efl/EwkViewImpl.cpp:
36570        (EwkViewImpl::createGLSurface):
36571
365722012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
36573
36574        Unreviewed, rolling out r134531.
36575        http://trac.webkit.org/changeset/134531
36576        https://bugs.webkit.org/show_bug.cgi?id=102193
36577
36578        Makes >70 tests crash on EFL and Qt bots. (Requested by drott
36579        on #webkit).
36580
36581        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
36582        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
36583        (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
36584        (WebCore::CoordinatedGraphicsLayer::setChildren):
36585        (WebCore::CoordinatedGraphicsLayer::addChild):
36586        (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
36587        (WebCore::CoordinatedGraphicsLayer::addChildAbove):
36588        (WebCore::CoordinatedGraphicsLayer::addChildBelow):
36589        (WebCore::CoordinatedGraphicsLayer::replaceChild):
36590        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
36591        (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
36592        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
36593        (WebCore::CoordinatedGraphicsLayer::syncChildren):
36594        (WebCore::CoordinatedGraphicsLayer::syncFilters):
36595        (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
36596        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
36597        (WebCore::CoordinatedGraphicsLayer::syncAnimations):
36598        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
36599        (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
36600        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
36601        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
36602        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
36603        (WebCore::CoordinatedGraphicsLayer::createTile):
36604        (WebCore::CoordinatedGraphicsLayer::updateTile):
36605        (WebCore::CoordinatedGraphicsLayer::removeTile):
36606        (WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
36607        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
36608        (CoordinatedGraphicsLayer):
36609        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
36610        (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
36611        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
36612        (WebKit::LayerTreeCoordinator::createGraphicsLayer):
36613
366142012-11-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36615
36616        [EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
36617        https://bugs.webkit.org/show_bug.cgi?id=102065
36618
36619        Reviewed by Laszlo Gombos.
36620
36621        mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
36622        However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
36623        to simulate a right mouse button. So, button type parameter needs to be added for it.
36624
36625        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
36626        (EWK2UnitTest::EWK2UnitTestBase::mouseClick):
36627        (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
36628        (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
36629        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
36630        (EWK2UnitTestBase):
36631
366322012-11-13  Yael Aharon  <yael.aharon@intel.com>
36633
36634        [EFL][WK2] New window size should consult the window attributes
36635        https://bugs.webkit.org/show_bug.cgi?id=102122
36636
36637        Reviewed by Kenneth Rohde Christiansen.
36638
36639        Pass the size that was specified in window.open to the embedder.
36640
36641        * UIProcess/API/efl/EwkViewImpl.cpp:
36642        (EwkViewImpl::createNewPage):
36643        * UIProcess/API/efl/EwkViewImpl.h:
36644        (EwkViewImpl):
36645        * UIProcess/API/efl/ewk_view.h:
36646        * UIProcess/efl/PageUIClientEfl.cpp:
36647        (WebKit::PageUIClientEfl::createNewPage):
36648
366492012-11-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
36650
36651        Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
36652        https://bugs.webkit.org/show_bug.cgi?id=102133
36653
36654        Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
36655        Also, there is no need for calling setCoordinator every time the tree changes,
36656        since we can call it once when the layer is created, now that LayerTreeCoordinator
36657        is the GraphicsLayerFactory.
36658
36659        Reviewed by Kenneth Rohde Christiansen.
36660
36661        No change in functionality.
36662
36663        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
36664        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
36665        (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
36666        (WebCore::CoordinatedGraphicsLayer::setChildren):
36667        (WebCore::CoordinatedGraphicsLayer::addChild):
36668        (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
36669        (WebCore::CoordinatedGraphicsLayer::addChildAbove):
36670        (WebCore::CoordinatedGraphicsLayer::addChildBelow):
36671        (WebCore::CoordinatedGraphicsLayer::replaceChild):
36672        (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
36673        (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
36674        (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
36675        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
36676        (WebCore::CoordinatedGraphicsLayer::syncChildren):
36677        (WebCore::CoordinatedGraphicsLayer::syncFilters):
36678        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
36679        (WebCore::CoordinatedGraphicsLayer::syncAnimations):
36680        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
36681        (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
36682        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
36683        (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
36684        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
36685        (WebCore::CoordinatedGraphicsLayer::createTile):
36686        (WebCore::CoordinatedGraphicsLayer::updateTile):
36687        (WebCore::CoordinatedGraphicsLayer::removeTile):
36688        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
36689        (WebCore::CoordinatedGraphicsLayer::setCoordinator):
36690        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
36691        (CoordinatedGraphicsLayer):
36692        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
36693        (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
36694        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
36695        (WebKit::LayerTreeCoordinator::paintContents):
36696
366972012-11-13  Brady Eidson  <beidson@apple.com>
36698
36699        REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
36700        https://bugs.webkit.org/show_bug.cgi?id=102167
36701
36702        Reviewed by Simon Fraser.
36703
36704        willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.
36705
36706        So we'll just dispatch the receivedRedirect call to the main thread RunLoop.
36707
36708        * NetworkProcess/NetworkResourceLoader.cpp:
36709        (WebKit::NetworkResourceLoader::willSendRequest):
36710
367112012-11-13  Timothy Hatcher  <timothy@apple.com>
36712
36713        Make InspectorFrontendHost.moveWindowBy work in WebKit2 for Mac.
36714
36715        https://bugs.webkit.org/show_bug.cgi?id=102154
36716
36717        Reviewed by Joseph Pecoraro.
36718
36719        * UIProcess/WebInspectorProxy.h:
36720        * UIProcess/mac/WebInspectorProxyMac.mm:
36721        (WebKit::getWindowFrame): Added. Call setInspectorWindowFrame.
36722        (WebKit::setWindowFrame): Added. Call inspectorWindowFrame.
36723        (WebKit::WebInspectorProxy::setInspectorWindowFrame): Added.
36724        (WebKit::WebInspectorProxy::inspectorWindowFrame): Added.
36725        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create and set the WKPageUIClient
36726        with getWindowFrame and setWindowFrame.
36727
367282012-11-13  Jon Lee  <jonlee@apple.com>
36729
36730        Reduce snapshot waiting time
36731        https://bugs.webkit.org/show_bug.cgi?id=102147
36732        <rdar://problem/12695539>
36733
36734        Reviewed by Brian Weinstein.
36735
36736        * WebProcess/Plugins/PluginView.cpp: Reduce to 1 second. Improves impressions of responsiveness.
36737
367382012-11-13  Anders Carlsson  <andersca@apple.com>
36739
36740        Factor the code to enter accelerated compositing given a layer out into a separate method
36741        https://bugs.webkit.org/show_bug.cgi?id=102155
36742
36743        Reviewed by Andreas Kling.
36744
36745        * UIProcess/API/mac/WKView.mm:
36746        (-[WKView _enterAcceleratedCompositingMode:]):
36747        (-[WKView _enterAcceleratedCompositingModeWithRootLayer:]):
36748        * UIProcess/API/mac/WKViewInternal.h:
36749
367502012-11-13  Anders Carlsson  <andersca@apple.com>
36751
36752        RemoteGraphicsLayer destructor should call GraphicsLayer::willBeDestroyed
36753        https://bugs.webkit.org/show_bug.cgi?id=102135
36754
36755        Reviewed by Andreas Kling.
36756
36757        Call GraphicsLayer::willBeDestroyed from the RemoteGraphicsLayer destructor and move
36758        the call to RemoteLayerTreeContext::layerWillBeDestroyed to the overridden
36759        willBeDestroyed member function.
36760
36761        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
36762        (RemoteGraphicsLayer):
36763        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
36764        (WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
36765        (WebKit::RemoteGraphicsLayer::willBeDestroyed):
36766        (WebKit):
36767
367682012-11-13  Brady Eidson  <beidson@apple.com>
36769
36770        Split NetworkRequest up into a request class and a loading class.
36771        https://bugs.webkit.org/show_bug.cgi?id=102049
36772
36773        Reviewed by Alexey Proskuryakov.
36774
36775        NetworkRequest unintentionally grew into a class that managed actual loading.
36776
36777        This patch splits it into "NetworkResourceLoadParameters" for all request-related data
36778        and "NetworkResourceLoader" for handling the actual load itself.
36779
36780        Change HostRecord to manage NetworkResourceLoaders instead of NetworkRequests:
36781        * NetworkProcess/HostRecord.cpp:
36782        (WebKit::HostRecord::~HostRecord):
36783        (WebKit::HostRecord::schedule):
36784        (WebKit::HostRecord::addLoadInProgress):
36785        (WebKit::HostRecord::remove):
36786        (WebKit::HostRecord::hasRequests):
36787        (WebKit::HostRecord::limitRequests):
36788        * NetworkProcess/HostRecord.h:
36789        (WebKit::HostRecord::loadersPending):
36790
36791        A new class to be a container for all the data required to start a network load:
36792        * Shared/Network/NetworkResourceLoadParameters.cpp:
36793        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
36794        (WebKit::NetworkResourceLoadParameters::encode):
36795        (WebKit::NetworkResourceLoadParameters::decode):
36796        * Shared/Network/NetworkResourceLoadParameters.h:
36797        (WebKit::NetworkResourceLoadParameters::request):
36798        (WebKit::NetworkResourceLoadParameters::priority):
36799        (WebKit::NetworkResourceLoadParameters::contentSniffingPolicy):
36800
36801        Pass a single NetworkResourceLoadParameters around instead of multiple bits of data:
36802        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
36803        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
36804        * NetworkProcess/NetworkConnectionToWebProcess.h:
36805        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
36806        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
36807        (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
36808        (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
36809        * NetworkProcess/NetworkResourceLoadScheduler.h:
36810
36811        The actual ResourceHandleClient that does the actual loading:
36812        * NetworkProcess/NetworkResourceLoader.cpp: Renamed from Source/WebKit2/NetworkProcess/NetworkRequest.cpp.
36813        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
36814        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
36815        (WebKit::NetworkResourceLoader::priority):
36816        (WebKit::NetworkResourceLoader::start):
36817        (WebKit::requestsToStopMutex):
36818        (WebKit::requestsToStop):
36819        (WebKit::NetworkResourceLoader::scheduleStopOnMainThread):
36820        (WebKit::NetworkResourceLoader::performStops):
36821        (WebKit::NetworkResourceLoader::stop):
36822        (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
36823        (WebKit::NetworkResourceLoader::didReceiveResponse):
36824        (WebKit::NetworkResourceLoader::didReceiveData):
36825        (WebKit::NetworkResourceLoader::didFinishLoading):
36826        (WebKit::NetworkResourceLoader::didFail):
36827        (WebKit::responseMap):
36828        (WebKit::generateWillSendRequestID):
36829        (WebKit::didReceiveWillSendRequestHandled):
36830        (WebKit::NetworkResourceLoader::willSendRequest):
36831        (WebKit::NetworkResourceLoader::didSendData):
36832        (WebKit::NetworkResourceLoader::didReceiveCachedMetadata):
36833        (WebKit::NetworkResourceLoader::wasBlocked):
36834        (WebKit::NetworkResourceLoader::cannotShowURL):
36835        (WebKit::NetworkResourceLoader::willCacheResponse):
36836        (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
36837        (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
36838        (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
36839        (WebKit::NetworkResourceLoader::receivedCancellation):
36840        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
36841        (WebKit::NetworkResourceLoader::supportsDataArray):
36842        (WebKit::NetworkResourceLoader::didReceiveDataArray):
36843        (WebKit::NetworkResourceLoader::willStopBufferingData):
36844        (WebKit::NetworkResourceLoader::createAsyncFileStream):
36845        * NetworkProcess/NetworkResourceLoader.h:
36846        (WebKit::NetworkResourceLoader::create):
36847        (WebKit::NetworkResourceLoader::identifier):
36848        (WebKit::NetworkResourceLoader::connectionToWebProcess):
36849
36850        * WebKit2.xcodeproj/project.pbxproj:
36851
36852        * WebProcess/Network/WebResourceLoadScheduler.cpp:
36853        (WebKit::WebResourceLoadScheduler::scheduleLoad):
36854
368552012-11-13  Anders Carlsson  <andersca@apple.com>
36856
36857        Store destroyed layers in the remote layer tree transaction
36858        https://bugs.webkit.org/show_bug.cgi?id=102127
36859
36860        Reviewed by Andreas Kling.
36861
36862        * Shared/mac/RemoteLayerTreeTransaction.h:
36863        (RemoteLayerTreeTransaction):
36864        * Shared/mac/RemoteLayerTreeTransaction.mm:
36865        (WebKit::RemoteLayerTreeTransaction::encode):
36866        (WebKit::RemoteLayerTreeTransaction::decode):
36867        (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
36868        (WebKit):
36869        (WebKit::RemoteLayerTreeTransaction::dump):
36870        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
36871        (RemoteGraphicsLayer):
36872        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
36873        (WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
36874        (WebKit::RemoteGraphicsLayer::removeFromParent):
36875        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
36876        (RemoteLayerTreeContext):
36877        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
36878        (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
36879        (WebKit::RemoteLayerTreeContext::flushLayers):
36880
368812012-11-13  Timothy Hatcher  <timothy@apple.com>
36882
36883        Adjust the Web Inspector window title frame if needed to prevent it from intersecting the dock button.
36884
36885        https://bugs.webkit.org/show_bug.cgi?id=102073
36886
36887        Reviewed by Joseph Pecoraro.
36888
36889        * UIProcess/mac/WebInspectorProxyMac.mm:
36890        (-[WKWebInspectorWindow _customTitleFrame]): Added. Adjust the title frame.
36891
368922012-11-13  Anders Carlsson  <andersca@apple.com>
36893
36894        Store layer positions and sizes in the transaction
36895        https://bugs.webkit.org/show_bug.cgi?id=102115
36896
36897        Reviewed by Andreas Kling.
36898
36899        * Shared/mac/RemoteLayerTreeTransaction.h:
36900        (LayerProperties):
36901        * Shared/mac/RemoteLayerTreeTransaction.mm:
36902        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
36903        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
36904        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
36905        (WebKit::dumpChangedLayers):
36906        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
36907        (RemoteGraphicsLayer):
36908        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
36909        (WebKit::RemoteGraphicsLayer::setPosition):
36910        (WebKit::RemoteGraphicsLayer::setSize):
36911
369122012-11-13  Anders Carlsson  <andersca@apple.com>
36913
36914        The layer tree transaction should include the root layer
36915        https://bugs.webkit.org/show_bug.cgi?id=102109
36916
36917        Reviewed by Andreas Kling.
36918
36919        Keep the root layer ID in the layer tree transaction and encode/decode and dump it.
36920
36921        * Shared/mac/RemoteLayerTreeTransaction.h:
36922        (RemoteLayerTreeTransaction):
36923        * Shared/mac/RemoteLayerTreeTransaction.mm:
36924        (WebKit::RemoteLayerTreeTransaction::encode):
36925        (WebKit::RemoteLayerTreeTransaction::decode):
36926        (WebKit::RemoteLayerTreeTransaction::setRootLayerID):
36927        (WebKit):
36928        (WebKit::RemoteLayerTreeTransaction::dump):
36929        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
36930        (RemoteLayerTreeContext):
36931        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
36932        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
36933        (WebKit::RemoteLayerTreeContext::setRootLayer):
36934        (WebKit::RemoteLayerTreeContext::flushLayers):
36935
369362012-11-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
36937
36938        [WK2] TiledBackingStore: WebChromeClient::pageRect() should consider viewport size
36939        https://bugs.webkit.org/show_bug.cgi?id=101946
36940
36941        Reviewed by Noam Rosenthal.
36942
36943        WebChromeClient::pageRect() should consider viewport size when TILED_BACKING_STORE enabled.
36944
36945        Based on patch by Kenneth Rohde Christiansen.
36946
36947        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36948        (WebKit::WebChromeClient::pageRect):
36949
369502012-11-13  Huang Dongsung  <luxtella@company100.net>
36951
36952        Coordinated Graphics: Directly composited animated GIFs only render the first image.
36953        https://bugs.webkit.org/show_bug.cgi?id=102043
36954
36955        Reviewed by Noam Rosenthal.
36956
36957        CoordinatedGraphicsLayer::setContentsToImage() checks the pointer to the image,
36958        not nativeImagePtr, so Coordinated Graphics currently draws only the first frame
36959        of gif animations. This patch makes Coordinated Graphics draw gif animations.
36960
36961        In addition, this patch modifies the style of direct image compositing
36962        code to match other parts of CoordinatedGraphicsLayer.
36963
36964        Test: ManualTests/animated-gif-on-compositing-layer.html
36965
36966        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
36967        (WebCore::CoordinatedGraphicsLayer::didChangeImageBacking):
36968        (WebCore):
36969        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
36970        (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
36971        (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
36972        (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
36973        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
36974        (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
36975        (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
36976        (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
36977        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
36978        (CoordinatedGraphicsLayer):
36979
369802012-11-12  Huang Dongsung  <luxtella@company100.net>
36981
36982        [Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
36983        https://bugs.webkit.org/show_bug.cgi?id=101918
36984
36985        Reviewed by Noam Rosenthal.
36986
36987        Currently, CoordinatedBackingStore can keep out-dated contents size, because the
36988        size of CoordinatedBackingStore is set by only LayerTreeRenderer::createTile().
36989        Although the size of GraphicsLayer is changed, LayerTreeRenderer::createTile()
36990        is not called. However, LayerTreeRenderer::createTile() is always called, when
36991        the contents scale of GraphicsLayer is changed.
36992
36993        This patch makes sure that we reset the backing store's size to the
36994        layer size when UpdateTile or RemoveTile are called.
36995
36996        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
36997        (WebKit::CoordinatedBackingStore::setSize):
36998        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
36999        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
37000        (CoordinatedBackingStore):
37001        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
37002        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
37003        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
37004        (LayerTreeCoordinatorProxy):
37005        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
37006        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
37007        (WebKit::LayerTreeRenderer::getBackingStore):
37008        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
37009        (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
37010        (WebKit):
37011        (WebKit::LayerTreeRenderer::createTile):
37012        (WebKit::LayerTreeRenderer::removeTile):
37013        (WebKit::LayerTreeRenderer::updateTile):
37014        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
37015        (LayerTreeRenderer):
37016        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
37017        (WebCore::CoordinatedGraphicsLayer::createTile):
37018        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
37019        (CoordinatedGraphicsLayerClient):
37020        (CoordinatedGraphicsLayer):
37021        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
37022        (WebKit::CoordinatedTile::updateBackBuffer):
37023        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
37024        (CoordinatedTileClient):
37025        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
37026        (WebKit::LayerTreeCoordinator::createTile):
37027        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
37028        (LayerTreeCoordinator):
37029
370302012-11-12  Sam Weinig  <sam@webkit.org>
37031
37032        <rdar://problem/12445176>
37033        WebProcess needs permission to open AppleUpstreamUserClient
37034
37035        Rubber-stamped by Dan Bernstein.
37036
37037        * WebProcess/com.apple.WebProcess.sb.in:
37038
370392012-11-12  Simon Fraser  <simon.fraser@apple.com>
37040
37041        Build fix after r134346 and 134347.
37042        
37043        Use frameView.isFlipped, not frameView.flipped in the assertion.
37044
37045        * UIProcess/mac/WebInspectorProxyMac.mm:
37046        (WebKit::WebInspectorProxy::createInspectorWindow):
37047
370482012-11-12  Timothy Hatcher  <timothy@apple.com>
37049
37050        Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).
37051
37052        https://bugs.webkit.org/show_bug.cgi?id=102023
37053
37054        Reviewed by Anders Carlsson.
37055
37056        * Resources/Dock.pdf: Added.
37057        * UIProcess/WebInspectorProxy.cpp:
37058        (WebKit::WebInspectorProxy::attach): Set the SetAttachedWindow message.
37059        (WebKit::WebInspectorProxy::detach): Ditto.
37060        (WebKit::WebInspectorProxy::attachAvailabilityChanged): Added. Call platformAttachAvailabilityChanged.
37061        * UIProcess/WebInspectorProxy.h:
37062        * UIProcess/WebInspectorProxy.messages.in: Added AttachAvailabilityChanged message.
37063        * UIProcess/mac/WebInspectorProxyMac.mm:
37064        (-[WKWebInspectorProxyObjCAdapter attach:]): Added. Call WebInspectorProxy::attach.
37065        (-[WKWebInspectorWindow _cursorForResizeDirection:]): Added.
37066        (WebKit::WebInspectorProxy::createInspectorWindow): Create the dock button and add it.
37067        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added. Update hidden state of the dock button.
37068        * WebKit2.xcodeproj/project.pbxproj: Added Dock.pdf.
37069        * WebProcess/WebPage/WebInspector.cpp:
37070        (WebKit::WebInspector::setAttachedWindow): Added. Call through to the frontend client.
37071        (WebKit::WebInspector::updateDockingAvailability): Send AttachAvailabilityChanged message.
37072        * WebProcess/WebPage/WebInspector.h:
37073        * WebProcess/WebPage/WebInspector.messages.in: Added SetAttachedWindow message.
37074
37075        * UIProcess/efl/WebInspectorProxyEfl.cpp:
37076        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added stub.
37077        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
37078        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
37079        * UIProcess/qt/WebInspectorProxyQt.cpp:
37080        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
37081        * UIProcess/win/WebInspectorProxyWin.cpp:
37082        (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
37083
370842012-11-12  Anders Carlsson  <andersca@apple.com>
37085
37086        Include child layers in the remote layer tree transaction
37087        https://bugs.webkit.org/show_bug.cgi?id=102026
37088
37089        Reviewed by Andreas Kling.
37090
37091        * Shared/mac/RemoteLayerTreeTransaction.h:
37092        * Shared/mac/RemoteLayerTreeTransaction.mm:
37093        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
37094        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
37095        Encode and decode child layer IDs.
37096
37097        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
37098        Grab all child layer IDs and stick them in a vector.
37099
37100        (WebKit::dumpChangedLayers):
37101        Dump child layer IDs as well.
37102
37103        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
37104        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37105        (WebKit::RemoteGraphicsLayer::setChildren):
37106        (WebKit::RemoteGraphicsLayer::addChild):
37107        (WebKit::RemoteGraphicsLayer::addChildAtIndex):
37108        (WebKit::RemoteGraphicsLayer::addChildAbove):
37109        (WebKit::RemoteGraphicsLayer::addChildBelow):
37110        (WebKit::RemoteGraphicsLayer::replaceChild):
37111        Call noteSublayersChanged.
37112
37113        (WebKit::RemoteGraphicsLayer::noteSublayersChanged):
37114        Note that the Children property changed.
37115
371162012-11-12  Anders Carlsson  <andersca@apple.com>
37117
37118        Send along the current remote layer tree transaction with the commit message
37119        https://bugs.webkit.org/show_bug.cgi?id=102014
37120
37121        Reviewed by Tim Horton.
37122
37123        Add encode and decode member functions to RemoteLayerTreeTransaction and RemoteLayerTreeTransaction::LayerProperties.
37124
37125        * Shared/mac/RemoteLayerTreeTransaction.h:
37126        * Shared/mac/RemoteLayerTreeTransaction.mm:
37127        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
37128        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
37129        (WebKit::RemoteLayerTreeTransaction::encode):
37130        (WebKit::RemoteLayerTreeTransaction::decode):
37131        * UIProcess/mac/RemoteLayerTreeHost.h:
37132        * UIProcess/mac/RemoteLayerTreeHost.messages.in:
37133        * UIProcess/mac/RemoteLayerTreeHost.mm:
37134        (WebKit::RemoteLayerTreeHost::commit):
37135        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
37136        (WebKit::RemoteLayerTreeContext::flushLayers):
37137
371382012-11-12  Brady Eidson  <beidson@apple.com>
37139
37140        Get rid of the CrossOriginRedirectReceived message to the NetworkProcess.
37141        https://bugs.webkit.org/show_bug.cgi?id=102010
37142
37143        Reviewed by Alexey Proskuryakov.
37144
37145        This message was a stop-gap measure for when the NetworkProcess did scheduling but not loading.
37146        Now that the NetworkProcess does loading it doesn't need to be told when redirect is received.
37147
37148        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
37149        * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Get rid of the message to the NetworkProcess.
37150
37151        * NetworkProcess/NetworkRequest.cpp:
37152        (WebKit::NetworkRequest::willSendRequest): After willSendRequest is dispatched to the WebProcess, directly call
37153          "receivedRedirect" on the NetworkResourceLoadScheduler.
37154
37155        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
37156        (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Renamed from crossOriginRedirectReceived, as the
37157          function already checks to see if the redirect was actually cross-origin.
37158        * NetworkProcess/NetworkResourceLoadScheduler.h:
37159
37160        * WebProcess/Network/WebResourceLoadScheduler.cpp:
37161        (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): A no-op so the WebProcess doesn't
37162          do any host record accounting of its own.
37163
371642012-11-12  Tim Horton  <timothy_horton@apple.com>
37165
37166        PDFPlugin should use PDFKit's context menu instead of the default WebKit one
37167        https://bugs.webkit.org/show_bug.cgi?id=101896
37168        <rdar://problem/12555173>
37169
37170        Reviewed by Anders Carlsson.
37171
37172        Show the context menu that PDFKit vends us instead of the default WebKit one
37173        when PDFPlugin is told to show a context menu.
37174
37175        Also, react to the didChangeContentScaleFactor callback, so that when the context
37176        menu (or HUD) is used to change the scale factor, we can inform PluginView.
37177
37178        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
37179        Add pdfLayerController:didChangeContentScaleFactor: delegate callback.
37180        Rename tileScaleFactor to contentScaleFactor.
37181        Add rightMouseDown: and menuForEvent: on PDFLayerController.
37182        * WebProcess/Plugins/PDF/PDFPlugin.h:
37183        (PDFPlugin):
37184        Add notifyContentScaleFactorChanged, handleContextMenuEvent, and nsEventForWebMouseEvent.
37185        * WebProcess/Plugins/PDF/PDFPlugin.mm:
37186        (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeContentScaleFactor:]): Forward content scale factor changes to PDFPlugin.
37187        (WebKit::PDFPlugin::pdfDocumentDidLoad): Rename tileScaleFactor to contentScaleFactor.
37188        (WebKit::PDFPlugin::geometryDidChange): Rename tileScaleFactor to contentScaleFactor.
37189        (WebKit::eventTypeFromWebEvent): It turns out we can infer whether the mouse is being dragged during a MouseMove event
37190        by whether it has a mouse button associated with it or not, so we don't need to track this state manually.
37191        (WebKit::PDFPlugin::nsEventForWebMouseEvent): Factor the part of handleMouseEvent that creates NSEvents* out into its own function.
37192        (WebKit::PDFPlugin::handleMouseEvent):
37193        Don't track mouseButtonIsDown manually, make use of the new nsEventForWebMouseEvent.
37194        Hand rightMouseDown: to PDFLayerController instead of mouseDown: if necessary.
37195        (WebKit::PDFPlugin::handleContextMenuEvent): Grab the relevant NSMenu from PDFKit and display it.
37196        (WebKit::PDFPlugin::handleKeyboardEvent): Don't pass a bogus mouseButtonIsDown to eventTypeFromWebEvent.
37197        (WebKit::PDFPlugin::notifyContentScaleFactorChanged): Update PluginView and co.'s notion of page scale when
37198        PDFKit changes it (generally from the context menu/HUD). Also update page size and scrollbar size/position.
37199        (WebKit::PDFPlugin::setScrollOffset): Don't call SimplePDFPlugin's implementation, as PDFKit handles invalidation itself.
37200        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
37201        (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
37202        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
37203        (WebKit::PDFPluginTextAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
37204        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Make m_scrollOffset protected.
37205
372062012-11-12  Anders Carlsson  <andersca@apple.com>
37207
37208        Add a RemoteLayerTreeHost object in the UI process
37209        https://bugs.webkit.org/show_bug.cgi?id=101999
37210
37211        Reviewed by Tim Horton.
37212
37213        Add a (mostly empty) RemoteLayerTreeHost class that will live in the UI process and host the layer tree.
37214
37215        * DerivedSources.make:
37216        Add RemoteLayerTreeHost.messages.in.
37217
37218        * Platform/CoreIPC/MessageID.h:
37219        Add a RemoteLayerTreeHost message class.
37220
37221        * UIProcess/WebProcessProxy.cpp:
37222        (WebKit::WebProcessProxy::addMessageReceiver):
37223        (WebKit::WebProcessProxy::removeMessageReceiver):
37224        (WebKit::WebProcessProxy::didReceiveMessage):
37225        (WebKit::WebProcessProxy::didReceiveSyncMessage):
37226        * UIProcess/WebProcessProxy.h:
37227        Add a message receiver map to the web process proxy.
37228
37229        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
37230        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
37231        Add a RemoteLayerTreeHost member variable.
37232
37233        * UIProcess/mac/RemoteLayerTreeHost.h:
37234        Add new class.
37235
37236        * UIProcess/mac/RemoteLayerTreeHost.messages.in:
37237        Add new messages file with a single Commit message.
37238        
37239        * UIProcess/mac/RemoteLayerTreeHost.mm:
37240        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
37241        Add the layer tree host as a message receiver.
37242
37243        (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
37244        Remote the layer tree host as a message receiver.
37245
37246        (WebKit::RemoteLayerTreeHost::didReceiveMessage):
37247        Call the generated member function.
37248
37249        (WebKit::RemoteLayerTreeHost::commit):
37250        Add an empty stub for now.
37251
37252        * WebKit2.xcodeproj/project.pbxproj:
37253        Add new files.
37254
37255        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
37256        (WebKit::RemoteLayerTreeContext::flushLayers):
37257        Send a commit message to the remote layer tree host.
37258
372592012-11-12  Tim Horton  <timothy_horton@apple.com>
37260
37261        PDFPlugin should support non-1 device scale factor
37262        https://bugs.webkit.org/show_bug.cgi?id=101923
37263
37264        Reviewed by Alexey Proskuryakov.
37265
37266        Do the appropriate plumbing to ensure that PDFPlugin handles device scale factor > 1
37267        (it's called contentsScaleFactor in plugins), both for normal drawing and for snapshotting.
37268
37269        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add deviceScaleFactor setter/getter to PDFLayerController.
37270        * WebProcess/Plugins/PDF/PDFPlugin.h:
37271        (PDFPlugin): Override contentsScaleFactorChanged.
37272        * WebProcess/Plugins/PDF/PDFPlugin.mm:
37273        (WebKit::PDFPlugin::pdfDocumentDidLoad): Plumb device scale factor through to PDFLayerController.
37274        (WebKit::PDFPlugin::contentsScaleFactorChanged): Plumb device scale factor through to PDFLayerController
37275        when we're notified that it has changed.
37276        (WebKit::PDFPlugin::snapshot): Create snapshots with the device scale factor applied.
37277
372782012-11-12  Anders Carlsson  <andersca@apple.com>
37279
37280        Rename RemoteLayerTreeController to RemoteLayerTreeContext
37281        https://bugs.webkit.org/show_bug.cgi?id=101993
37282
37283        Reviewed by Andreas Kling.
37284
37285        * WebKit2.xcodeproj/project.pbxproj:
37286        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
37287        (RemoteGraphicsLayer):
37288        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37289        (WebKit::RemoteGraphicsLayer::create):
37290        (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
37291        (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
37292        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.h.
37293        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.mm.
37294        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
37295        (RemoteLayerTreeDrawingArea):
37296        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
37297        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
37298        (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
37299        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
37300        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
37301
373022012-11-12  Anders Carlsson  <andersca@apple.com>
37303
37304        Add debug only code to dump the contents of a transaction
37305        https://bugs.webkit.org/show_bug.cgi?id=101991
37306
37307        Reviewed by Andreas Kling.
37308
37309        * Shared/mac/RemoteLayerTreeTransaction.h:
37310        * Shared/mac/RemoteLayerTreeTransaction.mm:
37311        (WebKit::writeIndent):
37312        (WebKit::dumpChangedLayers):
37313        (WebKit::RemoteLayerTreeTransaction::dump):
37314
373152012-11-12  Anders Carlsson  <andersca@apple.com>
37316
37317        Store name changes in the layer transaction
37318        https://bugs.webkit.org/show_bug.cgi?id=101981
37319
37320        Reviewed by Andreas Kling.
37321
37322        * Shared/mac/RemoteLayerTreeTransaction.h:
37323        (LayerProperties):
37324        Add new LayerProperties class.
37325
37326        (RemoteLayerTreeTransaction):
37327        * Shared/mac/RemoteLayerTreeTransaction.mm:
37328        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
37329        Find the changed layer properties for the given layer and apply the changed properties.
37330
37331        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
37332        (WebKit::RemoteGraphicsLayer::layerID):
37333        Add new getter.
37334
37335        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37336        (WebKit::generateLayerID):
37337        (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
37338        Give each remote graphics layer a unique ID.
37339
373402012-11-12  Brady Eidson  <beidson@apple.com>
37341
37342        NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
37343        https://bugs.webkit.org/show_bug.cgi?id=101872
37344
37345        Reviewed by Alexey Proskuryakov.
37346
37347        The WebProcess now passes "shouldContentSniff" over to the NetworkProcess with the requests so it can be respected.
37348
37349        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
37350        (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
37351        * NetworkProcess/NetworkConnectionToWebProcess.h:
37352        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
37353
37354        * NetworkProcess/NetworkRequest.cpp:
37355        (WebKit::NetworkRequest::NetworkRequest):
37356        (WebKit::NetworkRequest::start):
37357        * NetworkProcess/NetworkRequest.h:
37358        (WebKit::NetworkRequest::create):
37359
37360        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
37361        (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
37362        * NetworkProcess/NetworkResourceLoadScheduler.h:
37363        * WebProcess/Network/NetworkProcessConnection.h:
37364
37365        * WebProcess/Network/WebResourceLoadScheduler.cpp:
37366        (WebKit::WebResourceLoadScheduler::scheduleLoad): Update to pass through "shouldContentSniff"
37367
373682012-11-12  Anders Carlsson  <andersca@apple.com>
37369
37370        More work towards packaging layer changes up into a transaction object
37371        https://bugs.webkit.org/show_bug.cgi?id=101969
37372
37373        Reviewed by Andreas Kling.
37374
37375        * Shared/mac/RemoteLayerTreeTransaction.h:
37376        * Shared/mac/RemoteLayerTreeTransaction.mm:
37377        (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
37378        (WebKit::RemoteLayerTreeTransaction::~RemoteLayerTreeTransaction):
37379        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
37380        Add empty stubs.
37381
37382        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37383        (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
37384        Call layerPropertiesChanged on the current transaction.
37385
37386        * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
37387        * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
37388        (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
37389        Initialize m_currentTransaction till 0.
37390
37391        (WebKit::RemoteLayerTreeController::currentTransaction):
37392        Add getter. This may only be called from beneath flushLayers.
37393
37394        (WebKit::RemoteLayerTreeController::flushLayers):
37395        Create a transaction before flusing the compositing state.
37396
373972012-11-12  Anders Carlsson  <andersca@apple.com>
37398
37399        More work on remote layer flushing
37400        https://bugs.webkit.org/show_bug.cgi?id=101960
37401
37402        Reviewed by Andreas Kling.
37403
37404        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
37405        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37406        (WebKit::RemoteGraphicsLayer::flushCompositingState):
37407        Call recursiveCommitChanges.
37408
37409        (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
37410        Add stub function for now.
37411
37412        (WebKit::RemoteGraphicsLayer::recursiveCommitChanges):
37413        Call flushCompositingStateForThisLayerOnly and then call recursiveCommitChanges recursively on all the child layers.
37414
37415        * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
37416        * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
37417        (WebKit::RemoteLayerTreeController::create):
37418        (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
37419        This now takes a web page.
37420
37421        (WebKit::RemoteLayerTreeController::setRootLayer):
37422        Add empty function.
37423
37424        (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
37425        Call flushLayers explicitly.
37426
37427        (WebKit::RemoteLayerTreeController::flushLayers):
37428        Force a layout and then sync all the compositing layers.
37429
37430        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
37431        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
37432        RemoteLayerTreeController::create now takes a web page.
37433
37434        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
37435        Call the remote layer tree controller.
37436
374372012-11-12  Anders Carlsson  <andersca@apple.com>
37438
37439        Layer property changes should schedule a remote layer flush
37440        https://bugs.webkit.org/show_bug.cgi?id=101951
37441
37442        Reviewed by Andreas Kling.
37443
37444        * Shared/mac/RemoteLayerTreeTransaction.h:
37445        * Shared/mac/RemoteLayerTreeTransaction.mm:
37446        New class. For now this just contains the changed layer properties flags but this will be extended
37447        to cover changed layers as well.
37448
37449        * WebKit2.xcodeproj/project.pbxproj:
37450        Add new files.
37451
37452        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
37453        (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
37454        Initialize m_uncommittedLayerChanges.
37455
37456        (WebKit::RemoteGraphicsLayer::setName):
37457        Set the name and call noteLayerPropertiesChanged.
37458
37459        (WebKit::RemoteGraphicsLayer::noteLayerPropertiesChanged):
37460        Notify that a flush is required (if required).
37461
37462        * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
37463        Add a layer flush timer.
37464
37465        * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
37466        (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
37467        Initialize the layer flush timer.
37468
37469        (WebKit::RemoteLayerTreeController::scheduleLayerFlush):
37470        Schedule the layer flush timer if needed.
37471
37472        (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
37473        Empty stub for now.
37474
37475        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
37476        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
37477        Call the remote layer tree controller.
37478
374792012-11-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
37480
37481        [EFL] Add implementations of device - user conversion methods
37482        https://bugs.webkit.org/show_bug.cgi?id=101938
37483
37484        Reviewed by Laszlo Gombos.
37485
37486        Consider the deviceScaleFactor when convertion to/from user
37487        and device units.
37488
37489        This affects DOM API's such as window.moveTo, resizeTo etc.
37490
37491        * UIProcess/efl/PageClientBase.cpp:
37492        * UIProcess/efl/PageClientBase.h:
37493        (PageClientBase):
37494        * UIProcess/efl/PageClientDefaultImpl.cpp:
37495        (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
37496        (WebKit):
37497        (WebKit::PageClientDefaultImpl::convertToUserSpace):
37498        * UIProcess/efl/PageClientDefaultImpl.h:
37499        (PageClientDefaultImpl):
37500        * UIProcess/efl/PageClientLegacyImpl.cpp:
37501        (WebKit::PageClientLegacyImpl::convertToDeviceSpace):
37502        (WebKit):
37503        (WebKit::PageClientLegacyImpl::convertToUserSpace):
37504        * UIProcess/efl/PageClientLegacyImpl.h:
37505        (PageClientLegacyImpl):
37506
375072012-11-12  Yael Aharon  <yael.aharon@intel.com>
37508
37509        [EFL][WK2][AC] Black screen when applications use software backend.
37510        https://bugs.webkit.org/show_bug.cgi?id=101659
37511
37512        Reviewed by Kenneth Rohde Christiansen.
37513
37514        If creating openGL context fails, automatically fallback to software rendering.
37515
37516        * UIProcess/API/efl/EwkViewImpl.cpp:
37517        (EwkViewImpl::EwkViewImpl):
37518        (EwkViewImpl::displayTimerFired):
37519        (EwkViewImpl::createGLSurface):
37520        (EwkViewImpl::enterAcceleratedCompositingMode):
37521        * UIProcess/API/efl/EwkViewImpl.h:
37522        (EwkViewImpl::hardwareAccelerationEnabled):
37523        (EwkViewImpl):
37524        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
37525        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
37526        (WebKit::LayerTreeRenderer::ensureRootLayer):
37527        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
37528        (WebKit::LayerTreeRenderer::setAccelerationMode):
37529        (LayerTreeRenderer):
37530        * UIProcess/efl/PageClientBase.cpp:
37531        (WebKit::PageClientBase::createDrawingAreaProxy):
37532
375332012-11-12  Thiago Marcos P. Santos  <thiago.santos@intel.com>
37534
37535        [WK2] Indentation nit on WebPage
37536        https://bugs.webkit.org/show_bug.cgi?id=101928
37537
37538        Reviewed by Kenneth Rohde Christiansen.
37539
37540        * WebProcess/WebPage/WebPage.cpp:
37541        (WebKit::WebPage::setViewportSize):
37542
375432012-11-12  Jiyeon Kim  <jiyeon0402.kim@samsung.com>
37544
37545        [EFL][WK2] Add ewk_settings_offline_web_application_cache_enabled set/get APIs
37546        https://bugs.webkit.org/show_bug.cgi?id=101688
37547
37548        Reviewed by Gyuyoung Kim.
37549
37550        Add ewk_settings_offline_web_application_cache_get API to be used for enabling disabling the web application cache.
37551        Add ewk_settings_offline_web_application_cache_set API to be used for getting the web application cache status.
37552        In addition, offline web application cache is enabled by default.
37553
37554        * UIProcess/API/efl/EwkViewImpl.cpp:
37555        (EwkViewImpl::EwkViewImpl):
37556        * UIProcess/API/efl/ewk_settings.cpp:
37557        (ewk_settings_offline_web_application_cache_enabled_set):
37558        (ewk_settings_offline_web_application_cache_enabled_get):
37559        * UIProcess/API/efl/ewk_settings.h:
37560        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
37561        (TEST_F):
37562
375632012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
37564
37565        [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
37566        https://bugs.webkit.org/show_bug.cgi?id=101180
37567
37568        Reviewed by Dimitri Glazkov.
37569
37570        * win/WebKit2.def:
37571        * win/WebKit2CFLite.def:
37572
375732012-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
37574
37575        Unreviewed, rolling out r134144.
37576        http://trac.webkit.org/changeset/134144
37577        https://bugs.webkit.org/show_bug.cgi?id=101876
37578
37579        seems to break win 7 chromium browser test (Requested by
37580        hayato on #webkit).
37581
37582        * win/WebKit2.def:
37583        * win/WebKit2CFLite.def:
37584
375852012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
37586
37587        WTFString::utf8() should have a mode of conversion to use replacement character
37588        https://bugs.webkit.org/show_bug.cgi?id=101678
37589
37590        Reviewed by Alexey Proskuryakov.
37591
37592        Update the symbol for String::utf8().
37593
37594        * win/WebKit2.def:
37595        * win/WebKit2CFLite.def:
37596
375972012-11-10  Zeno Albisser  <zeno@webkit.org>
37598
37599        [Qt][WK2] Use QLibraryInfo to search for executables.
37600        https://bugs.webkit.org/show_bug.cgi?id=101774
37601
37602        Reviewed by Simon Hausmann.
37603
37604        This allows finding the WebProcess or the PluginProcess
37605        in it's installed location. This is necessary when
37606        deploying QtWebKit with an installer.
37607
37608        * Shared/qt/ProcessExecutablePathQt.cpp:
37609        (WebKit::executablePath):
37610
376112012-11-09  Huang Dongsung  <luxtella@company100.net>
37612
37613        Coordinated Graphics: Rename tileRect from targetRect.
37614        https://bugs.webkit.org/show_bug.cgi?id=101705
37615
37616        Reviewed by Noam Rosenthal.
37617
37618        Messages::LayerTreeCoordinatorProxy::CreateTileForLayer contains the targetRect
37619        variable. The targetRect stands for the rect of the tile created. This patch
37620        renames tileRect to enhance the clearity.
37621
37622        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
37623        (WebKit::CoordinatedBackingStoreTile::swapBuffers):
37624        (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
37625        (WebKit::CoordinatedBackingStore::updateTile):
37626        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
37627        (CoordinatedBackingStoreTile):
37628        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
37629        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
37630        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
37631        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
37632        (LayerTreeCoordinatorProxy):
37633        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
37634        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
37635        (WebKit::LayerTreeRenderer::updateTile):
37636        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
37637        (TileUpdate):
37638        (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
37639        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
37640        (WebCore::CoordinatedGraphicsLayer::createTile):
37641        (WebCore::CoordinatedGraphicsLayer::updateTile):
37642        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
37643        (CoordinatedGraphicsLayerClient):
37644        (CoordinatedGraphicsLayer):
37645        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
37646        (CoordinatedTileClient):
37647        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
37648        (WebKit::LayerTreeCoordinator::createTile):
37649        (WebKit::LayerTreeCoordinator::updateTile):
37650        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
37651        (LayerTreeCoordinator):
37652
376532012-11-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
37654
37655        Allow ports to decide whether an image should be directly composited
37656        https://bugs.webkit.org/show_bug.cgi?id=101827
37657
37658        Reviewed by Simon Fraser.
37659
37660        Implement shouldDirectlyCompositeImage for coordinated graphics, effectively disabling direct
37661        compositing of images with width or height larger than 2000 pixels.
37662
37663        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
37664        (WebCore::CoordinatedGraphicsLayer::shouldDirectlyCompositeImage):
37665        (WebCore):
37666        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
37667        (CoordinatedGraphicsLayer):
37668
376692012-11-09  Huang Dongsung  <luxtella@company100.net>
37670
37671        Coordinated Graphics: Antialias the edge-tiles of CoordinatedBackingStore.
37672        https://bugs.webkit.org/show_bug.cgi?id=101818
37673
37674        Reviewed by Noam Rosenthal.
37675
37676        Since we now have the entire surfaceRect, we can antialias the edge-tiles.
37677
37678        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
37679        (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
37680        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
37681        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
37682        (CoordinatedBackingStore):
37683
376842012-11-09  Rick Byers  <rbyers@chromium.org>
37685
37686        No tests for changing mouse cursors
37687        https://bugs.webkit.org/show_bug.cgi?id=100550
37688
37689        Reviewed by Adam Barth.
37690
37691        Add necessary exports for Internals::getCurrentCursorInfo
37692
37693        * win/WebKit2.def:
37694        * win/WebKit2CFLite.def:
37695
376962012-11-09  Vivek Galatage  <vivekgalatage@gmail.com>
37697
37698        Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def
37699        https://bugs.webkit.org/show_bug.cgi?id=101816
37700
37701        Reviewed by Anders Carlsson.
37702
37703        Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def to fix win-cairo build.
37704
37705        * win/WebKit2CFLite.def:
37706
377072012-11-09  Huang Dongsung  <luxtella@company100.net>
37708
37709        Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
37710        https://bugs.webkit.org/show_bug.cgi?id=101701
37711
37712        Reviewed by Noam Rosenthal.
37713
37714        Currently, all subclasses of TextureMapperPlatformLayer implement
37715        paintToTextureMapper to draw its own texture on the given targetRect. Subclasses
37716        can scale the texture to fit the size of the targetRect. However, only
37717        CoordinatedBackingStore::paintToTextureMapper draws its texture using its own
37718        texture size. There is no bug yet, because TextureMapperLayer uses
37719        CoordinatedBackingStore only as a backing store, not a content layer. So,
37720        TextureMapperLayer always request CoordinatedBackingStore to draw using its own
37721        texture size. However, we can use CoordinatedBackingStore as a content layer in
37722        the future. So this patch fixes this potential bug.
37723
37724        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
37725        (WebKit::CoordinatedBackingStore::setSize):
37726        (WebKit):
37727        (WebKit::mapToContents):
37728        (WebKit::paintTilesToTextureMapper):
37729        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
37730        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
37731        (CoordinatedBackingStore):
37732        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
37733        (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
37734        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
37735        (LayerTreeCoordinatorProxy):
37736        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
37737        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
37738        (WebKit::LayerTreeRenderer::createTile):
37739        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
37740        (LayerTreeRenderer):
37741        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
37742        (WebCore::CoordinatedGraphicsLayer::createTile):
37743        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
37744        (CoordinatedGraphicsLayerClient):
37745        (CoordinatedGraphicsLayer):
37746        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
37747        (WebKit::CoordinatedTile::updateBackBuffer):
37748        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
37749        (CoordinatedTileClient):
37750        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
37751        (WebKit::LayerTreeCoordinator::createTile):
37752        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
37753        (LayerTreeCoordinator):
37754
377552012-11-09  Brady Eidson  <beidson@apple.com>
37756
37757        Implement NetworkProcess willSendRequest
37758        https://bugs.webkit.org/show_bug.cgi?id=101812
37759
37760        Reviewed by Alexey Proskuryakov.
37761
37762        Message to the WebProcess to get the new request, if any.
37763
37764        Because network callbacks are coming in on a background thread we have to jump through hoops to synchronously
37765        ask the WebProcess, but these hoops follow an established pattern of using async messaging with BlockingResourceMap.
37766
37767        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
37768        (WebKit::NetworkConnectionToWebProcess::willSendRequestHandled): Pass the new request back to NetworkRequest for handling.
37769        * NetworkProcess/NetworkConnectionToWebProcess.h:
37770        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
37771
37772        * NetworkProcess/NetworkRequest.cpp:
37773        (WebKit::NetworkRequest::didFail):
37774        (WebKit::responseMap):
37775        (WebKit::generateWillSendRequestID):
37776        (WebKit::didReceiveWillSendRequestHandled):
37777        (WebKit::NetworkRequest::willSendRequest): Asynchronously message the WebProcess but synchronous wait for a reply back.
37778        * NetworkProcess/NetworkRequest.h:
37779
37780        * WebProcess/Network/NetworkProcessConnection.cpp:
37781        (WebKit::NetworkProcessConnection::willSendRequest): Ask the WebResourceLoadScheduler for the new request then
37782          message back to the NetworkProcess with the reply.
37783        * WebProcess/Network/NetworkProcessConnection.h:
37784
37785        * WebProcess/Network/NetworkProcessConnection.messages.in:
37786
37787        * WebProcess/Network/WebResourceLoadScheduler.cpp:
37788        (WebKit::WebResourceLoadScheduler::willSendRequest):
37789        * WebProcess/Network/WebResourceLoadScheduler.h:
37790
377912012-11-09  Tim Horton  <timothy_horton@apple.com>
37792
37793        PDFPlugin should support clicking on external links
37794        https://bugs.webkit.org/show_bug.cgi?id=101647
37795        <rdar://problem/12555222>
37796
37797        Reviewed by Alexey Proskuryakov.
37798
37799        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add details about clickedLinkWithURL: callback.
37800        * WebProcess/Plugins/PDF/PDFPlugin.h:
37801        (PDFPlugin): Add clickedLink() and storage for the last mouse event that was dispatched.
37802        * WebProcess/Plugins/PDF/PDFPlugin.mm:
37803        (-[WKPDFLayerControllerDelegate pdfLayerController:clickedLinkWithURL:]): Forward the URL to PDFPlugin.
37804        (WebKit::PDFPlugin::handleMouseEvent): Store the last mouse event that was dispatched.
37805        We use this to get the correct mouse button and modifier keys, so that command-clicking, etc. links works.
37806        (WebKit::PDFPlugin::clickedLink): Request a load given the new URL.
37807
37808        * PluginProcess/PluginControllerProxy.h:
37809        (PluginControllerProxy):
37810        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
37811        (WebKit::NetscapePlugin::shouldAllowScripting):
37812        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
37813        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
37814        * WebProcess/Plugins/Plugin.h:
37815        * WebProcess/Plugins/PluginProxy.cpp:
37816        (WebKit::PluginProxy::shouldAllowScripting):
37817        * WebProcess/Plugins/PluginProxy.h:
37818        * WebProcess/Plugins/PluginView.cpp:
37819        (WebKit::PluginView::shouldAllowScripting):
37820        * WebProcess/Plugins/PluginView.h:
37821        Add shouldAllowScripting() function to Plugin (and plumb through PluginProxy and PluginView, etc.)
37822
37823        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37824        (WebKit::WebFrameLoaderClient::allowScript): Override allowScript(); if the frame is hosting a PluginDocument,
37825        ask its plugin whether it should allow execution of JavaScript and JavaScript URLs or not.
37826        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
37827
37828        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Disable scripting for SimplePDFPlugin (and, by inheritance, PDFPlugin).
37829
378302012-11-09  Brady Eidson  <beidson@apple.com>
37831
37832        Implement WebResourceBuffer::isEmpty()
37833        https://bugs.webkit.org/show_bug.cgi?id=101805
37834
37835        Reviewed by Alexey Proskuryakov.
37836
37837        This is required to make the existing subresource loading in NetworkProcess work correctly,
37838        as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver 
37839        the data to the ResourceLoader.
37840
37841        * Shared/WebResourceBuffer.cpp:
37842        (WebKit::WebResourceBuffer::isEmpty):
37843        * Shared/WebResourceBuffer.h:
37844
378452012-11-09  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
37846
37847        [EFL][WK2][AC] Fixed layers are shaking when scrolling
37848        https://bugs.webkit.org/show_bug.cgi?id=101549
37849
37850        Reviewed by Kenneth Rohde Christiansen.
37851
37852        At the time of adjusting positions for fixed layers, the locations of
37853        fixed layers are calculated incorrectly because the contentsSize is empty.
37854
37855        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
37856        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize): Call the
37857        setContentsSize function in LayerTreeCoordinatorProxy in order to calculate
37858        the locations of fixed layers correctly.
37859
378602012-11-09  Brady Eidson  <beidson@apple.com>
37861
37862        NetworkRequest refactoring
37863        https://bugs.webkit.org/show_bug.cgi?id=101777
37864
37865        Reviewed by Alexey Proskuryakov.
37866
37867        Move all of the ResourceHandleClient stubs from the .h to the .cpp in one patch
37868        to make future patches cleaner.
37869
37870        Also completely remove the declaration for shouldCacheResponse() for now.
37871
37872        * NetworkProcess/NetworkRequest.cpp:
37873        (WebKit::NetworkRequest::willSendRequest):
37874        (WebKit::NetworkRequest::didSendData):
37875        (WebKit::NetworkRequest::didReceiveCachedMetadata):
37876        (WebKit::NetworkRequest::wasBlocked):
37877        (WebKit::NetworkRequest::cannotShowURL):
37878        (WebKit::NetworkRequest::willCacheResponse):
37879        (WebKit::NetworkRequest::shouldUseCredentialStorage):
37880        (WebKit::NetworkRequest::didReceiveAuthenticationChallenge):
37881        (WebKit::NetworkRequest::didCancelAuthenticationChallenge):
37882        (WebKit::NetworkRequest::receivedCancellation):
37883        (WebKit::NetworkRequest::canAuthenticateAgainstProtectionSpace):
37884        (WebKit::NetworkRequest::supportsDataArray):
37885        (WebKit::NetworkRequest::didReceiveDataArray):
37886        (WebKit::NetworkRequest::willStopBufferingData):
37887        (WebKit::NetworkRequest::createAsyncFileStream):
37888        * NetworkProcess/NetworkRequest.h:
37889
378902012-11-09  Alexey Proskuryakov  <ap@apple.com>
37891
37892        CookieJar uses Document class, which is a layering violation
37893        https://bugs.webkit.org/show_bug.cgi?id=101621
37894
37895        Reviewed by Brady Eidson.
37896
37897        * UIProcess/API/C/WKAPICast.h: Don't include CookieJar.h, its completely unnecessary.
37898
378992012-11-09  peavo@outlook.com  <peavo@outlook.com>
37900
37901        WinCairo build fails to link
37902        https://bugs.webkit.org/show_bug.cgi?id=101739
37903
37904        Reviewed by Kentaro Hara.
37905
37906        * win/WebKit2CFLite.def:
37907
379082012-11-09  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
37909
37910        [EFL][WK2] REGRESSION (r134043): API tests crashes
37911        https://bugs.webkit.org/show_bug.cgi?id=101742
37912
37913        Reviewed by Kenneth Rohde Christiansen.
37914
37915        Do not assert on PassRefPtr<WebContext> after it becomes 0.
37916
37917        * UIProcess/efl/BatteryProvider.cpp:
37918        (BatteryProvider::BatteryProvider):
37919        * UIProcess/efl/NetworkInfoProvider.cpp:
37920        (NetworkInfoProvider::NetworkInfoProvider):
37921
379222012-11-09  Yael Aharon  <yael.aharon@intel.com>
37923
37924        [EFL][WK2][AC] Random crashes in layout tests on the bot
37925        https://bugs.webkit.org/show_bug.cgi?id=101687
37926
37927        Reviewed by Kenneth Rohde Christiansen.
37928
37929        Speculative fix for a crash on the bot.
37930        If didCommitLoad() is called before the view size was set, we will
37931        try to paint an empty area, and that will crash.
37932
37933        * UIProcess/API/efl/EwkViewImpl.cpp:
37934        (EwkViewImpl::update):
37935
379362012-11-09  Jinwoo Song  <jinwoo7.song@samsung.com>
37937
37938        [EFL][WK2] Make classes for client use WebContext instead of WKContext
37939        https://bugs.webkit.org/show_bug.cgi?id=101564
37940
37941        Reviewed by Kenneth Rohde Christiansen.
37942
37943        EwkContext class has been refactored to use WebContext instead of WKContext in r133844,
37944        so this patch makes client classes use WebContext
37945
37946        * UIProcess/API/efl/ewk_context.cpp:
37947        (EwkContext::EwkContext):
37948        * UIProcess/efl/BatteryProvider.cpp:
37949        (BatteryProvider::~BatteryProvider):
37950        (BatteryProvider::create):
37951        (BatteryProvider::BatteryProvider):
37952        (BatteryProvider::didChangeBatteryStatus):
37953        * UIProcess/efl/BatteryProvider.h:
37954        (BatteryProvider):
37955        * UIProcess/efl/ContextHistoryClientEfl.cpp:
37956        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
37957        * UIProcess/efl/ContextHistoryClientEfl.h:
37958        (WebKit::ContextHistoryClientEfl::create):
37959        (ContextHistoryClientEfl):
37960        * UIProcess/efl/NetworkInfoProvider.cpp:
37961        (NetworkInfoProvider::create):
37962        (NetworkInfoProvider::NetworkInfoProvider):
37963        (NetworkInfoProvider::~NetworkInfoProvider):
37964        * UIProcess/efl/NetworkInfoProvider.h:
37965        (NetworkInfoProvider):
37966
379672012-11-09  Jinwoo Song  <jinwoo7.song@samsung.com>
37968
37969        [EFL][WK2] Fix build warning in test_ewk2_context.cpp: [-Wwrite-strings]
37970        https://bugs.webkit.org/show_bug.cgi?id=101666
37971
37972        Reviewed by Kenneth Rohde Christiansen.
37973
37974        Use constant character pointer to fix [-Wwrite-strings] warning.
37975
37976        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
37977        (TEST_F):
37978
379792012-11-09  Christophe Dumez  <christophe.dumez@intel.com>
37980
37981        [EFL][WK2] Add support for custom cursors
37982        https://bugs.webkit.org/show_bug.cgi?id=101723
37983
37984        Reviewed by Kenneth Rohde Christiansen.
37985
37986        EwkViewImpl::setCursor() now properly handles custom
37987        cursors.
37988
37989        * UIProcess/API/efl/EwkViewImpl.cpp:
37990        (EwkViewImpl::EwkViewImpl):
37991        (EwkViewImpl::setCursor):
37992        * UIProcess/API/efl/EwkViewImpl.h:
37993        (EwkViewImpl):
37994
379952012-11-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
37996
37997        [EFL] Add a method to the TextCheckerEnchant class to check whether any dictionary is loaded
37998        https://bugs.webkit.org/show_bug.cgi?id=101570
37999
38000        Reviewed by Gustavo Noronha Silva.
38001
38002        To do not get the vector of loaded languages, WebKit2-EFL calls
38003        TextCheckerEnchant::hasDictionary() method to check whether the
38004        dictionaries vector is empty.
38005
38006        * UIProcess/API/efl/ewk_settings.cpp:
38007        (ewk_settings_continuous_spell_checking_enabled_set):
38008        * UIProcess/API/efl/ewk_text_checker.cpp:
38009        (Ewk_Text_Checker::hasDictionary):
38010        (Ewk_Text_Checker):
38011        * UIProcess/API/efl/ewk_text_checker_private.h:
38012        (Ewk_Text_Checker):
38013
380142012-11-08  Timothy Hatcher  <timothy@apple.com>
38015
38016        Always use a textured window for the Web Inspector.
38017
38018        https://bugs.webkit.org/show_bug.cgi?id=101693
38019
38020        Reviewed by Joseph Pecoraro.
38021
38022        * UIProcess/mac/WebInspectorProxyMac.mm:
38023        (WebKit::WebInspectorProxy::createInspectorWindow): Removed the conditional for a textured window.
38024
380252012-11-08  Huang Dongsung  <luxtella@company100.net>
38026
38027        Coordinated Graphics: Don't send the messages for releasing resources during purging.
38028        https://bugs.webkit.org/show_bug.cgi?id=101685
38029
38030        Reviewed by Noam Rosenthal.
38031
38032        We don't need to send the messages related to releasing resources to UI Process
38033        during purging, because UI Process already had removed all resources.
38034        This patch gives us reducing slight messaging overhead and increasing readability.
38035
38036        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
38037        (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
38038        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
38039        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
38040        (WebKit::LayerTreeCoordinator::purgeReleasedImages):
38041        (WebKit::LayerTreeCoordinator::removeTile):
38042        (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
38043        (WebKit::LayerTreeCoordinator::purgeBackingStores):
38044        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
38045        (LayerTreeCoordinator):
38046
380472012-11-08  KyungTae Kim  <ktf.kim@samsung.com>
38048
38049        [WK2] Unused parameters on LayerTreeRenderer.cpp
38050        https://bugs.webkit.org/show_bug.cgi?id=101653
38051
38052        Reviewed by Noam Rosenthal.
38053
38054        Because the 'tileID' parameter is not used now,
38055        comment out it to fix build warning -Wunused-parameter
38056
38057        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
38058        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
38059
380602012-11-08  Christophe Dumez  <christophe.dumez@intel.com>
38061
38062        [EFL][WK2] Add proper support for fullscreen API to MiniBrowser
38063        https://bugs.webkit.org/show_bug.cgi?id=101615
38064
38065        Reviewed by Kenneth Rohde Christiansen.
38066
38067        * UIProcess/API/efl/EwkViewImpl.cpp:
38068        (EwkViewImpl::enterFullScreen):
38069        * UIProcess/API/efl/ewk_security_origin.cpp:
38070        (EwkSecurityOrigin::EwkSecurityOrigin):
38071        * UIProcess/API/efl/ewk_security_origin_private.h:
38072        (EwkSecurityOrigin::create): Add factory method to construct a
38073        EwkSecurityOrigin from a KURL.
38074        (EwkSecurityOrigin):
38075        * UIProcess/API/efl/ewk_view.cpp:
38076        (ewk_view_fullscreen_exit): Add public API function to exit
38077        fullscreen mode.
38078        * UIProcess/API/efl/ewk_view.h: Add security origin parameter
38079        to fullscreen_enter smart function since this information is
38080        useful to the user agent.
38081        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
38082        (fullScreenCallback):
38083        (fullScreenExitCallback):
38084        (TEST_F):
38085
380862012-11-08  Brady Eidson  <beidson@apple.com>
38087
38088        Have NetworkProcess do the actual loading of subresources.
38089        https://bugs.webkit.org/show_bug.cgi?id=101640
38090
38091        Reviewed by Alexey Proskuryakov.
38092
38093        This adds actual loading of subresources in the NetworkProcess.
38094
38095        Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.
38096
38097        Many FIXMEs point the path towards much better behavior.
38098
38099        Project file stuff:
38100        * WebKit2.xcodeproj/project.pbxproj:
38101
38102        Add a new Logging channel for scheduling so the one for loading can be separate:
38103        * Platform/Logging.cpp:
38104        * Platform/Logging.h:
38105
38106        Add an enhancement FIXME:
38107        * NetworkProcess/HostRecord.cpp:
38108        (WebKit::HostRecord::remove):
38109
38110        NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
38111        * NetworkProcess/NetworkRequest.cpp:
38112        (WebKit::NetworkRequest::NetworkRequest):
38113        (WebKit::NetworkRequest::~NetworkRequest):
38114        (WebKit::NetworkRequest::start):
38115        (WebKit::requestsToStopMutex):
38116        (WebKit::requestsToStop):
38117        (WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
38118        (WebKit::NetworkRequest::performStops):
38119        (WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
38120        (WebKit::NetworkRequest::didReceiveResponse):
38121        (WebKit::NetworkRequest::didReceiveData):
38122        (WebKit::NetworkRequest::didFinishLoading):
38123        (WebKit::NetworkRequest::didFail):
38124        * NetworkProcess/NetworkRequest.h:
38125
38126        Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
38127        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
38128        (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
38129        (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
38130        (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
38131        (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
38132        (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
38133        (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
38134        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
38135        (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
38136        * NetworkProcess/NetworkResourceLoadScheduler.h:
38137        (NetworkResourceLoadScheduler):
38138
38139        Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
38140        * Shared/ShareableResource.cpp: Added.
38141        (WebKit::ShareableResource::Handle::Handle):
38142        (WebKit::ShareableResource::Handle::encode):
38143        (WebKit::ShareableResource::Handle::decode):
38144        (WebKit::ShareableResource::create):
38145        (WebKit::ShareableResource::ShareableResource):
38146        (WebKit::ShareableResource::~ShareableResource):
38147        (WebKit::ShareableResource::createHandle):
38148        (WebKit::ShareableResource::data):
38149        (WebKit::ShareableResource::size):
38150        * Shared/ShareableResource.h: 
38151        (WebKit::ShareableResource::Handle::isNull):
38152        (WebKit::ShareableResource::Handle::size):
38153
38154        Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
38155        * Shared/WebResourceBuffer.cpp:
38156        (WebKit::WebResourceBuffer::WebResourceBuffer):
38157        (WebKit::WebResourceBuffer::~WebResourceBuffer):
38158        (WebKit::WebResourceBuffer::data):
38159        (WebKit::WebResourceBuffer::size):
38160        * Shared/WebResourceBuffer.h:
38161        (WebResourceBuffer):
38162        (WebKit::WebResourceBuffer::create):
38163
38164        Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
38165        * WebProcess/Network/NetworkProcessConnection.cpp:
38166        (WebKit::NetworkProcessConnection::didReceiveResponse):
38167        (WebKit::NetworkProcessConnection::didReceiveResource):
38168        (WebKit::NetworkProcessConnection::didFailResourceLoad):
38169        * WebProcess/Network/NetworkProcessConnection.h:
38170        * WebProcess/Network/NetworkProcessConnection.messages.in:
38171
38172        Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
38173        * WebProcess/Network/WebResourceLoadScheduler.cpp:
38174        (WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
38175        (WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
38176        (WebKit::WebResourceLoadScheduler::remove): Ditto.
38177        (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
38178        (WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
38179        (WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
38180        (WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
38181        (WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
38182        * WebProcess/Network/WebResourceLoadScheduler.h:
38183
381842012-11-08  Huang Dongsung  <luxtella@company100.net>
38185
38186        Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
38187        https://bugs.webkit.org/show_bug.cgi?id=101424
38188
38189        Reviewed by Noam Rosenthal.
38190
38191        We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
38192        Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
38193        !drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
38194        store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
38195        CoordinatedGraphicsLayer must have the same behavior.
38196
38197        In addition, this patch makes LayerTreeRenderer remove a backing store from
38198        GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.
38199
38200        Test: compositing/nested-direct-image-compositing.html
38201
38202        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
38203        (WebKit::CoordinatedBackingStore::removeTile):
38204        (WebKit::CoordinatedBackingStore::isEmpty):
38205        (WebKit):
38206        (WebKit::CoordinatedBackingStore::commitTileOperations):
38207        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
38208        (CoordinatedBackingStore):
38209        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
38210        (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
38211        (WebKit):
38212        (WebKit::LayerTreeRenderer::removeTile):
38213        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
38214        (LayerTreeRenderer):
38215        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
38216        (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
38217
382182012-11-08  Tim Horton  <timothy_horton@apple.com>
38219
38220        [WK2] Print preview should vend images to the UIProcess instead of PDFs
38221        https://bugs.webkit.org/show_bug.cgi?id=101382
38222        <rdar://problem/9866766>
38223
38224        Reviewed by Alexey Proskuryakov.
38225
38226        In the interests of keeping PDF processing inside the WebProcess, we should
38227        remove print preview's reliance on PDFs, by handing bitmaps back instead.
38228
38229        * Shared/ShareableBitmap.cpp:
38230        (WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
38231        ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
38232        (WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
38233        read-only handles if desired. Defaults to read-write as previously.
38234        * Shared/ShareableBitmap.h:
38235        * UIProcess/API/mac/WKPrintingView.h:
38236        (WebImage): Store WebImages instead of raw PDF data for previews.
38237        * UIProcess/API/mac/WKPrintingView.mm:
38238        (pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
38239        Cache the image in _pagePreviews if appropriate.
38240        (pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
38241        (-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
38242        * UIProcess/GenericCallback.h:
38243        (ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
38244        I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
38245        * UIProcess/WebPageProxy.cpp:
38246        (WebKit::WebPageProxy::close): Add support for ImageCallback.
38247        (WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
38248        (WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
38249        * UIProcess/WebPageProxy.h:
38250        (WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
38251        * UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
38252        * WebProcess/WebPage/WebPage.cpp:
38253        (WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
38254        Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
38255        or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
38256        * WebProcess/WebPage/WebPage.h:
38257        (WebPage): Rename drawRectToPDF to drawRectToImage.
38258        * WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
38259        * WebProcess/WebPage/mac/WebPageMac.mm:
38260        (WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
38261        because it's more like drawImage than anything else.
38262
382632012-11-08  Simon Hausmann  <simon.hausmann@digia.com>
38264
38265        [Qt] Fix build without WebKit1
38266        https://bugs.webkit.org/show_bug.cgi?id=101583
38267
38268        Reviewed by Tor Arne Vestbø.
38269
38270        WebProcess needs access to the QStyle themeing via the initializeWebKit2Theme() function from
38271        WebKit1. Try to access it depending on whether WebKit1 is built or not, not depending on whether
38272        widgets are available not.
38273
38274        * WebProcess.pro:
38275        * qt/MainQt.cpp:
38276        (WebKit):
38277        (main):
38278
382792012-11-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
38280
38281        [EFL] Unreviewed build fix after r133880.
38282
38283        * UIProcess/API/efl/ewk_context.cpp:
38284        (EwkContext::setAdditionalPluginPath):
38285
382862012-11-08  KwangYong Choi  <ky0.choi@samsung.com>
38287
38288        [EFL][WK2] Add ewk_context_additional_plugin_path_set API
38289        https://bugs.webkit.org/show_bug.cgi?id=101530
38290
38291        Reviewed by Gyuyoung Kim.
38292
38293        Add ewk_context_additional_plugin_path_set() to set additional plugin directory.
38294
38295        * UIProcess/API/efl/ewk_context.cpp:
38296        (EwkContext::setAdditionalPluginPath):
38297        (ewk_context_additional_plugin_path_set):
38298        * UIProcess/API/efl/ewk_context.h:
38299        * UIProcess/API/efl/ewk_context_private.h:
38300        (EwkContext):
38301        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
38302        (TEST_F):
38303
383042012-11-08  Jinwoo Song  <jinwoo7.song@samsung.com>
38305
38306        [EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkInfoProvider
38307        https://bugs.webkit.org/show_bug.cgi?id=101567
38308
38309        Reviewed by Kentaro Hara.
38310
38311        Added explicit keyword in constructors of BatteryProvider, DownloadManagerEfl,
38312        and NetworkInfoProvider in order to avoid implicit type conversion.
38313
38314        * UIProcess/efl/BatteryProvider.h:
38315        (BatteryProvider):
38316        * UIProcess/efl/DownloadManagerEfl.h:
38317        (DownloadManagerEfl):
38318        * UIProcess/efl/NetworkInfoProvider.h:
38319        (NetworkInfoProvider):
38320
383212012-11-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
38322
38323        [EFL][WK2] Use smart pointers in EwkContext more actively
38324        https://bugs.webkit.org/show_bug.cgi?id=101565
38325
38326        Reviewed by Gyuyoung Kim.
38327
38328        Since we're using WebContext instead of WKContext starting r133844 we should
38329        use smart pointers accordingly including PassRefPtr.
38330
38331        * UIProcess/API/efl/ewk_context.cpp:
38332        (EwkContext::EwkContext):
38333        (EwkContext::~EwkContext):
38334        (EwkContext::create):
38335        (EwkContext::cookieManager):
38336        (EwkContext::ensureFaviconDatabase):
38337        (EwkContext::setFaviconDatabaseDirectoryPath):
38338        (EwkContext::addVisitedLink):
38339        (EwkContext::setCacheModel):
38340        (EwkContext::cacheModel):
38341        * UIProcess/API/efl/ewk_context_private.h:
38342        (EwkContext):
38343        (EwkContext::webContext):
38344        * UIProcess/API/efl/ewk_database_manager_private.h:
38345        (Ewk_Database_Manager::create):
38346        * UIProcess/API/efl/ewk_storage_manager_private.h:
38347        (Ewk_Storage_Manager::create):
38348        * UIProcess/efl/DownloadManagerEfl.cpp:
38349        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
38350        * UIProcess/efl/RequestManagerClientEfl.cpp:
38351        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
38352
383532012-11-08  Kangil Han  <kangil.han@samsung.com>
38354
38355        [EFL][MiniBrowser] Add encoding detector option.
38356        https://bugs.webkit.org/show_bug.cgi?id=100931
38357
38358        Reviewed by Gyuyoung Kim.
38359
38360        Add triggering Settings::setUsesEncodingDetector for WK2 UI process.
38361
38362        * WebProcess/WebPage/WebPage.cpp:
38363        (WebKit::WebPage::updatePreferences):
38364
383652012-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
38366
38367        [GTK] WebKitWebView doesn't notify of favicon changes for known favicons but new pages
38368        https://bugs.webkit.org/show_bug.cgi?id=98874
38369
38370        Reviewed by Martin Robinson.
38371
38372        If the page is unknown (not registered in the icon database) but
38373        the icon is known (registered by another page) favicon-ready
38374        signal is not emitted because the icon has already been imported
38375        from the database. The view always asks for the favicon when the
38376        load has been committed, but it's usually too early and the
38377        favicon of the page is still unkown. We can use
38378        didChangeIconForPageURLCallback to know when to ask for the
38379        favicon emitting a favicon-changed signal. The callback
38380        iconDataReadyForPageURLCallback is still useful to process pending
38381        icon requests, but the favicon-ready signal can be removed in
38382        favor of favicon-changed.
38383
38384        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
38385        (_WebKitFaviconDatabasePrivate): Keep a map of page icons that has
38386        been imported to make sure we only emit favicon-changed signal
38387        when the favicon URI has actually changed, because
38388        didChangeIconForPageURLCallback can be called multiple times for
38389        the same favicon URI in some cases.
38390        (webkit_favicon_database_class_init): Remove favicon-ready signal
38391        and add favicon-changed that includes the new favicon URI for the
38392        given page URI.
38393        (didChangeIconForPageURLCallback): Emit favicon-changed signal if
38394        the favicon URI is new or has changed for the given page URI.
38395        (iconDataReadyForPageURLCallback): Process pending icon requests.
38396        (webkitFaviconDatabaseCreate): Add implementation for
38397        didChangeIconForPageURLCallback.
38398        * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
38399        * UIProcess/API/gtk/WebKitWebView.cpp:
38400        (_WebKitWebViewPrivate): Add favicon URI to make sure we only ask for a
38401        new favicon when the favicon URI has changed.
38402        (webkitWebViewUpdateFavicon): Update the favicon and emit
38403        notify::favicon if it has changed.
38404        (gotFaviconCallback): Update the favicon if the request hasn't
38405        been cancelled.
38406        (webkitWebViewRequestFavicon): Ask for the page favicon.
38407        (webkitWebViewUpdateFaviconURI): Updated the favicon URI and
38408        request the page favicon if the favicon URI has changed.
38409        (faviconChangedCallback): Call webkitWebViewUpdateFaviconURI() with
38410        the given favicon URI.
38411        (webkitWebViewWatchForChangesInFavicon): Connect to
38412        WebKitFaviconDatabase::favicon-changed.
38413        (webkitWebViewDisconnectFaviconDatabaseSignalHandlers): Disconnect
38414        WebKitFaviconDatabase::favicon-changed signal.
38415        (webkitWebViewLoadChanged): Call webkitWebViewUpdateFaviconURI()
38416        with the current favicon URI when the load has been committed.
38417        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
38418        (serverCallback):
38419        (testNotInitialized):
38420        (testGetFavicon):
38421        (testGetFaviconURI):
38422        (testWebViewFavicon):
38423        (beforeAll):
38424        * UIProcess/API/gtk/webkit2marshal.list: Add new marshaler.
38425
384262012-11-08  Anders Carlsson  <andersca@apple.com>
38427
38428        Attempt to silence a compiler warning.
38429
38430        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
38431        (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
38432
384332012-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>
38434
38435        Unreviewed, rolling out r133841.
38436        http://trac.webkit.org/changeset/133841
38437        https://bugs.webkit.org/show_bug.cgi?id=101542
38438
38439        Reverted patches were innocent (Requested by shinyak on
38440        #webkit).
38441
38442        * win/WebKit2.def:
38443        * win/WebKit2CFLite.def:
38444
384452012-11-07  Jinwoo Song  <jinwoo7.song@samsung.com>
38446
38447        [EFL][WK2] Make ewk_context use WebContext instead of WKContext
38448        https://bugs.webkit.org/show_bug.cgi?id=101477
38449
38450        Reviewed by Gyuyoung Kim.
38451
38452        Refactor ewk_context to use WebContext as ewk_context is encapsulated in a C++ classes.
38453
38454        * UIProcess/API/efl/EwkViewImpl.cpp:
38455        (EwkViewImpl::EwkViewImpl):
38456        * UIProcess/API/efl/ewk_context.cpp:
38457        (EwkContext::EwkContext):
38458        (EwkContext::~EwkContext):
38459        (EwkContext::create):
38460        (EwkContext::defaultContext):
38461        (EwkContext::cookieManager):
38462        (EwkContext::ensureFaviconDatabase):
38463        (EwkContext::setFaviconDatabaseDirectoryPath):
38464        (EwkContext::addVisitedLink):
38465        (EwkContext::setCacheModel):
38466        (EwkContext::cacheModel):
38467        * UIProcess/API/efl/ewk_context_private.h:
38468        (EwkContext):
38469        (EwkContext::webContext):
38470        * UIProcess/API/efl/ewk_database_manager.cpp:
38471        (Ewk_Database_Manager::Ewk_Database_Manager):
38472        (Ewk_Database_Manager::getDatabaseOrigins):
38473        * UIProcess/API/efl/ewk_database_manager_private.h:
38474        (Ewk_Database_Manager::create):
38475        (Ewk_Database_Manager):
38476        * UIProcess/API/efl/ewk_storage_manager.cpp:
38477        (Ewk_Storage_Manager::Ewk_Storage_Manager):
38478        (Ewk_Storage_Manager::getStorageOrigins):
38479        * UIProcess/API/efl/ewk_storage_manager_private.h:
38480        (Ewk_Storage_Manager::create):
38481        (Ewk_Storage_Manager):
38482        * UIProcess/API/efl/ewk_view.cpp:
38483        (ewk_view_base_add):
38484        * UIProcess/efl/DownloadManagerEfl.cpp:
38485        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
38486        * UIProcess/efl/RequestManagerClientEfl.cpp:
38487        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
38488
384892012-11-07  Shinya Kawanaka  <shinyak@chromium.org>
38490
38491        Unreviewed, rolling out r133428 and r133749
38492        https://bugs.webkit.org/show_bug.cgi?id=101533
38493
38494        These patches might cause memory regression.
38495
38496        * win/WebKit2.def:
38497        * win/WebKit2CFLite.def:
38498
384992012-11-07  Anders Carlsson  <andersca@apple.com>
38500
38501        Add RemoteGraphicsLayer class
38502        https://bugs.webkit.org/show_bug.cgi?id=101535
38503
38504        Reviewed by Simon Fraser.
38505
38506        * WebKit2.xcodeproj/project.pbxproj:
38507        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
38508        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
38509        Add RemoteGraphicsLayer, a subclass of WebCore::GraphicsLayer.
38510
38511        * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
38512        Make RemoteLayerTreeController a GraphicsLayerFactory.
38513
38514        * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
38515        (WebKit::RemoteLayerTreeController::createGraphicsLayer):
38516        Create a new RemoteGraphicsLayer.
38517
38518        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
38519        (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
38520        Return the layer tree controller.
38521
385222012-11-07  Byungwoo Lee  <bw80.lee@samsung.com>
38523
38524        [WK2] Make WebVibrationProxy to be a member of WebPageProxy.
38525        https://bugs.webkit.org/show_bug.cgi?id=100334
38526
38527        Reviewed by Anders Carlsson.
38528
38529        WebVibrationProxy should be a member of WebPageProxy, because the IPC
38530        messages of WebVibrationProxy have page destination ID.
38531
38532        The r132386 proposed a way to add/delete message receivers that can
38533        handle IPC messages with destination ID.
38534
38535        Previous implementation that creating WebVibrationProxy as a WebContext
38536        member and using the global message receiver for the proxy can make
38537        assertions after r132386.
38538
38539        To handle the vibration IPC messages properly, this patch will do the
38540        followings.
38541
38542        1) Instead of WebContext, WebPageProxy will have the WebVibrationProxy.
38543
38544        2) WebVibrationProxy will add itself to the message receiver map of
38545           the WebContext with page destination ID.
38546
38547        3) When WebProcessProxy received vibration ipc messages, it will
38548           forward the messages to the WebContext first. Then the message
38549           receiver map of the WebContext will handle the messages with the
38550           registered WebVibrationProxy.
38551
38552        4) APIs will be modified to apply these changes.
38553           a) WK API to get WKVibrationRef will use WKPageRef not WKContextRef.
38554           b) EFL APIs and API test for the vibration will also be changed.
38555              - EwkViewImpl will have vibration client. (EwkContext will not
38556                have it)
38557              - Previous API to register the vibration callback will be removed.
38558              - New signals for vibration will be added to the EwkViewImpl.
38559              - VibrationProxy will be renamed to VibrationClient for the
38560                consistency with other clients in EwkViewImpl.
38561              - VibrationClient will use EwkViewImpl instead of EwkContext.
38562              - Previous API test for vibration will be moved from context test
38563                to view test, and it will use the changed API.
38564
38565        * PlatformEfl.cmake:
38566        * UIProcess/API/C/WKContext.cpp:
38567        * UIProcess/API/C/WKContext.h:
38568        * UIProcess/API/C/WKPage.cpp:
38569        (WKPageGetVibration):
38570        * UIProcess/API/C/WKPage.h:
38571        * UIProcess/API/efl/EwkViewCallbacks.h:
38572        (EwkViewCallbacks):
38573        * UIProcess/API/efl/EwkViewImpl.cpp:
38574        (EwkViewImpl::EwkViewImpl):
38575        * UIProcess/API/efl/EwkViewImpl.h:
38576        (WebKit):
38577        (EwkViewImpl):
38578        * UIProcess/API/efl/ewk_context.cpp:
38579        (EwkContext::EwkContext):
38580        * UIProcess/API/efl/ewk_context.h:
38581        * UIProcess/API/efl/ewk_context_private.h:
38582        (WebKit):
38583        (EwkContext):
38584        * UIProcess/API/efl/ewk_view.h:
38585        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
38586        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
38587        (VibrationCbData):
38588        (onVibrate):
38589        (onCancelVibration):
38590        (loadVibrationHTMLString):
38591        (TEST_F):
38592        * UIProcess/WebContext.cpp:
38593        (WebKit::WebContext::WebContext):
38594        (WebKit::WebContext::~WebContext):
38595        (WebKit::WebContext::disconnectProcess):
38596        * UIProcess/WebContext.h:
38597        (WebKit):
38598        (WebContext):
38599        * UIProcess/WebPageProxy.cpp:
38600        (WebKit::WebPageProxy::WebPageProxy):
38601        (WebKit::WebPageProxy::close):
38602        (WebKit::WebPageProxy::processDidCrash):
38603        * UIProcess/WebPageProxy.h:
38604        (WebKit):
38605        (WebPageProxy):
38606        (WebKit::WebPageProxy::vibration):
38607        * UIProcess/WebVibrationProxy.cpp:
38608        (WebKit::WebVibrationProxy::create):
38609        (WebKit::WebVibrationProxy::WebVibrationProxy):
38610        (WebKit::WebVibrationProxy::~WebVibrationProxy):
38611        (WebKit::WebVibrationProxy::invalidate):
38612        * UIProcess/WebVibrationProxy.h:
38613        (WebKit):
38614        (WebVibrationProxy):
38615        * UIProcess/efl/VibrationClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.cpp.
38616        (toVibrationClient):
38617        (VibrationClientEfl::vibrateCallback):
38618        (VibrationClientEfl::cancelVibrationCallback):
38619        (VibrationClientEfl::create):
38620        (VibrationClientEfl::VibrationClientEfl):
38621        (VibrationClientEfl::~VibrationClientEfl):
38622        * UIProcess/efl/VibrationClientEfl.h: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.h.
38623        (WebKit):
38624        (VibrationClientEfl):
38625
386262012-11-07  Anders Carlsson  <andersca@apple.com>
38627
38628        Add empty RemoteLayerTree class
38629        https://bugs.webkit.org/show_bug.cgi?id=101524
38630
38631        Reviewed by Simon Fraser.
38632
38633        Add a new RemoteLayerTree class which will contain the remote graphics layers.
38634
38635        * WebKit2.xcodeproj/project.pbxproj:
38636        * WebProcess/WebPage/mac/RemoteLayerTree.h: Added.
38637        * WebProcess/WebPage/mac/RemoteLayerTree.mm: Added.
38638        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
38639        (RemoteLayerTreeDrawingArea):
38640        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
38641        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
38642
386432012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
38644
38645        [EFL][WK2] Allow client to override setWindowFrame() / getWindowFrame()
38646        https://bugs.webkit.org/show_bug.cgi?id=101496
38647
38648        Reviewed by Kenneth Rohde Christiansen.
38649
38650        Add window_geometry_set() / window_geometry_get() smart functions to
38651        ewk_view allowing the client to provide its own implementation for
38652        those.
38653
38654        This is particularly useful if the application uses elm_win because
38655        the default implementation will not behave correctly in this case.
38656        This is due to the fact that the default implementation interacts
38657        with the Ecore_Evas that contains the view and is not aware of the
38658        parent window widget.
38659
38660        * UIProcess/API/efl/EwkViewImpl.cpp:
38661        (EwkViewImpl::windowGeometry):
38662        (EwkViewImpl::setWindowGeometry):
38663        * UIProcess/API/efl/EwkViewImpl.h:
38664        (EwkViewImpl):
38665        * UIProcess/API/efl/ewk_view.h:
38666        * UIProcess/efl/PageUIClientEfl.cpp:
38667        (WebKit::PageUIClientEfl::getWindowFrame):
38668        (WebKit::PageUIClientEfl::setWindowFrame):
38669
386702012-11-07  Alexandru Chiculita  <achicu@adobe.com>
38671
38672        CoordinatedGraphicsArgumentCoders should use ValidatedCustomFitlerOperation instead
38673        https://bugs.webkit.org/show_bug.cgi?id=100905
38674
38675        Reviewed by Noam Rosenthal.
38676
38677        The code now knows how to read a ValidatedCustomFitlerOperation and serialize it to the UI process.
38678
38679        No new tests, the code path is not used yet.
38680
38681        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
38682        (CoreIPC::::encode):
38683        (CoreIPC::::decode):
38684        * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
38685
386862012-11-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
38687
38688        [EFL][WK2] Add ewk_settings_preferred_minimum_contents_width_get/set API
38689        https://bugs.webkit.org/show_bug.cgi?id=101467
38690
38691        Reviewed by Kenneth Rohde Christiansen.
38692
38693        Added ewk_settings_preferred_minimum_contents_width_get/set API which is used for setting/getting
38694        of default minimum contents width for non viewport meta element sites.
38695
38696        * UIProcess/API/efl/ewk_settings.cpp:
38697        (ewk_settings_preferred_minimum_contents_width_set):
38698        (ewk_settings_preferred_minimum_contents_width_get):
38699        * UIProcess/API/efl/ewk_settings.h:
38700        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
38701        (TEST_F):
38702
387032012-11-07  Yael Aharon  <yael.aharon@intel.com>
38704
38705        [EFL][WK2][AC] Avoid creating an empty surface
38706        https://bugs.webkit.org/show_bug.cgi?id=101464
38707
38708        Reviewed by Kenneth Rohde Christiansen.
38709
38710        Make sure we have a valid view size before creating a GL surface.
38711
38712        * UIProcess/API/efl/ewk_view.cpp:
38713        (_ewk_view_smart_calculate):
38714
387152012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
38716
38717        [WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
38718        https://bugs.webkit.org/show_bug.cgi?id=101446
38719
38720        Reviewed by Kenneth Rohde Christiansen.
38721
38722        Make sure that the disposition of the SIGCHLD signal is reset to the default
38723        before calling g_spawn_sync(). If the disposition is set to SIG_IGN, then
38724        g_spawn_sync() will not be able to return the exit status of the child
38725        process, our exit failure check will be useless and the following warning
38726        will be printed:
38727
38728        GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process
38729        was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received
38730        by waitpid(), so exit status can't be returned. This is a bug in the
38731        program calling g_spawn_sync(); either don't request the exit status, or
38732        don't set the SIGCHLD action.
38733
38734        This patch also adds a NULL-check for stdOut to avoid crashing in such
38735        case and makes use of String::split() to parse stdOut instead of doing it
38736        manually.
38737
38738        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
38739        (WebKit::PluginProcessProxy::scanPlugin):
38740
387412012-11-07  Shinya Kawanaka  <shinyak@chromium.org>
38742
38743        [Shadow] Use setPseudo() instead of setShadowPseudoId().
38744        https://bugs.webkit.org/show_bug.cgi?id=101306
38745
38746        Reviewed by Kent Tamura.
38747
38748        Exposes necessary symbols.
38749
38750        * win/WebKit2.def:
38751        * win/WebKit2CFLite.def:
38752
387532012-11-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
38754
38755        [EFL][WK2] Make EWK classes Ewk_Objects
38756        https://bugs.webkit.org/show_bug.cgi?id=101057
38757
38758        Reviewed by Kenneth Rohde Christiansen.
38759
38760        Now all the existing EWK classes share common Ewk_Object ref/unref API.
38761
38762        * UIProcess/API/efl/EwkViewCallbacks.h:
38763        * UIProcess/API/efl/EwkViewImpl.h:
38764        (EwkViewImpl):
38765        * UIProcess/API/efl/ewk_database_manager.cpp:
38766        (Ewk_Database_Manager::createOriginList):
38767        * UIProcess/API/efl/ewk_database_manager_private.h:
38768        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
38769        (EwkFileChooserRequest::EwkFileChooserRequest):
38770        (EwkFileChooserRequest::~EwkFileChooserRequest):
38771        (EwkFileChooserRequest::allowMultipleFiles):
38772        (EwkFileChooserRequest::acceptedMIMETypes):
38773        (EwkFileChooserRequest::cancel):
38774        (EwkFileChooserRequest::chooseFiles):
38775        (ewk_file_chooser_request_allow_multiple_files_get):
38776        (ewk_file_chooser_request_accepted_mimetypes_get):
38777        (ewk_file_chooser_request_cancel):
38778        (ewk_file_chooser_request_files_choose):
38779        (ewk_file_chooser_request_file_choose):
38780        * UIProcess/API/efl/ewk_file_chooser_request.h:
38781        * UIProcess/API/efl/ewk_file_chooser_request_private.h:
38782        (EwkFileChooserRequest):
38783        (EwkFileChooserRequest::create):
38784        * UIProcess/API/efl/ewk_form_submission_request.cpp:
38785        (EwkFormSubmissionRequest::EwkFormSubmissionRequest):
38786        (EwkFormSubmissionRequest::~EwkFormSubmissionRequest):
38787        (EwkFormSubmissionRequest::fieldValue):
38788        (EwkFormSubmissionRequest::fieldNames):
38789        (EwkFormSubmissionRequest::submit):
38790        (ewk_form_submission_request_field_names_get):
38791        (ewk_form_submission_request_field_value_get):
38792        (ewk_form_submission_request_submit):
38793        * UIProcess/API/efl/ewk_form_submission_request.h:
38794        * UIProcess/API/efl/ewk_form_submission_request_private.h:
38795        (EwkFormSubmissionRequest):
38796        (EwkFormSubmissionRequest::create):
38797        * UIProcess/API/efl/ewk_intent.cpp:
38798        (EwkIntent::EwkIntent):
38799        (EwkIntent::webIntentData):
38800        (EwkIntent::action):
38801        (EwkIntent::type):
38802        (EwkIntent::service):
38803        (EwkIntent::suggestions):
38804        (EwkIntent::extra):
38805        (EwkIntent::extraKeys):
38806        (ewk_intent_action_get):
38807        (ewk_intent_type_get):
38808        (ewk_intent_service_get):
38809        (ewk_intent_suggestions_get):
38810        (ewk_intent_extra_get):
38811        (ewk_intent_extra_names_get):
38812        * UIProcess/API/efl/ewk_intent.h:
38813        * UIProcess/API/efl/ewk_intent_private.h:
38814        (EwkIntent):
38815        (EwkIntent::create):
38816        * UIProcess/API/efl/ewk_intent_service.cpp:
38817        (EwkIntentService::EwkIntentService):
38818        (EwkIntentService::action):
38819        (EwkIntentService::type):
38820        (EwkIntentService::href):
38821        (EwkIntentService::title):
38822        (EwkIntentService::disposition):
38823        (ewk_intent_service_action_get):
38824        (ewk_intent_service_type_get):
38825        (ewk_intent_service_href_get):
38826        (ewk_intent_service_title_get):
38827        (ewk_intent_service_disposition_get):
38828        * UIProcess/API/efl/ewk_intent_service.h:
38829        * UIProcess/API/efl/ewk_intent_service_private.h:
38830        (EwkIntentService):
38831        (EwkIntentService::create):
38832        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
38833        (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
38834        (EwkNavigationPolicyDecision::~EwkNavigationPolicyDecision):
38835        (EwkNavigationPolicyDecision::navigationType):
38836        (EwkNavigationPolicyDecision::mouseButton):
38837        (EwkNavigationPolicyDecision::modifiers):
38838        (EwkNavigationPolicyDecision::frameName):
38839        (EwkNavigationPolicyDecision::request):
38840        (EwkNavigationPolicyDecision::accept):
38841        (EwkNavigationPolicyDecision::reject):
38842        (EwkNavigationPolicyDecision::download):
38843        (ewk_navigation_policy_navigation_type_get):
38844        (ewk_navigation_policy_mouse_button_get):
38845        (ewk_navigation_policy_modifiers_get):
38846        (ewk_navigation_policy_frame_name_get):
38847        (ewk_navigation_policy_request_get):
38848        (ewk_navigation_policy_decision_accept):
38849        (ewk_navigation_policy_decision_reject):
38850        (ewk_navigation_policy_decision_download):
38851        * UIProcess/API/efl/ewk_navigation_policy_decision.h:
38852        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
38853        (EwkNavigationPolicyDecision):
38854        (EwkNavigationPolicyDecision::create):
38855        * UIProcess/API/efl/ewk_resource.cpp:
38856        (EwkResource::EwkResource):
38857        (EwkResource::url):
38858        (EwkResource::isMainResource):
38859        (ewk_resource_url_get):
38860        (ewk_resource_main_resource_get):
38861        * UIProcess/API/efl/ewk_resource.h:
38862        * UIProcess/API/efl/ewk_resource_private.h:
38863        (EwkResource):
38864        (EwkResource::create):
38865        * UIProcess/API/efl/ewk_security_origin.cpp:
38866        (EwkSecurityOrigin::EwkSecurityOrigin):
38867        (EwkSecurityOrigin::host):
38868        (EwkSecurityOrigin::protocol):
38869        (EwkSecurityOrigin::port):
38870        (ewk_security_origin_host_get):
38871        (ewk_security_origin_protocol_get):
38872        (ewk_security_origin_port_get):
38873        * UIProcess/API/efl/ewk_security_origin.h:
38874        * UIProcess/API/efl/ewk_security_origin_private.h:
38875        (EwkSecurityOrigin):
38876        (EwkSecurityOrigin::create):
38877        * UIProcess/API/efl/ewk_storage_manager.cpp:
38878        (Ewk_Storage_Manager::createOriginList):
38879        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
38880        (EwkUrlSchemeRequest):
38881        * UIProcess/API/efl/ewk_view.cpp:
38882        (ewk_view_intent_deliver):
38883        * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
38884        (onFileChooserRequest):
38885        (TEST_F):
38886        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
38887        (TEST_F):
38888        * UIProcess/efl/FormClientEfl.cpp:
38889        (WebKit::FormClientEfl::willSubmitForm):
38890        * UIProcess/efl/PageLoadClientEfl.cpp:
38891        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
38892        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
38893        * UIProcess/efl/PagePolicyClientEfl.cpp:
38894        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
38895        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
38896        * UIProcess/efl/PageUIClientEfl.cpp:
38897        (WebKit::PageUIClientEfl::runOpenPanel):
38898        * UIProcess/efl/ResourceLoadClientEfl.cpp:
38899        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
38900        * UIProcess/efl/ResourceLoadClientEfl.h:
38901
389022012-11-07  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
38903
38904        [WK2] Return earlier if a plugin snapshot cannot be created.
38905        https://bugs.webkit.org/show_bug.cgi?id=101445
38906
38907        Reviewed by Kenneth Rohde Christiansen.
38908
38909        Currently only the Mac port has support for creating snapshots of
38910        Netscape plugins. Return earlier in PluginProxy::snapshot() so
38911        that we do not pass a null handler to ShareableBitmap::create()
38912        and avoid crashing when running pixel tests with plugins.
38913
38914        * WebProcess/Plugins/PluginProxy.cpp:
38915        (WebKit::PluginProxy::snapshot):
38916
389172012-11-07  Kangil Han  <kangil.han@samsung.com>
38918
38919        [EFL][WK2] Change encoding detector API names
38920        https://bugs.webkit.org/show_bug.cgi?id=101450
38921
38922        Reviewed by Gyuyoung Kim.
38923
38924        To make settings API name consistent, we need to change two APIs with respect to encoding detector.
38925
38926        * UIProcess/API/efl/ewk_settings.cpp:
38927        (ewk_settings_encoding_detector_enabled_set):
38928        (ewk_settings_encoding_detector_enabled_get):
38929        * UIProcess/API/efl/ewk_settings.h:
38930        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
38931        (TEST_F):
38932
389332012-11-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
38934
38935        WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
38936        https://bugs.webkit.org/show_bug.cgi?id=93611
38937
38938        Reviewed by Gyuyoung Kim.
38939
38940        When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
38941        it happens that the WebProcess is still not launched (although it is already created).
38942        In this case, isValid() method returns false.
38943
38944        This fix sends a message to the WebProcess messages queue, and the message
38945        will be handled once the WebProcess is ready.
38946
38947        * Target.pri:
38948        Adds missing files to compile spellcheking feature for WebKit2-Qt
38949        to use WebKit C API from WKTextChecker.h.
38950
38951        * UIProcess/WebProcessProxy.cpp:
38952        (WebKit::WebProcessProxy::updateTextCheckerState):
38953        Uses canSendMessage() method instead of isValid() to check whether the message to
38954        the WebProcess can be sent.
38955
38956        * UIProcess/efl/TextCheckerEfl.cpp:
38957        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
38958        Calls TextChecker::setContinuousSpellCheckingEnabled which additionaly invokes the client's method.
38959        WK2-EFL settings for text checker (ewk_settings.cpp) set the default language (if it wasn't set earlier) to
38960        perform the spelling. It allows to pass the tests from editing/spelling directory.
38961
389622012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
38963
38964        Add replaceWithLiteral() method to WTF::String
38965        https://bugs.webkit.org/show_bug.cgi?id=101257
38966
38967        Reviewed by Benjamin Poulain.
38968
38969        Substitute String::replace() calls by String::replaceWithLiteral() where
38970        adequate, for efficiency.
38971
38972        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
38973        (WebKit::makeURLString):
38974
389752012-11-06  Vivek Galatage  <vivekgalatage@gmail.com>
38976
38977        Move DrawingAreaImpl methods graphicsLayerFactory, setRootCompositingLayer & scheduleCompositingLayerSync under ACCELERATED_COMPOSITING
38978        https://bugs.webkit.org/show_bug.cgi?id=101427
38979
38980        Reviewed by Anders Carlsson.
38981
38982        Moving these methods under the ACCELERATED_COMPOSITING flag.
38983        This fixes broken wincairo due to use of override specifier.
38984
38985        * WebProcess/WebPage/DrawingAreaImpl.cpp:
38986        (WebKit):
38987        * WebProcess/WebPage/DrawingAreaImpl.h:
38988        (DrawingAreaImpl):
38989
389902012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
38991
38992        [EFL][WK2] API test crash with accelerated compositing on.
38993        https://bugs.webkit.org/show_bug.cgi?id=101384
38994
38995        Reviewed by Gyuyoung Kim.
38996
38997        If accelerated compositing is enabled API tests should create GL evas engine
38998        instead of default one.
38999        Also, in API tests first window resize and display often comes earlier
39000        than enterAcceleratedCompositingMode call, so let's create GL surface in
39001        _ewk_view_smart_calculate on first window resize.
39002
39003        * UIProcess/API/efl/ewk_view.cpp:
39004        (_ewk_view_smart_calculate):
39005        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
39006        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
39007
390082012-11-06  Anders Carlsson  <andersca@apple.com>
39009
39010        Update Java related WKSI function names
39011        https://bugs.webkit.org/show_bug.cgi?id=101414
39012
39013        Reviewed by Sam Weinig.
39014
39015        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
39016        (WebKit::PluginInfoStore::shouldUsePlugin):
39017        (WebKit::PluginInfoStore::policyForPlugin):
39018        (WebKit::PluginInfoStore::reactivateInactivePlugin):
39019
390202012-11-06  Kiran Muppala  <cmuppala@apple.com>
39021
39022        Add application occlusion criterion to enable/disable process suppression on Mac
39023        https://bugs.webkit.org/show_bug.cgi?id=100997
39024
39025        Reviewed by Alexey Proskuryakov.
39026
39027        Provide support for enabling and disabling process suppression when application is completely occluded on Mac.
39028
39029        * NetworkProcess/NetworkProcess.messages.in: Added message to update application occlusion status.
39030        * NetworkProcess/mac/NetworkProcessMainMac.mm:
39031        (WebKit::NetworkProcessMain): Removed call to take process suppression assertion since ChildProcess
39032        takes one on constrution.
39033        * PluginProcess/PluginProcess.messages.in: Added message to update application occlusion status.
39034        * PluginProcess/mac/PluginProcessMainMac.mm:
39035        (WebKit::PluginProcessMain): Removed call to take process suppression assertion since ChildProcess
39036        takes one on construction.
39037        * Shared/ChildProcess.cpp:
39038        (WebKit::ChildProcess::ChildProcess): Take process suppression assertion on construction.
39039        * Shared/ChildProcess.h:
39040        (WebKit::ChildProcess::applicationIsOccluded):
39041        * Shared/mac/ChildProcessMac.mm: Added.
39042        (WebKit::ChildProcess::setApplicationIsOccluded): Release process suppression assertion if application
39043        becomes occluded or take a new assertion if application becomes visible.
39044        (WebKit::ChildProcess::disableProcessSuppression):
39045        (WebKit::ChildProcess::enableProcessSuppression):
39046        Helper methods to take and release process suppression assertion.
39047        * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added message to update application occlusion status.
39048        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
39049        (WebKit::SharedWorkerProcessMain): Removed call to take process suppression assertion since ChildProcess
39050        takes one on construction.
39051        * UIProcess/Network/NetworkProcessManager.h:
39052        * UIProcess/Network/NetworkProcessProxy.cpp:
39053        (WebKit::NetworkProcessProxy::didFinishLaunching): Update application occlusion status post launch.
39054        * UIProcess/Network/NetworkProcessProxy.h:
39055        (WebKit::NetworkProcessProxy::isValid):
39056        * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Added.
39057        (WebKit::NetworkProcessManager::setApplicationIsOccluded):
39058        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
39059        (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
39060        * UIProcess/Plugins/PluginProcessManager.h:
39061        * UIProcess/Plugins/PluginProcessProxy.cpp:
39062        (WebKit::PluginProcessProxy::didFinishLaunching): Update application occlusion status post launch.
39063        * UIProcess/Plugins/PluginProcessProxy.h:
39064        (WebKit::PluginProcessProxy::isValid):
39065        * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: Added.
39066        (WebKit::PluginProcessManager::setApplicationIsOccluded):
39067        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
39068        (WebKit::PluginProcessProxy::setApplicationIsOccluded):
39069        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
39070        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
39071        (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Update application occlusion status post launch.
39072        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
39073        (WebKit::SharedWorkerProcessProxy::isValid):
39074        * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm: Added.
39075        (WebKit::SharedWorkerProcessManager::setApplicationIsOccluded):
39076        * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm: Added.
39077        (WebKit::SharedWorkerProcessProxy::setApplicationIsOccluded):
39078        * UIProcess/WebContext.cpp:
39079        (WebKit::WebContext::create): Added call to initialize process suppression support.
39080        * UIProcess/WebContext.h:
39081        (WebKit::WebContext::applicationIsOccluded):
39082        * UIProcess/WebProcessProxy.cpp:
39083        (WebKit::WebProcessProxy::didFinishLaunching): Update application occlusion status post launch.
39084        * UIProcess/mac/WebContextMac.mm:
39085        (WebKit::WebContext::applicationBecameVisible):
39086        (WebKit::WebContext::applicationBecameOccluded):
39087        Notification handlers for informing non UI WebKit2 processes of changes to application occlusion state.
39088        (WebKit::WebContext::registerOcclusionNotificationHandlers):
39089        (WebKit::WebContext::initializeProcessSuppressionSupport):
39090        Helper method to register occlusion notification handlers if process suppression support is enabled.
39091        * WebKit2.xcodeproj/project.pbxproj:
39092        * WebProcess/WebProcess.messages.in: Added message to update application occlusion status.
39093        * WebProcess/mac/WebProcessInitialization.mm:
39094        (WebKit::InitializeWebProcess): Removed call to take process supression assertion since ChildProcess
39095        takes one on construction.
39096
390972012-11-06  Alexey Proskuryakov  <ap@apple.com>
39098
39099        Clean up which storage cookie jar functions use
39100        https://bugs.webkit.org/show_bug.cgi?id=101395
39101
39102        Reviewed by Brady Eidson.
39103
39104        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
39105        Updated for two new functions.
39106
391072012-11-06  Jihye Kang  <jye.kang@samsung.com>
39108
39109        [EFL][WK2] Add ewk_database_manager APIs
39110        https://bugs.webkit.org/show_bug.cgi?id=101193
39111
39112        Reviewed by Gyuyoung Kim.
39113
39114        Add ewk_database_manager to manage web database and
39115        ewk_database_manaager_origins_get to get origins list of web storage.
39116        Add unit tests for ewk_database_manager APIs.
39117
39118        * PlatformEfl.cmake:
39119        * UIProcess/API/efl/ewk_context.cpp:
39120        (Ewk_Context::Ewk_Context):
39121        (Ewk_Context::databaseManager):
39122        (ewk_context_database_manager_get):
39123        * UIProcess/API/efl/ewk_context.h:
39124        * UIProcess/API/efl/ewk_context_private.h:
39125        (Ewk_Context):
39126        * UIProcess/API/efl/ewk_database_manager.cpp: Added.
39127        (Ewk_Database_Manager::Ewk_Database_Manager):
39128        (Ewk_Database_Manager::getDatabaseOrigins):
39129        (Ewk_Database_Manager::createOriginList):
39130        (Ewk_Database_Origins_Async_Get_Context):
39131        (Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
39132        (getDatabaseOriginsCallback):
39133        (ewk_database_manager_origins_get):
39134        * UIProcess/API/efl/ewk_database_manager.h: Added.
39135        * UIProcess/API/efl/ewk_database_manager_private.h: Added.
39136        (Ewk_Database_Manager):
39137        (Ewk_Database_Manager::create):
39138        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
39139        (TEST_F):
39140        * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
39141        (OriginData):
39142        (OriginData::OriginData):
39143        (getDatabaseOriginsCallback):
39144        (timerCallback):
39145        (TEST_F):
39146
391472012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
39148
39149        [EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects
39150        https://bugs.webkit.org/show_bug.cgi?id=101383
39151
39152        Reviewed by Kenneth Rohde Christiansen.
39153
39154        Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job are Ewk_Objects now.
39155
39156        * UIProcess/API/efl/EwkViewCallbacks.h:
39157        * UIProcess/API/efl/EwkViewImpl.h:
39158        * UIProcess/API/efl/ewk_auth_request.cpp:
39159        (EwkAuthRequest::EwkAuthRequest):
39160        (EwkAuthRequest::~EwkAuthRequest):
39161        (EwkAuthRequest::suggestedUsername):
39162        (EwkAuthRequest::realm):
39163        (EwkAuthRequest::host):
39164        (EwkAuthRequest::continueWithoutCredential):
39165        (EwkAuthRequest::authenticate):
39166        (EwkAuthRequest::isRetrying):
39167        (ewk_auth_request_suggested_username_get):
39168        (ewk_auth_request_cancel):
39169        (ewk_auth_request_authenticate):
39170        (ewk_auth_request_retrying_get):
39171        (ewk_auth_request_realm_get):
39172        (ewk_auth_request_host_get):
39173        * UIProcess/API/efl/ewk_auth_request.h:
39174        * UIProcess/API/efl/ewk_auth_request_private.h:
39175        (EwkAuthRequest):
39176        (EwkAuthRequest::create):
39177        * UIProcess/API/efl/ewk_back_forward_list.h:
39178        * UIProcess/API/efl/ewk_context_private.h:
39179        (EwkContext):
39180        * UIProcess/API/efl/ewk_download_job.cpp:
39181        (EwkDownloadJob::EwkDownloadJob):
39182        (EwkDownloadJob::id):
39183        (EwkDownloadJob::viewImpl):
39184        (ewk_download_job_state_get):
39185        (EwkDownloadJob::state):
39186        (ewk_download_job_request_get):
39187        (EwkDownloadJob::request):
39188        (ewk_download_job_response_get):
39189        (EwkDownloadJob::response):
39190        (ewk_download_job_destination_get):
39191        (EwkDownloadJob::destination):
39192        (ewk_download_job_destination_set):
39193        (EwkDownloadJob::setDestination):
39194        (ewk_download_job_suggested_filename_get):
39195        (EwkDownloadJob::suggestedFileName):
39196        (ewk_download_job_cancel):
39197        (EwkDownloadJob::cancel):
39198        (ewk_download_job_estimated_progress_get):
39199        (EwkDownloadJob::estimatedProgress):
39200        (ewk_download_job_elapsed_time_get):
39201        (EwkDownloadJob::elapsedTime):
39202        (EwkDownloadJob::setResponse):
39203        (EwkDownloadJob::setSuggestedFileName):
39204        (EwkDownloadJob::incrementReceivedData):
39205        (EwkDownloadJob::setState):
39206        * UIProcess/API/efl/ewk_download_job.h:
39207        * UIProcess/API/efl/ewk_download_job_private.h:
39208        (EwkDownloadJob):
39209        (EwkDownloadJob::create):
39210        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
39211        (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
39212        (EwkUrlSchemeRequest::id):
39213        (EwkUrlSchemeRequest::url):
39214        (EwkUrlSchemeRequest::scheme):
39215        (EwkUrlSchemeRequest::path):
39216        (EwkUrlSchemeRequest::finish):
39217        (ewk_url_scheme_request_scheme_get):
39218        (ewk_url_scheme_request_url_get):
39219        (ewk_url_scheme_request_path_get):
39220        (ewk_url_scheme_request_finish):
39221        * UIProcess/API/efl/ewk_url_scheme_request.h:
39222        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
39223        (EwkUrlSchemeRequest):
39224        (EwkUrlSchemeRequest::create):
39225        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
39226        (onAuthenticationRequest):
39227        (TEST_F):
39228        * UIProcess/efl/DownloadManagerEfl.cpp:
39229        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
39230        (WebKit::DownloadManagerEfl::didReceiveResponse):
39231        (WebKit::DownloadManagerEfl::didCreateDestination):
39232        (WebKit::DownloadManagerEfl::didReceiveData):
39233        (WebKit::DownloadManagerEfl::didFail):
39234        (WebKit::DownloadManagerEfl::didCancel):
39235        (WebKit::DownloadManagerEfl::didFinish):
39236        (WebKit::DownloadManagerEfl::registerDownload):
39237        (WebKit::DownloadManagerEfl::downloadJob):
39238        * UIProcess/efl/DownloadManagerEfl.h:
39239        (DownloadManagerEfl):
39240        * UIProcess/efl/PageLoadClientEfl.cpp:
39241        (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
39242        * UIProcess/efl/RequestManagerClientEfl.cpp:
39243        (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
39244
392452012-11-06  Yael Aharon  <yael.aharon@intel.com>
39246
39247        [WK2] Wrong scroll position when going back in history
39248        https://bugs.webkit.org/show_bug.cgi?id=101358
39249
39250        Reviewed by Kenneth Rohde Christiansen.
39251
39252        Reset the contentsSize after a new load was committed. We should not continue
39253        to use the contentsSize of the previous page in any calculation.
39254
39255        * UIProcess/PageViewportController.cpp:
39256        (WebKit::PageViewportController::didCommitLoad):
39257
392582012-11-06  Christophe Dumez  <christophe.dumez@intel.com>
39259
39260        [EFL][WK2] Declare all smart callbacks in EwkViewCallbacks.h
39261        https://bugs.webkit.org/show_bug.cgi?id=101360
39262
39263        Reviewed by Kenneth Rohde Christiansen.
39264
39265        Declare all EwkView smart callbacks in EwkViewCallbacks.h
39266        and remove remaining calls to evas_object_smart_callback_call().
39267        It is a good idea to have all the callbacks declared in one
39268        place for convenience and consistency. We also have better
39269        argument type checking if we use the new callback mechanism.
39270
39271        * UIProcess/API/efl/EwkViewCallbacks.h:
39272        (EwkViewCallbacks::CallBack::call):
39273        (CallBack):
39274        (EwkViewCallbacks):
39275        * UIProcess/API/efl/EwkViewImpl.cpp:
39276        (EwkViewImpl::informIconChange):
39277        (EwkViewImpl::informURLChange):
39278        (EwkViewImpl::createNewPage):
39279        (EwkViewImpl::closePage):
39280
392812012-11-05  Anders Carlsson  <andersca@apple.com>
39282
39283        Hook up the remote layer tree drawing area to an environment variable
39284        https://bugs.webkit.org/show_bug.cgi?id=101267
39285
39286        Reviewed by Andreas Kling.
39287
39288        * UIProcess/API/mac/WKView.mm:
39289        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
39290        (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
39291        (WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
39292
392932012-11-06  Andras Becsi  <andras.becsi@digia.com>
39294
39295        [Qt][WK2] Fit-to-width broken on pages with viewport meta tag
39296        https://bugs.webkit.org/show_bug.cgi?id=99715
39297
39298        Reviewed by Jocelyn Turcotte.
39299
39300        The initial scale from the viewport attributes should only
39301        be applied if the scale was explicitly specified in the
39302        viewport meta tag.
39303        If the initial scale is auto it should be calculated using
39304        the final contents size, which might be larger than the
39305        layout size, so that the content fits horizontally into
39306        the view.
39307
39308        Also add QML unit tests that cover this functionality.
39309
39310        * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
39311        * UIProcess/API/qt/tests/qmltests/common/test5.html: Added.
39312        * UIProcess/PageViewportController.cpp:
39313        (WebKit::PageViewportController::PageViewportController):
39314        (WebKit::PageViewportController::pageTransitionViewportReady):
39315
393162012-11-06  Huang Dongsung  <luxtella@company100.net>
39317
39318        Coordinated Graphics: Remove a parent member in WebLayerInfo.
39319        https://bugs.webkit.org/show_bug.cgi?id=101142
39320
39321        Reviewed by Noam Rosenthal.
39322
39323        The parent member is not used in UI Process, and GraphicsLayer::setParent is
39324        internally used only, so we don't need to send the parent layer id to UI Process.
39325
39326        * Shared/WebLayerTreeInfo.h:
39327        (WebKit::WebLayerInfo::WebLayerInfo):
39328        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
39329        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
39330
393312012-11-06  Huang Dongsung  <luxtella@company100.net>
39332
39333        Coordinated Graphics: Remove two methods' virtual modifiers in CoordinatedGraphicsLayer.
39334        https://bugs.webkit.org/show_bug.cgi?id=101141
39335
39336        Reviewed by Noam Rosenthal.
39337
39338        The methods exist for only CoordinatedGraphicsLayer and we have no plan to
39339        extend CoordinatedGraphicsLayer.
39340
39341        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
39342        (CoordinatedGraphicsLayer):
39343
393442012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
39345
39346        [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
39347        https://bugs.webkit.org/show_bug.cgi?id=101341
39348
39349        Reviewed by Noam Rosenthal.
39350
39351        The queue can be accessed from public API so we should make
39352        sure it is not updated concurrently with a threaded render loop.
39353
39354        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
39355        (WebKit::LayerTreeRenderer::syncRemoteContent):
39356        (WebKit::LayerTreeRenderer::appendUpdate):
39357        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
39358        (LayerTreeRenderer):
39359
393602012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
39361
39362        [EFL][WK2] Make Ewk_Context Ewk_Object
39363        https://bugs.webkit.org/show_bug.cgi?id=101322
39364
39365        Reviewed by Kenneth Rohde Christiansen.
39366
39367        Ewk_Context is Ewk_Object now and using common ref/unref API.
39368
39369        * UIProcess/API/efl/EwkViewImpl.cpp:
39370        (EwkViewImpl::EwkViewImpl):
39371        * UIProcess/API/efl/EwkViewImpl.h:
39372        (EwkViewImpl::ewkContext):
39373        (EwkViewImpl):
39374        * UIProcess/API/efl/ewk_context.cpp:
39375        (EwkContext::EwkContext):
39376        (EwkContext::~EwkContext):
39377        (EwkContext::create):
39378        (EwkContext::defaultContext):
39379        (EwkContext::cookieManager):
39380        (EwkContext::ensureFaviconDatabase):
39381        (EwkContext::setFaviconDatabaseDirectoryPath):
39382        (EwkContext::faviconDatabase):
39383        (EwkContext::storageManager):
39384        (EwkContext::requestManager):
39385        (EwkContext::vibrationProvider):
39386        (EwkContext::addVisitedLink):
39387        (EwkContext::setCacheModel):
39388        (EwkContext::cacheModel):
39389        (ewk_context_cookie_manager_get):
39390        (ewk_context_favicon_database_directory_set):
39391        (ewk_context_favicon_database_get):
39392        (ewk_context_storage_manager_get):
39393        (EwkContext::wkContext):
39394        (EwkContext::downloadManager):
39395        (EwkContext::historyClient):
39396        (ewk_context_default_get):
39397        (ewk_context_new):
39398        (ewk_context_new_with_injected_bundle_path):
39399        (ewk_context_url_scheme_register):
39400        (ewk_context_vibration_client_callbacks_set):
39401        (ewk_context_history_callbacks_set):
39402        (ewk_context_visited_link_add):
39403        (ewk_context_cache_model_set):
39404        (ewk_context_cache_model_get):
39405        * UIProcess/API/efl/ewk_context.h:
39406        * UIProcess/API/efl/ewk_context_private.h:
39407        (EwkContext):
39408        * UIProcess/API/efl/ewk_view.cpp:
39409        (createEwkView):
39410        (ewk_view_base_add):
39411        (ewk_view_smart_add):
39412        (ewk_view_add_with_context):
39413        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
39414        (TEST_F):
39415        * UIProcess/efl/DownloadManagerEfl.cpp:
39416        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
39417        * UIProcess/efl/DownloadManagerEfl.h:
39418        (WebKit::DownloadManagerEfl::create):
39419        (DownloadManagerEfl):
39420        * UIProcess/efl/PageClientBase.cpp:
39421        (WebKit::PageClientBase::handleDownloadRequest):
39422        * UIProcess/efl/RequestManagerClientEfl.cpp:
39423        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
39424        * UIProcess/efl/RequestManagerClientEfl.h:
39425        (WebKit::RequestManagerClientEfl::create):
39426        (RequestManagerClientEfl):
39427
394282012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
39429
39430        [CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
39431        https://bugs.webkit.org/show_bug.cgi?id=101232
39432
39433        Reviewed by Jocelyn Turcotte.
39434
39435        The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
39436        because we dereferencing a null m_coordinatedGraphicsLayerClient.
39437        This happens when the root layer became composited because it has content overlapping
39438        with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
39439        the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
39440        ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
39441        The solution is to set the client early in the factory method.
39442
39443        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
39444        (WebKit::LayerTreeCoordinator::createGraphicsLayer):
39445
394462012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
39447
39448        [EFL] [WK2] Random crash in Minibrowser
39449        https://bugs.webkit.org/show_bug.cgi?id=101241
39450
39451        Reviewed by Gyuyoung Kim.
39452
39453        Do not clear GL context and GL surface in exitAcceleratedCompositing.
39454
39455        * UIProcess/API/efl/EwkViewImpl.cpp:
39456        (EwkViewImpl::createGLSurface):
39457        (EwkViewImpl::enterAcceleratedCompositingMode):
39458        (EwkViewImpl::exitAcceleratedCompositingMode):
39459
394602012-11-05  Sam Weinig  <sam@webkit.org>
39461
39462        Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
39463        https://bugs.webkit.org/show_bug.cgi?id=101282
39464
39465        Reviewed by Anders Carlsson.
39466
39467        API wise, this adds:
39468            - A connection property on the WKWebProcessPlugInController
39469            - A method to send messages across a WKConnection (sendMessageWithName:body).
39470
39471        It also implements message sending and receiving for WKConnection. Message bodies are currently
39472        restricted to being object graphs with values that are property list types, but in the future, should
39473        support all types conforming to the NSSecureCoding protocol.
39474
39475        * Shared/WebConnection.cpp:
39476        (WebKit::WebConnection::postMessage):
39477        (WebKit::WebConnection::handleMessage):
39478        * Shared/WebConnection.h:
39479        (WebConnection):
39480        * Shared/WebConnection.messages.in:
39481        Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.
39482
39483        * Shared/mac/ArgumentCodersMac.h:
39484        * Shared/mac/ArgumentCodersMac.mm:
39485        (CoreIPC::typeFromObject):
39486        (CoreIPC::encode):
39487        (CoreIPC::decode):
39488        Add support for encoding/decoding NSArray, NSDate and NSData.
39489
39490        * UIProcess/API/mac/WKConnection.h:
39491        * UIProcess/API/mac/WKConnection.mm:
39492        (-[WKConnection sendMessageWithName:body:]):
39493        (didReceiveMessage):
39494        Implement message sending and receiving.
39495
39496        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
39497        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
39498        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
39499        (-[WKWebProcessPlugInController connection]):
39500        Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
39501        API on the WKWebProcessPlugInController.
39502
395032012-11-05  Jinwoo Song  <jinwoo7.song@samsung.com>
39504
39505        [EFL][WK2] Fix wrong coding style in the boilerplates
39506        https://bugs.webkit.org/show_bug.cgi?id=101283
39507
39508        Reviewed by Gyuyoung Kim.
39509
39510        Fix boilerplate which have wrong coding style.
39511
39512        * UIProcess/efl/InputMethodContextEfl.cpp:
39513        * UIProcess/efl/InputMethodContextEfl.h:
39514        * UIProcess/efl/PageClientDefaultImpl.cpp:
39515        * UIProcess/efl/PageClientDefaultImpl.h:
39516        * UIProcess/efl/PageClientLegacyImpl.cpp:
39517        * UIProcess/efl/PageClientLegacyImpl.h:
39518
395192012-11-05  KyungTae Kim  <ktf.kim@samsung.com>
39520
39521        [EFL][WK2] Fix build warning in PageClientLegacyImpl.cpp
39522        https://bugs.webkit.org/show_bug.cgi?id=101266
39523
39524        Reviewed by Laszlo Gombos.
39525
39526        The 'size' is not used when !USE(TILED_BACKING_STORE)
39527        Use UNUSED_PARAM macro for removing -Wunused-parameter warning
39528
39529        * UIProcess/efl/PageClientLegacyImpl.cpp:
39530        (WebKit::PageClientLegacyImpl::updateViewportSize):
39531
395322012-11-05  Anders Carlsson  <andersca@apple.com>
39533
39534        Begin stubbing out the new remote layer tree drawing area
39535        https://bugs.webkit.org/show_bug.cgi?id=101256
39536
39537        Reviewed by Andreas Kling.
39538
39539        * Shared/DrawingAreaInfo.h:
39540        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
39541        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
39542        * WebKit2.xcodeproj/project.pbxproj:
39543        * WebProcess/WebPage/DrawingArea.cpp:
39544        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
39545        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
39546
395472012-11-05  Alexey Proskuryakov  <ap@apple.com>
39548
39549        Get rid of setCookieStoragePrivateBrowsingEnabled.
39550        https://bugs.webkit.org/show_bug.cgi?id=101247
39551
39552        Reviewed by Brady Eidson.
39553
39554        * WebProcess/InjectedBundle/InjectedBundle.cpp:
39555        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Added a FIXME.
39556
39557        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
39558        We no longer have this function.
39559
395602012-11-05  Simon Fraser  <simon.fraser@apple.com>
39561
39562        Fix layer borders to cleaning appear and disappear on switching
39563        https://bugs.webkit.org/show_bug.cgi?id=101136
39564
39565        Reviewed by Sam Weinig.
39566        
39567        Remove the GraphicsLayerClient methods showDebugBorders() and
39568        showRepaintCounter().
39569        
39570        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
39571        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
39572        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
39573        (LayerTreeCoordinator):
39574        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
39575        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
39576        (LayerTreeHostCA):
39577        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
39578        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
39579        (LayerTreeHostGtk):
39580        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
39581        (TiledCoreAnimationDrawingArea):
39582        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
39583
395842012-11-05  Yael Aharon  <yael.aharon@intel.com>
39585
39586        [EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
39587        https://bugs.webkit.org/show_bug.cgi?id=100674
39588
39589        Reviewed by Kenneth Rohde Christiansen.
39590
39591        Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
39592        Calling ewk_view_base_add creates a desktop style view, that does not support
39593        fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
39594        As a result, WebKitTestRunner and the inspector window do not support
39595        fixed layout size, while MiniBrowser does. This change allows many DumpAsText
39596        layout tests to pass without modification, when AC is enabled.
39597
39598        * PlatformEfl.cmake:
39599        * UIProcess/API/efl/EwkViewImpl.cpp:
39600        (EwkViewImpl::EwkViewImpl):
39601        (EwkViewImpl::transformFromScene):
39602        (EwkViewImpl::informLoadCommitted):
39603        (EwkViewImpl::enterAcceleratedCompositingMode):
39604        (EwkViewImpl::informContentsSizeChange):
39605        * UIProcess/API/efl/EwkViewImpl.h:
39606        (WebKit):
39607        (EwkViewImpl):
39608        (EwkViewImpl::pageClient):
39609        (EwkViewImpl::setScaleFactor):
39610        (EwkViewImpl::scaleFactor):
39611        (EwkViewImpl::setScrollPosition):
39612        (EwkViewImpl::scrollPosition):
39613        * UIProcess/API/efl/ewk_view.cpp:
39614        (_ewk_view_smart_calculate):
39615        (createEwkView):
39616        (ewk_view_base_add):
39617        * UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
39618        (WebKit::PageClientBase::PageClientBase):
39619        (WebKit::PageClientBase::~PageClientBase):
39620        (WebKit::PageClientBase::viewImpl):
39621        (WebKit::PageClientBase::createDrawingAreaProxy):
39622        (WebKit::PageClientBase::setViewNeedsDisplay):
39623        (WebKit::PageClientBase::displayView):
39624        (WebKit::PageClientBase::scrollView):
39625        (WebKit::PageClientBase::viewSize):
39626        (WebKit::PageClientBase::isViewWindowActive):
39627        (WebKit::PageClientBase::isViewFocused):
39628        (WebKit::PageClientBase::isViewVisible):
39629        (WebKit::PageClientBase::isViewInWindow):
39630        (WebKit::PageClientBase::processDidCrash):
39631        (WebKit::PageClientBase::didRelaunchProcess):
39632        (WebKit::PageClientBase::pageClosed):
39633        (WebKit::PageClientBase::toolTipChanged):
39634        (WebKit::PageClientBase::setCursor):
39635        (WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
39636        (WebKit::PageClientBase::registerEditCommand):
39637        (WebKit::PageClientBase::clearAllEditCommands):
39638        (WebKit::PageClientBase::canUndoRedo):
39639        (WebKit::PageClientBase::executeUndoRedo):
39640        (WebKit::PageClientBase::convertToDeviceSpace):
39641        (WebKit::PageClientBase::convertToUserSpace):
39642        (WebKit::PageClientBase::screenToWindow):
39643        (WebKit::PageClientBase::windowToScreen):
39644        (WebKit::PageClientBase::doneWithKeyEvent):
39645        (WebKit::PageClientBase::doneWithTouchEvent):
39646        (WebKit::PageClientBase::createPopupMenuProxy):
39647        (WebKit::PageClientBase::createContextMenuProxy):
39648        (WebKit::PageClientBase::createColorChooserProxy):
39649        (WebKit::PageClientBase::setFindIndicator):
39650        (WebKit::PageClientBase::enterAcceleratedCompositingMode):
39651        (WebKit::PageClientBase::exitAcceleratedCompositingMode):
39652        (WebKit::PageClientBase::updateAcceleratedCompositingMode):
39653        (WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
39654        (WebKit::PageClientBase::didCommitLoadForMainFrame):
39655        (WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
39656        (WebKit::PageClientBase::customRepresentationZoomFactor):
39657        (WebKit::PageClientBase::setCustomRepresentationZoomFactor):
39658        (WebKit::PageClientBase::flashBackingStoreUpdates):
39659        (WebKit::PageClientBase::findStringInCustomRepresentation):
39660        (WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
39661        (WebKit::PageClientBase::updateTextInputState):
39662        (WebKit::PageClientBase::handleDownloadRequest):
39663        * UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
39664        (PageClientBase):
39665        * UIProcess/efl/PageClientDefaultImpl.cpp: Added.
39666        (WebKit):
39667        (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
39668        (WebKit::PageClientDefaultImpl::didCommitLoad):
39669        (WebKit::PageClientDefaultImpl::updateViewportSize):
39670        (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
39671        (WebKit::PageClientDefaultImpl::didChangeContentsSize):
39672        (WebKit::PageClientDefaultImpl::pageDidRequestScroll):
39673        (WebKit::PageClientDefaultImpl::didRenderFrame):
39674        (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
39675        * UIProcess/efl/PageClientDefaultImpl.h: Added.
39676        (WebKit):
39677        (PageClientDefaultImpl):
39678        (WebKit::PageClientDefaultImpl::create):
39679        (WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
39680        * UIProcess/efl/PageClientImpl.cpp: Removed.
39681        * UIProcess/efl/PageClientImpl.h: Removed.
39682        * UIProcess/efl/PageClientLegacyImpl.cpp: Added.
39683        (WebKit):
39684        (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
39685        (WebKit::PageClientLegacyImpl::didCommitLoad):
39686        (WebKit::PageClientLegacyImpl::updateViewportSize):
39687        (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
39688        (WebKit::PageClientLegacyImpl::didChangeContentsSize):
39689        (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
39690        (WebKit::PageClientLegacyImpl::didRenderFrame):
39691        (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
39692        * UIProcess/efl/PageClientLegacyImpl.h: Added.
39693        (WebKit):
39694        (PageClientLegacyImpl):
39695        (WebKit::PageClientLegacyImpl::create):
39696        (WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
39697        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
39698        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
39699        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
39700        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
39701        (WebKit::PageViewportControllerClientEfl::setContentsScale):
39702        * UIProcess/efl/PageViewportControllerClientEfl.h:
39703        * UIProcess/efl/WebPageProxyEfl.cpp:
39704        (WebKit::WebPageProxy::viewWidget):
39705
397062012-11-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
39707
39708        [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data  Ewk_Objects
39709        https://bugs.webkit.org/show_bug.cgi?id=101205
39710
39711        Reviewed by Gyuyoung Kim.
39712
39713        Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data are using common Ewk_Object interface now.
39714
39715        * UIProcess/API/efl/EwkViewImpl.h:
39716        * UIProcess/API/efl/ewk_download_job.cpp:
39717        (Ewk_Download_Job::request):
39718        (Ewk_Download_Job::response):
39719        (Ewk_Download_Job::setResponse):
39720        * UIProcess/API/efl/ewk_download_job_private.h:
39721        (Ewk_Download_Job):
39722        * UIProcess/API/efl/ewk_navigation_data.cpp:
39723        (EwkNavigationData::EwkNavigationData):
39724        (EwkNavigationData::originalRequest):
39725        (EwkNavigationData::title):
39726        (EwkNavigationData::url):
39727        (ewk_navigation_data_title_get):
39728        (ewk_navigation_data_original_request_get):
39729        (ewk_navigation_data_url_get):
39730        * UIProcess/API/efl/ewk_navigation_data.h:
39731        * UIProcess/API/efl/ewk_navigation_data_private.h:
39732        (EwkNavigationData):
39733        (EwkNavigationData::create):
39734        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
39735        (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
39736        (Ewk_Navigation_Policy_Decision::request):
39737        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
39738        (Ewk_Navigation_Policy_Decision::create):
39739        (Ewk_Navigation_Policy_Decision):
39740        * UIProcess/API/efl/ewk_url_request.cpp:
39741        (EwkUrlRequest::EwkUrlRequest):
39742        (EwkUrlRequest::url):
39743        (EwkUrlRequest::firstParty):
39744        (EwkUrlRequest::httpMethod):
39745        (ewk_url_request_url_get):
39746        (ewk_request_cookies_first_party_get):
39747        (ewk_url_request_http_method_get):
39748        * UIProcess/API/efl/ewk_url_request.h:
39749        * UIProcess/API/efl/ewk_url_request_private.h:
39750        (EwkUrlRequest):
39751        (EwkUrlRequest::create):
39752        * UIProcess/API/efl/ewk_url_response.cpp:
39753        (EwkUrlResponse::EwkUrlResponse):
39754        (EwkUrlResponse::httpStatusCode):
39755        (EwkUrlResponse::url):
39756        (EwkUrlResponse::mimeType):
39757        (EwkUrlResponse::contentLength):
39758        (ewk_url_response_url_get):
39759        (ewk_url_response_status_code_get):
39760        (ewk_url_response_mime_type_get):
39761        (ewk_url_response_content_length_get):
39762        * UIProcess/API/efl/ewk_url_response.h:
39763        * UIProcess/API/efl/ewk_url_response_private.h:
39764        (EwkUrlResponse):
39765        (EwkUrlResponse::create):
39766        * UIProcess/efl/ContextHistoryClientEfl.cpp:
39767        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
39768        * UIProcess/efl/DownloadManagerEfl.cpp:
39769        (WebKit::DownloadManagerEfl::didReceiveResponse):
39770        * UIProcess/efl/ResourceLoadClientEfl.cpp:
39771        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
39772        (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
39773        (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
39774
397752012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
39776
39777        [EFL][WK2] EWK2UnitTestBase.ewk_auth_request_cancel API test is failing after r133389
39778        https://bugs.webkit.org/show_bug.cgi?id=101203
39779
39780        Reviewed by Kenneth Rohde Christiansen.
39781
39782        Attempt for continue without credential when the client cancels
39783        authentication (or does not handle the authentication request)
39784        instead of cancelling the load. We now get a 402 error when
39785        when cancelling the authentication, which is the behavior we
39786        want (and the behavior we used to have before r133389).
39787
39788        * UIProcess/API/efl/ewk_auth_request.cpp:
39789        (Ewk_Auth_Request::~Ewk_Auth_Request):
39790        (Ewk_Auth_Request::continueWithoutCredential):
39791        (ewk_auth_request_cancel):
39792        * UIProcess/API/efl/ewk_auth_request_private.h:
39793        (Ewk_Auth_Request):
39794        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
39795        (TEST_F):
39796
397972012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
39798
39799        [EFL][WK2] The icon database path should be set by the client
39800        https://bugs.webkit.org/show_bug.cgi?id=101182
39801
39802        Reviewed by Kenneth Rohde Christiansen.
39803
39804        No longer set the favicon database path in database instance getter.
39805        Instead, a new ewk_context_favicon_database_directory_set() API
39806        function was added to let the client set the icon database path.
39807        This is needed because the icon database path can only be set once
39808        and setting it unconditionally in the getter prevents the client
39809        from setting it.
39810
39811        This will also avoid crashes in WebKitTestRunner since WKTR was
39812        setting the path once and ewk_context was attempting to override it.
39813
39814        Note that the favicon database functionality is disabled until the
39815        client sets its path.
39816
39817        * UIProcess/API/efl/ewk_context.cpp:
39818        (Ewk_Context::ensureFaviconDatabase):
39819        (Ewk_Context::setFaviconDatabaseDirectoryPath):
39820        (Ewk_Context::faviconDatabase):
39821        (ewk_context_favicon_database_directory_set):
39822        * UIProcess/API/efl/ewk_context.h:
39823        * UIProcess/API/efl/ewk_context_private.h:
39824        (Ewk_Context):
39825        * UIProcess/API/efl/ewk_favicon_database.cpp:
39826        (Ewk_Favicon_Database::Ewk_Favicon_Database):
39827        (Ewk_Favicon_Database::~Ewk_Favicon_Database):
39828        (Ewk_Favicon_Database::iconURLForPageURL):
39829        (Ewk_Favicon_Database::iconForPageURL):
39830        (Ewk_Favicon_Database::getIconSurfaceSynchronously):
39831        * UIProcess/API/efl/ewk_favicon_database_private.h:
39832        (WebKit):
39833        (Ewk_Favicon_Database::create):
39834        (Ewk_Favicon_Database):
39835        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
39836        (TEST_F):
39837
398382012-11-04  Halton Huo  <halton.huo@intel.com>
39839
39840        [EFL] Use _LIBRARIES instead of _LIBRARY
39841        https://bugs.webkit.org/show_bug.cgi?id=101042
39842
39843        Reviewed by Gyuyoung Kim.
39844
39845        In CMake Find files, _LIBRARY is intended for internal use, should
39846        use _LIBRARIES instead.
39847
39848        * PlatformEfl.cmake: s/_LIBRARY}/_LIBRARIES}
39849
398502012-11-04  Jon Lee  <jonlee@apple.com>
39851
39852        Expose security origin to BundleFrame
39853        https://bugs.webkit.org/show_bug.cgi?id=101139
39854        <rdar://problem/12629900>
39855
39856        Reviewed by Darin Adler.
39857
39858        Create a WebSecurityOrigin instance, sharing the security origin instance
39859        that comes directly from the frame's document. We can do this because the
39860        WK2 API only retrieves information about the origin, and because those
39861        results are returned as copies. The security origin holds no references
39862        that could lead to a retain cycle, avoiding the possibility that the
39863        injected bundle accidentally keeps something alive.
39864
39865        * Shared/API/c/WKSharedAPICast.h:
39866        (WebKit::toCopiedAPI): Create copied API for WebCore::SecurityOrigin
39867        instances.
39868        * Shared/WebSecurityOrigin.h:
39869        (WebKit::WebSecurityOrigin::create): Add a new create() function that
39870        takes a PassRefPtr to a WebCore SecurityOrigin instance.
39871        (WebKit::WebSecurityOrigin::createFromString): Refactor to use new create()
39872        function.
39873        (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Refactor to
39874        use new create() function.
39875        (WebKit::WebSecurityOrigin::create): Refactor to use new create()
39876        function.
39877        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
39878        (WKBundleFrameCopySecurityOrigin): Add function to retrieve the security
39879        origin as a WK2 API object.
39880        * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
39881
398822012-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39883
39884        [EFL] Unify transforms in WK2
39885        https://bugs.webkit.org/show_bug.cgi?id=101051
39886
39887        Reviewed by Simon Hausmann.
39888
39889        Move our transforms into EwkViewImpl and use them
39890        everywhere needed.
39891
39892        * UIProcess/API/efl/EwkViewImpl.cpp:
39893        (EwkViewImpl::smartData):
39894        (EwkViewImpl::transformFromScene):
39895        (EwkViewImpl::transformToScene):
39896        (EwkViewImpl::transformToScreen):
39897        (EwkViewImpl::displayTimerFired):
39898        * UIProcess/API/efl/EwkViewImpl.h:
39899        (WebCore):
39900        (EwkViewImpl):
39901        (EwkViewImpl::pageViewportControllerClient):
39902        (EwkViewImpl::pageViewportController):
39903        * UIProcess/API/efl/ewk_view.cpp:
39904        (_ewk_view_smart_mouse_wheel):
39905        (_ewk_view_smart_mouse_down):
39906        (_ewk_view_smart_mouse_up):
39907        (_ewk_view_smart_mouse_move):
39908        (ewk_view_feed_touch_event):
39909
399102012-11-03  Alexey Proskuryakov  <ap@apple.com>
39911
39912        Get rid of USE(CFURLSTORAGESESSIONS)
39913        https://bugs.webkit.org/show_bug.cgi?id=101131
39914
39915        Reviewed by Sam Weinig.
39916
39917        * Shared/WebProcessCreationParameters.cpp:
39918        (WebKit::WebProcessCreationParameters::encode):
39919        (WebKit::WebProcessCreationParameters::decode):
39920        * Shared/WebProcessCreationParameters.h:
39921        (WebProcessCreationParameters):
39922        * UIProcess/win/WebContextWin.cpp:
39923        (WebKit::WebContext::platformInitializeWebProcess):
39924        * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
39925        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39926        * WebProcess/InjectedBundle/InjectedBundle.cpp:
39927        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
39928        * WebProcess/WebPage/mac/WebPageMac.mm:
39929        (WebKit::WebPage::platformHasLocalDataForURL):
39930        (WebKit::cachedResponseForURL):
39931        * WebProcess/WebPage/win/WebPageWin.cpp:
39932        (WebKit::cachedResponseForURL):
39933        * WebProcess/WebProcess.cpp:
39934        (WebKit::WebProcess::initializeWebProcess):
39935        * WebProcess/win/WebProcessWin.cpp:
39936        (WebKit::WebProcess::platformSetCacheModel):
39937        (WebKit::WebProcess::platformClearResourceCaches):
39938
399392012-11-03  Pavel Feldman  <pfeldman@chromium.org>
39940
39941        REGRESSION (r132014-r132047): Webkit Inspector Window docking broken
39942        https://bugs.webkit.org/show_bug.cgi?id=101125
39943
39944        Reviewed by Vsevolod Vlasov.
39945
39946        Migrated from ?docked= to ?dockSide= format.
39947
39948        * UIProcess/WebInspectorProxy.cpp:
39949        (WebKit::WebInspectorProxy::createInspectorPage):
39950
399512012-10-25  Martin Robinson  <mrobinson@igalia.com>
39952
39953        [GTK] Move soup authentication from GtkAuthenticationDialog to WebCore
39954        https://bugs.webkit.org/show_bug.cgi?id=99914
39955
39956        Reviewed by Carlos Garcia Campos.
39957
39958        Instead of passing the libsoup objects to the GtkAuthenticationDialog, pass the
39959        AuthenticationChallenge itself.
39960
39961        * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp:
39962        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
39963
399642012-11-02  Anders Carlsson  <andersca@apple.com>
39965
39966        Very speculative ArgumentDecoder crash fix
39967        https://bugs.webkit.org/show_bug.cgi?id=101130
39968        <rdar://problem/11917046>
39969
39970        Reviewed by Sam Weinig.
39971
39972        Switch from fastMalloc/fastFree to system malloc/free in the hopes that it'll give more information about
39973        a crash inside TCMalloc when freeing the argument data. (It seems unlikely that this is a bug in TCMalloc, but
39974        switching to the system malloc could potentially give better error reporting).
39975
39976        * Platform/CoreIPC/ArgumentDecoder.cpp:
39977        (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
39978        (CoreIPC::ArgumentDecoder::initialize):
39979
399802012-11-02  Anders Carlsson  <andersca@apple.com>
39981
39982        Don't instantiate the Java plug-in if it's inactive
39983        https://bugs.webkit.org/show_bug.cgi?id=101102
39984        <rdar://problem/12595679>
39985
39986        Reviewed by Andreas Kling.
39987
39988        * Shared/Plugins/PluginModuleInfo.h:
39989        Add a PluginModuleLoadPolicy enum.
39990
39991        * UIProcess/Plugins/PluginInfoStore.cpp:
39992        (WebKit::PluginInfoStore::policyForPlugin):
39993        * UIProcess/Plugins/PluginInfoStore.h:
39994        (PluginInfoStore):
39995        Rename shouldBlockPlugin to policyForPlugin and make it return an enum so we can handle inactive plug-ins.
39996        
39997        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
39998        (WebKit::shouldBlockPlugin):
39999        Add helper function.
40000
40001        (WebKit::PluginInfoStore::policyForPlugin):
40002        If the Java plug-in is inactive, return PluginModuleInactive.
40003
40004        (WebKit::PluginInfoStore::reactivateInactivePlugin):
40005        If the given plug-in is the Java plug-in, call WKJLReportWebComponentsUsed() to reactivate it.
40006
40007        * UIProcess/WebPageProxy.cpp:
40008        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
40009        If the plug-in is inactive, try to reactivate it and reload the page if reactivation succeeded.
40010
40011        * UIProcess/WebProcessProxy.cpp:
40012        (WebKit::WebProcessProxy::getPluginPath):
40013        * UIProcess/WebProcessProxy.h:
40014        This now returns a plug-in load policy.
40015
40016        * UIProcess/WebProcessProxy.messages.in:
40017        GetPluginPack now returns a load policy enum.
40018
40019        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
40020        (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
40021        Change this to a switch statement and always return true for RenderEmbeddedObject::PluginInactive.
40022
40023        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
40024        Add RenderEmbeddedObject::PluginInactive to the assertion.
40025
40026        * WebProcess/WebPage/WebPage.cpp:
40027        (WebKit::WebPage::createPlugin):
40028        Update now that GetPluginPath returns a pluginLoadPolicy enum.
40029
40030        (WebKit::canPluginHandleResponse):
40031        Ditto.
40032
400332012-11-02  Alexey Proskuryakov  <ap@apple.com>
40034
40035        [Mac] ResourceHandle changes for network process
40036        https://bugs.webkit.org/show_bug.cgi?id=101111
40037
40038        Reviewed by Jessie Berlin.
40039
40040        * NetworkProcess/mac/NetworkProcessMainMac.mm: (WebKit::NetworkProcessMain):
40041        We want to use WebKitSystemInterface in network process.
40042        * NetworkProcess/mac/RemoteNetworkingContext.h:
40043        (WebKit::RemoteNetworkingContext::create): Added a constructor and a create function.
40044        Switched from scheduledRunLoopPairs() to the new scheduledOperationQueue().
40045
40046        * NetworkProcess/mac/RemoteNetworkingContext.mm:
40047        (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
40048        (WebKit::RemoteNetworkingContext::scheduledOperationQueue):
40049        Ditto.
40050
400512012-11-02  Simon Fraser  <simon.fraser@apple.com>
40052
40053        Enable SUBPIXEL_LAYOUT on Mac
40054        https://bugs.webkit.org/show_bug.cgi?id=101076
40055
40056        Reviewed by Dave Hyatt.
40057
40058        Define ENABLE_SUBPIXEL_LAYOUT and include it in FEATURE_DEFINES.
40059
40060        * Configurations/FeatureDefines.xcconfig:
40061
400622012-11-02  Anders Carlsson  <andersca@apple.com>
40063
40064        Add a PluginInactive plug-in unavailability reason
40065        https://bugs.webkit.org/show_bug.cgi?id=101089
40066
40067        Reviewed by Sam Weinig.
40068
40069        * UIProcess/WebPageProxy.cpp:
40070        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
40071
400722012-11-02  Adam Barth  <abarth@webkit.org>
40073
40074        ENABLE(UNDO_MANAGER) is disabled everywhere and is not under active development
40075        https://bugs.webkit.org/show_bug.cgi?id=100711
40076
40077        Reviewed by Eric Seidel.
40078
40079        * Configurations/FeatureDefines.xcconfig:
40080
400812012-11-02  Christophe Dumez  <christophe.dumez@intel.com>
40082
40083        [WK2][EFL] Crash when calling WebOpenPanelResultListenerProxy::cancel() after PageClient is destroyed
40084        https://bugs.webkit.org/show_bug.cgi?id=100977
40085
40086        Reviewed by Alexey Proskuryakov.
40087
40088        Call WebPageProxy::close() in EwkViewImpl's destructor to avoid crashes
40089        if other objects keep a reference to the WebPageProxy and try to use
40090        it after the view (and therefore the PageClient) is destroyed.
40091
40092        * UIProcess/API/efl/EwkViewImpl.cpp:
40093        (EwkViewImpl::~EwkViewImpl):
40094
400952012-11-02  Martin Robinson  <mrobinson@igalia.com>
40096
40097        [GTK] Remove dependency on SoupPasswordManager
40098        https://bugs.webkit.org/show_bug.cgi?id=100775
40099
40100        Reviewed by Carlos Garcia Campos.
40101
40102        Add a libsecret dependency to the build. This is necessary so that we can remove
40103        a dependency on SoupPasswordManager.
40104
40105        * GNUmakefile.am: Add libsecret CFLAGS to the WebKit2 build.
40106
401072012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
40108
40109        [EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
40110        https://bugs.webkit.org/show_bug.cgi?id=98978
40111
40112        Reviewed by Kenneth Rohde Christiansen.
40113
40114        Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
40115        immediately after the protected resource is no longer modified to
40116        prevent a possible source of a deadlock.
40117
40118        And additional mutex locker for the m_writeToPipeDescriptor is added
40119        to ensure thread-safety of the sendMessageToThread() function.
40120
40121        * Platform/WorkQueue.h:
40122        (WorkQueue):
40123        * Platform/efl/WorkQueueEfl.cpp:
40124        (WorkQueue::insertTimerWorkItem):
40125        (WorkQueue::performTimerWork):
40126        (WorkQueue::sendMessageToThread):
40127        (WorkQueue::dispatch):
40128        (WorkQueue::dispatchAfterDelay):
40129
401302012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
40131
40132        [EFL][WK2] Add API unit tests for Ewk_Object
40133        https://bugs.webkit.org/show_bug.cgi?id=101037
40134
40135        Reviewed by Kenneth Rohde Christiansen.
40136
40137        Added API unit tests for Ewk_Object.
40138
40139        * PlatformEfl.cmake:
40140        * UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
40141        (TestEwkObject1):
40142        (TestEwkObject1::create):
40143        (TestEwkObject1::~TestEwkObject1):
40144        (TestEwkObject2):
40145        (TestEwkObject2::create):
40146        (TEST_F):
40147
401482012-11-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
40149
40150        REGRESSION (r133075): plugins/plugin-javascript-access.html is failing
40151        https://bugs.webkit.org/show_bug.cgi?id=101045
40152
40153        Reviewed by Kenneth Rohde Christiansen.
40154
40155        Encode the plugin filename in ArgumentCoder<PluginInfo> so that
40156        plugin.filename returns the filename instead of name of the plugin.
40157
40158        * Shared/WebCoreArgumentCoders.cpp:
40159        (CoreIPC::::encode):
40160
401612012-11-01  Yael Aharon  <yael.aharon@intel.com>
40162
40163        [EFL][WK2][AC] Wrong translation of mouse events
40164        https://bugs.webkit.org/show_bug.cgi?id=100983
40165
40166        Reviewed by Kenneth Rohde Christiansen.
40167
40168        The transform that we build for mouse events is scaled by the scale factor.
40169        The url bar should not be scaled, so it should be scaled in the oposite
40170        direction to compensate for that.
40171
40172        * UIProcess/API/efl/ewk_view.cpp:
40173        (toWebContentTransform):
40174
401752012-11-02  Andras Becsi  <andras.becsi@digia.com>
40176
40177        [Qt][WK2] Add missing variable initialization in PageViewportController
40178
40179        Reviewed by Jocelyn Turcotte.
40180
40181        Updating the viewport state depends on uninitialized booleans
40182        which it should not.
40183
40184        * UIProcess/PageViewportController.cpp:
40185        (WebKit::PageViewportController::PageViewportController):
40186
401872012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
40188
40189        [EFL][WK2] Use MutexLocker instead of lock()/unlock().
40190        https://bugs.webkit.org/show_bug.cgi?id=101015
40191
40192        Reviewed by Kenneth Rohde Christiansen.
40193
40194        Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
40195        and WorkQueue::performTimerWork().
40196
40197        The locking scope will be more clear and simple with using MutexLocker.
40198
40199        * Platform/efl/WorkQueueEfl.cpp:
40200        (WorkQueue::performWork):
40201        (WorkQueue::insertTimerWorkItem):
40202        (WorkQueue::performTimerWork):
40203        (WorkQueue::dispatchAfterDelay):
40204
402052012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
40206
40207        [EFL][WK2] Common ref and unref functions for EFL WK2 objects
40208        https://bugs.webkit.org/show_bug.cgi?id=100751
40209
40210        Reviewed by Kenneth Rohde Christiansen.
40211
40212        Added common Ewk_Object class with ref/unref API also added several aux functions for safe
40213        Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.
40214
40215        * PlatformEfl.cmake:
40216        * UIProcess/API/efl/EWebKit2.h:
40217        * UIProcess/API/efl/ewk_back_forward_list.cpp:
40218        (Ewk_Back_Forward_List::getFromCacheOrCreate):
40219        (Ewk_Back_Forward_List::createEinaList):
40220        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
40221        (EwkBackForwardListItem::EwkBackForwardListItem):
40222        (EwkBackForwardListItem::url):
40223        (EwkBackForwardListItem::title):
40224        (EwkBackForwardListItem::originalURL):
40225        (ewk_back_forward_list_item_url_get):
40226        (ewk_back_forward_list_item_title_get):
40227        (ewk_back_forward_list_item_original_url_get):
40228        * UIProcess/API/efl/ewk_back_forward_list_item.h:
40229        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
40230        (EwkBackForwardListItem):
40231        (EwkBackForwardListItem::create):
40232        * UIProcess/API/efl/ewk_back_forward_list_private.h:
40233        * UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
40234        (ewk_object_ref):
40235        (ewk_object_unref):
40236        * UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
40237        * UIProcess/API/efl/ewk_object_private.h: Added.
40238        (Ewk_Object):
40239        (Ewk_Object::~Ewk_Object):
40240        (ewk_object_is_of_type):
40241        (ewk_object_cast_check):
40242        (ewk_object_cast):
40243        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
40244        (freeEinaList):
40245
402462012-11-02  Nandor Huszka  <hnandor@inf.u-szeged.hu>
40247
40248        [Qt][Mac][Win] Unreviewed build fix after r133182
40249        https://bugs.webkit.org/show_bug.cgi?id=100995
40250
40251        Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
40252        Also relocate their prototypes, because they mix with the overridden ones.
40253
40254        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
40255        (CoordinatedGraphicsLayer):
40256
402572012-11-02  Jihye Kang  <jye.kang@samsung.com>
40258
40259        [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
40260        https://bugs.webkit.org/show_bug.cgi?id=92827
40261
40262        Reviewed by Gyuyoung Kim.
40263
40264        Add ewk_security_origin APIs to get security origin.
40265        These APIs will be used to get host, protocol and port of security
40266        origin.
40267        Add ewk_storage_manager to manage web storage and
40268        ewk_storage_manager_origins_get to get origins list of web storage.
40269        Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
40270
40271        * PlatformEfl.cmake:
40272        * UIProcess/API/efl/EWebKit2.h:
40273        * UIProcess/API/efl/ewk_context.cpp:
40274        (Ewk_Context::storageManager):
40275        (ewk_context_storage_manager_get):
40276        * UIProcess/API/efl/ewk_context.h:
40277        * UIProcess/API/efl/ewk_context_private.h:
40278        (Ewk_Context):
40279        * UIProcess/API/efl/ewk_security_origin.cpp: Added.
40280        (Ewk_Security_Origin::Ewk_Security_Origin):
40281        (Ewk_Security_Origin::host):
40282        (Ewk_Security_Origin::protocol):
40283        (Ewk_Security_Origin::port):
40284        (ewk_security_origin_ref):
40285        (ewk_security_origin_unref):
40286        (ewk_security_origin_host_get):
40287        (ewk_security_origin_protocol_get):
40288        (ewk_security_origin_port_get):
40289        * UIProcess/API/efl/ewk_security_origin.h: Added.
40290        * UIProcess/API/efl/ewk_security_origin_private.h: Added.
40291        (Ewk_Security_Origin):
40292        (Ewk_Security_Origin::create):
40293        * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
40294        (Ewk_Storage_Manager::Ewk_Storage_Manager):
40295        (Ewk_Storage_Manager::getStorageOrigins):
40296        (Ewk_Storage_Manager::createOriginList):
40297        (_Ewk_Storage_Origins_Async_Get_Context):
40298        (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
40299        (getStorageOriginsCallback):
40300        (ewk_storage_manager_origins_get):
40301        * UIProcess/API/efl/ewk_storage_manager.h: Added.
40302        * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
40303        (Ewk_Storage_Manager):
40304        (Ewk_Storage_Manager::create):
40305        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
40306        (TEST_F):
40307        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
40308        (getStorageOriginsCallback):
40309        (TEST_F):
40310
403112012-11-02  Huang Dongsung  <luxtella@company100.net>
40312
40313        Coordinated Graphics: Manage the lifecycle of shareable surfaces precisely.
40314        https://bugs.webkit.org/show_bug.cgi?id=100797
40315
40316        Reviewed by Noam Rosenthal.
40317
40318        Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
40319
40320        This patch makes UpdateAtlas manage the lifecycle of shareable surfaces
40321        containing the updates in the way how CoordinatedTile manages the lifecycle of
40322        tiles. Currently, UI Process creates the shareable surface when receiving an
40323        UpdateTileForLayer message, but there is no exact point to remove the shareable
40324        surface. Now, we introduce new two messages to handle the lifecycle:
40325        CreateUpdateAtlas and RemoveUpdateAtlas.
40326
40327        This patch gives us two benefits.
40328        1. Reduce file and mmap operations. Web Process does not need to duplicate a
40329        file handle every tile update. UI Process does not need to create a
40330        ShareableSurface every UpdateTileForLayer message.
40331        2. Save memory. We can remove a ShareableSurface in UI Process when UpdateAtlas
40332        in Web Process is removed.
40333
40334        * Shared/SurfaceUpdateInfo.cpp:
40335        (WebKit::SurfaceUpdateInfo::encode):
40336        (WebKit::SurfaceUpdateInfo::decode):
40337        * Shared/SurfaceUpdateInfo.h:
40338        (SurfaceUpdateInfo):
40339        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
40340        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
40341        (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
40342        (WebKit):
40343        (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
40344        (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
40345        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
40346        (LayerTreeCoordinatorProxy):
40347        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
40348        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
40349        (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
40350        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
40351        (CoordinatedGraphicsLayerClient):
40352        (CoordinatedGraphicsLayer):
40353        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
40354        (WebKit::CoordinatedTile::updateBackBuffer):
40355        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
40356        (CoordinatedTileClient):
40357        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
40358        (WebKit::LayerTreeCoordinator::createUpdateAtlas):
40359        (WebKit):
40360        (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
40361        (WebKit::LayerTreeCoordinator::beginContentUpdate):
40362        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
40363        (LayerTreeCoordinator):
40364        * WebProcess/WebPage/UpdateAtlas.cpp:
40365        (WebKit::UpdateAtlas::UpdateAtlas):
40366        (WebKit):
40367        (WebKit::UpdateAtlas::~UpdateAtlas):
40368        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
40369        * WebProcess/WebPage/UpdateAtlas.h:
40370        (UpdateAtlasClient):
40371        (WebKit):
40372        (UpdateAtlas):
40373
403742012-11-02  Jinwoo Song  <jinwoo7.song@samsung.com>
40375
40376        [EFL][WK2] Remove redundant internal function
40377        https://bugs.webkit.org/show_bug.cgi?id=100969
40378
40379        Reviewed by Gyuyoung Kim.
40380
40381        Remove ewk_view_text_found() in ewk_view.cpp which is not used anymore.
40382        Now, "text,found" signal is emitted by DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned) 
40383        in EwkViewCallback.h
40384
40385        * UIProcess/API/efl/ewk_view.cpp:
40386
403872012-11-01  Anders Carlsson  <andersca@apple.com>
40388
40389        Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.
40390
40391        Rubber-stamped by Dan Bernstein.
40392
40393        * WebProcess/Plugins/PDF/PDFPlugin.mm:
40394
403952012-11-01  Alexandru Chiculita  <achicu@adobe.com>
40396
40397        [CSS Shaders] Move MeshBoxType out of CustomFilterOperation
40398        https://bugs.webkit.org/show_bug.cgi?id=100782
40399
40400        Reviewed by Dean Jackson.
40401
40402        Renamed the CustomFilterOperation::MeshBoxType to CustomFilterMeshBoxType.
40403
40404        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
40405        (CoreIPC::::decode):
40406
404072012-11-01  Beth Dakin  <bdakin@apple.com>
40408
40409        https://bugs.webkit.org/show_bug.cgi?id=100917
40410        There should be a way to dump the scrolling tree from the layout tests
40411        
40412        Reviewed by Simon Fraser.
40413
40414        * win/WebKit2.def:
40415        * win/WebKit2CFLite.def:
40416
404172012-11-01  Huang Dongsung  <luxtella@company100.net>
40418
40419        Coordinated Graphics: Clean up headers of Coordinated Graphics.
40420        https://bugs.webkit.org/show_bug.cgi?id=100907
40421
40422        Reviewed by Noam Rosenthal.
40423
40424        This patch performs:
40425        1. Remove unused methods.
40426        2. Change public methods to private if needed.
40427        3. Put virtual, OVERRIDE and explicit keywords if needed.
40428
40429        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
40430        (LayerTreeCoordinatorProxy):
40431        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
40432        (LayerTreeRenderer):
40433        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
40434        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
40435        (CoordinatedGraphicsLayer):
40436        (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
40437        (WebCore::CoordinatedGraphicsLayer::setMaskTarget):
40438        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
40439        (LayerTreeCoordinator):
40440
404412012-11-01  Christophe Dumez  <christophe.dumez@intel.com>
40442
40443        [EFL][WK2] Add Ewk_Auth_Request API
40444        https://bugs.webkit.org/show_bug.cgi?id=100858
40445
40446        Reviewed by Kenneth Rohde Christiansen.
40447
40448        Add Ewk_Auth_Request API for the client to handle
40449        HTTP authentication.
40450
40451        * PlatformEfl.cmake:
40452        * UIProcess/API/efl/EWebKit2.h:
40453        * UIProcess/API/efl/EwkViewCallbacks.h:
40454        (EwkViewCallbacks):
40455        * UIProcess/API/efl/ewk_auth_request.cpp: Added.
40456        (Ewk_Auth_Request::Ewk_Auth_Request):
40457        (Ewk_Auth_Request::~Ewk_Auth_Request):
40458        (Ewk_Auth_Request::suggestedUsername):
40459        (Ewk_Auth_Request::realm):
40460        (Ewk_Auth_Request::host):
40461        (Ewk_Auth_Request::cancel):
40462        (Ewk_Auth_Request::authenticate):
40463        (Ewk_Auth_Request::isRetrying):
40464        (ewk_auth_request_ref):
40465        (ewk_auth_request_unref):
40466        (ewk_auth_request_suggested_username_get):
40467        (ewk_auth_request_cancel):
40468        (ewk_auth_request_authenticate):
40469        (ewk_auth_request_retrying_get):
40470        (ewk_auth_request_realm_get):
40471        (ewk_auth_request_host_get):
40472        * UIProcess/API/efl/ewk_auth_request.h: Added.
40473        * UIProcess/API/efl/ewk_auth_request_private.h: Added.
40474        (WebKit):
40475        (Ewk_Auth_Request):
40476        (Ewk_Auth_Request::create):
40477        * UIProcess/API/efl/ewk_view.h:
40478        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Added corresponding API tests.
40479        (serverCallback):
40480        (onAuthenticationRequest):
40481        (TEST_F):
40482        (onResourceLoadResponse):
40483        * UIProcess/efl/PageLoadClientEfl.cpp:
40484        (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
40485        (WebKit):
40486        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
40487        * UIProcess/efl/PageLoadClientEfl.h:
40488        (PageLoadClientEfl):
40489
404902012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
40491
40492        Fix the Mac breakage
40493        https://bugs.webkit.org/show_bug.cgi?id=100383
40494
40495        Reviewed by Kenneth Rohde Christiansen.
40496
40497        acceleratedCompositingForFixedPositionEnabled needs to be enabled
40498        for fixed layout to work efficiently but it's wrong to force it
40499        to false if fixed layout isn't enabled.
40500
40501        Separate hard requirements for fixed layout from rendering optimizations
40502        and guard the later with USE(COORDINATED_GRAPHICS).
40503        Also add an early return to make sure that ports always having a false
40504        useFixedLayout creation parameter won't get their settings adjusted.
40505
40506        * WebProcess/WebPage/WebPage.cpp:
40507        (WebKit::WebPage::setUseFixedLayout):
40508
405092012-10-24  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
40510
40511        WebIconDatabase: Properly clean up on destruction
40512        https://bugs.webkit.org/show_bug.cgi?id=100237
40513
40514        Reviewed by Brady Eidson.
40515
40516        * UIProcess/WebIconDatabase.cpp:
40517        (WebKit::WebIconDatabase::invalidate):
40518        Make sure that IconDatabaseBase::iconDatabase won't return a dangling pointer.
40519
405202012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
40521
40522        [EFL] Fix event mapping for WebKit2 with coordinated graphics
40523        https://bugs.webkit.org/show_bug.cgi?id=100956
40524
40525        Reviewed by Alexis Menard.
40526
40527        Apply scale after translation.
40528
40529        * UIProcess/API/efl/ewk_view.cpp:
40530        (toWebContentTransform):
40531
405322012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
40533
40534        [EFL] Correct our use of the coordinated graphics
40535        https://bugs.webkit.org/show_bug.cgi?id=100947
40536
40537        Reviewed by Alexis Menard.
40538
40539        Replace the display(...) call with a regular update() on the view.
40540        In the coordinated graphics case this updates our view using
40541        paintToCurrentGLContext with our viewmodel matrix and clips it to
40542        the viewport. This avoid the need to manually joining update regions.
40543
40544        Unneeded update calls have also been removed and the resizing
40545        logic has been improved.
40546
40547        * UIProcess/API/efl/EwkViewImpl.cpp:
40548        (EwkViewImpl::displayTimerFired):
40549        (EwkViewImpl::update):
40550        * UIProcess/API/efl/EwkViewImpl.h:
40551        (WebCore):
40552        (EwkViewImpl):
40553        (EwkViewImpl::clearEvasGLSurface):
40554        * UIProcess/API/efl/ewk_view.cpp:
40555        (_ewk_view_smart_calculate):
40556        * UIProcess/efl/PageClientImpl.cpp:
40557        (WebKit::PageClientImpl::setViewNeedsDisplay):
40558        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
40559        (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
40560        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
40561        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
40562        * UIProcess/efl/PageViewportControllerClientEfl.h:
40563        (PageViewportControllerClientEfl):
40564
405652012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
40566
40567        [Qt] Double clicks/taps aren't passed down to the page
40568        https://bugs.webkit.org/show_bug.cgi?id=100949
40569
40570        Reviewed by Kenneth Rohde Christiansen.
40571
40572        Since we are passing double click events as press events and that
40573        they are preceeded by a real press event, double clicks are passed
40574        down to the page as triple clicks.
40575
40576        Ignore double click events and let WebCore::EventHandler handle it
40577        through press and release events.
40578
40579        * Shared/qt/WebEventFactoryQt.cpp:
40580        (WebKit::webEventTypeForEvent):
40581        * UIProcess/API/qt/qquickwebview.cpp:
40582        (QQuickWebViewPrivate::handleMouseEvent):
40583        * UIProcess/qt/QtWebPageEventHandler.cpp:
40584        (WebKit::QtWebPageEventHandler::handleInputEvent):
40585
405862012-11-01  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
40587
40588        [AC][EFL][WK2] Rename PageViewportControllerClientEfl::m_pageViewportController to m_controller
40589        https://bugs.webkit.org/show_bug.cgi?id=100933
40590
40591        Reviewed by Kenneth Rohde Christiansen.
40592
40593        PageViewportControllerClientEfl::m_pageViewportController has to be renamed to m_controller
40594        to keep consistency with other ports. Assertinons were also added.
40595
40596        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
40597        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
40598        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
40599        (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
40600        (WebKit::PageViewportControllerClientEfl::didResumeContent):
40601        (WebKit::PageViewportControllerClientEfl::setController):
40602        * UIProcess/efl/PageViewportControllerClientEfl.h:
40603        (PageViewportControllerClientEfl):
40604
406052012-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
40606
40607        Unreviewed, rolling out r133126.
40608        http://trac.webkit.org/changeset/133126
40609        https://bugs.webkit.org/show_bug.cgi?id=100925
40610
40611        This made EFL API test break on EFL buildbots (Requested by
40612        gyuyoung on #webkit).
40613
40614        * PlatformEfl.cmake:
40615        * UIProcess/API/efl/EWebKit2.h:
40616        * UIProcess/API/efl/ewk_context.cpp:
40617        (Ewk_Context::Ewk_Context):
40618        * UIProcess/API/efl/ewk_context.h:
40619        * UIProcess/API/efl/ewk_context_private.h:
40620        (Ewk_Context):
40621        * UIProcess/API/efl/ewk_security_origin.cpp: Removed.
40622        * UIProcess/API/efl/ewk_security_origin.h: Removed.
40623        * UIProcess/API/efl/ewk_security_origin_private.h: Removed.
40624        * UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
40625        * UIProcess/API/efl/ewk_storage_manager.h: Removed.
40626        * UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
40627        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
40628        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
40629
406302012-11-01  Yuni Jeong  <yhnet.jung@samsung.com>
40631
40632        [WK2] Add APIs to get/set encoding detector
40633        https://bugs.webkit.org/show_bug.cgi?id=100066
40634
40635        Reviewed by Gyuyoung Kim.
40636
40637        Add setting APIs for encoding dector and a unit test.
40638
40639        * Shared/WebPreferencesStore.h:
40640        (WebKit):
40641        * UIProcess/API/C/WKPreferences.cpp:
40642        (WKPreferencesSetUsesEncodingDetector):
40643        (WKPreferencesGetUsesEncodingDetector):
40644        * UIProcess/API/C/WKPreferences.h:
40645        * UIProcess/API/efl/ewk_settings.cpp:
40646        (ewk_setting_uses_encoding_detector_set):
40647        (ewk_setting_uses_encoding_detector_get):
40648        * UIProcess/API/efl/ewk_settings.h:
40649        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
40650        (TEST_F):
40651
406522012-10-31  Jihye Kang  <jye.kang@samsung.com>
40653
40654        [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
40655        https://bugs.webkit.org/show_bug.cgi?id=92827
40656
40657        Reviewed by Gyuyoung Kim.
40658
40659        Add ewk_security_origin APIs to get security origin.
40660        These APIs will be used to get host, protocol and port of security
40661        origin.
40662        Add ewk_storage_manager to manage web storage and
40663        ewk_storage_manager_origins_get to get origins list of web storage.
40664        Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
40665
40666        * PlatformEfl.cmake:
40667        * UIProcess/API/efl/EWebKit2.h:
40668        * UIProcess/API/efl/ewk_context.cpp:
40669        (Ewk_Context::storageManager):
40670        (ewk_context_storage_manager_get):
40671        * UIProcess/API/efl/ewk_context.h:
40672        * UIProcess/API/efl/ewk_context_private.h:
40673        (Ewk_Context):
40674        * UIProcess/API/efl/ewk_security_origin.cpp: Added.
40675        (Ewk_Security_Origin::Ewk_Security_Origin):
40676        (Ewk_Security_Origin::host):
40677        (Ewk_Security_Origin::protocol):
40678        (Ewk_Security_Origin::port):
40679        (ewk_security_origin_ref):
40680        (ewk_security_origin_unref):
40681        (ewk_security_origin_host_get):
40682        (ewk_security_origin_protocol_get):
40683        (ewk_security_origin_port_get):
40684        * UIProcess/API/efl/ewk_security_origin.h: Added.
40685        * UIProcess/API/efl/ewk_security_origin_private.h: Added.
40686        (Ewk_Security_Origin):
40687        (Ewk_Security_Origin::create):
40688        * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
40689        (Ewk_Storage_Manager::Ewk_Storage_Manager):
40690        (Ewk_Storage_Manager::getStorageOrigins):
40691        (Ewk_Storage_Manager::createOriginList):
40692        (_Ewk_Storage_Origins_Async_Get_Context):
40693        (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
40694        (getStorageOriginsCallback):
40695        (ewk_storage_manager_origins_get):
40696        * UIProcess/API/efl/ewk_storage_manager.h: Added.
40697        * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
40698        (Ewk_Storage_Manager):
40699        (Ewk_Storage_Manager::create):
40700        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
40701        (TEST_F):
40702        * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
40703        (getStorageOriginsCallback):
40704        (TEST_F):
40705
407062012-10-31  Alexandru Chiculita  <achicu@adobe.com>
40707
40708        CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
40709        https://bugs.webkit.org/show_bug.cgi?id=100889
40710
40711        Reviewed by Noam Rosenthal.
40712
40713        The custom filters parameters list was initialized with a specific size and then
40714        the decoder was expected to fill it with all the decoded parameters. The decoder was
40715        using the append command which added the paramters at the end, so it doubled the size
40716        of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
40717        directly into the allocated space.
40718
40719        No new tests, the code path is not activated yet.
40720
40721        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
40722        (CoreIPC::::decode):
40723
407242012-10-31  Sam Weinig  <sam@webkit.org>
40725
40726        Convert the rest of the encoders to take the encoder as a reference
40727        https://bugs.webkit.org/show_bug.cgi?id=100821
40728
40729        Reviewed by Anders Carlsson.
40730
40731        * Platform/CoreIPC/ArgumentCoders.h:
40732        (CoreIPC::SimpleArgumentCoder::encode):
40733        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
40734        (CoreIPC::::encode):
40735        (CoreIPC::encodeTimingFunction):
40736        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
40737        * Shared/PrintInfo.cpp:
40738        (WebKit::PrintInfo::encode):
40739        * Shared/SessionState.cpp:
40740        * Shared/UserMessageCoders.h:
40741        (WebKit::UserMessageDecoder::baseDecode):
40742        * Shared/WebCoreArgumentCoders.cpp:
40743        (CoreIPC::::encode):
40744        * Shared/WebCoreArgumentCoders.h:
40745        * Shared/WebGeolocationPosition.cpp:
40746        (WebKit::WebGeolocationPosition::Data::encode):
40747        * Shared/WebLayerTreeInfo.cpp:
40748        (WebKit::WebLayerInfo::encode):
40749        * Shared/gtk/ArgumentCodersGtk.cpp:
40750        (CoreIPC::encodeImage):
40751        (CoreIPC::encodeDataObject):
40752        (CoreIPC::::encode):
40753        (CoreIPC::encodeGKeyFile):
40754        (CoreIPC::encode):
40755        * Shared/gtk/ArgumentCodersGtk.h:
40756        * Shared/mac/WebCoreArgumentCodersMac.mm:
40757        (CoreIPC::::encodePlatformData):
40758        (CoreIPC::::encode):
40759        * Shared/qt/ArgumentCodersQt.cpp:
40760        (CoreIPC::::encode):
40761        * Shared/qt/ArgumentCodersQt.h:
40762        (CoreIPC):
40763        * Shared/qt/WebCoreArgumentCodersQt.cpp:
40764        (CoreIPC::::encodePlatformData):
40765        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
40766        (CoreIPC::::encodePlatformData):
40767        * Shared/win/WebCoreArgumentCodersWin.cpp:
40768        (CoreIPC::::encodePlatformData):
40769        * WebProcess/WebPage/DecoderAdapter.cpp:
40770        (WebKit::DecoderAdapter::decodeBytes):
40771        * WebProcess/WebPage/EncoderAdapter.cpp:
40772        (WebKit::EncoderAdapter::encodeBytes):
40773
407742012-10-31  Jesse van den Kieboom  <jessevdk@gnome.org>
40775
40776        Enable webkit2 introspection
40777        https://bugs.webkit.org/show_bug.cgi?id=94313
40778
40779        Reviewed by Martin Robinson.
40780
40781        This patch enables generation of introspection information for webkit2
40782        in the same was as it is done for webkit. The resulting gir and
40783        typelib file are named WebKit2-3.0.{gir,typelib}.
40784
40785        * GNUmakefile.am:
40786        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
40787
407882012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
40789
40790        [EFL][WK2] Add Ewk_File_Chooser_Request API
40791        https://bugs.webkit.org/show_bug.cgi?id=100818
40792
40793        Reviewed by Kenneth Rohde Christiansen.
40794
40795        Add Ewk_File_Chooser_Request API so that the client
40796        can handle file chooser requests (e.g. Show a file
40797        picker dialog) when the user clicks on an input
40798        element of type "file".
40799
40800        * PlatformEfl.cmake:
40801        * UIProcess/API/efl/EWebKit2.h:
40802        * UIProcess/API/efl/EwkViewCallbacks.h:
40803        (EwkViewCallbacks):
40804        * UIProcess/API/efl/ewk_file_chooser_request.cpp: Added.
40805        (Ewk_File_Chooser_Request::Ewk_File_Chooser_Request):
40806        (Ewk_File_Chooser_Request::~Ewk_File_Chooser_Request):
40807        (Ewk_File_Chooser_Request::allowMultipleFiles):
40808        (Ewk_File_Chooser_Request::acceptedMIMETypes):
40809        (Ewk_File_Chooser_Request::cancel):
40810        (Ewk_File_Chooser_Request::chooseFiles):
40811        (ewk_file_chooser_request_ref):
40812        (ewk_file_chooser_request_unref):
40813        (ewk_file_chooser_request_allow_multiple_files_get):
40814        (ewk_file_chooser_request_accepted_mimetypes_get):
40815        (ewk_file_chooser_request_cancel):
40816        (ewk_file_chooser_request_files_choose):
40817        (ewk_file_chooser_request_file_choose):
40818        * UIProcess/API/efl/ewk_file_chooser_request.h: Added.
40819        * UIProcess/API/efl/ewk_file_chooser_request_private.h: Added.
40820        (WebKit):
40821        (Ewk_File_Chooser_Request):
40822        (Ewk_File_Chooser_Request::create):
40823        (Ewk_File_Chooser_Request::wasHandled):
40824        * UIProcess/API/efl/ewk_view.h:
40825        * UIProcess/API/efl/tests/resources/file_chooser.html: Added.
40826        * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Added corresponding
40827        unit tests.
40828        (onFileChooserRequest):
40829        (compareStrings):
40830        (freeStringList):
40831        (TEST_F):
40832        * UIProcess/efl/PageUIClientEfl.cpp:
40833        (WebKit::PageUIClientEfl::runOpenPanel):
40834        (WebKit):
40835        (WebKit::PageUIClientEfl::PageUIClientEfl):
40836        * UIProcess/efl/PageUIClientEfl.h:
40837        (PageUIClientEfl):
40838
408392012-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
40840
40841        [Texmap] Enable filter animations in GraphicsLayerAnimation
40842        https://bugs.webkit.org/show_bug.cgi?id=100318
40843
40844        Reviewed by Kenneth Rohde Christiansen.
40845
40846        Encode/decode KeyframeValues of type FilterOperations.
40847
40848        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
40849        (CoreIPC::::encode):
40850        (CoreIPC::::decode):
40851
408522012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
40853
40854        [EFL][WK2][AC] Avoid storing dirty rects in a Vector inside EwkViewImpl
40855        https://bugs.webkit.org/show_bug.cgi?id=100736
40856
40857        Reviewed by Kenneth Rohde Christiansen.
40858
40859        No longer store dirty rectangles in a temporary Vector and construct
40860        a WebCore::Region directly from them instead. This avoid having to
40861        iterate over the Vector in EwkViewImpl::displayTimerFired() to construct
40862        a Region object, which should be more efficient.
40863
40864        * UIProcess/API/efl/EwkViewImpl.cpp:
40865        (EwkViewImpl::displayTimerFired):
40866        (EwkViewImpl::redrawRegion):
40867        * UIProcess/API/efl/EwkViewImpl.h:
40868        (WebCore):
40869        (EwkViewImpl):
40870
408712012-10-30  Anders Carlsson  <andersca@apple.com>
40872
40873        Connection::Client::didReceiveInvalidMessage should take the full message name
40874        https://bugs.webkit.org/show_bug.cgi?id=100788
40875
40876        Reviewed by Sam Weinig.
40877
40878        Change Connection::Client::didReceiveInvalidMessage to take the message receiver name and message name as parameters
40879        and make WebProcessProxy::didReceiveInvalidMessage print out the full message name.
40880
40881        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
40882        (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
40883        * NetworkProcess/NetworkConnectionToWebProcess.h:
40884        (NetworkConnectionToWebProcess):
40885        * NetworkProcess/NetworkProcess.cpp:
40886        (WebKit::NetworkProcess::didReceiveInvalidMessage):
40887        * NetworkProcess/NetworkProcess.h:
40888        (NetworkProcess):
40889        * Platform/CoreIPC/Connection.cpp:
40890        (CoreIPC::Connection::dispatchMessage):
40891        * Platform/CoreIPC/Connection.h:
40892        (Client):
40893        * Platform/CoreIPC/StringReference.cpp:
40894        (CoreIPC::StringReference::toString):
40895        (CoreIPC):
40896        * Platform/CoreIPC/StringReference.h:
40897        (StringReference):
40898        * PluginProcess/PluginProcess.cpp:
40899        (WebKit::PluginProcess::didReceiveInvalidMessage):
40900        * PluginProcess/PluginProcess.h:
40901        (PluginProcess):
40902        * PluginProcess/WebProcessConnection.cpp:
40903        (WebKit::WebProcessConnection::didReceiveInvalidMessage):
40904        * PluginProcess/WebProcessConnection.h:
40905        (WebProcessConnection):
40906        * SharedWorkerProcess/SharedWorkerProcess.cpp:
40907        (WebKit::SharedWorkerProcess::didReceiveInvalidMessage):
40908        * SharedWorkerProcess/SharedWorkerProcess.h:
40909        (SharedWorkerProcess):
40910        * UIProcess/Network/NetworkProcessProxy.cpp:
40911        (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
40912        * UIProcess/Network/NetworkProcessProxy.h:
40913        (NetworkProcessProxy):
40914        * UIProcess/Plugins/PluginProcessProxy.cpp:
40915        (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
40916        * UIProcess/Plugins/PluginProcessProxy.h:
40917        (PluginProcessProxy):
40918        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
40919        (WebKit::SharedWorkerProcessProxy::didReceiveInvalidMessage):
40920        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
40921        (SharedWorkerProcessProxy):
40922        * UIProcess/WebConnectionToWebProcess.cpp:
40923        (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
40924        * UIProcess/WebConnectionToWebProcess.h:
40925        (WebConnectionToWebProcess):
40926        * UIProcess/WebProcessProxy.cpp:
40927        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
40928        * UIProcess/WebProcessProxy.h:
40929        (WebProcessProxy):
40930        * WebProcess/Network/NetworkProcessConnection.cpp:
40931        (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
40932        * WebProcess/Network/NetworkProcessConnection.h:
40933        (NetworkProcessConnection):
40934        * WebProcess/Plugins/PluginProcessConnection.cpp:
40935        (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
40936        * WebProcess/Plugins/PluginProcessConnection.h:
40937        (PluginProcessConnection):
40938        * WebProcess/WebConnectionToUIProcess.cpp:
40939        (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
40940        * WebProcess/WebConnectionToUIProcess.h:
40941        (WebConnectionToUIProcess):
40942        * WebProcess/WebProcess.cpp:
40943        (WebKit::WebProcess::didReceiveInvalidMessage):
40944        * WebProcess/WebProcess.h:
40945        (WebProcess):
40946
409472012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
40948
40949        [EFL][WK2][AC] Use smart pointers for Evas_GL types
40950        https://bugs.webkit.org/show_bug.cgi?id=100745
40951
40952        Reviewed by Kenneth Rohde Christiansen.
40953
40954        Replace raw pointers to Evas_GL, Evas_GL_Context and
40955        Evas_GL_Surface by smart pointers in EwkViewImpl.
40956
40957        C++ wrappers were added for Evas_GL_Context and
40958        Evas_GL_Surface in order to use OwnPtr. This is needed
40959        because their destroy functions need the Evas_GL.
40960
40961        * PlatformEfl.cmake:
40962        * UIProcess/API/efl/EvasGLContext.cpp: Added.
40963        (WebKit):
40964        (WebKit::EvasGLContext::EvasGLContext):
40965        (WebKit::EvasGLContext::~EvasGLContext):
40966        * UIProcess/API/efl/EvasGLContext.h: Added.
40967        (WebKit):
40968        (EvasGLContext):
40969        (WebKit::EvasGLContext::create):
40970        (WebKit::EvasGLContext::context):
40971        * UIProcess/API/efl/EvasGLSurface.cpp: Added.
40972        (WebKit):
40973        (WebKit::EvasGLSurface::EvasGLSurface):
40974        (WebKit::EvasGLSurface::~EvasGLSurface):
40975        * UIProcess/API/efl/EvasGLSurface.h: Added.
40976        (WebKit):
40977        (EvasGLSurface):
40978        (WebKit::EvasGLSurface::create):
40979        (WebKit::EvasGLSurface::surface):
40980        * UIProcess/API/efl/EwkViewImpl.cpp:
40981        (EwkViewImpl::EwkViewImpl):
40982        (EwkViewImpl::displayTimerFired):
40983        (EwkViewImpl::createGLSurface):
40984        (EwkViewImpl::enterAcceleratedCompositingMode):
40985        (EwkViewImpl::exitAcceleratedCompositingMode):
40986        * UIProcess/API/efl/EwkViewImpl.h:
40987        (EwkViewImpl::evasGL):
40988        (EwkViewImpl::evasGLContext):
40989        (EwkViewImpl::evasGLSurface):
40990        (EwkViewImpl::resetEvasGLSurface):
40991        (EwkViewImpl):
40992        * UIProcess/API/efl/ewk_view.cpp:
40993        (_ewk_view_smart_calculate):
40994
409952012-10-31  Balazs Kelemen  <kbalazs@webkit.org>
40996
40997        [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
40998        https://bugs.webkit.org/show_bug.cgi?id=100247
40999
41000        Reviewed by Jocelyn Turcotte.
41001
41002        Make sure we have a visible window for tests that want to render.
41003
41004        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
41005        (tst_QQuickWebView::showWebView):
41006        (tst_QQuickWebView::removeFromCanvas):
41007        (tst_QQuickWebView::multipleWebViewWindows):
41008        (tst_QQuickWebView::multipleWebViews):
41009        (tst_QQuickWebView::basicRenderingSanity):
41010        (tst_QQuickWebView::transparentWebViews):
41011        Removed some unnecessary resize now that the window have a default size.
41012        * UIProcess/API/qt/tests/testwindow.h:
41013        (TestWindow): Resize the window to a default size at construction.
41014
410152012-10-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
41016
41017        [EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
41018        https://bugs.webkit.org/show_bug.cgi?id=100679
41019
41020        Reviewed by Kenneth Rohde Christiansen.
41021
41022        This patch aligns the EFL implementation with other ports. Before
41023        that, we had an inconsistence: the return value of the getter could
41024        not be used on the setter (the setter expects a full path, not a
41025        directory).
41026
41027        * UIProcess/API/efl/ewk_context.cpp:
41028        (Ewk_Context::faviconDatabase):
41029        * UIProcess/efl/WebContextEfl.cpp:
41030        (WebKit::WebContext::platformDefaultIconDatabasePath):
41031
410322012-10-31  Ian Vollick  <vollick@chromium.org>
41033
41034        Add support for text-based repaint testing
41035        https://bugs.webkit.org/show_bug.cgi?id=100584
41036
41037        Reviewed by Simon Fraser.
41038
41039        Allows tracked repaint rects to be dumped as text.
41040
41041        * mac/WebKit2.order:
41042        * win/WebKit2.def:
41043        * win/WebKit2CFLite.def:
41044          Exports for:
41045            FrameView::setTracksRepaints(bool)
41046            Frame::trackedRepaintRectsAsText() const
41047
410482012-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
41049
41050        [EFL] Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set API test
41051        https://bugs.webkit.org/show_bug.cgi?id=100839
41052
41053        Unreviewed, Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set
41054        API test since it is failing on the bots.
41055
41056        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
41057        (TEST_F):
41058
410592012-10-31  KyungTae Kim  <ktf.kim@samsung.com>
41060
41061        [WK2][EFL] Assert check need to be changed in InputMethodContextEfl::InputMethodContextEfl
41062        https://bugs.webkit.org/show_bug.cgi?id=100840
41063
41064        Reviewed by Kenneth Rohde Christiansen.
41065
41066        Because 'context' is already set to 'm_context', assert check need to be done for m_context.
41067
41068        * UIProcess/efl/InputMethodContextEfl.cpp:
41069        (WebKit::InputMethodContextEfl::InputMethodContextEfl):
41070
410712012-10-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41072
41073        [WK2/EFL] Make sure all our events are transformed correctly
41074        https://bugs.webkit.org/show_bug.cgi?id=100836
41075
41076        Reviewed by Alexis Menard.
41077
41078        When moving to using the tiled backing store, we need to
41079        transform our events before sending them to the web process.
41080
41081        We needed to do that before as well, as the webkit view
41082        doesn't have to be positioned at (0,0), but it was done in
41083        a hacking way in the WebEvent creating.
41084
41085        Now we generate two transforms, one for transforming points
41086        to the web content, and one for transforming them into the
41087        device screen coordinate system.
41088
41089        This fixes the global position which was wrong before.
41090
41091        * Shared/NativeWebMouseEvent.h:
41092        (NativeWebMouseEvent):
41093        * Shared/NativeWebTouchEvent.h:
41094        (NativeWebTouchEvent):
41095        * Shared/NativeWebWheelEvent.h:
41096        (NativeWebWheelEvent):
41097        * Shared/efl/NativeWebMouseEventEfl.cpp:
41098        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
41099        * Shared/efl/NativeWebTouchEventEfl.cpp:
41100        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
41101        * Shared/efl/NativeWebWheelEventEfl.cpp:
41102        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
41103        * Shared/efl/WebEventFactory.cpp:
41104        (WebKit::WebEventFactory::createWebMouseEvent):
41105        (WebKit::WebEventFactory::createWebWheelEvent):
41106        (WebKit::WebEventFactory::createWebTouchEvent):
41107        * Shared/efl/WebEventFactory.h:
41108        (WebEventFactory):
41109        * UIProcess/API/efl/ewk_view.cpp:
41110        (toDeviceScreenTransform):
41111        (toWebContentTransform):
41112        (_ewk_view_smart_mouse_wheel):
41113        (_ewk_view_smart_mouse_down):
41114        (_ewk_view_smart_mouse_up):
41115        (_ewk_view_smart_mouse_move):
41116        (ewk_view_feed_touch_event):
41117
411182012-10-31  Byungwoo Lee  <bw80.lee@samsung.com>
41119
41120        [WK2] Change the scope of locking in CoreIPC::Connection class.
41121        https://bugs.webkit.org/show_bug.cgi?id=98998
41122
41123        Reviewed by Laszlo Gombos.
41124
41125        Release the m_incomingMessagesLock and m_outgoingMessagesLock mutexes
41126        immediately after the protected resource is no longer modified to
41127        prevent a possible source of a deadlock.
41128
41129        The change allows the EFL port to prevent an actual dead-lock
41130        situation with some upcoming changes.
41131
41132        * Platform/CoreIPC/Connection.cpp:
41133        (CoreIPC::Connection::sendMessage):
41134        (CoreIPC::Connection::enqueueIncomingMessage):
41135
411362012-10-31  Tim Horton  <timothy_horton@apple.com>
41137
41138        Unreviewed, fix header sorting in r132992.
41139
41140        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
41141        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
41142
411432012-10-31  Tim Horton  <timothy_horton@apple.com>
41144
41145        Unreviewed, fix 32bit build breakage.
41146
41147        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
41148        (WebKit::PDFPluginAnnotation::updateGeometry):
41149
411502012-10-31  Tim Horton  <timothy_horton@apple.com>
41151
41152        Full-page PDFPlugin should support inline form editing
41153        https://bugs.webkit.org/show_bug.cgi?id=100155
41154
41155        Reviewed by Dan Bernstein.
41156
41157        Add form controls corresponding to Text and Choice PDF annotations,
41158        allowing for single- and multi-line text input, and <select>-like input.
41159
41160        Currently, forms are only implemented for full-page PDF documents.
41161
41162        * Shared/mac/PDFKitImports.h:
41163        (WebKit): Add pdfAnnotationTextWidgetClass and pdfAnnotationChoiceWidgetClass.
41164        * Shared/mac/PDFKitImports.mm:
41165        (WebKit::pdfAnnotationTextWidgetClass): Add pdfAnnotationTextWidgetClass.
41166        (WebKit::pdfAnnotationChoiceWidgetClass): Add pdfAnnotationChoiceWidgetClass.
41167        * WebKit2.xcodeproj/project.pbxproj: Add PDFLayerControllerDetails, PDFPluginTextAnnotation, PDFPluginChoiceAnnotation,
41168        and PDFPluginAnnotation.
41169        * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Added. Extract PDFLayerController details category into a header.
41170        * WebProcess/Plugins/PDF/PDFPlugin.h:
41171        (PDFPlugin): Add m_activeAnnotation, to keep track of the active PDFPluginAnnotation, and m_annotationContainer,
41172        the <div> that form controls are inserted into.
41173        * WebProcess/Plugins/PDF/PDFPlugin.mm:
41174        (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeActiveAnnotation:]): Forward active annotation changes to PDFPlugin.
41175        (WebKit::PDFPlugin::PDFPlugin): Add a <div> to the PluginDocument <body>, which will contain <input>, <select>, and <textarea> elements
41176        corresponding to the active annotation. This div is made to fit to the body, and is "overflow: hidden" so that form elements scrolled
41177        out of the viewport do not cause the Document to expand to be larger than the Plugin.
41178        (WebKit::PDFPlugin::pdfDocumentDidLoad): Update PDFPlugin's notion of the scroll position immediately after the document loads, in case
41179        the scroll position is constrained by PDFKit.
41180        (WebKit::PDFPlugin::destroy): Tear down any forms for the active annotation.
41181        (WebKit::PDFPlugin::geometryDidChange): Notify the current annotation that it should update its geometry when the Plugin's geometry changes.
41182        (WebKit::PDFPlugin::setScrollOffset): Notify the current annotation that it should update its geometry when we scroll.
41183        (WebKit::PDFPlugin::setActiveAnnotation): Commit changes to the current annotation, if there is one, then make a new PDFPluginAnnotation
41184        corresponding to the newly active annotation, and attach it to our document.
41185        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Added.
41186        (WebKit::PDFPluginAnnotation::element): Return the Element corresponding to this object.
41187        (WebKit::PDFPluginAnnotation::annotation): Return the PDFAnnotation corresponding to this object.
41188        (WebKit::PDFPluginAnnotation::plugin): Return the Plugin that created this object.
41189        (WebKit::PDFPluginAnnotation::commit): Commit changes from the form to the PDFAnnotation. This is implemented in subclasses.
41190        (WebKit::PDFPluginAnnotation::attach): Attach a PDFPluginAnnotation to its parent Element.
41191        (WebKit::PDFPluginAnnotation::parent): Return the parent Element that we're attach()ed to.
41192        (WebKit::PDFPluginAnnotation::pdfLayerController): Return the pdfLayerController that the PDFAnnotation comes from.
41193        (PDFPluginAnnotationEventListener): Add an event listener to respond to "change" and "blur" events from m_element.
41194        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Added.
41195        (WebKit::PDFPluginAnnotation::create): Create the appropriate PDFPluginAnnotation subclass (PDFPluginTextAnnotation or
41196        PDFPluginChoiceAnnotation based on the class of the PDFAnnotation).
41197        (WebKit::PDFPluginAnnotation::attach): Lazily create the HTML form element corresponding to this annotation. Add it to its parent
41198        element. Add event listeners for "change" and "blur".
41199        (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Tear down the annotation, by removing event listeners and removing
41200        the form element from its parent element.
41201        (WebKit::PDFPluginAnnotation::updateGeometry): Update the size and position of the form element, given the current PDF scale and scrolling position.
41202        (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): If we get a blur or change event, we should remove the
41203        form control to match the behavior of PDFKit.
41204        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: Added.
41205        (WebKit::PDFPluginChoiceAnnotation::choiceAnnotation): Return annotation() with the appropriate cast.
41206        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: Added.
41207        (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Update the font size of the choice widget given the current PDF scale.
41208        (WebKit::PDFPluginChoiceAnnotation::commit): Save the value of the currently selected <option> into the PDFAnnotationChoiceWidget.
41209        (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Create a <select> element, populated with <option> elements
41210        for the PDFAnnotationChoiceWidget's available choices. Select the correct <option> initially.
41211        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: Added.
41212        (WebKit::PDFPluginTextAnnotation::textAnnotation): Return annotation() with the appropriate cast.
41213        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Added.
41214        (WebKit::cssAlignmentValueForNSTextAlignment): Return the CSS alignment value for a given NSTextAlignment.
41215        (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Create a <textarea> or <input> element, depending on whether the
41216        PDFAnnotationTextWidget supports multiline editing or not.
41217        (WebKit::PDFPluginTextAnnotation::updateGeometry): Update the font size of the text widget given the current PDF scale.
41218        (WebKit::PDFPluginTextAnnotation::commit): Save the current string in the form element into the PDFAnnotationTextWidget.
41219        * WebProcess/WebPage/WebPage.cpp:
41220        (WebKit::focusedPluginViewForFrame): Return the PluginView for a Frame only if the Plugin's element is focused.
41221        (WebKit::WebPage::executeEditingCommand): Only forward editing commands to PluginView if the plugin itself is focused.
41222        (WebKit::WebPage::isEditingCommandEnabled): Ditto.
41223        (WebKit::WebPage::validateCommand): Ditto.
41224
412252012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
41226
41227        [Mac] Make WebKit2 Build with NETWORK_PROCESS disabled
41228        https://bugs.webkit.org/show_bug.cgi?id=100798
41229
41230        Reviewed by David Kilzer.
41231
41232        Wrap a few remaining NetworkProcess files and related code in
41233        ENABLE(NETWORK_PROCESS) guards to avoid being compiled when disabled.
41234
41235        * NetworkProcess/HostRecord.cpp:
41236        * NetworkProcess/HostRecord.h:
41237        * NetworkProcess/NetworkRequest.cpp:
41238        * NetworkProcess/NetworkRequest.h:
41239        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
41240        * UIProcess/Network/NetworkProcessManager.cpp:
41241        * UIProcess/Network/NetworkProcessManager.h:
41242        Wrap files in guards.
41243
41244        * UIProcess/Launcher/ProcessLauncher.h:
41245        * UIProcess/Launcher/ProcessLauncher.cpp:
41246        (WebKit::ProcessLauncher::processTypeAsString):
41247        (WebKit::ProcessLauncher::getProcessTypeFromString):
41248        Wrap NetworkProcess enum access in guards.
41249
41250        * WebProcess/WebKitMain.cpp:
41251        (WebKitMain):
41252        Wrap NetworkProcess enum switch case in guards.
41253
41254        * WebKit2Prefix.h:
41255        Remove an extraneous close and reopen of the same guard.
41256
412572012-10-30  Jae Hyun Park  <jae.park@company100.net>
41258
41259        Coordinated Graphics: Remove unused methods
41260        https://bugs.webkit.org/show_bug.cgi?id=100799
41261
41262        Reviewed by Noam Rosenthal.
41263
41264        Currently, there are several unused methods regarding Coordinated
41265        Graphics. This patch removes those unused methods.
41266
41267        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
41268        (LayerTreeCoordinatorProxy):
41269        * UIProcess/DrawingAreaProxy.h:
41270
412712012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
41272
41273        [Mac] Sync up FeatureDefine Configuration Files
41274        https://bugs.webkit.org/show_bug.cgi?id=100171
41275
41276        Reviewed by David Kilzer.
41277
41278        Follow up to better coordinate with iOS feature defines. Make:
41279
41280          - ENABLE_FILTERS always on
41281          - ENABLE_INPUT_* iphonesimulator values point to the iphoneos values
41282
41283        * Configurations/FeatureDefines.xcconfig:
41284
412852012-10-30  Joseph Pecoraro  <pecoraro@apple.com>
41286
41287        [Mac] Sync up FeatureDefine Configuration Files
41288        https://bugs.webkit.org/show_bug.cgi?id=100171
41289
41290        Reviewed by David Kilzer.
41291
41292        Ensure an identical FeatureDefine files across all projects. Changes:
41293
41294          - ENABLE_CSS_BOX_DECORATION_BREAK should be in all
41295          - ENABLE_PDFKIT_PLUGIN should be in all
41296          - ENABLE_RESOLUTION_MEDIA_QUERY should be in all
41297          - ENABLE_ENCRYPTED_MEDIA should be in all
41298          - ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING with corrected value
41299          - Some alphabetical ordering cleanup
41300
41301        * Configurations/FeatureDefines.xcconfig:
41302
413032012-10-30  Christophe Dumez  <christophe.dumez@intel.com>
41304
41305        Regression(r132887): Caused segfault in a EWK2UnitTestBase.ewk_view_text_find
41306        https://bugs.webkit.org/show_bug.cgi?id=100781
41307
41308        Reviewed by Kenneth Rohde Christiansen.
41309
41310        Make sure we pass a pointer to zero instead of a NULL pointer
41311        as parameter to the "text,found" in case the text could not
41312        be found. This prevents crashing in
41313        EWK2UnitTestBase.ewk_view_text_find when trying to dereference
41314        the parameter pointer.
41315
41316        * UIProcess/efl/FindClientEfl.cpp:
41317        (WebKit::FindClientEfl::didFailToFindString):
41318
413192012-10-30  Brady Eidson  <beidson@apple.com>
41320
41321        Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
41322        <rdar://problem/12596761> and https://webkit.org/b/100792
41323
41324        Reviewed by Tim Hatcher.
41325
41326        In release builds we can sometimes end up with a null ResourceLoader due to a race condition
41327        with the WebProcess telling the NetworkProcess to remove a resource load at the very same time
41328        the NetworkProcess is about to start that load.
41329
41330        Until we can resolve that race condition an early return will be necessary.
41331
41332        * WebProcess/Network/WebResourceLoadScheduler.cpp:
41333        (WebKit::WebResourceLoadScheduler::startResourceLoad):
41334
413352012-10-30  Jesse van den Kieboom  <jessevdk@gnome.org>
41336
41337        Fixed transfer annotation for default web context
41338        https://bugs.webkit.org/show_bug.cgi?id=94314
41339
41340        Reviewed by Martin Robinson.
41341
41342        Add a missing colon which prevented the transfer annotation of
41343        webkit_web_context_get_default to be parsed correctly.
41344
41345        * UIProcess/API/gtk/WebKitWebContext.cpp:
41346
413472012-10-30  Anders Carlsson  <andersca@apple.com>
41348
41349        Use the message name when dispatching messages
41350        https://bugs.webkit.org/show_bug.cgi?id=100774
41351
41352        Reviewed by Andreas Kling.
41353
41354        Change the message generator to decide which function to call based on the message name instead
41355        of the MessageID. This is yet another step towards eliminating MessageID completely.
41356
41357        * Scripts/webkit2/messages.py:
41358        (async_message_statement):
41359        (sync_message_statement):
41360        (generate_message_handler):
41361        * Scripts/webkit2/messages_unittest.py:
41362        * UIProcess/WebProcessProxy.h:
41363        (WebKit::WebProcessProxy::send):
41364        * WebProcess/InjectedBundle/InjectedBundle.cpp:
41365        (WebKit::InjectedBundle::postMessage):
41366        (WebKit::InjectedBundle::postSynchronousMessage):
41367
413682012-10-29  Sam Weinig  <sam@webkit.org>
41369
41370        Switch more class to use the new << form of encode
41371        https://bugs.webkit.org/show_bug.cgi?id=100725
41372
41373        Reviewed by Anders Carlsson.
41374
41375        - Switches many uses of encoder.encode(foo) to encoder << foo.
41376        - Switches a few places to take an ArgumentEncoder& rather than an ArgumentEncoder*.
41377        - Switches a few places away from using encoder.encodeVariableLengthByteArray(foo) to
41378          using encoder << CoreIPC::DataReference(foo).
41379
41380        * Platform/CoreIPC/HandleMessage.h:
41381        (CoreIPC::handleMessage):
41382        (CoreIPC::handleMessageVariadic):
41383        * Platform/CoreIPC/StringReference.cpp:
41384        (CoreIPC::StringReference::encode):
41385        (CoreIPC::StringReference::decode):
41386        * Platform/CoreIPC/mac/MachPort.h:
41387        (CoreIPC::MachPort::encode):
41388        * Platform/mac/SharedMemoryMac.cpp:
41389        (WebKit::SharedMemory::Handle::encode):
41390        * PluginProcess/PluginCreationParameters.cpp:
41391        (WebKit::PluginCreationParameters::encode):
41392        * Shared/DictionaryPopupInfo.cpp:
41393        (WebKit::DictionaryPopupInfo::encode):
41394        * Shared/EditorState.cpp:
41395        (WebKit::EditorState::encode):
41396        * Shared/FontInfo.cpp:
41397        (WebKit::FontInfo::encode):
41398        * Shared/Network/NetworkProcessCreationParameters.cpp:
41399        (WebKit::NetworkProcessCreationParameters::encode):
41400        * Shared/OriginAndDatabases.cpp:
41401        (WebKit::OriginAndDatabases::encode):
41402        * Shared/PlatformPopupMenuData.cpp:
41403        (WebKit::PlatformPopupMenuData::encode):
41404        * Shared/Plugins/NPIdentifierData.cpp:
41405        (WebKit::NPIdentifierData::encode):
41406        * Shared/Plugins/NPVariantData.cpp:
41407        (WebKit::NPVariantData::encode):
41408        * Shared/Plugins/PluginProcessCreationParameters.cpp:
41409        (WebKit::PluginProcessCreationParameters::encode):
41410        * Shared/PrintInfo.cpp:
41411        (WebKit::PrintInfo::encode):
41412        * Shared/SecurityOriginData.cpp:
41413        (WebKit::SecurityOriginData::encode):
41414        * Shared/SessionState.cpp:
41415        (WebKit::SessionState::encode):
41416        * Shared/ShareableBitmap.cpp:
41417        (WebKit::ShareableBitmap::Handle::encode):
41418        * Shared/SharedWorkerProcessCreationParameters.cpp:
41419        (WebKit::SharedWorkerProcessCreationParameters::encode):
41420        * Shared/StatisticsData.cpp:
41421        (WebKit::StatisticsData::encode):
41422        * Shared/StringPairVector.h:
41423        (WebKit::StringPairVector::encode):
41424        * Shared/UpdateInfo.cpp:
41425        (WebKit::UpdateInfo::encode):
41426        * Shared/UserMessageCoders.h:
41427        (WebKit::UserMessageEncoder::baseEncode):
41428        * Shared/WebBackForwardListItem.cpp:
41429        (WebKit::WebBackForwardListItem::encode):
41430        * Shared/WebContextMenuItemData.cpp:
41431        (WebKit::WebContextMenuItemData::encode):
41432        * Shared/WebEvent.cpp:
41433        (WebKit::WebEvent::encode):
41434        * Shared/WebGestureEvent.cpp:
41435        (WebKit::WebGestureEvent::encode):
41436        * Shared/WebHitTestResult.cpp:
41437        (WebKit::WebHitTestResult::Data::encode):
41438        * Shared/WebKeyboardEvent.cpp:
41439        (WebKit::WebKeyboardEvent::encode):
41440        * Shared/WebMouseEvent.cpp:
41441        (WebKit::WebMouseEvent::encode):
41442        * Shared/WebNavigationDataStore.h:
41443        (WebKit::WebNavigationDataStore::encode):
41444        * Shared/WebPageCreationParameters.cpp:
41445        (WebKit::WebPageCreationParameters::encode):
41446        * Shared/WebPageGroupData.cpp:
41447        (WebKit::WebPageGroupData::encode):
41448        * Shared/WebPlatformTouchPoint.cpp:
41449        (WebKit::WebPlatformTouchPoint::encode):
41450        * Shared/WebPopupItem.cpp:
41451        (WebKit::WebPopupItem::encode):
41452        * Shared/WebPreferencesStore.cpp:
41453        (WebKit::WebPreferencesStore::encode):
41454        * Shared/WebProcessCreationParameters.cpp:
41455        (WebKit::WebProcessCreationParameters::encode):
41456        * Shared/WebTouchEvent.cpp:
41457        (WebKit::WebTouchEvent::encode):
41458        * Shared/WebWheelEvent.cpp:
41459        (WebKit::WebWheelEvent::encode):
41460        * Shared/cf/ArgumentCodersCF.cpp:
41461        (CoreIPC::encode):
41462        (CoreIPC::decode):
41463        * Shared/cf/ArgumentCodersCF.h:
41464        (CoreIPC):
41465        * Shared/mac/ArgumentCodersMac.h:
41466        (CoreIPC):
41467        * Shared/mac/ArgumentCodersMac.mm:
41468        (CoreIPC::encode):
41469        * Shared/mac/AttributedString.mm:
41470        (WebKit::AttributedString::encode):
41471        * Shared/mac/ColorSpaceData.mm:
41472        (WebKit::ColorSpaceData::encode):
41473        * Shared/mac/KeychainAttribute.cpp:
41474        (CoreIPC::encode):
41475        * Shared/mac/KeychainAttribute.h:
41476        (CoreIPC):
41477        * Shared/mac/LayerTreeContextMac.mm:
41478        (WebKit::LayerTreeContext::encode):
41479        * Shared/mac/PlatformCertificateInfo.mm:
41480        (WebKit::PlatformCertificateInfo::encode):
41481        * Shared/mac/SandboxExtensionMac.mm:
41482        (WebKit::SandboxExtension::Handle::encode):
41483        (WebKit::SandboxExtension::Handle::decode):
41484        (WebKit::SandboxExtension::HandleArray::encode):
41485        (WebKit::SandboxExtension::HandleArray::decode):
41486        * Shared/mac/SecItemRequestData.cpp:
41487        (WebKit::SecItemRequestData::encode):
41488        * Shared/mac/SecItemResponseData.cpp:
41489        (WebKit::SecItemResponseData::encode):
41490        * Shared/mac/SecKeychainItemRequestData.cpp:
41491        (WebKit::SecKeychainItemRequestData::encode):
41492        (WebKit::SecKeychainItemRequestData::decode):
41493        * Shared/mac/SecKeychainItemResponseData.cpp:
41494        (WebKit::SecKeychainItemResponseData::encode):
41495        * Shared/mac/WebCoreArgumentCodersMac.mm:
41496        (CoreIPC::::encodePlatformData):
41497        * UIProcess/WebConnectionToWebProcess.cpp:
41498        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
41499        * UIProcess/WebContextUserMessageCoders.h:
41500        (WebKit::WebContextUserMessageEncoder::encode):
41501        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
41502        (WebKit::InjectedBundleUserMessageEncoder::encode):
41503        * WebProcess/Plugins/Plugin.cpp:
41504        (WebKit::Plugin::Parameters::encode):
41505        * WebProcess/WebConnectionToUIProcess.cpp:
41506        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
41507
415082012-10-29  Anders Carlsson  <andersca@apple.com>
41509
41510        Build WebKit as C++11 on Mac
41511        https://bugs.webkit.org/show_bug.cgi?id=100720
41512
41513        Reviewed by Daniel Bates.
41514
41515        * Configurations/Base.xcconfig:
41516        Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
41517
41518        * UIProcess/mac/WebCookieManagerProxyMac.mm:
41519        (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
41520        * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
41521        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
41522        Add explicit casts to NSHTTPCookieAcceptPolicy.
41523
415242012-10-30  Sergio Villar Senin  <svillar@igalia.com>
41525
41526        [WK2][Qt] Enable hover and mouse events in flickable WebView
41527        https://bugs.webkit.org/show_bug.cgi?id=100296
41528
41529        Reviewed by Kenneth Rohde Christiansen.
41530
41531        Flickable WebView is now allowed to handle both hover and mouse
41532        events. Flickable was initially meant to be the mobile interface and
41533        was only handling touch events, but now the idea is that it will be
41534        the WebView for both mobile and desktop environments.
41535
41536        * UIProcess/API/qt/qquickwebview.cpp:
41537        (QQuickWebViewPrivate::initialize): refactored hover and mouse
41538        event handling from children classes.
41539        (QQuickWebViewLegacyPrivate::initialize):
41540        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
41541
415422012-10-29  Anders Carlsson  <andersca@apple.com>
41543
41544        String::createCFString should return a RetainPtr
41545        https://bugs.webkit.org/show_bug.cgi?id=100419
41546
41547        Reviewed by Andreas Kling.
41548
41549        Update callers of String::createCFString.
41550
41551        * Platform/mac/ModuleMac.mm:
41552        (WebKit::Module::load):
41553        * PluginProcess/mac/PluginProcessMac.mm:
41554        (WebKit::initializeSandbox):
41555        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
41556        (WebKit::NetscapePluginModule::getPluginInfo):
41557        (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
41558        * UIProcess/cf/WebBackForwardListCF.cpp:
41559        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
41560        * UIProcess/cf/WebPageProxyCF.cpp:
41561        (WebKit::WebPageProxy::sessionStateData):
41562        (WebKit::autosaveKey):
41563        (WebKit::WebPageProxy::saveRecentSearches):
41564        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
41565        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
41566        * WebProcess/WebPage/win/WebPageWin.cpp:
41567        (WebKit::cachedResponseForURL):
41568        * WebProcess/win/WebProcessWin.cpp:
41569        (WebKit::WebProcess::platformSetCacheModel):
41570        (WebKit::WebProcess::platformInitializeWebProcess):
41571
415722012-10-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
41573
41574        Regression(r132647)-Enable WebGL in EwkView.
41575        https://bugs.webkit.org/show_bug.cgi?id=100552.
41576
41577        Reviewed by Kenneth Rohde Christiansen.
41578
41579        WebGL is enabled with following changeset: http://trac.webkit.org/changeset/132627.
41580        Some changes are lost after the following changeset: http://trac.webkit.org/changeset/132647
41581        i.e setWebGLEnabled(true);  in EwkViewImpl.cpp.
41582        This patch re-applies the lost changes.
41583
41584        * UIProcess/API/efl/EwkViewImpl.cpp:
41585        (EwkViewImpl::EwkViewImpl):
41586
415872012-10-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
41588
41589        [Qt] Animations jump when the page is suspended
41590        https://bugs.webkit.org/show_bug.cgi?id=100673
41591
41592        Reviewed by Kenneth Rohde Christiansen.
41593
41594        GraphicsLayerAnimations::pause() should accept time from start and not an offset.
41595
41596        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
41597        (WebCore::CoordinatedGraphicsLayer::addAnimation):
41598        (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
41599        (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
41600        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
41601        (CoordinatedGraphicsLayer):
41602
416032012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
41604
41605        [EFL][WK2] Fix EFL build after r132887
41606        https://bugs.webkit.org/show_bug.cgi?id=100748
41607
41608        Reviewed by Gyuyoung Kim.
41609
41610        Fixed EFL build failure with WTF_USE_TILED_BACKING_STORE enabled caused by http://trac.webkit.org/changeset/132887.
41611
41612        * UIProcess/efl/PageLoadClientEfl.cpp:
41613        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
41614
416152012-10-30  Max Vujovic  <mvujovic@adobe.com>
41616
41617        [CSS Shaders] Reject vertex shaders with custom attributes
41618        https://bugs.webkit.org/show_bug.cgi?id=98973
41619
41620        Reviewed by Dean Jackson.
41621
41622        Replace CustomFilterOperation::MeshType with CustomFilterMeshType from
41623        CustomFilterConstants.h.
41624
41625        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
41626        (CoreIPC::::encode):
41627            Read the shader strings directly from the CustomFilterProgram instead of asking for a
41628            CustomFilterProgramInfo object. Also, encode the meshType earlier so that decoding can
41629            can use it to create a WebCustomFilterProgram, which now requires a meshType.
41630        (CoreIPC::::decode):
41631            Decode the meshType earlier to pass it to the new WebCustomFilterProgram constructor.
41632        * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
41633        (WebKit::WebCustomFilterProgram::create):
41634            Add a meshType parameter to pass to the base class constructor.
41635        (WebKit::WebCustomFilterProgram::WebCustomFilterProgram): Ditto.
41636
416372012-10-30  Andras Becsi  <andras.becsi@digia.com>
41638
41639        [Qt][WK2] Remove ViewportUpdateDeferrer from PageViewportController
41640        https://bugs.webkit.org/show_bug.cgi?id=100665
41641
41642        Reviewed by Jocelyn Turcotte.
41643
41644        Since the original use case of delayed viewport updates and the issue
41645        of infinite loop conditions between the programmatic adjustmet of the
41646        viewport and the Qt notification signals are not present any more the
41647        ViewportUpdateDeferrer became an unnecessary legacy and can be removed.
41648
41649        * UIProcess/PageViewportController.cpp:
41650        (WebKit::PageViewportController::PageViewportController):
41651        (WebKit::PageViewportController::pageDidRequestScroll):
41652        * UIProcess/PageViewportController.h:
41653        (WebKit):
41654        (PageViewportController):
41655        * UIProcess/qt/PageViewportControllerClientQt.cpp:
41656        (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
41657        (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
41658        (WebKit::PageViewportControllerClientQt::flickMoveStarted):
41659        (WebKit::PageViewportControllerClientQt::flickMoveEnded):
41660        (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
41661        (WebKit::PageViewportControllerClientQt::touchBegin):
41662        (WebKit::PageViewportControllerClientQt::touchEnd):
41663        (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
41664        (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
41665        (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
41666        (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
41667        * UIProcess/qt/PageViewportControllerClientQt.h:
41668        (PageViewportControllerClientQt):
41669
416702012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
41671
41672        [EFL][WK2] Simplify signal emitting API in EwkViewImpl
41673        https://bugs.webkit.org/show_bug.cgi?id=100506
41674
41675        Reviewed by Kenneth Rohde Christiansen.
41676
41677        Now signal emitting API in EwkViewImpl is simplified so that
41678        there is one EwkViewImpl::smartCallback template method
41679        returning EwkViewCallbacks::CallBack class instance
41680        which encapsulates Ewk_view callback info and also provide
41681        arguments type checking.
41682
41683        * UIProcess/API/efl/EwkViewCallbacks.h: Added.
41684        (EwkViewCallbacks):
41685        (CallBackInfo):
41686        (EwkViewCallbacks::CallBackInfo::name):
41687        (EwkViewCallbacks::CallBackInfo::hasArguments):
41688        (CallBack):
41689        (EwkViewCallbacks::CallBack::CallBack):
41690        (EwkViewCallbacks::CallBack::call):
41691        * UIProcess/API/efl/EwkViewImpl.cpp:
41692        * UIProcess/API/efl/EwkViewImpl.h:
41693        (EwkViewImpl):
41694        (EwkViewImpl::smartCallback):
41695        * UIProcess/efl/DownloadManagerEfl.cpp:
41696        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
41697        (WebKit::DownloadManagerEfl::didFail):
41698        (WebKit::DownloadManagerEfl::didCancel):
41699        (WebKit::DownloadManagerEfl::didFinish):
41700        * UIProcess/efl/FindClientEfl.cpp:
41701        (WebKit::FindClientEfl::didFindString):
41702        (WebKit::FindClientEfl::didFailToFindString):
41703        * UIProcess/efl/FormClientEfl.cpp:
41704        (WebKit::FormClientEfl::willSubmitForm):
41705        * UIProcess/efl/PageClientImpl.cpp:
41706        (WebKit::PageClientImpl::processDidCrash):
41707        (WebKit::PageClientImpl::toolTipChanged):
41708        * UIProcess/efl/PageLoadClientEfl.cpp:
41709        (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
41710        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
41711        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
41712        (WebKit::PageLoadClientEfl::didChangeProgress):
41713        (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
41714        (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
41715        (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
41716        (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
41717        (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
41718        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
41719        (WebKit::PageLoadClientEfl::didChangeBackForwardList):
41720        * UIProcess/efl/PagePolicyClientEfl.cpp:
41721        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
41722        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
41723        * UIProcess/efl/ResourceLoadClientEfl.cpp:
41724        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
41725        (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
41726        (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
41727        (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
41728        (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
41729        (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
41730        (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
41731
417322012-10-30  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
41733
41734        Coordinated Graphics: Unrelease adopted images
41735        https://bugs.webkit.org/show_bug.cgi?id=100671
41736
41737        Reviewed by Kenneth Rohde Christiansen.
41738
41739        Reloading could cause a crash since r132640 where the directly composited
41740        image would be re-adopted with the same key before it was properly released
41741        in the UI process.
41742        Cancel the release when this happens rather than creating a new image.
41743
41744        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
41745        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
41746
417472012-10-30  Christophe Dumez  <christophe.dumez@intel.com>
41748
41749        [EFL][WK2] Let Ecore_Evas own the cursor object
41750        https://bugs.webkit.org/show_bug.cgi?id=100731
41751
41752        Reviewed by Kenneth Rohde Christiansen.
41753
41754        Ecore_Evas takes care of calling evas_object_del() on
41755        the cursor object when it is no longer used (e.g. when
41756        it is replaced by another cursor object). Therefore,
41757        we don't need to keep a RefPtr to the cursor Evas
41758        Object as a data member of EwkViewImpl. We pass
41759        ownership of the cursor object to Ecore_Evas.
41760
41761        * UIProcess/API/efl/EwkViewImpl.cpp:
41762        (EwkViewImpl::setCursor):
41763        * UIProcess/API/efl/EwkViewImpl.h:
41764        (EwkViewImpl):
41765
417662012-10-30  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
41767
41768        [EFL][WK2] Simplify getting impl from ewk_view evas object instance
41769        https://bugs.webkit.org/show_bug.cgi?id=100505
41770
41771        Reviewed by Kenneth Rohde Christiansen.
41772
41773        Macros are removed from EwkViewImpl.h. New macro added to EwkViewImpl.cpp
41774        so that it's possible to get impl directly from ewk view.
41775
41776        * UIProcess/API/efl/EwkViewImpl.cpp:
41777        (EwkViewImpl::displayTimerFired):
41778        * UIProcess/API/efl/EwkViewImpl.h:
41779        * UIProcess/API/efl/ewk_view.cpp:
41780        (_ewk_view_smart_focus_in):
41781        (_ewk_view_smart_focus_out):
41782        (mapToWebContent):
41783        (_ewk_view_smart_mouse_wheel):
41784        (_ewk_view_smart_mouse_down):
41785        (_ewk_view_smart_mouse_up):
41786        (_ewk_view_smart_mouse_move):
41787        (_ewk_view_smart_key_down):
41788        (_ewk_view_smart_key_up):
41789        (_ewk_view_on_show):
41790        (_ewk_view_on_hide):
41791        (_ewk_view_smart_calculate):
41792        (_ewk_view_smart_color_set):
41793        (ewk_view_context_get):
41794        (ewk_view_url_set):
41795        (ewk_view_url_get):
41796        (ewk_view_icon_url_get):
41797        (ewk_view_reload):
41798        (ewk_view_reload_bypass_cache):
41799        (ewk_view_stop):
41800        (ewk_view_settings_get):
41801        (ewk_view_title_get):
41802        (ewk_view_load_progress_get):
41803        (ewk_view_scale_set):
41804        (ewk_view_scale_get):
41805        (ewk_view_device_pixel_ratio_set):
41806        (ewk_view_device_pixel_ratio_get):
41807        (ewk_view_theme_set):
41808        (ewk_view_theme_get):
41809        (ewk_view_back):
41810        (ewk_view_forward):
41811        (ewk_view_intent_deliver):
41812        (ewk_view_back_possible):
41813        (ewk_view_forward_possible):
41814        (ewk_view_back_forward_list_get):
41815        (ewk_view_html_string_load):
41816        (ewk_view_setting_encoding_custom_get):
41817        (ewk_view_setting_encoding_custom_set):
41818        (ewk_view_text_find):
41819        (ewk_view_text_find_highlight_clear):
41820        (ewk_view_text_matches_count):
41821        (ewk_view_mouse_events_enabled_set):
41822        (ewk_view_mouse_events_enabled_get):
41823        (ewk_view_feed_touch_event):
41824        (ewk_view_touch_events_enabled_set):
41825        (ewk_view_touch_events_enabled_get):
41826        (ewk_view_inspector_show):
41827        (ewk_view_inspector_close):
41828        (ewk_view_pagination_mode_set):
41829        (ewk_view_pagination_mode_get):
41830
418312012-10-30  Byungwoo Lee  <bw80.lee@samsung.com>
41832
41833        [WK2] Remove incorrect use of preprocessor macro in API headers.
41834        https://bugs.webkit.org/show_bug.cgi?id=100722
41835
41836        Reviewed by Gyuyoung Kim.
41837
41838        Remove the preprocessor macro ENABLE(INSPECTOR) from the WKAPICast.h
41839        and WKInspector.h.
41840
41841        * UIProcess/API/C/WKAPICast.h:
41842        (WebKit):
41843        * UIProcess/API/C/WKInspector.cpp:
41844        (WKInspectorGetTypeID):
41845        (WKInspectorGetPage):
41846        (WKInspectorIsVisible):
41847        (WKInspectorIsFront):
41848        (WKInspectorShow):
41849        (WKInspectorClose):
41850        (WKInspectorShowConsole):
41851        (WKInspectorShowResources):
41852        (WKInspectorShowMainResourceForFrame):
41853        (WKInspectorIsAttached):
41854        (WKInspectorAttach):
41855        (WKInspectorDetach):
41856        (WKInspectorIsDebuggingJavaScript):
41857        (WKInspectorToggleJavaScriptDebugging):
41858        (WKInspectorIsProfilingJavaScript):
41859        (WKInspectorToggleJavaScriptProfiling):
41860        (WKInspectorIsProfilingPage):
41861        (WKInspectorTogglePageProfiling):
41862        * UIProcess/API/C/WKInspector.h:
41863
418642012-10-29  Sergio Villar Senin  <svillar@igalia.com>
41865
41866        REGRESSION(r130755): All WebKit2 unit tests are failing in WebKit2 bot
41867        https://bugs.webkit.org/show_bug.cgi?id=98864
41868
41869        Reviewed by Martin Robinson.
41870
41871        Use a dedicated directory to store WebKit2 generated resources.
41872
41873        * UIProcess/API/gtk/tests/GNUmakefile.am:
41874        * UIProcess/API/gtk/tests/TestMain.cpp:
41875        (registerGResource): load the resource from the new directory.
41876
418772012-10-29  Huang Dongsung  <luxtella@company100.net>
41878
41879        Coordinated Graphics: Delete cached ShareableSurfaces when purging backingStores.
41880        https://bugs.webkit.org/show_bug.cgi?id=100705
41881
41882        Reviewed by Noam Rosenthal.
41883
41884        LayerTreeCoordinatorProxy can be used after calling
41885        LayerTreeCoordinatorProxy::purgeBackingStores(). So we should clear cached
41886        ShareableSurfaces.
41887
41888        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
41889        (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
41890
418912012-10-28  Mark Rowe  <mrowe@apple.com>
41892
41893        Simplify Xcode configuration settings that used to vary between OS versions.
41894
41895        Reviewed by Dan Bernstein.
41896
41897        * Configurations/Base.xcconfig:
41898        * Configurations/WebKit2.xcconfig:
41899
419002012-10-28  Mark Rowe  <mrowe@apple.com>
41901
41902        Remove references to unsupported OS and Xcode versions.
41903
41904        Reviewed by Anders Carlsson.
41905
41906        * Configurations/Base.xcconfig:
41907        * Configurations/CompilerVersion.xcconfig: Removed.
41908        * Configurations/DebugRelease.xcconfig:
41909        * Configurations/Version.xcconfig:
41910        * DerivedSources.make:
41911        * WebKit2.xcodeproj/project.pbxproj:
41912
419132012-10-29  Alexey Proskuryakov  <ap@apple.com>
41914
41915        [WK2] Add a NetworkingContext for NetworkProcess
41916        https://bugs.webkit.org/show_bug.cgi?id=100708
41917
41918        Reviewed by Anders Carlsson.
41919
41920        Each request will have a context, because these are so lightweight on Mac, and
41921        other platforms will need ResourceHandle refactored anyway to use NetworkProcess.
41922
41923        * NetworkProcess/mac/RemoteNetworkingContext.h: Added.
41924        * NetworkProcess/mac/RemoteNetworkingContext.mm: Added.
41925        These go mac/ subdirectory, because NetworkingContext interface is different on
41926        each platform, as ResourceHandle needs dictate.
41927
41928        * WebKit2.xcodeproj/project.pbxproj:
41929
419302012-10-29  Michael Saboff  <msaboff@apple.com>
41931
41932        buildHTTPHeaders() should use a StringBuilder.appendLiteral() for separator
41933        https://bugs.webkit.org/show_bug.cgi?id=100689
41934
41935        Reviewed by Darin Adler.
41936
41937        Changed from using a String temporary for the separator to using StringBuilder.appendLiteral(": ").
41938
41939        * WebProcess/Plugins/PluginView.cpp:
41940        (WebKit::buildHTTPHeaders):
41941
419422012-10-29  Michael Saboff  <msaboff@apple.com>
41943
41944        WKStringCopyCFString() should directly use 8 bit Strings data instead of up converting
41945        https://bugs.webkit.org/show_bug.cgi?id=100579
41946
41947        Reviewed by Oliver Hunt.
41948
41949        Changed to use CFStringCreateWithBytes() for 8 bit strings using characters8() for an 8 bit argument string.
41950        Changed the current call to characters16().
41951
41952        * Shared/API/c/cf/WKStringCF.cpp:
41953        (WKStringCopyCFString):
41954
419552012-10-29  Enrica Casucci  <enrica@apple.com>
41956
41957        Add ENABLE_USERSELECT_ALL feature flag.
41958        https://bugs.webkit.org/show_bug.cgi?id=100559
41959
41960        Reviewed by Eric Seidel.
41961
41962        * Configurations/FeatureDefines.xcconfig:
41963
419642012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
41965
41966        [WK2][WKTR] Enable Shadow DOM at runtime if compiled with SHADOW_DOM support
41967        https://bugs.webkit.org/show_bug.cgi?id=100668
41968
41969        Reviewed by Kenneth Rohde Christiansen.
41970
41971        Add Bundle API to enable Shadow DOM functionality. This is
41972        now needed by WebKitTestRunner.
41973
41974        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
41975        (WKBundleSetShadowDOMEnabled):
41976        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
41977        * WebProcess/InjectedBundle/InjectedBundle.cpp:
41978        (WebKit::InjectedBundle::setShadowDOMEnabled):
41979        (WebKit):
41980        * WebProcess/InjectedBundle/InjectedBundle.h:
41981        (InjectedBundle):
41982
419832012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
41984
41985        [EFL][WK2] Fix cursor change detection in EwkViewImpl::setCursor()
41986        https://bugs.webkit.org/show_bug.cgi?id=100662
41987
41988        Reviewed by Kenneth Rohde Christiansen.
41989
41990        Cursor change detection in EwkViewImpl::setCursor() relies on
41991        addresses returned by Cursor::platformCursor(). However, the
41992        value returned is currently assigned to a WKEinaSharedString
41993        instead of a raw pointer. Therefore, the address is always
41994        different and we keep recreating Evas Objects for the same
41995        cursor.
41996
41997        * UIProcess/API/efl/EwkViewImpl.cpp:
41998        (EwkViewImpl::EwkViewImpl):
41999        (EwkViewImpl::setCursor): Call smartData() after same cursor
42000        detection since it is not needed if the cursor has not changed
42001        and it may affect performance.
42002        * UIProcess/API/efl/EwkViewImpl.h:
42003        (EwkViewImpl):
42004
420052012-10-29  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
42006
42007        Coordinated Graphics: Make sure that we release images immediately when purging resources
42008        https://bugs.webkit.org/show_bug.cgi?id=100661
42009
42010        Reviewed by Noam Rosenthal.
42011
42012        When we purge, we do both on the UI and web process at the same time,
42013        both are expected to release references of the other process.
42014        This creates problem when delaying the release of directly composited
42015        images.
42016
42017        Release them immediately in that case.
42018
42019        Fixes the tst_QQuickWebView::removeFromCanvas API test.
42020
42021        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
42022        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
42023        (WebKit::LayerTreeCoordinator::purgeReleasedImages):
42024        (WebKit):
42025        (WebKit::LayerTreeCoordinator::purgeBackingStores):
42026        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
42027        (LayerTreeCoordinator):
42028
420292012-10-29  Christophe Dumez  <christophe.dumez@intel.com>
42030
42031        [EFL][WK2] Avoid useless assignment in EwkViewImpl::setCustomTextEncodingName()
42032        https://bugs.webkit.org/show_bug.cgi?id=100667
42033
42034        Reviewed by Kenneth Rohde Christiansen.
42035
42036        Remove useless m_customEncoding assignment in EwkViewImpl::setCustomTextEncodingName()
42037        since the member is anyway assigned in EwkViewImpl::customTextEncodingName().
42038
42039        Have EwkViewImpl::setCustomTextEncodingName() take a String in argument instead
42040        of a const char* to make the API more C++ and since we don't need a const char*
42041        to assign to m_customEncoding anymore.
42042
42043        * UIProcess/API/efl/EwkViewImpl.cpp:
42044        (EwkViewImpl::setCustomTextEncodingName):
42045        * UIProcess/API/efl/EwkViewImpl.h:
42046        (EwkViewImpl):
42047        * UIProcess/API/efl/ewk_view.cpp:
42048        (ewk_view_setting_encoding_custom_set):
42049
420502012-10-29  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
42051
42052        [WK2] Enable delegated scrolling as soon as the FrameView is created when using fixed layout
42053        https://bugs.webkit.org/show_bug.cgi?id=100383
42054
42055        Reviewed by Kenneth Rohde Christiansen.
42056
42057        Scroll requests and PageTransitionViewportReady messages depend on
42058        delegated scrolling being set properly on the FrameView to behave
42059        properly. Since we were waiting for the viewport information to be
42060        ready before setting the flag this could cause those messages to be avoided.
42061
42062        This patch takes most of the flag set by setResizesToContentsUsingLayoutSize
42063        and apply them as soon as possible in WebPage::setUseFixedLayout and
42064        WebFrameLoaderClient::transitionToCommittedForNewPage.
42065
42066        The behavior should be the same except for the following settings which are
42067        now set outside of USE(TILED_BACKING_STORE) if we're using fixed layout:
42068        - setAcceleratedCompositingForFixedPositionEnabled
42069        - setFixedElementsLayoutRelativeToFrame
42070        - setFixedPositionCreatesStackingContext
42071
42072        This fixes the tst_QQuickWebView::scrollRequest auto test and improves the
42073        reliability of the loadVisuallyCommitted signal with pages loaded from disk.
42074
42075        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42076        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
42077        * WebProcess/WebPage/WebPage.cpp:
42078        (WebKit::WebPage::sendViewportAttributesChanged):
42079        (WebKit::WebPage::setUseFixedLayout):
42080        (WebKit::WebPage::setFixedLayoutSize):
42081        * WebProcess/WebPage/WebPage.h:
42082        (WebPage):
42083
420842012-10-29  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
42085
42086        Unreviewed build fix after r132709.
42087
42088        * Shared/WebMemorySampler.cpp: Include unistd.h for getpid(3).
42089
420902012-10-28  Byungwoo Lee  <bw80.lee@samsung.com>
42091
42092        [WK2] Fix the incorrect use of preprocessor statement in API header.
42093        https://bugs.webkit.org/show_bug.cgi?id=100610
42094
42095        Reviewed by Timothy Hatcher.
42096
42097        Remove the preprocessor statement to check 'ENABLE_INSPECTOR' feature
42098        from the WKPage.h.
42099
42100        * UIProcess/API/C/WKPage.cpp:
42101        (WKPageGetInspector):
42102        * UIProcess/API/C/WKPage.h:
42103
421042012-10-28  Yael Aharon  <yael.aharon@intel.com>
42105
42106        [EFL][WK2][AC] Viewport size does not change when the window size changes
42107        https://bugs.webkit.org/show_bug.cgi?id=100573
42108
42109        Reviewed by Kenneth Rohde Christiansen.
42110
42111        The viewport size is set when we create the window the first time
42112        and does not change automatically afterwards. When we change the window size,
42113        we need to explicitly change the viewport size as well.
42114
42115        * UIProcess/API/efl/EwkViewImpl.cpp:
42116        (EwkViewImpl::createGLSurface):
42117
421182012-10-27  Noam Rosenthal  <noam.rosenthal@nokia.com>
42119
42120        Unreviewed build fix for breakage to minimal bot caused by r132742.
42121
42122        * WebProcess/WebPage/LayerTreeHost.h:
42123        (LayerTreeHost):
42124            Added appropriate ENABLE(REQUEST_ANIMATION_FRAME) flag.
42125
421262012-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
42127
42128        Unreviewed, rolling out r132740.
42129        http://trac.webkit.org/changeset/132740
42130        https://bugs.webkit.org/show_bug.cgi?id=100603
42131
42132        "Causing many crashes" (Requested by weinig on #webkit).
42133
42134        * UIProcess/Downloads/DownloadProxy.cpp:
42135        (WebKit::DownloadProxy::DownloadProxy):
42136        (WebKit::DownloadProxy::invalidate):
42137        (WebKit):
42138        * UIProcess/Downloads/DownloadProxy.h:
42139        (DownloadProxy):
42140        * UIProcess/WebContext.cpp:
42141        (WebKit::WebContext::createDownloadProxy):
42142        (WebKit::WebContext::downloadFinished):
42143        (WebKit::WebContext::didReceiveMessage):
42144        (WebKit::WebContext::didReceiveSyncMessage):
42145        * UIProcess/WebContext.h:
42146        (WebKit):
42147        * UIProcess/WebPageProxy.cpp:
42148        (WebKit::WebPageProxy::WebPageProxy):
42149        (WebKit::WebPageProxy::~WebPageProxy):
42150        (WebKit::WebPageProxy::didReceiveMessage):
42151        (WebKit::WebPageProxy::didReceiveSyncMessage):
42152        * UIProcess/WebPageProxy.h:
42153        (CoreIPC):
42154        (WebPageProxy):
42155        * UIProcess/WebProcessProxy.cpp:
42156        (WebKit::WebProcessProxy::didReceiveMessage):
42157        (WebKit::WebProcessProxy::didReceiveSyncMessage):
42158        * UIProcess/WebProcessProxy.h:
42159        (WebProcessProxy):
42160        * WebProcess/WebPage/WebPageGroupProxy.cpp:
42161        (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
42162        (WebKit):
42163        (WebKit::WebPageGroupProxy::didReceiveMessage):
42164        (WebKit::WebPageGroupProxy::WebPageGroupProxy):
42165        * WebProcess/WebPage/WebPageGroupProxy.h:
42166        (CoreIPC):
42167        (WebPageGroupProxy):
42168        * WebProcess/WebProcess.cpp:
42169        (WebKit::WebProcess::didReceiveSyncMessage):
42170        (WebKit::WebProcess::didReceiveMessage):
42171
421722012-10-27  Noam Rosenthal  <noam.rosenthal@nokia.com>
42173
42174        Coordinated Graphics: Animation jerkiness when rAF is enabled
42175        https://bugs.webkit.org/show_bug.cgi?id=100536
42176
42177        Reviewed by Kenneth Rohde Christiansen.
42178
42179        The jerkiness comes from the fact that we schedule animations excessively; That's because
42180        the previous patch broke requestAnimationFrame behavior during CSS animations, since the
42181        frame returns right away instead of waiting till the previous frame is actually rendered.
42182
42183        This patch makes sure that when animations are scheduled, they're only serviced after the
42184        UI process has actually painted the previous frame. We do so by sending a
42185        RequestAnimationFrame message to the UI process, which responds with AnimationFrameReady
42186        after the UI process paints.
42187
42188        New test: fast/animations/request-animation-frame-too-rapid.html
42189        Tests that we don't receive an unreasonably high number of callbacks from
42190        requestAnimationFrame (> 1000FPS).
42191
42192        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
42193        (WebKit):
42194        (WebKit::LayerTreeCoordinatorProxy::requestAnimationFrame):
42195        (WebKit::LayerTreeCoordinatorProxy::animationFrameReady):
42196        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
42197        (LayerTreeCoordinatorProxy):
42198        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
42199        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
42200        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
42201        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
42202        (WebKit):
42203        (WebKit::LayerTreeRenderer::animationFrameReady):
42204        (WebKit::LayerTreeRenderer::requestAnimationFrame):
42205        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
42206        (LayerTreeRenderer):
42207        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
42208        (WebKit):
42209        (WebKit::LayerTreeCoordinator::scheduleAnimation):
42210        (WebKit::LayerTreeCoordinator::animationFrameReady):
42211        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
42212        (LayerTreeCoordinator):
42213        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
42214
422152012-10-27  Sam Weinig  <sam@webkit.org>
42216
42217        Yet more MessageReceivering
42218        https://bugs.webkit.org/show_bug.cgi?id=100325
42219
42220        Reviewed by Anders Carlsson.
42221
42222        Make DownloadProxy, WebPageProxy, and WebPageGroupProxy MessageReceivers.
42223
42224        * UIProcess/Downloads/DownloadProxy.cpp:
42225        (WebKit::DownloadProxy::DownloadProxy):
42226        (WebKit::DownloadProxy::invalidate):
42227        (WebKit::DownloadProxy::didReceiveMessage):
42228        (WebKit::DownloadProxy::didReceiveSyncMessage):
42229        * UIProcess/Downloads/DownloadProxy.h:
42230        (DownloadProxy):
42231        Make a MessageReceiver.
42232
42233        * UIProcess/WebContext.cpp:
42234        (WebKit::WebContext::WebContext):
42235        (WebKit::WebContext::addMessageReceiver):
42236        (WebKit::WebContext::removeMessageReceiver):
42237        (WebKit::WebContext::didReceiveMessage):
42238        (WebKit::WebContext::didReceiveSyncMessage):
42239        * UIProcess/WebContext.h:
42240        Add additional MessageReceiverMap forwards, and stop dealing with DownloadProxy explicitly.
42241        
42242        * UIProcess/WebPageProxy.cpp:
42243        (WebKit::WebPageProxy::WebPageProxy):
42244        (WebKit::WebPageProxy::~WebPageProxy):
42245        (WebKit::WebPageProxy::didReceiveMessage):
42246        (WebKit::WebPageProxy::didReceiveSyncMessage):
42247        * UIProcess/WebPageProxy.h:
42248        Make a MessageReceiver, but keep sub objects using didReceiveMessage for now (like WebPage).
42249        
42250        * UIProcess/WebProcessProxy.cpp:
42251        (WebKit::WebProcessProxy::addMessageReceiver):
42252        (WebKit::WebProcessProxy::removeMessageReceiver):
42253        (WebKit::WebProcessProxy::didReceiveMessage):
42254        (WebKit::WebProcessProxy::didReceiveSyncMessage):
42255        * UIProcess/WebProcessProxy.h:
42256        Give WebProcessProxy a MessageReceiverMap and all the appropriate forwarding methods.
42257        
42258        * WebProcess/WebPage/WebPageGroupProxy.cpp:
42259        (WebKit::WebPageGroupProxy::WebPageGroupProxy):
42260        (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
42261        (WebKit::WebPageGroupProxy::didReceiveMessage):
42262        * WebProcess/WebPage/WebPageGroupProxy.h:
42263        (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
42264        (WebPageGroupProxy):
42265        Make a MessageReceiver and register/unregister with the WebProcess.
42266
42267        * WebProcess/WebProcess.cpp:
42268        (WebKit::WebProcess::didReceiveSyncMessage):
42269        Remove extraneous return statement.
42270        (WebKit::WebProcess::didReceiveMessage):
42271        Stop handling WebPageGroupProxy special.
42272
422732012-10-27  Sam Weinig  <sam@webkit.org>
42274
42275        Completely roll out https://bugs.webkit.org/show_bug.cgi?id=99251 (r131686)
42276
42277        It has caused too many crashes.
42278
42279        * UIProcess/API/mac/PageClientImpl.mm:
42280        * UIProcess/API/mac/WKView.mm:
42281        * UIProcess/API/mac/WKViewInternal.h:
42282        * UIProcess/API/mac/WKViewPrivate.h:
42283        * UIProcess/mac/CorrectionPanel.mm:
42284        * UIProcess/mac/WKFullScreenWindowController.mm:
42285        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
42286
422872012-10-27  Michael Saboff  <msaboff@apple.com>
42288
42289        buildHTTPHeaders() should use a StringBuilder instead of a Vector<UChar>
42290        https://bugs.webkit.org/show_bug.cgi?id=100580
42291
42292        Reviewed by Oliver Hunt.
42293
42294        Replaced Vector<UChar> with StringBuilder in the HTTP header construction function buildHTTPHeaders.
42295        This eliminates 8 -> 16 bit up conversion of the strings involved.
42296
42297        * WebProcess/Plugins/PluginView.cpp:
42298        (WebKit::buildHTTPHeaders):
42299
423002012-10-27  Dan Bernstein  <mitz@apple.com>
42301
42302        REAL_PLATFORM_NAME build setting is no longer needed
42303        https://bugs.webkit.org/show_bug.cgi?id=100587
42304
42305        Reviewed by Mark Rowe.
42306
42307        Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
42308        to PLATFORM_NAME.
42309
42310        * Configurations/Base.xcconfig:
42311        * Configurations/BaseTarget.xcconfig:
42312        * Configurations/CompilerVersion.xcconfig:
42313        * Configurations/FeatureDefines.xcconfig:
42314        * Configurations/WebKit2.xcconfig:
42315
423162012-10-26  Brady Eidson  <beidson@apple.com>
42317
42318        Have NetworkProcess manage resource load scheduling.
42319        https://bugs.webkit.org/show_bug.cgi?id=100479
42320
42321        Reviewed by Alexey Proskuryakov.
42322
42323        Implement a ResourceLoadScheduler that models the same behavior as WebCore::ResourceLoadScheduler.
42324        
42325        The WebProcess scheduler acts as a marshall to the NetworkProcess scheduler via CoreIPC messaging.
42326
42327        Besides MainResourceLoads which are started directly in the WebProcess, all other loads are now
42328        started only when the NetworkProcess tells them to start.
42329
42330        Build-system and messaging related stuff:
42331        * DerivedSources.make:
42332        * Platform/CoreIPC/MessageID.h:
42333        * WebKit2.xcodeproj/project.pbxproj:
42334
42335        Add a new Network logging channel.
42336        * Platform/Logging.cpp:
42337        (WebKit::getChannelFromName):
42338        * Platform/Logging.h:
42339
42340        Modeled after ResourceLoadScheduler::HostInformation but more specifically geared towards what NetworkProcess needs to track:
42341        * NetworkProcess/HostRecord.cpp: Added.
42342        (WebKit::HostRecord::HostRecord):
42343        (WebKit::HostRecord::~HostRecord):
42344        (WebKit::HostRecord::schedule):
42345        (WebKit::HostRecord::addLoadInProgress):
42346        (WebKit::HostRecord::remove):
42347        (WebKit::HostRecord::hasRequests):
42348        (WebKit::HostRecord::limitRequests):
42349        * NetworkProcess/HostRecord.h:
42350        (WebKit::HostRecord::name):
42351        (WebKit::HostRecord::requestsPending):
42352
42353        Gateway messaging from the WebResourceLoadScheduler to the NetworkResourceLoadScheduler:
42354        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
42355        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
42356        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
42357        (WebKit::NetworkConnectionToWebProcess::registerObserver):
42358        (WebKit::NetworkConnectionToWebProcess::unregisterObserver):
42359        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
42360        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
42361        (WebKit::NetworkConnectionToWebProcess::didClose):
42362        (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest):
42363        (WebKit::NetworkConnectionToWebProcess::addLoadInProgress):
42364        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
42365        (WebKit::NetworkConnectionToWebProcess::crossOriginRedirectReceived):
42366        (WebKit::NetworkConnectionToWebProcess::servePendingRequests):
42367        (WebKit::NetworkConnectionToWebProcess::suspendPendingRequests):
42368        (WebKit::NetworkConnectionToWebProcess::resumePendingRequests):
42369        (WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled):
42370        * NetworkProcess/NetworkConnectionToWebProcess.h:
42371        (NetworkConnectionToWebProcessObserver): Add an observer interface so arbitrary objects can be notified if
42372          a Network->WebProcess connection closes.
42373        (WebKit::NetworkConnectionToWebProcessObserver::~NetworkConnectionToWebProcessObserver):
42374        (WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled):
42375        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
42376
42377        Represents a request,  ResourceLoadIdentifier, and connection that all correspond to the same pending NetworkLoad:
42378        * NetworkProcess/NetworkRequest.cpp:
42379        (WebKit::NetworkRequest::NetworkRequest):
42380        (WebKit::NetworkRequest::~NetworkRequest):
42381        (WebKit::NetworkRequest::connectionToWebProcessDidClose): Using the NetworkConnectionToWebProcessObserver interface,
42382          if the connection closes then clear out the connection pointer for this request that is now irrelevant.
42383        * NetworkProcess/NetworkRequest.h:
42384        (WebKit::NetworkRequest::create):
42385        (WebKit::NetworkRequest::identifier):
42386        (WebKit::NetworkRequest::connectionToWebProcess):
42387
42388        Manages connection-per-host scheduling with the same structure as WebCore::ResourceLoadScheduling but also with IPC:
42389        * NetworkProcess/NetworkResourceLoadScheduler.cpp: Added.
42390        (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
42391        (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests):
42392        (WebKit::NetworkResourceLoadScheduler::requestTimerFired):
42393        (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
42394        (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
42395        (WebKit::NetworkResourceLoadScheduler::hostForURL):
42396        (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
42397        (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
42398        (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
42399        (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve as many requests for the host as we should,
42400          skipping the NetworkRequests who have lost their connection to their WebProcess.
42401        (WebKit::NetworkResourceLoadScheduler::suspendPendingRequests):
42402        (WebKit::NetworkResourceLoadScheduler::resumePendingRequests):
42403        * NetworkProcess/NetworkResourceLoadScheduler.h: Added.
42404        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Added.
42405        (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
42406
42407        * NetworkProcess/NetworkProcess.h:
42408        (WebKit::NetworkProcess::networkResourceLoadScheduler): Add a scheduler global to the NetworkProcess.
42409
42410        A thin derivation of WebCore::ResourceLoadScheduler, most of what WebResourceLoadScheduler does is handle IPC to the NetworkProcess:
42411        * WebProcess/Network/WebResourceLoadScheduler.cpp:
42412        (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
42413        (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
42414        (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
42415        (WebKit::WebResourceLoadScheduler::scheduleLoad):
42416        (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
42417        (WebKit::WebResourceLoadScheduler::remove):
42418        (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived):
42419        (WebKit::WebResourceLoadScheduler::servePendingRequests):
42420        (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
42421        (WebKit::WebResourceLoadScheduler::resumePendingRequests):
42422        (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
42423        (WebKit::WebResourceLoadScheduler::startResourceLoad):
42424        * WebProcess/Network/WebResourceLoadScheduler.h:
42425
42426        Add the ability for the NetworkProcess to message back to the WebProcess telling it to start a resource load:
42427        * WebProcess/Network/NetworkProcessConnection.cpp:
42428        (WebKit::NetworkProcessConnection::didReceiveMessage):
42429        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
42430        (WebKit::NetworkProcessConnection::startResourceLoad):
42431        * WebProcess/Network/NetworkProcessConnection.h:
42432        * WebProcess/Network/NetworkProcessConnection.messages.in:
42433
42434        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
42435        (WebKit::WebPlatformStrategies::resourceLoadScheduler): Only return the WebResourceLoadScheduler if NetworkProcess is enabled.
42436
42437        * WebProcess/WebProcess.cpp:
42438        (WebKit::WebProcess::ensureNetworkProcessConnection): Actually keep the NetworkProcessConnection around in a member variable.
42439        (WebKit::WebProcess::networkConnection):
42440        * WebProcess/WebProcess.h:
42441        (WebKit::WebProcess::usesNetworkProcess): Expose this for platform strategies sake.
42442
424432012-10-26  Brady Eidson  <beidson@apple.com>
42444
42445        Crash in WebProces at WebCore::ResourceLoadScheduler::crossOriginRedirectReceived + 78
42446        https://bugs.webkit.org/show_bug.cgi?id=100554
42447
42448        Reviewed by Alexey Proskuryakov.
42449
42450        For now, just have WebPlatformStrategies return the same default resourceLoadScheduler that
42451        WebCore knows about.
42452
42453        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
42454        (WebKit::WebPlatformStrategies::resourceLoadScheduler):
42455
424562012-10-26  Anders Carlsson  <andersca@apple.com>
42457
42458        Crash when making NPRuntime calls with a null NPP pointer
42459        https://bugs.webkit.org/show_bug.cgi?id=100569
42460        <rdar://problem/11726426>
42461        <rdar://problem/12352836>
42462
42463        Reviewed by Darin Adler.
42464
42465        Finally bite the bullet and remove the assertion from NetscapePlugin::fromNPP. The WebKit1 equivalent of this
42466        function used to return the plug-in currently being initialized in NPP_New, but we've never done that in WebKit2
42467        and it has never been necessary. The crashes fixed here are not from calls underneath NPP_New so fixing it wouldn't
42468        do us any good anyway.
42469        
42470        Also, make the PluginDestructionProtector handle a null plug-in gracefully.
42471
42472        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
42473        (WebKit::PluginDestructionProtector::PluginDestructionProtector):
42474        (PluginDestructionProtector):
42475        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42476        (WebKit::NetscapePlugin::fromNPP):
42477
424782012-10-26  Stephanie Lewis  <slewis@apple.com>
42479
42480        Add pids to WebMemorySampleFiles.
42481        https://bugs.webkit.org/show_bug.cgi?id=100449.
42482
42483        Reviewed by Tim Horton.
42484
42485        Make it easier to associate WebMemorySamples with a process.  Add the pid to the filename and header.
42486
42487        * Shared/WebMemorySampler.cpp:
42488        (WebKit::WebMemorySampler::initializeTimers): Update notification.
42489        (WebKit::WebMemorySampler::stop): Update notification.
42490        (WebKit::WebMemorySampler::writeHeaders): dump pid in the header.
42491        * UIProcess/WebContext.cpp:
42492        (WebKit::WebContext::processDidFinishLaunching): append pid to filename.
42493
424942012-10-26  Yael Aharon  <yael.aharon@intel.com>
42495
42496        [EFL][WK2][AC] Build fix after r132647.
42497        https://bugs.webkit.org/show_bug.cgi?id=100540
42498
42499        Reviewed by Kenneth Rohde Christiansen.
42500
42501        AC enabled build is broken after the latest refactoring of EFL WK2.
42502
42503        * UIProcess/API/efl/EwkViewImpl.cpp:
42504        (EwkViewImpl::EwkViewImpl):
42505        (EwkViewImpl::displayTimerFired):
42506        (EwkViewImpl::informLoadCommitted):
42507        (EwkViewImpl::createGLSurface):
42508        (EwkViewImpl::enterAcceleratedCompositingMode):
42509        (EwkViewImpl::exitAcceleratedCompositingMode):
42510        (EwkViewImpl::informContentsSizeChange):
42511        * UIProcess/API/efl/EwkViewImpl.h:
42512        (EwkViewImpl):
42513        (EwkViewImpl::pageViewportControllerClient):
42514        (EwkViewImpl::pageViewportController):
42515        (EwkViewImpl::evasGl):
42516        (EwkViewImpl::evasGlContext):
42517        (EwkViewImpl::evasGlSurface):
42518        (EwkViewImpl::resetEvasGlSurface):
42519        * UIProcess/API/efl/ewk_view.cpp:
42520        (mapToWebContent):
42521        (_ewk_view_smart_calculate):
42522
425232012-10-26  Christophe Dumez  <christophe.dumez@intel.com>
42524
42525        [EFL][WK2] Get rid of C'ism in text checker API
42526        https://bugs.webkit.org/show_bug.cgi?id=100513
42527
42528        Reviewed by Kenneth Rohde Christiansen.
42529
42530        Make Ewk_Text_Checker a C++ class and move the
42531        WebKitTextChecker code to this new class. This
42532        gets rid of the C'ism in the text checker code
42533        and make it consistent with other Ewk classes.
42534
42535        * PlatformEfl.cmake:
42536        * UIProcess/API/efl/ewk_context.cpp:
42537        (Ewk_Context::Ewk_Context):
42538        * UIProcess/API/efl/ewk_settings.cpp:
42539        (spellCheckingLanguagesSetUpdate):
42540        (ewk_settings_continuous_spell_checking_enabled_set):
42541        (ewk_settings_spell_checking_available_languages_get):
42542        (ewk_settings_spell_checking_languages_get):
42543        * UIProcess/API/efl/ewk_text_checker.cpp:
42544        (ClientCallbacks):
42545        (textCheckerEnchant):
42546        (clientCallbacks):
42547        (isContinuousSpellCheckingEnabled):
42548        (setContinuousSpellCheckingEnabled):
42549        (uniqueSpellDocumentTag):
42550        (closeSpellDocumentWithTag):
42551        (checkSpellingOfString):
42552        (guessesForWord):
42553        (learnWord):
42554        (ignoreWord):
42555        (Ewk_Text_Checker):
42556        (Ewk_Text_Checker::availableSpellCheckingLanguages):
42557        (Ewk_Text_Checker::updateSpellCheckingLanguages):
42558        (Ewk_Text_Checker::loadedSpellCheckingLanguages):
42559        (Ewk_Text_Checker::initialize):
42560        * UIProcess/API/efl/ewk_text_checker_private.h:
42561        (Ewk_Text_Checker):
42562        * UIProcess/efl/WebKitTextChecker.cpp: Removed.
42563        * UIProcess/efl/WebKitTextChecker.h: Removed.
42564
425652012-10-26  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
42566
42567        [EFL][WK2] Clean up construction/destruction code in Ewk_view
42568        https://bugs.webkit.org/show_bug.cgi?id=100232
42569
42570        Reviewed by Kenneth Rohde Christiansen.
42571
42572        Simplified a lot of initialization and destruction code of Ewk_view and EwkViewImpl
42573        put all the impl stuff to its constructor and destructor, also made EwkViewImpl member
42574        variables private.
42575
42576        * UIProcess/API/efl/EwkViewImpl.cpp:
42577        (pageViewMap):
42578        (EwkViewImpl::addToPageViewMap):
42579        (EwkViewImpl::removeFromPageViewMap):
42580        (EwkViewImpl::viewFromPageViewMap):
42581        (EwkViewImpl::EwkViewImpl):
42582        (EwkViewImpl::~EwkViewImpl):
42583        (EwkViewImpl::wkPage):
42584        (EwkViewImpl::title):
42585        (EwkViewImpl::setThemePath):
42586        (EwkViewImpl::customTextEncodingName):
42587        (EwkViewImpl::setCustomTextEncodingName):
42588        (EwkViewImpl::informIconChange):
42589        (EwkViewImpl::informWebProcessCrashed):
42590        (EwkViewImpl::updateTextInputState):
42591        (EwkViewImpl::informURLChange):
42592        (EwkViewImpl::onFaviconChanged):
42593        * UIProcess/API/efl/EwkViewImpl.h:
42594        (WebKit):
42595        (EwkViewImpl):
42596        (EwkViewImpl::view):
42597        (EwkViewImpl::page):
42598        (EwkViewImpl::ewkContext):
42599        (EwkViewImpl::backForwardList):
42600        * UIProcess/API/efl/ewk_settings.cpp:
42601        (Ewk_Settings::preferences):
42602        * UIProcess/API/efl/ewk_view.cpp:
42603        (_ewk_view_smart_focus_in):
42604        (_ewk_view_smart_focus_out):
42605        (_ewk_view_smart_mouse_wheel):
42606        (_ewk_view_smart_mouse_down):
42607        (_ewk_view_smart_mouse_up):
42608        (_ewk_view_smart_mouse_move):
42609        (_ewk_view_smart_key_down):
42610        (_ewk_view_smart_key_up):
42611        (_ewk_view_on_show):
42612        (_ewk_view_on_hide):
42613        (_ewk_view_smart_add):
42614        (_ewk_view_smart_del):
42615        (_ewk_view_smart_calculate):
42616        (_ewk_view_smart_color_set):
42617        (createEwkViewSmartClass):
42618        (createEwkView):
42619        (ewk_view_base_add):
42620        (ewk_view_smart_add):
42621        (ewk_view_add_with_context):
42622        (ewk_view_url_set):
42623        (ewk_view_reload):
42624        (ewk_view_reload_bypass_cache):
42625        (ewk_view_stop):
42626        (ewk_view_load_progress_get):
42627        (ewk_view_scale_set):
42628        (ewk_view_scale_get):
42629        (ewk_view_device_pixel_ratio_set):
42630        (ewk_view_device_pixel_ratio_get):
42631        (ewk_view_back):
42632        (ewk_view_forward):
42633        (ewk_view_intent_deliver):
42634        (ewk_view_back_possible):
42635        (ewk_view_forward_possible):
42636        (ewk_view_back_forward_list_get):
42637        (ewk_view_html_string_load):
42638        (ewk_view_text_find):
42639        (ewk_view_text_find_highlight_clear):
42640        (ewk_view_text_matches_count):
42641        (ewk_view_feed_touch_event):
42642        (ewk_view_inspector_show):
42643        (ewk_view_inspector_close):
42644        (ewk_view_pagination_mode_set):
42645        (ewk_view_pagination_mode_get):
42646
426472012-10-26  Christophe Dumez  <christophe.dumez@intel.com>
42648
42649        [EFL][WK2] Initialize Ewk_Context class members in initialization list
42650        https://bugs.webkit.org/show_bug.cgi?id=100503
42651
42652        Reviewed by Kenneth Rohde Christiansen.
42653
42654        Move Ewk_Context class members initialization from the
42655        constructor body to the initialization list for
42656        efficiency.
42657
42658        * UIProcess/API/efl/ewk_context.cpp:
42659        (Ewk_Context::Ewk_Context):
42660
426612012-10-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
42662
42663        LayerTreeCoordinator: Make sure that dependent layers are deleted before their directly composited image
42664        https://bugs.webkit.org/show_bug.cgi?id=100495
42665
42666        Reviewed by Kenneth Rohde Christiansen.
42667
42668        Since r128980 layers removals are delayed until we flush the layer tree.
42669        This causes a crash if such a layer had a directly composited image since
42670        the image is now deleted while the layer is still active in the UI process
42671        and tries to access a deleted backing store.
42672
42673        Fix it by delaying the directly composited image removal as well.
42674
42675        Fixes a crash in tst_QQuickWebView::basicRenderingSanity since showWebView is
42676        called first and loads direct-image-compositing.html.
42677
42678        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: 
42679        (LayerTreeRenderer): Remove unused variable.
42680        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
42681        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
42682        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
42683        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
42684        (LayerTreeCoordinator):
42685
426862012-10-26  Regina Chung  <heejin.r.chung@samsung.com>
42687
42688        [EFL][WK2] Enable WebGL
42689        https://bugs.webkit.org/show_bug.cgi?id=97652
42690
42691        Reviewed by Gyuyoung Kim.
42692
42693        Set WebGLEnabled to true when WebGL is enabled.
42694
42695        * UIProcess/API/efl/ewk_view.cpp:
42696        (_ewk_view_initialize):
42697
426982012-10-26  Christophe Dumez  <christophe.dumez@intel.com>
42699
42700        [EFL][WK2] Add Ewk_Color_Picker API
42701        https://bugs.webkit.org/show_bug.cgi?id=100472
42702
42703        Reviewed by Kenneth Rohde Christiansen.
42704
42705        Move the color picker code out of EwkViewImpl and into
42706        a new Ewk_Color_Picker class to avoid cluttering the
42707        view code.
42708
42709        * PlatformEfl.cmake:
42710        * UIProcess/API/efl/EWebKit2.h:
42711        * UIProcess/API/efl/EwkViewImpl.cpp:
42712        (EwkViewImpl::requestColorPicker):
42713        (EwkViewImpl::dismissColorPicker):
42714        * UIProcess/API/efl/EwkViewImpl.h:
42715        (EwkViewImpl):
42716        * UIProcess/API/efl/ewk_color_picker.cpp: Added.
42717        (Ewk_Color_Picker::Ewk_Color_Picker):
42718        (Ewk_Color_Picker::setColor):
42719        (Ewk_Color_Picker::color):
42720        (ewk_color_picker_color_set):
42721        (ewk_color_picker_color_get):
42722        * UIProcess/API/efl/ewk_color_picker.h: Added.
42723        * UIProcess/API/efl/ewk_color_picker_private.h: Added.
42724        (Ewk_Color_Picker):
42725        (Ewk_Color_Picker::create):
42726        * UIProcess/API/efl/ewk_view.cpp:
42727        * UIProcess/API/efl/ewk_view.h:
42728        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Added.
42729        (onColorPickerDone):
42730        (setColorPickerColor):
42731        (showColorPicker):
42732        (hideColorPicker):
42733        (hideColorPickerByRemovingElement):
42734        (TEST_F):
42735        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
42736        * UIProcess/efl/PageUIClientEfl.cpp:
42737        (WebKit::PageUIClientEfl::showColorPicker):
42738
427392012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
42740
42741        Unreviewed, rolling out r132601.
42742        http://trac.webkit.org/changeset/132601
42743        https://bugs.webkit.org/show_bug.cgi?id=100494
42744
42745        It broke the Qt build (Requested by Ossy on #webkit).
42746
42747        * UIProcess/API/efl/ewk_view.cpp:
42748        (_ewk_view_initialize):
42749
427502012-10-26  Regina Chung  <heejin.r.chung@samsung.com>
42751
42752        [EFL][WK2] Enable WebGL
42753        https://bugs.webkit.org/show_bug.cgi?id=97652
42754
42755        Reviewed by Gyuyoung Kim.
42756
42757        Set WebGLEnabled to true when WebGL is enabled.
42758
42759        * UIProcess/API/efl/ewk_view.cpp:
42760        (_ewk_view_initialize):
42761
427622012-10-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
42763
42764        Add feature flags for CSS Device Adaptation
42765        https://bugs.webkit.org/show_bug.cgi?id=95960
42766
42767        Reviewed by Kenneth Rohde Christiansen.
42768
42769        * Configurations/FeatureDefines.xcconfig:
42770
427712012-10-26  Christophe Dumez  <christophe.dumez@intel.com>
42772
42773        [EFL][WK2] Move input method code out of EwkViewImpl
42774        https://bugs.webkit.org/show_bug.cgi?id=100468
42775
42776        Reviewed by Kenneth Rohde Christiansen.
42777
42778        Move input method code out of EwkViewImpl and into
42779        a new InputMethodContextEfl class to avoid cluttering
42780        the view code.
42781
42782        * PlatformEfl.cmake:
42783        * UIProcess/API/efl/EwkViewImpl.cpp:
42784        (EwkViewImpl::EwkViewImpl):
42785        (EwkViewImpl::inputMethodContext):
42786        * UIProcess/API/efl/EwkViewImpl.h:
42787        (WebKit):
42788        (EwkViewImpl):
42789        * UIProcess/API/efl/ewk_view.cpp:
42790        (_ewk_view_smart_mouse_up):
42791        (_ewk_view_smart_key_down):
42792        * UIProcess/efl/InputMethodContextEfl.cpp: Added.
42793        (WebKit):
42794        (WebKit::InputMethodContextEfl::InputMethodContextEfl):
42795        (WebKit::InputMethodContextEfl::~InputMethodContextEfl):
42796        (WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
42797        (WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
42798        (WebKit::InputMethodContextEfl::createIMFContext):
42799        (WebKit::InputMethodContextEfl::handleMouseUpEvent):
42800        (WebKit::InputMethodContextEfl::handleKeyDownEvent):
42801        (WebKit::InputMethodContextEfl::updateTextInputState):
42802        * UIProcess/efl/InputMethodContextEfl.h: Added.
42803        (WebKit):
42804        (InputMethodContextEfl):
42805        (WebKit::InputMethodContextEfl::create):
42806        * UIProcess/efl/PageClientImpl.cpp:
42807        (WebKit::PageClientImpl::updateTextInputState):
42808
428092012-10-26  Jaehun Lim  <ljaehun.lim@samsung.com>
42810
42811        Implement {get,set}FloatValueForKey
42812        https://bugs.webkit.org/show_bug.cgi?id=100452
42813
42814        Reviewed by Anders Carlsson.
42815
42816        Implement missing functions in WebPreferencesStore.
42817
42818        * Shared/WebPreferencesStore.cpp:
42819        (WebKit::WebPreferencesStore::setFloatValueForKey):
42820        (WebKit):
42821        (WebKit::WebPreferencesStore::getFloatValueForKey):
42822
428232012-10-25  Byungwoo Lee  <bw80.lee@samsung.com>
42824
42825        [WK2] Use per destination ID message receivers for DownloadProxy.
42826        https://bugs.webkit.org/show_bug.cgi?id=100342
42827
42828        Reviewed by Anders Carlsson.
42829
42830        Per destination ID message receivers were proposed in r132386.
42831        IPC messages of DownloadProxy use download ID for destination ID,
42832        so the messages should be handled by the messsage receiver that was
42833        newly proposed.
42834
42835        * UIProcess/WebContext.cpp:
42836        (WebKit::WebContext::WebContext):
42837        (WebKit::WebContext::createDownloadProxy):
42838        (WebKit::WebContext::downloadFinished):
42839        (WebKit::WebContext::addMessageReceiver):
42840        (WebKit):
42841        (WebKit::WebContext::removeMessageReceiver):
42842        * UIProcess/WebContext.h:
42843        (WebContext):
42844
428452012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
42846
42847        [EFL][WK2] Add Ewk_Popup_Menu API
42848        https://bugs.webkit.org/show_bug.cgi?id=100404
42849
42850        Reviewed by Kenneth Rohde Christiansen.
42851
42852        Add new Ewk_Popup_Menu API to complete the existing
42853        Ewk_Popup_Menu_Item one. This way, we can move the
42854        popup menu code out of Ewk_View.
42855
42856        * PlatformEfl.cmake:
42857        * UIProcess/API/efl/EWebKit2.h:
42858        * UIProcess/API/efl/EwkViewImpl.cpp:
42859        (EwkViewImpl::EwkViewImpl):
42860        (EwkViewImpl::~EwkViewImpl):
42861        (EwkViewImpl::requestPopupMenu):
42862        (EwkViewImpl::closePopupMenu):
42863        * UIProcess/API/efl/EwkViewImpl.h:
42864        (EwkViewImpl):
42865        * UIProcess/API/efl/ewk_popup_menu.cpp: Added.
42866        (Ewk_Popup_Menu::Ewk_Popup_Menu):
42867        (Ewk_Popup_Menu::~Ewk_Popup_Menu):
42868        (Ewk_Popup_Menu::close):
42869        (Ewk_Popup_Menu::items):
42870        (Ewk_Popup_Menu::selectedIndex):
42871        (Ewk_Popup_Menu::setSelectedIndex):
42872        (ewk_popup_menu_close):
42873        (ewk_popup_menu_selected_index_set):
42874        (ewk_popup_menu_selected_index_get):
42875        (ewk_popup_menu_items_get):
42876        * UIProcess/API/efl/ewk_popup_menu.h: Added.
42877        * UIProcess/API/efl/ewk_popup_menu_private.h: Copied from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
42878        (WebKit):
42879        (Ewk_Popup_Menu):
42880        (Ewk_Popup_Menu::create):
42881        * UIProcess/API/efl/ewk_view.cpp:
42882        * UIProcess/API/efl/ewk_view.h:
42883        * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: Added.
42884        (checkBasicPopupMenuItem):
42885        (selectItemAfterDelayed):
42886        (showPopupMenu):
42887        (TEST_F):
42888        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
42889        * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
42890        (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
42891
428922012-10-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
42893
42894        [Qt] Close the IconDatabase before the WebContext gets destroyed
42895        https://bugs.webkit.org/show_bug.cgi?id=100389
42896
42897        Reviewed by Alexis Menard.
42898
42899        The WebContext normally gets destroyed 60 seconds after the last page is
42900        closed and will take down the WebIconDatabase with itself if nothing
42901        holds a reference to it at this moment.
42902        We need to close the IconDatabase explicitely before this happens
42903        to terminate it cleanly and avoid leaking its thread.
42904
42905        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
42906        (WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
42907
429082012-10-25  Dominik Röttsches  <dominik.rottsches@intel.com>
42909
42910        Conditionalize XHR timeout support
42911        https://bugs.webkit.org/show_bug.cgi?id=100356
42912
42913        Reviewed by Adam Barth.
42914
42915        Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
42916        Defaults to ON on Mac since the Mac NSUrlConnection based backend has setTimeoutInterval support.
42917
42918        * Configurations/FeatureDefines.xcconfig:
42919
429202012-10-25  Tim Horton  <timothy_horton@apple.com>
42921
42922        Only full-page PDFPlugins should purport to handle page scale changes
42923        https://bugs.webkit.org/show_bug.cgi?id=99635
42924
42925        Reviewed by Sam Weinig.
42926
42927        PDFPlugin should only handle page scale factor changes itself if it's in the main frame.
42928        Subframe PDFs will act like images, zooming with the page.
42929
42930        * WebProcess/Plugins/PDF/PDFPlugin.h:
42931        (PDFPlugin): Move implementation of handlesPageScaleFactor() to PDFPlugin.mm.
42932        * WebProcess/Plugins/PDF/PDFPlugin.mm:
42933        (WebKit::PDFPlugin::pdfDocumentDidLoad): Only copy PDFLayerController's default autoscale magnification to PluginView's
42934        notion of the current scale factor if we're supposed to be handling page scale factor changes.
42935        (WebKit::PDFPlugin::geometryDidChange): Only update PDFLayerController's magnification from the page scale factor
42936        if we're supposed to be handling page scale factor changes.
42937        (WebKit::PDFPlugin::handlesPageScaleFactor): We should only handle page scale factor changes if we're in the main frame.
42938
429392012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
42940
42941        [EFL][WK2] Move non-API classes out of UIProcess/API/efl
42942        https://bugs.webkit.org/show_bug.cgi?id=100391
42943
42944        Reviewed by Kenneth Rohde Christiansen.
42945
42946        Move non-API classes from UIProcess/API/efl to
42947        UIProcess/efl for clarity.
42948
42949        * PlatformEfl.cmake:
42950        * UIProcess/efl/BatteryProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.cpp.
42951        (toBatteryProvider):
42952        (startUpdatingCallback):
42953        (stopUpdatingCallback):
42954        (BatteryProvider::~BatteryProvider):
42955        (BatteryProvider::create):
42956        (BatteryProvider::BatteryProvider):
42957        (BatteryProvider::startUpdating):
42958        (BatteryProvider::stopUpdating):
42959        (BatteryProvider::didChangeBatteryStatus):
42960        * UIProcess/efl/BatteryProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.h.
42961        (WebKit):
42962        (BatteryProvider):
42963        * UIProcess/efl/NetworkInfoProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.cpp.
42964        (toNetworkInfoProvider):
42965        (startUpdatingCallback):
42966        (stopUpdatingCallback):
42967        (getBandwidthCallback):
42968        (isMeteredCallback):
42969        (NetworkInfoProvider::create):
42970        (NetworkInfoProvider::NetworkInfoProvider):
42971        (NetworkInfoProvider::~NetworkInfoProvider):
42972        (NetworkInfoProvider::bandwidth):
42973        (NetworkInfoProvider::metered):
42974        (NetworkInfoProvider::startUpdating):
42975        (NetworkInfoProvider::stopUpdating):
42976        * UIProcess/efl/NetworkInfoProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.h.
42977        (WebKit):
42978        (NetworkInfoProvider):
42979        * UIProcess/efl/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp.
42980        (WebKit):
42981        (WebKit::PageClientImpl::PageClientImpl):
42982        (WebKit::PageClientImpl::~PageClientImpl):
42983        (WebKit::PageClientImpl::viewImpl):
42984        (WebKit::PageClientImpl::createDrawingAreaProxy):
42985        (WebKit::PageClientImpl::setViewNeedsDisplay):
42986        (WebKit::PageClientImpl::displayView):
42987        (WebKit::PageClientImpl::scrollView):
42988        (WebKit::PageClientImpl::viewSize):
42989        (WebKit::PageClientImpl::isViewWindowActive):
42990        (WebKit::PageClientImpl::isViewFocused):
42991        (WebKit::PageClientImpl::isViewVisible):
42992        (WebKit::PageClientImpl::isViewInWindow):
42993        (WebKit::PageClientImpl::processDidCrash):
42994        (WebKit::PageClientImpl::didRelaunchProcess):
42995        (WebKit::PageClientImpl::pageClosed):
42996        (WebKit::PageClientImpl::toolTipChanged):
42997        (WebKit::PageClientImpl::setCursor):
42998        (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves):
42999        (WebKit::PageClientImpl::didChangeViewportProperties):
43000        (WebKit::PageClientImpl::registerEditCommand):
43001        (WebKit::PageClientImpl::clearAllEditCommands):
43002        (WebKit::PageClientImpl::canUndoRedo):
43003        (WebKit::PageClientImpl::executeUndoRedo):
43004        (WebKit::PageClientImpl::convertToDeviceSpace):
43005        (WebKit::PageClientImpl::convertToUserSpace):
43006        (WebKit::PageClientImpl::screenToWindow):
43007        (WebKit::PageClientImpl::windowToScreen):
43008        (WebKit::PageClientImpl::doneWithKeyEvent):
43009        (WebKit::PageClientImpl::doneWithTouchEvent):
43010        (WebKit::PageClientImpl::createPopupMenuProxy):
43011        (WebKit::PageClientImpl::createContextMenuProxy):
43012        (WebKit::PageClientImpl::createColorChooserProxy):
43013        (WebKit::PageClientImpl::setFindIndicator):
43014        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
43015        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
43016        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
43017        (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
43018        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
43019        (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
43020        (WebKit::PageClientImpl::customRepresentationZoomFactor):
43021        (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
43022        (WebKit::PageClientImpl::flashBackingStoreUpdates):
43023        (WebKit::PageClientImpl::findStringInCustomRepresentation):
43024        (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
43025        (WebKit::PageClientImpl::updateTextInputState):
43026        (WebKit::PageClientImpl::handleDownloadRequest):
43027        (WebKit::PageClientImpl::pageDidRequestScroll):
43028        (WebKit::PageClientImpl::didChangeContentsSize):
43029        (WebKit::PageClientImpl::didRenderFrame):
43030        (WebKit::PageClientImpl::pageTransitionViewportReady):
43031        * UIProcess/efl/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.h.
43032        (WebKit):
43033        (PageClientImpl):
43034        (WebKit::PageClientImpl::create):
43035        (WebKit::PageClientImpl::setPageViewportController):
43036        * UIProcess/efl/PageViewportControllerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp.
43037        (WebKit):
43038        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
43039        (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
43040        (WebKit::PageViewportControllerClientEfl::drawingArea):
43041        (WebKit::PageViewportControllerClientEfl::setRendererActive):
43042        (WebKit::PageViewportControllerClientEfl::display):
43043        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
43044        (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
43045        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
43046        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
43047        (WebKit::PageViewportControllerClientEfl::setContentsScale):
43048        (WebKit::PageViewportControllerClientEfl::didResumeContent):
43049        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
43050        (WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
43051        (WebKit::PageViewportControllerClientEfl::setController):
43052        * UIProcess/efl/PageViewportControllerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h.
43053        (WebKit):
43054        (PageViewportControllerClientEfl):
43055        (WebKit::PageViewportControllerClientEfl::create):
43056        (WebKit::PageViewportControllerClientEfl::viewSize):
43057        (WebKit::PageViewportControllerClientEfl::scaleFactor):
43058        (WebKit::PageViewportControllerClientEfl::scrollPosition):
43059        * UIProcess/efl/VibrationProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp.
43060        (Ewk_Vibration_Client):
43061        (Ewk_Vibration_Client::Ewk_Vibration_Client):
43062        (toVibrationProvider):
43063        (vibrateCallback):
43064        (cancelVibrationCallback):
43065        (VibrationProvider::create):
43066        (VibrationProvider::VibrationProvider):
43067        (VibrationProvider::~VibrationProvider):
43068        (VibrationProvider::vibrate):
43069        (VibrationProvider::cancelVibration):
43070        (VibrationProvider::setVibrationClientCallbacks):
43071        * UIProcess/efl/VibrationProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.h.
43072        (WebKit):
43073        (VibrationProvider):
43074        * UIProcess/efl/WebKitTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.cpp.
43075        (WebKit):
43076        (WebKit::isContinuousSpellCheckingEnabled):
43077        (WebKit::setContinuousSpellCheckingEnabled):
43078        (WebKit::uniqueSpellDocumentTag):
43079        (WebKit::closeSpellDocumentWithTag):
43080        (WebKit::checkSpellingOfString):
43081        (WebKit::guessesForWord):
43082        (WebKit::learnWord):
43083        (WebKit::ignoreWord):
43084        (WebKit::availableSpellCheckingLanguages):
43085        (WebKit::updateSpellCheckingLanguages):
43086        (WebKit::loadedSpellCheckingLanguages):
43087        * UIProcess/efl/WebKitTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.h.
43088        (WebKit):
43089
430902012-10-25  Brady Eidson  <beidson@apple.com>
43091
43092        Allow LoaderStrategy to override the ResourceLoadScheduler
43093        https://bugs.webkit.org/show_bug.cgi?id=100355
43094
43095        Reviewed by Anders Carlsson.
43096
43097        Add a WebKit2 subclass of ResourceLoadScheduler that currently adds no new functionality:
43098        * WebProcess/Network/WebResourceLoadScheduler.cpp: 
43099        (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
43100        * WebProcess/Network/WebResourceLoadScheduler.h: 
43101
43102        WebProcess hangs on to the default shared WebResourceLoadScheduler:
43103        * WebProcess/WebProcess.h:
43104        (WebKit::WebProcess::webResourceLoadScheduler):
43105
43106        If the NetworkProcess is enabled, return the new WebResourceLoadScheduler:
43107        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
43108        (WebKit::WebPlatformStrategies::resourceLoadScheduler):
43109        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
43110
43111        * WebKit2.xcodeproj/project.pbxproj:
43112
431132012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
43114
43115        [EFL][WK2] Remove some C'ism from EwkView
43116        https://bugs.webkit.org/show_bug.cgi?id=100370
43117
43118        Reviewed by Kenneth Rohde Christiansen.
43119
43120        Remove a lot of C'ism from EwkView:
43121        - Make more members private and add C++ methods to
43122        EwkViewImpl for the public C API to use
43123        - Use smart pointers when possible instead of raw
43124        ones
43125        - Use C++ naming conventions for callback functions
43126        and define them as static methods in EwkViewImpl.
43127
43128        * UIProcess/API/efl/EwkViewImpl.cpp:
43129        (EwkViewImpl::onIMFInputSequenceComplete):
43130        (EwkViewImpl::onIMFPreeditSequenceChanged):
43131        (EwkViewImpl::createIMFContext):
43132        (EwkViewImpl::EwkViewImpl):
43133        (EwkViewImpl::~EwkViewImpl):
43134        (EwkViewImpl::setCursor):
43135        (EwkViewImpl::setColorPickerColor):
43136        (EwkViewImpl::isFocused):
43137        (EwkViewImpl::isVisible):
43138        (EwkViewImpl::title):
43139        (EwkViewImpl::inputMethodContext):
43140        (EwkViewImpl::themePath):
43141        (EwkViewImpl::setThemePath):
43142        (EwkViewImpl::customTextEncodingName):
43143        (EwkViewImpl::setCustomTextEncodingName):
43144        (EwkViewImpl::setMouseEventsEnabled):
43145        (EwkViewImpl::setTouchEventsEnabled):
43146        (EwkViewImpl::informIconChange):
43147        (EwkViewImpl::requestColorPicker):
43148        (EwkViewImpl::dismissColorPicker):
43149        (EwkViewImpl::updateTextInputState):
43150        (EwkViewImpl::informURLChange):
43151        (EwkViewImpl::onMouseDown):
43152        (EwkViewImpl::onMouseUp):
43153        (EwkViewImpl::onMouseMove):
43154        (EwkViewImpl::feedTouchEvents):
43155        (EwkViewImpl::onTouchDown):
43156        (EwkViewImpl::onTouchUp):
43157        (EwkViewImpl::onTouchMove):
43158        * UIProcess/API/efl/EwkViewImpl.h:
43159        (WebCore):
43160        (EwkViewImpl::ewkContext):
43161        (EwkViewImpl::settings):
43162        (EwkViewImpl):
43163        (EwkViewImpl::url):
43164        (EwkViewImpl::faviconURL):
43165        (EwkViewImpl::mouseEventsEnabled):
43166        (EwkViewImpl::touchEventsEnabled):
43167        * UIProcess/API/efl/PageClientImpl.cpp:
43168        (WebKit::PageClientImpl::isViewFocused):
43169        (WebKit::PageClientImpl::isViewVisible):
43170        (WebKit::PageClientImpl::didRelaunchProcess):
43171        (WebKit::PageClientImpl::handleDownloadRequest):
43172        * UIProcess/API/efl/ewk_settings_private.h:
43173        (Ewk_Settings::create):
43174        (Ewk_Settings::Ewk_Settings):
43175        (Ewk_Settings):
43176        * UIProcess/API/efl/ewk_view.cpp:
43177        (_ewk_view_smart_mouse_up):
43178        (_ewk_view_smart_key_down):
43179        (_ewk_view_smart_add):
43180        (ewk_view_context_get):
43181        (ewk_view_url_get):
43182        (ewk_view_icon_url_get):
43183        (ewk_view_settings_get):
43184        (ewk_view_title_get):
43185        (ewk_view_theme_set):
43186        (ewk_view_theme_get):
43187        (ewk_view_setting_encoding_custom_get):
43188        (ewk_view_setting_encoding_custom_set):
43189        (ewk_view_mouse_events_enabled_set):
43190        (ewk_view_mouse_events_enabled_get):
43191        (ewk_view_color_picker_color_set):
43192        (ewk_view_touch_events_enabled_set):
43193        (ewk_view_touch_events_enabled_get):
43194        * UIProcess/efl/WebInspectorProxyEfl.cpp:
43195        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
43196
431972012-10-25  Anders Carlsson  <andersca@apple.com>
43198
43199        Assertion failure trying to dispatch notification messages
43200        https://bugs.webkit.org/show_bug.cgi?id=100387
43201        <rdar://problem/12573195>
43202
43203        Reviewed by Jessie Berlin.
43204
43205        Pass a zero destination ID when sending WebNotificationManagerProxy messages; they are not
43206        used by the UI process and since the WebNotificationManagerProxy message receiver is global
43207        passing a non-zero destination ID would cause the aforementioned assertion failure.
43208
43209        * WebProcess/Notifications/WebNotificationManager.cpp:
43210        (WebKit::WebNotificationManager::cancel):
43211        (WebKit::WebNotificationManager::clearNotifications):
43212        (WebKit::WebNotificationManager::didDestroyNotification):
43213
432142012-10-25  Alexey Proskuryakov  <ap@apple.com>
43215
43216        REGRESSION (r131686): Crashes in NSToolTipManager
43217        https://bugs.webkit.org/show_bug.cgi?id=99792
43218
43219        Now that NSToolTip related parts of this change have been rolled out, roll out
43220        the initial crash fix, too. We have no direct evidence that it's to blame, but it
43221        doesn't serve any specific purpose any more.
43222
43223        * UIProcess/API/mac/WKView.mm: (-[WKView viewDidMoveToWindow]):
43224
432252012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
43226
43227        [EFL][WK2] Memory leak in _ewk_view_preedit_changed()
43228        https://bugs.webkit.org/show_bug.cgi?id=100380
43229
43230        Reviewed by Antonio Gomes.
43231
43232        Fix memory leak in _ewk_view_preedit_changed(). The buffer
43233        returned by ecore_imf_context_preedit_string_get() is never
43234        freed.
43235
43236        * UIProcess/API/efl/EwkViewImpl.cpp:
43237        (_ewk_view_preedit_changed):
43238
432392012-10-25  Yael Aharon  <yael.aharon@intel.com>
43240
43241        [EFL][WK2][AC] Regression(132392) infinite loop when displaying certain animations.
43242        https://bugs.webkit.org/show_bug.cgi?id=100288
43243
43244        Reviewed by Kenneth Rohde Christiansen.
43245
43246        When PageClientImpl::setViewNeedsDisplay is called, start a 0 length timer.
43247        That breaks the synchronous loop we were experiencing when ewk_view_display
43248        was called directly.
43249
43250        * UIProcess/API/efl/EwkViewImpl.cpp:
43251        (EwkViewImpl::EwkViewImpl):
43252        (EwkViewImpl::displayTimerFired):
43253        (EwkViewImpl::redrawRegion):
43254        * UIProcess/API/efl/EwkViewImpl.h:
43255        (EwkViewImpl):
43256
432572012-10-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
43258
43259        Add setMediaTypeOverride to window.internals.settings
43260        https://bugs.webkit.org/show_bug.cgi?id=100249
43261
43262        Reviewed by Kenneth Rohde Christiansen.
43263
43264        Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for WIN port.
43265
43266        * win/WebKit2.def:
43267
432682012-10-25  KyungTae Kim  <ktf.kim@samsung.com>
43269
43270        [WK2][EFL] Add ewk_view_pagination_mode_set/get() APIs
43271        https://bugs.webkit.org/show_bug.cgi?id=100213
43272
43273        Reviewed by Gyuyoung Kim.
43274
43275        Add ewk_view_pagination_mode_set/get() APIs for paginated display.
43276
43277        * UIProcess/API/efl/ewk_view.cpp:
43278        (ewk_view_pagination_mode_set):
43279        (ewk_view_pagination_mode_get):
43280        * UIProcess/API/efl/ewk_view.h:
43281        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
43282        (TEST_F):
43283
432842012-10-25  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
43285
43286        [EFL][AC] Fix build break when AC is enabled
43287        https://bugs.webkit.org/show_bug.cgi?id=100367
43288
43289        Unreviewed build fix after r132405.
43290
43291        * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
43292        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
43293
432942012-10-25  Byungwoo Lee  <bw80.lee@samsung.com>
43295
43296        [EFL][WK2] Add missing namespace.
43297        https://bugs.webkit.org/show_bug.cgi?id=100251
43298
43299        Reviewed by Kenneth Rohde Christiansen.
43300
43301        Add 'WebKit' namespace for BatteryProvider, NetworkInfoProvider and
43302        VibrationProvider.
43303
43304        * UIProcess/API/efl/BatteryProvider.h:
43305        (WebKit):
43306        * UIProcess/API/efl/NetworkInfoProvider.cpp:
43307        * UIProcess/API/efl/NetworkInfoProvider.h:
43308        (WebKit):
43309        * UIProcess/API/efl/VibrationProvider.cpp:
43310        * UIProcess/API/efl/VibrationProvider.h:
43311        (WebKit):
43312        * UIProcess/API/efl/ewk_context_private.h:
43313        (WebKit):
43314        (Ewk_Context):
43315
433162012-10-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
43317
43318        [Qt] Detach WebContext's clients from QtWebContext
43319        https://bugs.webkit.org/show_bug.cgi?id=100224
43320
43321        Reviewed by Simon Hausmann.
43322
43323        The lifetime of WebContext isn't bound to QtWebContext and we wouldn't
43324        keep a reference to our WebContext and would create a new one if a new
43325        QQuickWebView/QtWebContext was created after we destroyed our QtWebContext.
43326        This would cause a new WebContext and a new web process and somehow the
43327        new WebContext could pick the IPC messages from the old WebProcess
43328        and this would cause the new download client to receive messages about
43329        downloads he doesn't know about and crash.
43330
43331        We assumed in the past that we would need multiple WebContext to allow
43332        multiple web processes but this assumption doesn't hold anymore with
43333        the work on ProcessModelMultipleSecondaryProcesses.
43334        This patch enforces the use of a single WebContext by:
43335        - Holding a single instance of QtWebIconDatabaseClient and QtDownloadManager
43336        statically in QtWebContext
43337        - Removing the context ID from QWebIconImageProvider's URLs
43338        - Using QtWebContext as a temporary wrapper handle on WebContext to
43339        initialize the WebContext's clients and allow us creating the first web page
43340
43341        platformInvalidateContext is used to clean up static global instances
43342        when the WebContext is getting destroyed.
43343
43344        * UIProcess/API/qt/qquickwebview.cpp:
43345        (QQuickWebViewPrivate::handleDownloadRequest):
43346        * UIProcess/API/qt/qwebiconimageprovider.cpp:
43347        (QWebIconImageProvider::iconURLForPageURLInContext):
43348        (QWebIconImageProvider::requestImage):
43349        * UIProcess/qt/QtWebContext.cpp:
43350        (WebKit):
43351        (WebKit::QtWebContext::QtWebContext):
43352        (WebKit::QtWebContext::~QtWebContext):
43353        (WebKit::QtWebContext::create):
43354        (WebKit::QtWebContext::defaultContext):
43355        (WebKit::QtWebContext::downloadManager):
43356        (WebKit::QtWebContext::iconDatabase):
43357        (WebKit::QtWebContext::invalidateContext):
43358        * UIProcess/qt/QtWebContext.h:
43359        (QtWebContext):
43360        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
43361        (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
43362        * UIProcess/qt/QtWebIconDatabaseClient.h:
43363        (WebKit):
43364        (QtWebIconDatabaseClient):
43365        * UIProcess/qt/WebContextQt.cpp:
43366        (WebKit::WebContext::platformInvalidateContext):
43367
433682012-10-25  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
43369
43370        [Qt] Make the context injected bundle client static
43371        https://bugs.webkit.org/show_bug.cgi?id=100223
43372
43373        Reviewed by Kenneth Rohde Christiansen.
43374
43375        It doesn't need any data from QtWebContext.
43376
43377        * UIProcess/qt/QtWebContext.cpp:
43378        (WebKit::didReceiveMessageFromInjectedBundle):
43379        (WebKit):
43380        (WebKit::initializeContextInjectedBundleClient):
43381        (WebKit::QtWebContext::defaultContext):
43382        * UIProcess/qt/QtWebContext.h:
43383        (QtWebContext):
43384
433852012-10-25  Christophe Dumez  <christophe.dumez@intel.com>
43386
43387        [EFL][WK2] Get rid of Ewk_View private C API (Part 2)
43388        https://bugs.webkit.org/show_bug.cgi?id=100331
43389
43390        Reviewed by Kenneth Rohde Christiansen.
43391
43392        Convert most of the remaining Ewk_View private C API
43393        into C++ methods in EwkViewImpl class. Only one private
43394        C function remains but it will be taken care of in a
43395        later patch to clean up the view construction code.
43396
43397        * UIProcess/API/efl/EwkViewImpl.cpp:
43398        (EwkViewImpl::addToPageViewMap):
43399        (EwkViewImpl::removeFromPageViewMap):
43400        (EwkViewImpl::viewFromPageViewMap):
43401        (EwkViewImpl::fromEvasObject):
43402        (EwkViewImpl::informLoadFinished):
43403        (EwkViewImpl::informProvisionalLoadRedirect):
43404        (EwkViewImpl::informProvisionalLoadStarted):
43405        (EwkViewImpl::informWebProcessCrashed):
43406        (EwkViewImpl::informContentsSizeChange):
43407        (EwkViewImpl::requestPopupMenu):
43408        (EwkViewImpl::requestJSAlertPopup):
43409        (EwkViewImpl::requestJSConfirmPopup):
43410        (EwkViewImpl::requestJSPromptPopup):
43411        (EwkViewImpl::informDatabaseQuotaReached):
43412        (EwkViewImpl::updateTextInputState):
43413        (EwkViewImpl::informURLChange):
43414        (EwkViewImpl::createNewPage):
43415        (EwkViewImpl::closePage):
43416        * UIProcess/API/efl/EwkViewImpl.h:
43417        (WebKit):
43418        (EwkViewImpl):
43419        * UIProcess/API/efl/PageClientImpl.cpp:
43420        (WebKit::PageClientImpl::processDidCrash):
43421        (WebKit::PageClientImpl::createPopupMenuProxy):
43422        (WebKit::PageClientImpl::updateTextInputState):
43423        (WebKit::PageClientImpl::didChangeContentsSize):
43424        * UIProcess/API/efl/ewk_view.cpp:
43425        (_ewk_view_smart_del):
43426        (_ewk_view_initialize):
43427        (ewk_view_url_set):
43428        (ewk_view_reload):
43429        (ewk_view_reload_bypass_cache):
43430        (ewk_view_html_string_load):
43431        * UIProcess/API/efl/ewk_view_private.h:
43432        * UIProcess/efl/ContextHistoryClientEfl.cpp:
43433        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
43434        (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
43435        (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
43436        (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
43437        * UIProcess/efl/FindClientEfl.cpp:
43438        * UIProcess/efl/FormClientEfl.cpp:
43439        * UIProcess/efl/PageLoadClientEfl.cpp:
43440        (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
43441        * UIProcess/efl/PageLoadClientEfl.h:
43442        * UIProcess/efl/PagePolicyClientEfl.cpp:
43443        * UIProcess/efl/PagePolicyClientEfl.h:
43444        * UIProcess/efl/PageUIClientEfl.cpp:
43445        (WebKit::PageUIClientEfl::closePage):
43446        (WebKit::PageUIClientEfl::createNewPage):
43447        (WebKit::PageUIClientEfl::runJavaScriptAlert):
43448        (WebKit::PageUIClientEfl::runJavaScriptConfirm):
43449        (WebKit::PageUIClientEfl::runJavaScriptPrompt):
43450        (WebKit::PageUIClientEfl::exceededDatabaseQuota):
43451        * UIProcess/efl/PageUIClientEfl.h:
43452        * UIProcess/efl/ResourceLoadClientEfl.h:
43453        * UIProcess/efl/WebPopupMenuProxyEfl.cpp:
43454        (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
43455        (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
43456        (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
43457        * UIProcess/efl/WebPopupMenuProxyEfl.h:
43458        (WebKit::WebPopupMenuProxyEfl::create):
43459        (WebPopupMenuProxyEfl):
43460
434612012-10-24  Joone Hur  <joone.hur@intel.com>
43462
43463        [EFL][AC] Unreviewed, fix build break when AC is enabled
43464
43465        Fix build break after r132405.
43466
43467        * UIProcess/API/efl/EwkViewImpl.cpp:
43468        (EwkViewImpl::enterAcceleratedCompositingMode):
43469        * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
43470        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
43471        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
43472        * UIProcess/API/efl/ewk_view.cpp:
43473        (_ewk_view_smart_calculate):
43474
434752012-10-24  Anders Carlsson  <andersca@apple.com>
43476
43477        Make it a compile error to send a sync message as async (and vice versa)
43478        https://bugs.webkit.org/show_bug.cgi?id=100285
43479
43480        Reviewed by Sam Weinig.
43481
43482        Add an "isSync" boolean to each generated message struct and add compile asserts to the message senders.
43483
43484        * Platform/CoreIPC/Connection.h:
43485        (CoreIPC::Connection::send):
43486        (CoreIPC::Connection::sendSync):
43487        * Platform/CoreIPC/MessageSender.h:
43488        (CoreIPC::MessageSender::send):
43489        (CoreIPC::MessageSender::sendSync):
43490        * Scripts/webkit2/messages.py:
43491        (message_to_struct_declaration):
43492        * Scripts/webkit2/messages_unittest.py:
43493        * UIProcess/WebProcessProxy.h:
43494        (WebKit::WebProcessProxy::send):
43495        (WebKit::WebProcessProxy::sendSync):
43496
434972012-10-24  Kiran Muppala  <cmuppala@apple.com>
43498
43499        Disable auto termination of WebKit2 processes on mac
43500        https://bugs.webkit.org/show_bug.cgi?id=100176
43501
43502        Reviewed by Alexey Proskuryakov.
43503
43504        Disable WebKit2 auto termination by taking corresponding assertion
43505        until UI process is enhanced to determine when it is safe to enable it.
43506
43507        * NetworkProcess/mac/NetworkProcessMainMac.mm:
43508        (WebKit::NetworkProcessMain):
43509        * PluginProcess/mac/PluginProcessMainMac.mm:
43510        (WebKit::PluginProcessMain):
43511        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
43512        (WebKit::SharedWorkerProcessMain):
43513        * WebProcess/mac/WebProcessInitialization.mm:
43514        (WebKit::InitializeWebProcess):
43515
435162012-10-24  Christophe Dumez  <christophe.dumez@intel.com>
43517
43518        [EFL][WK2] Get rid of Ewk_View private C API (Part 1)
43519        https://bugs.webkit.org/show_bug.cgi?id=100230
43520
43521        Reviewed by Kenneth Rohde Christiansen.
43522
43523        Remove part of the Ewk_View private C API and replace
43524        it by C++ methods in EwkViewImpl class. Eventually,
43525        all the private C functions will be removed but it
43526        will be done in several patches.
43527
43528        * UIProcess/API/C/efl/WKView.cpp:
43529        (WKViewGetPage):
43530        * UIProcess/API/efl/EwkViewImpl.cpp:
43531        (_ewk_view_commit):
43532        (_ewk_view_preedit_changed):
43533        (EwkViewImpl::EwkViewImpl):
43534        (EwkViewImpl::smartData):
43535        (EwkViewImpl::fromEvasObject):
43536        (EwkViewImpl::wkPage):
43537        (EwkViewImpl::setCursor):
43538        (EwkViewImpl::redrawRegion):
43539        (EwkViewImpl::informDownloadJobCancelled):
43540        (EwkViewImpl::informDownloadJobFailed):
43541        (EwkViewImpl::informDownloadJobFinished):
43542        (EwkViewImpl::informDownloadJobRequested):
43543        (EwkViewImpl::informNewFormSubmissionRequest):
43544        (EwkViewImpl::enterFullScreen):
43545        (EwkViewImpl::exitFullScreen):
43546        (EwkViewImpl::setImageData):
43547        (EwkViewImpl::informLoadError):
43548        (EwkViewImpl::informLoadFinished):
43549        (EwkViewImpl::informLoadProgress):
43550        (EwkViewImpl::informProvisionalLoadFailed):
43551        (EwkViewImpl::informLoadCommitted):
43552        (EwkViewImpl::informProvisionalLoadRedirect):
43553        (EwkViewImpl::informProvisionalLoadStarted):
43554        (EwkViewImpl::informNavigationPolicyDecision):
43555        (EwkViewImpl::informNewWindowPolicyDecision):
43556        (EwkViewImpl::informResourceLoadStarted):
43557        (EwkViewImpl::informResourceLoadResponse):
43558        (EwkViewImpl::informResourceLoadFailed):
43559        (EwkViewImpl::informResourceLoadFinished):
43560        (EwkViewImpl::informResourceRequestSent):
43561        (EwkViewImpl::informTitleChange):
43562        (EwkViewImpl::informTooltipTextChange):
43563        (EwkViewImpl::informTextFound):
43564        (EwkViewImpl::size):
43565        (EwkViewImpl::informIconChange):
43566        (EwkViewImpl::informIntentRequest):
43567        (EwkViewImpl::informIntentServiceRegistration):
43568        (EwkViewImpl::createGLSurface):
43569        (EwkViewImpl::enterAcceleratedCompositingMode):
43570        (EwkViewImpl::exitAcceleratedCompositingMode):
43571        (EwkViewImpl::requestColorPicker):
43572        (EwkViewImpl::dismissColorPicker):
43573        (EwkViewImpl::informBackForwardListChange):
43574        * UIProcess/API/efl/EwkViewImpl.h:
43575        (WebCore):
43576        (EwkViewImpl):
43577        (EwkViewImpl::view):
43578        (EwkViewImpl::page):
43579        * UIProcess/API/efl/PageClientImpl.cpp:
43580        (WebKit::PageClientImpl::PageClientImpl):
43581        (WebKit::PageClientImpl::viewImpl):
43582        (WebKit):
43583        (WebKit::PageClientImpl::createDrawingAreaProxy):
43584        (WebKit::PageClientImpl::setViewNeedsDisplay):
43585        (WebKit::PageClientImpl::viewSize):
43586        (WebKit::PageClientImpl::isViewFocused):
43587        (WebKit::PageClientImpl::isViewVisible):
43588        (WebKit::PageClientImpl::processDidCrash):
43589        (WebKit::PageClientImpl::didRelaunchProcess):
43590        (WebKit::PageClientImpl::toolTipChanged):
43591        (WebKit::PageClientImpl::setCursor):
43592        (WebKit::PageClientImpl::createPopupMenuProxy):
43593        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
43594        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
43595        (WebKit::PageClientImpl::updateTextInputState):
43596        (WebKit::PageClientImpl::handleDownloadRequest):
43597        (WebKit::PageClientImpl::didChangeContentsSize):
43598        * UIProcess/API/efl/PageClientImpl.h:
43599        (WebKit::PageClientImpl::create):
43600        (PageClientImpl):
43601        * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
43602        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
43603        (WebKit::PageViewportControllerClientEfl::drawingArea):
43604        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
43605        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
43606        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
43607        * UIProcess/API/efl/PageViewportControllerClientEfl.h:
43608        (WebKit::PageViewportControllerClientEfl::create):
43609        (PageViewportControllerClientEfl):
43610        * UIProcess/API/efl/ewk_download_job.cpp:
43611        (Ewk_Download_Job::Ewk_Download_Job):
43612        (Ewk_Download_Job::viewImpl):
43613        * UIProcess/API/efl/ewk_download_job_private.h:
43614        (Ewk_Download_Job::create):
43615        (Ewk_Download_Job):
43616        * UIProcess/API/efl/ewk_view.cpp:
43617        (pageViewMap):
43618        (addToPageViewMap):
43619        (removeFromPageViewMap):
43620        (_ewk_view_on_favicon_changed):
43621        (_ewk_view_smart_focus_in):
43622        (_ewk_view_smart_focus_out):
43623        (mapToWebContent):
43624        (_ewk_view_smart_mouse_wheel):
43625        (_ewk_view_smart_mouse_down):
43626        (_ewk_view_smart_mouse_up):
43627        (_ewk_view_smart_mouse_move):
43628        (_ewk_view_smart_key_down):
43629        (_ewk_view_smart_key_up):
43630        (_ewk_view_on_show):
43631        (_ewk_view_on_hide):
43632        (_ewk_view_impl_del):
43633        (_ewk_view_smart_del):
43634        (_ewk_view_smart_calculate):
43635        (_ewk_view_smart_color_set):
43636        (_ewk_view_initialize):
43637        (_ewk_view_add_with_smart):
43638        (ewk_view_context_get):
43639        (ewk_view_url_update):
43640        (ewk_view_url_set):
43641        (ewk_view_url_get):
43642        (ewk_view_icon_url_get):
43643        (ewk_view_reload):
43644        (ewk_view_reload_bypass_cache):
43645        (ewk_view_stop):
43646        (ewk_view_settings_get):
43647        (ewk_view_title_get):
43648        (ewk_view_text_input_state_update):
43649        (ewk_view_load_progress_get):
43650        (ewk_view_scale_set):
43651        (ewk_view_scale_get):
43652        (ewk_view_device_pixel_ratio_set):
43653        (ewk_view_device_pixel_ratio_get):
43654        (ewk_view_theme_set):
43655        (ewk_view_theme_get):
43656        (ewk_view_back):
43657        (ewk_view_forward):
43658        (ewk_view_intent_deliver):
43659        (ewk_view_back_possible):
43660        (ewk_view_forward_possible):
43661        (ewk_view_back_forward_list_get):
43662        (ewk_view_html_string_load):
43663        (ewk_view_setting_encoding_custom_get):
43664        (ewk_view_setting_encoding_custom_set):
43665        (ewk_view_page_create):
43666        (ewk_view_text_find):
43667        (ewk_view_text_find_highlight_clear):
43668        (ewk_view_text_matches_count):
43669        (ewk_view_contents_size_changed):
43670        (ewk_view_popup_menu_request):
43671        (ewk_view_popup_menu_close):
43672        (ewk_view_popup_menu_select):
43673        (ewk_view_mouse_events_enabled_set):
43674        (ewk_view_mouse_events_enabled_get):
43675        (ewk_view_webprocess_crashed):
43676        (ewk_view_color_picker_color_set):
43677        (ewk_view_feed_touch_event):
43678        (ewk_view_touch_events_enabled_set):
43679        (ewk_view_touch_events_enabled_get):
43680        (ewk_view_inspector_show):
43681        (ewk_view_inspector_close):
43682        * UIProcess/API/efl/ewk_view_private.h:
43683        * UIProcess/cairo/BackingStoreCairo.cpp:
43684        (WebKit::BackingStore::incorporateUpdate):
43685        * UIProcess/efl/DownloadManagerEfl.cpp:
43686        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
43687        (WebKit::DownloadManagerEfl::didFail):
43688        (WebKit::DownloadManagerEfl::didCancel):
43689        (WebKit::DownloadManagerEfl::didFinish):
43690        (WebKit::DownloadManagerEfl::registerDownload):
43691        * UIProcess/efl/DownloadManagerEfl.h:
43692        (DownloadManagerEfl):
43693        * UIProcess/efl/FindClientEfl.cpp:
43694        (WebKit::FindClientEfl::didFindString):
43695        (WebKit::FindClientEfl::didFailToFindString):
43696        (WebKit::FindClientEfl::FindClientEfl):
43697        * UIProcess/efl/FindClientEfl.h:
43698        (WebKit::FindClientEfl::create):
43699        (FindClientEfl):
43700        * UIProcess/efl/FormClientEfl.cpp:
43701        (WebKit::FormClientEfl::willSubmitForm):
43702        (WebKit::FormClientEfl::FormClientEfl):
43703        * UIProcess/efl/FormClientEfl.h:
43704        (WebKit::FormClientEfl::create):
43705        (FormClientEfl):
43706        * UIProcess/efl/PageLoadClientEfl.cpp:
43707        (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
43708        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
43709        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
43710        (WebKit::PageLoadClientEfl::didChangeProgress):
43711        (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
43712        (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
43713        (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
43714        (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
43715        (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
43716        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
43717        (WebKit::PageLoadClientEfl::didChangeBackForwardList):
43718        (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
43719        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
43720        * UIProcess/efl/PageLoadClientEfl.h:
43721        (WebKit::PageLoadClientEfl::create):
43722        (PageLoadClientEfl):
43723        (WebKit::PageLoadClientEfl::viewImpl):
43724        * UIProcess/efl/PagePolicyClientEfl.cpp:
43725        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
43726        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
43727        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
43728        * UIProcess/efl/PagePolicyClientEfl.h:
43729        (WebKit::PagePolicyClientEfl::create):
43730        (PagePolicyClientEfl):
43731        * UIProcess/efl/PageUIClientEfl.cpp:
43732        (WebKit::PageUIClientEfl::closePage):
43733        (WebKit::PageUIClientEfl::createNewPage):
43734        (WebKit::PageUIClientEfl::runJavaScriptAlert):
43735        (WebKit::PageUIClientEfl::runJavaScriptConfirm):
43736        (WebKit::PageUIClientEfl::runJavaScriptPrompt):
43737        (WebKit::PageUIClientEfl::showColorPicker):
43738        (WebKit::PageUIClientEfl::hideColorPicker):
43739        (WebKit::PageUIClientEfl::exceededDatabaseQuota):
43740        (WebKit::PageUIClientEfl::focus):
43741        (WebKit::PageUIClientEfl::unfocus):
43742        (WebKit::PageUIClientEfl::takeFocus):
43743        (WebKit::PageUIClientEfl::getWindowFrame):
43744        (WebKit::PageUIClientEfl::setWindowFrame):
43745        (WebKit::PageUIClientEfl::PageUIClientEfl):
43746        * UIProcess/efl/PageUIClientEfl.h:
43747        (WebKit::PageUIClientEfl::create):
43748        (PageUIClientEfl):
43749        * UIProcess/efl/ResourceLoadClientEfl.cpp:
43750        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
43751        (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
43752        (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
43753        (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
43754        (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
43755        (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
43756        (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
43757        * UIProcess/efl/ResourceLoadClientEfl.h:
43758        (WebKit::ResourceLoadClientEfl::create):
43759        (ResourceLoadClientEfl):
43760        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
43761        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
43762        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
43763        * UIProcess/efl/WebInspectorProxyEfl.cpp:
43764        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
43765        * UIProcess/efl/WebPageProxyEfl.cpp:
43766        (WebKit::WebPageProxy::viewWidget):
43767
437682012-10-24  Brady Eidson  <beidson@apple.com>
43769
43770        Add a strategy for loader customization.
43771        https://bugs.webkit.org/show_bug.cgi?id=100278
43772
43773        Reviewed by Alexey Proskuryakov.
43774
43775        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
43776        (WebKit::WebPlatformStrategies::createLoaderStrategy):
43777        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
43778        (WebPlatformStrategies):
43779
437802012-10-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
43781
43782        Coordinated Graphics: Enable threaded/IPC animations
43783        https://bugs.webkit.org/show_bug.cgi?id=93146
43784
43785        Reviewed by Caio Marcelo de Oliveira Filho.
43786
43787        In some cases there are pending changes in the layers, but no actual changes to the frame.
43788        In that case we should unlock the animations.
43789
43790        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
43791        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
43792
437932012-10-24  Noam Rosenthal  <noam.rosenthal@nokia.com>
43794
43795        [Qt-on-Mac] GraphicsSurfaces should not create a global IOSurface handle
43796        https://bugs.webkit.org/show_bug.cgi?id=89885
43797
43798        Reviewed by Kenneth Rohde Christiansen.
43799
43800        Use mach_port instead of global tokens for IOSurfaces.
43801        Global IOSurfaces are accessible from other processes, while mach_ports can only be shared
43802        directly via IPC.
43803
43804        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
43805        (CoreIPC::::encode):
43806        (CoreIPC::::decode):
43807
438082012-10-24  Anders Carlsson  <andersca@apple.com>
43809
43810        Add per destination ID message receivers
43811        https://bugs.webkit.org/show_bug.cgi?id=100276
43812
43813        Reviewed by Andreas Kling.
43814
43815        Extend MessageReceiverMap to handle adding message receivers for a given destinationID/receiver name pair.
43816        Use this to make every WebPage object a message receiver.
43817
43818        * Platform/CoreIPC/MessageReceiverMap.cpp:
43819        (CoreIPC::MessageReceiverMap::addMessageReceiver):
43820        (CoreIPC):
43821        (CoreIPC::MessageReceiverMap::removeMessageReceiver):
43822        (CoreIPC::MessageReceiverMap::invalidate):
43823        (CoreIPC::MessageReceiverMap::dispatchMessage):
43824        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
43825        * Platform/CoreIPC/MessageReceiverMap.h:
43826        (MessageReceiverMap):
43827        * WebProcess/WebPage/WebPage.cpp:
43828        (WebKit::WebPage::WebPage):
43829        (WebKit::WebPage::~WebPage):
43830        * WebProcess/WebPage/WebPage.h:
43831        (WebPage):
43832        * WebProcess/WebProcess.cpp:
43833        (WebKit::WebProcess::addMessageReceiver):
43834        (WebKit):
43835        (WebKit::WebProcess::removeMessageReceiver):
43836        (WebKit::WebProcess::didReceiveSyncMessage):
43837        (WebKit::WebProcess::didReceiveMessage):
43838        * WebProcess/WebProcess.h:
43839        (WebProcess):
43840
438412012-10-24  Timothy Hatcher  <timothy@apple.com>
43842
43843        Make the Inspector WKView/WebView become the first responder when bringToFront is called.
43844
43845        https://bugs.webkit.org/show_bug.cgi?id=100209
43846
43847        Reviewed by Joseph Pecoraro.
43848
43849        * UIProcess/mac/WebInspectorProxyMac.mm:
43850        (WebKit::WebInspectorProxy::platformBringToFront): Make the Inspector WKView become the first responder.
43851
438522012-10-23  Alexey Proskuryakov  <ap@apple.com>
43853
43854        Add a strategy for shared workers
43855        https://bugs.webkit.org/show_bug.cgi?id=100165
43856
43857        Reviewed by Brady Eidson.
43858
43859        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
43860        (WebKit::WebPlatformStrategies::createPasteboardStrategy):
43861        (WebKit::WebPlatformStrategies::createSharedWorkerStrategy):
43862        (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
43863        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
43864
438652012-10-23  Sam Weinig  <sam@webkit.org>
43866
43867        Move a few more WebProcess sub-objects to be MessageReceivers
43868        https://bugs.webkit.org/show_bug.cgi?id=100186
43869
43870        Reviewed by Anders Carlsson.
43871
43872        * WebProcess/Battery/WebBatteryManager.cpp:
43873        (WebKit::WebBatteryManager::WebBatteryManager):
43874        * WebProcess/Battery/WebBatteryManager.h:
43875        (WebBatteryManager):
43876        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
43877        (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
43878        (WebKit):
43879        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
43880        (WebIconDatabaseProxy):
43881        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
43882        (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
43883        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
43884        (WebNetworkInfoManager):
43885        * WebProcess/Notifications/WebNotificationManager.cpp:
43886        (WebKit::WebNotificationManager::WebNotificationManager):
43887        * WebProcess/Notifications/WebNotificationManager.h:
43888        (WebNotificationManager):
43889        * WebProcess/WebProcess.cpp:
43890        (WebKit::WebProcess::didReceiveMessage):
43891        * WebProcess/soup/WebSoupRequestManager.cpp:
43892        (WebKit::WebSoupRequestManager::WebSoupRequestManager):
43893        * WebProcess/soup/WebSoupRequestManager.h:
43894        (WebSoupRequestManager):
43895
438962012-10-23  Anders Carlsson  <andersca@apple.com>
43897
43898        encode should take an ArgumentEncoder reference
43899        https://bugs.webkit.org/show_bug.cgi?id=100183
43900
43901        Reviewed by Jessie Berlin.
43902
43903        * Platform/CoreIPC/ArgumentCoder.h:
43904        (CoreIPC::ArgumentCoder::encode):
43905        * Platform/CoreIPC/Arguments.h:
43906        (CoreIPC::Arguments0::encode):
43907        (CoreIPC::Arguments1::encode):
43908        (CoreIPC::Arguments2::encode):
43909        (CoreIPC::Arguments3::encode):
43910        (CoreIPC::Arguments4::encode):
43911        (CoreIPC::Arguments5::encode):
43912        (CoreIPC::Arguments6::encode):
43913        (CoreIPC::Arguments7::encode):
43914        (CoreIPC::Arguments8::encode):
43915        (CoreIPC::Arguments10::encode):
43916        * Platform/CoreIPC/Attachment.cpp:
43917        (CoreIPC::Attachment::encode):
43918        * Platform/CoreIPC/Attachment.h:
43919        (Attachment):
43920        * Platform/CoreIPC/DataReference.cpp:
43921        (CoreIPC::DataReference::encode):
43922        * Platform/CoreIPC/DataReference.h:
43923        (DataReference):
43924        * Platform/CoreIPC/StringReference.cpp:
43925        (CoreIPC::StringReference::encode):
43926        * Platform/CoreIPC/StringReference.h:
43927        (StringReference):
43928        * Platform/CoreIPC/mac/MachPort.h:
43929        (CoreIPC::MachPort::encode):
43930        * Platform/SharedMemory.h:
43931        (Handle):
43932        * Platform/mac/SharedMemoryMac.cpp:
43933        (WebKit::SharedMemory::Handle::encode):
43934        * PluginProcess/PluginCreationParameters.cpp:
43935        (WebKit::PluginCreationParameters::encode):
43936        * PluginProcess/PluginCreationParameters.h:
43937        (PluginCreationParameters):
43938        * Shared/DictionaryPopupInfo.cpp:
43939        (WebKit::DictionaryPopupInfo::encode):
43940        * Shared/DictionaryPopupInfo.h:
43941        (DictionaryPopupInfo):
43942        * Shared/EditorState.cpp:
43943        (WebKit::EditorState::encode):
43944        * Shared/EditorState.h:
43945        (EditorState):
43946        * Shared/FontInfo.cpp:
43947        (WebKit::FontInfo::encode):
43948        * Shared/FontInfo.h:
43949        (FontInfo):
43950        * Shared/LayerTreeContext.h:
43951        (LayerTreeContext):
43952        * Shared/Network/NetworkProcessCreationParameters.cpp:
43953        (WebKit::NetworkProcessCreationParameters::encode):
43954        * Shared/Network/NetworkProcessCreationParameters.h:
43955        (NetworkProcessCreationParameters):
43956        * Shared/OriginAndDatabases.cpp:
43957        (WebKit::OriginAndDatabases::encode):
43958        * Shared/OriginAndDatabases.h:
43959        (OriginAndDatabases):
43960        * Shared/PlatformPopupMenuData.cpp:
43961        (WebKit::PlatformPopupMenuData::encode):
43962        * Shared/PlatformPopupMenuData.h:
43963        (PlatformPopupMenuData):
43964        * Shared/Plugins/NPIdentifierData.cpp:
43965        (WebKit::NPIdentifierData::encode):
43966        * Shared/Plugins/NPIdentifierData.h:
43967        (NPIdentifierData):
43968        * Shared/Plugins/NPVariantData.cpp:
43969        (WebKit::NPVariantData::encode):
43970        * Shared/Plugins/NPVariantData.h:
43971        (NPVariantData):
43972        * Shared/Plugins/PluginProcessCreationParameters.cpp:
43973        (WebKit::PluginProcessCreationParameters::encode):
43974        * Shared/Plugins/PluginProcessCreationParameters.h:
43975        (PluginProcessCreationParameters):
43976        * Shared/PrintInfo.cpp:
43977        (WebKit::PrintInfo::encode):
43978        * Shared/PrintInfo.h:
43979        (PrintInfo):
43980        * Shared/SandboxExtension.h:
43981        (Handle):
43982        (HandleArray):
43983        * Shared/SecurityOriginData.cpp:
43984        (WebKit::SecurityOriginData::encode):
43985        * Shared/SecurityOriginData.h:
43986        (SecurityOriginData):
43987        * Shared/SessionState.cpp:
43988        (WebKit::SessionState::encode):
43989        * Shared/SessionState.h:
43990        (SessionState):
43991        * Shared/ShareableBitmap.cpp:
43992        (WebKit::ShareableBitmap::Handle::encode):
43993        * Shared/ShareableBitmap.h:
43994        (Handle):
43995        * Shared/SharedWorkerProcessCreationParameters.cpp:
43996        (WebKit::SharedWorkerProcessCreationParameters::encode):
43997        * Shared/SharedWorkerProcessCreationParameters.h:
43998        (SharedWorkerProcessCreationParameters):
43999        * Shared/StatisticsData.cpp:
44000        (WebKit::StatisticsData::encode):
44001        * Shared/StatisticsData.h:
44002        (StatisticsData):
44003        * Shared/StringPairVector.h:
44004        (WebKit::StringPairVector::encode):
44005        * Shared/UpdateInfo.cpp:
44006        (WebKit::UpdateInfo::encode):
44007        * Shared/UpdateInfo.h:
44008        (UpdateInfo):
44009        * Shared/UserMessageCoders.h:
44010        (WebKit::UserMessageEncoder::baseEncode):
44011        * Shared/WebContextMenuItemData.cpp:
44012        (WebKit::WebContextMenuItemData::encode):
44013        * Shared/WebContextMenuItemData.h:
44014        (WebContextMenuItemData):
44015        * Shared/WebEvent.cpp:
44016        (WebKit::WebEvent::encode):
44017        * Shared/WebEvent.h:
44018        (WebEvent):
44019        (WebMouseEvent):
44020        (WebWheelEvent):
44021        (WebKeyboardEvent):
44022        (WebGestureEvent):
44023        (WebPlatformTouchPoint):
44024        (WebTouchEvent):
44025        * Shared/WebGeolocationPosition.cpp:
44026        (WebKit::WebGeolocationPosition::Data::encode):
44027        * Shared/WebGeolocationPosition.h:
44028        (Data):
44029        * Shared/WebGestureEvent.cpp:
44030        (WebKit::WebGestureEvent::encode):
44031        * Shared/WebHitTestResult.cpp:
44032        (WebKit::WebHitTestResult::Data::encode):
44033        * Shared/WebHitTestResult.h:
44034        (Data):
44035        * Shared/WebKeyboardEvent.cpp:
44036        (WebKit::WebKeyboardEvent::encode):
44037        * Shared/WebMouseEvent.cpp:
44038        (WebKit::WebMouseEvent::encode):
44039        * Shared/WebNavigationDataStore.h:
44040        (WebKit::WebNavigationDataStore::encode):
44041        * Shared/WebPageCreationParameters.cpp:
44042        (WebKit::WebPageCreationParameters::encode):
44043        * Shared/WebPageCreationParameters.h:
44044        (WebPageCreationParameters):
44045        * Shared/WebPageGroupData.cpp:
44046        (WebKit::WebPageGroupData::encode):
44047        * Shared/WebPageGroupData.h:
44048        (WebPageGroupData):
44049        * Shared/WebPopupItem.cpp:
44050        (WebKit::WebPopupItem::encode):
44051        * Shared/WebPopupItem.h:
44052        * Shared/WebPreferencesStore.cpp:
44053        (WebKit::WebPreferencesStore::encode):
44054        * Shared/WebPreferencesStore.h:
44055        (WebPreferencesStore):
44056        * Shared/WebProcessCreationParameters.cpp:
44057        (WebKit::WebProcessCreationParameters::encode):
44058        * Shared/WebProcessCreationParameters.h:
44059        (WebProcessCreationParameters):
44060        * Shared/WebWheelEvent.cpp:
44061        (WebKit::WebWheelEvent::encode):
44062        * Shared/mac/AttributedString.h:
44063        (AttributedString):
44064        * Shared/mac/AttributedString.mm:
44065        (WebKit::AttributedString::encode):
44066        * Shared/mac/ColorSpaceData.h:
44067        (ColorSpaceData):
44068        * Shared/mac/ColorSpaceData.mm:
44069        (WebKit::ColorSpaceData::encode):
44070        * Shared/mac/LayerTreeContextMac.mm:
44071        (WebKit::LayerTreeContext::encode):
44072        * Shared/mac/PlatformCertificateInfo.h:
44073        (PlatformCertificateInfo):
44074        * Shared/mac/PlatformCertificateInfo.mm:
44075        (WebKit::PlatformCertificateInfo::encode):
44076        * Shared/mac/SandboxExtensionMac.mm:
44077        (WebKit::SandboxExtension::Handle::encode):
44078        (WebKit::SandboxExtension::HandleArray::encode):
44079        * Shared/mac/SecItemRequestData.cpp:
44080        (WebKit::SecItemRequestData::encode):
44081        * Shared/mac/SecItemRequestData.h:
44082        * Shared/mac/SecItemResponseData.cpp:
44083        (WebKit::SecItemResponseData::encode):
44084        * Shared/mac/SecItemResponseData.h:
44085        (SecItemResponseData):
44086        * Shared/mac/SecKeychainItemRequestData.cpp:
44087        (WebKit::SecKeychainItemRequestData::encode):
44088        * Shared/mac/SecKeychainItemRequestData.h:
44089        * Shared/mac/SecKeychainItemResponseData.cpp:
44090        (WebKit::SecKeychainItemResponseData::encode):
44091        * Shared/mac/SecKeychainItemResponseData.h:
44092        (SecKeychainItemResponseData):
44093        * UIProcess/WebContextUserMessageCoders.h:
44094        (WebKit::WebContextUserMessageEncoder::encode):
44095        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
44096        (WebKit::InjectedBundleUserMessageEncoder::encode):
44097        * WebProcess/Plugins/Plugin.cpp:
44098        (WebKit::Plugin::Parameters::encode):
44099        * WebProcess/Plugins/Plugin.h:
44100        (Parameters):
44101
441022012-10-24  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
44103
44104        [Qt] Move the QQuickWebViewExperimental pointer to QQuickWebViewPrivate
44105        https://bugs.webkit.org/show_bug.cgi?id=100253
44106
44107        Reviewed by Kenneth Rohde Christiansen.
44108
44109        We'll need to avoid placing data in QQuickWebView to preserve
44110        its binary compatibility once it's public.
44111        Also make the QQuickWebViewExperimental constructor private.
44112
44113        * UIProcess/API/qt/qquickwebview.cpp:
44114        (QQuickWebViewPrivate::QQuickWebViewPrivate):
44115        (QQuickWebViewExperimental::QQuickWebViewExperimental):
44116        (QQuickWebView::QQuickWebView):
44117        (QQuickWebView::experimental):
44118        * UIProcess/API/qt/qquickwebview_p.h:
44119        * UIProcess/API/qt/qquickwebview_p_p.h:
44120        (QQuickWebViewPrivate):
44121
441222012-10-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
44123
44124        [EFL][WK2] Ewk_Settings refactoring
44125        https://bugs.webkit.org/show_bug.cgi?id=100233
44126
44127        Reviewed by Kenneth Rohde Christiansen.
44128
44129        Ewk_Settings private implementation is now C++ class which allows direct internal
44130        access to WebKit::WebPreferences.
44131
44132        * UIProcess/API/efl/EwkViewImpl.cpp:
44133        (EwkViewImpl::EwkViewImpl):
44134        * UIProcess/API/efl/ewk_settings.cpp:
44135        (Ewk_Settings::preferences):
44136        (ewk_settings_fullscreen_enabled_set):
44137        (ewk_settings_fullscreen_enabled_get):
44138        (ewk_settings_javascript_enabled_set):
44139        (ewk_settings_javascript_enabled_get):
44140        (ewk_settings_loads_images_automatically_set):
44141        (ewk_settings_loads_images_automatically_get):
44142        (ewk_settings_developer_extras_enabled_set):
44143        (ewk_settings_developer_extras_enabled_get):
44144        (ewk_settings_file_access_from_file_urls_allowed_set):
44145        (ewk_settings_file_access_from_file_urls_allowed_get):
44146        (ewk_settings_frame_flattening_enabled_set):
44147        (ewk_settings_frame_flattening_enabled_get):
44148        (ewk_settings_dns_prefetching_enabled_set):
44149        (ewk_settings_dns_prefetching_enabled_get):
44150        * UIProcess/API/efl/ewk_settings_private.h:
44151        (WebKit):
44152        (Ewk_Settings):
44153        (Ewk_Settings::Ewk_Settings):
44154        * UIProcess/API/efl/ewk_view.cpp:
44155        (_ewk_view_initialize):
44156
441572012-10-24  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
44158
44159        [EFL][AC] Fix build break when AC is enabled
44160        https://bugs.webkit.org/show_bug.cgi?id=100245
44161
44162        Reviewed by Kenneth Rohde Christiansen.
44163
44164        Fix build break after r132337.
44165
44166        * UIProcess/API/efl/EwkViewImpl.h:
44167        * UIProcess/API/efl/ewk_view.cpp:
44168
441692012-10-24  Thiago Marcos P. Santos  <thiago.santos@intel.com>
44170
44171        [EFL] run-webkit-tests writes garbage on stderr when running on Xvfb
44172        https://bugs.webkit.org/show_bug.cgi?id=100243
44173
44174        Reviewed by Kenneth Rohde Christiansen.
44175
44176        These errors generate noise on the reports and in some cases, like when
44177        running perf tests, makes the test fail. By using Xext, we can add a
44178        dummy handler to ignore these errors.
44179
44180        * PlatformEfl.cmake:
44181        * WebProcess/efl/WebProcessMainEfl.cpp:
44182        (dummyExtensionErrorHandler):
44183        (WebKit::WebProcessMainEfl):
44184
441852012-10-24  Eric Carlson  <eric.carlson@apple.com>
44186
44187        Allow ports to override text track rendering style
44188        https://bugs.webkit.org/show_bug.cgi?id=97800
44189        <rdar://problem/12044964>
44190
44191        Reviewed by Maciej Stachowiak.
44192
44193        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
44194        (InitWebCoreSystemInterface): Initialize new WKSI function pointers.
44195
441962012-10-24  Allan Sandfeld Jensen  <allan.jensen@digia.com>
44197
44198        [Qt] Expose useful WebCore::Settings
44199        https://bugs.webkit.org/show_bug.cgi?id=100239
44200
44201        Reviewed by Kenneth Rohde Christiansen.
44202
44203        Expose the two settings CaretBrowsingEnabled and NotificationsEnabled.
44204
44205        * UIProcess/API/qt/qwebpreferences.cpp:
44206        (QWebPreferencesPrivate::testAttribute):
44207        (QWebPreferencesPrivate::setAttribute):
44208        (QWebPreferences::caretBrowsingEnabled):
44209        (QWebPreferences::setCaretBrowsingEnabled):
44210        (QWebPreferences::notificationsEnabled):
44211        (QWebPreferences::setNotificationsEnabled):
44212        * UIProcess/API/qt/qwebpreferences_p.h:
44213        * UIProcess/API/qt/qwebpreferences_p_p.h:
44214
442152012-10-24  Zeno Albisser  <zeno@webkit.org>
44216
44217        Implement GraphicsSurface for Windows.
44218        https://bugs.webkit.org/show_bug.cgi?id=98147
44219
44220        Add encode and decode implementation for GraphicsSurfaceToken on Windows.
44221
44222        Reviewed by Kenneth Rohde Christiansen.
44223
44224        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
44225        (CoreIPC::::encode):
44226        (CoreIPC::::decode):
44227
442282012-10-24  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
44229
44230        [EFL][WK2] ASSERTION FAILED: edje(): could not paint native HTML part due to missing theme
44231        https://bugs.webkit.org/show_bug.cgi?id=100227
44232
44233        Reviewed by Kenneth Rohde Christiansen.
44234
44235        Browser crashes on loading any page due to missing theme after
44236        the web process has crashed and recovered.
44237
44238        This patch reset the theme when the web process is recovered to
44239        avoid a crash.
44240
44241        * UIProcess/API/efl/PageClientImpl.cpp:
44242        (WebKit::PageClientImpl::didRelaunchProcess):
44243
442442012-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>
44245
44246        Unreviewed, rolling out r132333.
44247        http://trac.webkit.org/changeset/132333
44248        https://bugs.webkit.org/show_bug.cgi?id=100234
44249
44250        Crashes many tests on the EFL-WK2 bot. (Requested by rakuco on
44251        #webkit).
44252
44253        * Target.pri:
44254        * UIProcess/WebProcessProxy.cpp:
44255        (WebKit::WebProcessProxy::updateTextCheckerState):
44256
442572012-10-24  Christophe Dumez  <christophe.dumez@intel.com> and Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
44258
44259        [EFL][WK2] Move Ewk_View_Private_Data out of ewk_view.cpp
44260        https://bugs.webkit.org/show_bug.cgi?id=100228
44261
44262        Reviewed by Gyuyoung Kim.
44263
44264        Move Ewk_View_Private_Data out of ewk_view.cpp and
44265        rename it to EwkViewImpl. This is a first step towards
44266        getting rid of C'ism in Ewk_View.
44267
44268        In a future, we will make EwkViewImpl a proper C++
44269        class and get rid of the private ewk_view C API so
44270        that WebKit code interacts with EwkViewImpl instead
44271        of Evas_Object.
44272
44273        * PlatformEfl.cmake:
44274        * UIProcess/API/efl/EwkViewImpl.cpp: Added.
44275        (_ewk_view_commit):
44276        (_ewk_view_preedit_changed):
44277        (_ewk_view_imf_context_destroy):
44278        (_ewk_view_imf_context_create):
44279        (EwkViewImpl::EwkViewImpl):
44280        (EwkViewImpl::~EwkViewImpl):
44281        * UIProcess/API/efl/EwkViewImpl.h: Added.
44282        (WebKit):
44283        (EwkViewImpl):
44284        * UIProcess/API/efl/ewk_view.cpp:
44285        (_ewk_view_priv_del):
44286        (_ewk_view_smart_add):
44287        * UIProcess/API/efl/ewk_view.h:
44288
442892012-10-24  Ryuan Choi  <ryuan.choi@gmail.com>
44290
44291        [EFL][WK2] Crash when passing NULL instead of ewk_view instance
44292        https://bugs.webkit.org/show_bug.cgi?id=100078
44293
44294        Reviewed by Gyuyoung Kim.
44295
44296        Although applications should pass valid ewk_view to call ewk_view_XXX,
44297        ewk_view_XXX should not be crashed.
44298
44299        * UIProcess/API/efl/ewk_view.cpp:
44300        Checked null and early exited from EWK_VIEW_TYPE_CHECK if error occured.
44301        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added test case.
44302        (TEST_F):
44303
443042012-10-24  Christophe Dumez  <christophe.dumez@intel.com>
44305
44306        [EFL][WK2] Make find and form clients C++ classes
44307        https://bugs.webkit.org/show_bug.cgi?id=100199
44308
44309        Reviewed by Kenneth Rohde Christiansen.
44310
44311        Make form and find client C++ classes to move away
44312        from C'ism in WK2 EFL port. The new classes have been
44313        moved up to UIProcess/efl instead of UIProcess/API/efl
44314        since it is not part of the public API.
44315
44316        * PlatformEfl.cmake:
44317        * UIProcess/API/efl/ewk_view.cpp:
44318        (Ewk_View_Private_Data):
44319        (_ewk_view_initialize):
44320        * UIProcess/efl/FindClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client.cpp.
44321        (WebKit):
44322        (WebKit::toFindClientEfl):
44323        (WebKit::FindClientEfl::didFindString):
44324        (WebKit::FindClientEfl::didFailToFindString):
44325        (WebKit::FindClientEfl::FindClientEfl):
44326        * UIProcess/efl/FindClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client_private.h.
44327        (WebKit):
44328        (FindClientEfl):
44329        (WebKit::FindClientEfl::create):
44330        * UIProcess/efl/FormClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client.cpp.
44331        (WebKit):
44332        (WebKit::toFormClientEfl):
44333        (WebKit::FormClientEfl::willSubmitForm):
44334        (WebKit::FormClientEfl::FormClientEfl):
44335        * UIProcess/efl/FormClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client_private.h.
44336        (WebKit):
44337        (FormClientEfl):
44338        (WebKit::FormClientEfl::create):
44339
443402012-10-24  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
44341
44342        [EFL] WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
44343        https://bugs.webkit.org/show_bug.cgi?id=93611
44344
44345        Reviewed by Hajime Morita.
44346
44347        When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
44348        it happens that the WebProcess is still not launched (although it is already created).
44349        In this case, isValid() method returns false.
44350
44351        This fix sends a message to the WebProcess messages queue, and the message
44352        will be handled once the WebProcess is ready.
44353
44354        * Target.pri:
44355        Adds missing files to compile spellcheking feature for WebKit2-Qt
44356        to use WebKit C API from WKTextChecker.h.
44357
44358        * UIProcess/WebProcessProxy.cpp:
44359        (WebKit::WebProcessProxy::updateTextCheckerState):
44360        Uses canSendMessage() method instead of isValid() to check whether the message to
44361        the WebProcess can be sent.
44362
443632012-10-24  Yael Aharon  <yael.aharon@intel.com>
44364
44365        [EFL][WK2][AC] Black screen in web inspector window with AC on
44366        https://bugs.webkit.org/show_bug.cgi?id=100168
44367
44368        Reviewed by Kenneth Rohde Christiansen.
44369
44370        When ACCELERATED_COMPOSITING flag is turned on, and using X11,
44371        pass "opengl_x11" engine name to ecore_evas_new when creating a
44372        web inspector window. It is guaranteed to be available, because
44373        we wouldn't be able to create a main window if it wasn't.
44374
44375        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
44376
443772012-10-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
44378
44379        [EFL][WK2] Make History client a C++ class
44380        https://bugs.webkit.org/show_bug.cgi?id=100104
44381
44382        Reviewed by Kenneth Rohde Christiansen.
44383
44384        Created ContextHistoryClientEfl class to encapsulate history client code for EFL.
44385
44386        * PlatformEfl.cmake:
44387        * UIProcess/API/efl/ewk_context.cpp:
44388        (Ewk_Context::Ewk_Context):
44389        (ewk_context_history_callbacks_set):
44390        * UIProcess/API/efl/ewk_context_history_client.cpp: Removed.
44391        * UIProcess/API/efl/ewk_context_history_client_private.h: Removed.
44392        * UIProcess/API/efl/ewk_context_private.h:
44393        (WebKit):
44394        (Ewk_Context):
44395        * UIProcess/efl/ContextHistoryClientEfl.cpp: Added.
44396        (WebKit):
44397        (WebKit::toContextHistoryClientEfl):
44398        (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
44399        (WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
44400        (WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
44401        (WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
44402        (WebKit::ContextHistoryClientEfl::populateVisitedLinks):
44403        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
44404        (WebKit::ContextHistoryClientEfl::setCallbacks):
44405        * UIProcess/efl/ContextHistoryClientEfl.h: Added.
44406        (WebKit):
44407        (ContextHistoryClientEfl):
44408        (WebKit::ContextHistoryClientEfl::create):
44409
444102012-10-23  Carlos Garcia Campos  <cgarcia@igalia.com>
44411
44412        [GTK] Add API to get the WebKitWebView associated to a WebKitDownload to WebKit2 GTK+
44413        https://bugs.webkit.org/show_bug.cgi?id=99836
44414
44415        Reviewed by Martin Robinson.
44416
44417        Add webkit_download_get_web_view() to get the WebKitWebView that
44418        initiated the download and webkit_web_view_download_uri() to start
44419        a new download associated to a WebKitWebView.
44420
44421        * UIProcess/API/gtk/PageClientImpl.cpp:
44422        (WebKit::PageClientImpl::handleDownloadRequest): Call
44423        webkitWebViewBaseHandleDownloadRequest().
44424        * UIProcess/API/gtk/PageClientImpl.h:
44425        (PageClientImpl): Add handleDownloadRequest().
44426        * UIProcess/API/gtk/WebKitDownload.cpp:
44427        (webkitDownloadSetWebView): Set the WebKitWebView associated to
44428        the download.
44429        (webkit_download_get_web_view): Public method to get the
44430        WebKitWebView associated to the download.
44431        * UIProcess/API/gtk/WebKitDownload.h:
44432        * UIProcess/API/gtk/WebKitDownloadPrivate.h:
44433        * UIProcess/API/gtk/WebKitWebContext.cpp:
44434        (webkit_web_context_download_uri): Use the new helper
44435        webkitWebContextStartDownload().
44436        (webkitWebContextStartDownload): Helper function to start a new
44437        download that is also used by WebKitWebView.
44438        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
44439        * UIProcess/API/gtk/WebKitWebView.cpp:
44440        (webkitWebViewHandleDownloadRequest): Call
44441        webkitDownloadSetWebView() to associate the download with the
44442        WebKitWebView.
44443        (webkitWebViewConstructed): Set a download request handler.
44444        (webkit_web_view_download_uri): Public method to start a new
44445        download associated to the web view.
44446        * UIProcess/API/gtk/WebKitWebView.h:
44447        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
44448        (webkitWebViewBaseSetDownloadRequestHandler): Set a function
44449        pointer to be called when a new download is request for the web
44450        view.
44451        (webkitWebViewBaseHandleDownloadRequest): Call the download
44452        request handler if any.
44453        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
44454        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
44455        * UIProcess/API/gtk/tests/TestDownloads.cpp:
44456        (testDownloadLocalFile):
44457        (testDownloadLocalFileError):
44458        (testDownloadRemoteFile):
44459        (testDownloadRemoteFileError):
44460        (testWebViewDownloadURI):
44461        (testPolicyResponseDownload):
44462        (beforeAll):
44463        * UIProcess/PageClient.h:
44464        (PageClient):
44465        * UIProcess/WebPageProxy.cpp:
44466        (WebKit::WebPageProxy::receivedPolicyDecision):
44467        (WebKit):
44468        * UIProcess/WebPageProxy.h:
44469        (WebPageProxy):
44470
444712012-10-23  Dan Bernstein  <mitz@apple.com>
44472
44473        WebKit2 part of <rdar://problem/2966974> [mac] Kerning and ligatures are not enabled by default
44474        https://bugs.webkit.org/show_bug.cgi?id=100188
44475
44476        Reviewed by Sam Weinig.
44477
44478        * UIProcess/mac/WebContextMac.mm:
44479        (WebKit::registerUserDefaultsIfNeeded): Added. Registers a value of YES for the
44480        WebKitKerningAndLigaturesEnabledByDefault user default if it has not been registered yet.
44481        (WebKit::WebContext::platformInitializeWebProcess): Added a call to
44482        registerUserDefaultsIfNeeded, and changed to refer to the defaults key by name.
44483
444842012-10-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
44485
44486        Coordinated Graphics: Enable threaded/IPC animations
44487        https://bugs.webkit.org/show_bug.cgi?id=93146
44488
44489        Unreviewed build fix, some function names changed between review and landing.
44490
44491        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
44492        (CoreIPC::encodeTimingFunction):
44493        (CoreIPC::decodeTimingFunction):
44494        (CoreIPC::::encode):
44495        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
44496        (WebCore):
44497
444982012-10-23  Sam Weinig  <sam@webkit.org>
44499
44500        Stop using NSHomeDirectory() to get the home directory, it doesn't always return what we want
44501        https://bugs.webkit.org/show_bug.cgi?id=100180
44502
44503        Reviewed by Anders Carlsson.
44504
44505        NSHomeDirectory() doesn't return the real home directory if the host process
44506        is App Sandboxed, so drop down and use getpwuid_r instead.
44507
44508        * WebProcess/mac/WebProcessMac.mm:
44509        (WebKit::appendReadwriteSandboxDirectory):
44510        There is no reason anymore to try to create the directory.
44511
44512        (WebKit::WebProcess::initializeSandbox):
44513        Switch to getpwuid_r.
44514
445152012-10-23  Martin Robinson  <mrobinson@igalia.com>
44516
44517        [GTK][Soup] Implement the default authentication dialog via WebCoreSupport
44518        https://bugs.webkit.org/show_bug.cgi?id=99351
44519
44520        Reviewed by Carlos Garcia Campos.
44521
44522        Instead of using a custom SoupSessionFeature to show the authentication
44523        dialog, show it using the corresponding WebCore message.
44524
44525        * GNUmakefile.list.am: Removed the SoupSessionFeature files.
44526        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44527        (WebKit): Only use the default dispatchDidReceiveAuthenticationChallenge
44528        for non-GTK+ ports.
44529        * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Added.
44530        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Added
44531        a GTK+-specific implementation that shows the GtkAuthenticationDialog.
44532        * WebProcess/gtk/WebAuthDialog.cpp: Removed.
44533        * WebProcess/gtk/WebAuthDialog.h: Removed.
44534        * WebProcess/gtk/WebProcessMainGtk.cpp:
44535        (WebKit::WebProcessMainGtk): Don't install the custom session feature.
44536
445372012-10-23  Anders Carlsson  <andersca@apple.com>
44538
44539        Remove deprecatedSend
44540        https://bugs.webkit.org/show_bug.cgi?id=100127
44541
44542        Reviewed by Andreas Kling.
44543
44544        deprecatedSend is no longer used anywhere, remove it.
44545
44546        * Platform/CoreIPC/Connection.h:
44547        (Connection):
44548        * UIProcess/WebProcessProxy.h:
44549        (WebProcessProxy):
44550
445512012-10-23  Andy Estes  <aestes@apple.com>
44552
44553        [WebKit2 API] Add properties to get textRects from a WKDOMRange or WKDOMNode
44554        https://bugs.webkit.org/show_bug.cgi?id=100162
44555
44556        Reviewed by Sam Weinig.
44557
44558        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
44559        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
44560        (WebKit::toNSArray): Added a helper function to convert a Vector of IntRects to an NSArray.
44561        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
44562        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
44563        (-[WKDOMNode textRects]):
44564        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
44565        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
44566        (-[WKDOMRange textRects]):
44567
445682012-10-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
44569
44570        Coordinated Graphics: Enable threaded/IPC animations
44571        https://bugs.webkit.org/show_bug.cgi?id=93146
44572
44573        Reviewed by Kenneth Rohde Christiansen.
44574
44575        Re-enable UI-process animations for Coordinated-Graphics/TextureMapper.
44576        - Added an argument coder for GraphicsLayerAnimations.
44577        - Allow LayerTreeCoordinator to manage the animations per layer with the proxy,
44578          as opposed to applying the animation values in the web process as before.
44579        - LayerTreeRenderer now calls updateViewport() after painting when an animation is active.
44580
44581        To overcome the problem we've had in the past with synchronizing UI-side and web-side
44582        animations, we now lock the animations in the UI process when a frame starts rendering,
44583        and unlock it when the frame finishes rendering, or if after the layout there is no visible
44584        changes pending on the screen.
44585
44586        * Scripts/webkit2/messages.py:
44587        (headers_for_type):
44588        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
44589        (CoreIPC):
44590        (CoreIPC::encodeTimingFunction):
44591        (CoreIPC::decodeTimingFunction):
44592        (CoreIPC::::encode):
44593        (CoreIPC::::decode):
44594        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
44595        (WebCore):
44596            Added argument coders for GraphicsLayerAnimations.
44597
44598        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
44599        (WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
44600        (WebKit::LayerTreeCoordinatorProxy::setAnimationsLocked):
44601        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
44602        (LayerTreeCoordinatorProxy):
44603        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
44604            Added an option to sync the layer's animations, and also to lock/unlock animations.
44605
44606        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
44607        (WebKit::LayerTreeRenderer::LayerTreeRenderer):
44608        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
44609            Sync animations if they're not locked, and call updateViewport() if we have animations.
44610
44611        (WebKit::LayerTreeRenderer::flushLayerChanges):
44612        (WebKit::LayerTreeRenderer::setLayerAnimations):
44613        (WebKit::LayerTreeRenderer::setAnimationsLocked):
44614
44615        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
44616        (LayerTreeRenderer):
44617        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
44618        (WebCore::CoordinatedGraphicsLayer::didChangeAnimations):
44619        (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
44620        (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
44621        (WebCore::CoordinatedGraphicsLayer::syncLayerState):
44622        (WebCore::CoordinatedGraphicsLayer::syncAnimations):
44623        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
44624        (WebCore::CoordinatedGraphicsLayer::addAnimation):
44625        (WebCore::CoordinatedGraphicsLayer::pauseAnimation):
44626        (WebCore::CoordinatedGraphicsLayer::removeAnimation):
44627        (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
44628        (WebCore):
44629            Pass the animation info to the UI process instead of applying it in the web process.
44630
44631        (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
44632            Compute whether a layer tree might have sync issues or flickers if rendered while
44633            background animations are ongoing.
44634
44635        (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
44636        (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
44637            Don't allow progressive tiling for layers with animations.
44638
44639        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
44640        (WebCore):
44641        (CoordinatedGraphicsLayerClient):
44642        (CoordinatedGraphicsLayer):
44643        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
44644        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
44645        (WebKit::LayerTreeCoordinator::lockAnimations):
44646        (WebKit):
44647        (WebKit::LayerTreeCoordinator::unlockAnimations):
44648        (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
44649        (WebKit::LayerTreeCoordinator::setLayerAnimations):
44650        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
44651        (LayerTreeCoordinator):
44652
446532012-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
44654
44655        [Qt][WK2] Add preference for enabling scroll animators
44656        https://bugs.webkit.org/show_bug.cgi?id=100124
44657
44658        Reviewed by Jocelyn Turcotte.
44659
44660        Expose the ScollAnimatorEnabled setting in QWebPreferences.
44661
44662        * UIProcess/API/qt/qwebpreferences.cpp:
44663        (QWebPreferencesPrivate::testAttribute):
44664        (QWebPreferencesPrivate::setAttribute):
44665        (QWebPreferences::scrollAnimatorEnabled):
44666        (QWebPreferences::setScrollAnimatorEnabled):
44667        * UIProcess/API/qt/qwebpreferences_p.h:
44668        * UIProcess/API/qt/qwebpreferences_p_p.h:
44669
446702012-10-23  Yael Aharon  <yael.aharon@intel.com>
44671
44672        [EFL][WK2] Use the port independent PageViewportController
44673        https://bugs.webkit.org/show_bug.cgi?id=99850
44674
44675        Reviewed by Kenneth Rohde Christiansen.
44676
44677        Take PageViewportController into use, and rely on it to calculate
44678        scroll position and zoom level.
44679        With this patch, we can do intra page navigation and use the scrollwheel
44680        to scroll, when WTF_USE_TILED_BACKING_STORE and all related flags are enabled.
44681
44682        * CMakeLists.txt:
44683        * UIProcess/API/efl/PageClientImpl.cpp:
44684        (WebKit::PageClientImpl::didChangeViewportProperties):
44685        (WebKit::PageClientImpl::pageDidRequestScroll):
44686        (WebKit::PageClientImpl::didChangeContentsSize):
44687        (WebKit):
44688        (WebKit::PageClientImpl::didRenderFrame):
44689        (WebKit::PageClientImpl::pageTransitionViewportReady):
44690        * UIProcess/API/efl/PageClientImpl.h:
44691        (WebKit):
44692        (PageClientImpl):
44693        (WebKit::PageClientImpl::setPageViewportController):
44694        * UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
44695        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
44696        (WebKit::PageViewportControllerClientEfl::display):
44697        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
44698        (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
44699        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
44700        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
44701        (WebKit::PageViewportControllerClientEfl::setContentsScale):
44702        (WebKit::PageViewportControllerClientEfl::didResumeContent):
44703        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
44704        (WebKit::PageViewportControllerClientEfl::setController):
44705        * UIProcess/API/efl/PageViewportControllerClientEfl.h:
44706        (WebKit::PageViewportControllerClientEfl::scaleFactor):
44707        (WebKit::PageViewportControllerClientEfl::scrollPosition):
44708        (PageViewportControllerClientEfl):
44709        * UIProcess/API/efl/ewk_view.cpp:
44710        (Ewk_View_Private_Data):
44711        (mapToWebContent):
44712        (_ewk_view_smart_mouse_wheel):
44713        (_ewk_view_smart_mouse_down):
44714        (_ewk_view_smart_mouse_up):
44715        (_ewk_view_smart_mouse_move):
44716        (_ewk_view_initialize):
44717        (ewk_view_load_committed):
44718        (ewk_view_feed_touch_event):
44719        * UIProcess/API/efl/ewk_view_private.h:
44720        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
44721        (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
44722        * UIProcess/PageClient.h:
44723        (PageClient):
44724        * UIProcess/PageViewportController.cpp:
44725        * UIProcess/PageViewportController.h:
44726        * UIProcess/WebPageProxy.cpp:
44727        (WebKit):
44728        (WebKit::WebPageProxy::pageTransitionViewportReady):
44729        (WebKit::WebPageProxy::didRenderFrame):
44730        * UIProcess/WebPageProxy.h:
44731        (WebPageProxy):
44732        * UIProcess/WebPageProxy.messages.in:
44733        * UIProcess/efl/PageLoadClientEfl.cpp:
44734        (WebKit):
44735        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
44736        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
44737        * UIProcess/efl/PageLoadClientEfl.h:
44738        (PageLoadClientEfl):
44739        * UIProcess/qt/WebPageProxyQt.cpp:
44740        (WebKit):
44741        (WebKit::WebPageProxy::setUserScripts):
44742        * WebProcess/WebPage/WebPage.cpp:
44743        (WebKit::WebPage::didCompletePageTransition):
44744
447452012-10-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
44746
44747        Add support for resolution media query
44748        https://bugs.webkit.org/show_bug.cgi?id=99077
44749
44750        Reviewed by Antti Koivisto.
44751
44752        * win/WebKit2.def:
44753
44754            Add exports for the WebCore::Settings setting.
44755
44756        * Configurations/FeatureDefines.xcconfig:
44757
44758            Add support for the RESOLUTION_MEDIA_QUERY feature flag.
44759
447602012-10-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
44761
44762        [Qt] Port QWebPreferences to C++
44763        https://bugs.webkit.org/show_bug.cgi?id=100121
44764
44765        Reviewed by Kenneth Rohde Christiansen.
44766
44767        Port all the WebPreference calls to using the direct API instead of going through
44768        the auto-generated C API.
44769
44770        * UIProcess/API/qt/qwebpreferences.cpp:
44771        (QWebPreferencesPrivate::testAttribute):
44772        (QWebPreferencesPrivate::setAttribute):
44773        (QWebPreferencesPrivate::setFontFamily):
44774        (QWebPreferencesPrivate::fontFamily):
44775        (QWebPreferencesPrivate::setFontSize):
44776        (QWebPreferencesPrivate::fontSize):
44777        (QWebPreferencesPrivate::preferences):
44778        * UIProcess/API/qt/qwebpreferences_p_p.h:
44779
447802012-10-23  Eunmi Lee  <eunmi15.lee@samsung.com>
44781
44782        [EFL][WK2] Convert WebEvent's timestamp from millisecond to second.
44783        https://bugs.webkit.org/show_bug.cgi?id=100101
44784
44785        Reviewed by Kenneth Rohde Christiansen.
44786
44787        Convert timestamp to second to create WebEvent from Evas event because
44788        the unit of timestamp from Evas Event is millisecond, but the unit of
44789        timestamp for WebEvent is second.
44790
44791        * Shared/efl/WebEventFactory.cpp:
44792        (WebKit::convertMillisecondToSecond):
44793        (WebKit):
44794        (WebKit::WebEventFactory::createWebMouseEvent):
44795        (WebKit::WebEventFactory::createWebWheelEvent):
44796        (WebKit::WebEventFactory::createWebKeyboardEvent):
44797
447982012-10-23  Christophe Dumez  <christophe.dumez@intel.com>
44799
44800        [EFL][WK2] Make request manager client a C++ class
44801        https://bugs.webkit.org/show_bug.cgi?id=100093
44802
44803        Reviewed by Kenneth Rohde Christiansen.
44804
44805        Make EFL's request manager client a C++ class and
44806        move URL scheme handling code to it. The new
44807        RequestManagerClientEfl is now in UIProcess/efl
44808        instead of UIProcess/API/efl since it is not
44809        part of the public API.
44810
44811        * PlatformEfl.cmake:
44812        * UIProcess/API/efl/ewk_context.cpp:
44813        (Ewk_Context::Ewk_Context):
44814        (Ewk_Context::requestManager):
44815        (ewk_context_url_scheme_register):
44816        * UIProcess/API/efl/ewk_context_private.h:
44817        (WebKit):
44818        (Ewk_Context):
44819        * UIProcess/efl/RequestManagerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp.
44820        (WebKit):
44821        (Ewk_Url_Scheme_Handler):
44822        (WebKit::Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
44823        (WebKit::toRequestManagerClientEfl):
44824        (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
44825        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
44826        (WebKit::RequestManagerClientEfl::~RequestManagerClientEfl):
44827        (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
44828        * UIProcess/efl/RequestManagerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client_private.h.
44829        (WebKit):
44830        (RequestManagerClientEfl):
44831        (WebKit::RequestManagerClientEfl::create):
44832
448332012-10-23  Alexander Shalamov  <alexander.shalamov@intel.com>
44834
44835        [EFL][WK2] ecore_x should be initialised in WebProcess to avoid re-initialization by PlatformScreenEfl utilities and systemBeep() function
44836        https://bugs.webkit.org/show_bug.cgi?id=100110
44837
44838        Reviewed by Kenneth Rohde Christiansen.
44839
44840        PlatformScreenEfl functions and systemBeep() depend on ecore_x functionality, therefore,
44841        ecore_x should be initialized when web process starts to avoid re-initialization.
44842
44843        * WebProcess/efl/WebProcessMainEfl.cpp:
44844        (WebKit::WebProcessMainEfl): Initialized ecore_x module.
44845
448462012-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
44847
44848        [EFL][WK2] Add support for IMF composition
44849        https://bugs.webkit.org/show_bug.cgi?id=89552
44850
44851        Reviewed by Gyuyoung Kim.
44852
44853        Implemented basic IMF support.
44854
44855        * PlatformEfl.cmake:
44856        * Shared/NativeWebKeyboardEvent.h:
44857        (NativeWebKeyboardEvent):
44858        (WebKit::NativeWebKeyboardEvent::isFiltered):
44859        Added to determine whether current keyboard event is compositing.
44860        * Shared/efl/NativeWebKeyboardEventEfl.cpp:
44861        (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
44862        * UIProcess/API/efl/PageClientImpl.cpp:
44863        (WebKit::PageClientImpl::updateTextInputState):
44864        Added to change input state.
44865        * UIProcess/API/efl/PageClientImpl.h:
44866        (PageClientImpl):
44867        * UIProcess/API/efl/ewk_main.cpp:
44868        (ewk_init): Called ecore_imf_init.
44869        (ewk_shutdown): Called ecore_imf_shutdown.
44870        * UIProcess/API/efl/ewk_view.cpp:
44871        (_Ewk_View_Private_Data):
44872        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
44873        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
44874        (_ewk_view_smart_key_down): Modified to send keyboard event to IMF.
44875        (_ewk_view_smart_mouse_up): Modified to reset input method context.
44876        (_ewk_view_preedit_changed): Added to send composition string.
44877        (_ewk_view_commit): Added to send a message that composition is finished.
44878        (_ewk_view_imf_context_create): Added to create Ecore_IMF_Context.
44879        (_ewk_view_imf_context_destroy): Added to destroy Ecore_IMF_Context.
44880        (ewk_view_text_input_state_update): Added to update input state.
44881        * UIProcess/API/efl/ewk_view_private.h:
44882        * UIProcess/PageClient.h: Moved updateTextInputState() to share with EFL port.
44883        (PageClient):
44884        * UIProcess/WebPageProxy.cpp:
44885        (WebKit::WebPageProxy::editorStateChanged):
44886        Added PLATFORM(EFL) to call updateTextInputState()
44887        * UIProcess/WebPageProxy.h:
44888        (WebPageProxy):
44889        * UIProcess/WebPageProxy.messages.in:
44890        Added HandleInputMethodKeydown message to determine whether keydown is handled.
44891        * UIProcess/efl/WebPageProxyEfl.cpp:
44892        (WebKit::WebPageProxy::handleInputMethodKeydown):
44893        Added to check whether input method handled keydown.
44894        (WebKit::WebPageProxy::confirmComposition): Added to support composition.
44895        (WebKit::WebPageProxy::setComposition): Ditto.
44896        (WebKit::WebPageProxy::cancelComposition): Ditto.
44897        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
44898        (WebKit::WebEditorClient::handleInputMethodKeydown):
44899        Added to check whether input method handled keydown.
44900        * WebProcess/WebPage/WebPage.h:
44901        (WebPage):
44902        * WebProcess/WebPage/WebPage.messages.in: Added messages to support composition.
44903        * WebProcess/WebPage/efl/WebPageEfl.cpp:
44904        (WebKit::targetFrameForEditing): Referenced from QT port to get focused frame.
44905        (WebKit::WebPage::confirmComposition): Added to support composition.
44906        (WebKit::WebPage::setComposition): Ditto.
44907        (WebKit::WebPage::cancelComposition): Ditto.
44908
449092012-10-23  Jussi Kukkonen  <jussi.kukkonen@intel.com>
44910
44911        [EFL] Make plugin process debugging easier (PLUGIN_PROCESS_COMMAND_PREFIX)
44912        https://bugs.webkit.org/show_bug.cgi?id=99297
44913
44914        Reviewed by Kenneth Rohde Christiansen.
44915
44916        Add support for PLUGIN_PROCESS_COMMAND_PREFIX environment variable, to allow easier
44917        plugin debugging with e.g.:
44918        $ PLUGIN_PROCESS_COMMAND_PREFIX="xterm gdb --args" MiniBrowser
44919
44920        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
44921        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
44922        (WebKit):
44923
449242012-10-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
44925
44926        [EFL][WK2] Make Policy client a C++ class
44927        https://bugs.webkit.org/show_bug.cgi?id=100089
44928
44929        Reviewed by Kenneth Rohde Christiansen.
44930
44931        Make page policy client a C++ class and remove it from API folder.
44932
44933        * PlatformEfl.cmake:
44934        * UIProcess/API/efl/ewk_view.cpp:
44935        (Ewk_View_Private_Data):
44936        (_ewk_view_initialize):
44937        * UIProcess/efl/PagePolicyClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp.
44938        (WebKit):
44939        (WebKit::toPagePolicyClientEfl):
44940        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
44941        (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
44942        (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
44943        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
44944        * UIProcess/efl/PagePolicyClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client_private.h.
44945        (WebKit):
44946        (PagePolicyClientEfl):
44947        (WebKit::PagePolicyClientEfl::create):
44948        (WebKit::PagePolicyClientEfl::view):
44949
449502012-10-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
44951
44952        [EFL][WK2] Make UI client a C++ class
44953        https://bugs.webkit.org/show_bug.cgi?id=100099
44954
44955        Reviewed by Gyuyoung Kim.
44956
44957        Made page UI client a C++ class and removed it from API directory.
44958
44959        * PlatformEfl.cmake:
44960        * UIProcess/API/efl/ewk_view.cpp:
44961        (Ewk_View_Private_Data):
44962        (_ewk_view_initialize):
44963        * UIProcess/API/efl/ewk_view_ui_client.cpp: Removed.
44964        * UIProcess/API/efl/ewk_view_ui_client_private.h: Removed.
44965        * UIProcess/efl/PageUIClientEfl.cpp: Added.
44966        (WebKit):
44967        (WebKit::toPageUIClientEfl):
44968        (WebKit::PageUIClientEfl::closePage):
44969        (WebKit::PageUIClientEfl::createNewPage):
44970        (WebKit::PageUIClientEfl::runJavaScriptAlert):
44971        (WebKit::PageUIClientEfl::runJavaScriptConfirm):
44972        (WebKit::PageUIClientEfl::runJavaScriptPrompt):
44973        (WebKit::PageUIClientEfl::showColorPicker):
44974        (WebKit::PageUIClientEfl::hideColorPicker):
44975        (WebKit::PageUIClientEfl::exceededDatabaseQuota):
44976        (WebKit::PageUIClientEfl::focus):
44977        (WebKit::PageUIClientEfl::unfocus):
44978        (WebKit::PageUIClientEfl::takeFocus):
44979        (WebKit::PageUIClientEfl::getWindowFrame):
44980        (WebKit::PageUIClientEfl::setWindowFrame):
44981        (WebKit::PageUIClientEfl::PageUIClientEfl):
44982        * UIProcess/efl/PageUIClientEfl.h: Added.
44983        (WebKit):
44984        (PageUIClientEfl):
44985        (WebKit::PageUIClientEfl::create):
44986
449872012-10-23  Andreas Kling  <kling@webkit.org>
44988
44989        [WK2] REGRESSION(r132169): It broke all plugin related test.
44990        <http://webkit.org/b/100094>
44991
44992        Unreviewed test fix, make the CoreIPC encode/decode functions for CString match again.
44993
44994        * Platform/CoreIPC/ArgumentCoders.cpp:
44995        (CoreIPC::::encode):
44996
449972012-10-23  Christophe Dumez  <christophe.dumez@intel.com>
44998
44999        [EFL][WK2] Make a download client a C++ class
45000        https://bugs.webkit.org/show_bug.cgi?id=100005
45001
45002        Reviewed by Kenneth Rohde Christiansen.
45003
45004        Make EFL's Download client a C++ class and move
45005        the id <-> download mapping from Ewk_Context to
45006        DownloadManagerEfl.
45007
45008        The Download client was also moved to
45009        UIProcess/efl/ instead of UIProcess/API/efl/
45010        since it is not part of the public API.
45011
45012        * PlatformEfl.cmake:
45013        * UIProcess/API/efl/PageClientImpl.cpp:
45014        (WebKit::PageClientImpl::handleDownloadRequest):
45015        * UIProcess/API/efl/ewk_context.cpp:
45016        (Ewk_Context::Ewk_Context):
45017        (Ewk_Context::downloadManager):
45018        * UIProcess/API/efl/ewk_context_download_client_private.h: Removed.
45019        * UIProcess/API/efl/ewk_context_private.h:
45020        (Ewk_Context):
45021        * UIProcess/API/efl/ewk_download_job_private.h:
45022        * UIProcess/efl/DownloadManagerEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp.
45023        (WebKit):
45024        (WebKit::toDownloadManagerEfl):
45025        (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
45026        (WebKit::DownloadManagerEfl::didReceiveResponse):
45027        (WebKit::DownloadManagerEfl::didCreateDestination):
45028        (WebKit::DownloadManagerEfl::didReceiveData):
45029        (WebKit::DownloadManagerEfl::didFail):
45030        (WebKit::DownloadManagerEfl::didCancel):
45031        (WebKit::DownloadManagerEfl::didFinish):
45032        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
45033        (WebKit::DownloadManagerEfl::registerDownload):
45034        (WebKit::DownloadManagerEfl::downloadJob):
45035        (WebKit::DownloadManagerEfl::unregisterDownloadJob):
45036        * UIProcess/efl/DownloadManagerEfl.h: Added.
45037        (WebKit):
45038        (DownloadManagerEfl):
45039        (WebKit::DownloadManagerEfl::create):
45040
450412012-10-23  Andras Becsi  <andras.becsi@digia.com>
45042
45043        Remove devicePixelRatio from ViewportAttributes
45044        https://bugs.webkit.org/show_bug.cgi?id=99845
45045
45046        Reviewed by Adam Barth.
45047
45048        Update PageViewportController and co. to pass the device pixel ratio
45049        as an argument to functions that need to adjust the visible viewport size.
45050
45051        * UIProcess/PageViewportController.cpp:
45052        (WebKit::PageViewportController::PageViewportController):
45053        (WebKit::PageViewportController::updateMinimumScaleToFit):
45054        * UIProcess/qt/PageViewportControllerClientQt.cpp:
45055        (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
45056
450572012-10-23  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
45058
45059        [EFL][WK2] Refactor Ewk_Context
45060        https://bugs.webkit.org/show_bug.cgi?id=99594
45061
45062        Reviewed by Kenneth Rohde Christiansen.
45063
45064        Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
45065        Also the same instance of Ewk_Context is returned for the same instance of
45066        WKContext, so memory leak in ewk_view is also fixed.
45067
45068        * UIProcess/API/efl/PageClientImpl.cpp:
45069        (WebKit::PageClientImpl::handleDownloadRequest):
45070        * UIProcess/API/efl/ewk_context.cpp:
45071        (contextMap):
45072        (Ewk_Context::Ewk_Context):
45073        (Ewk_Context::~Ewk_Context):
45074        (Ewk_Context::create):
45075        (Ewk_Context::defaultContext):
45076        (Ewk_Context::cookieManager):
45077        (Ewk_Context::faviconDatabase):
45078        (Ewk_Context::registerURLScheme):
45079        (Ewk_Context::vibrationProvider):
45080        (Ewk_Context::addVisitedLink):
45081        (Ewk_Context::setCacheModel):
45082        (Ewk_Context::cacheModel):
45083        (ewk_context_ref):
45084        (ewk_context_unref):
45085        (ewk_context_cookie_manager_get):
45086        (ewk_context_favicon_database_get):
45087        (Ewk_Context::wkContext):
45088        (Ewk_Context::addDownloadJob):
45089        (Ewk_Context::downloadJob):
45090        (Ewk_Context::removeDownloadJob):
45091        (Ewk_Context::requestManager):
45092        (Ewk_Context::urlSchemeRequestReceived):
45093        (ewk_context_default_get):
45094        (ewk_context_new):
45095        (ewk_context_new_with_injected_bundle_path):
45096        (ewk_context_url_scheme_register):
45097        (ewk_context_vibration_client_callbacks_set):
45098        (ewk_context_history_callbacks_set):
45099        (ewk_context_visited_link_add):
45100        (ewk_context_cache_model_set):
45101        (ewk_context_cache_model_get):
45102        * UIProcess/API/efl/ewk_context_download_client.cpp:
45103        (decideDestinationWithSuggestedFilename):
45104        (didReceiveResponse):
45105        (didCreateDestination):
45106        (didReceiveData):
45107        (didFail):
45108        (didCancel):
45109        (didFinish):
45110        (ewk_context_download_client_attach):
45111        * UIProcess/API/efl/ewk_context_history_client.cpp:
45112        (getEwkHistoryClient):
45113        (didNavigateWithNavigationData):
45114        (didPerformClientRedirect):
45115        (didPerformServerRedirect):
45116        (didUpdateHistoryTitle):
45117        (populateVisitedLinks):
45118        (ewk_context_history_client_attach):
45119        * UIProcess/API/efl/ewk_context_private.h:
45120        (Ewk_Context):
45121        (Ewk_Context::historyClient):
45122        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
45123        (didReceiveURIRequest):
45124        (ewk_context_request_manager_client_attach):
45125        * UIProcess/API/efl/ewk_view.cpp:
45126        (Ewk_View_Private_Data):
45127        (Ewk_View_Private_Data::Ewk_View_Private_Data):
45128        (Ewk_View_Private_Data::~Ewk_View_Private_Data):
45129        (_ewk_view_priv_del):
45130        (_ewk_view_initialize):
45131        (ewk_view_base_add):
45132        (ewk_view_add_with_context):
45133        (ewk_view_context_get):
45134        (ewk_view_update_icon):
45135
451362012-10-23  Christophe Dumez  <christophe.dumez@intel.com>
45137
45138        [EFL][WK2] Make page load client a C++ class
45139        https://bugs.webkit.org/show_bug.cgi?id=100081
45140
45141        Reviewed by Kenneth Rohde Christiansen.
45142
45143        Make page load client a C++ class and move it
45144        up to UIProcess/efl since it is not really part
45145        of the public API.
45146
45147        * PlatformEfl.cmake:
45148        * UIProcess/API/efl/ewk_view.cpp:
45149        (Ewk_View_Private_Data):
45150        (_ewk_view_initialize):
45151        * UIProcess/API/efl/ewk_view_loader_client_private.h: Removed.
45152        * UIProcess/efl/PageLoadClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
45153        (WebKit):
45154        (WebKit::toPageLoadClientEfl):
45155        (WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
45156        (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
45157        (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
45158        (WebKit::PageLoadClientEfl::didChangeProgress):
45159        (WebKit::PageLoadClientEfl::didFinishLoadForFrame):
45160        (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
45161        (WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
45162        (WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
45163        (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
45164        (WebKit::PageLoadClientEfl::didChangeBackForwardList):
45165        (WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
45166        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
45167        * UIProcess/efl/PageLoadClientEfl.h: Added.
45168        (WebKit):
45169        (PageLoadClientEfl):
45170        (WebKit::PageLoadClientEfl::create):
45171        (WebKit::PageLoadClientEfl::view):
45172
451732012-10-22  Anders Carlsson  <andersca@apple.com>
45174
45175        Handle ArgumentCoder template specializations that take the ArgumentEncoder as a reference
45176        https://bugs.webkit.org/show_bug.cgi?id=100056
45177
45178        Reviewed by Andreas Kling.
45179
45180        Use template magic to make it possible to have ArgumentCoder specializations where the encode
45181        function takes the ArgumentEncoder object as a reference instead of as a pointer. Also, add an
45182        operator<< to ArgumentEncoder and change the string related ArgumentCoder specializations over to taking
45183        the encoder as a reference and using stream operators.
45184
45185        * Platform/CoreIPC/ArgumentCoders.cpp:
45186        (CoreIPC::::encode):
45187        * Platform/CoreIPC/ArgumentCoders.h:
45188        * Platform/CoreIPC/ArgumentEncoder.h:
45189        (ArgumentEncoder):
45190        (UsesDeprecatedEncodeFunction):
45191        (NoType):
45192        (CoreIPC::ArgumentEncoder::encode):
45193        (CoreIPC::ArgumentEncoder::operator<<):
45194
451952012-10-22  Anders Carlsson  <andersca@apple.com>
45196
45197        More Argument coder cleanup
45198        https://bugs.webkit.org/show_bug.cgi?id=100022
45199
45200        Reviewed by Andreas Kling.
45201
45202        Remove the ArgumentDecoder::decode overload that takes a const reference - if the call to decode ends up creating a temporary
45203        we'll encode into it and then destroy it. Since this decode overload was mostly used with the CoreIPC::Out functions, remove them
45204        (and CoreIPC::In) as well. Clean up a couple of ArgumentCoders as well.
45205
45206        * Platform/CoreIPC/ArgumentCoders.h:
45207        * Platform/CoreIPC/ArgumentDecoder.h:
45208        * Platform/CoreIPC/Arguments.h:
45209        * Platform/CoreIPC/Connection.h:
45210        (Connection):
45211        * Platform/mac/SharedMemoryMac.cpp:
45212        (WebKit::SharedMemory::Handle::decode):
45213        * Shared/PrintInfo.cpp:
45214        (WebKit::PrintInfo::encode):
45215        (WebKit::PrintInfo::decode):
45216        * Shared/WebContextMenuItemData.cpp:
45217        (WebKit::WebContextMenuItemData::encode):
45218        (WebKit::WebContextMenuItemData::decode):
45219        * Shared/WebEvent.cpp:
45220        (WebKit::WebEvent::encode):
45221        (WebKit::WebEvent::decode):
45222        * Shared/WebGeolocationPosition.cpp:
45223        (WebKit::WebGeolocationPosition::Data::encode):
45224        (WebKit::WebGeolocationPosition::Data::decode):
45225        * Shared/WebMouseEvent.cpp:
45226        (WebKit::WebMouseEvent::encode):
45227        (WebKit::WebMouseEvent::decode):
45228        * Shared/WebPopupItem.cpp:
45229        (WebKit::WebPopupItem::encode):
45230        (WebKit::WebPopupItem::decode):
45231        * UIProcess/WebConnectionToWebProcess.cpp:
45232        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
45233        * UIProcess/WebContext.cpp:
45234        (WebKit::WebContext::didReceiveMessage):
45235        (WebKit::WebContext::didReceiveSyncMessage):
45236        * WebProcess/InjectedBundle/InjectedBundle.cpp:
45237        (WebKit::InjectedBundle::postMessage):
45238        (WebKit::InjectedBundle::postSynchronousMessage):
45239        * WebProcess/WebConnectionToUIProcess.cpp:
45240        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
45241        * WebProcess/WebPage/WebPage.cpp:
45242        (WebKit::WebPage::postInjectedBundleMessage):
45243        * WebProcess/WebProcess.cpp:
45244        (WebKit::WebProcess::postInjectedBundleMessage):
45245
452462012-10-22  Anders Carlsson  <andersca@apple.com>
45247
45248        Remove MessageReceiverMap::deprecatedAddMessageReceiver
45249        https://bugs.webkit.org/show_bug.cgi?id=100012
45250
45251        Reviewed by Andreas Kling.
45252
45253        Get rid of MessageReceiverMap::deprecatedAddMessageReceiver and make callers use addMessageReceiver instead.
45254        Also, remove the message receiver map inside Connection and add a message receiver map to WebProcess instead.
45255
45256        * Platform/CoreIPC/Connection.cpp:
45257        (CoreIPC::Connection::dispatchMessage):
45258        * Platform/CoreIPC/Connection.h:
45259        (Connection):
45260        * Platform/CoreIPC/MessageReceiverMap.cpp:
45261        (CoreIPC::MessageReceiverMap::invalidate):
45262        (CoreIPC::MessageReceiverMap::dispatchMessage):
45263        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
45264        * Platform/CoreIPC/MessageReceiverMap.h:
45265        (MessageReceiverMap):
45266        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
45267        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
45268        * UIProcess/WebApplicationCacheManagerProxy.cpp:
45269        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
45270        * UIProcess/WebContext.cpp:
45271        * UIProcess/WebContext.h:
45272        (WebContext):
45273        * UIProcess/WebCookieManagerProxy.cpp:
45274        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
45275        * UIProcess/WebDatabaseManagerProxy.cpp:
45276        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
45277        * UIProcess/WebGeolocationManagerProxy.cpp:
45278        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
45279        * UIProcess/WebIconDatabase.cpp:
45280        (WebKit::WebIconDatabase::WebIconDatabase):
45281        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
45282        (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
45283        * UIProcess/WebMediaCacheManagerProxy.cpp:
45284        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
45285        * UIProcess/WebResourceCacheManagerProxy.cpp:
45286        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
45287        * WebProcess/Authentication/AuthenticationManager.cpp:
45288        (WebKit::AuthenticationManager::AuthenticationManager):
45289        * WebProcess/Geolocation/WebGeolocationManager.cpp:
45290        (WebKit::WebGeolocationManager::WebGeolocationManager):
45291        (WebKit::WebGeolocationManager::registerWebPage):
45292        * WebProcess/Geolocation/WebGeolocationManager.h:
45293        (WebGeolocationManager):
45294        * WebProcess/WebProcess.cpp:
45295        (WebKit::WebProcess::addMessageReceiver):
45296        (WebKit):
45297        (WebKit::WebProcess::didReceiveSyncMessage):
45298        (WebKit::WebProcess::didReceiveMessage):
45299        * WebProcess/WebProcess.h:
45300        (WebProcess):
45301
453022012-10-22  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
45303
45304        [EFL][WK2] ewk_view_color_picker_color_set() is leaking
45305        https://bugs.webkit.org/show_bug.cgi?id=100007
45306
45307        Reviewed by Kenneth Rohde Christiansen.
45308
45309        Fix a leak in ewk_view_color_picker_color_set() by adopting WKStringRef
45310        returned by WKStringCreateWithUTF8CString().
45311
45312        * UIProcess/API/efl/ewk_view.cpp:
45313        (ewk_view_color_picker_color_set):
45314
453152012-10-22  Christophe Dumez  <christophe.dumez@intel.com>
45316
45317        [EFL][WK2] Make the resource load client a C++ class
45318        https://bugs.webkit.org/show_bug.cgi?id=99982
45319
45320        Reviewed by Kenneth Rohde Christiansen.
45321
45322        Create a C++ class for the resource load client and
45323        move the id <-> resource mapping from the Ewk_View
45324        to ResourceLoadClientEfl for better a cleaner
45325        separation.
45326
45327        The resource load client code was also moved out of
45328        UIProcess/API/efl to UIProcess/efl since this is not
45329        part of the WK2 EFL API.
45330
45331        * PlatformEfl.cmake:
45332        * UIProcess/API/efl/ewk_view.cpp:
45333        (Ewk_View_Private_Data):
45334        (_ewk_view_initialize):
45335        (ewk_view_wkpage_get):
45336        (ewk_view_resource_load_initiated):
45337        (ewk_view_resource_load_response):
45338        (ewk_view_resource_load_failed):
45339        (ewk_view_resource_load_finished):
45340        (ewk_view_resource_request_sent):
45341        (ewk_view_load_provisional_started):
45342        * UIProcess/API/efl/ewk_view_private.h:
45343        * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Removed.
45344        * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Removed.
45345        * UIProcess/efl/ResourceLoadClientEfl.cpp: Added.
45346        (WebKit):
45347        (WebKit::toResourceLoadClientEfl):
45348        (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
45349        (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
45350        (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
45351        (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
45352        (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
45353        (WebKit::ResourceLoadClientEfl::onViewProvisionalLoadStarted):
45354        (WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
45355        (WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
45356        * UIProcess/efl/ResourceLoadClientEfl.h: Added.
45357        (WebKit):
45358        (ResourceLoadClientEfl):
45359        (WebKit::ResourceLoadClientEfl::create):
45360
453612012-10-22  Anders Carlsson  <andersca@apple.com>
45362
45363        [WK2] Regression(r131990): plugins/npruntime/remove-property.html started failing
45364        https://bugs.webkit.org/show_bug.cgi?id=99977
45365
45366        Reviewed by Alexey Proskuryakov.
45367
45368        Remove int32_t casts - the ArgumentDecoder::decode overload that takes a const int would cause
45369        a temporary to be created which the number was then decoded into.
45370
45371        * Shared/Plugins/NPIdentifierData.cpp:
45372        (WebKit::NPIdentifierData::encode):
45373        (WebKit::NPIdentifierData::decode):
45374
453752012-10-22  Anders Carlsson  <andersca@apple.com>
45376
45377        Don't use CStrings for message receiver names and message names
45378        https://bugs.webkit.org/show_bug.cgi?id=99853
45379
45380        Reviewed by Andreas Kling.
45381
45382        Re-land this with a fix to MessageReceiverMap::dispatchSyncMessage to look in the new global message receivers map.
45383
45384        Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
45385        and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
45386        make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
45387
45388        * CMakeLists.txt:
45389        * GNUmakefile.list.am:
45390        * Platform/CoreIPC/Connection.cpp:
45391        (CoreIPC::Connection::createSyncMessageEncoder):
45392        (CoreIPC::Connection::dispatchSyncMessage):
45393        * Platform/CoreIPC/Connection.h:
45394        (Connection):
45395        (CoreIPC::Connection::deprecatedSendSync):
45396        (CoreIPC::Connection::deprecatedSend):
45397        * Platform/CoreIPC/MessageDecoder.cpp:
45398        (CoreIPC::MessageDecoder::MessageDecoder):
45399        * Platform/CoreIPC/MessageDecoder.h:
45400        (CoreIPC::MessageDecoder::messageReceiverName):
45401        (CoreIPC::MessageDecoder::messageName):
45402        (MessageDecoder):
45403        * Platform/CoreIPC/MessageEncoder.cpp:
45404        (CoreIPC::MessageEncoder::create):
45405        (CoreIPC::MessageEncoder::MessageEncoder):
45406        * Platform/CoreIPC/MessageEncoder.h:
45407        (CoreIPC):
45408        (MessageEncoder):
45409        * Platform/CoreIPC/MessageReceiverMap.cpp:
45410        (CoreIPC::MessageReceiverMap::addMessageReceiver):
45411        (CoreIPC):
45412        (CoreIPC::MessageReceiverMap::dispatchMessage):
45413        * Platform/CoreIPC/MessageReceiverMap.h:
45414        (MessageReceiverMap):
45415        * Platform/CoreIPC/StringReference.cpp: Added.
45416        (CoreIPC):
45417        (CoreIPC::StringReference::encode):
45418        (CoreIPC::StringReference::decode):
45419        (CoreIPC::StringReference::Hash::hash):
45420        * Platform/CoreIPC/StringReference.h: Added.
45421        (CoreIPC):
45422        (StringReference):
45423        (CoreIPC::StringReference::StringReference):
45424        (CoreIPC::StringReference::isEmpty):
45425        (CoreIPC::StringReference::size):
45426        (CoreIPC::StringReference::data):
45427        (CoreIPC::StringReference::operator==):
45428        (Hash):
45429        (CoreIPC::StringReference::Hash::equal):
45430        (WTF):
45431        * Platform/CoreIPC/mac/ConnectionMac.cpp:
45432        (CoreIPC::Connection::open):
45433        * Scripts/webkit2/messages.py:
45434        (message_to_struct_declaration):
45435        (forward_declarations_and_headers):
45436        (generate_messages_header):
45437        * Scripts/webkit2/messages_unittest.py:
45438        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
45439        * Target.pri:
45440        * UIProcess/WebContext.cpp:
45441        (WebKit::WebContext::WebContext):
45442        (WebKit::WebContext::addMessageReceiver):
45443        (WebKit):
45444        * UIProcess/WebContext.h:
45445        (WebContext):
45446        * UIProcess/WebProcessProxy.h:
45447        (WebKit::WebProcessProxy::deprecatedSend):
45448        (WebKit::WebProcessProxy::send):
45449        * WebKit2.xcodeproj/project.pbxproj:
45450        * win/WebKit2.vcproj:
45451
454522012-10-22  Sheriff Bot  <webkit.review.bot@gmail.com>
45453
45454        Unreviewed, rolling out r132072.
45455        http://trac.webkit.org/changeset/132072
45456        https://bugs.webkit.org/show_bug.cgi?id=100011
45457
45458        Made most of the tests crash on the WK2 bot. (Requested by
45459        rakuco on #webkit).
45460
45461        * UIProcess/API/efl/PageClientImpl.cpp:
45462        (WebKit::PageClientImpl::handleDownloadRequest):
45463        * UIProcess/API/efl/ewk_context.cpp:
45464        (Ewk_Context):
45465        (Ewk_Context::Ewk_Context):
45466        (ewk_context_ref):
45467        (ewk_context_unref):
45468        (ewk_context_cookie_manager_get):
45469        (ewk_context_favicon_database_get):
45470        (ewk_context_WKContext_get):
45471        (ewk_context_new_from_WKContext):
45472        (ewk_context_download_job_add):
45473        (ewk_context_download_job_get):
45474        (ewk_context_download_job_remove):
45475        (ewk_context_request_manager_get):
45476        (ewk_context_url_scheme_request_received):
45477        (ewk_context_default_get):
45478        (ewk_context_new):
45479        (ewk_context_new_with_injected_bundle_path):
45480        (ewk_context_url_scheme_register):
45481        (ewk_context_vibration_client_callbacks_set):
45482        (ewk_context_history_callbacks_set):
45483        (ewk_context_history_client_get):
45484        (ewk_context_visited_link_add):
45485        (ewk_context_cache_model_set):
45486        (ewk_context_cache_model_get):
45487        * UIProcess/API/efl/ewk_context_download_client.cpp:
45488        (decideDestinationWithSuggestedFilename):
45489        (didReceiveResponse):
45490        (didCreateDestination):
45491        (didReceiveData):
45492        (didFail):
45493        (didCancel):
45494        (didFinish):
45495        (ewk_context_download_client_attach):
45496        * UIProcess/API/efl/ewk_context_history_client.cpp:
45497        (getEwkHistoryDelegate):
45498        (didNavigateWithNavigationData):
45499        (didPerformClientRedirect):
45500        (didPerformServerRedirect):
45501        (didUpdateHistoryTitle):
45502        (populateVisitedLinks):
45503        (ewk_context_history_client_attach):
45504        * UIProcess/API/efl/ewk_context_private.h:
45505        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
45506        (didReceiveURIRequest):
45507        (ewk_context_request_manager_client_attach):
45508        * UIProcess/API/efl/ewk_view.cpp:
45509        (Ewk_View_Private_Data):
45510        (Ewk_View_Private_Data::Ewk_View_Private_Data):
45511        (Ewk_View_Private_Data::~Ewk_View_Private_Data):
45512        (_ewk_view_priv_del):
45513        (_ewk_view_initialize):
45514        (ewk_view_base_add):
45515        (ewk_view_add_with_context):
45516        (ewk_view_context_get):
45517        (ewk_view_update_icon):
45518
455192012-10-22  Darin Adler  <darin@apple.com>
45520
45521        * UIProcess/API/mac/WKView.mm:
45522        (-[WKView view:stringForToolTip:point:userData:]): Fix build. Forgot to save file
45523        before committing.
45524
455252012-10-22  Darin Adler  <darin@apple.com>
45526
45527        REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
45528        <rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
45529
45530        Roll out the tool tip part of r131686 since it still seems to be causing trouble.
45531
45532        * UIProcess/API/mac/WKView.mm:
45533        (-[WKView view:stringForToolTip:point:userData:]): Added this method back.
45534        (-[WKView _wk_toolTipChangedFrom:to:]): Use self as owner again, eliminating the
45535        separate WKToolTipDelegate object.
45536
455372012-10-22  Christophe Dumez  <christophe.dumez@intel.com>
45538
45539        [EFL][WK2] Memory leak in Ewk_Form_Submission_Request::fieldValue()
45540        https://bugs.webkit.org/show_bug.cgi?id=99993
45541
45542        Reviewed by Kenneth Rohde Christiansen.
45543
45544        Adopt the WKStringRef returned by toCopiedAPI() in
45545        Ewk_Form_Submission_Request::fieldValue() to avoid
45546        a memory leak.
45547
45548        * UIProcess/API/efl/ewk_form_submission_request.cpp:
45549        (Ewk_Form_Submission_Request::fieldValue):
45550
455512012-10-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
45552
45553        [EFL][WK2] Refactor Ewk_Context
45554        https://bugs.webkit.org/show_bug.cgi?id=99594
45555
45556        Reviewed by Kenneth Rohde Christiansen.
45557
45558        Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
45559
45560        * UIProcess/API/efl/PageClientImpl.cpp:
45561        (WebKit::PageClientImpl::handleDownloadRequest):
45562        * UIProcess/API/efl/ewk_context.cpp:
45563        (Ewk_Context::Ewk_Context):
45564        (Ewk_Context::~Ewk_Context):
45565        (Ewk_Context::create):
45566        (Ewk_Context::defaultContext):
45567        (Ewk_Context::cookieManager):
45568        (Ewk_Context::faviconDatabase):
45569        (Ewk_Context::registerURLScheme):
45570        (Ewk_Context::vibrationProvider):
45571        (Ewk_Context::addVisitedLink):
45572        (Ewk_Context::setCacheModel):
45573        (Ewk_Context::cacheModel):
45574        (ewk_context_ref):
45575        (ewk_context_unref):
45576        (ewk_context_cookie_manager_get):
45577        (ewk_context_favicon_database_get):
45578        (Ewk_Context::wkContext):
45579        (Ewk_Context::addDownloadJob):
45580        (Ewk_Context::downloadJob):
45581        (Ewk_Context::removeDownloadJob):
45582        (Ewk_Context::requestManager):
45583        (Ewk_Context::urlSchemeRequestReceived):
45584        (ewk_context_default_get):
45585        (ewk_context_new):
45586        (ewk_context_new_with_injected_bundle_path):
45587        (ewk_context_url_scheme_register):
45588        (ewk_context_vibration_client_callbacks_set):
45589        (ewk_context_history_callbacks_set):
45590        (ewk_context_visited_link_add):
45591        (ewk_context_cache_model_set):
45592        (ewk_context_cache_model_get):
45593        * UIProcess/API/efl/ewk_context_download_client.cpp:
45594        (decideDestinationWithSuggestedFilename):
45595        (didReceiveResponse):
45596        (didCreateDestination):
45597        (didReceiveData):
45598        (didFail):
45599        (didCancel):
45600        (didFinish):
45601        (ewk_context_download_client_attach):
45602        * UIProcess/API/efl/ewk_context_history_client.cpp:
45603        (getEwkHistoryClient):
45604        (didNavigateWithNavigationData):
45605        (didPerformClientRedirect):
45606        (didPerformServerRedirect):
45607        (didUpdateHistoryTitle):
45608        (populateVisitedLinks):
45609        (ewk_context_history_client_attach):
45610        * UIProcess/API/efl/ewk_context_private.h:
45611        (Ewk_Context):
45612        (Ewk_Context::create):
45613        (Ewk_Context::historyClient):
45614        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
45615        (didReceiveURIRequest):
45616        (ewk_context_request_manager_client_attach):
45617        * UIProcess/API/efl/ewk_view.cpp:
45618        (Ewk_View_Private_Data):
45619        (Ewk_View_Private_Data::Ewk_View_Private_Data):
45620        (Ewk_View_Private_Data::~Ewk_View_Private_Data):
45621        (_ewk_view_priv_del):
45622        (_ewk_view_initialize):
45623        (ewk_view_base_add):
45624        (ewk_view_add_with_context):
45625        (ewk_view_context_get):
45626        (ewk_view_update_icon):
45627
456282012-10-22  Simon Hausmann  <simon.hausmann@digia.com>
45629
45630        [Qt] Fix build without QtWidgets
45631        https://bugs.webkit.org/show_bug.cgi?id=99981
45632
45633        Reviewed by Tor Arne Vestbø.
45634
45635        Make it possible to compile WebProcess without QtWidgets by instantiating a
45636        QGuiApplication instead of a QApplication if we're built without widgets.
45637
45638        * WebProcess.pro:
45639        * qt/MainQt.cpp:
45640        (main):
45641
456422012-10-22  Ryuan Choi  <ryuan.choi@gmail.com>
45643
45644        [EFL] pc files should use DATA_INSTALL_DIR for datadir
45645        https://bugs.webkit.org/show_bug.cgi?id=99961
45646
45647        Reviewed by Gyuyoung Kim.
45648
45649        * ewebkit.pc.in: Fixed wrong datadir
45650
456512012-10-22  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
45652
45653        [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
45654        https://bugs.webkit.org/show_bug.cgi?id=98514
45655
45656        Reviewed by Kenneth Rohde Christiansen.
45657
45658        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45659        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Use FrameView::fixedVisibleContentRect
45660        instead of WebFrame::visibleContentBounds as the source to always keep the correct state.
45661
456622012-10-22  Pavel Feldman  <pfeldman@chromium.org>
45663
45664        Web Inspector: merge "docked" state into the "dock side" enum.
45665        https://bugs.webkit.org/show_bug.cgi?id=99717
45666
45667        Reviewed by Vsevolod Vlasov.
45668
45669        * win/WebKit2.def:
45670        * win/WebKit2CFLite.def:
45671
456722012-10-21  Milian Wolff  <milian.wolff@kdab.com>
45673
45674        [Qt] QNX build fails when building against Qt without clipboard support
45675        https://bugs.webkit.org/show_bug.cgi?id=98040
45676
45677        Reviewed by Simon Hausmann.
45678
45679        Gracefully handle QT_NO_CLIPBOARD and do not try to access qApp->clipboard()
45680        in such cases. Instead, return false to indicate global selection is unsupported.
45681
45682        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
45683        (WebKit::WebEditorClient::supportsGlobalSelection):
45684
456852012-10-21  Hyungchan Kim  <hyungchan2.kim@lge.com>
45686
45687        Add a separate flag for rgb swizzling whether it can be modified or not
45688        https://bugs.webkit.org/show_bug.cgi?id=98728
45689
45690        BitmapTexture swizzles the source image if the OpenGL driver
45691        doesn't support the BGRA extension.
45692        In case of directly composited images, the source image should not
45693        be modified.
45694
45695        http://www.satine.org/research/webkit/snowleopard/snowstack.html
45696
45697        Reviewed by Noam Rosenthal.
45698
45699        No new tests as this is only testable on specific hardware and
45700        currently not avaiable in the bots.
45701
45702        * platform/graphics/texmap/TextureMapper.h:
45703        (BitmapTexture):
45704        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
45705        (WebCore::TextureMapperTile::updateContents):
45706        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
45707        (WebCore::TextureMapperTiledBackingStore::updateContents):
45708        * platform/graphics/texmap/TextureMapperBackingStore.h:
45709        (TextureMapperTile):
45710        (TextureMapperTiledBackingStore):
45711        (WebCore::TextureMapperTiledBackingStore::updateContents):
45712        * platform/graphics/texmap/TextureMapperGL.cpp:
45713        (WebCore::TextureMapperGL::drawRepaintCounter):
45714        (WebCore::BitmapTextureGL::updateContents):
45715        * platform/graphics/texmap/TextureMapperGL.h:
45716        (BitmapTextureGL):
45717        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
45718        (WebCore::BitmapTextureImageBuffer::updateContents):
45719        * platform/graphics/texmap/TextureMapperImageBuffer.h:
45720        (BitmapTextureImageBuffer):
45721        * platform/graphics/texmap/TextureMapperLayer.cpp:
45722        (WebCore::TextureMapperLayer::updateBackingStore):
45723
457242012-10-21  Seokju Kwon  <seokju.kwon@samsung.com>
45725
45726        [EFL] Fix failure to access the inspector resources
45727        https://bugs.webkit.org/show_bug.cgi?id=99816
45728
45729        Reviewed by Gyuyoung Kim.
45730
45731        access() returns -1, if path has a file protocol like "file://".
45732        And I have removed it from the first argument of access().
45733        If not, inspectorBaseURL() or inspectorFilesPath() always returns WEB_INSPECTOR_DIR.
45734        Then all layout test related to inspector can fail after installing webkit package.
45735
45736        * UIProcess/efl/WebInspectorProxyEfl.cpp:
45737        (WebKit::WebInspectorProxy::inspectorBaseURL):
45738
457392012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45740
45741        [EFL][WK2] Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item members private
45742        https://bugs.webkit.org/show_bug.cgi?id=99931
45743
45744        Reviewed by Kenneth Rohde Christiansen.
45745
45746        Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item class
45747        members private.
45748
45749        * UIProcess/API/efl/ewk_error.cpp:
45750        (Ewk_Error::Ewk_Error):
45751        (Ewk_Error::url):
45752        (Ewk_Error::description):
45753        (Ewk_Error::domain):
45754        (Ewk_Error::errorCode):
45755        (Ewk_Error::isCancellation):
45756        (ewk_error_type_get):
45757        (ewk_error_url_get):
45758        (ewk_error_code_get):
45759        (ewk_error_description_get):
45760        (ewk_error_cancellation_get):
45761        * UIProcess/API/efl/ewk_error_private.h:
45762        (Ewk_Error):
45763        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
45764        (Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
45765        (Ewk_Popup_Menu_Item::type):
45766        (Ewk_Popup_Menu_Item::textDirection):
45767        (Ewk_Popup_Menu_Item::text):
45768        (Ewk_Popup_Menu_Item::tooltipText):
45769        (Ewk_Popup_Menu_Item::accessibilityText):
45770        (Ewk_Popup_Menu_Item::hasTextDirectionOverride):
45771        (Ewk_Popup_Menu_Item::isEnabled):
45772        (Ewk_Popup_Menu_Item::isLabel):
45773        (Ewk_Popup_Menu_Item::isSelected):
45774        (ewk_popup_menu_item_type_get):
45775        (ewk_popup_menu_item_text_get):
45776        (ewk_popup_menu_item_text_direction_get):
45777        (ewk_popup_menu_item_text_direction_override_get):
45778        (ewk_popup_menu_item_tooltip_get):
45779        (ewk_popup_menu_item_accessibility_text_get):
45780        (ewk_popup_menu_item_enabled_get):
45781        (ewk_popup_menu_item_is_label_get):
45782        (ewk_popup_menu_item_selected_get):
45783        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
45784        (Ewk_Popup_Menu_Item):
45785        * UIProcess/API/efl/ewk_resource.cpp:
45786        (Ewk_Resource::Ewk_Resource):
45787        (Ewk_Resource::url):
45788        (Ewk_Resource::isMainResource):
45789        (ewk_resource_url_get):
45790        (ewk_resource_main_resource_get):
45791        * UIProcess/API/efl/ewk_resource_private.h:
45792        (Ewk_Resource):
45793
457942012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45795
45796        [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request members private
45797        https://bugs.webkit.org/show_bug.cgi?id=99936
45798
45799        Reviewed by Kenneth Rohde Christiansen.
45800
45801        Make wk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request
45802        class members private.
45803
45804        * UIProcess/API/efl/ewk_context.cpp:
45805        (ewk_context_url_scheme_request_received):
45806        * UIProcess/API/efl/ewk_download_job.cpp:
45807        (Ewk_Download_Job::estimatedProgress):
45808        * UIProcess/API/efl/ewk_url_request.cpp:
45809        (Ewk_Url_Request::Ewk_Url_Request):
45810        (Ewk_Url_Request::url):
45811        (Ewk_Url_Request::firstParty):
45812        (Ewk_Url_Request::httpMethod):
45813        (ewk_url_request_url_get):
45814        (ewk_request_cookies_first_party_get):
45815        (ewk_url_request_http_method_get):
45816        * UIProcess/API/efl/ewk_url_request_private.h:
45817        (Ewk_Url_Request):
45818        * UIProcess/API/efl/ewk_url_response.cpp:
45819        (Ewk_Url_Response::Ewk_Url_Response):
45820        (Ewk_Url_Response::httpStatusCode):
45821        (Ewk_Url_Response::url):
45822        (Ewk_Url_Response::mimeType):
45823        (Ewk_Url_Response::contentLength):
45824        (ewk_url_response_url_get):
45825        (ewk_url_response_status_code_get):
45826        (ewk_url_response_mime_type_get):
45827        (ewk_url_response_content_length_get):
45828        * UIProcess/API/efl/ewk_url_response_private.h:
45829        (Ewk_Url_Response):
45830        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
45831        (Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
45832        (Ewk_Url_Scheme_Request::id):
45833        (Ewk_Url_Scheme_Request::url):
45834        (Ewk_Url_Scheme_Request::scheme):
45835        (Ewk_Url_Scheme_Request::path):
45836        (Ewk_Url_Scheme_Request::finish):
45837        (ewk_url_scheme_request_scheme_get):
45838        (ewk_url_scheme_request_url_get):
45839        (ewk_url_scheme_request_path_get):
45840        (ewk_url_scheme_request_finish):
45841        * UIProcess/API/efl/ewk_url_scheme_request.h: Fix ewk_url_scheme_request_finish() declaration
45842        so that the request argument is no longer marked as const and so that the content type is of
45843        type uint64_t instead of unsigned int.
45844        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
45845        (Ewk_Url_Scheme_Request):
45846
458472012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45848
45849        [EFL][WK2] Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and Ewk_Navigation_Policy_Decision members private
45850        https://bugs.webkit.org/show_bug.cgi?id=99934
45851
45852        Reviewed by Kenneth Rohde Christiansen.
45853
45854        Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and
45855        Ewk_Navigation_Policy_Decision class members private.
45856
45857        * UIProcess/API/efl/ewk_form_submission_request.cpp:
45858        (Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
45859        (Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
45860        (Ewk_Form_Submission_Request::fieldValue):
45861        (Ewk_Form_Submission_Request::fieldNames):
45862        (Ewk_Form_Submission_Request::submit):
45863        (ewk_form_submission_request_field_names_get):
45864        (ewk_form_submission_request_field_value_get):
45865        (ewk_form_submission_request_submit):
45866        * UIProcess/API/efl/ewk_form_submission_request_private.h:
45867        (Ewk_Form_Submission_Request):
45868        * UIProcess/API/efl/ewk_navigation_data.cpp:
45869        (Ewk_Navigation_Data::Ewk_Navigation_Data):
45870        (Ewk_Navigation_Data::originalRequest):
45871        (Ewk_Navigation_Data::title):
45872        (Ewk_Navigation_Data::url):
45873        (ewk_navigation_data_title_get):
45874        (ewk_navigation_data_original_request_get):
45875        (ewk_navigation_data_url_get):
45876        * UIProcess/API/efl/ewk_navigation_data_private.h:
45877        (Ewk_Navigation_Data):
45878        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
45879        (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
45880        (Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
45881        (Ewk_Navigation_Policy_Decision::navigationType):
45882        (Ewk_Navigation_Policy_Decision::mouseButton):
45883        (Ewk_Navigation_Policy_Decision::modifiers):
45884        (Ewk_Navigation_Policy_Decision::frameName):
45885        (Ewk_Navigation_Policy_Decision::request):
45886        (Ewk_Navigation_Policy_Decision::accept):
45887        (Ewk_Navigation_Policy_Decision::reject):
45888        (Ewk_Navigation_Policy_Decision::download):
45889        (ewk_navigation_policy_navigation_type_get):
45890        (ewk_navigation_policy_mouse_button_get):
45891        (ewk_navigation_policy_modifiers_get):
45892        (ewk_navigation_policy_frame_name_get):
45893        (ewk_navigation_policy_request_get):
45894        (ewk_navigation_policy_decision_accept):
45895        (ewk_navigation_policy_decision_reject):
45896        (ewk_navigation_policy_decision_download):
45897        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
45898        (Ewk_Navigation_Policy_Decision):
45899
459002012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45901
45902        [EFL][WK2] Make Ewk_Favicon_Database members private
45903        https://bugs.webkit.org/show_bug.cgi?id=99932
45904
45905        Reviewed by Kenneth Rohde Christiansen.
45906
45907        Make Ewk_Favicon_Database class members private.
45908
45909        * UIProcess/API/efl/ewk_favicon_database.cpp:
45910        (Ewk_Favicon_Database::Ewk_Favicon_Database):
45911        (Ewk_Favicon_Database::iconURLForPageURL):
45912        (Ewk_Favicon_Database::watchChanges):
45913        (Ewk_Favicon_Database::unwatchChanges):
45914        (AsyncIconRequestResponse):
45915        (AsyncIconRequestResponse::AsyncIconRequestResponse):
45916        (respond_icon_request_idle):
45917        (Ewk_Favicon_Database::iconForPageURL):
45918        (Ewk_Favicon_Database::didChangeIconForPageURL):
45919        (Ewk_Favicon_Database::getIconSurfaceSynchronously):
45920        (Ewk_Favicon_Database::iconDataReadyForPageURL):
45921        (ewk_favicon_database_icon_url_get):
45922        (ewk_favicon_database_async_icon_get):
45923        (ewk_favicon_database_icon_change_callback_add):
45924        (ewk_favicon_database_icon_change_callback_del):
45925        * UIProcess/API/efl/ewk_favicon_database.h:
45926        * UIProcess/API/efl/ewk_favicon_database_private.h:
45927        (Ewk_Favicon_Database):
45928        * UIProcess/API/efl/ewk_view.cpp:
45929        (Ewk_View_Private_Data::~Ewk_View_Private_Data):
45930        (_ewk_view_initialize):
45931
459322012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45933
45934        [EFL][WK2] Make Ewk back / forward list classes members private and remove private C functions
45935        https://bugs.webkit.org/show_bug.cgi?id=99929
45936
45937        Reviewed by Kenneth Rohde Christiansen.
45938
45939        Make Ewk_Back_Forward_List and Ewk_Back_Forward_List_Item members
45940        private and remove private C functions.
45941
45942        * UIProcess/API/efl/ewk_back_forward_list.cpp:
45943        (Ewk_Back_Forward_List::Ewk_Back_Forward_List):
45944        (Ewk_Back_Forward_List::nextItem):
45945        (Ewk_Back_Forward_List::previousItem):
45946        (Ewk_Back_Forward_List::currentItem):
45947        (Ewk_Back_Forward_List::itemAt):
45948        (Ewk_Back_Forward_List::size):
45949        (Ewk_Back_Forward_List::backList):
45950        (Ewk_Back_Forward_List::forwardList):
45951        (Ewk_Back_Forward_List::getFromCacheOrCreate):
45952        (Ewk_Back_Forward_List::createEinaList):
45953        (Ewk_Back_Forward_List::update):
45954        (ewk_back_forward_list_current_item_get):
45955        (ewk_back_forward_list_previous_item_get):
45956        (ewk_back_forward_list_next_item_get):
45957        (ewk_back_forward_list_item_at_index_get):
45958        (ewk_back_forward_list_count):
45959        (ewk_back_forward_list_n_back_items_copy):
45960        (ewk_back_forward_list_n_forward_items_copy):
45961        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
45962        (Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
45963        (Ewk_Back_Forward_List_Item::url):
45964        (Ewk_Back_Forward_List_Item::title):
45965        (Ewk_Back_Forward_List_Item::originalURL):
45966        (ewk_back_forward_list_item_url_get):
45967        (ewk_back_forward_list_item_title_get):
45968        (ewk_back_forward_list_item_original_url_get):
45969        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
45970        (Ewk_Back_Forward_List_Item):
45971        * UIProcess/API/efl/ewk_back_forward_list_private.h:
45972        (Ewk_Back_Forward_List):
45973        * UIProcess/API/efl/ewk_view_loader_client.cpp:
45974        (didChangeBackForwardList):
45975
459762012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
45977
45978        [EFL][WK2] Make Ewk_Cookie_Manager members private
45979        https://bugs.webkit.org/show_bug.cgi?id=99930
45980
45981        Reviewed by Kenneth Rohde Christiansen.
45982
45983        Make Ewk_Cookie_Manager class members private.
45984
45985        * UIProcess/API/efl/ewk_cookie_manager.cpp:
45986        (Ewk_Cookie_Manager::Ewk_Cookie_Manager):
45987        (Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
45988        (Ewk_Cookie_Manager::setPersistentStorage):
45989        (Ewk_Cookie_Manager::setHTTPAcceptPolicy):
45990        (Ewk_Cookie_Manager::clearHostnameCookies):
45991        (Ewk_Cookie_Manager::clearAllCookies):
45992        (Ewk_Cookie_Manager::watchChanges):
45993        (Ewk_Cookie_Manager::isWatchingForChanges):
45994        (Ewk_Cookie_Manager::getHostNamesWithCookies):
45995        (Ewk_Cookie_Manager::getHTTPAcceptPolicy):
45996        (Ewk_Cookie_Manager::cookiesDidChange):
45997        (ewk_cookie_manager_persistent_storage_set):
45998        (ewk_cookie_manager_accept_policy_set):
45999        (Get_Policy_Async_Data):
46000        (Get_Policy_Async_Data::Get_Policy_Async_Data):
46001        (ewk_cookie_manager_async_accept_policy_get):
46002        (Get_Hostnames_Async_Data):
46003        (Get_Hostnames_Async_Data::Get_Hostnames_Async_Data):
46004        (ewk_cookie_manager_async_hostnames_with_cookies_get):
46005        (ewk_cookie_manager_hostname_cookies_clear):
46006        (ewk_cookie_manager_cookies_clear):
46007        (ewk_cookie_manager_changes_watch):
46008        * UIProcess/API/efl/ewk_cookie_manager_private.h:
46009        (Ewk_Cookie_Manager):
46010
460112012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
46012
46013        [EFL][WK2] Make Ewk intent classes members private
46014        https://bugs.webkit.org/show_bug.cgi?id=99832
46015
46016        Reviewed by Kenneth Rohde Christiansen.
46017
46018        Make Ewk_Intent and Ewk_Intent_Service members
46019        private and add class methods to get them.
46020
46021        * UIProcess/API/efl/ewk_intent.cpp:
46022        (Ewk_Intent::Ewk_Intent):
46023        (Ewk_Intent::webIntentData):
46024        (Ewk_Intent::action):
46025        (Ewk_Intent::type):
46026        (Ewk_Intent::service):
46027        (Ewk_Intent::suggestions):
46028        (Ewk_Intent::extra):
46029        (Ewk_Intent::extraKeys):
46030        (ewk_intent_action_get):
46031        (ewk_intent_type_get):
46032        (ewk_intent_service_get):
46033        (ewk_intent_suggestions_get):
46034        (ewk_intent_extra_get):
46035        (ewk_intent_extra_names_get):
46036        * UIProcess/API/efl/ewk_intent_private.h:
46037        (WebKit):
46038        (Ewk_Intent):
46039        * UIProcess/API/efl/ewk_intent_service.cpp:
46040        (Ewk_Intent_Service::Ewk_Intent_Service):
46041        (Ewk_Intent_Service::action):
46042        (Ewk_Intent_Service::type):
46043        (Ewk_Intent_Service::href):
46044        (Ewk_Intent_Service::title):
46045        (Ewk_Intent_Service::disposition):
46046        (ewk_intent_service_action_get):
46047        (ewk_intent_service_type_get):
46048        (ewk_intent_service_href_get):
46049        (ewk_intent_service_title_get):
46050        (ewk_intent_service_disposition_get):
46051        * UIProcess/API/efl/ewk_intent_service_private.h:
46052        (Ewk_Intent_Service):
46053        * UIProcess/API/efl/ewk_view.cpp:
46054        (ewk_view_intent_deliver):
46055
460562012-10-21  Christophe Dumez  <christophe.dumez@intel.com>
46057
46058        [EFL][WK2] Make Ewk_Download_Job members private and remove private C functions
46059        https://bugs.webkit.org/show_bug.cgi?id=99697
46060
46061        Reviewed by Kenneth Rohde Christiansen.
46062
46063        Make Ewk_Download_Job private and replace private C functions
46064        by class methods. New methods were also added to match the
46065        public C API.
46066
46067        * UIProcess/API/efl/ewk_context.cpp:
46068        (ewk_context_download_job_add):
46069        * UIProcess/API/efl/ewk_context_download_client.cpp:
46070        (decideDestinationWithSuggestedFilename):
46071        (didReceiveResponse):
46072        (didCreateDestination):
46073        (didReceiveData):
46074        (didFail):
46075        (didCancel):
46076        (didFinish):
46077        * UIProcess/API/efl/ewk_download_job.cpp:
46078        (Ewk_Download_Job::Ewk_Download_Job):
46079        (Ewk_Download_Job::id):
46080        (Ewk_Download_Job::view):
46081        (ewk_download_job_state_get):
46082        (Ewk_Download_Job::state):
46083        (ewk_download_job_request_get):
46084        (Ewk_Download_Job::request):
46085        (ewk_download_job_response_get):
46086        (Ewk_Download_Job::response):
46087        (ewk_download_job_destination_get):
46088        (Ewk_Download_Job::destination):
46089        (ewk_download_job_destination_set):
46090        (Ewk_Download_Job::setDestination):
46091        (ewk_download_job_suggested_filename_get):
46092        (Ewk_Download_Job::suggestedFileName):
46093        (ewk_download_job_cancel):
46094        (Ewk_Download_Job::cancel):
46095        (ewk_download_job_estimated_progress_get):
46096        (Ewk_Download_Job::estimatedProgress):
46097        (ewk_download_job_elapsed_time_get):
46098        (Ewk_Download_Job::elapsedTime):
46099        (Ewk_Download_Job::setResponse):
46100        (Ewk_Download_Job::setSuggestedFileName):
46101        (Ewk_Download_Job::incrementReceivedData):
46102        (Ewk_Download_Job::setState):
46103        * UIProcess/API/efl/ewk_download_job.h:
46104        * UIProcess/API/efl/ewk_download_job_private.h:
46105        (Ewk_Download_Job):
46106
461072012-10-19  Anders Carlsson  <andersca@apple.com>
46108
46109        Remove ::encode template specializations and just use overloads
46110        https://bugs.webkit.org/show_bug.cgi?id=99865
46111
46112        Reviewed by Andreas Kling.
46113
46114        Get rid of the various encode functions and just use overloading instead.
46115
46116        * Platform/CoreIPC/ArgumentCoders.cpp:
46117        (CoreIPC::::encode):
46118        * Platform/CoreIPC/ArgumentCoders.h:
46119        * Platform/CoreIPC/ArgumentEncoder.cpp:
46120        (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
46121        (CoreIPC::ArgumentEncoder::encode):
46122        * Platform/CoreIPC/ArgumentEncoder.h:
46123        (ArgumentEncoder):
46124        (CoreIPC::ArgumentEncoder::encodeEnum):
46125        * Platform/CoreIPC/win/ConnectionWin.cpp:
46126        (CoreIPC::Connection::sendOutgoingMessage):
46127        * Platform/mac/SharedMemoryMac.cpp:
46128        (WebKit::SharedMemory::Handle::encode):
46129        * Platform/win/SharedMemoryWin.cpp:
46130        (WebKit::SharedMemory::Handle::encode):
46131        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
46132        (CoreIPC::::encode):
46133        * Shared/DictionaryPopupInfo.cpp:
46134        (WebKit::DictionaryPopupInfo::encode):
46135        * Shared/Plugins/NPIdentifierData.cpp:
46136        (WebKit::NPIdentifierData::encode):
46137        (WebKit::NPIdentifierData::decode):
46138        * Shared/UserMessageCoders.h:
46139        (WebKit::UserMessageEncoder::baseEncode):
46140        * Shared/WebCoreArgumentCoders.cpp:
46141        (CoreIPC::::encode):
46142        * Shared/WebProcessCreationParameters.cpp:
46143        (WebKit::WebProcessCreationParameters::encode):
46144        * Shared/cf/ArgumentCodersCF.cpp:
46145        (CoreIPC::encode):
46146        * Shared/mac/ArgumentCodersMac.mm:
46147        (CoreIPC::encode):
46148        * Shared/mac/KeychainAttribute.cpp:
46149        (CoreIPC::encode):
46150        * Shared/mac/PlatformCertificateInfo.mm:
46151        (WebKit::PlatformCertificateInfo::encode):
46152        * Shared/mac/SandboxExtensionMac.mm:
46153        (WebKit::SandboxExtension::HandleArray::encode):
46154        * Shared/mac/SecItemRequestData.cpp:
46155        (WebKit::SecItemRequestData::encode):
46156        * Shared/mac/SecItemResponseData.cpp:
46157        (WebKit::SecItemResponseData::encode):
46158        * Shared/mac/SecKeychainItemRequestData.cpp:
46159        (WebKit::SecKeychainItemRequestData::encode):
46160        * Shared/mac/SecKeychainItemResponseData.cpp:
46161        (WebKit::SecKeychainItemResponseData::encode):
46162        * Shared/qt/ArgumentCodersQt.cpp:
46163        (CoreIPC::::encode):
46164        * Shared/qt/QtNetworkReplyData.cpp:
46165        (WebKit::QtNetworkReplyData::encode):
46166        * Shared/soup/PlatformCertificateInfo.cpp:
46167        (WebKit::PlatformCertificateInfo::encode):
46168        * Shared/win/LayerTreeContextWin.cpp:
46169        (WebKit::LayerTreeContext::encode):
46170        * Shared/win/PlatformCertificateInfo.cpp:
46171        (WebKit::PlatformCertificateInfo::encode):
46172        * Shared/win/WindowGeometry.cpp:
46173        (WebKit::WindowGeometry::encode):
46174        * WebProcess/WebPage/EncoderAdapter.cpp:
46175        (WebKit::EncoderAdapter::encodeBool):
46176        (WebKit::EncoderAdapter::encodeUInt16):
46177        (WebKit::EncoderAdapter::encodeUInt32):
46178        (WebKit::EncoderAdapter::encodeUInt64):
46179        (WebKit::EncoderAdapter::encodeInt32):
46180        (WebKit::EncoderAdapter::encodeInt64):
46181        (WebKit::EncoderAdapter::encodeFloat):
46182        (WebKit::EncoderAdapter::encodeDouble):
46183        (WebKit::EncoderAdapter::encodeString):
46184
461852012-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
46186
46187        Unreviewed. Fix compile warning.
46188
46189        * UIProcess/API/gtk/tests/GNUmakefile.am: Pass sourcedir to
46190        glib-compile-resource when generating dependencies too.
46191
461922012-10-19  Seokju Kwon  <seokju.kwon@samsung.com>
46193
46194        [EFL][WK2] Change the title of inspector window when inspected page is changed
46195        https://bugs.webkit.org/show_bug.cgi?id=99684
46196
46197        Reviewed by Gyuyoung Kim.
46198
46199        Implement platformInspectedURLChanged() to change the title of inspector window
46200        when inspected page is changed.
46201
46202        * UIProcess/efl/WebInspectorProxyEfl.cpp:
46203        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
46204
462052012-10-19  Dan Bernstein  <mitz@apple.com>
46206
46207        Add bundle API for hit-testing
46208        https://bugs.webkit.org/show_bug.cgi?id=99907
46209
46210        Reviewed by Sam Weinig.
46211
46212        Test: TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp
46213
46214        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
46215        (WKBundleFrameCreateHitTestResult): Added this wrapper.
46216        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
46217        * WebProcess/WebPage/WebFrame.cpp:
46218        (WebKit::WebFrame::hitTest): Added. Hit tests at the given point, ignoring clipping.
46219        * WebProcess/WebPage/WebFrame.h:
46220        (WebFrame): Declared hitTest.
46221
462222012-10-19  Jinwoo Song  <jinwoo7.song@samsung.com>
46223
46224        [EFL][WK2] Add API unit tests for scaling
46225        https://bugs.webkit.org/show_bug.cgi?id=99451
46226
46227        Reviewed by Gyuyoung Kim.
46228
46229        Add API unit test for ewk_view_scale_set()/get() APIs.
46230
46231        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
46232        (TEST_F):
46233
462342012-10-19  KyungTae Kim  <ktf.kim@samsung.com>
46235
46236        [WK2][EFL] Modify ewk_view_scale_set to public API
46237        https://bugs.webkit.org/show_bug.cgi?id=99902
46238
46239        Reviewed by Gyuyoung Kim.
46240
46241        Modify ewk_view_scale_set to public API.
46242
46243        * UIProcess/API/efl/ewk_view.h:
46244
462452012-10-19  Andreas Kling  <kling@webkit.org>
46246
46247        Race condition in WebProcessProxy::handleGetPlugins().
46248        <http://webkit.org/b/99903>
46249        <rdar://problem/12541471>
46250
46251        Reviewed by Anders Carlsson.
46252
46253        Scope the Vector<PluginModuleInfo> so that all the destructors are guaranteed
46254        to have run when sendDidGetPlugins() executes on the main thread.
46255
46256        * UIProcess/WebProcessProxy.cpp:
46257        (WebKit::WebProcessProxy::handleGetPlugins):
46258
462592012-10-19  Brady Eidson  <beidson@apple.com>
46260
46261        WebProcess should only connect to the NetworkProcess if NetworkProcess is enabled
46262        https://bugs.webkit.org/show_bug.cgi?id=99885
46263
46264        Reviewed by Alexey Proskuryakov.
46265
46266        WebContext should tell each WebProcess it creates whether NetworkProcess use is enabled.
46267
46268        Add a WebProcess initialization flag for whether or not NetworkProcess use is enabled:
46269        * Shared/WebProcessCreationParameters.cpp:
46270        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
46271        (WebKit::WebProcessCreationParameters::encode):
46272        (WebKit::WebProcessCreationParameters::decode):
46273        * Shared/WebProcessCreationParameters.h:
46274        (WebProcessCreationParameters):
46275
46276        Include that info in the initialization parameters:
46277        * UIProcess/WebContext.cpp:
46278        (WebKit::WebContext::createNewWebProcess):
46279
46280        Store whether or not NetworkProcess use is enabled, and only connect to the NetworkProcess if appropriate:
46281        * WebProcess/WebProcess.cpp:
46282        (WebKit::WebProcess::WebProcess):
46283        (WebKit::WebProcess::initializeWebProcess):
46284        (WebKit::WebProcess::ensureNetworkProcessConnection):
46285        * WebProcess/WebProcess.h:
46286
462872012-10-19  Brady Eidson  <beidson@apple.com>
46288
46289        Add infrastructure for NetworkProcess management
46290        https://bugs.webkit.org/show_bug.cgi?id=99817
46291
46292        Reviewed by Alexey Proskuryakov.
46293
46294        Add support for the WebProcess itself requesting a connection to the default NetworkProcess.
46295
46296        Add proper handling of crashes so any of the Web/Network/UI processes crash the others take appropriate action.
46297
46298        Project file stuff and general messaging changes:
46299        * DerivedSources.make:
46300        * Platform/CoreIPC/MessageID.h:
46301        * WebKit2.xcodeproj/project.pbxproj:
46302        * Platform/CoreIPC/HandleMessage.h:
46303        (CoreIPC):
46304        (CoreIPC::callMemberFunction): Add some new required templates.
46305
46306        WebContext now does much less of this stuff:
46307        * UIProcess/WebContext.cpp:
46308        (WebKit::WebContext::createNewWebProcess):
46309        * UIProcess/WebContext.h:
46310        (WebContext):
46311
46312        UIProcess now has a process manager to handle most of this:
46313        * UIProcess/Network/NetworkProcessManager.cpp:
46314        (WebKit):
46315        (WebKit::NetworkProcessManager::shared):
46316        (WebKit::NetworkProcessManager::NetworkProcessManager):
46317        (WebKit::NetworkProcessManager::getNetworkProcessConnection):
46318        (WebKit::NetworkProcessManager::ensureNetworkProcess):
46319        (WebKit::NetworkProcessManager::removeNetworkProcessProxy):
46320        * UIProcess/Network/NetworkProcessManager.h:
46321        (WebKit):
46322        (NetworkProcessManager):
46323
46324        Flesh out the NetworkProcessProxy to handle creating these connections between Network and Web Processes:
46325        * UIProcess/Network/NetworkProcessProxy.cpp:
46326        (WebKit::NetworkProcessProxy::create):
46327        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
46328        (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
46329        (WebKit):
46330        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
46331        (WebKit::NetworkProcessProxy::didReceiveMessage):
46332        (WebKit::NetworkProcessProxy::didClose):
46333        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
46334        (WebKit::NetworkProcessProxy::didFinishLaunching):
46335        * UIProcess/Network/NetworkProcessProxy.h:
46336        (WebKit):
46337        (NetworkProcessProxy):
46338        * UIProcess/Network/NetworkProcessProxy.messages.in:
46339
46340        Add a class representing a connection from a NetworkProcess to a particular WebProcess:
46341        * NetworkProcess/NetworkConnectionToWebProcess.cpp: Added.
46342        (WebKit):
46343        (WebKit::NetworkConnectionToWebProcess::create):
46344        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
46345        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
46346        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
46347        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
46348        (WebKit::NetworkConnectionToWebProcess::didClose):
46349        (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
46350        (WebKit::NetworkConnectionToWebProcess::didReceiveNetworkConnectionToWebProcessMessage):
46351        * NetworkProcess/NetworkConnectionToWebProcess.h:
46352        (WebKit):
46353        (NetworkConnectionToWebProcess):
46354        (WebKit::NetworkConnectionToWebProcess::connection):
46355        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
46356
46357        Add the ability for a NetworkProcess to create a connection for a different process, which is used on behalf of WebProcesses for now:
46358        * NetworkProcess/NetworkProcess.cpp:
46359        (WebKit::NetworkProcess::removeNetworkConnectionToWebProcess):
46360        (WebKit):
46361        (WebKit::NetworkProcess::didClose):
46362        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
46363        * NetworkProcess/NetworkProcess.h:
46364        (WebKit):
46365        (NetworkProcess):
46366        * NetworkProcess/NetworkProcess.messages.in:
46367
46368        Forward on the message that a WebProcess wants a connection to a NetworkProcess:
46369        * UIProcess/WebProcessProxy.cpp:
46370        (WebKit):
46371        (WebKit::WebProcessProxy::getNetworkProcessConnection):
46372        * UIProcess/WebProcessProxy.h:
46373        (WebProcessProxy):
46374        * UIProcess/WebProcessProxy.messages.in:
46375
46376        Add a class representing the WebProcesses connection to the NetworkProcess:
46377        * WebProcess/Network/NetworkProcessConnection.cpp:
46378        (WebKit):
46379        (WebKit::NetworkProcessConnection::NetworkProcessConnection):
46380        (WebKit::NetworkProcessConnection::~NetworkProcessConnection):
46381        (WebKit::NetworkProcessConnection::didReceiveMessage):
46382        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
46383        (WebKit::NetworkProcessConnection::didClose):
46384        (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
46385        * WebProcess/Network/NetworkProcessConnection.h:
46386        (WebKit):
46387        (NetworkProcessConnection):
46388        (WebKit::NetworkProcessConnection::create):
46389        (WebKit::NetworkProcessConnection::connection):
46390
46391        Have the WebProcess make sure it has a connection to the NetworkProcess, even though it currently does nothing with it:
46392        * WebProcess/WebProcess.cpp:
46393        (WebKit::WebProcess::initializeWebProcess):
46394        (WebKit):
46395        (WebKit::WebProcess::ensureNetworkProcessConnection):
46396        (WebKit::WebProcess::networkProcessConnectionClosed):
46397        (WebKit::WebProcess::networkProcessCrashed):
46398        * WebProcess/WebProcess.h:
46399        (WebKit):
46400        (WebProcess):
46401        * WebProcess/WebProcess.messages.in:
46402
464032012-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>
46404
46405        Unreviewed, rolling out r131931.
46406        http://trac.webkit.org/changeset/131931
46407        https://bugs.webkit.org/show_bug.cgi?id=99871
46408
46409        Broke Safari exensions (Requested by smfr on #webkit).
46410
46411        * CMakeLists.txt:
46412        * GNUmakefile.list.am:
46413        * Platform/CoreIPC/Connection.cpp:
46414        (CoreIPC::Connection::createSyncMessageEncoder):
46415        (CoreIPC::Connection::dispatchSyncMessage):
46416        * Platform/CoreIPC/Connection.h:
46417        (Connection):
46418        (CoreIPC::Connection::deprecatedSendSync):
46419        (CoreIPC::Connection::deprecatedSend):
46420        * Platform/CoreIPC/MessageDecoder.cpp:
46421        (CoreIPC::MessageDecoder::MessageDecoder):
46422        * Platform/CoreIPC/MessageDecoder.h:
46423        (MessageDecoder):
46424        * Platform/CoreIPC/MessageEncoder.cpp:
46425        (CoreIPC::MessageEncoder::create):
46426        (CoreIPC::MessageEncoder::MessageEncoder):
46427        * Platform/CoreIPC/MessageEncoder.h:
46428        (MessageEncoder):
46429        * Platform/CoreIPC/MessageReceiverMap.cpp:
46430        (CoreIPC::MessageReceiverMap::dispatchMessage):
46431        * Platform/CoreIPC/MessageReceiverMap.h:
46432        (MessageReceiverMap):
46433        * Platform/CoreIPC/StringReference.cpp: Removed.
46434        * Platform/CoreIPC/StringReference.h: Removed.
46435        * Platform/CoreIPC/mac/ConnectionMac.cpp:
46436        (CoreIPC::Connection::open):
46437        * Scripts/webkit2/messages.py:
46438        (message_to_struct_declaration):
46439        (forward_declarations_and_headers):
46440        (generate_messages_header):
46441        * Scripts/webkit2/messages_unittest.py:
46442        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
46443        * Target.pri:
46444        * UIProcess/WebContext.cpp:
46445        (WebKit::WebContext::WebContext):
46446        * UIProcess/WebContext.h:
46447        (WebContext):
46448        * UIProcess/WebProcessProxy.h:
46449        (WebKit::WebProcessProxy::deprecatedSend):
46450        (WebKit::WebProcessProxy::send):
46451        * WebKit2.xcodeproj/project.pbxproj:
46452        * win/WebKit2.vcproj:
46453
464542012-10-19  Anders Carlsson  <andersca@apple.com>
46455
46456        Don't use CStrings for message receiver names and message names
46457        https://bugs.webkit.org/show_bug.cgi?id=99853
46458
46459        Reviewed by Andreas Kling.
46460
46461        Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
46462        and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
46463        make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
46464
46465        * CMakeLists.txt:
46466        * GNUmakefile.list.am:
46467        * Platform/CoreIPC/Connection.cpp:
46468        (CoreIPC::Connection::createSyncMessageEncoder):
46469        (CoreIPC::Connection::dispatchSyncMessage):
46470        * Platform/CoreIPC/Connection.h:
46471        (Connection):
46472        (CoreIPC::Connection::deprecatedSendSync):
46473        (CoreIPC::Connection::deprecatedSend):
46474        * Platform/CoreIPC/MessageDecoder.cpp:
46475        (CoreIPC::MessageDecoder::MessageDecoder):
46476        * Platform/CoreIPC/MessageDecoder.h:
46477        (CoreIPC::MessageDecoder::messageReceiverName):
46478        (CoreIPC::MessageDecoder::messageName):
46479        (MessageDecoder):
46480        * Platform/CoreIPC/MessageEncoder.cpp:
46481        (CoreIPC::MessageEncoder::create):
46482        (CoreIPC::MessageEncoder::MessageEncoder):
46483        * Platform/CoreIPC/MessageEncoder.h:
46484        (CoreIPC):
46485        (MessageEncoder):
46486        * Platform/CoreIPC/MessageReceiverMap.cpp:
46487        (CoreIPC::MessageReceiverMap::addMessageReceiver):
46488        (CoreIPC):
46489        (CoreIPC::MessageReceiverMap::dispatchMessage):
46490        * Platform/CoreIPC/MessageReceiverMap.h:
46491        (MessageReceiverMap):
46492        * Platform/CoreIPC/StringReference.cpp: Added.
46493        (CoreIPC):
46494        (CoreIPC::StringReference::encode):
46495        (CoreIPC::StringReference::decode):
46496        (CoreIPC::StringReference::Hash::hash):
46497        * Platform/CoreIPC/StringReference.h: Added.
46498        (CoreIPC):
46499        (StringReference):
46500        (CoreIPC::StringReference::StringReference):
46501        (CoreIPC::StringReference::isEmpty):
46502        (CoreIPC::StringReference::size):
46503        (CoreIPC::StringReference::data):
46504        (CoreIPC::StringReference::operator==):
46505        (Hash):
46506        (CoreIPC::StringReference::Hash::equal):
46507        (WTF):
46508        * Platform/CoreIPC/mac/ConnectionMac.cpp:
46509        (CoreIPC::Connection::open):
46510        * Scripts/webkit2/messages.py:
46511        (message_to_struct_declaration):
46512        (forward_declarations_and_headers):
46513        (generate_messages_header):
46514        * Scripts/webkit2/messages_unittest.py:
46515        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
46516        * Target.pri:
46517        * UIProcess/WebContext.cpp:
46518        (WebKit::WebContext::WebContext):
46519        (WebKit::WebContext::addMessageReceiver):
46520        (WebKit):
46521        * UIProcess/WebContext.h:
46522        (WebContext):
46523        * UIProcess/WebProcessProxy.h:
46524        (WebKit::WebProcessProxy::deprecatedSend):
46525        (WebKit::WebProcessProxy::send):
46526        * WebKit2.xcodeproj/project.pbxproj:
46527        * win/WebKit2.vcproj:
46528
465292012-10-19  Dongwoo Joshua Im  <dw.im@samsung.com>
46530
46531        Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT
46532        https://bugs.webkit.org/show_bug.cgi?id=99804
46533
46534        Reviewed by Julien Chaffraix.
46535
46536        CSS3 text related properties will be implemented under this flag,
46537        including text decoration, text-align-last, and text-justify.
46538
46539        * Configurations/FeatureDefines.xcconfig:
46540
465412012-10-19  Brady Eidson  <beidson@apple.com>
46542
46543        REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
46544        <rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
46545
46546        Patch by Darin Adler, reviewed by Brady Eidson.
46547
46548        We should explicitly remove tooltips when the view moves to a new window.
46549
46550        * UIProcess/API/mac/WKView.mm:
46551        (-[WKView viewDidMoveToWindow]):
46552
465532012-10-19  Balazs Kelemen  <kbalazs@webkit.org>
46554
46555        [Qt][WTR] renderToOffscreenBuffer should not be set if the real render loop is active
46556        https://bugs.webkit.org/show_bug.cgi?id=99831
46557
46558        Reviewed by Jocelyn Turcotte.
46559
46560        Update the comment about renderToOffscreenBuffer to better describe its role.
46561
46562        * UIProcess/API/qt/qquickwebview.cpp:
46563        (QQuickWebViewPrivate::setNeedsDisplay):
46564
465652012-10-19  Yael Aharon  <yael.aharon@intel.com>
46566
46567        [EFL][WK2] Rename EflViewportHandler to PageViewportControllerClientEfl
46568        https://bugs.webkit.org/show_bug.cgi?id=99101
46569
46570        Reviewed by Gyuyoung Kim.
46571
46572        Rename EFlViewportHandler to PageViewportControllerClientEfl.
46573        Also, make it inherit from PageViewportControllerClient. The actual implementation
46574        of PageViewportControllerClient for Efl port will come in a separate patch.
46575
46576        * CMakeLists.txt:
46577        * PlatformEfl.cmake:
46578        * UIProcess/API/efl/EflViewportHandler.cpp: Removed.
46579        * UIProcess/API/efl/EflViewportHandler.h: Removed.
46580        * UIProcess/API/efl/PageViewportControllerClientEfl.cpp: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp.
46581        (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
46582        (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
46583        (WebKit::PageViewportControllerClientEfl::drawingArea):
46584        (WebKit::PageViewportControllerClientEfl::setRendererActive):
46585        (WebKit::PageViewportControllerClientEfl::display):
46586        (WebKit::PageViewportControllerClientEfl::updateViewportSize):
46587        (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
46588        (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
46589        (WebKit):
46590        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
46591        (WebKit::PageViewportControllerClientEfl::setContentsScale):
46592        (WebKit::PageViewportControllerClientEfl::didResumeContent):
46593        (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
46594        (WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
46595        (WebKit::PageViewportControllerClientEfl::setController):
46596        * UIProcess/API/efl/PageViewportControllerClientEfl.h: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h.
46597        (WebKit::PageViewportControllerClientEfl::create):
46598        (PageViewportControllerClientEfl):
46599        * UIProcess/API/efl/ewk_view.cpp:
46600        (Ewk_View_Private_Data):
46601        (_ewk_view_initialize):
46602        (ewk_view_scale_set):
46603        * UIProcess/PageViewportController.cpp:
46604        * UIProcess/PageViewportController.h:
46605
466062012-10-19  Csaba Osztrogonác  <ossy@webkit.org>
46607
46608        REGRESSION(r131844): It broke the build on !ENABLE(NETSCAPE_PLUGIN_API) platforms
46609        https://bugs.webkit.org/show_bug.cgi?id=99820
46610
46611        Reviewed by Jocelyn Turcotte.
46612
46613        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
46614        (WebKit::ProcessLauncher::launchProcess): Add missing ENABLE(PLUGIN_PROCESS) guard.
46615        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: The whole file should be ENABLE(NETSCAPE_PLUGIN_API) guarded as the PluginInfoStore class.
46616        (WebKit::PluginInfoStore::getPluginInfo):
46617        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46618        (WebKit::WebFrameLoaderClient::createPlugin): Eliminate the unused webPage variable (build fail with -Werror) if !(PLATFORM(MAC)||ENABLE(NETSCAPE_PLUGIN_API)).
46619
466202012-10-19  Huang Dongsung  <luxtella@company100.net>
46621
46622        Build fix after r131741 for !ENABLE(CSS_SHADERS) platforms.
46623        https://bugs.webkit.org/show_bug.cgi?id=99775
46624
46625        Reviewed by Csaba Osztrogonác.
46626
46627        A class in WebKit namespace is only used when ENABLE(CSS_SHADERS), so we
46628        must guard "using namespace WebKit" by ENABLE(CSS_SHADERS). Otherwise,
46629        it brokes the Qt --minimal build.
46630
46631        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
46632        (CoreIPC::::decode):
46633
466342012-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
46635
46636        REGRESSION (r130640 - r130644): TestCookieManager API test is failing
46637        https://bugs.webkit.org/show_bug.cgi?id=98738
46638
46639        Reviewed by Philippe Normand.
46640
46641        For some reason the order of the domains in the array has changed,
46642        but it doesn't really matter, what we want to check is that both
46643        cookies have been accepted and the array contains both domains.
46644
46645        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
46646        (testCookieManagerAcceptPolicy): Check that first and third party
46647        domains are present in the domains array.
46648
466492012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
46650
46651        WebPageProxy::canShowMIMEType() should return false for plugins when they are disabled
46652        https://bugs.webkit.org/show_bug.cgi?id=99449
46653
46654        Reviewed by Anders Carlsson.
46655
46656        * UIProcess/API/gtk/tests/GNUmakefile.am:
46657        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
46658        (testWebViewCanShowMIMEType): Test that
46659        webkit_web_view_can_show_mime_type() returns FALSE if plugins are
46660        disabled.
46661        * UIProcess/WebPageProxy.cpp:
46662        (WebKit::WebPageProxy::canShowMIMEType): Return false for
46663        MIME-Type of plugins if they are disabled.
46664
466652012-10-18  Brady Eidson  <beidson@apple.com>
46666
46667        Move ConnectionStack out of WebProcessConnection into its own files.
46668        https://bugs.webkit.org/show_bug.cgi?id=99813
46669
46670        Reviewed by Andreas Kling.
46671
46672        ConnectionStack will need to be used in a few upcoming areas, so it needs to be in its own header and implementation files.
46673
46674        Project file stuff:
46675        * CMakeLists.txt:
46676        * GNUmakefile.list.am:
46677        * Target.pri:
46678        * WebKit2.xcodeproj/project.pbxproj:
46679
46680        Move it from here:
46681        * PluginProcess/WebProcessConnection.cpp:
46682        (WebKit::WebProcessConnection::setGlobalException):
46683        (WebKit::WebProcessConnection::didReceiveMessage):
46684        (WebKit::WebProcessConnection::didReceiveSyncMessage):
46685
46686        Into here:
46687        * Shared/ConnectionStack.cpp: Added.
46688        (WebKit):
46689        (WebKit::ConnectionStack::shared):
46690        * Shared/ConnectionStack.h: Added.
46691        (CoreIPC):
46692        (WebKit):
46693        (ConnectionStack):
46694        (WebKit::ConnectionStack::current):
46695        (CurrentConnectionPusher):
46696        (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
46697        (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
46698
466992012-10-18  Eunmi Lee  <eunmi15.lee@samsung.com>
46700
46701        [EFL][WK2] Move ewk_{init,shutdown}() to the main() function of EFL API test.
46702        https://bugs.webkit.org/show_bug.cgi?id=99681
46703
46704        Reviewed by Gyuyoung Kim.
46705
46706        The ewk_{init,shutdown}() is called whenever processing the each test,
46707        so tests can be failed if EFL libraries APIs are called between
46708        ewk_shutdown() and next ewk_init().
46709        The ewk_{init,shutdown}() should be called once per application.
46710
46711        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
46712        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
46713        (EWK2UnitTest::EWK2UnitTestBase::TearDown):
46714        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
46715        (main):
46716
467172012-10-18  Byungwoo Lee  <bw80.lee@samsung.com>
46718
46719        Fix build warning.
46720        https://bugs.webkit.org/show_bug.cgi?id=99788
46721
46722        Reviewed by Kentaro Hara.
46723
46724        Remove parameter name or use ASSERT_UNUSED macro for removing
46725        -Wunused-parameter.
46726
46727        * PluginProcess/unix/PluginProcessMainUnix.cpp:
46728        (WebKit::PluginProcessMainUnix):
46729        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
46730        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
46731
467322012-10-18  Ryuan Choi  <ryuan.choi@gmail.com>
46733
46734        Attempt to fix the WebKit2/Efl build after r131841.
46735
46736        Unreviewed build fix.
46737
46738        Rename addMessageReceiver to deprecatedAddMessageReceiver.
46739
46740        * UIProcess/WebBatteryManagerProxy.cpp:
46741        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
46742        * UIProcess/WebNetworkInfoManagerProxy.cpp:
46743        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
46744        * UIProcess/WebVibrationProxy.cpp:
46745        (WebKit::WebVibrationProxy::WebVibrationProxy):
46746        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
46747        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
46748
467492012-10-18  Benjamin Poulain  <bpoulain@apple.com>
46750
46751        [WK2] WebKit2 does not build without PLUGIN_PROCESS on Mac
46752        https://bugs.webkit.org/show_bug.cgi?id=99771
46753
46754        Reviewed by Anders Carlsson.
46755
46756        Add ENABLE(PLUGIN_PROCESS), ENABLE(SHARED_WORKER_PROCESS) and ENABLE(NETSCAPE_PLUGIN_API)
46757        as needed to exclude the code with dependencies on PLUGIN_PROCESS.
46758
46759        * Platform/CoreIPC/MessageID.h:
46760        * Shared/SharedWorkerProcessCreationParameters.cpp:
46761        * Shared/SharedWorkerProcessCreationParameters.h:
46762        * SharedWorkerProcess/SharedWorkerProcess.cpp:
46763        * SharedWorkerProcess/SharedWorkerProcess.h:
46764        * SharedWorkerProcess/SharedWorkerProcess.messages.in:
46765        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
46766        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
46767        * UIProcess/API/C/WKContext.cpp:
46768        (WKContextSetAdditionalPluginsDirectory):
46769        (WKContextGetPluginSiteDataManager):
46770        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
46771        (WKPluginSiteDataManagerGetTypeID):
46772        (WKPluginSiteDataManagerGetSitesWithData):
46773        * UIProcess/Launcher/ProcessLauncher.cpp:
46774        (WebKit::ProcessLauncher::processTypeAsString):
46775        (WebKit::ProcessLauncher::getProcessTypeFromString):
46776        * UIProcess/Launcher/ProcessLauncher.h:
46777        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
46778        (WebKit::createProcess):
46779        * UIProcess/Plugins/PluginInfoStore.cpp:
46780        * UIProcess/Plugins/PluginInfoStore.h:
46781        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
46782        * UIProcess/Plugins/WebPluginSiteDataManager.h:
46783        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
46784        (WebKit::PluginInfoStore::getPluginInfo):
46785        * UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp:
46786        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
46787        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
46788        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
46789        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
46790        * UIProcess/WebContext.cpp:
46791        (WebKit::WebContext::WebContext):
46792        (WebKit::WebContext::~WebContext):
46793        (WebKit::WebContext::shouldTerminate):
46794        (WebKit::WebContext::disconnectProcess):
46795        (WebKit):
46796        * UIProcess/WebContext.h:
46797        (WebContext):
46798        * UIProcess/WebPageProxy.cpp:
46799        (WebKit::WebPageProxy::canShowMIMEType):
46800        (WebKit):
46801        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
46802        * UIProcess/WebProcessProxy.cpp:
46803        (WebKit):
46804        * UIProcess/WebProcessProxy.h:
46805        (WebProcessProxy):
46806        * UIProcess/WebProcessProxy.messages.in:
46807        * WebKit2Prefix.h:
46808        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46809        (WebKit::WebFrameLoaderClient::createPlugin):
46810        (WebKit::WebFrameLoaderClient::recreatePlugin):
46811        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
46812        (WebKit::WebPlatformStrategies::WebPlatformStrategies):
46813        (WebKit::WebPlatformStrategies::refreshPlugins):
46814        (WebKit::WebPlatformStrategies::getPluginInfo):
46815        (WebKit):
46816        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
46817        (WebPlatformStrategies):
46818        (WebKit):
46819        * WebProcess/WebPage/WebPage.cpp:
46820        (WebKit):
46821        (WebKit::WebPage::createPlugin):
46822        (WebKit::canPluginHandleResponse):
46823        * WebProcess/WebPage/WebPage.h:
46824        (WebPage):
46825        * WebProcess/WebProcess.cpp:
46826        (WebKit):
46827        * WebProcess/WebProcess.h:
46828        (WebProcess):
46829        * WebProcess/WebProcess.messages.in:
46830
468312012-10-18  Laszlo Gombos  <l.gombos@samsung.com>
46832
46833        [EFL] Buildfix if Netscape plugin support is disabled
46834        https://bugs.webkit.org/show_bug.cgi?id=99757
46835
46836        Reviewed by Gyuyoung Kim.
46837
46838        Guard PluginProcessMainUnix.cpp with ENABLE(PLUGIN_PROCESS).
46839
46840        * PluginProcess/unix/PluginProcessMainUnix.cpp:
46841
468422012-10-18  Anders Carlsson  <andersca@apple.com>
46843
46844        Deprecate the current version of MessageReceiverMap::addMessageReceiver
46845        https://bugs.webkit.org/show_bug.cgi?id=99797
46846
46847        Reviewed by Andreas Kling.
46848
46849        Rename addMessageReceiver to deprecatedAddMessageReceiver in preparation for adding a new
46850        version that takes a string instead.
46851
46852        * Platform/CoreIPC/Connection.h:
46853        (CoreIPC::Connection::deprecatedAddMessageReceiver):
46854        * Platform/CoreIPC/MessageReceiverMap.cpp:
46855        (CoreIPC::MessageReceiverMap::deprecatedAddMessageReceiver):
46856        (CoreIPC::MessageReceiverMap::invalidate):
46857        (CoreIPC::MessageReceiverMap::dispatchMessage):
46858        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
46859        * Platform/CoreIPC/MessageReceiverMap.h:
46860        (MessageReceiverMap):
46861        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
46862        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
46863        * UIProcess/WebApplicationCacheManagerProxy.cpp:
46864        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
46865        * UIProcess/WebContext.cpp:
46866        (WebKit::WebContext::WebContext):
46867        (WebKit::WebContext::deprecatedAddMessageReceiver):
46868        * UIProcess/WebContext.h:
46869        (WebContext):
46870        * UIProcess/WebCookieManagerProxy.cpp:
46871        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
46872        * UIProcess/WebDatabaseManagerProxy.cpp:
46873        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
46874        * UIProcess/WebGeolocationManagerProxy.cpp:
46875        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
46876        * UIProcess/WebIconDatabase.cpp:
46877        (WebKit::WebIconDatabase::WebIconDatabase):
46878        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
46879        (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
46880        * UIProcess/WebMediaCacheManagerProxy.cpp:
46881        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
46882        * UIProcess/WebResourceCacheManagerProxy.cpp:
46883        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
46884        * WebProcess/Authentication/AuthenticationManager.cpp:
46885        (WebKit::AuthenticationManager::AuthenticationManager):
46886        * WebProcess/Geolocation/WebGeolocationManager.cpp:
46887        (WebKit::WebGeolocationManager::registerWebPage):
46888
468892012-10-18  Chris Fleizach  <cfleizach@apple.com>
46890
46891        AX: Crashes in WebProcess at com.apple.WebCore: -[AccessibilityObjectWrapper remoteAccessibilityParentObject] + 78
46892        https://bugs.webkit.org/show_bug.cgi?id=96443
46893
46894        Reviewed by Beth Dakin.
46895
46896        It appears that the crash is due to not checking whether the page object is null. 
46897
46898        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46899        (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
46900
469012012-10-18  Jaehun Lim  <ljaehun.lim@samsung.com>
46902
46903        Add support for float-valued prefernces
46904        https://bugs.webkit.org/show_bug.cgi?id=99419
46905
46906        Reviewed by Anders Carlsson.
46907
46908        Support float values for preferences in WK2.
46909
46910        * Shared/WebPreferencesStore.cpp:
46911        (WebKit::WebPreferencesStore::encode):
46912        (WebKit::WebPreferencesStore::decode):
46913        (WebKit):
46914        (WebKit::defaultValueForKey):
46915        * Shared/WebPreferencesStore.h:
46916        (WebKit):
46917        (WebPreferencesStore):
46918        * UIProcess/WebPreferences.cpp:
46919        (WebKit::WebPreferences::updateFloatValueForKey):
46920        (WebKit):
46921        * UIProcess/WebPreferences.h:
46922        (WebPreferences):
46923        * UIProcess/cf/WebPreferencesCF.cpp:
46924        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
46925        (WebKit):
46926        * UIProcess/efl/WebPreferencesEfl.cpp:
46927        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
46928        (WebKit):
46929        * UIProcess/gtk/WebPreferencesGtk.cpp:
46930        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
46931        (WebKit):
46932        * UIProcess/mac/WebPreferencesMac.mm:
46933        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
46934        (WebKit):
46935        * UIProcess/qt/WebPreferencesQt.cpp:
46936        (WebKit::WebPreferences::platformUpdateFloatValueForKey):
46937        (WebKit):
46938
469392012-10-18  Anders Carlsson  <andersca@apple.com>
46940
46941        Replace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
46942        https://bugs.webkit.org/show_bug.cgi?id=99746
46943
46944        Reviewed by Andreas Kling.
46945
46946        Change all occurrences of ArgumentDecoder* to MessageDecoder& and all occurrences of ArgumentEncoder*
46947        to ArgumentEncoder& in all the message receivers. This is the second step towards getting rid of MessageID.
46948
469492012-10-18  Yael Aharon  <yael.aharon@intel.com>
46950
46951        PageViewportController::m_rawAttributes.devicePixelRatio is not initialized
46952        https://bugs.webkit.org/show_bug.cgi?id=99751
46953
46954        Reviewed by Antonio Gomes.
46955
46956        PageViewportController::m_rawAttributes.devicePixelRatio needs to be initialized.
46957        Due to race condition, we could set the viewport attributes before the first layout.
46958        If that happens, PageViewportController::m_rawAttributes.devicePixelRatio
46959        is used without being initialized.
46960
46961        * UIProcess/PageViewportController.cpp:
46962        (WebKit::PageViewportController::PageViewportController):
46963
469642012-10-18  Roger Fong  <roger_fong@apple.com>
46965
46966        Unreviewed. Build fix after r131701 and r131777.
46967
46968        * win/WebKit2.def:
46969
469702012-10-18  Anders Carlsson  <andersca@apple.com>
46971
46972        Build fix.
46973
46974        * Scripts/webkit2/messages.py:
46975        (message_to_struct_declaration):
46976        (generate_messages_header):
46977        * Scripts/webkit2/messages_unittest.py:
46978
469792012-10-18  Anders Carlsson  <andersca@apple.com>
46980
46981        Generated messages should have a receiver name and a name
46982        https://bugs.webkit.org/show_bug.cgi?id=99740
46983
46984        Reviewed by Andreas Kling.
46985
46986        As a first step towards getting rid of MessageID, give each generated message a name and receiver name
46987        and pass them along when sending the messages.
46988
46989        * Platform/CoreIPC/Connection.h:
46990        (CoreIPC::Connection::send):
46991        (CoreIPC::Connection::sendSync):
46992        * Platform/CoreIPC/MessageSender.h:
46993        (CoreIPC::MessageSender::send):
46994        * Scripts/webkit2/messages.py:
46995        (message_to_struct_declaration):
46996        (generate_messages_header):
46997        * Scripts/webkit2/messages_unittest.py:
46998
469992012-10-18  Pablo Flouret  <pablof@motorola.com>
47000
47001        Implement css3-conditional's @supports rule
47002        https://bugs.webkit.org/show_bug.cgi?id=86146
47003
47004        Reviewed by Antti Koivisto.
47005
47006        * Configurations/FeatureDefines.xcconfig:
47007            Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
47008
470092012-10-18  Michael Saboff  <msaboff@apple.com>
47010
47011        Make conversion between JSStringRef and WKStringRef work without character size conversions
47012        https://bugs.webkit.org/show_bug.cgi?id=99727
47013
47014        Reviewed by Anders Carlsson.
47015
47016        Use the wrapped WTFString object to convert between JSStringRef and WKStringRef.
47017
47018        * Shared/WebString.h:
47019        (WebKit::JSStringCreateWithString):
47020        (WebKit::WebString::create):
47021        (WebKit::WebString::createJSString):
47022
470232012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47024
47025        [GTK] Don't use using namespace WebKit in private headers in WebKit2
47026        https://bugs.webkit.org/show_bug.cgi?id=99724
47027
47028        Reviewed by Xan Lopez.
47029
47030        Move using namespace WebKit from private headers to the cpp file.
47031
47032        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
47033        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
47034        * UIProcess/API/gtk/WebKitContextMenu.cpp:
47035        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
47036        * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
47037        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
47038        * UIProcess/API/gtk/WebKitCookieManager.cpp:
47039        * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
47040        * UIProcess/API/gtk/WebKitDownload.cpp:
47041        * UIProcess/API/gtk/WebKitDownloadPrivate.h:
47042        * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
47043        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
47044        * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
47045        * UIProcess/API/gtk/WebKitFindController.cpp:
47046        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
47047        * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
47048        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
47049        * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
47050        * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
47051        * UIProcess/API/gtk/WebKitGeolocationProvider.h:
47052        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
47053        * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
47054        * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
47055        * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
47056        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
47057        * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
47058        * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
47059        * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
47060        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
47061        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
47062        * UIProcess/API/gtk/WebKitSettings.cpp:
47063        * UIProcess/API/gtk/WebKitSettingsPrivate.h:
47064        * UIProcess/API/gtk/WebKitURIResponse.cpp:
47065        * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
47066        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
47067        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
47068        * UIProcess/API/gtk/WebKitWebContext.cpp:
47069        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
47070        * UIProcess/API/gtk/WebKitWebInspector.cpp:
47071        * UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
47072        * UIProcess/API/gtk/WebKitWebResource.cpp:
47073        * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
47074        * UIProcess/API/gtk/WebKitWebView.cpp:
47075        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
47076        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
47077        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
47078        * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
47079
470802012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47081
47082        [GTK] Don't use the C API internally in WebKitFileChooserRequest
47083        https://bugs.webkit.org/show_bug.cgi?id=96774
47084
47085        Reviewed by Xan Lopez.
47086
47087        Using the C++ classes directly instead of the C API wrappers we
47088        avoid a lot of toImpl/toAPI casts, string conversions and
47089        allocations. The code is also a lot simpler and easier to read.
47090
47091        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
47092        (_WebKitFileChooserRequestPrivate):
47093        (webkitFileChooserRequestCreate):
47094        (webkit_file_chooser_request_get_mime_types):
47095        (webkit_file_chooser_request_get_mime_types_filter):
47096        (webkit_file_chooser_request_get_select_multiple):
47097        (webkit_file_chooser_request_select_files):
47098        (webkit_file_chooser_request_get_selected_files):
47099        (webkit_file_chooser_request_cancel):
47100        * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
47101        * UIProcess/API/gtk/WebKitUIClient.cpp:
47102        (runOpenPanel):
47103
471042012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47105
47106        [GTK] Don't use the C API internally in WebKitFormSubmissionRequest
47107        https://bugs.webkit.org/show_bug.cgi?id=96777
47108
47109        Reviewed by Xan Lopez.
47110
47111        Using the C++ classes directly instead of the C API wrappers we
47112        avoid a lot of toImpl/toAPI casts, string conversions and
47113        allocations. The code is also a lot simpler and easier to read.
47114
47115        * UIProcess/API/gtk/WebKitFormClient.cpp:
47116        (willSubmitForm):
47117        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
47118        (_WebKitFormSubmissionRequestPrivate):
47119        (webkitFormSubmissionRequestCreate):
47120        (webkit_form_submission_request_get_text_fields):
47121        (webkit_form_submission_request_submit):
47122        * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
47123
471242012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47125
47126        [GTK] Don't use the C API internally in WebKitSettings
47127        https://bugs.webkit.org/show_bug.cgi?id=96784
47128
47129        Reviewed by Gustavo Noronha Silva.
47130
47131        Using the C++ classes directly instead of the C API wrappers we
47132        avoid a lot of toImpl/toAPI casts, string conversions and
47133        allocations. The code is also a lot simpler and easier to read.
47134
47135        * UIProcess/API/gtk/WebKitSettings.cpp:
47136        (_WebKitSettingsPrivate):
47137        (webkit_settings_class_init):
47138        (webkit_settings_init):
47139        (webkitSettingsAttachSettingsToPage):
47140        (webkit_settings_get_enable_javascript):
47141        (webkit_settings_set_enable_javascript):
47142        (webkit_settings_get_auto_load_images):
47143        (webkit_settings_set_auto_load_images):
47144        (webkit_settings_get_load_icons_ignoring_image_load_setting):
47145        (webkit_settings_set_load_icons_ignoring_image_load_setting):
47146        (webkit_settings_get_enable_offline_web_application_cache):
47147        (webkit_settings_set_enable_offline_web_application_cache):
47148        (webkit_settings_get_enable_html5_local_storage):
47149        (webkit_settings_set_enable_html5_local_storage):
47150        (webkit_settings_get_enable_html5_database):
47151        (webkit_settings_set_enable_html5_database):
47152        (webkit_settings_get_enable_xss_auditor):
47153        (webkit_settings_set_enable_xss_auditor):
47154        (webkit_settings_get_enable_frame_flattening):
47155        (webkit_settings_set_enable_frame_flattening):
47156        (webkit_settings_get_enable_plugins):
47157        (webkit_settings_set_enable_plugins):
47158        (webkit_settings_get_enable_java):
47159        (webkit_settings_set_enable_java):
47160        (webkit_settings_get_javascript_can_open_windows_automatically):
47161        (webkit_settings_set_javascript_can_open_windows_automatically):
47162        (webkit_settings_get_enable_hyperlink_auditing):
47163        (webkit_settings_set_enable_hyperlink_auditing):
47164        (webkit_settings_set_default_font_family):
47165        (webkit_settings_set_monospace_font_family):
47166        (webkit_settings_set_serif_font_family):
47167        (webkit_settings_set_sans_serif_font_family):
47168        (webkit_settings_set_cursive_font_family):
47169        (webkit_settings_set_fantasy_font_family):
47170        (webkit_settings_set_pictograph_font_family):
47171        (webkit_settings_get_default_font_size):
47172        (webkit_settings_set_default_font_size):
47173        (webkit_settings_get_default_monospace_font_size):
47174        (webkit_settings_set_default_monospace_font_size):
47175        (webkit_settings_get_minimum_font_size):
47176        (webkit_settings_set_minimum_font_size):
47177        (webkit_settings_set_default_charset):
47178        (webkit_settings_get_enable_private_browsing):
47179        (webkit_settings_set_enable_private_browsing):
47180        (webkit_settings_get_enable_developer_extras):
47181        (webkit_settings_set_enable_developer_extras):
47182        (webkit_settings_get_enable_resizable_text_areas):
47183        (webkit_settings_set_enable_resizable_text_areas):
47184        (webkit_settings_get_enable_tabs_to_links):
47185        (webkit_settings_set_enable_tabs_to_links):
47186        (webkit_settings_get_enable_dns_prefetching):
47187        (webkit_settings_set_enable_dns_prefetching):
47188        (webkit_settings_get_enable_caret_browsing):
47189        (webkit_settings_set_enable_caret_browsing):
47190        (webkit_settings_get_enable_fullscreen):
47191        (webkit_settings_set_enable_fullscreen):
47192        (webkit_settings_get_print_backgrounds):
47193        (webkit_settings_set_print_backgrounds):
47194        (webkit_settings_get_enable_webaudio):
47195        (webkit_settings_set_enable_webaudio):
47196        (webkit_settings_get_enable_webgl):
47197        (webkit_settings_set_enable_webgl):
47198        (webkit_settings_get_allow_modal_dialogs):
47199        (webkit_settings_get_zoom_text_only):
47200        (webkit_settings_get_javascript_can_access_clipboard):
47201        (webkit_settings_set_javascript_can_access_clipboard):
47202        (webkit_settings_get_media_playback_requires_user_gesture):
47203        (webkit_settings_set_media_playback_requires_user_gesture):
47204        (webkit_settings_get_media_playback_allows_inline):
47205        (webkit_settings_set_media_playback_allows_inline):
47206        (webkit_settings_get_draw_compositing_indicators):
47207        (webkit_settings_set_draw_compositing_indicators):
47208        (webkit_settings_get_enable_site_specific_quirks):
47209        (webkit_settings_set_enable_site_specific_quirks):
47210        (webkit_settings_get_enable_page_cache):
47211        (webkit_settings_set_enable_page_cache):
47212        (webkit_settings_get_enable_smooth_scrolling):
47213        (webkit_settings_set_enable_smooth_scrolling):
47214        * UIProcess/API/gtk/WebKitSettingsPrivate.h:
47215        * UIProcess/API/gtk/WebKitWebView.cpp:
47216        (webkitWebViewSetSettings):
47217
472182012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47219
47220        Unreviewed. Fix GTK+ debug build.
47221
47222        * UIProcess/API/gtk/WebKitWebResource.cpp:
47223        (webkitWebResourceCreate):
47224
472252012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47226
47227        [GTK] Don't use the C API internally in WebKitWindowProperties
47228        https://bugs.webkit.org/show_bug.cgi?id=96785
47229
47230        Reviewed by Gustavo Noronha Silva.
47231
47232        Using the C++ classes directly instead of the C API wrappers we
47233        avoid a lot of toImpl/toAPI casts, string conversions and
47234        allocations. The code is also a lot simpler and easier to read.
47235
47236        * UIProcess/API/gtk/WebKitWebView.cpp:
47237        (webkitWebViewCreateNewPage):
47238        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
47239        (webkitWindowPropertiesUpdateFromWebWindowFeatures):
47240        * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
47241
472422012-10-18  Huang Dongsung  <luxtella@company100.net>
47243
47244        [WK2] Add CustomFilterOperation serialization in ArgumentCoder.
47245        https://bugs.webkit.org/show_bug.cgi?id=98733
47246
47247        Reviewed by Noam Rosenthal.
47248
47249        Add ArgumentCoders for CustomFilterOperation and all dependent classes.
47250        Coordinated Graphics will use this css shaders serialization when it enables CSS
47251        Shaders.
47252
47253        No new tests, code path is not activated yet.
47254
47255        * CMakeLists.txt:
47256        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Added.
47257        (CoreIPC):
47258        (CoreIPC::::encode):
47259        (CoreIPC::::decode):
47260        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Added.
47261        (WebCore):
47262        (CoreIPC):
47263        * Shared/CoordinatedGraphics/WebCustomFilterProgram.h: Added.
47264        (WebKit):
47265        (WebCustomFilterProgram):
47266            WebCustomFilterProgram is made to serialize the data of a
47267            StyleCustomFilterProgram to the UI process.
47268        (WebKit::WebCustomFilterProgram::create):
47269        (WebKit::WebCustomFilterProgram::WebCustomFilterProgram):
47270        * Shared/ShareableSurface.cpp:
47271        * Shared/WebCoreArgumentCoders.cpp:
47272        * Shared/WebCoreArgumentCoders.h:
47273        * Target.pri:
47274        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
47275        * WebKit2.pri:
47276        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
47277
472782012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47279
47280        [GTK] Don't use the C API internally in WebKitWebResource
47281        https://bugs.webkit.org/show_bug.cgi?id=96783
47282
47283        Reviewed by Xan Lopez.
47284
47285        Using the C++ classes directly instead of the C API wrappers we
47286        avoid a lot of toImpl/toAPI casts, string conversions and
47287        allocations. The code is also a lot simpler and easier to read.
47288
47289        * UIProcess/API/gtk/WebKitWebResource.cpp:
47290        (_WebKitWebResourcePrivate):
47291        (webkitWebResourceCreate):
47292        (webkitWebResourceGetFrame):
47293        (ResourceGetDataAsyncData):
47294        (resourceDataCallback):
47295        (webkit_web_resource_get_data):
47296        (webkit_web_resource_get_data_finish):
47297        * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
47298        * UIProcess/API/gtk/WebKitWebView.cpp:
47299        (setCertificateToMainResource):
47300        (webkitWebViewResourceLoadStarted):
47301
473022012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47303
47304        [GTK] Don't use the C API internally in WebKitURIResponse
47305        https://bugs.webkit.org/show_bug.cgi?id=96782
47306
47307        Reviewed by Xan Lopez.
47308
47309        Using the C++ classes directly instead of the C API wrappers we
47310        avoid a lot of toImpl/toAPI casts, string conversions and
47311        allocations. The code is also a lot simpler and easier to read.
47312
47313        * UIProcess/API/gtk/WebKitURIResponse.cpp:
47314        (webkitURIResponseSetCertificateInfo):
47315        * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
47316        * UIProcess/API/gtk/WebKitWebView.cpp:
47317        (setCertificateToMainResource):
47318
473192012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47320
47321        [GTK] Don't use the C API internally in PolicyClient classes
47322        https://bugs.webkit.org/show_bug.cgi?id=96781
47323
47324        Reviewed by Xan Lopez.
47325
47326        Using the C++ classes directly instead of the C API wrappers we
47327        avoid a lot of toImpl/toAPI casts, string conversions and
47328        allocations. The code is also a lot simpler and easier to read.
47329
47330        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
47331        (webkitNavigationPolicyDecisionCreate):
47332        * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
47333        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
47334        (decidePolicyForNavigationActionCallback):
47335        (decidePolicyForNewWindowActionCallback):
47336        (decidePolicyForResponseCallback):
47337        (attachPolicyClientToView):
47338        * UIProcess/API/gtk/WebKitPolicyClient.h:
47339        * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
47340        (_WebKitPolicyDecisionPrivate):
47341        (webkitPolicyDecisionFinalize):
47342        (webkitPolicyDecisionSetListener):
47343        (webkit_policy_decision_use):
47344        (webkit_policy_decision_ignore):
47345        (webkit_policy_decision_download):
47346        * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
47347        * UIProcess/API/gtk/WebKitPrivate.cpp:
47348        (wkEventMouseButtonToWebKitMouseButton):
47349        * UIProcess/API/gtk/WebKitPrivate.h:
47350        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
47351        (webkitResponsePolicyDecisionCreate):
47352        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
47353        * UIProcess/API/gtk/WebKitWebView.cpp:
47354        (webkitWebViewConstructed):
47355
473562012-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
47357
47358        [GTK] Don't use the C API internally in WebKitHitTestResult
47359        https://bugs.webkit.org/show_bug.cgi?id=96779
47360
47361        Reviewed by Xan Lopez.
47362
47363        Using the C++ classes directly instead of the C API wrappers we
47364        avoid a lot of toImpl/toAPI casts, string conversions and
47365        allocations. The code is also a lot simpler and easier to read.
47366
47367        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
47368        (webkitHitTestResultCreate):
47369        (webkitHitTestResultCompare):
47370        * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
47371        * UIProcess/API/gtk/WebKitWebView.cpp:
47372        (webkitWebViewMouseTargetChanged):
47373        (webkitWebViewPopulateContextMenu):
47374
473752012-10-15  Balazs Kelemen  <kbalazs@webkit.org>
47376
47377        [Qt][WTR] Do a forced repaint before generating pixel results
47378        https://bugs.webkit.org/show_bug.cgi?id=98654
47379
47380        Reviewed by Jocelyn Turcotte.
47381
47382        Added API to convert a QImage to a WKImage so we can
47383        pass it to cross-platform code.
47384
47385        * Shared/API/c/qt/WKImageQt.cpp:
47386        (WKImageCreateFromQImage):
47387        * Shared/API/c/qt/WKImageQt.h:
47388
473892012-10-18  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
47390
47391        [CMake] Depend on the Python scripts in WebKit2/Scripts/webkit2 when regenerating messages.
47392        https://bugs.webkit.org/show_bug.cgi?id=99702
47393
47394        Reviewed by Gyuyoung Kim.
47395
47396        Be in line with most (or all) the other build systems and
47397        explicitly depend on all the scripts in
47398        ${WEBKIT2_DIR}/Scripts/webkit2 for the custom command that
47399        generates messages.
47400
47401        This helps fix the build after the recent change to messages.py,
47402        which did not trigger a regeneration of the required files --
47403        people were just removing their DerivedSources directory
47404        altogether.
47405
47406        * CMakeLists.txt:
47407
474082012-10-18  Byungwoo Lee  <bw80.lee@samsung.com>
47409
47410        [WK2] Fix incorrect test expectations of messages_unittest.py.
47411        https://bugs.webkit.org/show_bug.cgi?id=99699
47412
47413        Reviewed by Gyuyoung Kim.
47414
47415        Fix the expected results of messages_unittest.py.
47416
47417        The expected result of messages_unittest.py has bugs, and it makes failure on python test.
47418
47419        * Scripts/webkit2/messages_unittest.py:
47420
474212012-10-18  Jussi Kukkonen  <jussi.kukkonen@intel.com>
47422
47423        Add PluginProcessProxy::platformInitializeLaunchOptions
47424        https://bugs.webkit.org/show_bug.cgi?id=99583
47425
47426        Reviewed by Sam Weinig.
47427
47428        Add a platform specific launch options initializer. This enables
47429        fixing bug 99297 "[EFL] Make plugin process debugging easier
47430        (PLUGIN_PROCESS_COMMAND_PREFIX)".
47431
47432        * UIProcess/Plugins/PluginProcessProxy.cpp:
47433        (WebKit::PluginProcessProxy::PluginProcessProxy):
47434        * UIProcess/Plugins/PluginProcessProxy.h:
47435        (PluginProcessProxy):
47436        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
47437        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
47438        (WebKit):
47439        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
47440        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
47441        (WebKit):
47442        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
47443        (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
47444        (WebKit):
47445
474462012-10-18  Byungwoo Lee  <bw80.lee@samsung.com>
47447
47448        [WK2] Update test expectation for the python message test after r131700
47449        https://bugs.webkit.org/show_bug.cgi?id=99689
47450
47451        Reviewed by Gyuyoung Kim.
47452
47453        Need to update test expectations about including headers and forwarding
47454        declarations on derived sources for ipc message. (after r131700 : build fix)
47455
47456        * Scripts/webkit2/messages_unittest.py:
47457
474582012-10-18  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
47459
47460        [EFL][WK2] Remove '_' prefix from private API structure names
47461        https://bugs.webkit.org/show_bug.cgi?id=99575
47462
47463        Reviewed by Gyuyoung Kim.
47464
47465        Removed underscore prefix from WK2 EFL internal structure names.
47466
47467        * UIProcess/API/efl/VibrationProvider.cpp:
47468        (Ewk_Vibration_Client::Ewk_Vibration_Client):
47469        * UIProcess/API/efl/VibrationProvider.h:
47470        * UIProcess/API/efl/ewk_back_forward_list.h:
47471        * UIProcess/API/efl/ewk_back_forward_list_item.h:
47472        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
47473        (Ewk_Back_Forward_List_Item::create):
47474        (Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
47475        * UIProcess/API/efl/ewk_back_forward_list_private.h:
47476        (Ewk_Back_Forward_List::create):
47477        (Ewk_Back_Forward_List::Ewk_Back_Forward_List):
47478        * UIProcess/API/efl/ewk_context.cpp:
47479        (Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
47480        (Ewk_Context::Ewk_Context):
47481        (ewk_context_url_scheme_request_received):
47482        (ewk_context_url_scheme_register):
47483        * UIProcess/API/efl/ewk_context.h:
47484        * UIProcess/API/efl/ewk_context_download_client_private.h:
47485        * UIProcess/API/efl/ewk_context_history_client_private.h:
47486        * UIProcess/API/efl/ewk_context_private.h:
47487        * UIProcess/API/efl/ewk_context_request_manager_client_private.h:
47488        * UIProcess/API/efl/ewk_cookie_manager.cpp:
47489        (Ewk_Cookie_Manager::Ewk_Cookie_Manager):
47490        (Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
47491        * UIProcess/API/efl/ewk_cookie_manager.h:
47492        * UIProcess/API/efl/ewk_cookie_manager_private.h:
47493        (Ewk_Cookie_Manager::create):
47494        (Ewk_Cookie_Manager):
47495        * UIProcess/API/efl/ewk_download_job.h:
47496        * UIProcess/API/efl/ewk_download_job_private.h:
47497        (Ewk_Download_Job::create):
47498        (Ewk_Download_Job::Ewk_Download_Job):
47499        * UIProcess/API/efl/ewk_error.cpp:
47500        (Ewk_Error::Ewk_Error):
47501        * UIProcess/API/efl/ewk_error.h:
47502        * UIProcess/API/efl/ewk_error_private.h:
47503        (Ewk_Error::create):
47504        (Ewk_Error):
47505        * UIProcess/API/efl/ewk_favicon_database.cpp:
47506        (Ewk_Favicon_Database::Ewk_Favicon_Database):
47507        * UIProcess/API/efl/ewk_favicon_database.h:
47508        * UIProcess/API/efl/ewk_favicon_database_private.h:
47509        (Ewk_Favicon_Database::create):
47510        (Ewk_Favicon_Database):
47511        * UIProcess/API/efl/ewk_form_submission_request.h:
47512        * UIProcess/API/efl/ewk_form_submission_request_private.h:
47513        (Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
47514        (Ewk_Form_Submission_Request::create):
47515        (Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
47516        * UIProcess/API/efl/ewk_intent.h:
47517        * UIProcess/API/efl/ewk_intent_private.h:
47518        (Ewk_Intent::create):
47519        (Ewk_Intent::Ewk_Intent):
47520        * UIProcess/API/efl/ewk_intent_service.h:
47521        * UIProcess/API/efl/ewk_intent_service_private.h:
47522        (Ewk_Intent_Service::create):
47523        (Ewk_Intent_Service::Ewk_Intent_Service):
47524        * UIProcess/API/efl/ewk_navigation_data.h:
47525        * UIProcess/API/efl/ewk_navigation_data_private.h:
47526        (Ewk_Navigation_Data::create):
47527        (Ewk_Navigation_Data::Ewk_Navigation_Data):
47528        * UIProcess/API/efl/ewk_navigation_policy_decision.h:
47529        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
47530        (Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
47531        (Ewk_Navigation_Policy_Decision::create):
47532        (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
47533        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
47534        (Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
47535        * UIProcess/API/efl/ewk_popup_menu_item.h:
47536        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
47537        (Ewk_Popup_Menu_Item::create):
47538        (Ewk_Popup_Menu_Item):
47539        * UIProcess/API/efl/ewk_resource.h:
47540        * UIProcess/API/efl/ewk_resource_private.h:
47541        (Ewk_Resource::create):
47542        (Ewk_Resource::Ewk_Resource):
47543        * UIProcess/API/efl/ewk_settings.h:
47544        * UIProcess/API/efl/ewk_settings_private.h:
47545        (Ewk_Settings::Ewk_Settings):
47546        * UIProcess/API/efl/ewk_text_checker_private.h:
47547        * UIProcess/API/efl/ewk_touch.h:
47548        * UIProcess/API/efl/ewk_url_request.h:
47549        * UIProcess/API/efl/ewk_url_request_private.h:
47550        (Ewk_Url_Request::create):
47551        (Ewk_Url_Request::Ewk_Url_Request):
47552        * UIProcess/API/efl/ewk_url_response.h:
47553        * UIProcess/API/efl/ewk_url_response_private.h:
47554        (Ewk_Url_Response::create):
47555        (Ewk_Url_Response::Ewk_Url_Response):
47556        * UIProcess/API/efl/ewk_url_scheme_request.h:
47557        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
47558        * UIProcess/API/efl/ewk_view.cpp:
47559        (Ewk_View_Private_Data::Ewk_View_Private_Data):
47560        (Ewk_View_Private_Data::~Ewk_View_Private_Data):
47561        (_ewk_view_smart_add):
47562        * UIProcess/API/efl/ewk_view.h:
47563        * UIProcess/API/efl/ewk_view_private.h:
47564
475652012-10-18  Ryosuke Niwa  <rniwa@webkit.org>
47566
47567        Lion build fix after r131686. Add back if-def around #imports.
47568
47569        * UIProcess/API/mac/WKView.mm:
47570
475712012-10-17  Byungwoo Lee  <bw80.lee@samsung.com>
47572
47573        [WK2] Fix build break
47574        https://bugs.webkit.org/show_bug.cgi?id=99670
47575
47576        Reviewed by Anders Carlsson.
47577
47578        Unreviewed build fix.
47579
47580        Include MessageEncoder.h instead of forwarding declaration for
47581        MessageEncoder class.
47582
47583        * Scripts/webkit2/messages.py:
47584        (forward_declarations_and_headers):
47585
475862012-10-17  Darin Adler  <darin@apple.com>
47587
47588        Make subclassing of WKView safer by namespacing methods and eliminating its use as an observer and delegate
47589        https://bugs.webkit.org/show_bug.cgi?id=99251
47590
47591        Reviewed by Anders Carlsson.
47592
47593        Apps that subclass WKView should be able to freely choose method names without conflicting with a name
47594        we chose to use internally in WKView's own implementation. Thus, it's a good idea to add a "_wk_" prefix
47595        to any method names that are solely for internal WebKit2 use. Exceptions to this are method names that
47596        are predetermined by AppKit, or names that are part of API or SPI.
47597
47598        Apps that subclass WKView should be able to add observers or use the WKView as a delegate without
47599        conflicting with similar use in the WKView implementations. Thus, changed to use separate block-style
47600        observers for the window notifications and a separate delegate for the tool tip implementation.
47601
47602        The challenging aspect of this patch was to research which method names were determined by AppKit.
47603        There's nothing in the WebKit2 source code that necessarily states this explicitly.
47604
47605        * UIProcess/API/mac/PageClientImpl.mm:
47606        (WebKit::PageClientImpl::createDrawingAreaProxy): Updated for new method name.
47607        (WebKit::PageClientImpl::scrollView): Ditto.
47608        (WebKit::PageClientImpl::isViewFocused): Ditto.
47609        (WebKit::PageClientImpl::colorSpace): Ditto.
47610        (WebKit::PageClientImpl::processDidCrash): Ditto.
47611        (WebKit::PageClientImpl::pageClosed): Ditto.
47612        (WebKit::PageClientImpl::didRelaunchProcess): Ditto.
47613        (WebKit::PageClientImpl::toolTipChanged): Ditto.
47614        (WebKit::PageClientImpl::setCursor): Ditto.
47615        (WebKit::PageClientImpl::interpretKeyEvent): Ditto.
47616        (WebKit::PageClientImpl::setDragImage): Ditto.
47617        (WebKit::PageClientImpl::setPromisedData): Ditto.
47618        (WebKit::PageClientImpl::updateTextInputState): Ditto.
47619        (WebKit::PageClientImpl::resetTextInputState): Ditto.
47620        (WebKit::PageClientImpl::convertToDeviceSpace): Ditto.
47621        (WebKit::PageClientImpl::convertToUserSpace): Ditto.
47622        (WebKit::PageClientImpl::doneWithKeyEvent): Ditto.
47623        (WebKit::PageClientImpl::setFindIndicator): Ditto.
47624        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): Ditto.
47625        (WebKit::PageClientImpl::enterAcceleratedCompositingMode): Ditto.
47626        (WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto.
47627        (WebKit::PageClientImpl::updateAcceleratedCompositingMode): Ditto.
47628        (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): Ditto.
47629        (WebKit::PageClientImpl::setPluginComplexTextInputState): Ditto.
47630        (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): Ditto.
47631        (WebKit::PageClientImpl::didCommitLoadForMainFrame): Ditto.
47632        (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): Ditto.
47633        (WebKit::PageClientImpl::customRepresentationZoomFactor): Ditto.
47634        (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
47635        (WebKit::PageClientImpl::findStringInCustomRepresentation): Ditto.
47636        (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Ditto.
47637        (WebKit::PageClientImpl::executeSavedCommandBySelector): Ditto.
47638        (WebKit::PageClientImpl::showDictationAlternativeUI): Ditto.
47639
47640        * UIProcess/API/mac/WKView.mm: Simplified imports a bit. No need for conditional imports of basic classes
47641        like NSTextAlternatives.h and NSAttributedString.h. No need to put internal headers in a separate paragraph.
47642        Added WKToolTipDelegate class and added _toolTipDelegate and _observers fields to WKViewData.
47643        (-[WKView becomeFirstResponder]): Updated for new method name.
47644        (-[WKView resignFirstResponder]): Ditto.
47645        (-[WKView setFrameSize:]): Ditto.
47646        (-[WKView _wk_updateWindowAndViewFrames]): Ditto.
47647        (-[WKView renewGState]): Ditto.
47648        (-[WKView _wk_setPluginComplexTextInputState:]): Ditto.
47649        (validateCommandCallback): Ditto.
47650        (-[WKView displayIfNeeded]): Fixed a comment typo.
47651        (-[WKView _wk_setMouseDownEvent:]): Updated for new method name.
47652        (-[WKView mouseDown:]): Ditto.
47653        (-[WKView mouseUp:]): Ditto.
47654        (-[WKView acceptsFirstMouse:]): Ditto.
47655        (-[WKView shouldDelayWindowOrderingForEvent:]): Ditto.
47656        (-[WKView _wk_handleStyleKeyEquivalent:]): Ditto.
47657        (-[WKView performKeyEquivalent:]): Ditto.
47658        (-[WKView _wk_disableComplexTextInputIfNecessary]): Ditto.
47659        (-[WKView _wk_handlePluginComplexTextInputKeyDown:]): Ditto.
47660        (-[WKView _wk_tryHandlePluginComplexTextInputKeyDown:]): Ditto.
47661        (-[WKView keyDown:]): Ditto.
47662        (-[WKView _wk_executeSavedKeypressCommands]): Ditto.
47663        (-[WKView _wk_notifyInputContextAboutDiscardedComposition]): Ditto.
47664        (-[WKView selectedRange]): Ditto.
47665        (-[WKView hasMarkedText]): Ditto.
47666        (-[WKView unmarkText]): Ditto.
47667        (-[WKView setMarkedText:selectedRange:replacementRange:]): Ditto.
47668        (-[WKView markedRange]): Ditto.
47669        (-[WKView attributedSubstringForProposedRange:actualRange:]): Ditto.
47670        (-[WKView characterIndexForPoint:]): Ditto.
47671        (-[WKView firstRectForCharacterRange:actualRange:]): Ditto.
47672        (-[WKView _wk_updateWindowVisibility]): Ditto.
47673        (-[WKView _wk_updateWindowObserversForWindow:]): Replaced the two separate methods
47674        addWindowObserversForWindow and removeWindowObservers with this single method, since
47675        the two are only used in tandem. Changed code to use blocks for the observers and to
47676        keep the observers in an array.
47677        (-[WKView viewWillMoveToWindow:]): Updated to use _wk_updateWindowObserversForWindow.
47678        (-[WKView viewDidMoveToWindow]): Updated for new method names.
47679        (-[WKView _wk_windowScreenDidChange]): Ditto.
47680        (-[WKView _wk_windowDidBecomeKey:]): Ditto.
47681        (-[WKView _wk_windowDidChangeScreen:]): Ditto.
47682        (-[WKView _wk_windowDidResignKey:]): Ditto.
47683        (-[WKView _wk_windowDidMiniaturize:]): Ditto.
47684        (-[WKView _wk_windowDidDeminiaturize:]): Ditto.
47685        (-[WKView _wk_windowDidMove:]): Ditto.
47686        (-[WKView _wk_windowDidResize:]): Ditto.
47687        (-[WKView _wk_windowDidOrderOffScreen:]): Ditto.
47688        (-[WKView _wk_windowDidOrderOnScreen:]): Ditto.
47689        (-[WKView _wk_windowDidChangeBackingProperties:]): Ditto.
47690        (-[WKView drawRect:]): Ditto.
47691        (-[WKView _wk_accessibilityRegisterUIProcessTokens]): Ditto.
47692        (-[WKView _wk_updateRemoteAccessibilityRegistration:]): Ditto.
47693        (-[WKView _wk_postFakeMouseMovedEventForFlagsChangedEvent:]): Ditto.
47694        (-[WKView _wk_intrinsicDeviceScaleFactor]): Ditto.
47695        (-[WKView _wk_setDrawingAreaSize:]): Ditto.
47696        (-[WKView _wk_shouldUseTiledDrawingArea]): Ditto.
47697        (-[WKView _wk_createDrawingAreaProxy]): Ditto.
47698        (-[WKView _wk_isFocused]): Ditto.
47699        (-[WKView _wk_processDidCrash]): Ditto.
47700        (-[WKView _wk_pageClosed]): Ditto.
47701        (-[WKView _wk_didRelaunchProcess]): Ditto.
47702        (-[WKView _wk_setCursor:]): Ditto.
47703        (-[WKView _wk_setUserInterfaceItemState:enabled:state:]): Ditto.
47704        (-[WKView _wk_tryPostProcessPluginComplexTextInputKeyDown:]): Ditto.
47705        (-[WKView _wk_doneWithKeyEvent:eventWasHandled:]): Ditto.
47706        (-[WKView _wk_interpretKeyEvent:savingCommandsTo:]): Ditto.
47707        (-[WKView _wk_convertToDeviceSpace:]): Ditto.
47708        (-[WKView _wk_convertToUserSpace:]): Ditto.
47709        (-[WKView _wk_addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Ditto.
47710        (-[WKView _wk_addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
47711        (-[WKView _wk_removeTrackingRects:count:]): Ditto.
47712        (-[WKView _wk_sendToolTipMouseExited]): Ditto.
47713        (-[WKView _wk_sendToolTipMouseEntered]): Ditto.
47714        (-[WKView _wk_toolTipChangedFrom:to:]): Changed to use the data object as the tool tip owner so
47715        the delegate method can be there rather than on WKView.
47716        (-[WKView _wk_setFindIndicator:fadeOut:animate:]): Updated for new method names.
47717        (-[WKView _wk_enterAcceleratedCompositingMode:]): Ditto.
47718        (-[WKView _wk_exitAcceleratedCompositingMode]): Ditto.
47719        (-[WKView _wk_updateAcceleratedCompositingMode:]): Ditto.
47720        (-[WKView _wk_setAccessibilityWebProcessToken:]): Ditto.
47721        (-[WKView _wk_pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Ditto.
47722        (-[WKView _wk_setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Ditto.
47723        (-[WKView _wk_setPageHasCustomRepresentation:]): Ditto.
47724        (-[WKView _wk_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:]): Ditto.
47725        (-[WKView _wk_customRepresentationZoomFactor]): Ditto.
47726        (-[WKView _wk_setCustomRepresentationZoomFactor:]): Ditto.
47727        (-[WKView _wk_findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
47728        (-[WKView _wk_countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
47729        (-[WKView _wk_setDragImage:at:linkDrag:]): Ditto.
47730        (-[WKView _wk_setPromisedData:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Ditto.
47731        (-[WKView _wk_updateSecureInputState]): Ditto.
47732        (-[WKView _wk_updateTextInputStateIncludingSecureInputState:]): Ditto.
47733        (-[WKView _wk_resetTextInputState]): Ditto.
47734        (-[WKView _wk_didChangeScrollbarsForMainFrame]): Ditto.
47735        (-[WKView _wk_hasFullScreenWindowController]): Ditto.
47736        (-[WKView _wk_fullScreenWindowController]): Ditto.
47737        (-[WKView _wk_closeFullScreenWindowController]): Ditto.
47738        (-[WKView _wk_executeSavedCommandBySelector:]): Ditto.
47739        (-[WKView _wk_cacheWindowBottomCornerRect]): Ditto.
47740        (-[WKView _wk_spellCheckerDocumentTag]): Ditto.
47741        (-[WKView _wk_handleAcceptedAlternativeText:]): Ditto.
47742        (-[WKView _wk_setSuppressVisibilityUpdates:]): Ditto.
47743        (-[WKView _wk_suppressVisibilityUpdates]): Ditto.
47744        (-[WKView _wk_registerDraggedTypes]): Ditto.
47745        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Ditto.
47746        (-[WKView wantsUpdateLayer]): Ditto.
47747        (-[WKView enableFrameSizeUpdates]): Ditto.
47748        (-[WKToolTipDelegate initWithPage:]): Added.
47749        (-[WKToolTipDelegate view:stringForToolTip:point:userData:]): Added.
47750
47751
47752        * UIProcess/API/mac/WKViewInternal.h: Changed all internal method names to have a _wk_ prefix.
47753        * UIProcess/API/mac/WKViewPrivate.h: Expose the _shouldUseTiledDrawingArea method formally as SPI
47754        since Safari is currently overriding this method.
47755
47756        * UIProcess/mac/CorrectionPanel.mm:
47757        (WebKit::CorrectionPanel::recordAutocorrectionResponse): Updated for new method names.
47758        (WebKit::CorrectionPanel::handleAcceptedReplacement): Ditto.
47759
47760        * UIProcess/mac/WKFullScreenWindowController.mm:
47761        (-[WKFullScreenWindowController enterFullScreen:]): Updated for new method names.
47762        (-[WKFullScreenWindowController exitFullScreen]): Ditto.
47763        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
47764        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto.
47765
47766        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
47767        (WebKit::WebFullScreenManagerProxy::invalidate): Updated for new method names.
47768        (WebKit::WebFullScreenManagerProxy::close): Ditto.
47769        (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
47770        (WebKit::WebFullScreenManagerProxy::enterFullScreen): Ditto.
47771        (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
47772        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Ditto.
47773        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Ditto.
47774
477752012-10-15  Anders Carlsson  <andersca@apple.com>
47776
47777        Add MessageEncoder and MessageDecoder subclasses
47778        https://bugs.webkit.org/show_bug.cgi?id=99365
47779
47780        Reviewed by Andreas Kling.
47781
47782        This is the first step towards cleaning up IPC handling in WebKit2. The idea is that MessageEncoder and MessageDecoder
47783        will handle all the IPC specific parts of encoding and decoding (such as attachments), whereas the ArgumentEncoder and ArgumentDecoder
47784        classes are only used for serializing simpler data types.
47785
47786        * CMakeLists.txt:
47787        * GNUmakefile.list.am:
47788        * Platform/CoreIPC/ArgumentDecoder.cpp:
47789        (CoreIPC::ArgumentDecoder::create):
47790        (CoreIPC::ArgumentDecoder::initialize):
47791        * Platform/CoreIPC/ArgumentDecoder.h:
47792        (ArgumentDecoder):
47793        * Platform/CoreIPC/ArgumentEncoder.cpp:
47794        (CoreIPC::ArgumentEncoder::create):
47795        (CoreIPC::ArgumentEncoder::ArgumentEncoder):
47796        * Platform/CoreIPC/ArgumentEncoder.h:
47797        (ArgumentEncoder):
47798        * Platform/CoreIPC/Connection.cpp:
47799        (CoreIPC::Connection::createSyncMessageEncoder):
47800        (CoreIPC::Connection::sendMessage):
47801        (CoreIPC::Connection::sendSyncReply):
47802        (CoreIPC::Connection::waitForMessage):
47803        (CoreIPC::Connection::sendSyncMessage):
47804        (CoreIPC::Connection::waitForSyncReply):
47805        (CoreIPC::Connection::processIncomingSyncReply):
47806        (CoreIPC::Connection::processIncomingMessage):
47807        (CoreIPC::Connection::dispatchSyncMessage):
47808        (CoreIPC::Connection::dispatchMessage):
47809        * Platform/CoreIPC/Connection.h:
47810        (Connection):
47811        (PendingSyncReply):
47812        (CoreIPC::Connection::PendingSyncReply::releaseReplyDecoder):
47813        (CoreIPC::Connection::send):
47814        (CoreIPC::Connection::sendSync):
47815        (CoreIPC::Connection::waitForAndDispatchImmediately):
47816        (CoreIPC::Connection::deprecatedSendSync):
47817        (CoreIPC::Connection::deprecatedSend):
47818        * Platform/CoreIPC/MessageDecoder.cpp:
47819        (CoreIPC::MessageDecoder::create):
47820        (CoreIPC::MessageDecoder::~MessageDecoder):
47821        (CoreIPC::MessageDecoder::MessageDecoder):
47822        * Platform/CoreIPC/MessageDecoder.h:
47823        (CoreIPC):
47824        (MessageDecoder):
47825        * Platform/CoreIPC/MessageEncoder.cpp:
47826        (CoreIPC):
47827        (CoreIPC::MessageEncoder::create):
47828        (CoreIPC::MessageEncoder::MessageEncoder):
47829        (CoreIPC::MessageEncoder::~MessageEncoder):
47830        * Platform/CoreIPC/MessageEncoder.h:
47831        (CoreIPC):
47832        (MessageEncoder):
47833        * Platform/CoreIPC/MessageSender.h:
47834        (CoreIPC::MessageSender::send):
47835        (CoreIPC::MessageSender::sendMessage):
47836        * Platform/CoreIPC/mac/ConnectionMac.cpp:
47837        (CoreIPC::Connection::open):
47838        (CoreIPC::Connection::sendOutgoingMessage):
47839        (CoreIPC::createMessageDecoder):
47840        (CoreIPC::Connection::receiveSourceEventHandler):
47841        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
47842        (CoreIPC::Connection::processMessage):
47843        (CoreIPC::Connection::sendOutgoingMessage):
47844        * Platform/CoreIPC/win/ConnectionWin.cpp:
47845        (CoreIPC::Connection::readEventHandler):
47846        (CoreIPC::Connection::writeEventHandler):
47847        (CoreIPC::Connection::platformCanSendOutgoingMessages):
47848        (CoreIPC::Connection::sendOutgoingMessage):
47849        * Scripts/webkit2/messages.py:
47850        (generate_message_handler):
47851        * Scripts/webkit2/messages_unittest.py:
47852        (MessageEncoder):
47853        * Shared/WebConnection.cpp:
47854        (WebKit::WebConnection::postMessage):
47855        (WebKit::WebConnection::handleMessage):
47856        * Shared/WebConnection.h:
47857        (CoreIPC):
47858        * Target.pri:
47859        * UIProcess/WebContext.cpp:
47860        (WebKit::WebContext::createNewWebProcess):
47861        (WebKit::WebContext::postMessageToInjectedBundle):
47862        * UIProcess/WebProcessProxy.cpp:
47863        (WebKit::WebProcessProxy::sendMessage):
47864        * UIProcess/WebProcessProxy.h:
47865        (WebProcessProxy):
47866        (WebKit::WebProcessProxy::deprecatedSend):
47867        (WebKit::WebProcessProxy::send):
47868        * WebKit2.xcodeproj/project.pbxproj:
47869        * WebProcess/WebPage/DecoderAdapter.cpp:
47870        (WebKit::DecoderAdapter::DecoderAdapter):
47871        (WebKit::DecoderAdapter::decodeBytes):
47872        (WebKit::DecoderAdapter::decodeBool):
47873        (WebKit::DecoderAdapter::decodeUInt16):
47874        (WebKit::DecoderAdapter::decodeUInt32):
47875        (WebKit::DecoderAdapter::decodeUInt64):
47876        (WebKit::DecoderAdapter::decodeInt32):
47877        (WebKit::DecoderAdapter::decodeInt64):
47878        (WebKit::DecoderAdapter::decodeFloat):
47879        (WebKit::DecoderAdapter::decodeDouble):
47880        (WebKit::DecoderAdapter::decodeString):
47881        * WebProcess/WebPage/DecoderAdapter.h:
47882        (DecoderAdapter):
47883        * WebProcess/WebPage/EncoderAdapter.cpp:
47884        (WebKit::EncoderAdapter::EncoderAdapter):
47885        * WebProcess/WebProcess.cpp:
47886        (WebKit::WebProcess::postInjectedBundleMessage):
47887        * win/WebKit2.vcproj:
47888
478892012-10-17  Andy Estes  <aestes@apple.com>
47890
47891        [WebKit2] Add removeChild: to WKDOMNode and make WKDOMText.data read/write
47892        https://bugs.webkit.org/show_bug.cgi?id=99662
47893
47894        Reviewed by Sam Weinig.
47895
47896        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
47897        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
47898        (-[WKDOMNode removeChild:]):
47899        * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
47900        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
47901        (-[WKDOMText setData:]):
47902
479032012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
47904
47905        [EFL][WK2] Memory leak in ewk_download_job_response_set()
47906        https://bugs.webkit.org/show_bug.cgi?id=99621
47907
47908        Reviewed by Kenneth Rohde Christiansen.
47909
47910        No longer call ewk_url_response_ref() on the response
47911        object in ewk_download_job_response_set() since it will
47912        be ref'd when assigning to the RefPtr member already.
47913
47914        * UIProcess/API/efl/ewk_context_download_client.cpp:
47915        (didReceiveResponse):
47916        * UIProcess/API/efl/ewk_download_job.cpp:
47917        (ewk_download_job_response_set):
47918        * UIProcess/API/efl/ewk_download_job_private.h: Remove several unimplemented functions.
47919
479202012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
47921
47922        [EFL][WK2] Compilation warning in Ewk_View when accelerated compositing is disabled
47923        https://bugs.webkit.org/show_bug.cgi?id=99613
47924
47925        Reviewed by Kenneth Rohde Christiansen.
47926
47927        Fix compilation warning in _ewk_view_smart_calculate() when
47928        the ACCELERATED_COMPOSITING flag is not set.
47929
47930        * UIProcess/API/efl/ewk_view.cpp:
47931        (_ewk_view_smart_calculate):
47932
479332012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
47934
47935        [EFL][WK2] Use smart pointers inside Ewk_View
47936        https://bugs.webkit.org/show_bug.cgi?id=99611
47937
47938        Reviewed by Kenneth Rohde Christiansen.
47939
47940        Use smart pointers instead of raw ones for several
47941        Ewk_View members to avoid handling memory manually.
47942
47943        * PlatformEfl.cmake:
47944        * UIProcess/API/efl/ewk_view.cpp:
47945        (_Ewk_View_Private_Data):
47946        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
47947        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
47948        (ewk_view_cursor_set):
47949        (ewk_view_color_picker_dismiss):
47950        (ewk_view_color_picker_color_set):
47951
479522012-10-17  Byungwoo Lee  <bw80.lee@samsung.com>
47953
47954        Fix build warnings : -Wunused-parameter, -Wunused-variable
47955        https://bugs.webkit.org/show_bug.cgi?id=99539
47956
47957        Reviewed by Kentaro Hara.
47958
47959        Fix build warnings about unused parameter or unused variable when
47960        WTF_USE_TILED_BACKING_STORE option is enabled.
47961
47962        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
47963        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
47964        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
47965        (WebKit::LayerTreeRenderer::createLayer):
47966        * UIProcess/DrawingAreaProxy.cpp:
47967        (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
47968        * UIProcess/DrawingAreaProxy.h:
47969        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
47970        (WebKit::DrawingAreaProxy::createTileForLayer):
47971        (WebKit::DrawingAreaProxy::updateTileForLayer):
47972        (WebKit::DrawingAreaProxy::removeTileForLayer):
47973        (WebKit::DrawingAreaProxy::update):
47974        (WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
47975        (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
47976        (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
47977        (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
47978        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
47979        (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
47980        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
47981        (WebKit::CoordinatedTile::paint):
47982        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
47983        (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
47984        (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
47985        * WebProcess/WebPage/LayerTreeHost.h:
47986        (WebKit::LayerTreeHost::setVisibleContentsRect):
47987        (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
47988
479892012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
47990
47991        [GTK] Don't use the C API internally in WebKitDownload
47992        https://bugs.webkit.org/show_bug.cgi?id=96773
47993
47994        Reviewed by Gustavo Noronha Silva.
47995
47996        Using the C++ classes directly instead of the C API wrappers we
47997        avoid a lot of toImpl/toAPI casts, string conversions and
47998        allocations. The code is also a lot simpler and easier to read.
47999
48000        * UIProcess/API/gtk/WebKitDownload.cpp:
48001        (_WebKitDownloadPrivate):
48002        (webkitDownloadCreate):
48003        (webkit_download_get_request):
48004        (webkit_download_cancel):
48005        * UIProcess/API/gtk/WebKitDownloadPrivate.h:
48006        * UIProcess/API/gtk/WebKitWebContext.cpp:
48007        (webkit_web_context_download_uri):
48008        (webkitWebContextGetOrCreateDownload):
48009
480102012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48011
48012        [GTK] Don't use the C API internally in WebKitCookieManager
48013        https://bugs.webkit.org/show_bug.cgi?id=96772
48014
48015        Reviewed by Gustavo Noronha Silva.
48016
48017        Using the C++ classes directly instead of the C API wrappers we
48018        avoid a lot of toImpl/toAPI casts, string conversions and
48019        allocations. The code is also a lot simpler and easier to read.
48020
48021        * UIProcess/API/gtk/WebKitCookieManager.cpp:
48022        (_WebKitCookieManagerPrivate):
48023        (webkitCookieManagerFinalize):
48024        (webkitCookieManagerCreate):
48025        (webkit_cookie_manager_set_persistent_storage):
48026        (webkit_cookie_manager_set_accept_policy):
48027        (webkit_cookie_manager_get_accept_policy):
48028        (webkitCookieManagerGetDomainsWithCookiesCallback):
48029        (webkit_cookie_manager_get_domains_with_cookies):
48030        (webkit_cookie_manager_delete_cookies_for_domain):
48031        (webkit_cookie_manager_delete_all_cookies):
48032        * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
48033        * UIProcess/API/gtk/WebKitWebContext.cpp:
48034        (webkit_web_context_get_cookie_manager):
48035
480362012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48037
48038        [GTK] Don't use the C API internally in WebKitContextMenu
48039        https://bugs.webkit.org/show_bug.cgi?id=96770
48040
48041        Reviewed by Gustavo Noronha Silva.
48042
48043        Using the C++ classes directly instead of the C API wrappers we
48044        avoid a lot of toImpl/toAPI casts, string conversions and
48045        allocations. The code is also a lot simpler and easier to read.
48046
48047        * UIProcess/API/gtk/WebKitContextMenu.cpp:
48048        (webkitContextMenuCreate):
48049        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
48050        (webkitContextMenuItemCreate):
48051        * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
48052        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
48053        * UIProcess/API/gtk/WebKitWebView.cpp:
48054        (webkitWebViewPopulateContextMenu):
48055
480562012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48057
48058        [GTK] Don't use the C API internally in WebKitBackForwardList
48059        https://bugs.webkit.org/show_bug.cgi?id=96769
48060
48061        Reviewed by Gustavo Noronha Silva.
48062
48063        Using the C++ classes directly instead of the C API wrappers we
48064        avoid a lot of toImpl/toAPI casts, string conversions and
48065        allocations. The code is also a lot simpler and easier to read.
48066
48067        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
48068        (_WebKitBackForwardListPrivate):
48069        (webkitBackForwardListGetOrCreateItem):
48070        (webkitBackForwardListCreateList):
48071        (webkitBackForwardListCreate):
48072        (webkitBackForwardListChanged):
48073        (webkit_back_forward_list_get_current_item):
48074        (webkit_back_forward_list_get_back_item):
48075        (webkit_back_forward_list_get_forward_item):
48076        (webkit_back_forward_list_get_nth_item):
48077        (webkit_back_forward_list_get_length):
48078        (webkit_back_forward_list_get_back_list):
48079        (webkit_back_forward_list_get_back_list_with_limit):
48080        (webkit_back_forward_list_get_forward_list):
48081        (webkit_back_forward_list_get_forward_list_with_limit):
48082        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
48083        (_WebKitBackForwardListItemPrivate):
48084        (webkitBackForwardListItemFinalized):
48085        (webkitBackForwardListItemGetOrCreate):
48086        (webkitBackForwardListItemGetItem):
48087        (webkit_back_forward_list_item_get_uri):
48088        (webkit_back_forward_list_item_get_title):
48089        (webkit_back_forward_list_item_get_original_uri):
48090        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
48091        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
48092        (didChangeBackForwardList):
48093        * UIProcess/API/gtk/WebKitWebView.cpp:
48094        (webkitWebViewConstructed):
48095        (webkit_web_view_go_to_back_forward_list_item):
48096
480972012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48098
48099        [GTK] Don't use the C API internally in WebKitURISchemeRequest
48100        https://bugs.webkit.org/show_bug.cgi?id=96787
48101
48102        Reviewed by Gustavo Noronha Silva.
48103
48104        Using the C++ classes directly instead of the C API wrappers we
48105        avoid a lot of toImpl/toAPI casts, string conversions and
48106        allocations. The code is also a lot simpler and easier to read.
48107
48108        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
48109        (didReceiveURIRequest):
48110        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
48111        (_WebKitURISchemeRequestPrivate):
48112        (webkitURISchemeRequestCreate):
48113        (webkit_uri_scheme_request_get_web_view):
48114        (webkitURISchemeRequestReadCallback):
48115        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
48116
481172012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
48118
48119        [EFL][WK2] Make sure the favicon database path is set only once
48120        https://bugs.webkit.org/show_bug.cgi?id=99597
48121
48122        Reviewed by Kenneth Rohde Christiansen.
48123
48124        Make sure the icon database path is set only once by checking
48125        that the database is not already open before settign the path.
48126        This avoids printing error message on stderr.
48127
48128        * UIProcess/API/efl/ewk_context.cpp:
48129        (ewk_context_favicon_database_get):
48130
481312012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48132
48133        [GTK] Don't use the C API internally in WebKitWebInspector
48134        https://bugs.webkit.org/show_bug.cgi?id=96786
48135
48136        Reviewed by Gustavo Noronha Silva.
48137
48138        Using the C++ classes directly instead of the C API wrappers we
48139        avoid a lot of toImpl/toAPI casts, string conversions and
48140        allocations. The code is also a lot simpler and easier to read.
48141
48142        * UIProcess/API/gtk/WebKitWebInspector.cpp:
48143        (_WebKitWebInspectorPrivate):
48144        (webkitWebInspectorFinalize):
48145        (webkitWebInspectorCreate):
48146        (webkit_web_inspector_get_web_view):
48147        (webkit_web_inspector_is_attached):
48148        (webkit_web_inspector_attach):
48149        (webkit_web_inspector_detach):
48150        (webkit_web_inspector_show):
48151        (webkit_web_inspector_close):
48152        (webkit_web_inspector_get_attached_height):
48153        * UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
48154        * UIProcess/API/gtk/WebKitWebView.cpp:
48155        (webkit_web_view_get_inspector):
48156
481572012-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
48158
48159        [GTK] Don't use the C API internally in WebKitGeolocation classes
48160        https://bugs.webkit.org/show_bug.cgi?id=96778
48161
48162        Reviewed by Gustavo Noronha Silva.
48163
48164        Using the C++ classes directly instead of the C API wrappers we
48165        avoid a lot of toImpl/toAPI casts, string conversions and
48166        allocations. The code is also a lot simpler and easier to read.
48167
48168        * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
48169        (_WebKitGeolocationPermissionRequestPrivate):
48170        (webkitGeolocationPermissionRequestAllow):
48171        (webkitGeolocationPermissionRequestDeny):
48172        (webkitGeolocationPermissionRequestFinalize):
48173        (webkitGeolocationPermissionRequestCreate):
48174        * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
48175        * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
48176        (WebKitGeolocationProvider::create):
48177        (WebKitGeolocationProvider::WebKitGeolocationProvider):
48178        (WebKitGeolocationProvider::notifyPositionChanged):
48179        (WebKitGeolocationProvider::notifyErrorOccurred):
48180        * UIProcess/API/gtk/WebKitGeolocationProvider.h:
48181        (WebKitGeolocationProvider):
48182        * UIProcess/API/gtk/WebKitUIClient.cpp:
48183        (decidePolicyForGeolocationPermissionRequest):
48184        * UIProcess/API/gtk/WebKitWebContext.cpp:
48185        (createDefaultWebContext):
48186
481872012-10-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
48188
48189        [WK2][EFL] Add unit tests for Spelling
48190        https://bugs.webkit.org/show_bug.cgi?id=95956
48191
48192        Reviewed by Gyuyoung Kim.
48193
48194        Add the unit tests which covers API from ewk_text_checker.h
48195        and text checker settings from ewk_settings.h
48196
48197        * PlatformEfl.cmake:
48198        * UIProcess/API/efl/tests/resources/spelling_test.html: Added.
48199        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: Added.
48200        (resetCallbacksExecutionStats):
48201        (onTimeout):
48202        (onSettingChange):
48203        (onSpellDocumentTag):
48204        (onSpellDocumentTagClose):
48205        (onSpellingCheck):
48206        (onWordGuesses):
48207        (onWordLearn):
48208        (onWordIgnore):
48209        (TEST_F):
48210
482112012-10-17  Mario Sanchez Prada  <msanchez@igalia.com>
48212
48213        [WK2][GTK] Favicons are incorrectly released before receiving the actual data
48214        https://bugs.webkit.org/show_bug.cgi?id=99492
48215
48216        Reviewed by Carlos Garcia Campos.
48217
48218        Don't release the icon for a page URL in the first stage of the
48219        asynchronous call webkit_favicon_database_get_favicon() but do it
48220        later instead, to avoid a race condition with the initial
48221        synchronization process the first time we request an icon which is
48222        actually in the icon database, but has not made available yet.
48223
48224        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
48225        (GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData): Release
48226        here the icon for the page URL if not a valid icon has been found.
48227        (GetFaviconSurfaceAsyncData): Add a new boolean parameter to flag
48228        when a given icon for a page URL should be released.
48229        (getIconSurfaceSynchronously): Don't release the icon, just return 0.
48230        (processPendingIconsForPageURL): If a valid icon is got at this
48231        point, disable the flag shouldReleaseIconForPageURL not to release
48232        the icon later on.
48233        (webkit_favicon_database_get_favicon): Make sure we retain the
48234        icon for a given page URL before trying to retrieve it from the
48235        IconDatabase, and that we flag it to be released in case not a
48236        valid icon has been found yet.
48237
482382012-10-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com>
48239
48240        Implementation of spellchecking feature.
48241        https://bugs.webkit.org/show_bug.cgi?id=91854
48242
48243        Reviewed by Gyuyoung Kim.
48244
48245        Add spelling implementation for WebKit2-EFL that is based on Enchant library.
48246
48247        Additionally the patch provides API to overwrite the default WebKit
48248        spellchecker implementation as Enchant library doesn't ensure grammar checking.
48249        Application is able to overwrite it by defining its own implementation and
48250        setting appropriate callback functions.
48251
48252        * PlatformEfl.cmake:
48253        Add enchant-related compiler flags: header paths and the library flag.
48254
48255        * UIProcess/API/efl/EWebKit2.h:
48256        Add ewk_text_checker.h to the main WebKit2-EFL's header to be available for applications.
48257
48258        * UIProcess/API/efl/WebKitTextChecker.cpp: Added.
48259        Implement the callbacks functions of WKTextChecker.
48260
48261        (WebKit):
48262        (WebKit::isContinuousSpellCheckingEnabled):
48263        (WebKit::setContinuousSpellCheckingEnabled):
48264        (WebKit::uniqueSpellDocumentTag):
48265        (WebKit::closeSpellDocumentWithTag):
48266        (WebKit::checkSpellingOfString):
48267        (WebKit::guessesForWord):
48268        (WebKit::learnWord):
48269        (WebKit::ignoreWord):
48270        Those functions are directly given as callback functions for WKTextChecker's client.
48271        They choose between WebKit's spelling implementation and client's ones.
48272
48273        (WebKit::availableSpellCheckingLanguages):
48274        (WebKit::updateSpellCheckingLanguages):
48275        (WebKit::loadedSpellCheckingLanguages):
48276        They are used by ewk_settings.cpp file and allow to do not
48277        expose 'textCheckerEnchant'.
48278
48279        * UIProcess/API/efl/WebKitTextChecker.h: Added.
48280        Define the functions which choose between WebKit's spelling implementation and
48281        the client's ones.
48282
48283        (WebKit):
48284        * UIProcess/API/efl/ewk_context.cpp:
48285        (_Ewk_Context::_Ewk_Context):
48286        Attach the spellchecker feature for the context.
48287
48288        * UIProcess/API/efl/ewk_text_checker.cpp: Added.
48289        (ewk_text_checker_callbacks_get):
48290        An internal function to get the client's callback functions.
48291
48292        * UIProcess/API/efl/ewk_text_checker.h: Added.
48293        Define API to set the client's own spelling implementation.
48294
48295        * UIProcess/API/efl/ewk_text_checker_private.h: Added.
48296        (_Ewk_Text_Checker):
48297        Define the struct with the client's callbacks responisble for spelling.
48298
48299        * UIProcess/API/efl/ewk_settings.cpp:
48300        (onContinuousSpellCheckingIdler):
48301        The application is notified about the spelling setting change on idler
48302        to do not block WebKit.
48303        The the continuous spell checking may be changed through the context menu option.
48304
48305        (spellCheckingLanguagesSetUpdate):
48306        The dictionaries are requested on 'idler' to do not block WebKit.
48307
48308        (spellCheckingLanguagesSet):
48309        Set the languages.
48310
48311        (ewk_settings_continuous_spell_checking_change_cb_set):
48312        Set the callback function used to notify the client when the spelling
48313        setting was changed by WebKit.
48314
48315        (ewk_settings_continuous_spell_checking_enabled_get):
48316        (ewk_settings_continuous_spell_checking_enabled_set):
48317        API to set/get the continuous spell checking.
48318
48319        (ewk_settings_spell_checking_available_languages_get):
48320        (ewk_settings_spell_checking_languages_set):
48321        (ewk_settings_spell_checking_languages_get):
48322        API to get/set languages to use by WebKit implementation based on Enchant library.
48323
48324        * UIProcess/efl/TextCheckerEfl.cpp:
48325        (WebKit::TextChecker::state):
48326        (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
48327        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
48328        (WebKit::TextChecker::setGrammarCheckingEnabled):
48329        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
48330        (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
48331        (WebKit::TextChecker::uniqueSpellDocumentTag):
48332        (WebKit::TextChecker::closeSpellDocumentWithTag):
48333        (WebKit::TextChecker::checkSpellingOfString):
48334        (WebKit::TextChecker::checkGrammarOfString): Remove WebCore namaspace as it's already defined for the whole file.
48335        (WebKit::TextChecker::spellingUIIsShowing):
48336        (WebKit::TextChecker::toggleSpellingUIIsShowing):
48337        (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
48338        (WebKit::TextChecker::updateSpellingUIWithGrammarString):
48339        (WebKit::TextChecker::getGuessesForWord):
48340        (WebKit::TextChecker::learnWord):
48341        (WebKit::TextChecker::ignoreWord):
48342        Those call WKTextChecker client's methods.
48343
483442012-10-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
48345
48346        [EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
48347        https://bugs.webkit.org/show_bug.cgi?id=99549
48348
48349        Reviewed by Kenneth Rohde Christiansen.
48350
48351        Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
48352        removed weird _Ewk_Url_Scheme_Request.
48353
48354        * UIProcess/API/efl/ewk_context_private.h:
48355        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
48356        (didReceiveURIRequest):
48357        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
48358        (ewk_url_scheme_request_ref):
48359        (ewk_url_scheme_request_unref):
48360        * UIProcess/API/efl/ewk_url_scheme_request.h:
48361        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
48362        (Ewk_Url_Scheme_Request):
48363        (Ewk_Url_Scheme_Request::create):
48364        (Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
48365
483662012-10-17  Mario Sanchez Prada  <msanchez@igalia.com>
48367
48368        [WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
48369        https://bugs.webkit.org/show_bug.cgi?id=99564
48370
48371        Reviewed by Carlos Garcia Campos.
48372
48373        Removed field 'error' from GetFaviconSurfaceAsyncData and updated
48374        the code accordingly, by using g_simple_async_result_take_error().
48375
48376        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
48377        (GetFaviconSurfaceAsyncData): Removed unneeded field.
48378        (processPendingIconsForPageURL): Avoid using g_propagate_error and
48379        use g_simple_async_result_take_error directly instead.
48380        (webkit_favicon_database_get_favicon_finish): Remove unneeded code.
48381
483822012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
48383
48384        [EFL][WK2] Start using OwnPtr for non-ref counted ewk types
48385        https://bugs.webkit.org/show_bug.cgi?id=99472
48386
48387        Reviewed by Kenneth Rohde Christiansen.
48388
48389        Use OwnPtr internally for non-ref counted Ewk types to avoid
48390        manual memory handling.
48391
48392        Private _new() and _free() functions are removed since they
48393        are not needed now that the classes are defined in the
48394        private headers instead of the cpp files. The constructor
48395        for those classes was made private and factory methods were
48396        added to encourage developers to use smart pointers instead
48397        of raw ones.
48398
48399        * UIProcess/API/efl/ewk_back_forward_list.cpp:
48400        (ewk_back_forward_list_changed):
48401        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
48402        * UIProcess/API/efl/ewk_back_forward_list_private.h:
48403        (_Ewk_Back_Forward_List):
48404        (_Ewk_Back_Forward_List::create):
48405        (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
48406        * UIProcess/API/efl/ewk_context.cpp:
48407        (_Ewk_Context):
48408        (_Ewk_Context::_Ewk_Context):
48409        (ewk_context_cookie_manager_get):
48410        (ewk_context_favicon_database_get):
48411        * UIProcess/API/efl/ewk_context_download_client.cpp:
48412        (didFail):
48413        * UIProcess/API/efl/ewk_cookie_manager.cpp:
48414        (_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
48415        (_Ewk_Cookie_Manager::~_Ewk_Cookie_Manager):
48416        (getAcceptPolicyCallback):
48417        (getHostnamesWithCookiesCallback):
48418        (ewk_cookie_manager_changes_watch):
48419        * UIProcess/API/efl/ewk_cookie_manager_private.h:
48420        (Cookie_Change_Handler):
48421        (Cookie_Change_Handler::Cookie_Change_Handler):
48422        (_Ewk_Cookie_Manager):
48423        (_Ewk_Cookie_Manager::create):
48424        * UIProcess/API/efl/ewk_error.cpp:
48425        (_Ewk_Error::_Ewk_Error):
48426        (ewk_error_cancellation_get):
48427        * UIProcess/API/efl/ewk_error_private.h:
48428        (_Ewk_Error):
48429        (_Ewk_Error::create):
48430        * UIProcess/API/efl/ewk_favicon_database.cpp:
48431        (_Ewk_Favicon_Database::_Ewk_Favicon_Database):
48432        * UIProcess/API/efl/ewk_favicon_database_private.h:
48433        (IconChangeCallbackData):
48434        (IconChangeCallbackData::IconChangeCallbackData):
48435        (IconRequestCallbackData):
48436        (IconRequestCallbackData::IconRequestCallbackData):
48437        (_Ewk_Favicon_Database):
48438        (_Ewk_Favicon_Database::create):
48439        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
48440        (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
48441        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
48442        (_Ewk_Popup_Menu_Item):
48443        (_Ewk_Popup_Menu_Item::create):
48444        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
48445        (_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
48446        * UIProcess/API/efl/ewk_view.cpp:
48447        (_Ewk_View_Private_Data):
48448        (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
48449        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
48450        (_ewk_view_initialize):
48451        (ewk_view_back_forward_list_get):
48452        (ewk_view_popup_menu_request):
48453        (ewk_view_popup_menu_close):
48454        * UIProcess/API/efl/ewk_view_loader_client.cpp:
48455        (didFailLoadWithErrorForFrame):
48456        (didFailProvisionalLoadWithErrorForFrame):
48457        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
48458        (didFailLoadForResource):
48459
484602012-10-17  Christophe Dumez  <christophe.dumez@intel.com>
48461
48462        [EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
48463        https://bugs.webkit.org/show_bug.cgi?id=99542
48464
48465        Reviewed by Kenneth Rohde Christiansen.
48466
48467        Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
48468        to avoid handling raw pointers internally.
48469
48470        * UIProcess/API/efl/ewk_form_submission_request.cpp:
48471        (ewk_form_submission_request_ref):
48472        (ewk_form_submission_request_unref):
48473        (ewk_form_submission_request_submit):
48474        * UIProcess/API/efl/ewk_form_submission_request_private.h:
48475        (_Ewk_Form_Submission_Request):
48476        (_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
48477        (_Ewk_Form_Submission_Request::create):
48478        (_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):
48479        * UIProcess/API/efl/ewk_resource.cpp:
48480        (ewk_resource_ref):
48481        (ewk_resource_unref):
48482        * UIProcess/API/efl/ewk_resource_private.h:
48483        (_Ewk_Resource):
48484        (_Ewk_Resource::create):
48485        (_Ewk_Resource::_Ewk_Resource):
48486        * UIProcess/API/efl/ewk_view.cpp:
48487        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
48488        (ewk_view_resource_load_initiated):
48489        (ewk_view_resource_load_response):
48490        (ewk_view_resource_load_failed):
48491        (ewk_view_resource_load_finished):
48492        (ewk_view_resource_request_sent):
48493        (ewk_view_load_provisional_started):
48494        * UIProcess/API/efl/ewk_view_form_client.cpp:
48495        (willSubmitForm):
48496        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
48497        (didInitiateLoadForResource):
48498
484992012-10-16  Dongwoo Joshua Im  <dw.im@samsung.com>
48500
48501        [mac] Fix build break - processPath should be initialized.
48502        https://bugs.webkit.org/show_bug.cgi?id=99541
48503
48504        Unreviewed build fix.
48505
48506        Initialize processPath as nil.
48507
48508        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
48509        (WebKit::createProcess):
48510
485112012-10-16  Christophe Dumez  <christophe.dumez@intel.com>
48512
48513        [EFL][WK2] Add factory methods for refcounted Ewk types
48514        https://bugs.webkit.org/show_bug.cgi?id=99479
48515
48516        Reviewed by Gyuyoung Kim.
48517
48518        Add factory methods to refcounted Ewk types that return
48519        a PassRefPtr for refcounted Ewk types. Their constructors
48520        were made privates as well, in order to promote the use
48521        of smart pointers internally.
48522
48523        Remove _new() functions for refcounted Ewk types as they
48524        are no longer needed now that the classes are defined
48525        in the private headers instead of the cpp files.
48526
48527        * UIProcess/API/efl/PageClientImpl.cpp:
48528        (WebKit::PageClientImpl::handleDownloadRequest):
48529        * UIProcess/API/efl/ewk_back_forward_list.cpp:
48530        (addItemToWrapperCache):
48531        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
48532        (ewk_back_forward_list_item_original_url_get):
48533        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
48534        (_Ewk_Back_Forward_List_Item):
48535        (_Ewk_Back_Forward_List_Item::create):
48536        (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
48537        * UIProcess/API/efl/ewk_context_download_client.cpp:
48538        (didReceiveResponse):
48539        * UIProcess/API/efl/ewk_context_history_client.cpp:
48540        (didNavigateWithNavigationData):
48541        * UIProcess/API/efl/ewk_download_job.cpp:
48542        (ewk_download_job_request_get):
48543        (ewk_download_job_state_set):
48544        * UIProcess/API/efl/ewk_download_job_private.h:
48545        (_Ewk_Download_Job):
48546        (_Ewk_Download_Job::create):
48547        (_Ewk_Download_Job::_Ewk_Download_Job):
48548        * UIProcess/API/efl/ewk_intent.cpp:
48549        (ewk_intent_extra_names_get):
48550        * UIProcess/API/efl/ewk_intent_private.h:
48551        (_Ewk_Intent):
48552        (_Ewk_Intent::create):
48553        (_Ewk_Intent::_Ewk_Intent):
48554        * UIProcess/API/efl/ewk_intent_service.cpp:
48555        (ewk_intent_service_disposition_get):
48556        * UIProcess/API/efl/ewk_intent_service_private.h:
48557        (_Ewk_Intent_Service):
48558        (_Ewk_Intent_Service::create):
48559        (_Ewk_Intent_Service::_Ewk_Intent_Service):
48560        * UIProcess/API/efl/ewk_navigation_data.cpp:
48561        (ewk_navigation_data_url_get):
48562        * UIProcess/API/efl/ewk_navigation_data_private.h:
48563        (_Ewk_Navigation_Data):
48564        (_Ewk_Navigation_Data::create):
48565        (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
48566        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
48567        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
48568        (_Ewk_Navigation_Policy_Decision):
48569        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
48570        (_Ewk_Navigation_Policy_Decision::create):
48571        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
48572        * UIProcess/API/efl/ewk_url_request.cpp:
48573        (ewk_url_request_http_method_get):
48574        * UIProcess/API/efl/ewk_url_request_private.h:
48575        (_Ewk_Url_Request):
48576        (_Ewk_Url_Request::create):
48577        (_Ewk_Url_Request::_Ewk_Url_Request):
48578        * UIProcess/API/efl/ewk_url_response.cpp:
48579        (ewk_url_response_content_length_get):
48580        * UIProcess/API/efl/ewk_url_response_private.h:
48581        (_Ewk_Url_Response):
48582        (_Ewk_Url_Response::create):
48583        (_Ewk_Url_Response::_Ewk_Url_Response):
48584        * UIProcess/API/efl/ewk_view.cpp:
48585        (ewk_view_intent_deliver):
48586        * UIProcess/API/efl/ewk_view_loader_client.cpp:
48587        (didReceiveIntentForFrame):
48588        (registerIntentServiceForFrame):
48589        * UIProcess/API/efl/ewk_view_policy_client.cpp:
48590        (decidePolicyForNavigationAction):
48591        (decidePolicyForNewWindowAction):
48592        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
48593        (didInitiateLoadForResource):
48594        (didSendRequestForResource):
48595        (didReceiveResponseForResource):
48596
485972012-10-16  Alexey Proskuryakov  <ap@apple.com>
48598
48599        <rdar://problem/12462993> Use a sensible fallback for cache directory
48600
48601        Reviewed by Sam Weinig.
48602
48603        * UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): Cache directory
48604        should be created if it doesn't exist yet, so use createHandleForReadWriteDirectory.
48605
48606        * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48607        We don't want caches in home directory, they should go to ~/Library/Caches.
48608
486092012-10-16  Andy Estes  <aestes@apple.com>
48610
48611        [WebKit2] Create Objective-C API for adding and removing user scripts
48612        https://bugs.webkit.org/show_bug.cgi?id=99528
48613
48614        Reviewed by Anders Carlsson.
48615
48616        This patch adds the following API to WKBrowsingContextGroup:
48617
48618        - (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
48619        - (void)removeAllUserScripts;
48620
48621        * UIProcess/API/C/WKPageGroup.cpp:
48622        (WKPageGroupAddUserScript): Define a C SPI equivalent of addUserScript: that calls existing methods in WebPageGroup.
48623        (WKPageGroupRemoveAllUserScripts): Ditto for removeAllUserScripts.
48624        * UIProcess/API/C/WKPageGroup.h: Declare the above-mentioned functions.
48625        * UIProcess/API/mac/WKBrowsingContextGroup.h: Declare the Objective-C API
48626        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
48627        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelist:blacklist:injectionTime:mainFrameOnly:]): Call WKPageGroupAddUserScript.
48628        (-[WKBrowsingContextGroup removeAllUserScripts]): Call WKPageGroupRemoveAllUserScripts.
48629        * WebProcess/WebPage/WebPageGroupProxy.cpp:
48630        (WebKit::WebPageGroupProxy::removeAllUserScripts): This was calling PageGroup::removeUserStyleSheetsFromWorld() by mistake.
48631
486322012-10-16  Yael Aharon  <yael.aharon@intel.com>
48633
48634        [EFL][WK2][AC] Url bar should not be covered by the web view
48635        https://bugs.webkit.org/show_bug.cgi?id=99485
48636
48637        Reviewed by Laszlo Gombos.
48638
48639        When accelerated compositing is enabled, the url bar is covered by the web view.
48640        This was caused by 2 issues:
48641        - _ewk_view_smart_calculate was called before the first gl surface was created,
48642          so an early return caused it to not save the new view position.
48643        - When painting the view, we need to take into account the position of
48644          the view within the window, i.e. the url bar.
48645
48646        * UIProcess/API/efl/EflViewportHandler.cpp:
48647        (WebKit::EflViewportHandler::display):
48648        * UIProcess/API/efl/EflViewportHandler.h:
48649        (EflViewportHandler):
48650        * UIProcess/API/efl/ewk_view.cpp:
48651        (_ewk_view_smart_calculate):
48652        (ewk_view_display):
48653
486542012-10-16  Jian Li  <jianli@chromium.org>
48655
48656        Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
48657        https://bugs.webkit.org/show_bug.cgi?id=98975
48658
48659        Reviewed by Adam Barth.
48660
48661        Renaming is needed to better match with the draggable region code.
48662
48663        * Configurations/FeatureDefines.xcconfig:
48664
486652012-10-16  Tony Chang  <tony@chromium.org>
48666
48667        Unreviewed, revert previous WebKit2.def change. Exports shouldn't matter.
48668
48669        * win/WebKit2.def:
48670
486712012-10-16  Tony Chang  <tony@chromium.org>
48672
48673        Unreviewed, try to fix the Apple Win build.
48674
48675        * win/WebKit2.def:
48676
486772012-10-16  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
48678
48679        Implement testRunner.dumpSelectionRect() in WebKitTestRunner
48680        https://bugs.webkit.org/show_bug.cgi?id=69545
48681
48682        Reviewed by Simon Fraser.
48683
48684        * Shared/API/c/WKImage.h: Add another option that controls whether
48685        the selection rectangle should be painted onto the snapshot.
48686        * Shared/API/c/WKSharedAPICast.h:
48687        (WebKit::toSnapshotOptions): Add a case for the new option
48688        mentioned above.
48689        * Shared/ImageOptions.h: More plumbing for the option above.
48690        * WebProcess/WebPage/WebPage.cpp:
48691        (WebKit::WebPage::scaledSnapshotWithOptions): Draw a red rectangle
48692        around the selection area when
48693        SnapshotOptionsPaintSelectionRectangle is set.
48694
486952012-10-16  Christophe Dumez  <christophe.dumez@intel.com>
48696
48697        [EFL][WK2] Have intent classes subclass RefCounted
48698        https://bugs.webkit.org/show_bug.cgi?id=99467
48699
48700        Reviewed by Kenneth Rohde Christiansen.
48701
48702        Make Ewk_Intent and Ewk_Intent_Service subclass
48703        RefCounted so that we can use smart pointers
48704        internally.
48705
48706        * UIProcess/API/efl/ewk_intent.cpp:
48707        (ewk_intent_ref):
48708        (ewk_intent_unref):
48709        * UIProcess/API/efl/ewk_intent_private.h:
48710        (_Ewk_Intent):
48711        (_Ewk_Intent::_Ewk_Intent):
48712        * UIProcess/API/efl/ewk_intent_service.cpp:
48713        (ewk_intent_service_ref):
48714        (ewk_intent_service_unref):
48715        * UIProcess/API/efl/ewk_intent_service_private.h:
48716        (_Ewk_Intent_Service):
48717        (_Ewk_Intent_Service::_Ewk_Intent_Service):
48718        * UIProcess/API/efl/ewk_view_loader_client.cpp:
48719        (didReceiveIntentForFrame):
48720        (registerIntentServiceForFrame):
48721
487222012-10-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
48723
48724        [EFL][WK2] Inherit Ewk_Download_Job, Ewk_Back_Forward_List_Item, Ewk_Url_Response, Ewk_Navigation_Policy_Decision from RefCounted
48725        https://bugs.webkit.org/show_bug.cgi?id=99455
48726
48727        Reviewed by Kenneth Rohde Christiansen.
48728
48729        The API objects mentioned in bug title are inherited from WTF::RefCounted which made it possible
48730        to use smart pointers with them.
48731
48732        * UIProcess/API/efl/PageClientImpl.cpp:
48733        (WebKit::PageClientImpl::handleDownloadRequest):
48734        * UIProcess/API/efl/ewk_back_forward_list.cpp:
48735        (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
48736        (addItemToWrapperCache):
48737        (ewk_back_forward_list_changed):
48738        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
48739        (ewk_back_forward_list_item_ref):
48740        (ewk_back_forward_list_item_unref):
48741        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
48742        (_Ewk_Back_Forward_List_Item):
48743        (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
48744        * UIProcess/API/efl/ewk_context.cpp:
48745        (_Ewk_Context):
48746        (_Ewk_Context::~_Ewk_Context):
48747        (ewk_context_download_job_add):
48748        (ewk_context_download_job_get):
48749        (ewk_context_download_job_remove):
48750        * UIProcess/API/efl/ewk_context_download_client.cpp:
48751        (didReceiveResponse):
48752        * UIProcess/API/efl/ewk_download_job.cpp:
48753        (ewk_download_job_ref):
48754        (ewk_download_job_unref):
48755        (ewk_download_job_response_get):
48756        (ewk_download_job_estimated_progress_get):
48757        * UIProcess/API/efl/ewk_download_job_private.h:
48758        (_Ewk_Download_Job):
48759        (_Ewk_Download_Job::_Ewk_Download_Job):
48760        * UIProcess/API/efl/ewk_navigation_data_private.h:
48761        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
48762        (ewk_navigation_policy_decision_ref):
48763        (ewk_navigation_policy_decision_unref):
48764        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
48765        (_Ewk_Navigation_Policy_Decision):
48766        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
48767        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
48768        * UIProcess/API/efl/ewk_url_response.cpp:
48769        (ewk_url_response_ref):
48770        (ewk_url_response_unref):
48771        * UIProcess/API/efl/ewk_url_response_private.h:
48772        (_Ewk_Url_Response):
48773        (_Ewk_Url_Response::_Ewk_Url_Response):
48774        * UIProcess/API/efl/ewk_view_policy_client.cpp:
48775        (decidePolicyForNavigationAction):
48776        (decidePolicyForNewWindowAction):
48777        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
48778        (didSendRequestForResource):
48779        (didReceiveResponseForResource):
48780
487812012-10-16  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
48782
48783        [WK2][EFL] Crash in _ewk_view_on_favicon_changed()
48784        https://bugs.webkit.org/show_bug.cgi?id=99454
48785
48786        Reviewed by Kenneth Rohde Christiansen.
48787
48788        Added missing null check to avoid a crash if the current URL of
48789        view is NULL.
48790
48791        * UIProcess/API/efl/ewk_view.cpp:
48792        (_ewk_view_on_favicon_changed):
48793
487942012-10-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
48795
48796        [WK2] Provide WKURL API for resolving the relative URL with the given base URL
48797        https://bugs.webkit.org/show_bug.cgi?id=99317
48798
48799        Reviewed by Kenneth Rohde Christiansen.
48800
48801        Added new constructor function WKURLCreateWithBaseURL for WKURL which
48802        resolves the relative URL with the given base URL.
48803
48804        * Shared/API/c/WKURL.cpp:
48805        (WKURLCreateWithBaseURL):
48806        * Shared/API/c/WKURL.h:
48807        * Shared/WebURL.h:
48808        (WebKit::WebURL::create):
48809        (WebURL):
48810        (WebKit::WebURL::WebURL):
48811
488122012-10-16  Szilard Ledan  <szledan@inf.u-szeged.hu>
48813
48814        Separate WebKit2 instances use the same local storage
48815        https://bugs.webkit.org/show_bug.cgi?id=89666
48816
48817        Reviewed by Simon Hausmann.
48818
48819        For multi-threaded (parallel) testing, WTRs must not write into the same directory.
48820        To avoid that, results need to be stored in the location defined by DUMPRENDERTREE_TEMP
48821        environment variable that is created by NRWT. To do that, WebContext needed to be
48822        extended with diskCacheDirectory and cookieStorageDirectory APIs.
48823
48824        * Shared/WebProcessCreationParameters.cpp:
48825        (WebKit::WebProcessCreationParameters::encode):
48826        (WebKit::WebProcessCreationParameters::decode):
48827        * Shared/WebProcessCreationParameters.h:
48828        (WebProcessCreationParameters):
48829        * UIProcess/API/C/WKContext.cpp:
48830        (WKContextSetDiskCacheDirectory):
48831        (WKContextSetCookieStorageDirectory):
48832        * UIProcess/API/C/WKContextPrivate.h:
48833        * UIProcess/WebContext.cpp:
48834        (WebKit::WebContext::createNewWebProcess):
48835        (WebKit::WebContext::diskCacheDirectory):
48836        (WebKit):
48837        (WebKit::WebContext::cookieStorageDirectory):
48838        * UIProcess/WebContext.h:
48839        (WebKit::WebContext::setDiskCacheDirectory):
48840        (WebKit::WebContext::setCookieStorageDirectory):
48841        (WebContext):
48842        * UIProcess/efl/WebContextEfl.cpp:
48843        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48844        (WebKit):
48845        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
48846        * UIProcess/gtk/WebContextGtk.cpp:
48847        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48848        (WebKit):
48849        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
48850        * UIProcess/mac/WebContextMac.mm:
48851        (WebKit::WebContext::platformInitializeWebProcess):
48852        (WebKit):
48853        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48854        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
48855        * UIProcess/qt/WebContextQt.cpp:
48856        (WebKit):
48857        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48858        (WebKit::WebContext::applicationCacheDirectory):
48859        (WebKit::WebContext::platformInitializeWebProcess):
48860        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
48861        * UIProcess/win/WebContextWin.cpp:
48862        (WebKit::WebContext::platformInitializeWebProcess):
48863        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
48864        (WebKit):
48865        (WebKit::WebContext::platformDefaultCookieStorageDirectory):
48866        * WebProcess/mac/WebProcessMac.mm:
48867        (WebKit::WebProcess::platformInitializeWebProcess):
48868        * WebProcess/win/WebProcessWin.cpp:
48869        (WebKit::WebProcess::platformInitializeWebProcess):
48870
488712012-10-16  Jongseok Yang  <js45.yang@samsung.com>
48872
48873        [EFL][WK2] Fix Cache Model API tests
48874        https://bugs.webkit.org/show_bug.cgi?id=99427
48875
48876        Reviewed by Gyuyoung Kim.
48877
48878        Cache Model API tests caused "Segmentation fault" because the default value 
48879        for cache model was incorrect.
48880
48881        Fix the default value for cache model.
48882        Fix Cache Model API tests.
48883
48884        * UIProcess/API/efl/ewk_context.h:
48885        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
48886        (TEST_F):
48887
488882012-10-15  Christophe Dumez  <christophe.dumez@intel.com>
48889
48890        [EFL][WK2] Regression(r131337): Made 3 Cookie Manager API tests fail
48891        https://bugs.webkit.org/show_bug.cgi?id=99416
48892
48893        Reviewed by Gyuyoung Kim.
48894
48895        After r131337, the favicon database is enabled and it causes new
48896        requests to "/favicon.ico" on the http server. The http server used
48897        in the cookie manager test was too strict and was calling FAIL() for
48898        any unrecognized HTTP request (such as the one to /favicon.ico).
48899        This patch makes the http server in cookie manager API tests less
48900        strict.
48901
48902        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
48903        (serverCallback):
48904
489052012-10-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48906
48907        Unreviewed, rolling out r131349.
48908        http://trac.webkit.org/changeset/131349
48909        https://bugs.webkit.org/show_bug.cgi?id=97173
48910
48911        Revert r131349 because API test is broken by this commit.
48912
48913        * UIProcess/API/efl/ewk_main.cpp:
48914        (ewk_init):
48915        (ewk_shutdown):
48916        * WebProcess/efl/WebProcessMainEfl.cpp:
48917        (WebKit::WebProcessMainEfl):
48918
489192012-10-15  Jongseok Yang  <js45.yang@samsung.com>
48920
48921        [EFL][WK2] Add APIs for cache model
48922        https://bugs.webkit.org/show_bug.cgi?id=98889
48923
48924        Reviewed by Gyuyoung Kim.
48925
48926        Add ewk_context_cache_model_set(), ewk_context_cache_model_get().
48927
48928        The cache model means the level for the cache capacity.
48929        If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.
48930
48931        * UIProcess/API/efl/ewk_context.cpp:
48932        (ewk_context_cache_model_set):
48933        (ewk_context_cache_model_get):
48934        * UIProcess/API/efl/ewk_context.h:
48935        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
48936        (TEST_F):
48937
489382012-10-15  Byungwoo Lee  <bw80.lee@samsung.com>
48939
48940        Fix unused parameter build warning.
48941        https://bugs.webkit.org/show_bug.cgi?id=99400
48942
48943        Reviewed by Gyuyoung Kim.
48944
48945        Remove the name of unused parameters to fix the build warning (-Wunused-parameter).
48946
48947        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
48948        (CoreIPC::::encodePlatformData):
48949        (CoreIPC::::decodePlatformData):
48950        * UIProcess/WebProcessProxy.cpp:
48951        (WebKit::WebProcessProxy::getSharedWorkerProcessConnection):
48952        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
48953        (WebKit::NetscapePlugin::handleEditingCommand):
48954        (WebKit::NetscapePlugin::isEditingCommandEnabled):
48955
489562012-10-15  Dan Bernstein  <mitz@apple.com>
48957
48958        WebKit2 part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
48959        https://bugs.webkit.org/show_bug.cgi?id=99113
48960
48961        Reviewed by Tim Horton.
48962
48963        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
48964        (InitWebCoreSystemInterface): Added wkCTFontTransformGlyphs.
48965
489662012-10-15  Christophe Dumez  <christophe.dumez@intel.com>
48967
48968        [WK2][CAIRO] Use cairo_format_stride_for_width() in ShareableBitmap
48969        https://bugs.webkit.org/show_bug.cgi?id=99332
48970
48971        Reviewed by Martin Robinson.
48972
48973        Cairo implementation of ShareableBitmap is calling
48974        cairo_image_surface_create_for_data() to create an image surface for
48975        the provided pixel data. However, it was passing "m_size.width() * 4"
48976        for the stride argument instead of calling
48977        cairo_format_stride_for_width().
48978
48979        The Cairo documentation states:
48980        "Note that the stride may be larger than width*bytes_per_pixel to
48981        provide proper alignment for each pixel and row. This alignment is
48982        required to allow high-performance rendering within cairo. The correct
48983        way to obtain a legal stride value is to call
48984        cairo_format_stride_for_width() with the desired format and maximum
48985        image width value, and then use the resulting stride value to allocate
48986        the data and to create the image surface."
48987
48988        This patch calls cairo_format_stride_for_width() is ShareableBitmap
48989        in order to obtain a legal stride value to make sure we provide proper
48990        alignment for each pixel and row, and allow high-performance rendering
48991        within cairo.
48992
48993        * Shared/ShareableBitmap.h:
48994        (ShareableBitmap):
48995        * Shared/cairo/ShareableBitmapCairo.cpp:
48996        (WebKit):
48997        (WebKit::ShareableBitmap::numBytesForSize):
48998        (WebKit::createSurfaceFromData):
48999        (WebKit::ShareableBitmap::paint):
49000        (WebKit::ShareableBitmap::createCairoSurface):
49001
490022012-10-15  Eunmi Lee  <eunmi15.lee@samsung.com>
49003
49004        [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
49005        https://bugs.webkit.org/show_bug.cgi?id=97173
49006
49007        Reviewed by Gyuyoung Kim.
49008
49009        Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
49010        process and WebProcessMainEfl.cpp for web process.
49011
49012        * UIProcess/API/efl/ewk_main.cpp:
49013        (ewk_init):
49014        (ewk_shutdown):
49015        * WebProcess/efl/WebProcessMainEfl.cpp:
49016        (WebKit::WebProcessMainEfl):
49017
490182012-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>
49019
49020        [EFL][WK2] Provide implementation for PageClientImpl::toolTipChanged()
49021        https://bugs.webkit.org/show_bug.cgi?id=98589
49022
49023        Reviewed by Kenneth Rohde Christiansen.
49024
49025        Implement PageClientImpl::toolTipChanged() to emit signal 'tooltip,text,set' with a tooltip text,
49026        or 'tooltip,text,unset' if tooltip was unset.
49027
49028        * UIProcess/API/efl/PageClientImpl.cpp:
49029        (WebKit::PageClientImpl::toolTipChanged):
49030        * UIProcess/API/efl/ewk_view.cpp:
49031        (ewk_view_tooltip_text_set):
49032        * UIProcess/API/efl/ewk_view.h:
49033        * UIProcess/API/efl/ewk_view_private.h:
49034
490352012-10-15  Roger Fong  <roger_fong@apple.com>
49036
49037        Unreviewed. Partial build fix for Windows after r131308.
49038
49039        * WebKit2Prefix.h:
49040        * WebProcess/WebKitMain.cpp:
49041        (WebKitMain):
49042
490432012-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
49044
49045        Unreviewed, rolling out r131306 and r131307.
49046        http://trac.webkit.org/changeset/131306
49047        http://trac.webkit.org/changeset/131307
49048        https://bugs.webkit.org/show_bug.cgi?id=99354
49049
49050        It made layout testing extremely slow again (Requested by
49051        Ossy_night on #webkit).
49052
49053        * Shared/API/c/qt/WKImageQt.cpp:
49054        (WKImageCreateQImage):
49055        * Shared/API/c/qt/WKImageQt.h:
49056
490572012-10-15  Christophe Dumez  <christophe.dumez@intel.com>
49058
49059        [EFL][WK2] Implement Favicons API
49060        https://bugs.webkit.org/show_bug.cgi?id=99087
49061
49062        Reviewed by Kenneth Rohde Christiansen.
49063
49064        Add support for favicon API to EFL WK2 port via
49065        Ewk_Favicon_Database. The API can be used to
49066        retrieve the favicon URL and data for a given
49067        page URL.
49068
49069        * PlatformEfl.cmake:
49070        * UIProcess/API/efl/EWebKit2.h:
49071        * UIProcess/API/efl/ewk_context.cpp:
49072        (_Ewk_Context):
49073        (_Ewk_Context::_Ewk_Context):
49074        (_Ewk_Context::~_Ewk_Context):
49075        (ewk_context_favicon_database_get): Add getter to retrieve the favicon
49076        database instance from the context.
49077        * UIProcess/API/efl/ewk_context.h:
49078        * UIProcess/API/efl/ewk_favicon_database.cpp: Added.
49079        (IconChangeCallbackData):
49080        (IconChangeCallbackData::IconChangeCallbackData):
49081        (IconRequestCallbackData):
49082        (IconRequestCallbackData::IconRequestCallbackData):
49083        (_Ewk_Favicon_Database):
49084        (_Ewk_Favicon_Database::_Ewk_Favicon_Database):
49085        (didChangeIconForPageURL):
49086        (getIconSurfaceSynchronously):
49087        (iconDataReadyForPageURL):
49088        (ewk_favicon_database_new):
49089        (ewk_favicon_database_free):
49090        (ewk_favicon_database_icon_url_get):
49091        (AsyncIconRequestResponse):
49092        (AsyncIconRequestResponse::AsyncIconRequestResponse):
49093        (respond_icon_request_idle):
49094        (ewk_favicon_database_async_icon_get):
49095        (ewk_favicon_database_icon_change_callback_add):
49096        (ewk_favicon_database_icon_change_callback_del):
49097        * UIProcess/API/efl/ewk_favicon_database.h: Added.
49098        * UIProcess/API/efl/ewk_favicon_database_private.h: Copied from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
49099        * UIProcess/API/efl/ewk_view.cpp:
49100        (_Ewk_View_Private_Data):
49101        (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
49102        (_ewk_view_on_favicon_changed):
49103        (_ewk_view_initialize):
49104        (ewk_view_url_update):
49105        (ewk_view_icon_url_get): Add a getter to the view to retrieve the icon URL for
49106        the page that is currently shown.
49107        (ewk_view_update_icon):
49108        * UIProcess/API/efl/ewk_view.h: Emit a new "icon,changed" signal on the view whenever
49109        the view's icon has changed.
49110        * UIProcess/API/efl/ewk_view_private.h:
49111        * UIProcess/API/efl/tests/resources/blank.ico: Added.
49112        * UIProcess/API/efl/tests/test_ewk2_context.cpp: Add unit test for new favicon database getter.
49113        (TEST_F):
49114        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: Added unit tests for the new Ewk_Favicon_Database API.
49115        (serverCallback):
49116        (onIconChanged):
49117        (TEST_F):
49118        (onIconDataReady):
49119        (IconRequestData):
49120        (requestFaviconData):
49121        * UIProcess/efl/WebContextEfl.cpp:
49122        (WebKit::WebContext::platformDefaultIconDatabasePath): Return a valid default path for the icon database.
49123
491242012-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
49125
49126        [EFL] Share resources installed for inspector
49127        https://bugs.webkit.org/show_bug.cgi?id=98991
49128
49129        Reviewed by Gyuyoung Kim.
49130
49131        * PlatformEfl.cmake: Removed build script which install resources to share.
49132        * UIProcess/efl/WebInspectorProxyEfl.cpp:
49133        (WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
49134        (WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
49135
491362012-10-13  Alexey Proskuryakov  <ap@apple.com>
49137
49138        [WK2] Add SharedWorkerProcess
49139        https://bugs.webkit.org/show_bug.cgi?id=99218
49140
49141        Reviewed by Sam Weinig.
49142
49143        Not yet functional, just some boilerplate code.
49144
49145        * Configurations/SharedWorkerProcess.xcconfig: Added.
49146
49147        * DerivedSources.make: Generate message dispatch for SharedWorkerProcess and
49148        SharedWorkerProcessProxy.
49149
49150        * Platform/CoreIPC/MessageID.h: Added shared worker messages classes.
49151
49152        * Scripts/webkit2/messages.py: (struct_or_class):
49153        SharedWorkerProcessCreationParameters is a struct.
49154
49155        * Shared/SharedWorkerProcessCreationParameters.cpp: Added.
49156        * SharedWorkerProcess/Info.plist: Added.
49157        * SharedWorkerProcess/SharedWorkerProcess.cpp: Added.
49158        * SharedWorkerProcess/SharedWorkerProcess.h: Added.
49159        * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added.
49160        * SharedWorkerProcess/SharedWorkerProcessMain.h: Added.
49161        * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Added.
49162        * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Added.
49163        * SharedWorkerProcess/mac/com.apple.WebKit.SharedWorkerProcess.sb: Added.
49164        * UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp: Added.
49165        * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Added.
49166        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp: Added.
49167        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Added.
49168        * UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in: Added.
49169        * WebKit2.xcodeproj/project.pbxproj:
49170        Added SharedWorkerProcess boilerplate, modeled after PluginProcess.
49171
49172        * UIProcess/WebProcessProxy.cpp:
49173        * UIProcess/WebProcessProxy.h:
49174        * UIProcess/WebProcessProxy.messages.in:
49175        Added getSharedWorkerProcessConnection() message.
49176
49177        * WebProcess/WebKitMain.cpp: (WebKitMain):
49178        * UIProcess/Launcher/ProcessLauncher.cpp:
49179        (WebKit::ProcessLauncher::processTypeAsString):
49180        (WebKit::ProcessLauncher::getProcessTypeFromString):
49181        * UIProcess/Launcher/ProcessLauncher.h:
49182        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess):
49183        Added branches for SharedWorkerProcess.
49184
49185        * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a version
49186        for delayed reply messages with two arguments.
49187
491882012-10-15  Balazs Kelemen  <kbalazs@webkit.org>
49189
49190        [Qt][WTR] Do a forced repaint before generating pixel results
49191        https://bugs.webkit.org/show_bug.cgi?id=98654
49192
49193        Reviewed by Jocelyn Turcotte.
49194
49195        Added API to convert a QImage to a WKImage so we can
49196        pass it to cross-platform code.
49197
49198        * Shared/API/c/qt/WKImageQt.cpp:
49199        (WKImageCreateFromQImage):
49200        * Shared/API/c/qt/WKImageQt.h:
49201
492022012-10-15  Simon Hausmann  <simon.hausmann@digia.com>
49203
49204        [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
49205        https://bugs.webkit.org/show_bug.cgi?id=88162
49206
49207        Reviewed by Kenneth Rohde Christiansen.
49208
49209        Rename the QtWebKit module to QtWebKitWidgets.
49210
49211        * PluginProcess.pro:
49212        * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
49213        * UIProcess/API/qt/tests/publicapi/publicapi.pro:
49214        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
49215        * UIProcess/API/qt/tests/qmltests/WebView.pro:
49216        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
49217        * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
49218        * UIProcess/API/qt/tests/tests.pri:
49219        * WebProcess.pro:
49220
492212012-10-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
49222
49223        [EFL][WK2] Encapsulate ref counting for Ewk objects in a parent class
49224        https://bugs.webkit.org/show_bug.cgi?id=99174
49225
49226        Reviewed by Kenneth Rohde Christiansen.
49227
49228        Ewk objects can be inherited from RefCounted class, so that ref counting is encapsulated and RefPtr can be used.
49229        Applied the new approach for Ewk_Navigation_Data and Ewk_Url_Request objects as an example.
49230        The requirement of adoption can be satisfied as long as we keep dealing with smart pointers only. 
49231        In case external client provides an already referenced object as a raw pointer, relaxAdoptionRequirement() can be set
49232        explicitly in this specific place.
49233
49234        * UIProcess/API/efl/ewk_context_history_client.cpp:
49235        (didNavigateWithNavigationData):
49236        * UIProcess/API/efl/ewk_download_job.cpp:
49237        (_Ewk_Download_Job):
49238        (_Ewk_Download_Job::_Ewk_Download_Job):
49239        (_Ewk_Download_Job::~_Ewk_Download_Job):
49240        (ewk_download_job_request_get):
49241        * UIProcess/API/efl/ewk_navigation_data.cpp:
49242        (ewk_navigation_data_ref):
49243        (ewk_navigation_data_unref):
49244        (ewk_navigation_data_original_request_get):
49245        * UIProcess/API/efl/ewk_navigation_data_private.h:
49246        (_Ewk_Navigation_Data):
49247        (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
49248        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
49249        (_Ewk_Navigation_Policy_Decision):
49250        (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
49251        (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
49252        (ewk_navigation_policy_request_get):
49253        (ewk_navigation_policy_decision_new):
49254        * UIProcess/API/efl/ewk_url_request.cpp:
49255        (ewk_url_request_ref):
49256        (ewk_url_request_unref):
49257        * UIProcess/API/efl/ewk_url_request_private.h:
49258        (_Ewk_Url_Request):
49259        (_Ewk_Url_Request::_Ewk_Url_Request):
49260        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
49261        (didInitiateLoadForResource):
49262        (didSendRequestForResource):
49263
492642012-10-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
49265
49266        [Qt] Regression(r130031) coverRect is used in wrong coordinates.
49267        https://bugs.webkit.org/show_bug.cgi?id=97777
49268
49269        Reviewed by Jocelyn Turcotte.
49270
49271        Convert coverRect from screen coordinates to content coordinates before using it
49272        outside tiled-backing store.
49273
49274        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
49275        (WebCore::CoordinatedGraphicsLayer::coverRect):
49276
492772012-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>
49278
49279        Unreviewed. Fix make distcheck.
49280
49281        * GNUmakefile.am: Add .in files in WebKit2/Shared to EXTRA_DIST.
49282        * GNUmakefile.list.am: Remove deleted file.
49283
492842012-10-14  Anders Carlsson  <andersca@apple.com>
49285
49286        Fix the world.
49287
49288        Add back a forgotten !.
49289
49290        * WebProcess/WebPage/WebPage.cpp:
49291        (WebKit::WebPage::postInjectedBundleMessage):
49292
492932012-10-14  Sam Weinig  <sam@webkit.org>
49294
49295        Stop all the crashing!
49296
49297        The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
49298
49299        * UIProcess/WebConnectionToWebProcess.h:
49300        (WebKit::WebConnectionToWebProcess::webProcessProxy):
49301        * UIProcess/WebProcessProxy.cpp:
49302        (WebKit::WebProcessProxy::fromConnection):
49303
493042012-10-14  Anders Carlsson  <andersca@apple.com>
49305
49306        Re-land of "WebContext should be a MessageReceiver"
49307        https://bugs.webkit.org/show_bug.cgi?id=98958
49308
49309        Reviewed by Sam Weinig.
49310
49311        Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
49312        knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
49313
49314        * Platform/CoreIPC/Connection.h:
49315        (CoreIPC::Connection::client):
49316        (Connection):
49317        * Platform/CoreIPC/MessageReceiverMap.cpp:
49318        (CoreIPC::MessageReceiverMap::addMessageReceiver):
49319        (CoreIPC::MessageReceiverMap::invalidate):
49320        (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
49321        (CoreIPC::MessageReceiverMap::dispatchMessage):
49322        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
49323        * Platform/CoreIPC/MessageReceiverMap.h:
49324        (MessageReceiverMap):
49325        * UIProcess/WebContext.cpp:
49326        (WebKit::WebContext::WebContext):
49327        (WebKit::WebContext::~WebContext):
49328        (WebKit::WebContext::dispatchMessage):
49329        (WebKit::WebContext::dispatchSyncMessage):
49330        (WebKit::WebContext::didReceiveMessage):
49331        (WebKit::WebContext::didReceiveSyncMessage):
49332        * UIProcess/WebContext.h:
49333        (WebContext):
49334        * UIProcess/WebProcessProxy.cpp:
49335        (WebKit::WebProcessProxy::fromConnection):
49336        (WebKit):
49337        (WebKit::WebProcessProxy::didReceiveMessage):
49338        (WebKit::WebProcessProxy::didReceiveSyncMessage):
49339        * UIProcess/WebProcessProxy.h:
49340        (WebProcessProxy):
49341
493422012-10-14  Anders Carlsson  <andersca@apple.com>
49343
49344        WebPage::PostInjectedBundleMessage should be a variadic message
49345        https://bugs.webkit.org/show_bug.cgi?id=99277
49346
49347        Reviewed by Sam Weinig.
49348
49349        Don't use a data reference for messages posted to the injected bundle; they could contain data that requires attachments
49350        (such as shared memory).
49351
49352        * UIProcess/WebPageProxy.cpp:
49353        (WebKit::WebPageProxy::postMessageToInjectedBundle):
49354        * WebProcess/WebPage/WebPage.cpp:
49355        (WebKit::WebPage::postInjectedBundleMessage):
49356        * WebProcess/WebPage/WebPage.h:
49357        (WebPage):
49358        * WebProcess/WebPage/WebPage.messages.in:
49359
493602012-10-14  Sam Weinig  <sam@webkit.org>
49361
49362        Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly
49363        https://bugs.webkit.org/show_bug.cgi?id=99276
49364
49365        Reviewed by Anders Carlsson.
49366
49367        - Removes UserContentContainer in favor of Vector<UserStyleSheet> and Vector<UserScript> right on WebPageGroupData.
49368        - Adds support for UserScripts, but does not expose API for it just yet.
49369
49370        * CMakeLists.txt:
49371        * GNUmakefile.list.am:
49372        * Target.pri:
49373        * WebKit2.xcodeproj/project.pbxproj:
49374        * win/WebKit2.vcproj:
49375        * Shared/UserContentContainer.cpp: Removed.
49376        * Shared/UserContentContainer.h: Removed.
49377        Remove UserContentContainer.h/cpp.
49378
49379        * Shared/API/c/WKBase.h:
49380        * Shared/API/c/WKSharedAPICast.h:
49381        (WebKit::toUserScriptInjectionTime):
49382        (WebKit::toUserContentInjectedFrames):
49383        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
49384        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
49385        Move UserContent enums to WKBase.h so they can be used from both processes, and move the
49386        casts to WKSharedAPICast.
49387
49388        * Shared/WebCoreArgumentCoders.cpp:
49389        * Shared/WebCoreArgumentCoders.h:
49390        Add coders for UserStyleSheet and UserScript.
49391
49392        * Shared/WebPageGroupData.cpp:
49393        (WebKit::WebPageGroupData::encode):
49394        (WebKit::WebPageGroupData::decode):
49395        * Shared/WebPageGroupData.h:
49396        (WebPageGroupData):
49397        Replace UserContentContainer with Vector<UserStyleSheet> and Vector<UserScript>. Stop using
49398        CoreIPC::In() and CoreIPC::Out(), and instead just call encode/decode multiple times.
49399
49400        * UIProcess/API/C/WKPageGroup.cpp:
49401        (WKPageGroupAddUserStyleSheet):
49402        Pass the parameters with as little conversion as possible to the C++ to avoid doing too much
49403        work in the API layer.
49404
49405        * UIProcess/WebPageGroup.cpp:
49406        (WebKit::toStringVector):
49407        (WebKit::WebPageGroup::addUserStyleSheet):
49408        (WebKit::WebPageGroup::addUserScript):
49409        (WebKit::WebPageGroup::removeAllUserStyleSheets):
49410        (WebKit::WebPageGroup::removeAllUserScripts):
49411        (WebKit::WebPageGroup::removeAllUserContent):
49412        * UIProcess/WebPageGroup.h:
49413        * WebProcess/WebPage/WebPageGroupProxy.cpp:
49414        (WebKit::WebPageGroupProxy::WebPageGroupProxy):
49415        (WebKit::WebPageGroupProxy::addUserStyleSheet):
49416        (WebKit::WebPageGroupProxy::addUserScript):
49417        (WebKit::WebPageGroupProxy::removeAllUserScripts):
49418        (WebKit::WebPageGroupProxy::removeAllUserContent):
49419        * WebProcess/WebPage/WebPageGroupProxy.h:
49420        (WebPageGroupProxy):
49421        * WebProcess/WebPage/WebPageGroupProxy.messages.in:
49422        Add support for user scripts and update to use UserScript and UserStyleSheet directly.
49423
494242012-10-14  Jon Lee  <jonlee@apple.com>
49425
49426        Allow notification origin permission request when no js callback is provided
49427        https://bugs.webkit.org/show_bug.cgi?id=63615
49428        <rdar://problem/11059590>
49429
49430        Reviewed by Sam Weinig.
49431
49432        Null checks already exist for both standard and legacy API callbacks, so no changes are needed here
49433        like there are in WebKit 1. The checks existed because the callbacks are held in a hash map used to keep
49434        track of pending requests.
49435
49436        Also, add a check for a null callback when short circuiting.
49437
49438        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
49439        (WebKit::NotificationPermissionRequestManager::startRequest):
49440
494412012-10-14  Anders Carlsson  <andersca@apple.com>
49442
49443        Move QDataStream functions into HistoryItemQt.cpp
49444        https://bugs.webkit.org/show_bug.cgi?id=99203
49445
49446        Reviewed by Andreas Kling.
49447
49448        Forward declare QTransform.
49449
49450        * Shared/qt/WebEventFactoryQt.h:
49451
494522012-10-12  Anders Carlsson  <andersca@apple.com>
49453
49454        Explicitly mark messages variadic
49455        https://bugs.webkit.org/show_bug.cgi?id=99229
49456
49457        Reviewed by Dan Bernstein.
49458
49459        Instead of deciding whether messages are variadic based on their type, decide it based on the existence of a 'Variadic' message attribute.
49460
49461        * Scripts/webkit2/messages.py:
49462        (messages_to_kind_enum):
49463        (decode_type):
49464        (async_case_statement):
49465        (sync_case_statement):
49466        * UIProcess/WebPageProxy.messages.in:
49467        * WebProcess/WebProcess.messages.in:
49468
494692012-10-14  Sam Weinig  <sam@webkit.org>
49470
49471        Make UserScript and UserStyleSheet value objects that are copyable
49472        https://bugs.webkit.org/show_bug.cgi?id=99275
49473
49474        Reviewed by Tim Horton.
49475
49476        * Shared/UserContentContainer.cpp:
49477        (WebKit::toStringVector):
49478        (WebKit::UserContentContainer::Item::Item):
49479        (WebKit::UserContentContainer::Item::encode):
49480        (WebKit::UserContentContainer::Item::decode):
49481        * Shared/UserContentContainer.h:
49482        (WebKit::UserContentContainer::Item::whitelist):
49483        (WebKit::UserContentContainer::Item::blacklist):
49484        Switch UserContentContainer::Item to store Vector<String> instead of ImmutableArray, easing
49485        transition to new PageGroup function signatures.
49486
49487        * WebProcess/InjectedBundle/InjectedBundle.cpp:
49488        (WebKit::toStringVector):
49489        * WebProcess/WebPage/qt/WebPageQt.cpp:
49490        (WebKit::WebPage::setUserScripts):
49491        Update for new PageGroup function signatures.
49492
494932012-10-14  Tim Horton  <timothy_horton@apple.com>
49494
49495        [wk2] Implement PDFPlugin
49496        https://bugs.webkit.org/show_bug.cgi?id=99206
49497
49498        Unreviewed build fix, hand ivar name to @synthesize since it doesn't match the property name.
49499
49500        * WebProcess/Plugins/PDF/PDFPlugin.mm:
49501
495022012-10-14  Tim Horton  <timothy_horton@apple.com>
49503
49504        [wk2] Implement PDFPlugin
49505        https://bugs.webkit.org/show_bug.cgi?id=99206
49506
49507        Unreviewed, attempt to manipuate SVN to retain the history of SimplePDFPlugin.
49508
49509        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h.
49510        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.mm.
49511
495122012-10-14  Tim Horton  <timothy_horton@apple.com>
49513
49514        [wk2] Implement PDFPlugin
49515        https://bugs.webkit.org/show_bug.cgi?id=99206
49516
49517        Reviewed by Dan Bernstein.
49518
49519        Add PDFPlugin, which uses PDFKit to display PDFs, instead of using PDFKit in the
49520        UIProcess for full-page PDFs. This new plugin will also be used for inline PDFs
49521        in place of SimplePDFPlugin (née BuiltInPDFView).
49522
49523        * Configurations/FeatureDefines.xcconfig: Add ENABLE_PDF_PLUGIN.
49524
49525        Support three new Plugin methods:
49526            - handleEditingCommand, which hands editing commands to the Plugin
49527            - isEditingCommandEnabled, which validates editing commands via the Plugin
49528            - handlesPageScaleFactor, which asks the plugin whether it wants to
49529            opt into a mode where the WebPage doesn't scale in the ordinary fashion,
49530            but instead proxies the Plugin's scale factor, so full-page plugins
49531            can handle scale factor changes however they need to.
49532
49533        * PluginProcess/PluginControllerProxy.cpp:
49534        (WebKit::PluginControllerProxy::handleEditingCommand): Proxy handleEditingCommand to the Plugin.
49535        (WebKit::PluginControllerProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the Plugin.
49536        (WebKit::PluginControllerProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the Plugin.
49537        * PluginProcess/PluginControllerProxy.h:
49538        (PluginControllerProxy): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
49539        * PluginProcess/PluginControllerProxy.messages.in: Add HandleEditingCommand, IsEditingCommandEnabled, and HandlesPageScaleFactor.
49540        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
49541        (WebKit::NetscapePlugin::handleEditingCommand): NPAPI plugins support no editing commands by default.
49542        (WebKit::NetscapePlugin::isEditingCommandEnabled): NPAPI plugins enable no editing commands by default.
49543        (WebKit::NetscapePlugin::handlesPageScaleFactor): NPAPI plugins do not handle page scale factor changes themselves by default.
49544        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
49545
49546        Add PDFPluginEnabled preference. If it is not enabled, or the plugin is
49547        not built, behavior will be the same as before (the UIProcess PDFView will
49548        handle full-page PDFs, and SimplePDFPlugin will handle inline ones).
49549
49550        * Shared/WebPreferencesStore.h: Add PDFPluginEnabled preference.
49551        * UIProcess/API/C/WKPreferences.cpp:
49552        (WKPreferencesSetPDFPluginEnabled): Setter for PDFPluginEnabled preference.
49553        (WKPreferencesGetPDFPluginEnabled): Getter for PDFPluginEnabled preference.
49554        * UIProcess/API/C/WKPreferencesPrivate.h: Expose WKPreferences(Set|Get)PDFPluginEnabled as a private preference.
49555
49556        Move support for MIME types with custom representations onto WebPage instead of WebProcess.
49557        This allows us to use preferences to control the use of custom representations (for example,
49558        it allows us to have a preference to toggle between UIProcess's PDFView and PDFPlugin).
49559
49560        * Shared/WebProcessCreationParameters.cpp:
49561        (WebKit::WebProcessCreationParameters::encode): Don't pass mimeTypesWithCustomRepresentation
49562        into the WebProcess, as we can compute it later.
49563        (WebKit::WebProcessCreationParameters::decode): Same, on the decode side.
49564        * Shared/WebProcessCreationParameters.h: Remove mimeTypesWithCustomRepresentation.
49565        * UIProcess/mac/WebContextMac.mm:
49566        (WebKit::WebContext::platformInitializeWebProcess): Don't add pdfAndPostScriptMIMETypes to mimeTypesWithCustomRepresentation here, as we're now computing it on WebPage instead.
49567        * WebProcess/WebPage/WebPage.cpp:
49568        (WebKit::canPluginHandleResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
49569        (WebKit::WebPage::shouldUseCustomRepresentationForResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
49570        * WebProcess/WebPage/mac/WebPageMac.mm:
49571        (WebKit::WebPage::pdfAndPostScriptMIMETypes): Return the set of MIME types used for PDF and PostScript, which are handled with PDFView if PDFPlugin is not available or enabled.
49572        * WebProcess/WebProcess.cpp:
49573        (WebKit::WebProcess::initializeWebProcess): Don't keep m_mimeTypesWithCustomRepresentations on WebProcess, it's owned by WebPage now.
49574        * WebProcess/WebProcess.h: Move canPluginHandleResponse and shouldUseCustomRepresentationForResponse to WebPage.
49575
49576        Add PDFLayerController to the set of classes returned by PDFKitImports.
49577
49578        * Shared/mac/PDFKitImports.h: Add pdfLayerControllerClass.
49579        * Shared/mac/PDFKitImports.mm:
49580        (WebKit::pdfLayerControllerClass): Find and return the PDFLayerController class.
49581
49582        Add PDFPlugin, which inherits from SimplePDFPlugin, but uses PDFKit instead
49583        of CoreGraphics, to provide additional interactive functionality.
49584
49585        * UIProcess/WebProcessProxy.cpp:
49586        (WebKit::WebProcessProxy::sendDidGetPlugins): Add PDFPlugin to the set of supported plugins.
49587        * WebKit2.xcodeproj/project.pbxproj: Add PDFPlugin, rename BuiltInPDFView to SimplePDFPlugin.
49588        * WebProcess/Plugins/PDF/PDFPlugin.h: Added.
49589        * WebProcess/Plugins/PDF/PDFPlugin.mm: Added.
49590
49591        PDFPlugin uses layers for scrollbars.
49592
49593        (-[WKPDFPluginScrollbarLayer initWithPDFPlugin:WebKit::]): Initialize our CALayer subclass,
49594        storing its parent PDFPlugin so it can delegate drawing there.
49595        (-[WKPDFPluginScrollbarLayer actionForKey:]): Disable CoreAnimation implicit actions.
49596        (-[WKPDFPluginScrollbarLayer drawInContext:]): Delegate scrollbar drawing to PDFPlugin.
49597
49598        Implement the PDFLayerController delegate, eventually forwarding calls back to PDFPlugin.
49599
49600        (-[WKPDFLayerControllerDelegate initWithPDFPlugin:WebKit::]): Initialize our delegate,
49601        storing its parent PDFPlugin so it can forward delegate calls there.
49602        (-[WKPDFLayerControllerDelegate updateScrollPosition:]): Update PDFPlugin's notion of the
49603        current scroll position, when PDFKit changes the scroll position itself.
49604        (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Write the given
49605        array of NSData objects to the pasteboard with the given types.
49606
49607        The following PDFLayerController delegate methods will be implemented in the future.
49608
49609        (-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]):
49610        (-[WKPDFLayerControllerDelegate performWebSearch:]):
49611        (-[WKPDFLayerControllerDelegate openWithPreview]):
49612        (-[WKPDFLayerControllerDelegate saveToPDF]):
49613
49614        (WebKit::PDFPlugin::PDFPlugin): Set up the requisite layer hierarchy, and create a PDFLayerController (and its delegate proxy).
49615        (WebKit::PDFPlugin::updateScrollbars): Update the frame of the layers hosting our scrollbars.
49616        (WebKit::PDFPlugin::createScrollbar): Create a scrollbar and hosting layer, attaching its layer
49617        to PDFPlugin's container layer.
49618        (WebKit::PDFPlugin::destroyScrollbar): Destroy a scrollbar, detaching and destroying its hosting layer in the process.
49619        (WebKit::PDFPlugin::pdfDocumentDidLoad): Called when the document finishes loading; hand
49620        the loaded document to PDFKit, update all of our state (cached document size, scrollbars, etc.), and then execute any scripts in the document (to allow for automatic printing).
49621        (WebKit::PDFPlugin::calculateSizes): Determine the size of the PDF and its pages.
49622        (WebKit::PDFPlugin::destroy): Tear down the layer hierarchy.
49623        (WebKit::PDFPlugin::paint): PDFPlugin is layer-based, so we paint nothing into the tiles.
49624        (WebKit::PDFPlugin::paintControlForLayerInContext): Scrollbar controls are drawn into layers, but their painting is delegated here from WKPDFPluginScrollbarLayer.
49625        (WebKit::PDFPlugin::snapshot): Perform a paint into a bitmap context.
49626        (WebKit::PDFPlugin::pluginLayer): Return PDFPlugin's root layer.
49627        (WebKit::PDFPlugin::geometryDidChange): The size or scale of the plugin changed; update
49628        PDFLayerController's notion of the size and page scale, and invalidate the scrollbars.
49629
49630        Mouse and keyboard events are converted back into NSEvents, but with
49631        locationInWindow actually in terms of the PDFPlugin's layer, not
49632        the window (since there is no window).
49633
49634        (WebKit::modifierFlagsFromWebEvent): Construct an AppKit-style modifier bitmask from WebEvent's modifier key getters.
49635        (WebKit::eventTypeFromWebEvent): Return the NSEventType equivalent to the given WebEvent. Only supports keyboard and mouse events, and only the left and right mouse button.
49636        (WebKit::PDFPlugin::handleMouseEvent): Construct an NSEvent from the given WebMouseEvent and hand it to PDFLayerController. Mouse coordinates are in terms of m_contentLayer's origin.
49637        (WebKit::PDFPlugin::handleKeyboardEvent): Construct an NSEvent from the given WebKeyboardEvent and hand it to PDFLayerController. PDFLayerController currently only handles keyDown events.
49638
49639        (WebKit::PDFPlugin::handleEditingCommand): Handle copy and select-all commands, and forward them to PDFLayerController.
49640        (WebKit::PDFPlugin::isEditingCommandEnabled): The 'copy' command should be enabled if
49641        the user has selected a part of the PDF. The 'select all' command should always be enabled.
49642
49643        (WebKit::PDFPlugin::setScrollOffset): Update both PDFPlugin and PDFLayerController's notion
49644        of the current scroll position.
49645        (WebKit::PDFPlugin::invalidateScrollbarRect): Invalidate the whole scrollbar layer.
49646        (WebKit::PDFPlugin::invalidateScrollCornerRect): Invalidate the whole scroll corner layer.
49647
49648        Rename BuiltInPDFView to SimplePDFPlugin, to differentiate it from PDFPlugin
49649        and to better denote its inheritance from Plugin.
49650
49651        * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.h.
49652        (WebKit::SimplePDFPlugin): Make methods protected so PDFPlugin can override them. Rename m_pluginSize -> m_size, and m_dataBuffer->m_data.
49653        (WebKit::SimplePDFPlugin::size): Retrieve the size of the plugin.
49654        (WebKit::SimplePDFPlugin::setSize): Set the size of the plugin.
49655        (WebKit::SimplePDFPlugin::pdfDocument): Retrieve the currently represented PDF document.
49656        (WebKit::SimplePDFPlugin::setPDFDocument): Set the currently represented PDF document.
49657        (WebKit::SimplePDFPlugin::pdfDocumentSize): Retrieve the current size of the PDF.
49658        (WebKit::SimplePDFPlugin::setPDFDocumentSize): Set the current size of the PDF.
49659        (WebKit::SimplePDFPlugin::data): Retrieve the accumulated document data.
49660        * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.mm.
49661        (WebKit::SimplePDFPlugin::computePageBoxes): Copied out of calculateSizes() so PDFPlugin can use it too.
49662        (WebKit::SimplePDFPlugin::runScriptsInPDFDocument): Factored out of pdfDocumentDidLoad() so PDFPlugin can use it too.
49663        (WebKit::SimplePDFPlugin::convertFromScrollbarToContainingView): Implement the remaining scrollbar point conversion functions.
49664        (WebKit::SimplePDFPlugin::convertFromContainingViewToScrollbar): Implement the remaining scrollbar point conversion functions.
49665
49666        * WebProcess/Plugins/Plugin.h:
49667        (Plugin): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
49668        * WebProcess/Plugins/PluginProxy.cpp:
49669        (WebKit::PluginProxy::handleEditingCommand): Proxy handleEditingCommand to the PluginProcess.
49670        (WebKit::PluginProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled
49671        to the PluginProcess.
49672        (WebKit::PluginProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor
49673        to the PluginProcess.
49674        * WebProcess/Plugins/PluginProxy.h: Add handleEditingCommand, isEditingCommandEnabled,
49675        and handlesPageScaleFactor.
49676        * WebProcess/Plugins/PluginView.cpp:
49677        (WebKit::PluginView::setPageScaleFactor): Set the plugin's current page scale factor. Also,
49678        update WebPageProxy's notion of the current pageScaleFactor when this is called.
49679        (WebKit::PluginView::pageScaleFactor): Return the plugin's current page scale factor.
49680        (WebKit::PluginView::handleEditingCommand): Proxy handleEditingCommand to the plugin.
49681        (WebKit::PluginView::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the plugin.
49682        * WebProcess/Plugins/PluginView.h:
49683        (PluginView): Add handleEditingCommand, isEditingCommandEnabled,
49684        setPageScaleFactor/pageScaleFactor, and handlesPageScaleFactor. Add m_pageScaleFactor.
49685        (WebKit::PluginView::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the plugin.
49686        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
49687        (WebKit::WebFrameLoaderClient::restoreViewState): Don't update WebPageProxy's notion of the scale factor if it should be the default.
49688        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
49689        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
49690        * WebProcess/WebPage/WebPage.cpp:
49691        (WebKit::WebPage::createPlugin): Create a PDFPlugin if appropriate (if it is built and the setting is enabled).
49692        (WebKit::pluginViewForFrame): Return the PluginView for the given frame if its document is a PluginDocument.
49693        (WebKit::WebPage::executeEditingCommand): Attempt to execute editing commands on the
49694        currently focused (or main-frame) plugin.
49695        (WebKit::WebPage::isEditingCommandEnabled): Validate editing commands against the
49696        currently focused (or main-frame) plugin.
49697        (WebKit::WebPage::scalePage): If the plugin reports that it handles page scale factor
49698        itself, hand it the new scale instead of WebCore.
49699        (WebKit::WebPage::pageScaleFactor): If the plugin reports that it handles page scale
49700        factor itself, return its notion of the current scale instead of WebCore's.
49701        (WebKit::WebPage::validateCommand): Validate editing commands against the
49702        currently focused (or main-frame) plugin.
49703        (WebKit::WebPage::updatePreferences): Update m_pdfPluginEnabled given the relevant WebPreference.
49704        * WebProcess/WebPage/WebPage.h:
49705        (WebKit::WebPage::pdfPluginEnabled): Return whether or not PDFPlugin should be used.
49706        (WebKit::WebPage::setPDFPluginEnabled): Set whether or not PDFPlugin should be used.
49707
497082012-10-13  Sam Weinig  <sam@webkit.org>
49709
49710        Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
49711        https://bugs.webkit.org/show_bug.cgi?id=99256
49712
49713        Reviewed by Dan Bernstein.
49714
49715        A bit of good old fashion cleanup.
49716
49717        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
49718        Remove the void* member.
49719
49720        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
49721        Move members from the WKWebProcessPlugInControllerData struct to a class extension.
49722
49723        (didCreatePage):
49724        (willDestroyPage):
49725        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
49726        Directly access the members instead of using properties, now that it is not inconvenient.
49727
49728        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
49729        Remove the void* member.
49730
49731        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
49732        Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.
49733        
49734        (-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
49735        (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
49736        Remove unnecessary casts..
49737
49738        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
49739        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
49740        Add space before the parenthesis of a category to be consistent.
49741 
49742        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
49743        Remove unnecessary forward declare.
49744
497452012-10-13  Andy Estes  <aestes@apple.com>
49746
49747        Add a private header for WKWebProcessPlugInBrowserContextController that defines a property for getting the WKBundlePageRef
49748        https://bugs.webkit.org/show_bug.cgi?id=99252
49749
49750        Reviewed by Sam Weinig.
49751
49752        * WebKit2.xcodeproj/project.pbxproj:
49753        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
49754        (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
49755        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: Added.
49756
497572012-10-12  Brady Eidson  <beidson@apple.com>
49758
49759        Setup basic NetworkProcess messaging and initialization.
49760        https://bugs.webkit.org/show_bug.cgi?id=99198
49761
49762        Reviewed by Sam Weinig.
49763
49764        Project file/build system stuff:
49765        * DerivedSources.make:
49766        * WebKit2.xcodeproj/project.pbxproj:
49767        * Scripts/webkit2/messages.py:
49768        (struct_or_class):
49769
49770        Add basic initialization parameters for the NetworkProcess:
49771        * Shared/Network/NetworkProcessCreationParameters.cpp: 
49772        (WebKit):
49773        (WebKit::NetworkProcessCreationParameters::NetworkProcessCreationParameters):
49774        (WebKit::NetworkProcessCreationParameters::encode):
49775        (WebKit::NetworkProcessCreationParameters::decode):
49776        * Shared/Network/NetworkProcessCreationParameters.h:
49777        (CoreIPC):
49778        (WebKit):
49779        (NetworkProcessCreationParameters):
49780
49781        Use them to message the NetworkProcess what it's application name should be:
49782        * UIProcess/Network/NetworkProcessProxy.cpp:
49783        (WebKit::NetworkProcessProxy::didFinishLaunching):
49784        * UIProcess/Network/NetworkProcessProxy.h:
49785        (WebKit):
49786        (NetworkProcessProxy):
49787        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
49788        (WebKit):
49789        (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):        
49790
49791        Add basic message handling and initialization to the NetworkProcess itself:
49792        * NetworkProcess/NetworkProcess.messages.in: Added.
49793        * Platform/CoreIPC/MessageID.h:
49794        * NetworkProcess/NetworkProcess.cpp:
49795        (WebKit::NetworkProcess::didReceiveMessage):
49796        (WebKit::NetworkProcess::initializeNetworkProcess):
49797        (WebKit):
49798        * NetworkProcess/NetworkProcess.h:
49799        (WebKit):
49800        (NetworkProcess):
49801
49802        Set a reasonable application name to be revealed in UI:
49803        * NetworkProcess/mac/NetworkProcessMac.mm:
49804        (WebKit):
49805        (WebKit::NetworkProcess::platformInitialize):
49806
49807
498082012-10-12  Ada Chan  <adachan@apple.com>
49809
49810        Add WKPage API to get whether the main frame is pinned to the top or bottom edge
49811        https://bugs.webkit.org/show_bug.cgi?id=99110
49812
49813        Reviewed by Beth Dakin.
49814
49815        This is very similar to r79025 where we add support to do this for the left and right sides.
49816
49817        * UIProcess/API/C/WKPage.cpp:
49818        (WKPageIsPinnedToTopSide):
49819        (WKPageIsPinnedToBottomSide):
49820        * UIProcess/API/C/WKPage.h:
49821        Add new API calls.
49822
49823        * UIProcess/WebPageProxy.cpp:
49824        (WebKit::WebPageProxy::WebPageProxy):
49825        (WebKit::WebPageProxy::close):
49826        (WebKit::WebPageProxy::didCommitLoadForFrame):
49827        (WebKit::WebPageProxy::processDidCrash):
49828        (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
49829        * UIProcess/WebPageProxy.h:
49830        (WebKit::WebPageProxy::isPinnedToTopSide):
49831        (WebKit::WebPageProxy::isPinnedToBottomSide):
49832        Declare new data members for keeping track of the pinned states for
49833        top and bottom sides. Initialize, reset, and update these states
49834        at appropriate times. Implement getters for these states.
49835
49836        * UIProcess/WebPageProxy.messages.in:
49837        Change the DidChangeScrollOffsetPinningForMainFrame message to take
49838        the pinned states for top and bottom sides.
49839
49840        * WebProcess/WebPage/WebPage.cpp:
49841        (WebKit::WebPage::WebPage):
49842        (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
49843        * WebProcess/WebPage/WebPage.h:
49844        Cache the pinned states for top and bottom sides. Only notify the
49845        UI process if the states have changed.
49846
498472012-10-12  Anders Carlsson  <andersca@apple.com>
49848
49849        Stop using deprecatedSend inside ConnectionMac.cpp
49850        https://bugs.webkit.org/show_bug.cgi?id=99192
49851
49852        Reviewed by Andreas Kling.
49853
49854        The messages that we send are so simple that we can just use sendMessage.
49855
49856        * Platform/CoreIPC/mac/ConnectionMac.cpp:
49857        (CoreIPC::Connection::open):
49858
498592012-10-12  Brady Eidson  <beidson@apple.com>
49860
49861        Add a basic NetworkProcess.app to the WebKit2 build
49862        https://bugs.webkit.org/show_bug.cgi?id=98543
49863
49864        Reviewed by Sam Weinig.
49865
49866        This change sets up the Mac build to include a NetworkProcess.app.
49867        It also launches this app when the first WebProcess is created.
49868        It then quits this app when the UIProcess terminates.
49869
49870        The app, it does nothing.
49871                             -McBain
49872
49873        Pure project file/build system stuff:
49874        * Configurations/NetworkProcess.xcconfig: Added.
49875        * WebKit2.xcodeproj/project.pbxproj:
49876        * WebKit2Prefix.h:
49877
49878        Basic UIProcess side of things:
49879        * UIProcess/Network/NetworkProcessProxy.cpp: Added.
49880        (WebKit):
49881        (WebKit::NetworkProcessProxy::create):
49882        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
49883        (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
49884        (WebKit::NetworkProcessProxy::didReceiveMessage):
49885        (WebKit::NetworkProcessProxy::didClose):
49886        (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
49887        (WebKit::NetworkProcessProxy::syncMessageSendTimedOut):
49888        (WebKit::NetworkProcessProxy::didFinishLaunching):
49889        * UIProcess/Network/NetworkProcessProxy.h: Added.
49890        (WebKit):
49891        (NetworkProcessProxy):
49892
49893        Basic NetworkProcess side of things:
49894        * NetworkProcess/Info.plist: Added.
49895        * NetworkProcess/NetworkProcess.cpp: Added.
49896        (WebKit):
49897        (WebKit::NetworkProcess::shared):
49898        (WebKit::NetworkProcess::NetworkProcess):
49899        (WebKit::NetworkProcess::~NetworkProcess):
49900        (WebKit::NetworkProcess::initialize):
49901        (WebKit::NetworkProcess::shouldTerminate):
49902        (WebKit::NetworkProcess::didReceiveMessage):
49903        (WebKit::NetworkProcess::didClose):
49904        (WebKit::NetworkProcess::didReceiveInvalidMessage):
49905        (WebKit::NetworkProcess::syncMessageSendTimedOut):
49906        * NetworkProcess/NetworkProcess.h: Added.
49907        (WebCore):
49908        (WebKit):
49909        (NetworkProcess):
49910
49911        Add the main method for the NetworkProcess itself:
49912        * WebProcess/WebKitMain.cpp:
49913        (WebKitMain):
49914        * NetworkProcess/NetworkProcessMain.h: Added.
49915        (WebKit):
49916        * NetworkProcess/mac/NetworkProcessMainMac.mm: Added.
49917        (WebKit):
49918        (WebKit::NetworkProcessMain):
49919
49920        Teach ProcessLauncher about the new app type:
49921        * UIProcess/Launcher/ProcessLauncher.cpp:
49922        (WebKit::ProcessLauncher::processTypeAsString):
49923        (WebKit::ProcessLauncher::getProcessTypeFromString):
49924        * UIProcess/Launcher/ProcessLauncher.h:
49925        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
49926        (WebKit::createProcess):
49927
49928        Launch the NetworkProcess when we launch the first WebProcess:
49929        * UIProcess/WebContext.cpp:
49930        (WebKit::WebContext::ensureNetworkProcess):
49931        * UIProcess/WebContext.h:
49932        (WebContext):
49933
499342012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
49935
49936        Unreviewed, rolling out r131189.
49937        http://trac.webkit.org/changeset/131189
49938        https://bugs.webkit.org/show_bug.cgi?id=99187
49939
49940        Made inspector http tests crash on WK2. (Requested by rakuco
49941        on #webkit).
49942
49943        * PlatformEfl.cmake:
49944        * UIProcess/efl/WebInspectorProxyEfl.cpp:
49945        (WebKit::WebInspectorProxy::inspectorPageURL):
49946        (WebKit::WebInspectorProxy::inspectorBaseURL):
49947
499482012-10-12  Ryuan Choi  <ryuan.choi@samsung.com>
49949
49950        [EFL] Share resources installed for inspector
49951        https://bugs.webkit.org/show_bug.cgi?id=98991
49952
49953        Reviewed by Gyuyoung Kim.
49954
49955        * PlatformEfl.cmake: Removed build script which install resources to share.
49956        * UIProcess/efl/WebInspectorProxyEfl.cpp:
49957        (WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
49958        (WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
49959
499602012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
49961
49962        Unreviewed, rolling out r131160.
49963        http://trac.webkit.org/changeset/131160
49964        https://bugs.webkit.org/show_bug.cgi?id=99163
49965
49966        "It should not be landed without it's follow-up because it
49967        break pixal and ref tests without it." (Requested by kbalazs
49968        on #webkit).
49969
49970        * Shared/API/c/qt/WKImageQt.cpp:
49971        (WKImageCreateQImage):
49972        * Shared/API/c/qt/WKImageQt.h:
49973
499742012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
49975
49976        [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
49977        https://bugs.webkit.org/show_bug.cgi?id=90142
49978
49979        Unreviewed buildfix 2.
49980
49981        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
49982        (CoreIPC::::encodePlatformData):
49983        (CoreIPC::::decodePlatformData):
49984
499852012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
49986
49987        [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
49988        https://bugs.webkit.org/show_bug.cgi?id=90142
49989
49990        Unreviewed buildfix.
49991
49992        * Shared/WebCoreArgumentCoders.cpp:
49993        (CoreIPC::::decode):
49994
499952012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
49996
49997        [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
49998        https://bugs.webkit.org/show_bug.cgi?id=90142
49999
50000        Reviewed by Simon Hausmann.
50001
50002        Share common serialization code across Qt and soup ports.
50003        All of these ports serialize the WebCore representation
50004        of these types.
50005
50006        * Shared/WebCoreArgumentCoders.cpp:
50007        (CoreIPC::::encode):
50008        (CoreIPC):
50009        (CoreIPC::::decode):
50010        * Shared/WebCoreArgumentCoders.h:
50011        * Shared/mac/WebCoreArgumentCodersMac.mm:
50012        (CoreIPC::::encodePlatformData):
50013        (CoreIPC::::decodePlatformData):
50014        * Shared/qt/WebCoreArgumentCodersQt.cpp:
50015        (CoreIPC::::encodePlatformData):
50016        (CoreIPC::::decodePlatformData):
50017        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
50018        (CoreIPC::::encodePlatformData):
50019        (CoreIPC::::decodePlatformData):
50020        * Shared/win/WebCoreArgumentCodersWin.cpp:
50021        (CoreIPC::::encodePlatformData):
50022        (CoreIPC::::decodePlatformData):
50023
500242012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
50025
50026        Unreviewed, rolling out r130389.
50027        http://trac.webkit.org/changeset/130389
50028        https://bugs.webkit.org/show_bug.cgi?id=98048
50029
50030        It broke chromium
50031
50032        * win/WebKit2.def:
50033        * win/WebKit2CFLite.def:
50034
500352012-10-12  Balazs Kelemen  <kbalazs@webkit.org>
50036
50037        [Qt][WTR] Do a forced repaint before generating pixel results
50038        https://bugs.webkit.org/show_bug.cgi?id=98654
50039
50040        Reviewed by Jocelyn Turcotte.
50041
50042        Added API to convert a QImage to a WKImage so we can
50043        pass it to cross-platform code.
50044
50045        * Shared/API/c/qt/WKImageQt.cpp:
50046        (WKImageCreateFromQImage):
50047        * Shared/API/c/qt/WKImageQt.h:
50048
500492012-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
50050
50051        Unreviewed, rolling out r131121.
50052        http://trac.webkit.org/changeset/131121
50053        https://bugs.webkit.org/show_bug.cgi?id=99144
50054
50055        It made all tests timeout on all WK2 platform (Requested by
50056        ossy on #webkit).
50057
50058        * UIProcess/WebProcessProxy.cpp:
50059        * UIProcess/WebProcessProxy.h:
50060        (WebProcessProxy):
50061        * UIProcess/WebProcessProxy.messages.in:
50062        * WebProcess/InjectedBundle/InjectedBundle.cpp:
50063        (WebKit::InjectedBundle::postMessage):
50064        (WebKit::InjectedBundle::postSynchronousMessage):
50065
500662012-10-11  Andy Estes  <aestes@apple.com>
50067
50068        Add some basic methods and properties to the injected bundle Objective-C DOM API
50069        https://bugs.webkit.org/show_bug.cgi?id=99137
50070
50071        Reviewed by Sam Weinig.
50072
50073        Add methods and properties that allow for tree traversal, node creation/insertion,
50074        attribute modification, text node retrieval, and range creation.
50075
50076        * WebKit2.xcodeproj/project.pbxproj:
50077        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
50078        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
50079        (toDocument):
50080        (-[WKDOMDocument createElement:]):
50081        (-[WKDOMDocument createTextNode:]):
50082        (-[WKDOMDocument body]):
50083        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
50084        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
50085        (-[WKDOMElement hasAttribute:]):
50086        (-[WKDOMElement getAttribute:]):
50087        (-[WKDOMElement setAttribute:value:]):
50088        (-[WKDOMElement tagName]):
50089        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
50090        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
50091        (WebKit::WKDOMNodeClass):
50092        (WebKit::toWebCoreText):
50093        (WebKit::toWKDOMText):
50094        (WebKit::toWebCoreRange):
50095        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
50096        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
50097        (-[WKDOMNode insertNode:before:]):
50098        (-[WKDOMNode appendChild:]):
50099        (-[WKDOMNode parentNode]):
50100        (-[WKDOMNode firstChild]):
50101        (-[WKDOMNode nextSibling]):
50102        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
50103        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
50104        (-[WKDOMRange setStart:offset:]):
50105        (-[WKDOMRange setEnd:offset:]):
50106        (-[WKDOMRange collapse:]):
50107        (-[WKDOMRange selectNode:]):
50108        (-[WKDOMRange selectNodeContents:]):
50109        (-[WKDOMRange isCollapsed]):
50110        * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Added.
50111        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm: Added.
50112        (-[WKDOMText data]):
50113
501142012-10-11  Brady Eidson  <beidson@apple.com>
50115
50116        Add a WKContext call to enable the NetworkProcess.
50117        https://bugs.webkit.org/show_bug.cgi?id=99140
50118
50119        Reviewed by Sam Weinig.
50120
50121        Add the SPI:
50122        * UIProcess/API/C/WKContext.cpp:
50123        (WKContextSetUsesNetworkProcess):
50124        * UIProcess/API/C/WKContextPrivate.h:
50125
50126        Add a member for the flag and the first call site that will be interested in the flag's value:
50127        * UIProcess/WebContext.cpp:
50128        (WebKit::WebContext::WebContext):
50129        (WebKit::WebContext::setUsesNetworkProcess):
50130        (WebKit):
50131        (WebKit::WebContext::createNewWebProcess):
50132        (WebKit::WebContext::ensureNetworkProcess):
50133        * UIProcess/WebContext.h:
50134        (WebContext):
50135
501362012-10-11  Andy Estes  <aestes@apple.com>
50137
50138        Fix the 32-bit Mac build after r131138.
50139
50140        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
50141        (WebKit::InjectedBundle::load):
50142
501432012-10-11  Anders Carlsson  <andersca@apple.com>
50144
50145        Stop using Connection::deprecatedSend in WebConnection
50146        https://bugs.webkit.org/show_bug.cgi?id=99130
50147
50148        Reviewed by Sam Weinig.
50149
50150        Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
50151
50152        * DerivedSources.make:
50153        * DerivedSources.pri:
50154        * GNUmakefile.list.am:
50155        Add new files.
50156
50157        * Platform/CoreIPC/MessageID.h:
50158        Add WebConnectionMessageClass.
50159
50160        * Shared/WebConnection.cpp:
50161        (WebKit::WebConnection::WebConnection):
50162        Make WebConnection hold on to the CoreIPC::Connection.
50163
50164        (WebKit::WebConnection::postMessage):
50165        Ask the subclasses to encode the body data, then send it.
50166
50167        (WebKit::WebConnection::handleMessage):
50168        Ask the subclasses to decode the body data, then call didReceiveClient.
50169
50170        (WebKit::WebConnection::invalidate):
50171        Null out m_connection.
50172
50173        * Shared/WebConnection.h:
50174        (WebKit::WebConnection::connection):
50175
50176        * Shared/WebConnection.messages.in: Added.
50177
50178        * UIProcess/WebConnectionToWebProcess.cpp:
50179        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
50180        Pass the connection to the WebConnection initializer.
50181
50182        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
50183        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
50184        Encode and decode the message body.
50185
50186        (WebKit::WebConnectionToWebProcess::didReceiveMessage):
50187        Handle WebConnection messages.
50188
50189        * WebKit2.xcodeproj/project.pbxproj:
50190        Add new files.
50191
50192        * WebProcess/WebConnectionToUIProcess.cpp:
50193        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
50194        Pass the connection to the WebConnection initializer.
50195
50196        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
50197        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
50198        Encode and decode the message body.
50199
50200        (WebKit::WebConnectionToUIProcess::didReceiveMessage):
50201        Handle WebConnection messages.
50202
50203        * win/WebKit2.vcproj:
50204        Add new files.
50205
502062012-10-11  Andy Estes  <aestes@apple.com>
50207
50208        Expose the main frame's document to injected bundles via the Objective-C API
50209        https://bugs.webkit.org/show_bug.cgi?id=99133
50210
50211        Patch by Sam Weinig.
50212
50213        Reviewed by Anders Carlsson.
50214
50215        Allow a bundle to declare a principle class which will be instantiated
50216        by WebKit2 and passed an object to which WKBundleClient calls are
50217        forwarded and which can access the main frame's WKDOMDocument.
50218
50219        * WebKit2.xcodeproj/project.pbxproj:
50220        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
50221        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Instantiate
50222        the bundle's principle class forward WKBundleClient calls to it.
50223        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
50224        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
50225        Add a property called mainFrameDocument which returns a WKDOMDocument.
50226        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
50227        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
50228        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
50229        (WebKit::InjectedBundle::load): Initialize the shared
50230        WKWebProcessPlugInController with the bundle's principle class.
50231
502322012-10-11  Sam Weinig  <sam@webkit.org>
50233
50234        Add a helper function for initializing WebKit2 DOM objects
50235        https://bugs.webkit.org/show_bug.cgi?id=99128
50236
50237        Reviewed by Anders Carlsson.
50238
50239        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
50240        (WebKit::WKDOMNodeClass):
50241        (WebKit::initWithImpl):
50242        (WebKit::toWKDOMNode):
50243        (WebKit::toWKDOMRange):
50244        (WebKit::toWKDOMType):
50245        Add toWKDOMType which implements the core object initialization and caching.
50246
502472012-10-11  Seokju Kwon  <seokju.kwon@samsung.com>
50248
50249        [EFL][WK2] Add support for Inspector
50250        https://bugs.webkit.org/show_bug.cgi?id=98639
50251
50252        Reviewed by Kenneth Rohde Christiansen.
50253
50254        Support inspector on WebKit2/Efl and add APIs to show and close the inspector.
50255
50256        * UIProcess/API/efl/ewk_view.cpp:
50257        (ewk_view_inspector_show):
50258        (ewk_view_inspector_close):
50259        * UIProcess/API/efl/ewk_view.h:
50260        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
50261        (TEST_F):
50262        * UIProcess/WebInspectorProxy.h:
50263        (WebInspectorProxy):
50264        * UIProcess/efl/WebInspectorProxyEfl.cpp:
50265        (WebKit::resizeInspectorWindow):
50266        (WebKit):
50267        (WebKit::destroyInspectorWindow):
50268        (WebKit::closeInspectorWindow):
50269        (WebKit::WebInspectorProxy::createInspectorWindow):
50270        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
50271        (WebKit::WebInspectorProxy::platformOpen):
50272
502732012-10-11  Anders Carlsson  <andersca@apple.com>
50274
50275        Stop using deprecatedSend and deprecatedSendSync for sending messages to the UI process
50276        https://bugs.webkit.org/show_bug.cgi?id=99125
50277
50278        Reviewed by Andreas Kling.
50279
50280        Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
50281
50282        * UIProcess/WebContext.h:
50283        * UIProcess/WebProcessProxy.cpp:
50284        (WebKit::WebProcessProxy::postMessage):
50285        (WebKit):
50286        (WebKit::WebProcessProxy::postSynchronousMessage):
50287        * UIProcess/WebProcessProxy.h:
50288        (WebProcessProxy):
50289        * UIProcess/WebProcessProxy.messages.in:
50290        * WebProcess/InjectedBundle/InjectedBundle.cpp:
50291        (WebKit::InjectedBundle::postMessage):
50292        (WebKit::InjectedBundle::postSynchronousMessage):
50293
502942012-10-11  Anders Carlsson  <andersca@apple.com>
50295
50296        Stop using deprecatedSend for WebContext::postMessageToInjectedBundle
50297        https://bugs.webkit.org/show_bug.cgi?id=99123
50298
50299        Reviewed by Andreas Kling.
50300
50301        Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
50302
50303        * Platform/CoreIPC/MessageID.h:
50304        Remove MessageClassInjectedBundle.
50305
50306        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Removed.
50307        * UIProcess/WebContext.cpp:
50308        (WebKit::WebContext::createNewWebProcess):
50309        Stop using deprecatedSend.
50310
50311        (WebKit::WebContext::postMessageToInjectedBundle):
50312        Stop using deprecatedSend. Remove now invalid FIXMEs.
50313
50314        * UIProcess/WebPageProxy.cpp:
50315        Remove include.
50316
50317        * WebKit2.xcodeproj/project.pbxproj:
50318        Remove InjectedBundleMessageKinds.h.
50319
50320        * WebProcess/InjectedBundle/InjectedBundle.cpp:
50321        * WebProcess/InjectedBundle/InjectedBundle.h:
50322        The injected bundle is no longer in charge of receiving IPC messages.
50323
50324        * WebProcess/WebProcess.cpp:
50325        (WebKit::WebProcess::didReceiveMessage):
50326        Stop passing messages to the injected bundle.
50327
50328        (WebKit::WebProcess::postInjectedBundleMessage):
50329        Decode the message and pass it to the injected bundle.
50330
50331        * WebProcess/WebProcess.messages.in:
50332        Add PostInjectedBundleMessage.
50333
503342012-10-11  Anders Carlsson  <andersca@apple.com>
50335
50336        Stop using deprecatedSend for WebPageProxy::postMessageToInjectedBundle
50337        https://bugs.webkit.org/show_bug.cgi?id=99120
50338
50339        Reviewed by Andreas Kling.
50340
50341        Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
50342
50343        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
50344        Remove PostMessageToPage.
50345
50346        * UIProcess/WebPageProxy.cpp:
50347        (WebKit::WebPageProxy::postMessageToInjectedBundle):
50348        Stop using deprecatedSend.
50349
50350        * WebProcess/InjectedBundle/InjectedBundle.cpp:
50351        (WebKit::InjectedBundle::didReceiveMessage):
50352        Remove code to handle PostMessageToPage.
50353
50354        * WebProcess/WebPage/WebPage.cpp:
50355        (WebKit::WebPage::postInjectedBundleMessage):
50356        Decode the APIObject and send it along to the injected bundle.
50357
50358        * WebProcess/WebPage/WebPage.messages.in:
50359        Add PostInjectedBundleMessage message.
50360
503612012-10-11  Regina Chung  <heejin.r.chung@samsung.com>
50362
50363        [EFL][WK2] WebProcess keeps on waiting for UIProcess
50364        https://bugs.webkit.org/show_bug.cgi?id=97646
50365
50366        Reviewed by Kenneth Rohde Christiansen.
50367
50368        Set LayerTreeRenderer to active so UIProcess can send RenderNextFrame message to WebProcess
50369        after accelerated compositing(AC) mode is entered, so WebProcess can start flushing changes to UIProcess.
50370
50371        * UIProcess/API/efl/EflViewportHandler.cpp: Added API for setting LayerTreeRenderer's active state.
50372        (WebKit::EflViewportHandler::setActive):
50373        (WebKit):
50374        * UIProcess/API/efl/EflViewportHandler.h:
50375        (EflViewportHandler):
50376        * UIProcess/API/efl/ewk_view.cpp: Sets LayerTreeRenderer's active status to true after entering AC mode.
50377        (ewk_view_accelerated_compositing_mode_enter):
50378
503792012-10-10  Brady Eidson  <beidson@apple.com>
50380
50381        Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer
50382        https://bugs.webkit.org/show_bug.cgi?id=98976
50383
50384        Reviewed by Anders Carlsson.
50385
50386        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
50387        (WebKit::WebFrameLoaderClient::finishedLoading):
50388        * WebProcess/WebPage/WebFrame.cpp:
50389        (WebKit::WebFrame::source):
50390        * WebProcess/WebPage/WebPage.cpp:
50391        (WebKit::WebPage::getMainResourceDataOfFrame):
50392
503932012-10-11  Sam Weinig  <sam@webkit.org>
50394
50395        Add missing WK_EXPORT for WKDOMTextIterator.
50396
50397        Rubber-stamped by Brady Eidson.
50398
50399        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
50400
504012012-10-11  Zeno Albisser  <zeno@webkit.org>
50402
50403        [Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type.
50404        https://bugs.webkit.org/show_bug.cgi?id=98501
50405
50406        Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken.
50407        This is necessary in order to implement GraphicsSurface for Windows.
50408        Depending on the platform a GraphicsSurfaceToken might contain a
50409        WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows).
50410        The simple uint64_t is not sufficient anymore, since a single HANDLE in windows
50411        can be 64bit already.
50412
50413        Reviewed by Noam Rosenthal.
50414
50415        * Shared/ShareableSurface.cpp:
50416        (WebKit::ShareableSurface::Handle::encode):
50417        (WebKit::ShareableSurface::Handle::decode):
50418        (WebKit::ShareableSurface::create):
50419        (WebKit::ShareableSurface::createHandle):
50420        * Shared/ShareableSurface.h:
50421        (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
50422        (Handle):
50423        * Shared/WebCoreArgumentCoders.cpp:
50424        (CoreIPC):
50425        (CoreIPC::::encode):
50426        (CoreIPC::::decode):
50427        * Shared/WebCoreArgumentCoders.h:
50428        (WebCore):
50429        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
50430        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
50431        (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
50432        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
50433        (LayerTreeCoordinatorProxy):
50434        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
50435        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
50436        (WebKit::LayerTreeRenderer::syncCanvas):
50437        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
50438        (LayerTreeRenderer):
50439        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
50440        (WebCore::CoordinatedGraphicsLayer::syncCanvas):
50441        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
50442        (CoordinatedGraphicsLayerClient):
50443        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
50444        (WebKit::LayerTreeCoordinator::syncCanvas):
50445        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
50446        (LayerTreeCoordinator):
50447
504482012-10-10  Andras Becsi  <andras.becsi@digia.com>
50449
50450        [Qt][WK2] Avoid unnecessary calls in PageViewportController
50451        https://bugs.webkit.org/show_bug.cgi?id=98886
50452
50453        Reviewed by Jocelyn Turcotte.
50454
50455        Remove leftover and unneeded update guards and visibility update
50456        notifications to avoid unnecessary update cycles between the
50457        controller an the client.
50458        Previously didRenderFrame triggered updates for no reason since
50459        animations on the page cause a lot of DidRenderFrame messages
50460        for which the viewport state does not change.
50461
50462        * UIProcess/PageViewportController.cpp:
50463        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
50464        (WebKit::PageViewportController::didRenderFrame):
50465        * UIProcess/PageViewportController.h:
50466        (PageViewportController):
50467        * UIProcess/qt/PageViewportControllerClientQt.cpp:
50468        (WebKit::PageViewportControllerClientQt::setContentsScale):
50469        (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
50470        (WebKit::PageViewportControllerClientQt::updateViewportController):
50471        * UIProcess/qt/PageViewportControllerClientQt.h:
50472        (PageViewportControllerClientQt):
50473
504742012-10-11  Mario Sanchez Prada  <msanchez@igalia.com>
50475
50476        [GTK] It should be possible to disable favicons in WebKit2 GTK+ API
50477        https://bugs.webkit.org/show_bug.cgi?id=98885
50478
50479        Reviewed by Carlos Garcia Campos.
50480
50481        Make support for favicons in WebKit2GTK+ disabled by default, and
50482        allow enabling it even after calling webkit_web_context_get_favicon_database(),
50483        by decoupling opening the IconDatabase, which will happen when
50484        setting the path for the database directory, from creating the
50485        instance of WebKitFaviconDatabase from WebKitWebContext.
50486
50487        * UIProcess/API/gtk/WebKitWebContext.cpp:
50488        (_WebKitWebContextPrivate): Renamed faviconDatabasePath to
50489        faviconDatabaseDirectory;
50490        (ensureFaviconDatabase): Makes sure there's an instance of
50491        WebKitFaviconDatabase created and associated to the context.
50492        (webkit_web_context_set_favicon_database_directory): Use the
50493        default path if NULL is passed, or the specified one, creating the
50494        database if needed and opening it by setting it's path. If the
50495        database is already open this method does nothing.
50496        (webkit_web_context_get_favicon_database_directory): Return the
50497        path or NULL if webkit_web_context_set_favicon_database_directory
50498        has not been called yet.
50499        (webkit_web_context_get_favicon_database): Return the instance of
50500        WebKitFaviconDatabase, or create it if it doesn't exist yet, but
50501        never set the path (would cause the icon database to be opened).
50502
50503        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
50504        (testNotInitialized): New test to check that a NOT_INITIALIZED
50505        error is got when using the database before setting its path.
50506        (testSetDirectory): Call set_favicon_database_directory() here
50507        instead of doing it in the constructor of FaviconDatabaseTest.
50508        (beforeAll): Add testNotInitialized() to the test suite.
50509
505102012-10-11  Jinwoo Song  <jinwoo7.song@samsung.com>
50511
50512        [EFL][WK2] Revisit setting API names and documentation
50513        https://bugs.webkit.org/show_bug.cgi?id=98793
50514
50515        Reviewed by Kenneth Rohde Christiansen.
50516
50517        Make setting API names to be consistent and revisit the documentation.
50518
50519        * UIProcess/API/efl/ewk_settings.cpp:
50520        (ewk_settings_frame_flattening_enabled_set):
50521        (ewk_settings_frame_flattening_enabled_get):
50522        (ewk_settings_dns_prefetching_enabled_set):
50523        (ewk_settings_dns_prefetching_enabled_get):
50524        * UIProcess/API/efl/ewk_settings.h:
50525        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
50526        (TEST_F):
50527
505282012-10-10  Jer Noble  <jer.noble@apple.com>
50529
50530        Disallow full screen mode keyboard access by default.
50531        https://bugs.webkit.org/show_bug.cgi?id=98971
50532        <rdar://problem/12474226>
50533
50534        Reviewed by Sam Weinig.
50535
50536        Only support full screen if keyboard access is not requested.
50537
50538        * UIProcess/WebFullScreenManagerProxy.cpp:
50539        (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
50540
505412012-10-10  Sheriff Bot  <webkit.review.bot@gmail.com>
50542
50543        Unreviewed, rolling out r130972 and r130984.
50544        http://trac.webkit.org/changeset/130972
50545        http://trac.webkit.org/changeset/130984
50546        https://bugs.webkit.org/show_bug.cgi?id=98986
50547
50548        Huge numbers of WK2 crashes (Requested by smfr on #webkit).
50549
50550        * Platform/CoreIPC/Connection.h:
50551        (Connection):
50552        * Platform/CoreIPC/MessageReceiverMap.cpp:
50553        (CoreIPC::MessageReceiverMap::addMessageReceiver):
50554        (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
50555        (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
50556        (CoreIPC::MessageReceiverMap::dispatchMessage):
50557        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
50558        * Platform/CoreIPC/MessageReceiverMap.h:
50559        (MessageReceiverMap):
50560        * UIProcess/WebConnectionToWebProcess.h:
50561        (WebConnectionToWebProcess):
50562        * UIProcess/WebContext.cpp:
50563        (WebKit::WebContext::WebContext):
50564        (WebKit::WebContext::~WebContext):
50565        (WebKit::WebContext::knowsHowToHandleMessage):
50566        (WebKit::WebContext::didReceiveMessage):
50567        (WebKit::WebContext::didReceiveSyncMessage):
50568        * UIProcess/WebContext.h:
50569        (WebContext):
50570        * UIProcess/WebProcessProxy.cpp:
50571        (WebKit::WebProcessProxy::didReceiveMessage):
50572        (WebKit::WebProcessProxy::didReceiveSyncMessage):
50573        * UIProcess/WebProcessProxy.h:
50574        (WebProcessProxy):
50575
505762012-10-10  Sam Weinig  <sam@webkit.org>
50577
50578        Add more Objective-C WebKit2 DOM API skeletons.
50579        https://bugs.webkit.org/show_bug.cgi?id=98981
50580
50581        Reviewed by Anders Carlsson.
50582
50583        * WebKit2.xcodeproj/project.pbxproj:
50584        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
50585        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
50586        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
50587        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
50588        Update guards to actually do something. __CLANG__ is never defined, but __clang__ is.
50589
50590        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
50591        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
50592        - Abstracts DOM object caching into the DOMCache class which can only be used as a singleton.
50593        - Adds WKDOMRange class extension to allow manipulating its internal pointer for caching purposes.
50594        - Add WKDOMRange conversion functions.
50595
50596        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
50597        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
50598        Rename _node to _impl for consistency.
50599
50600        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
50601        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
50602        (-[WKDOMRange _initWithImpl:WebCore::]):
50603        (-[WKDOMRange initWithDocument:]):
50604        (-[WKDOMRange dealloc]):
50605        (-[WKDOMRange startContainer]):
50606        (-[WKDOMRange startOffset]):
50607        (-[WKDOMRange endContainer]):
50608        (-[WKDOMRange endOffset]):
50609        (-[WKDOMRange text]):
50610        Added. Only offers base range functionality.
50611
50612        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
50613        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
50614        (-[WKDOMTextIterator initWithRange:]):
50615        (-[WKDOMTextIterator advance]):
50616        (-[WKDOMTextIterator atEnd]):
50617        (-[WKDOMTextIterator currentRange]):
50618        (-[WKDOMTextIterator currentTextPointer]):
50619        (-[WKDOMTextIterator currentTextLength]):
50620        Added. Almost identical to WebTextIterator API in WebKit.
50621
506222012-10-10  Anders Carlsson  <andersca@apple.com>
50623
50624        Stop crashing left and right.
50625
50626        * UIProcess/WebConnectionToWebProcess.h:
50627        (WebKit::WebConnectionToWebProcess::webProcessProxy):
50628        Add a getter.
50629
50630        * UIProcess/WebProcessProxy.cpp:
50631        (WebKit::WebProcessProxy::fromConnection):
50632        The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
50633
506342012-10-10  Sam Weinig  <sam@webkit.org>
50635
50636        Fix the GCC Mac build. Why are we still building with GCC again?
50637
50638        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
50639        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
50640        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
50641        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
50642        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
50643        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
50644        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
50645        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
50646
506472012-10-10  Christophe Dumez  <christophe.dumez@intel.com>
50648
50649        [EFL][WK2] Add toolbar buttons to MiniBrowser
50650        https://bugs.webkit.org/show_bug.cgi?id=98883
50651
50652        Reviewed by Kenneth Rohde Christiansen.
50653
50654        Add "back,forward,list,changed" signal on the Ewk_View
50655        to notify the client when the view's back / forward
50656        list has changed. This is useful for the UI to update
50657        its back / forward buttons disabled state.
50658
50659        * UIProcess/API/efl/ewk_view.cpp:
50660        (ewk_view_back_forward_list_changed):
50661        * UIProcess/API/efl/ewk_view.h:
50662        * UIProcess/API/efl/ewk_view_loader_client.cpp:
50663        (didChangeBackForwardList):
50664        * UIProcess/API/efl/ewk_view_private.h:
50665
506662012-10-10  Jon Lee  <jonlee@apple.com>
50667
50668        [WK2] Activate plugins when user clicks on snapshot
50669        https://bugs.webkit.org/show_bug.cgi?id=98328
50670        <rdar://problem/12426681>
50671
50672        Reviewed by Brady Eidson.
50673
50674        Implement the recreation of the plugin.
50675
50676        * WebProcess/Plugins/PluginView.cpp:
50677        (WebKit::PluginView::recreateAndInitialize): We can run into a situation where the user
50678        decided to run the plugin before the snapshot was ready to be taken. In this case, the
50679        plugin member variable is non-null, and the timer is still active. Turn off the timer, and
50680        destroy that instance of the plugin. We set the plugin to the instance provided in the
50681        first parameter to this function, and reset the member variables so that the PluginView is
50682        in a state similar to when it was first created. We also immediately initialize the plugin,
50683        which may happen synchronously or asynchronously.
50684
50685        * WebProcess/Plugins/PluginView.h:
50686        (WebKit::PluginView::initialParameters): Expose the initial parameters. Used to recreate
50687        the plugin.
50688        (WebKit::PluginView::pluginElement): Expose the element associated with the widget. Used to
50689        recreate the plugin.
50690
50691        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
50692        (WebKit::WebFrameLoaderClient::recreatePlugin): Create a new Plugin instance using the same
50693        parameters used to create the plugin for snapshotting. Forward that instance to the widget.
50694        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
50695        (WebFrameLoaderClient): Implement recreatePlugin().
50696
506972012-10-10  Sam Weinig  <sam@webkit.org>
50698
50699        Fix 32-bit build.
50700
50701        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
50702        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
50703        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
50704        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
50705        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
50706        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
50707        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
50708        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
50709
507102012-10-10  Anders Carlsson  <andersca@apple.com>
50711
50712        WebContext should be a MessageReceiver
50713        https://bugs.webkit.org/show_bug.cgi?id=98958
50714
50715        Reviewed by Sam Weinig.
50716
50717        Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
50718        knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
50719
50720        * Platform/CoreIPC/Connection.h:
50721        (CoreIPC::Connection::client):
50722        (Connection):
50723        * Platform/CoreIPC/MessageReceiverMap.cpp:
50724        (CoreIPC::MessageReceiverMap::addMessageReceiver):
50725        (CoreIPC::MessageReceiverMap::invalidate):
50726        (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
50727        (CoreIPC::MessageReceiverMap::dispatchMessage):
50728        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
50729        * Platform/CoreIPC/MessageReceiverMap.h:
50730        (MessageReceiverMap):
50731        * UIProcess/WebContext.cpp:
50732        (WebKit::WebContext::WebContext):
50733        (WebKit::WebContext::~WebContext):
50734        (WebKit::WebContext::dispatchMessage):
50735        (WebKit::WebContext::dispatchSyncMessage):
50736        (WebKit::WebContext::didReceiveMessage):
50737        (WebKit::WebContext::didReceiveSyncMessage):
50738        * UIProcess/WebContext.h:
50739        (WebContext):
50740        * UIProcess/WebProcessProxy.cpp:
50741        (WebKit::WebProcessProxy::fromConnection):
50742        (WebKit):
50743        (WebKit::WebProcessProxy::didReceiveMessage):
50744        (WebKit::WebProcessProxy::didReceiveSyncMessage):
50745        * UIProcess/WebProcessProxy.h:
50746        (WebProcessProxy):
50747
507482012-10-10  Sam Weinig  <sam@webkit.org>
50749
50750        Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
50751        https://bugs.webkit.org/show_bug.cgi?id=98955
50752
50753        Reviewed by Anders Carlsson.
50754
50755        Add a skeleton DOM implementation only exposing Node, Element and Document
50756        for now. It is currently only available in 64-bit as it relies on the non-fragile
50757        ABI for now.
50758
50759        * WebKit2.xcodeproj/project.pbxproj:
50760        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added.
50761        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added.
50762        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added.
50763        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added.
50764        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added.
50765        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added.
50766        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added.
50767        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added.
50768
507692012-10-04  Andy Estes  <aestes@apple.com>
50770
50771        [WebKit2] Create an API for adding and removing user stylesheets from a page group
50772        https://bugs.webkit.org/show_bug.cgi?id=98432
50773
50774        Reviewed by Sam Weinig.
50775
50776        This patch adds the following API to WKBrowsingContextGroup:
50777
50778        - (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
50779        - (void)removeAllUserStyleSheets;
50780
50781        Sheets added via this API are sent to all processes that contain a page
50782        in the given page group. Sheets are also cached in the UI process in a
50783        new object called UserContentContainer, which is a property of each
50784        group's WebPageGroupData and is sent to new web processes during page
50785        initialization.
50786
50787        This is less than ideal, since new pages added to a pre-existing
50788        process / page group combination will send redundant user stylesheet
50789        strings over the wire. To avoid this we'd have to keep track track of
50790        the groups that currently exist in each process and only send user
50791        content during page creation if it is the first time a process has seen
50792        the page's group. I decided to not add this complexity for the time
50793        being, but we might need to consider it if we find that the current
50794        approach impacts performance for clients that heavily utilize user
50795        content.
50796
50797        * Shared/API/c/WKArray.cpp:
50798        (WKArrayCreateAdoptingValues): Add a WKArray creation function that
50799        adopts the incoming WKTypeRefs rather than refing them.
50800        * Shared/API/c/WKArray.h:
50801        * Shared/API/c/WKBase.h: Move WKUserContentInjectedFrames out of
50802        WKBundlePrivate.h so it can be used in WKPageGroup, too.
50803        * Shared/API/c/cf/WKURLCF.cpp:
50804        (WKURLCreateWithCFURL): Return 0 for null CFURLRefs instead of crashing
50805        inside CFURLGetString().
50806        * Shared/ImmutableArray.cpp:
50807        (WebKit::ImmutableArray::ImmutableArray): Add a tag to differentiate
50808        between the adopting and refing ctors.
50809        * Shared/ImmutableArray.h:
50810        (WebKit::ImmutableArray::create): Call the refing ctor.
50811        (WebKit::ImmutableArray::adopt): Call the adopting ctor.
50812        * Shared/UserContentContainer.cpp: Added.
50813        (UserContentItemMessageEncoder): Create a UserMessageEncoder for
50814        serializing UserContentContainer::Item's APIObjects.
50815        (WebKit::UserContentItemMessageEncoder::UserContentItemMessageEncoder):
50816        (WebKit::UserContentItemMessageEncoder::encode):
50817        (UserContentItemMessageDecoder): Create a UserMessageEncoder for
50818        deserializing UserContentContainer::Item's APIObjects.
50819        (WebKit::UserContentItemMessageDecoder::UserContentItemMessageDecoder):
50820        (WebKit::UserContentItemMessageDecoder::decode):
50821        (WebKit::UserContentContainer::Item::Item):
50822        (WebKit::encodeStringArray): Add a helper function for encoding
50823        ImmutableArrays of WebStrings.
50824        (WebKit::UserContentContainer::Item::encode): Encode the item's
50825        properties using UserContentItemMessageEncoder.
50826        (WebKit::decodeStringArray): Add a helper function for decoding
50827        ImmutableArrays of WebStrings.
50828        (WebKit::UserContentContainer::Item::decode): Decode the item's
50829        properties using UserContentItemMessageDecoder.
50830        (WebKit::toStringVector): Add a helper function for converting an
50831        ImmutableArray of WebStrings to a Vector of Strings.
50832        (WebKit::UserContentContainer::Item::whitelist): Use toStringVector().
50833        (WebKit::UserContentContainer::Item::blacklist): Ditto.
50834        (WebKit::UserContentContainer::encode): Encode the Vector of UserContentContainer::Items.
50835        (WebKit::UserContentContainer::decode): Decode the Vector of UserContentContainer::Items.
50836        * Shared/UserContentContainer.h: Added.
50837        * Shared/WebPageGroupData.cpp:
50838        (WebKit::WebPageGroupData::encode): Include userStyleSheets when encoding.
50839        (WebKit::WebPageGroupData::decode): Include userStyleSheets when decoding.
50840        * Shared/WebPageGroupData.h:
50841        (WebPageGroupData): Add a UserContentContainer called userStyleSheets
50842        to WebPageGroupData.
50843        * UIProcess/API/C/WKPageGroup.cpp: Add the C SPI version of the Objective-C API.
50844        (WKPageGroupAddUserStyleSheet):
50845        (WKPageGroupRemoveAllUserStyleSheets):
50846        * UIProcess/API/C/WKPageGroup.h:
50847        * UIProcess/API/mac/WKBrowsingContextGroup.h: Add the Objective-C API.
50848        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
50849        (createWKArray): Add a helper function that converts an NSArray of NSStrings to a WKArray of WKStrings.
50850        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelist:blacklist:mainFrameOnly:]):
50851        Implement the Objective-C API in terms of the C SPI.
50852        (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
50853        * UIProcess/WebPageGroup.cpp:
50854        (WebKit::WebPageGroup::addUserStyleSheet): Add the new sheet to the
50855        group's WebPageGroupData, which ensures that the group's sheets are
50856        sent to new web processes.
50857        (WebKit::WebPageGroup::removeAllUserStyleSheets): Ditto for removal.
50858        * UIProcess/WebPageGroup.h:
50859        (WebKit::WebPageGroup::sendToAllProcessesInGroup): Add a helper message
50860        that sends a message to all processes that have a page in the current
50861        group. This is used to add new user sheets to already-initialized page
50862        groups in the UI processes.
50863        * WebKit2.xcodeproj/project.pbxproj:
50864        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved
50865        WKUserContentInjectedFrames from here to WKBase.h.
50866        * WebProcess/WebPage/WebPageGroupProxy.cpp:
50867        (WebKit::WebPageGroupProxy::WebPageGroupProxy): Add each sheet in the
50868        WebPageGroupData to WebCore's page group.
50869        (WebKit::WebPageGroupProxy::addUserStyleSheet): Add the sheet received
50870        from the UI process to WebCore's page group.
50871        (WebKit::WebPageGroupProxy::removeAllUserStyleSheets): Remove all
50872        sheets from WebCore's page group.
50873        * WebProcess/WebPage/WebPageGroupProxy.h:
50874        * WebProcess/WebPage/WebPageGroupProxy.messages.in: Define
50875        AddUserStyleSheet and RemoveAllUserStyleSheets, two messages sent from
50876        the UI process to a web process's WebPageGroupProxy.
50877
508782012-10-10  Sam Weinig  <sam@webkit.org>
50879
50880        Make all of the WebContext sub objects MessageReceivers
50881        https://bugs.webkit.org/show_bug.cgi?id=98661
50882
50883        Reviewed by Anders Carlsson.
50884
50885        Start work towards simplified message dispatch.
50886
50887        * Platform/CoreIPC/MessageReceiverMap.cpp:
50888        (CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
50889        (CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
50890        (CoreIPC::MessageReceiverMap::dispatchSyncMessage):
50891        * Platform/CoreIPC/MessageReceiverMap.h:
50892        Add additional helper methods.
50893
50894        * UIProcess/WebContext.cpp:
50895        (WebKit::WebContext::~WebContext):
50896        (WebKit::WebContext::addMessageReceiver):
50897        (WebKit::WebContext::knowsHowToHandleMessage):
50898        (WebKit::WebContext::didReceiveMessage):
50899        (WebKit::WebContext::didReceiveSyncMessage):
50900        * UIProcess/WebContext.h:
50901        Add a MessageReceiverMap that chains to the main on in WebProcessProxy. Simplifies
50902        didReceiveMessage and didReceiveSyncMessage.
50903
50904        * UIProcess/WebProcessProxy.cpp:
50905        (WebKit::WebProcessProxy::didReceiveMessage):
50906        (WebKit::WebProcessProxy::didReceiveSyncMessage):
50907        Use the new WebContext methods to simplify dispatch.
50908
50909        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
50910        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
50911        * UIProcess/Notifications/WebNotificationManagerProxy.h:
50912        (WebNotificationManagerProxy):
50913        * UIProcess/WebApplicationCacheManagerProxy.cpp:
50914        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
50915        * UIProcess/WebApplicationCacheManagerProxy.h:
50916        (WebApplicationCacheManagerProxy):
50917        * UIProcess/WebBatteryManagerProxy.cpp:
50918        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
50919        * UIProcess/WebBatteryManagerProxy.h:
50920        (WebBatteryManagerProxy):
50921        * UIProcess/WebCookieManagerProxy.cpp:
50922        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
50923        * UIProcess/WebCookieManagerProxy.h:
50924        (WebCookieManagerProxy):
50925        * UIProcess/WebDatabaseManagerProxy.cpp:
50926        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
50927        (WebKit::WebDatabaseManagerProxy::didReceiveMessage):
50928        (WebKit):
50929        * UIProcess/WebDatabaseManagerProxy.h:
50930        (WebDatabaseManagerProxy):
50931        * UIProcess/WebGeolocationManagerProxy.cpp:
50932        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
50933        * UIProcess/WebGeolocationManagerProxy.h:
50934        (WebGeolocationManagerProxy):
50935        * UIProcess/WebIconDatabase.cpp:
50936        (WebKit::WebIconDatabase::WebIconDatabase):
50937        * UIProcess/WebIconDatabase.h:
50938        (WebIconDatabase):
50939        (WebKit::WebIconDatabase::type):
50940        * UIProcess/WebKeyValueStorageManagerProxy.cpp:
50941        (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
50942        * UIProcess/WebKeyValueStorageManagerProxy.h:
50943        (WebKeyValueStorageManagerProxy):
50944        * UIProcess/WebMediaCacheManagerProxy.cpp:
50945        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
50946        * UIProcess/WebMediaCacheManagerProxy.h:
50947        (WebMediaCacheManagerProxy):
50948        * UIProcess/WebNetworkInfoManagerProxy.cpp:
50949        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
50950        (WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
50951        * UIProcess/WebNetworkInfoManagerProxy.h:
50952        (WebNetworkInfoManagerProxy):
50953        * UIProcess/WebResourceCacheManagerProxy.cpp:
50954        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
50955        (WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
50956        (WebKit):
50957        * UIProcess/WebResourceCacheManagerProxy.h:
50958        (WebResourceCacheManagerProxy):
50959        * UIProcess/WebVibrationProxy.cpp:
50960        (WebKit::WebVibrationProxy::WebVibrationProxy):
50961        * UIProcess/WebVibrationProxy.h:
50962        (WebVibrationProxy):
50963        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
50964        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
50965        (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
50966        (WebKit):
50967        * UIProcess/soup/WebSoupRequestManagerProxy.h:
50968        (WebSoupRequestManagerProxy):
50969        * WebProcess/Authentication/AuthenticationManager.h:
50970        (AuthenticationManager):
50971        * WebProcess/Geolocation/WebGeolocationManager.h:
50972        (WebGeolocationManager):
50973        Make all the WebContext sub-objects MessageReceivers to simplify dispatch.
50974
509752012-10-10  Simon Fraser  <simon.fraser@apple.com>
50976
50977        Add the mangled symbol name for Frame::layerTreeAsText() to the confusingly named
50978        Windows export file.
50979
50980        * win/WebKit2.def:
50981
509822012-10-10  Simon Fraser  <simon.fraser@apple.com>
50983
50984        Store a visible rect in GraphicsLayers, and optionally dump it in layerTreeAsText
50985        https://bugs.webkit.org/show_bug.cgi?id=98839
50986
50987        Reviewed by Sam Weinig.
50988
50989        Add a flag to layerTreeAsText() so that tests can optionally include this visible rect in
50990        layer tree dumps. This output will be platform-specific, so we don't want to do it unconditionally.
50991
50992        * WebProcess/WebPage/WebFrame.cpp:
50993        (WebKit::WebFrame::layerTreeAsText):
50994
509952012-10-10  Shinya Kawanaka  <shinyak@chromium.org>
50996
50997        Needs internal API to return distributed nodes for InsertionPoint
50998        https://bugs.webkit.org/show_bug.cgi?id=98868
50999
51000        Reviewed by Hajime Morita.
51001
51002        * win/WebKit2.def:
51003        * win/WebKit2CFLite.def:
51004
510052012-10-10  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51006
51007        [Qt][WK2] REGRESSION(r130879): It made fast/events/touch/* tests crash
51008        https://bugs.webkit.org/show_bug.cgi?id=98888
51009
51010        Reviewed by Kenneth Rohde Christiansen.
51011
51012        Add null-checks in the gesture recognizers to allow them working without a PageViewportController.
51013        The pinch and pan gesture recognizers aren't used in that case yet, but they could eventually
51014        be used to send pinch and pan gesture events to the web process. They are currently kept active
51015        because we need the tap gesture recognizer and its logic is bound to those other recognizers.
51016
51017        * UIProcess/qt/QtPanGestureRecognizer.cpp:
51018        (WebKit::QtPanGestureRecognizer::update):
51019        (WebKit::QtPanGestureRecognizer::finish):
51020        (WebKit::QtPanGestureRecognizer::cancel):
51021        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
51022        (WebKit::QtPinchGestureRecognizer::update):
51023        (WebKit::QtPinchGestureRecognizer::finish):
51024        (WebKit::QtPinchGestureRecognizer::cancel):
51025
510262012-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
51027
51028        [GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
51029        https://bugs.webkit.org/show_bug.cgi?id=98731
51030
51031        Reviewed by Martin Robinson.
51032
51033        The problem is in the test itself that is using
51034        SingleResourceLoadTest class to load a multiresource document.
51035
51036        * UIProcess/API/gtk/tests/TestResources.cpp:
51037        (testWebViewResourcesHistoryCache): Load only single resource
51038        documents and check also that the main resource given is the
51039        expected one.
51040        (serverCallback): Add another single resource document.
51041
510422012-10-10  Christophe Dumez  <christophe.dumez@intel.com>
51043
51044        [WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
51045        https://bugs.webkit.org/show_bug.cgi?id=98882
51046
51047        Reviewed by Kenneth Rohde Christiansen.
51048
51049        Properly serialize / deserialize ResourceError.isCancellation
51050        boolean so that it can be used in UIProcess.
51051
51052        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
51053        (CoreIPC::::encode):
51054        (CoreIPC::::decode):
51055
510562012-10-10  Jinwoo Song  <jinwoo7.song@samsung.com>
51057
51058        [EFL][WK2] Add APIs to get/set the DNS prefetching
51059        https://bugs.webkit.org/show_bug.cgi?id=98790
51060
51061        Reviewed by Laszlo Gombos.
51062
51063        Add setting APIs for DNS prefetching and a unit test.
51064
51065        * UIProcess/API/efl/ewk_settings.cpp:
51066        (ewk_settings_DNS_prefetching_enabled_set):
51067        (ewk_settings_DNS_prefetching_enabled_get):
51068        * UIProcess/API/efl/ewk_settings.h:
51069        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
51070        (TEST_F):
51071
510722012-10-09  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51073
51074        [Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
51075        https://bugs.webkit.org/show_bug.cgi?id=98642
51076
51077        Reviewed by Kenneth Rohde Christiansen.
51078
51079        There was an early return that would prevent gesture recognition if no PageViewportController
51080        has been set on QtWebPageEventHandler. The gesture recognizer are also used to send
51081        GestureEvents to WebCore which this layout test is using.
51082
51083        Make sure that the gesture recognition is done even when no PageViewportController is present.
51084
51085        * UIProcess/qt/QtWebPageEventHandler.cpp:
51086        (WebKit::QtWebPageEventHandler::handleInputEvent):
51087        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
51088
510892012-10-10  Zeno Albisser  <zeno@webkit.org>
51090
51091        [Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
51092        https://bugs.webkit.org/show_bug.cgi?id=98398
51093
51094        QString(const char*) is deprecated, we should use QStringLiteral instead.
51095
51096        Reviewed by Kenneth Rohde Christiansen.
51097
51098        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
51099        (WebKit::ProcessLauncher::launchProcess):
51100
511012012-10-10  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
51102
51103        [EFL][WK2] Add History callbacks API
51104        https://bugs.webkit.org/show_bug.cgi?id=98594
51105
51106        Reviewed by Kenneth Rohde Christiansen.
51107
51108        Added History callbacks API to Ewk Context. Added unit tests.
51109
51110        * PlatformEfl.cmake:
51111        * UIProcess/API/efl/EWebKit2.h:
51112        * UIProcess/API/efl/ewk_context.cpp:
51113        (_Ewk_Context):
51114        (_Ewk_Context::_Ewk_Context):
51115        (ewk_context_history_callbacks_set): New public function which lets the client to set History callbacks.
51116        (ewk_context_history_client_get):
51117        (ewk_context_add_visited_link): New public function to mark a URL as visited link.
51118        * UIProcess/API/efl/ewk_context.h:
51119        * UIProcess/API/efl/ewk_context_history_client.cpp: Added.
51120        (getEwkHistoryDelegate):
51121        (didNavigateWithNavigationData):
51122        (didPerformClientRedirect):
51123        (didPerformServerRedirect):
51124        (didUpdateHistoryTitle):
51125        (populateVisitedLinks):
51126        (ewk_context_history_client_attach):
51127        * UIProcess/API/efl/ewk_context_history_client_private.h: Added.
51128        * UIProcess/API/efl/ewk_context_private.h:
51129        * UIProcess/API/efl/ewk_navigation_data.cpp: Added.
51130        (_Ewk_Navigation_Data):
51131        (_Ewk_Navigation_Data::_Ewk_Navigation_Data):
51132        (_Ewk_Navigation_Data::~_Ewk_Navigation_Data):
51133        (ewk_navigation_data_ref):
51134        (ewk_navigation_data_unref):
51135        (ewk_navigation_data_title_get):
51136        (ewk_navigation_data_original_request_get):
51137        (ewk_navigation_data_url_get):
51138        (ewk_navigation_data_new):
51139        * UIProcess/API/efl/ewk_navigation_data.h: Added.
51140        * UIProcess/API/efl/ewk_navigation_data_private.h: Added.
51141        * UIProcess/API/efl/ewk_view.cpp:
51142        (addToPageViewMap):
51143        (removeFromPageViewMap):
51144        (_ewk_view_smart_del):
51145        (_ewk_view_initialize):
51146        (ewk_view_from_page_get):
51147        * UIProcess/API/efl/ewk_view_private.h:
51148        * UIProcess/API/efl/tests/test_ewk2_context_history_delegate.cpp: Added.
51149        (httpServer):
51150        (navigateWithNavigationData):
51151        (performClientRedirect):
51152        (performServerRedirect):
51153        (updateHistoryTitle):
51154        (populateVisitedLinks):
51155        (onLoadFinishedForRedirection):
51156        (serverCallbackRedirection):
51157        (TEST_F):
51158
511592012-10-09  Byungwoo Lee  <bw80.lee@samsung.com>
51160
51161        [EFL][WK2] Change parameter and return type of loadUrlSync().
51162        https://bugs.webkit.org/show_bug.cgi?id=97920
51163
51164        Reviewed by Gyuyoung Kim.
51165
51166        loadUrlSync() uses waitUntilLoadFinished() internally, and it has
51167        a parameter and return value for timeout.
51168        To set and check timeout, loadUrlSync() should have those.
51169
51170        A parameter for timeout interval is added to loadUrlSync() and it
51171        returns the result of waitUntilLoadFinished() for checking timeout.
51172
51173        And I added codes to check the result of all the LoadUrlSync()
51174        function calls with ASSERT_TRUE() macro.
51175
51176        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
51177        (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
51178        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
51179        (EWK2UnitTestBase):
51180        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
51181        (TEST_F):
51182        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
51183        (TEST_F):
51184        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
51185        (TEST_F):
51186        * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
51187        (TEST_F):
51188        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
51189        (TEST_F):
51190
511912012-10-09  Byungwoo Lee  <bw80.lee@samsung.com>
51192
51193        [EFL][WK2] Move timeout callback to the CallbackDataTimer class.
51194        https://bugs.webkit.org/show_bug.cgi?id=97861
51195
51196        Reviewed by Gyuyoung Kim.
51197
51198        Timeout callbacks for waitUntil{LoadFinished,TitleChanged,URIChanged}
51199        can be moved to the CallbackDataTimer class.
51200
51201        Moved the callback implementation to the CallbackDataTimer class.
51202
51203        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
51204        (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
51205        (CallbackDataTimer):
51206        (EWK2UnitTest::CallbackDataTimer::timeOutCallback):
51207        (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
51208        (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
51209        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
51210        (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo):
51211
512122012-10-09  Jian Li  <jianli@chromium.org>
51213
51214        Update the CSS property used to support draggable regions.
51215        https://bugs.webkit.org/show_bug.cgi?id=97156
51216
51217        Reviewed by Adam Barth.
51218
51219        The CSS property to support draggable regions, guarded under
51220        WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
51221        confusion with DASHBOARD_SUPPORT feature.
51222
51223        Also update the code to use the new name annotatedRegions to work for
51224        both features.
51225
51226        * Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
51227        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Rename dashboardRegions to annotatedRegions.
51228        (WebKit::WebChromeClient::annotatedRegionsChanged):
51229        * WebProcess/WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
51230        (WebChromeClient):
51231
512322012-10-09  Sheriff Bot  <webkit.review.bot@gmail.com>
51233
51234        Unreviewed, rolling out r130811 and r130821.
51235        http://trac.webkit.org/changeset/130811
51236        http://trac.webkit.org/changeset/130821
51237        https://bugs.webkit.org/show_bug.cgi?id=98831
51238
51239        Broke date-suggestion-picker-appearance-with-scroll-bar.html
51240        (Requested by abarth|gardening on #webkit).
51241
51242        * Shared/WebRenderObject.cpp:
51243        (WebKit::WebRenderObject::WebRenderObject):
51244        * WebProcess/FullScreen/WebFullScreenManager.cpp:
51245        (WebKit::screenRectOfContents):
51246
512472012-10-09  Jon Lee  <jonlee@apple.com>
51248
51249        [WK2] Have plugins render offscreen to capture snapshot
51250        https://bugs.webkit.org/show_bug.cgi?id=98326
51251        <rdar://problem/12426658>
51252
51253        Reviewed by Simon Fraser.
51254
51255        Keep the plugin rendering without compositing to easily grab the snapshot.
51256
51257        PluginView now has two variables referring to snapshots, but are unrelated. The timer
51258        is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
51259        variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
51260        should the plugin run JS during painting.
51261
51262        * WebProcess/Plugins/PluginView.cpp:
51263        (WebKit): Add a named constant for the time delay before a snapshot is taken.
51264        (WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
51265        (WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
51266        destroyPluginAndReset() for reuse.
51267        (WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
51268        In addition to destroying the plugin, the destructor cancels pending loads and streams.
51269        (WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
51270        to generate or display a poster, don't setup the compositing layer and start the timer.
51271        (WebKit::PluginView::paint): Avoid painting if the plugin is not running.
51272        (WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
51273        (WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
51274        until the plugin is running.
51275        (WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
51276        an Image that WebCore can render, and destroy the plugin.
51277
51278        Rename m_snapshot to m_transientPaintingSnapshot.
51279        * WebProcess/Plugins/PluginView.h:
51280        * WebProcess/Plugins/PluginView.cpp:
51281        (WebKit::PluginView::paint):
51282        (WebKit::PluginView::notifyWidget):
51283        (WebKit::PluginView::pluginSnapshotTimerFired):
51284
512852012-10-09  Rik Cabanier  <cabanier@adobe.com>
51286
51287        Add missing compile flag for compositing
51288        https://bugs.webkit.org/show_bug.cgi?id=98681
51289
51290        Reviewed by Dirk Schulze.
51291
51292        This flag is needed in case there is a difference in API
51293        when compositing is enabled
51294
51295        * Configurations/FeatureDefines.xcconfig:
51296
512972012-10-09  Sheriff Bot  <webkit.review.bot@gmail.com>
51298
51299        Unreviewed, rolling out r130680.
51300        http://trac.webkit.org/changeset/130680
51301        https://bugs.webkit.org/show_bug.cgi?id=98720
51302
51303        this patch has a typo so was ineffective (Requested by
51304        cabanier on #webkit).
51305
51306        * Configurations/FeatureDefines.xcconfig:
51307
513082012-10-09  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
51309
51310        [EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
51311        https://bugs.webkit.org/show_bug.cgi?id=98757
51312
51313        Reviewed by Kenneth Rohde Christiansen.
51314
51315        SVN r130720 exposed a bug in our code: the PageProxy is not
51316        notified when one calls evas_object_show() or evas_object_hide()
51317        on the view, so the visibility it has when the WebPageProxy is
51318        constructed remained set forever.
51319
51320        This made the ewk_context_vibration_client_callbacks_set unit test
51321        start running forever, because WebPageProxy's constructor now sets
51322        the page's visibility to hidden by the default for us, since it is
51323        called from within ewk_view_smart_add() and before
51324        evas_object_show().
51325
51326        We now listen to the EVAS_CALLBACK_SHOW and EVAS_CALLBACK_HIDE
51327        callbacks and update the WebPageProxy accordingly. Note that we
51328        could not do this from the smart_show and smart_hide functions we
51329        already had, since they are called before the object's actual
51330        visibility is updated.
51331
51332        * UIProcess/API/efl/ewk_view.cpp:
51333        (_ewk_view_on_show):
51334        (_ewk_view_on_hide):
51335        (_ewk_view_smart_add):
51336
513372012-10-09  Simon Pena  <spena@igalia.com>
51338
51339        [GTK] Add support for running JavaScript from GResources
51340        https://bugs.webkit.org/show_bug.cgi?id=98488
51341
51342        Reviewed by Carlos Garcia Campos.
51343
51344        GResources allow embedding certain resources, frequently used, in a "bundle"
51345        which can be kept separated or stored in the binary. This patch adds
51346        support for running JavaScript from GResources.
51347
51348        For this, methods run_javascript_from_gresource and
51349        run_javascript_from_gresource_finish are added, which load the resource
51350        asynchronously and, when it is ready, run the JavaScript.
51351
51352        * UIProcess/API/gtk/WebKitWebView.cpp: Include the new methods.
51353        (resourcesStreamReadCallback):
51354        (webkit_web_view_run_javascript_from_gresource):
51355        (webkit_web_view_run_javascript_from_gresource_finish):
51356        * UIProcess/API/gtk/WebKitWebView.h:
51357        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
51358        methods in the documentation.
51359        * UIProcess/API/gtk/tests/GNUmakefile.am: Add the test resources to the
51360        build infrastructure.
51361        * UIProcess/API/gtk/tests/TestMain.cpp: Register the resources in the tests,
51362        so that they can be accessed in all of them.
51363        (register_gresource):
51364        (main):
51365        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Test the
51366        run_javascript_from_gresource method.
51367        (testWebViewRunJavaScript):
51368        * UIProcess/API/gtk/tests/WebViewTest.cpp: Add a method for testing the
51369        new run_javascript_from_gresource method.
51370        (runJavaScriptFromGResourceReadyCallback):
51371        (WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
51372        * UIProcess/API/gtk/tests/WebViewTest.h:
51373        * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml: Added.
51374        Resource bundle containing the resources.
51375        * UIProcess/API/gtk/tests/resources/webkit2gtk-tests.test.js: Added.
51376        Example JavaScript file to test the GResources support.
51377
51378
513792012-10-08  Kiran Muppala  <cmuppala@apple.com>
51380
51381        Throttle DOM timers on hidden pages.
51382        https://bugs.webkit.org/show_bug.cgi?id=98474
51383
51384        Reviewed by Maciej Stachowiak.
51385
51386        Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define.  Use existing code of
51387        PAGE_VISIBILITY_API to detect changes to page visibility state.
51388
51389        * Configurations/FeatureDefines.xcconfig:
51390        * UIProcess/WebPageProxy.cpp:
51391        (WebKit::WebPageProxy::WebPageProxy):
51392        Check visibility state on construction.
51393        (WebKit::WebPageProxy::initializeWebPage):
51394        Send initial visibility state message if HIDDEN_PAGE_DOM_TIMER_THROTTLING
51395        is enabled or if PAGE_VISIBILITY_API is enabled.
51396        (WebKit::WebPageProxy::viewStateDidChange):
51397        When PAGE_VISIBILITY_API is not enabled, compare new visibility against
51398        WebPageProxy::m_isVisible, to minimize number of messages sent.
51399        Remove unnecessary second call to PageClient::isViewVisible for updating
51400        visibility state.
51401
51402        * WebProcess/InjectedBundle/InjectedBundle.cpp:
51403        (WebKit::InjectedBundle::setPageVisibilityState):
51404        WebKitTestRunner uses this method to implement testRunner.setPageVisibility(),
51405        hence enable it for testing hidden page timer throttling as well.
51406
51407        * WebProcess/WebPage/WebPage.cpp:
51408        (WebKit):
51409        (WebKit::WebPage::setVisibilityState):
51410        Ensure Page::setVisibilityState is called either if PAGE_VISIBILITY_API is
51411        enabled or if HIDDEN_PAGE_DOM_TIMER_THROTTLING is enabled.
51412
51413        * WebProcess/WebPage/WebPage.h:
51414        (WebPage):
51415        * WebProcess/WebPage/WebPage.messages.in:
51416
514172012-10-08  Simon Fraser  <simon.fraser@apple.com>
51418
51419        Try to fix Windows build by exporting Frame::layerTreeAsText().
51420
51421        * win/WebKit2.def:
51422
514232012-10-08  Rik Cabanier  <cabanier@adobe.com>
51424
51425        Add missing compile flag for compositing
51426        https://bugs.webkit.org/show_bug.cgi?id=98681
51427
51428        Reviewed by Dirk Schulze.
51429
51430        This flag is needed in case there is a difference in API
51431        when compositing is enabled
51432
51433        * Configurations/FeatureDefines.xcconfig:
51434
514352012-10-08  Christophe Dumez  <christophe.dumez@intel.com>
51436
51437        [EFL][WK2] EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test is failing
51438        https://bugs.webkit.org/show_bug.cgi?id=98663
51439
51440        Reviewed by Laszlo Gombos.
51441
51442        EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test was
51443        failing because the elements of a list were checked in a given
51444        order but the list was not sorted beforehand.
51445
51446        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
51447        (sortHostNames):
51448        (TEST_F):
51449
514502012-10-08  Jinwoo Song  <jinwoo7.song@samsung.com>
51451
51452        [EFL][WK2] Avoid useless converting to WKPage
51453        https://bugs.webkit.org/show_bug.cgi?id=98516
51454
51455        Reviewed by Eric Seidel.
51456
51457        Use priv->pageProxy->findString() and priv->pageProxy->hideFindUI()
51458        to avoid useless converting to WK.
51459
51460        * UIProcess/API/efl/ewk_view.cpp:
51461        (ewk_view_text_find):
51462        (ewk_view_text_find_highlight_clear):
51463
514642012-10-08  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
51465
51466        [WK2][WTR] WebKitTestRunner needs testRunner.dispatchPendingLoadRequests
51467        https://bugs.webkit.org/show_bug.cgi?id=98638
51468
51469        Reviewed by Eric Seidel.
51470
51471        Add implementation for testRunner.dispatchPendingLoadRequests in
51472        WebKitTestRunner.
51473
51474        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
51475        (WKBundleDispatchPendingLoadRequests):
51476        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
51477        * WebProcess/InjectedBundle/InjectedBundle.cpp:
51478        (WebKit::InjectedBundle::dispatchPendingLoadRequests):
51479        (WebKit):
51480        * WebProcess/InjectedBundle/InjectedBundle.h:
51481        (InjectedBundle):
51482
514832012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
51484
51485        [GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
51486        https://bugs.webkit.org/show_bug.cgi?id=98646
51487
51488        Reviewed by Xan Lopez.
51489
51490        * UIProcess/API/gtk/WebKitSettings.cpp:
51491        (webKitSettingsSetProperty): Implement setter for new property.
51492        (webKitSettingsGetProperty): Implement getter for new property.
51493        (webkit_settings_class_init): Add new property
51494        enable-smooth-scrolling.
51495        (webkit_settings_get_enable_smooth_scrolling):
51496        (webkit_settings_set_enable_smooth_scrolling):
51497        * UIProcess/API/gtk/WebKitSettings.h:
51498        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
51499        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
51500        (testWebKitSettings): Test smooth scrolling setting API.
51501
515022012-10-08  Christophe Dumez  <christophe.dumez@intel.com>
51503
51504        [EFL][WK2] Use URL instead of URI in the API
51505        https://bugs.webkit.org/show_bug.cgi?id=98643
51506
51507        Reviewed by Kenneth Rohde Christiansen.
51508
51509        Use URL instead of URI in WebKit2 EFL API. This change
51510        was discussed on the mailing list and aims at making
51511        the API more consistent.
51512
51513        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
51514        (_Ewk_Back_Forward_List_Item):
51515        (ewk_back_forward_list_item_url_get):
51516        (ewk_back_forward_list_item_original_url_get):
51517        * UIProcess/API/efl/ewk_back_forward_list_item.h:
51518        * UIProcess/API/efl/ewk_context.cpp:
51519        (ewk_context_url_scheme_register):
51520        * UIProcess/API/efl/ewk_context.h:
51521        * UIProcess/API/efl/ewk_context_download_client.cpp:
51522        (decideDestinationWithSuggestedFilename):
51523        * UIProcess/API/efl/ewk_download_job.h:
51524        * UIProcess/API/efl/ewk_resource_private.h:
51525        * UIProcess/API/efl/ewk_view.cpp:
51526        (_Ewk_View_Private_Data):
51527        (ewk_view_url_update):
51528        (ewk_view_url_set):
51529        (ewk_view_url_get):
51530        (ewk_view_reload):
51531        (ewk_view_reload_bypass_cache):
51532        (ewk_view_load_finished):
51533        (ewk_view_load_provisional_redirect):
51534        (ewk_view_load_provisional_started):
51535        (ewk_view_html_string_load):
51536        * UIProcess/API/efl/ewk_view.h:
51537        * UIProcess/API/efl/ewk_view_loader_client.cpp:
51538        (didSameDocumentNavigationForFrame):
51539        * UIProcess/API/efl/ewk_view_private.h:
51540        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
51541        (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
51542        (EWK2UnitTest::onURLChanged):
51543        (EWK2UnitTest::timeOutWhileWaitingUntilURLChangedTo):
51544        (EWK2UnitTest::EWK2UnitTestBase::waitUntilURLChangedTo):
51545        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
51546        (EWK2UnitTestBase):
51547        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
51548        (EWK2UnitTestServer::EWK2UnitTestServer):
51549        (EWK2UnitTestServer::~EWK2UnitTestServer):
51550        (EWK2UnitTestServer::getURLForPath):
51551        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
51552        (EWK2UnitTestServer):
51553        * UIProcess/API/efl/tests/resources/redirect_url_to_default.html: Renamed from Source/WebKit2/UIProcess/API/efl/tests/resources/redirect_uri_to_default.html.
51554        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
51555        (checkItem):
51556        (urlFromTitle):
51557        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
51558        (TEST_F):
51559        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
51560        (TEST_F):
51561        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
51562        (TEST_F):
51563        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
51564        (TEST_F):
51565        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
51566        (TEST_F):
51567
515682012-10-08  Zoltan Horvath  <zoltan@webkit.org>
51569
51570        [Qt] r122720 causes performance regression with DirectFB on ARMv7
51571        https://bugs.webkit.org/show_bug.cgi?id=97548
51572
51573        Reviewed by Jocelyn Turcotte.
51574
51575        Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
51576
51577        Covered by existing tests.
51578
51579        * Shared/qt/ShareableBitmapQt.cpp:
51580        (WebKit::ShareableBitmap::createImage):
51581        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
51582        (WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
51583        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
51584        (WebKit::convertQPixmapToShareableBitmap):
51585        (WebKit::WebDragClient::startDrag):
51586        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
51587        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
51588
515892012-10-08  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51590
51591        Unreviewed build fix after r130630
51592
51593        Explicit convertion is required from QSizeF to FloatSize.
51594
51595        * UIProcess/API/qt/qquickwebview.cpp:
51596        (QQuickWebViewLegacyPrivate::updateViewportSize):
51597
515982012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51599
51600        [Qt] Fix the mouse hover events transformation when devicePixelRatio != 1
51601        https://bugs.webkit.org/show_bug.cgi?id=98429
51602
51603        Reviewed by Kenneth Rohde Christiansen.
51604
51605        This prevents the events from being transformed two or three times.
51606        This is only noticeable in desktop mode.
51607
51608        * UIProcess/qt/QtWebPageEventHandler.cpp:
51609        (WebKit::QtWebPageEventHandler::handleHoverLeaveEvent):
51610        (WebKit::QtWebPageEventHandler::handleHoverMoveEvent):
51611
516122012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51613
51614        [Qt] Apply QQuickWebViewExperimental::devicePixelRatio to the desktop mode as well
51615        https://bugs.webkit.org/show_bug.cgi?id=98428
51616
51617        Reviewed by Kenneth Rohde Christiansen.
51618
51619        This is handled by the PageViewportController when in flickable mode.
51620
51621        * UIProcess/API/qt/qquickwebview.cpp:
51622        (QQuickWebViewLegacyPrivate::updateViewportSize):
51623
516242012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51625
51626        [Qt] Prevent the PageViewportController from affecting the viewport in desktop mode
51627        https://bugs.webkit.org/show_bug.cgi?id=98427
51628
51629        Reviewed by Kenneth Rohde Christiansen.
51630
51631        QQuickFlickable isn't tightly bound to it anymore, we can avoid creating it
51632        completely in this case.
51633
51634        * UIProcess/API/qt/qquickwebview.cpp:
51635        (QQuickWebViewFlickablePrivate::onComponentComplete):
51636        * UIProcess/API/qt/qquickwebview_p_p.h:
51637        (QQuickWebViewPrivate::onComponentComplete):
51638        (QQuickWebViewPrivate::viewportController):
51639        (QQuickWebViewPrivate):
51640        (QQuickWebViewFlickablePrivate::viewportController):
51641        (QQuickWebViewFlickablePrivate):
51642        * UIProcess/qt/QtPageClient.cpp:
51643        (WebKit::QtPageClient::didRenderFrame):
51644        (WebKit::QtPageClient::didChangeContentsSize):
51645        (WebKit::QtPageClient::pageTransitionViewportReady):
51646        * UIProcess/qt/QtWebPageLoadClient.cpp:
51647        (WebKit::QtWebPageLoadClient::didCommitLoad):
51648
516492012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
51650
51651        [Qt] Fix a QSocketNotifier warning at startup
51652        https://bugs.webkit.org/show_bug.cgi?id=98411
51653
51654        Reviewed by Simon Hausmann.
51655
51656        The actual warning:
51657        QSocketNotifier: socket notifiers cannot be enabled from another thread
51658
51659        The problem was that QSocketNotifier::setEnabled was called on the main thread
51660        after moveToThread was called. This hasn't had any effect since Connection
51661        would dispatch a readyReadHandler call right after which would then call
51662        setEnabled again from the correct thread from ~SocketNotifierResourceGuard.
51663
51664        Replace the call with a queued invoke to shut the warning.
51665
51666        * Platform/qt/WorkQueueQt.cpp:
51667        (WorkQueue::registerSocketEventHandler):
51668
516692012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
51670
51671        [GTK] Test /webkit2/WebKitWebView/populate-menu asserts in debug bots
51672        https://bugs.webkit.org/show_bug.cgi?id=98507
51673
51674        Reviewed by Martin Robinson.
51675
51676        Make sure we retain the page URL before asking for the icon.
51677
51678        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
51679        (getIconSurfaceSynchronously): Retain the page URL before asking
51680        for the icon, and release it if we fail to get an icon.
51681        (processPendingIconsForPageURL): Renamed to make it clear it
51682        receives a Sring and not a char* and moved
51683        getIconSurfaceSynchronously() call out of the loop to call it only
51684        once even if there are multiple requests pending.
51685        (iconDataReadyForPageURLCallback): Do not retain the page URL
51686        here.
51687
516882012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
51689
51690        [GTK] Don't use the C API internally in WebKitWebContext
51691        https://bugs.webkit.org/show_bug.cgi?id=96768
51692
51693        Reviewed by Martin Robinson.
51694
51695        Using the C++ classes directly instead of the C API wrappers we
51696        avoid a lot of toImpl/toAPI casts, string conversions and
51697        allocations. The code is also a lot simpler and easier to read.
51698
51699        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
51700        (didStart):
51701        (didReceiveResponse):
51702        (didReceiveData):
51703        (decideDestinationWithSuggestedFilename):
51704        (didCreateDestination):
51705        (didFail):
51706        (didCancel):
51707        (didFinish):
51708        (attachDownloadClientToContext):
51709        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
51710        (attachRequestManagerClientToContext):
51711        * UIProcess/API/gtk/WebKitSecurityManager.cpp:
51712        (registerSecurityPolicyForURIScheme):
51713        * UIProcess/API/gtk/WebKitWebContext.cpp:
51714        (_WebKitWebContextPrivate):
51715        (createDefaultWebContext):
51716        (webkit_web_context_set_cache_model):
51717        (webkit_web_context_get_cache_model):
51718        (webkit_web_context_clear_cache):
51719        (webkit_web_context_download_uri):
51720        (webkit_web_context_get_cookie_manager):
51721        (webkit_web_context_get_favicon_database_directory):
51722        (webkit_web_context_get_favicon_database):
51723        (webkit_web_context_set_additional_plugins_directory):
51724        (webkitWebContextGetPluginThread):
51725        (webkit_web_context_register_uri_scheme):
51726        (webkitWebContextGetOrCreateDownload):
51727        (webkitWebContextRemoveDownload):
51728        (webkitWebContextGetContext):
51729        (webkitWebContextGetRequestManager):
51730        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
51731        * UIProcess/API/gtk/WebKitWebView.cpp:
51732        (webkitWebViewConstructed):
51733
517342012-10-07  Kangil Han  <kangil.han@samsung.com>
51735
51736        [EFL][WK2] Fix unused parameter compile warning.
51737        https://bugs.webkit.org/show_bug.cgi?id=98610
51738
51739        Reviewed by Laszlo Gombos.
51740
51741        Fixed unused parameter compile warning by removing initiatingPageRef parameter name.
51742
51743        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
51744        (didReceiveURIRequest):
51745
517462012-10-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
51747
51748        Rename first/second to key/value in HashMap iterators
51749        https://bugs.webkit.org/show_bug.cgi?id=82784
51750
51751        Reviewed by Eric Seidel.
51752
51753        * Platform/CoreIPC/ArgumentCoders.h:
51754        * Platform/CoreIPC/Connection.cpp:
51755        (CoreIPC::Connection::SyncMessageState::getOrCreate):
51756        (CoreIPC::Connection::waitForMessage):
51757        (CoreIPC::Connection::processIncomingMessage):
51758        * Platform/gtk/WorkQueueGtk.cpp:
51759        (WorkQueue::registerEventSourceHandler):
51760        (WorkQueue::unregisterEventSourceHandler):
51761        * Platform/mac/WorkQueueMac.cpp:
51762        (WorkQueue::unregisterMachPortEventHandler):
51763        * Shared/Plugins/NPRemoteObjectMap.cpp:
51764        (WebKit::NPRemoteObjectMap::pluginDestroyed):
51765        * Shared/UserMessageCoders.h:
51766        (WebKit::UserMessageEncoder::baseEncode):
51767        * Shared/WebPreferencesStore.cpp:
51768        (WebKit::valueForKey):
51769        (WebKit::WebPreferencesStore::getBoolValueForKey):
51770        * Shared/mac/WebCoreArgumentCodersMac.mm:
51771        (CoreIPC::::decode):
51772        * Shared/qt/ArgumentCodersQt.cpp:
51773        (CoreIPC::::decode):
51774        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
51775        (CoreIPC::::decode):
51776        * UIProcess/API/efl/ewk_back_forward_list.cpp:
51777        (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
51778        * UIProcess/API/efl/ewk_context.cpp:
51779        (_Ewk_Context::~_Ewk_Context):
51780        * UIProcess/API/efl/ewk_view.cpp:
51781        (_ewk_view_priv_loading_resources_clear):
51782        * UIProcess/API/gtk/WebKitWebView.cpp:
51783        (webkit_web_view_get_subresources):
51784        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
51785        (webkitWebViewBaseContainerForall):
51786        * UIProcess/API/mac/WKPrintingView.mm:
51787        (-[WKPrintingView _expectedPreviewCallbackForRect:]):
51788        (pageDidDrawToPDF):
51789        (-[WKPrintingView _drawPreview:]):
51790        * UIProcess/API/mac/WKView.mm:
51791        (commandNameForSelector):
51792        (-[WKView validateUserInterfaceItem:]):
51793        * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
51794        (WebKit::CoordinatedBackingStore::updateTile):
51795        (WebKit::CoordinatedBackingStore::texture):
51796        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
51797        (WebKit::CoordinatedBackingStore::commitTileOperations):
51798        * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
51799        (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
51800        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
51801        (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
51802        (WebKit::LayerTreeRenderer::syncCanvas):
51803        (WebKit::LayerTreeRenderer::setLayerChildren):
51804        (WebKit::LayerTreeRenderer::setLayerFilters):
51805        (WebKit::LayerTreeRenderer::setLayerState):
51806        (WebKit::LayerTreeRenderer::assignImageToLayer):
51807        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
51808        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
51809        * UIProcess/InspectorServer/WebInspectorServer.cpp:
51810        (WebKit::WebInspectorServer::~WebInspectorServer):
51811        (WebKit::WebInspectorServer::registerPage):
51812        * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
51813        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
51814        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
51815        (WebKit::WebInspectorServer::buildPageList):
51816        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
51817        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
51818        * UIProcess/Plugins/PluginProcessProxy.cpp:
51819        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
51820        * UIProcess/WebContext.cpp:
51821        (WebKit::createDictionaryFromHashMap):
51822        * UIProcess/WebIconDatabase.cpp:
51823        (WebKit::WebIconDatabase::didFinishURLImport):
51824        * UIProcess/WebIntentData.cpp:
51825        (WebKit::WebIntentData::extras):
51826        * UIProcess/WebProcessProxy.cpp:
51827        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
51828        (WebKit::WebProcessProxy::addBackForwardItem):
51829        (WebKit::WebProcessProxy::frameCountInPage):
51830        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
51831        (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
51832        (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
51833        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
51834        (WebKit::InjectedBundleNodeHandle::getOrCreate):
51835        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
51836        (WebKit::InjectedBundleRangeHandle::getOrCreate):
51837        * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
51838        (WebKit::InjectedBundleIntent::extras):
51839        * WebProcess/Notifications/WebNotificationManager.cpp:
51840        (WebKit::WebNotificationManager::policyForOrigin):
51841        (WebKit::WebNotificationManager::show):
51842        (WebKit::WebNotificationManager::clearNotifications):
51843        (WebKit::WebNotificationManager::removeNotificationFromContextMap):
51844        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
51845        (WebKit::NPRuntimeObjectMap::invalidate):
51846        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
51847        (WebKit::NetscapePlugin::destroyStream):
51848        (WebKit::NetscapePlugin::frameDidFinishLoading):
51849        (WebKit::NetscapePlugin::frameDidFail):
51850        * WebProcess/Plugins/PluginView.cpp:
51851        (WebKit::buildHTTPHeaders):
51852        (WebKit::PluginView::~PluginView):
51853        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
51854        (WebCore::CoordinatedGraphicsLayer::layerByID):
51855        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
51856        (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
51857        (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
51858        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
51859        (WebKit::WebBackForwardListProxy::removeItem):
51860        * WebProcess/WebPage/mac/WebPageMac.mm:
51861        (WebKit::commandNameForSelectorName):
51862        * WebProcess/WebProcess.cpp:
51863        (WebKit::WebProcess::visitedLinkStateChanged):
51864        (WebKit::WebProcess::allVisitedLinkStateChanged):
51865        (WebKit::WebProcess::focusedWebPage):
51866        (WebKit::WebProcess::createWebPage):
51867        (WebKit::WebProcess::webPageGroup):
51868        (WebKit::fromCountedSetToHashMap):
51869        (WebKit::WebProcess::setTextCheckerState):
51870
518712012-10-07  Dan Bernstein  <mitz@apple.com>
51872
51873        Web process XPC services don't have correct version information in their Info.plist files
51874        https://bugs.webkit.org/show_bug.cgi?id=98619
51875
51876        Reviewed by Anders Carlsson.
51877
51878        * WebProcessService/Info.plist: Added CFBundleGetInfoString, and changed
51879        CFBundleShortVersionString and CFBundleVersion to report the source version.
51880        * WebProcessServiceForWebKitDevelopment/Info.plist: Ditto.
51881
518822012-10-06  Dan Bernstein  <mitz@apple.com>
51883
51884        WebKit2 part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
51885        https://bugs.webkit.org/show_bug.cgi?id=98601
51886
51887        Reviewed by Darin Adler.
51888
51889        * Shared/WebProcessCreationParameters.cpp:
51890        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added initializer for
51891        to shouldEnableKerningAndLigaturesByDefault. The initial value is false.
51892        (WebKit::WebProcessCreationParameters::encode): Added encoding of
51893        shouldEnableKerningAndLigaturesByDefault.
51894        (WebKit::WebProcessCreationParameters::decode): Added decoding of
51895        shouldEnableKerningAndLigaturesByDefault.
51896        * Shared/WebProcessCreationParameters.h:
51897        (WebProcessCreationParameters): Added shouldEnableKerningAndLigaturesByDefault boolean
51898        member variable.
51899        * UIProcess/mac/WebContextMac.mm:
51900        (WebKit::WebContext::platformInitializeWebProcess): Changed to set
51901        shouldEnableKerningAndLigaturesByDefault in the process creation parameters according to
51902        the value of the WebKitKerningAndLigaturesEnabledByDefault user defaults key.
51903        * WebProcess/mac/WebProcessMac.mm:
51904        (WebKit::WebProcess::platformInitializeWebProcess): Added a call to
51905        Font::setDefaultTypesettingFeatures() to enable kerning and ligatures if requested in the
51906        process creation parameters.
51907
519082012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
51909
51910        [WK2][WTR] WebKitTestRunner needs testRunner.setSerializeHTTPLoads
51911        https://bugs.webkit.org/show_bug.cgi?id=98524
51912
51913        Reviewed by Alexey Proskuryakov.
51914
51915        Add implementation for testRunner.setSerializeHTTPLoads in
51916        WebKitTestRunner.
51917
51918        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
51919        (WKBundleSetSerialLoadingEnabled):
51920        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
51921        * WebProcess/InjectedBundle/InjectedBundle.cpp:
51922        (WebKit::InjectedBundle::setSerialLoadingEnabled):
51923        (WebKit):
51924        * WebProcess/InjectedBundle/InjectedBundle.h:
51925        (InjectedBundle):
51926
519272012-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
51928
51929        Unreviewed, rolling out r130556 and r130564.
51930        http://trac.webkit.org/changeset/130556
51931        http://trac.webkit.org/changeset/130564
51932        https://bugs.webkit.org/show_bug.cgi?id=98572
51933
51934        The patch wasn't reviewed by a reviewer and it is breaking
51935        Chromium Windows (Requested by jchaffraix on #webkit).
51936
51937        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
51938        (InitWebCoreSystemInterface):
51939
519402012-10-05  Sam Weinig  <sam@webkit.org>
51941
51942        Set the current working directory to TMPDIR when entering the sandbox in the plug-in process.
51943        Based on a patch by Ivan Krstić.
51944
51945        Reviewed by Anders Carlsson.
51946
51947        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
51948        (enterSandbox):
51949
519502012-10-05  Tim Horton  <timothy_horton@apple.com>
51951
51952        [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
51953        https://bugs.webkit.org/show_bug.cgi?id=98565
51954        <rdar://problem/12436468>
51955
51956        Reviewed by Simon Fraser.
51957
51958        Add wkCGContextDrawsWithCorrectShadowOffsets.
51959
51960        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
51961        (InitWebCoreSystemInterface):
51962
519632012-10-04  Eric Carlson  <eric.carlson@apple.com>
51964
51965        Allow ports to override text track rendering style
51966        https://bugs.webkit.org/show_bug.cgi?id=97800
51967        <rdar://problem/12044964>
51968
51969        Reviewed by Silvia Pfeiffer.
51970
51971        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
51972        (InitWebCoreSystemInterface): Initialize new WKSI function pointers.
51973
519742012-10-05  José Dapena Paz  <jdapena@igalia.com>
51975
51976        [GTK] Add support for creating EGL contexts
51977        https://bugs.webkit.org/show_bug.cgi?id=77921
51978
51979        Reviewed by Martin Robinson.
51980
51981        This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
51982        options are set up on compile time, with the configure options
51983        --enable-egl and --enable-gles2.
51984
51985        The implementation only adds support for EGL on top of X11, to
51986        isolate the changes to the minimum. More changes should come
51987        later to enable EGL for other targets (as Wayland).
51988
51989        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
51990
519912012-10-04  Jon Lee  <jonlee@apple.com>
51992
51993        Add a setting to enable plugin snapshotting
51994        https://bugs.webkit.org/show_bug.cgi?id=98319
51995        <rdar://problem/12426480>
51996
51997        Reviewed by Brady Eidson.
51998
51999        Expose plugInSnapshottingEnabled preference to WebKit clients.
52000
52001        * Shared/WebPreferencesStore.h:
52002        (WebKit):
52003        * UIProcess/API/C/WKPreferences.cpp:
52004        (WKPreferencesSetPlugInSnapshottingEnabled):
52005        (WKPreferencesGetPlugInSnapshottingEnabled):
52006        * UIProcess/API/C/WKPreferences.h:
52007        * WebProcess/WebPage/WebPage.cpp:
52008        (WebKit::WebPage::updatePreferences): Update preference based on store.
52009
520102012-10-05  Balazs Kelemen  <kbalazs@webkit.org>
52011
52012        [Qt][WK2] Plugins are completely broken with a custom device pixel ratio
52013        https://bugs.webkit.org/show_bug.cgi?id=98518
52014
52015        Reviewed by Kenneth Rohde Christiansen.
52016
52017        Implement painting with scale factor in ShareableBitmap.
52018        The backing store of the plugin are still overscaled in MiniBrowser
52019        with this patch but this is only the effect of the fake device scale
52020        factor defined in qml (1.5). We should probably remove it on desktop.
52021
52022        * Shared/qt/ShareableBitmapQt.cpp:
52023        (WebKit::ShareableBitmap::paint):
52024
520252012-10-05  Christophe Dumez  <christophe.dumez@intel.com>
52026
52027        [EFL] Unskip fullscreen unit tests for EwkView
52028        https://bugs.webkit.org/show_bug.cgi?id=98509
52029
52030        Reviewed by Kenneth Rohde Christiansen.
52031
52032        Update 2 fullscreen unit tests for EwkView so that
52033        they don't require a call to ecore_evas_fullscreen_set()
52034        to succeed. ecore_evas_fullscreen_set() does not
52035        seem to work in Xvfb and causes the tests to hang.
52036        With this update, we can now run those tests again.
52037
52038        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
52039        (TEST_F):
52040
520412012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
52042
52043        [GTK] Test /webkit2/WebKitPrintOperation/print-errors gives runtime critical warnings
52044        https://bugs.webkit.org/show_bug.cgi?id=98497
52045
52046        Reviewed by Martin Robinson.
52047
52048        The problem is that GTK+ tries to write in the IO channel that has
52049        already been closed.
52050
52051        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
52052        (WebKit::WebPrintOperationGtk::print): Finish the surface when
52053        printing fails because printing data is invalid.
52054
520552012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
52056
52057        [GTK] Test /webkit2/WebKitWebResource/response fails
52058        https://bugs.webkit.org/show_bug.cgi?id=98511
52059
52060        Reviewed by Martin Robinson.
52061
52062        Do not consider the favicon as a resource for the web resources
52063        unit tests.
52064
52065        * UIProcess/API/gtk/tests/TestResources.cpp:
52066
520672012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
52068
52069        REGRESSION (r129989 - r130019): [WK2] TestResources test is failing
52070        https://bugs.webkit.org/show_bug.cgi?id=98342
52071
52072        Reviewed by Martin Robinson.
52073
52074        Return 404 error in unit tests using a HTTP server for paths not
52075        handled by the test. This way all tests should return now a 404
52076        for /favicon.ico.
52077
52078        * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
52079        (serverCallback):
52080        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
52081        (serverCallback):
52082        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
52083        (serverCallback):
52084        * UIProcess/API/gtk/tests/TestResources.cpp:
52085        (serverCallback):
52086        * UIProcess/API/gtk/tests/TestSSL.cpp:
52087        (serverCallback):
52088        * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
52089        (serverCallback):
52090        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
52091        (serverCallback):
52092        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
52093        (serverCallback):
52094
520952012-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
52096
52097        [WK2][SOUP] Assertion hit in WebKit::DownloadManager::downloadFinished() when download fails
52098        https://bugs.webkit.org/show_bug.cgi?id=97565
52099
52100        Reviewed by Gustavo Noronha Silva.
52101
52102        Make sure to notify the downlaod client that the response has been
52103        received when the newly created download has already been added to
52104        the DownloadManager downloads map.
52105
52106        * WebProcess/Downloads/soup/DownloadSoup.cpp:
52107        (WebKit::DownloadClient::DownloadClient): Initialize
52108        m_handleResponseLaterID.
52109        (WebKit::DownloadClient::~DownloadClient): Remove the source for
52110        the delayed response notification if it hasn't been triggered.
52111        (WebKit::DownloadClient::didReceiveData): If response hasn't been
52112        handled yet, remove the source for the delayed response
52113        notification and handle the resource before start writing the data
52114        received to the output stream.
52115        (WebKit::DownloadClient::handleResponse): Call
52116        didReceiveResponse() with the delayed response.
52117        (WebKit::DownloadClient::handleResponseLaterCallback): Call
52118        handleResponse().
52119        (WebKit::DownloadClient::handleResponseLater): Schedule an idle
52120        callback to handle the response later, to make sure the download
52121        has been added to the downloads map.
52122        (WebKit::Download::startWithHandle): Call handleResponseLater()
52123        with the given response to handle the response when the download
52124        has been added to the downloads map.
52125
521262012-10-05  Jongseok Yang  <js45.yang@samsung.com>
52127
52128        [EFL][WK2] Remove "web" word from ewk_web_error APIs
52129        https://bugs.webkit.org/show_bug.cgi?id=97886
52130
52131        Reviewed by Gyuyoung Kim.
52132
52133        Remove "web" word from ewk_web_error APIs.
52134        "web" word was redundant because "ewk" means "EFL WebKit" and WK APIs for error does not have "web" word.
52135
52136        * PlatformEfl.cmake:
52137        * UIProcess/API/efl/EWebKit2.h:
52138        * UIProcess/API/efl/ewk_context_download_client.cpp:
52139        (didFail):
52140        * UIProcess/API/efl/ewk_cookie_manager.cpp:
52141        (getAcceptPolicyCallback):
52142        (getHostnamesWithCookiesCallback):
52143        * UIProcess/API/efl/ewk_cookie_manager.h:
52144        * UIProcess/API/efl/ewk_download_job_private.h:
52145        * UIProcess/API/efl/ewk_error.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.cpp.
52146        (_Ewk_Error):
52147        (_Ewk_Error::_Ewk_Error):
52148        (_Ewk_Error::~_Ewk_Error):
52149        (ewk_error_free):
52150        (ewk_error_type_get):
52151        (ewk_error_url_get):
52152        (ewk_error_code_get):
52153        (ewk_error_description_get):
52154        (ewk_error_cancellation_get):
52155        (ewk_error_new):
52156        * UIProcess/API/efl/ewk_error.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.h.
52157        * UIProcess/API/efl/ewk_error_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error_private.h.
52158        * UIProcess/API/efl/ewk_view.cpp:
52159        (ewk_view_resource_load_failed):
52160        (ewk_view_download_job_failed):
52161        (ewk_view_load_error):
52162        (ewk_view_load_provisional_failed):
52163        * UIProcess/API/efl/ewk_view.h:
52164        * UIProcess/API/efl/ewk_view_loader_client.cpp:
52165        (didFailLoadWithErrorForFrame):
52166        (didFailProvisionalLoadWithErrorForFrame):
52167        * UIProcess/API/efl/ewk_view_private.h:
52168        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
52169        (didFailLoadForResource):
52170        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
52171        (getAcceptPolicyCallback):
52172        (getHostnamesWithCookiesCallback):
52173        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
52174        (on_download_failed):
52175
521762012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
52177
52178        [WK2][GTK] WebPageAccessibilityObject leaking
52179        https://bugs.webkit.org/show_bug.cgi?id=98502
52180
52181        Reviewed by Carlos Garcia Campos.
52182
52183        Use GRefPtr on the accessibility object to fix the leak.
52184
52185        * WebProcess/WebPage/WebPage.h:
52186        (WebPage):
52187        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
52188        (WebKit::WebPage::platformInitialize):
52189        (WebKit::WebPage::updateAccessibilityTree):
52190
521912012-10-05  Jinwoo Song  <jinwoo7.song@samsung.com>
52192
52193        [EFL][WK2] Add API to count the matching text
52194        https://bugs.webkit.org/show_bug.cgi?id=97873
52195
52196        Reviewed by Gyuyoung Kim.
52197
52198        Add an API, ewk_view_text_matches_count(), to count the matched text in the document.
52199        This API does not highlight the matched text in the document unlike ewk_view_text_find().
52200
52201        ewk_view_text_find() finds the matching text and but also update the UI view,
52202        but some applications may not want to affect the view, and just want to know the count.
52203
52204        * UIProcess/API/efl/ewk_view.cpp:
52205        (ewk_view_text_matches_count):
52206        * UIProcess/API/efl/ewk_view.h:
52207        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
52208        (TEST_F):
52209
522102012-10-05  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
52211
52212        [WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
52213        https://bugs.webkit.org/show_bug.cgi?id=98384
52214
52215        Reviewed by Gyuyoung Kim.
52216
52217        Free the standard_output returned by g_spawn_sync() to avoid
52218        a memory leak.
52219
52220        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
52221        (WebKit::PluginProcessProxy::scanPlugin):
52222
522232012-10-05  Jongseok Yang  <js45.yang@samsung.com>
52224
52225        [EFL][WK2] Remove "web" word from ewk_resource APIs
52226        https://bugs.webkit.org/show_bug.cgi?id=97887
52227
52228        Reviewed by Gyuyoung Kim.
52229
52230        Remove "web" word from ewk_web_resource APIs.
52231        "web" word was redundant because "ewk" means "EFL WebKit" and enough to understand the meaning with ewk_resource_XXX.
52232
52233        * PlatformEfl.cmake:
52234        * UIProcess/API/efl/EWebKit2.h:
52235        * UIProcess/API/efl/ewk_resource.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.cpp.
52236        (_Ewk_Resource):
52237        (_Ewk_Resource::_Ewk_Resource):
52238        (_Ewk_Resource::~_Ewk_Resource):
52239        (ewk_resource_ref):
52240        (ewk_resource_unref):
52241        (ewk_resource_url_get):
52242        (ewk_resource_new):
52243        (ewk_resource_main_resource_get):
52244        * UIProcess/API/efl/ewk_resource.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.h.
52245        * UIProcess/API/efl/ewk_resource_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource_private.h.
52246        * UIProcess/API/efl/ewk_view.cpp:
52247        (_ewk_view_priv_loading_resources_clear):
52248        (ewk_view_resource_load_initiated):
52249        (ewk_view_resource_load_response):
52250        (ewk_view_resource_load_failed):
52251        (ewk_view_resource_load_finished):
52252        (ewk_view_resource_request_sent):
52253        * UIProcess/API/efl/ewk_view.h:
52254        * UIProcess/API/efl/ewk_view_private.h:
52255        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
52256        (didInitiateLoadForResource):
52257
522582012-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
52259
52260        [EFL][WK2] ewk_web_error_free is not a public API
52261        https://bugs.webkit.org/show_bug.cgi?id=98482
52262
52263        Reviewed by Gyuyoung Kim.
52264
52265        Because Ewk_Web_Error is just passed as a parameter of callback function
52266        and maintained internally, ewk_web_error_free should not be a public API.
52267
52268        This patch moves ewk_web_error_free from public header to private header.
52269
52270        * UIProcess/API/efl/ewk_context_download_client.cpp:
52271        * UIProcess/API/efl/ewk_view_loader_client.cpp:
52272        * UIProcess/API/efl/ewk_view_resource_load_client.cpp:
52273        * UIProcess/API/efl/ewk_web_error.cpp:
52274        * UIProcess/API/efl/ewk_web_error.h:
52275        * UIProcess/API/efl/ewk_web_error_private.h:
52276
522772012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
52278
52279        [EFL][WK2] Implement window frame callbacks in UIClient
52280        https://bugs.webkit.org/show_bug.cgi?id=98280
52281
52282        Reviewed by Kenneth Rohde Christiansen.
52283
52284        Implement callbacks to set and query window geometry
52285        in EwkView's UIClient.
52286
52287        * UIProcess/API/efl/ewk_view_ui_client.cpp:
52288        (getWindowFrame):
52289        (setWindowFrame):
52290        (ewk_view_ui_client_attach):
52291        * UIProcess/API/efl/tests/resources/window_move_resize.html: Added.
52292        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
52293        (windowMoveResizeTimedOut):
52294        (TEST_F): Add corresponding unit test.
52295
522962012-10-04  Rik Cabanier  <cabanier@adobe.com>
52297
52298        Turn Compositing on by default in WebKit build
52299        https://bugs.webkit.org/show_bug.cgi?id=98315
52300
52301        Reviewed by Simon Fraser.
52302
52303        enable -webkit-blend-mode on trunk.
52304
52305        * Configurations/FeatureDefines.xcconfig:
52306
523072012-10-04  Simon Fraser  <simon.fraser@apple.com>
52308
52309        Fix the Qt build by removing an errant paste at the top of the file.
52310
52311        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
52312
523132012-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
52314
52315        [EFL][WK2] Add APIs to get/set the frame flattening.
52316        https://bugs.webkit.org/show_bug.cgi?id=95982
52317
52318        Reviewed by Gyuyoung Kim.
52319
52320        Added new APIs and test case to support frame flattening.
52321
52322        * UIProcess/API/efl/ewk_settings.cpp:
52323        (ewk_settings_enable_frame_flattening_set):
52324        (ewk_settings_enable_frame_flattening_get):
52325        * UIProcess/API/efl/ewk_settings.h:
52326        * UIProcess/API/efl/tests/resources/frame_flattening_test.html: Added.
52327        * UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Added.
52328        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
52329        (TEST_F):
52330
523312012-10-04  Simon Fraser  <simon.fraser@apple.com>
52332
52333        TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
52334        https://bugs.webkit.org/show_bug.cgi?id=98471
52335
52336        Reviewed by Dean Jackson.
52337
52338        Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
52339        It is not required.
52340
52341        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
52342
523432012-10-04  Simon Fraser  <simon.fraser@apple.com>
52344
52345        Final part of "sync" to "flush" renaming
52346        https://bugs.webkit.org/show_bug.cgi?id=98430
52347
52348        Reviewed by Tim Horton.
52349
52350        Change method names on GraphicsLayer and GraphicsLayerClient that
52351        refer to "sync" to use the term "flush" instead, to be consistent
52352        with the rest of the code.
52353
52354        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
52355        (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
52356        (WebKit::LayerTreeRenderer::flushLayerChanges):
52357        * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
52358        (WebKit::LayerTreeRenderer::notifyFlushRequired):
52359        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
52360        (WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
52361        (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
52362        (WebCore::CoordinatedGraphicsLayer::didChangeChildren):
52363        (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
52364        (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
52365        (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
52366        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
52367        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
52368        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
52369        (CoordinatedGraphicsLayer):
52370        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
52371        (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
52372        (WebKit::LayerTreeCoordinator::notifyFlushRequired):
52373        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
52374        (LayerTreeCoordinator):
52375        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
52376        (WebKit::LayerTreeHostCA::notifyFlushRequired):
52377        (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
52378        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
52379        (LayerTreeHostCA):
52380        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
52381        (WebKit::LayerTreeHostGtk::notifyFlushRequired):
52382        (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
52383        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
52384        (LayerTreeHostGtk):
52385        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
52386        (TiledCoreAnimationDrawingArea):
52387        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
52388        (WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
52389        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
52390
523912012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
52392
52393        [EFL][WK2] Implement PageClientImpl::isViewVisible()
52394        https://bugs.webkit.org/show_bug.cgi?id=98249
52395
52396        Reviewed by Kenneth Rohde Christiansen.
52397
52398        Implement PageClientImpl::isViewVisible() for EFL port
52399        by calling evas_object_visible_get() on the view.
52400
52401        * UIProcess/API/efl/PageClientImpl.cpp:
52402        (WebKit::PageClientImpl::isViewVisible):
52403
524042012-10-04  Alexey Proskuryakov  <ap@apple.com>
52405
52406        Improve initial empty process tracking
52407        https://bugs.webkit.org/show_bug.cgi?id=98458
52408
52409        Reviewed by Sam Weinig.
52410
52411        * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess):
52412        Unset m_haveInitialEmptyProcess if we no longer do.
52413
524142012-10-03  Benjamin Poulain  <bpoulain@apple.com>
52415
52416        [WK2] Support all attributes of GeolocationPosition
52417        https://bugs.webkit.org/show_bug.cgi?id=98212
52418
52419        Reviewed by Sam Weinig.
52420
52421        Add complete support for GeolocationPosition.
52422
52423        * Shared/WebGeolocationPosition.cpp:
52424        (WebKit::WebGeolocationPosition::WebGeolocationPosition):
52425        (WebKit::WebGeolocationPosition::Data::encode):
52426        (WebKit::WebGeolocationPosition::Data::decode):
52427        * Shared/WebGeolocationPosition.h:
52428        (Data):
52429        (WebKit::WebGeolocationPosition::create):
52430        (WebKit::WebGeolocationPosition::canProvideAltitude):
52431        (WebKit::WebGeolocationPosition::altitude):
52432        (WebGeolocationPosition):
52433        (WebKit::WebGeolocationPosition::canProvideAltitudeAccuracy):
52434        (WebKit::WebGeolocationPosition::altitudeAccuracy):
52435        (WebKit::WebGeolocationPosition::canProvideHeading):
52436        (WebKit::WebGeolocationPosition::heading):
52437        (WebKit::WebGeolocationPosition::canProvideSpeed):
52438        (WebKit::WebGeolocationPosition::speed):
52439        WebGeolocationPosition mirror the attributes of WebCore::GeolocationPosition.
52440
52441        * UIProcess/API/C/WKGeolocationPosition.cpp:
52442        (WKGeolocationPositionCreate):
52443        (WKGeolocationPositionCreate_b):
52444        Add a new API exposing all the arguments.
52445
52446        * UIProcess/API/C/WKGeolocationPosition.h:
52447        * WebProcess/Geolocation/WebGeolocationManager.cpp:
52448        (WebKit::WebGeolocationManager::didChangePosition):
52449
524502012-10-04  Simon Fraser  <simon.fraser@apple.com>
52451
52452        Standardize on "flush" terminology for compositing layer flushing/syncing
52453        https://bugs.webkit.org/show_bug.cgi?id=98321
52454
52455        Reviewed by Simon Fraser.
52456
52457        Rename compositing-related methods that refer to "syncing" to instead
52458        refer to "flushing".
52459
52460        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
52461        (WebKit::WebChromeClient::scheduleCompositingLayerFlush):
52462        * WebProcess/WebCoreSupport/WebChromeClient.h:
52463        (WebChromeClient):
52464        * WebProcess/WebPage/DrawingArea.h:
52465        (DrawingArea):
52466        * WebProcess/WebPage/DrawingAreaImpl.cpp:
52467        (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
52468        * WebProcess/WebPage/DrawingAreaImpl.h:
52469        (DrawingAreaImpl):
52470        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
52471        (WebKit::LayerTreeHostCA::flushPendingLayerChanges):
52472        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
52473        (TiledCoreAnimationDrawingArea):
52474        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
52475        (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlush):
52476        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
52477        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
52478        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
52479        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
52480
524812012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
52482
52483        [EFL][WK2] Add setting to allow file access from file:// URLs
52484        https://bugs.webkit.org/show_bug.cgi?id=98121
52485
52486        Reviewed by Laszlo Gombos.
52487
52488        Add Ewk setting to set / query permission to access
52489        files from file:// URLs.
52490
52491        * UIProcess/API/efl/ewk_settings.cpp:
52492        (ewk_settings_file_access_from_file_urls_allowed_set):
52493        (ewk_settings_file_access_from_file_urls_allowed_get):
52494        * UIProcess/API/efl/ewk_settings.h:
52495        * UIProcess/API/efl/tests/resources/local_file_access.html: Added.
52496        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
52497        (TEST_F): Add unit tests for new ewk setting.
52498
524992012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
52500
52501        [EFL] Run unit tests with Xvfb
52502        https://bugs.webkit.org/show_bug.cgi?id=98389
52503
52504        Reviewed by Laszlo Gombos.
52505
52506        * UIProcess/API/efl/ewk_main.cpp:
52507        (ewk_init): Call ecore_evas_shutdown() instead of
52508        edje_shutdown() when ecore_x_init() fails.
52509        (ewk_shutdown): Remove extra call to edje_shutdown().
52510        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
52511        (TEST_F): Temporarily disable fullscreen unit tests
52512        until we get them working with Xvfb.
52513
525142012-10-04  Balazs Kelemen  <kbalazs@webkit.org>
52515
52516        Don't allow compositing to be disabled in forced compositing mode
52517        https://bugs.webkit.org/show_bug.cgi?id=98048
52518
52519        Reviewed by Jocelyn Turcotte.
52520
52521        Export Settings::setAcceleratedCompositingEnabled because it has been deinlined.
52522
52523        * win/WebKit2.def:
52524        * win/WebKit2CFLite.def:
52525
525262012-10-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
52527
52528        [Qt] Fix the tst_QQuickWebView::scrollRequest auto test
52529        https://bugs.webkit.org/show_bug.cgi?id=98045
52530
52531        Reviewed by Simon Hausmann.
52532
52533        Relying on QQuickWebViewPrivate::setNeedsDisplay can cause a false positive
52534        emission of the loadVisuallyCommitted signal since this method is also
52535        called when a layer is deleted or when the root layer changes.
52536
52537        Move the signal emission to QQuickWebViewPrivate::didRenderFrame which
52538        is called only after a DidRenderFrame message has been received from the
52539        web process.
52540
52541        * UIProcess/API/qt/qquickwebview.cpp:
52542        (QQuickWebViewPrivate::setNeedsDisplay):
52543        (QQuickWebViewPrivate::didRenderFrame):
52544        * UIProcess/API/qt/qquickwebview_p_p.h:
52545        (QQuickWebViewPrivate):
52546        * UIProcess/qt/QtPageClient.cpp:
52547        (WebKit::QtPageClient::didRenderFrame):
52548
525492012-10-04  Christophe Dumez  <christophe.dumez@intel.com>
52550
52551        Regression(r130363): Broke unit tests
52552        https://bugs.webkit.org/show_bug.cgi?id=98341
52553
52554        Reviewed by Gyuyoung Kim.
52555
52556        Fix WebKit2 EFL to use X11 as well.
52557
52558        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
52559        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
52560        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
52561        (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
52562        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
52563        (EWK2UnitTestEnvironment):
52564        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
52565        (main):
52566        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
52567        (checkFullScreenProperty):
52568
525692012-10-03  Christophe Dumez  <christophe.dumez@intel.com>
52570
52571        [EFL] Enable use of X11 in DumpRenderTree / WebKitTestRunner
52572        https://bugs.webkit.org/show_bug.cgi?id=98231
52573
52574        Reviewed by Gyuyoung Kim.
52575
52576        Initialize ecore_x library in ewk_main instead of
52577        WebKitTestRunner since WebKit is using ecore_x
52578        not WebKitTestRunner itself.
52579
52580        * UIProcess/API/efl/ewk_main.cpp:
52581        (ewk_init):
52582        (ewk_shutdown):
52583
525842012-10-03  Kangil Han  <kangil.han@samsung.com>
52585
52586        Fix unused parameter compile warnings.
52587        https://bugs.webkit.org/show_bug.cgi?id=98243
52588
52589        Reviewed by Alexey Proskuryakov.
52590
52591        Fixed unused parameter compile warnings by removing parameter names, adding UNUSED_PARAM usage and commenting out.
52592
52593        * PluginProcess/WebProcessConnection.cpp:
52594        (WebKit::WebProcessConnection::createPluginInternal):
52595        * PluginProcess/unix/PluginProcessUnix.cpp:
52596        (WebKit::PluginProcess::platformInitialize):
52597        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
52598        (WebKit::JSNPObject::getOwnPropertyNames):
52599        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
52600        (WebKit::NPN_RequestRead):
52601        (WebKit::NPN_NewStream):
52602        (WebKit::NPN_Write):
52603        (WebKit::NPN_MemFlush):
52604        (WebKit::NPN_ReloadPlugins):
52605        (WebKit::NPN_GetJavaPeer):
52606        (WebKit::NPN_InvalidateRegion):
52607        (WebKit::NPN_ForceRedraw):
52608        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
52609        (WebKit::NetscapePlugin::contentsScaleFactorChanged):
52610        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
52611        (WebKit::NetscapePlugin::platformPostInitializeWindowed):
52612        * WebProcess/Plugins/PluginProxy.cpp:
52613        (WebKit::PluginProxy::contentsScaleFactorChanged):
52614
526152012-10-03  Anders Carlsson  <andersca@apple.com>
52616
52617        Plugins are killed after 45 seconds if showing keychain "Allow/Deny" dialog
52618        https://bugs.webkit.org/show_bug.cgi?id=85138
52619        <rdar://problem/11406430>
52620
52621        Reviewed by Andreas Kling.
52622
52623        Remove the watchdog that would kill a plug-in if we've been waiting for a sync reply from it for more than 45 seconds.
52624        It's unlikely that someone is going to wait 45 seconds for Safari to recover from a plug-in hang, and the timeout is
52625        causing problems with plug-ins (see the bugzilla bug for more information).
52626
52627        * Platform/CoreIPC/Connection.cpp:
52628        (CoreIPC::Connection::Connection):
52629        (CoreIPC::Connection::waitForSyncReply):
52630        * Platform/CoreIPC/Connection.h:
52631        (Client):
52632        (Connection):
52633        * PluginProcess/PluginProcess.cpp:
52634        * PluginProcess/PluginProcess.h:
52635        (PluginProcess):
52636        * PluginProcess/WebProcessConnection.cpp:
52637        * PluginProcess/WebProcessConnection.h:
52638        (WebProcessConnection):
52639        * Shared/WebProcessCreationParameters.cpp:
52640        (WebKit::WebProcessCreationParameters::encode):
52641        (WebKit::WebProcessCreationParameters::decode):
52642        * Shared/WebProcessCreationParameters.h:
52643        (WebProcessCreationParameters):
52644        * UIProcess/Plugins/PluginProcessManager.cpp:
52645        * UIProcess/Plugins/PluginProcessManager.h:
52646        (PluginProcessManager):
52647        * UIProcess/Plugins/PluginProcessProxy.cpp:
52648        * UIProcess/Plugins/PluginProcessProxy.h:
52649        (PluginProcessProxy):
52650        * UIProcess/WebConnectionToWebProcess.cpp:
52651        * UIProcess/WebConnectionToWebProcess.h:
52652        (WebConnectionToWebProcess):
52653        * UIProcess/WebProcessProxy.cpp:
52654        * UIProcess/WebProcessProxy.h:
52655        (WebProcessProxy):
52656        * UIProcess/WebProcessProxy.messages.in:
52657        * UIProcess/mac/WebContextMac.mm:
52658        (WebKit::WebContext::platformInitializeWebProcess):
52659        * WebProcess/Plugins/PluginProcessConnection.cpp:
52660        (WebKit::PluginProcessConnection::PluginProcessConnection):
52661        * WebProcess/Plugins/PluginProcessConnection.h:
52662        (PluginProcessConnection):
52663        * WebProcess/WebConnectionToUIProcess.cpp:
52664        * WebProcess/WebConnectionToUIProcess.h:
52665        (WebConnectionToUIProcess):
52666        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
52667        (WebKit::WebChromeClient::runJavaScriptAlert):
52668        (WebKit::WebChromeClient::runJavaScriptConfirm):
52669        (WebKit::WebChromeClient::runJavaScriptPrompt):
52670        * WebProcess/WebProcess.cpp:
52671        (WebKit::WebProcess::WebProcess):
52672        (WebKit::WebProcess::initializeWebProcess):
52673        * WebProcess/WebProcess.h:
52674        (WebProcess):
52675
526762012-10-03  Hugo Parente Lima  <hugo.lima@openbossa.org>
52677
52678        [WK2] PageViewportController.cpp is supposed to be a generic WebKit2 file but only works with Qt port.
52679        https://bugs.webkit.org/show_bug.cgi?id=98186
52680
52681        Reviewed by Noam Rosenthal.
52682
52683        Remove the dependece of WebCore::FloatSize to QSize implicit conversion.
52684
52685        * UIProcess/API/qt/qquickwebpage.cpp:
52686        (QQuickWebPagePrivate::updateSize):
52687        * UIProcess/API/qt/qquickwebview.cpp:
52688        (QQuickWebViewLegacyPrivate::updateViewportSize):
52689        (QQuickWebViewFlickablePrivate::updateViewportSize):
52690        * UIProcess/PageViewportController.cpp:
52691        (WebKit::PageViewportController::didRenderFrame):
52692        (WebKit::PageViewportController::pageDidRequestScroll):
52693        (WebKit::PageViewportController::syncVisibleContents):
52694        (WebKit::PageViewportController::viewportSizeInContentsCoordinates):
52695        (WebKit):
52696        * UIProcess/PageViewportController.h:
52697        (PageViewportController):
52698
526992012-10-03  Anders Carlsson  <andersca@apple.com>
52700
52701        Try to fix the Qt WebKit2 failures.
52702
52703        * WebProcess/WebPage/DrawingAreaImpl.cpp:
52704        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
52705        Always force compositing if USE(COORDINATED_GRAPHICS) is true.
52706
527072012-10-03  Anders Carlsson  <andersca@apple.com>
52708
52709        Use the XPC service by default on newer systems
52710        https://bugs.webkit.org/show_bug.cgi?id=98297
52711        <rdar://problem/12424641>
52712
52713        Reviewed by Sam Weinig.
52714
52715        * UIProcess/mac/WebProcessProxyMac.mm:
52716        (WebKit::shouldUseXPC):
52717        Return false for older systems.
52718
52719        (WebKit::WebProcessProxy::platformConnect):
52720        Call shouldUseXPC().
52721
527222012-10-02  Andy Estes  <aestes@apple.com>
52723
52724        [WebKit2] Add the ability to send messages to the WebPageGroupProxy
52725        https://bugs.webkit.org/show_bug.cgi?id=98233
52726
52727        Reviewed by Anders Carlsson.
52728
52729        Add a WebPageGroupProxy.messages.in, implement a stub message receiver
52730        in WebPageGroupProxy, and teach WebProcess how to route messages to the
52731        appropriate WebPageGroupProxy.
52732
52733        * CMakeLists.txt: Tell a build system about added files.
52734        * DerivedSources.make: Ditto.
52735        * DerivedSources.pri: Ditto.
52736        * GNUmakefile.list.am: Ditto.
52737        * WebKit2.xcodeproj/project.pbxproj: Ditto.
52738        * win/WebKit2.vcproj: Ditto.
52739        * Platform/CoreIPC/MessageID.h: Add MessageClassWebPageGroupProxy.
52740        * WebProcess/WebPage/WebPageGroupProxy.cpp:
52741        (WebKit::WebPageGroupProxy::didReceiveMessage): Stub out the method
52742        that will receive messages.
52743        (WebKit::WebPageGroupProxy::didReceiveWebPageGroupProxyMessage): Stub
52744        out a method that will exist in WebPageGroupProxyMessageReceiver.cpp
52745        once WebPageGroupProxy.messages.in contains messages.
52746        * WebProcess/WebPage/WebPageGroupProxy.h:
52747        * WebProcess/WebPage/WebPageGroupProxy.messages.in: Added.
52748        * WebProcess/WebProcess.cpp:
52749        (WebKit::WebProcess::didReceiveMessage): Route messages to the
52750        WebPageGroupProxy matching destinationID if the message is of class
52751        MessageClassWebPageGroupProxy.
52752
527532012-10-02  Anders Carlsson  <andersca@apple.com>
52754
52755        Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
52756        https://bugs.webkit.org/show_bug.cgi?id=98217
52757
52758        Reviewed by Andreas Kling.
52759
52760        * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
52761        (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
52762        (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
52763        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
52764        (WebKit::LayerTreeHostCA::initialize):
52765        (WebKit::LayerTreeHostCA::createPageOverlayLayer):
52766        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
52767        (WebKit::LayerTreeHostGtk::initialize):
52768        (WebKit::LayerTreeHostGtk::createPageOverlayLayer):
52769        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
52770        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
52771
527722012-10-03  Alberto Garcia  <agarcia@igalia.com>
52773
52774        [GTK] [WK2] Unused variable in webkitWebViewLoadChanged
52775        https://bugs.webkit.org/show_bug.cgi?id=98271
52776
52777        Reviewed by Martin Robinson.
52778
52779        Use the priv variable to directly access private attributes
52780        instead of dereferencing webView->priv all the time.
52781        Fixes -Wunused-variable.
52782
52783        * UIProcess/API/gtk/WebKitWebView.cpp:
52784        (webkitWebViewLoadChanged):
52785
527862012-10-03  Christophe Dumez  <christophe.dumez@intel.com>
52787
52788        [EFL][WK2] Implement focus/unfocus in UIClient
52789        https://bugs.webkit.org/show_bug.cgi?id=98253
52790
52791        Reviewed by Gyuyoung Kim.
52792
52793        Implement focus-related functionality in
52794        WebKitEFL's UIClient.
52795
52796        * UIProcess/API/efl/ewk_view_ui_client.cpp:
52797        (focus):
52798        (unfocus):
52799        (takeFocus):
52800        (ewk_view_ui_client_attach):
52801
528022012-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
52803
52804        [GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
52805        https://bugs.webkit.org/show_bug.cgi?id=98153
52806
52807        Reviewed by Martin Robinson.
52808
52809        The main problem is that it relies on icon-ready signal to be
52810        emitted by the favicon database, but that signal is only emitted
52811        when the icon is loaded from the network or imported from the
52812        database, but not when the icon is already in memory. The way to
52813        detect if a web page doesn't have a favicon or it's unknown it's
52814        also incorrectly done and the wrong error is returned for pages
52815        not having a favicon.
52816
52817        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
52818        (GetFaviconSurfaceAsyncData): Add a GError field.
52819        (getIconSurfaceSynchronously): Add a GError parameter and fill it
52820        accordingly. Use imageForPageURL() instead of
52821        nativeImageForPageURL() because the latter always returns NULL for
52822        empty images, so it's not possible to know whether it's an empty
52823        image or not. If the image is empty is because the web page is
52824        known by the database and it doesn't have a favicon.
52825        (processPendingIconsForURI): Pass the data error to
52826        getIconSurfaceSynchronously(). Don't set the icon if the request
52827        has been cancelled.
52828        (webkitFaviconDatabaseGetFavicon): Pass NULL as error to
52829        getIconSurfaceSynchronously().
52830        (setErrorForAsyncResult): Fill also error for
52831        WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
52832        (webkit_favicon_database_get_favicon): If we get NULL as icon in
52833        the first place, check the error code returned by
52834        getIconSurfaceSynchronously() and return early if the page doesn't
52835        have a favicon. Remove the cancelled signal to avoid race
52836        conditions.
52837        (webkit_favicon_database_get_favicon_finish): Errors are processed
52838        before now, so simply propagate the error if any or return the
52839        favicon.
52840        * UIProcess/API/gtk/WebKitWebView.cpp:
52841        (_WebKitWebViewPrivate): Keep a reference of the favicon.
52842        (webkitWebViewCancelFaviconRequest): Cancel any async operation to
52843        get the favicon.
52844        (webkitWebViewUpdateFavicon): Check if favicon has changed and
52845        save it emitting also notify::favicon signal.
52846        (iconReadyCallback): Only update the favicon if we don't have one
52847        already.
52848        (webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
52849        (getFaviconReadyCallback): Update the favicon.
52850        (webkitWebViewRequestFavicon): Request a new favicon.
52851        (webkitWebViewLoadChanged): Try to get the favicon when the load
52852        has been committed and the URI is the final one.
52853        (webkit_web_view_get_favicon): Return the cached favicon.
52854        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
52855        (serverCallback):
52856        (testSetDirectory):
52857        (testGetFavicon):
52858        (testWebViewFavicon):
52859
528602012-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
52861
52862        [GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
52863        https://bugs.webkit.org/show_bug.cgi?id=97895
52864
52865        Reviewed by Martin Robinson.
52866
52867        The message DidReceiveURIRequest is now sent to the page that
52868        initiated the request that forwards the mesassage to the
52869        WebSoupRequestManagerProxy.
52870
52871        * UIProcess/API/C/soup/WKSoupRequestManager.h: Update
52872        didReceiveURIRequest callback to receive the initiating page ID.
52873        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
52874        (didReceiveURIRequest): Update the callback API change.
52875        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
52876        (didReceiveURIRequest): Pass the initiating page to the
52877        WebKitURISchemeRequest constructor.
52878        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
52879        (_WebKitURISchemeRequestPrivate): Keep a reference to the
52880        WebPageProxy that initiatesd the request.
52881        (webkitURISchemeRequestCreate): Save the initiating page.
52882        (webkit_uri_scheme_request_get_web_view): Return the view widget
52883        of the initiating WebPageProxy.
52884        * UIProcess/API/gtk/WebKitURISchemeRequest.h:
52885        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
52886        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
52887        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
52888        * UIProcess/WebPageProxy.cpp:
52889        (WebKit::WebPageProxy::didReceiveURIRequest): Forward the request
52890        to the soup request manager proxy.
52891        * UIProcess/WebPageProxy.h:
52892        (WebPageProxy): Add didReceiveURIRequest().
52893        * UIProcess/WebPageProxy.messages.in: Add DidReceiveURIRequest
52894        message.
52895        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
52896        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
52897        Pass the inititing page to the client callback.
52898        * UIProcess/soup/WebSoupRequestManagerClient.h:
52899        (WebSoupRequestManagerClient):
52900        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
52901        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Pass
52902        the inititing page to the client.
52903        * UIProcess/soup/WebSoupRequestManagerProxy.h:
52904        (WebSoupRequestManagerProxy):
52905        * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Remove
52906        DidReceiveURIRequest message.
52907        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
52908        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
52909        Save the pageID of the WebFrame.
52910        (WebKit::WebFrameNetworkingContext::initiatingPageID): Return the
52911        inititing page ID.
52912        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
52913        * WebProcess/soup/WebSoupRequestManager.cpp:
52914        (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
52915        message to the WebPage that initiated the request.
52916
529172012-10-02  Zan Dobersek  <zandobersek@gmail.com>
52918
52919        Unreviewed build fix for the GTK port after r130207.
52920        Use proper file separators for new entries.
52921
52922        * GNUmakefile.list.am:
52923
529242012-10-02  Joone Hur  <joone.hur@intel.com>
52925
52926        Unreviewed, GTK+,Efl debug build fix after r130225.
52927
52928        This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.
52929
52930        * PluginProcess/unix/PluginProcessMainUnix.cpp:
52931        (WebKit):
52932
529332012-10-02  Sam Weinig  <sam@webkit.org>
52934
52935        Fix a typo and add some \n's to make Mark happy.
52936
52937        Rubber-stamped by Mark "logging must be fast" Rowe.
52938
52939        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
52940        (WebKit::InjectedBundle::load):
52941
529422012-10-02  Sam Weinig  <sam@webkit.org>
52943
52944        Add Objective-C API for the InjectedBundle
52945        https://bugs.webkit.org/show_bug.cgi?id=98222
52946
52947        Reviewed by Anders Carlsson.
52948
52949        Add skeleton of the Objective-C API for the InjectedBundle.
52950
52951        * WebKit2.xcodeproj/project.pbxproj:
52952        Add new API files.
52953
52954        * WebProcess/InjectedBundle/API/mac: Added.
52955        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
52956        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.
52957        (-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
52958        Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
52959        object does in the C-SPI.
52960        (+[WKWebProcessPlugIn _shared]):
52961        Access the shared instance.
52962        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
52963
52964        * WebProcess/InjectedBundle/InjectedBundle.h:
52965        Store an NSBundle rather than a CFBundleRef as the platform bundle.
52966
52967        * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
52968        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.
52969        (WebKit::InjectedBundle::load):
52970        If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
52971        as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
52972        webProcessPlugInInitialize: method is present, it is called. 
52973
529742012-10-02  Dan Bernstein  <mitz@apple.com>
52975
52976        Fixed a crash when the localization option is not passed to the web process.
52977
52978        Reviewed by Sam Weinig.
52979
52980        * PluginProcess/mac/PluginProcessMainMac.mm:
52981        (WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
52982        with the empty string.
52983        * WebProcess/mac/WebProcessMainMac.mm:
52984        (WebKit::WebProcessMain): Ditto.
52985
52986== Rolled over to ChangeLog-2012-10-02 ==
52987