e64dcf5ffd2a78deb3fff3c9c0656041fa8f49f8
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-11-28  Michael Pruett  <michael@68k.org>
2
3         IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
4         https://bugs.webkit.org/show_bug.cgi?id=103554
5
6         Reviewed by Kentaro Hara.
7
8         In r135022, duplicate createFromWire() and toWireString() methods
9         were added to the JSC version of SerializedScriptValue. In
10         order to allow the JSC SerializedScriptValue to compile when
11         ENABLE(INDEXED_DATABASE) is turned on, these new methods have
12         been removed and the old methods have been moved outside the
13         ENABLE(INDEXED_DATABASE) guard.
14
15         * win/WebKit2.def:
16         * win/WebKit2CFLite.def:
17
18 2012-11-28  Sam Weinig  <sam@webkit.org>
19
20         Fix 32bit build.
21
22         * Shared/mac/ObjCObjectGraphCoders.mm:
23         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
24         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
25
26 2012-11-28  Sam Weinig  <sam@webkit.org>
27
28         Add an objc object graph wrapper and coder for WKConnection message bodies
29         https://bugs.webkit.org/show_bug.cgi?id=103589
30
31         Reviewed by Anders Carlsson.
32
33         Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
34         WKBrowsingContextController across the wire.
35
36         * Shared/APIClient.h:
37         (APIClient):
38         (WebKit::APIClient::client):
39         Add accessor for the ClientInterface.
40
41         * Shared/APIObject.h:
42         Add new TypeObjCObjectGraph type.
43
44         * Shared/mac/ObjCObjectGraph.h: Added.
45         (ObjCObjectGraph):
46         (WebKit::ObjCObjectGraph::create):
47         (WebKit::ObjCObjectGraph::root):
48         (WebKit::ObjCObjectGraph::ObjCObjectGraph):
49         (WebKit::ObjCObjectGraph::type):
50         * Shared/mac/ObjCObjectGraph.mm: Added.
51         Wraps 
52
53         * Shared/mac/ObjCObjectGraphCoders.h: Added.
54         (WebContextObjCObjectGraphEncoder):
55         (WebContextObjCObjectGraphDecoder):
56         (InjectedBundleObjCObjectGraphEncoder):
57         (InjectedBundleObjCObjectGraphDecoder):
58         * Shared/mac/ObjCObjectGraphCoders.mm: Added.
59         (WebKit::typeFromObject):
60         (ObjCObjectGraphEncoder):
61         (WebKit::ObjCObjectGraphEncoder::baseEncode):
62         (WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
63         (ObjCObjectGraphDecoder):
64         (WebKit::ObjCObjectGraphDecoder::baseDecode):
65         (WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
66         (WebContextObjCObjectGraphEncoderImpl):
67         (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
68         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
69         (WebContextObjCObjectGraphDecoderImpl):
70         (WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
71         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
72         (InjectedBundleObjCObjectGraphEncoderImpl):
73         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
74         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
75         (InjectedBundleObjCObjectGraphDecoderImpl):
76         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
77         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
78         (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
79         (WebKit::WebContextObjCObjectGraphEncoder::encode):
80         (WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
81         (WebKit::WebContextObjCObjectGraphDecoder::decode):
82         (WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
83         (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
84         (WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
85         (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
86         Added.
87
88         * UIProcess/API/mac/WKBrowsingContextController.mm:
89         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
90         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
91         Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a 
92         new method to get a WKBrowsingContextController from a WKPageRef.
93
94         * UIProcess/API/mac/WKConnection.mm:
95         (-[WKConnection sendMessageWithName:body:]):
96         (didReceiveMessage):
97         Switch WKConnection to use ObjCObjectGraph to encode the messageBody.
98
99         * UIProcess/WebContextUserMessageCoders.h:
100         (WebKit::WebContextUserMessageEncoder::encode):
101         (WebKit::WebContextUserMessageDecoder::decode):
102         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
103         (WebKit::InjectedBundleUserMessageEncoder::encode):
104         (WebKit::InjectedBundleUserMessageDecoder::decode):
105         Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.
106
107         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
108         (-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):
109         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
110         Add method to get WKWebProcessPlugInController from the WKBundlePageRef.
111
112         * WebKit2.xcodeproj/project.pbxproj:
113         Add new files.
114
115 2012-11-28  Sergio Villar Senin  <svillar@igalia.com>
116
117         [WK2][Qt] Add drag&drop support to Flickable webView
118         https://bugs.webkit.org/show_bug.cgi?id=100778
119
120         Reviewed by Jocelyn Turcotte.
121
122         Enable the ItemAcceptsDrops flag in the flickable WebView. This
123         will allow the WebView to receive drag&drop events.
124
125         * UIProcess/API/qt/qquickwebview.cpp:
126         (QQuickWebViewPrivate::initialize):
127
128 2012-11-28  Shinya Kawanaka  <shinyak@chromium.org>
129
130         [Shadow] Move Distribution stuffs from ShadowRoot
131         https://bugs.webkit.org/show_bug.cgi?id=103481
132
133         Reviewed by Hajime Morita.
134
135         * win/WebKit2.def:
136         * win/WebKit2CFLite.def:
137
138 2012-11-28  Tim Horton  <timothy_horton@apple.com>
139
140         [mac] Dictionary lookup bubble loses intrarange formatting
141         https://bugs.webkit.org/show_bug.cgi?id=103496
142         <rdar://problem/12762172>
143
144         Reviewed by Alexey Proskuryakov.
145
146         Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
147         when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
148         highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.
149
150         * Shared/DictionaryPopupInfo.cpp:
151         (WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
152         (WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.
153         * Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
154         * UIProcess/API/mac/PageClientImpl.h:
155         (PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
156         no longer needs to take the page scale factor.
157         * UIProcess/API/mac/PageClientImpl.mm:
158         (WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
159         instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.
160         * UIProcess/PageClient.h:
161         (PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
162         * UIProcess/WebPageProxy.h:
163         (WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
164         * UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
165         * UIProcess/mac/WebPageProxyMac.mm:
166         (WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
167         * WebProcess/WebPage/mac/WebPageMac.mm:
168         (WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
169         constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
170         Also, scale the size of every font attribute by the current pageScaleFactor.
171
172 2012-11-28  peavo@outlook.com  <peavo@outlook.com>
173
174         [WinCairo] Crash when requesting favicon.
175         https://bugs.webkit.org/show_bug.cgi?id=102689
176
177         Reviewed by Brent Fulgham.
178
179         * win/WebKit2CFLite.def: Link fixes.
180         * win/WebKit2.def: Link fixes.
181
182 2012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
183
184         Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
185         https://bugs.webkit.org/show_bug.cgi?id=103527
186
187         Reviewed by Jocelyn Turcotte.
188
189         Make sure m_pendingSyncBackingStores is cleared in
190         LayerTreeRenderer::purgeGLResources() to avoid trying to assign
191         backing store to layers after everything has been invalidated.
192
193         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
194         (WebKit::LayerTreeRenderer::purgeGLResources):
195
196 2012-11-28  Christophe Dumez  <christophe.dumez@intel.com>
197
198         Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
199         https://bugs.webkit.org/show_bug.cgi?id=103498
200
201         Reviewed by Kenneth Rohde Christiansen.
202
203         We hit the !m_pedningSyncBackingStores.contains(layer) assertion
204         in LayerTreeRenderer when 2 asynchronous backing store operations
205         are pending. The current code checks if the layer already has a
206         backing store in its guard but this is insufficient as it is not
207         checking the m_pendingSyncBackingStores hash for pending backing
208         store changes.
209
210         In this patch, we improve the guards in createBackingStoreIfNeeded()
211         and removeBackingStoreIfNeeded() to check not only if the layer has
212         already a backing store but also check m_pendingSyncBackingStores
213         for pending changes. This is safer and it allows for optimizations
214         in the cases where we have both a removal and a creation pending.
215         In those cases, we can simply cancel the pending operation instead
216         of queueing a new one.
217
218         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
219         (WebKit::LayerTreeRenderer::getBackingStore):
220         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
221         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
222         (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
223         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
224
225 2012-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
226
227         [EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
228         https://bugs.webkit.org/show_bug.cgi?id=103079
229
230         Reviewed by Simon Hausmann.
231
232         The problem was caused because we moved the page inside our viewport
233         in non-discrete units.
234
235         Now instead of changing the content visible in our viewport by
236         applying scale, and then transforming the CSS offset, we now first
237         discretely position the page in UI coordinates.
238
239         This patch also removes some dead code.
240
241         * UIProcess/API/efl/EwkViewImpl.cpp:
242         (EwkViewImpl::transformFromScene):
243         (EwkViewImpl::displayTimerFired):
244
245            Transform according to the page position.
246
247         * UIProcess/API/efl/EwkViewImpl.h:
248         (EwkViewImpl::setPagePosition): Now stores a float.
249         (EwkViewImpl::discretePagePosition): Returns the discrete page position.
250         (EwkViewImpl):
251         * UIProcess/efl/PageClientLegacyImpl.cpp:
252         (WebKit::PageClientLegacyImpl::updateViewportSize):
253         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
254         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
255         (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
256         (WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
257         (WebKit::PageViewportControllerClientEfl::setContentsScale):
258         (WebKit::PageViewportControllerClientEfl::didResumeContent):
259         * UIProcess/efl/PageViewportControllerClientEfl.h:
260         (WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
261         from the view directly.
262         (WebKit::PageViewportControllerClientEfl::contentPosition):
263         (PageViewportControllerClientEfl):
264
265 2012-11-28  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
266
267         [EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
268         https://bugs.webkit.org/show_bug.cgi?id=103505
269
270         Reviewed by Kenneth Rohde Christiansen.
271
272         No need to export GL data members from EwkViewImpl class, 
273         those are internal implementation objects not used by anyone outside the class.
274
275         * UIProcess/API/efl/EwkViewImpl.cpp:
276         (EwkViewImpl::displayTimerFired):
277         (EwkViewImpl::createGLSurface):
278         * UIProcess/API/efl/EwkViewImpl.h:
279         (EwkViewImpl):
280         (EwkViewImpl::evasGLContext):
281         (EwkViewImpl::evasGLSurface):
282
283 2012-11-28  Joone Hur  <joone.hur@intel.com>
284
285         [EFL][WK2][AC] Clear the viewport with white color
286         https://bugs.webkit.org/show_bug.cgi?id=103495
287
288         When initializing a GL surface, we should clear the buffer with white color.
289
290         Reviewed by Kenneth Rohde Christiansen.
291
292         * UIProcess/API/efl/EwkViewImpl.cpp:
293         (EwkViewImpl::createGLSurface):
294
295 2012-11-27  Jinwoo Song  <jinwoo7.song@samsung.com>
296
297         [EFL][WK2] Duplicated WebPageGroup initialization
298         https://bugs.webkit.org/show_bug.cgi?id=103229
299
300         Reviewed by Gyuyoung Kim.
301
302         WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
303         because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
304
305         As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
306         is created with default context.
307
308         * UIProcess/API/efl/ewk_view.cpp:
309         (createEwkView):
310
311 2012-11-27  Huang Dongsung  <luxtella@company100.net>
312
313         REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
314         https://bugs.webkit.org/show_bug.cgi?id=103171
315
316         Reviewed by Noam Rosenthal.
317
318         Ensure that TextureMapperLayer has a backing store when the layer has
319         drawsContent and contentsVisible properties and the size of the layer is not
320         empty.
321
322         LayerTreeRenderer::setLayerState() must not set a backing store to
323         TextureMapperLayer because setLayerState() just changes states of
324         GraphicsLayerTextureMapper instead of TextureMapperLayer.
325
326         Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
327         states to TextureMapperLayer.
328
329         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
330         (WebKit::LayerTreeRenderer::getBackingStore):
331         (WebKit::LayerTreeRenderer::prepareContentBackingStore):
332         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
333         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
334         (WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
335         (WebKit::LayerTreeRenderer::flushLayerChanges):
336         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
337         (WebCore):
338
339 2012-11-27  Tim Horton  <timothy_horton@apple.com>
340
341         PDFPlugin: Should not be able to edit read-only text annotations
342         https://bugs.webkit.org/show_bug.cgi?id=103387
343         <rdar://problem/12752313>
344
345         Reviewed by Alexey Proskuryakov.
346
347         Don't allow read-only annotations to become active.
348
349         * WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
350         * WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
351         * WebProcess/Plugins/PDF/PDFPlugin.mm:
352         (WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
353         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
354
355 2012-11-27  Huang Dongsung  <luxtella@company100.net>
356
357         Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
358         https://bugs.webkit.org/show_bug.cgi?id=103298
359
360         Reviewed by Noam Rosenthal.
361
362         This patch makes LayerTreeRenderer assign a content backing store to
363         TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
364         the backing store to TextureMapperLayer and it can break the invariant condition
365         of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
366         the layer has following conditions: drawsContent, contentsVisible and non empty
367         size.
368
369         In addition, the modified code about creating and removing a backing store
370         matches the same purpose code of CoordinatedGraphicsLayer and
371         GraphicsLayerTextureMapepr.
372
373         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
374         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
375         (CoordinatedBackingStore):
376         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
377         (WebKit::layerShouldHaveBackingStore):
378         (WebKit):
379         (WebKit::LayerTreeRenderer::setLayerState):
380         (WebKit::LayerTreeRenderer::getBackingStore):
381         (WebKit::LayerTreeRenderer::prepareContentBackingStore):
382         (WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
383         (WebKit::LayerTreeRenderer::removeBackingStore):
384         (WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
385         (WebKit::LayerTreeRenderer::createTile):
386         (WebKit::LayerTreeRenderer::removeTile):
387         (WebKit::LayerTreeRenderer::updateTile):
388         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
389         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
390         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
391             This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
392             can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
393             after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.
394
395 2012-11-27  James Simonsen  <simonjam@chromium.org>
396
397         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
398         https://bugs.webkit.org/show_bug.cgi?id=102151
399
400         Reviewed by Adam Barth.
401
402         * WebProcess/Plugins/PluginView.cpp:
403         (WebKit::PluginView::performFrameLoadURLRequest):
404         * WebProcess/WebPage/WebPage.cpp:
405         (WebKit::WebPage::loadURLRequest):
406         (WebKit::WebPage::loadData):
407
408 2012-10-22  Jer Noble  <jer.noble@apple.com>
409
410         [WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
411         https://bugs.webkit.org/show_bug.cgi?id=100025
412
413         Reviewed by Dan Bernstein.
414
415         Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
416         in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with 
417         instructions to click the placeholder to exit full screen.
418
419         * UIProcess/mac/WKFullScreenWindowController.h:
420         * UIProcess/mac/WKFullScreenWindowController.mm:
421         (-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
422         (-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
423         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
424         (-[WKFullScreenWindowController enterFullScreen:]):  Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
425         (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
426         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
427         (-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
428         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
429             from full screen mode when the full screen window is not on screen.
430         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
431         (-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
432         (-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
433         (-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
434         (-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:
435
436 2012-11-27  Yael Aharon  <yael.aharon@intel.com>
437
438         [EFL][WK2] 3D pixel tests are failing
439         https://bugs.webkit.org/show_bug.cgi?id=102833
440
441         Reviewed by Kenneth Rohde Christiansen.
442
443         Added an API for generating a snapshot, to be used from WebKitTestRunner.
444
445         * PlatformEfl.cmake:
446         * UIProcess/API/C/efl/WKView.cpp:
447         (WKViewGetSnapshot):
448         * UIProcess/API/C/efl/WKView.h:
449         * UIProcess/API/efl/EwkViewImpl.cpp:
450         (EwkViewImpl::onFaviconChanged):
451         (EwkViewImpl::takeSnapshot):
452         * UIProcess/API/efl/EwkViewImpl.h:
453         (EwkViewImpl):
454         * UIProcess/API/efl/SnapshotImageGL.cpp: Added.
455         (getImageFromCurrentTexture):
456         * UIProcess/API/efl/SnapshotImageGL.h: Added.
457
458 2012-11-27  Tim Horton  <timothy_horton@apple.com>
459
460         PDFPlugin: Page scale factor should affect subframe PDFs
461         https://bugs.webkit.org/show_bug.cgi?id=103291
462         <rdar://problem/12555249>
463
464         Reviewed by Darin Adler.
465
466         For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
467         so it can scale its drawing appropriately.
468
469         * WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
470         * WebProcess/Plugins/PDF/PDFPlugin.mm:
471         (WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
472         instead of manually updating PDFLayerController's device scale factor.
473         (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
474         the "underlying" (non-zoom) content scale, which is the product of the
475         device scale and the page scale.
476         (WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
477         (WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
478         PDFLayerController's notion of the page scale up to date when the plugin's
479         geometry changes.
480
481 2012-11-27  Tim Horton  <timothy_horton@apple.com>
482
483         PDFPlugin: Scroll bars do not grow on hover
484         https://bugs.webkit.org/show_bug.cgi?id=103382
485         <rdar://problem/12555262>
486
487         Reviewed by Beth Dakin.
488
489         PDFPlugin needs to forward relevant mouse events to the scrollbars.
490         In addition, it needs to implement currentMousePosition so ScrollableArea and friends
491         can find the mouse position at arbitrary times.
492
493         I also took this opportunity to factor some coordinate space conversion functions out.
494
495         * WebProcess/Plugins/PDF/PDFPlugin.h:
496         (WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
497         (WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
498         (WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
499         (PDFPlugin):
500         * WebProcess/Plugins/PDF/PDFPlugin.mm:
501         (WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
502         (WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
503         (WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
504         (WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
505         (WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
506         Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
507         If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
508         If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
509         If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
510         If the mouse is currently over the scroll corner, bail, because nobody should get those events.
511
512 2012-11-27  Dan Bernstein  <mitz@apple.com>
513
514         Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
515         https://bugs.webkit.org/show_bug.cgi?id=103358
516
517         Reviewed by Adele Peterson.
518
519         To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
520         prevent media from starting automatically when the view is put in a window.
521
522         * Shared/WebPageCreationParameters.cpp:
523         (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
524         (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
525         * Shared/WebPageCreationParameters.h:
526         (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
527         * UIProcess/API/C/WKPage.cpp:
528         (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
529         * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
530         * UIProcess/WebPageProxy.cpp:
531         (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
532         to true, the value matching the current behavior.
533         (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
534         m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
535         (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
536         process creation parameters.
537         * UIProcess/WebPageProxy.h:
538         (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
539         m_mayStartMediaWhenInWindow.
540         * WebProcess/WebPage/WebPage.cpp:
541         (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
542         parameters.
543         (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
544         conditional on m_mayStartMediaWhenInWindow.
545         (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
546         already in a window when changing from false to true, starts m_setCanStartMediaTimer.
547         * WebProcess/WebPage/WebPage.h:
548         (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
549         * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
550
551 2012-11-27  Pratik Solanki  <psolanki@apple.com>
552
553         objc/objc-runtime.h does not exist on all PLATFORM(MAC)
554         https://bugs.webkit.org/show_bug.cgi?id=101780
555
556         Reviewed by Brent Fulgham.
557
558         Clean up header includes so we don't include objc/objc-runtime.h.
559
560         * PluginProcess/mac/PluginProcessShim.mm:
561         * UIProcess/API/mac/PDFViewController.mm:
562
563 2012-11-27  Alexey Proskuryakov  <ap@apple.com>
564
565         [WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
566         https://bugs.webkit.org/show_bug.cgi?id=103433
567         <rdar://problem/12543513>
568
569         Reviewed by Jessie Berlin.
570
571         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
572         assertion, and modified code to not rely on its condition being true.
573
574 2012-11-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
575
576         [EFL][Qt][WK2] Tiles not always painted
577         https://bugs.webkit.org/show_bug.cgi?id=103271
578
579         Reviewed by Kenneth Rohde Christiansen.
580
581         The problem turned up because visible content was synchromized before the new fixed
582         layout size had been applied in the web process.
583
584         * UIProcess/PageViewportController.cpp:
585         (WebKit::PageViewportController::didChangeViewportSize):
586         (WebKit::PageViewportController::didChangeViewportAttributes):
587
588 2012-11-27  Yael Aharon  <yael.aharon@intel.com>
589
590         [EFL] Graphics layer edges are sometimes very pixelated
591         https://bugs.webkit.org/show_bug.cgi?id=103302
592
593         Reviewed by Kenneth Rohde Christiansen.
594
595         The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
596         http://trac.webkit.org/changeset/135401.
597
598         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
599         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
600
601 2012-11-27  KwangYong Choi  <ky0.choi@samsung.com>
602
603         [X11] Allow empty plugin name and description during scan plugin
604         https://bugs.webkit.org/show_bug.cgi?id=103234
605
606         Reviewed by Simon Hausmann.
607
608         Empty entries should be allowed when split the output string of scan plugin
609         because the plugin name and the description can be empty string.
610
611         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
612         (WebKit::PluginProcessProxy::scanPlugin):
613         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
614         (WebKit::PluginProcessProxy::scanPlugin):
615
616 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
617
618         Unreviewed, rolling out r135819.
619         http://trac.webkit.org/changeset/135819
620         https://bugs.webkit.org/show_bug.cgi?id=103388
621
622         It broke many tests on Qt and EFL WK2 platforms (Requested by
623         Ossy on #webkit).
624
625         * Shared/WebPageCreationParameters.cpp:
626         (WebKit::WebPageCreationParameters::encode):
627         (WebKit::WebPageCreationParameters::decode):
628         * Shared/WebPageCreationParameters.h:
629         (WebPageCreationParameters):
630         * UIProcess/API/C/WKPage.cpp:
631         (WKPageCopyRelatedPages):
632         * UIProcess/API/C/WKPagePrivate.h:
633         * UIProcess/WebPageProxy.cpp:
634         (WebKit::WebPageProxy::WebPageProxy):
635         (WebKit::WebPageProxy::creationParameters):
636         * UIProcess/WebPageProxy.h:
637         (WebPageProxy):
638         * WebProcess/WebPage/WebPage.cpp:
639         (WebKit::WebPage::WebPage):
640         (WebKit::WebPage::setIsInWindow):
641         * WebProcess/WebPage/WebPage.h:
642         (WebPage):
643         * WebProcess/WebPage/WebPage.messages.in:
644
645 2012-11-27  Kyungjin Kim  <gen.kim@samsung.com>
646
647         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
648         https://bugs.webkit.org/show_bug.cgi?id=103008
649
650         Reviewed by Gyuyoung Kim.
651
652         Fix API names in WKPreferences from 2d to 2D.
653
654         * UIProcess/API/C/WKPreferences.cpp:
655         (WKPreferencesSetAccelerated2DCanvasEnabled):
656         (WKPreferencesGetAccelerated2DCanvasEnabled):
657         * UIProcess/API/C/WKPreferencesPrivate.h:
658
659 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
660
661         Unreviewed, rolling out r135786.
662         http://trac.webkit.org/changeset/135786
663         https://bugs.webkit.org/show_bug.cgi?id=103379
664
665         It made 3 plugin tests timeout on several platforms (Requested
666         by Ossy on #webkit).
667
668         * WebProcess/Plugins/PluginView.cpp:
669         (WebKit::PluginView::performFrameLoadURLRequest):
670         * WebProcess/WebPage/WebPage.cpp:
671         (WebKit::WebPage::loadURLRequest):
672         (WebKit::WebPage::loadData):
673         (WebKit::WebPage::linkClicked):
674
675 2012-11-27  Huang Dongsung  <luxtella@company100.net>
676
677         Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
678         https://bugs.webkit.org/show_bug.cgi?id=103297
679
680         Reviewed by Noam Rosenthal.
681
682         Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
683
684         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
685         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
686         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
687         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
688         (CoordinatedGraphicsLayer):
689
690 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
691
692         Unreviewed, rolling out r135822.
693         http://trac.webkit.org/changeset/135822
694         https://bugs.webkit.org/show_bug.cgi?id=103369
695
696         Undo the revert of r135818, since that change does not affect
697         code used by Chromium (Requested by apavlov on #webkit).
698
699         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
700         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
701         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
702
703 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
704
705         Unreviewed, rolling out r135818.
706         http://trac.webkit.org/changeset/135818
707         https://bugs.webkit.org/show_bug.cgi?id=103368
708
709         platform/chromium/virtual/threaded/compositing/visibility
710         /visibility-simple-webgl-layer.html crash on Mountain Lion
711         (Requested by apavlov on #webkit).
712
713         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
714         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
715         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
716
717 2012-11-26  Dan Bernstein  <mitz@apple.com>
718
719         <rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
720         https://bugs.webkit.org/show_bug.cgi?id=103358
721
722         Reviewed by Adele Peterson.
723
724         To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
725         prevent media from starting automatically when the view is put in a window.
726
727         * Shared/WebPageCreationParameters.cpp:
728         (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
729         (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
730         * Shared/WebPageCreationParameters.h:
731         (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
732         * UIProcess/API/C/WKPage.cpp:
733         (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
734         * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
735         * UIProcess/WebPageProxy.cpp:
736         (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
737         to true, the value matching the current behavior.
738         (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
739         m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
740         (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
741         process creation parameters.
742         * UIProcess/WebPageProxy.h:
743         (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
744         m_mayStartMediaWhenInWindow.
745         * WebProcess/WebPage/WebPage.cpp:
746         (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
747         parameters.
748         (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
749         conditional on m_mayStartMediaWhenInWindow.
750         (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
751         already in a window when changing from false to true, starts m_setCanStartMediaTimer.
752         * WebProcess/WebPage/WebPage.h:
753         (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
754         * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
755
756 2012-11-26  Huang Dongsung  <luxtella@company100.net>
757
758         Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
759         https://bugs.webkit.org/show_bug.cgi?id=103297
760
761         Reviewed by Noam Rosenthal.
762
763         GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
764         mask layer in setContentsVisible() and setMaskLayer() like setting a size.
765         This patch is needed because RenderLayerBacking does not set the visibility to a
766         mask layer like the size.
767
768         This patch does not change user experience because an invisible layer is not
769         rendered although the mask layer is rendered. In that sense, it is an
770         optimization patch.
771
772         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
773         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
774         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
775
776 2012-11-26  Kyungjin Kim  <gen.kim@samsung.com>
777
778         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
779         https://bugs.webkit.org/show_bug.cgi?id=103008
780
781         Reviewed by Gyuyoung Kim.
782
783         Add setting APIs for accelerated 2d canvas in WebKit2.
784
785         * Shared/WebPreferencesStore.h:
786         (WebKit):
787         * UIProcess/API/C/WKPreferences.cpp:
788         (WKPreferencesSetAccelerated2dCanvasEnabled):
789         (WKPreferencesGetAccelerated2dCanvasEnabled):
790         * UIProcess/API/C/WKPreferencesPrivate.h:
791         * WebProcess/WebPage/WebPage.cpp:
792         (WebKit::WebPage::updatePreferences):
793
794 2012-11-26  Tim Horton  <timothy_horton@apple.com>
795
796         Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
797         https://bugs.webkit.org/show_bug.cgi?id=103288
798
799         Reviewed by Dan Bernstein.
800
801         Other PluginView methods that use m_plugin null-check m_plugin and check
802         that the plugin has finished initializing before using it. These three
803         should do the same thing.
804
805         * WebProcess/Plugins/PluginView.cpp:
806         (WebKit::PluginView::handleEditingCommand):
807         (WebKit::PluginView::isEditingCommandEnabled):
808         (WebKit::PluginView::shouldAllowScripting):
809
810 2012-11-26  Tim Horton  <timothy_horton@apple.com>
811
812         PDFPlugin: Subframe PDF context menus are in the wrong place
813         https://bugs.webkit.org/show_bug.cgi?id=103284
814         <rdar://problem/12727972>
815
816         Reviewed by Dan Bernstein.
817
818         Event position is in window coordinates, not content coordinates.
819         Since we have no windowToScreen(), use windowToContents and contentsToScreen
820         to get to screen coordinate space, which WKPopupContextMenu wants.
821
822         * WebProcess/Plugins/PDF/PDFPlugin.mm:
823         (WebKit::PDFPlugin::handleContextMenuEvent):
824
825 2012-11-26  Tim Horton  <timothy_horton@apple.com>
826
827         PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
828         https://bugs.webkit.org/show_bug.cgi?id=103282
829         <rdar://problem/12710892>
830
831         Reviewed by Dan Bernstein.
832
833         Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
834
835         * WebProcess/Plugins/PDF/PDFPlugin.mm:
836         (WebKit::PDFPlugin::handleMouseEvent):
837
838 2012-11-26  Ryuan Choi  <ryuan.choi@gmail.com>
839
840         [EFL] Unreviewed build fix after r135767 without Tiled Backing Store
841         https://bugs.webkit.org/show_bug.cgi?id=103320
842
843         Unreviewed build fix.
844
845         * WebProcess/Plugins/Plugin.cpp:
846         * WebProcess/Plugins/Plugin.h:
847         (WebCore):
848
849 2012-11-26  James Simonsen  <simonjam@chromium.org>
850
851         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
852         https://bugs.webkit.org/show_bug.cgi?id=102151
853
854         Reviewed by Adam Barth.
855
856         * WebProcess/Plugins/PluginView.cpp:
857         (WebKit::PluginView::performFrameLoadURLRequest):
858         * WebProcess/WebPage/WebPage.cpp:
859         (WebKit::WebPage::loadURLRequest):
860         (WebKit::WebPage::loadData):
861
862 2012-11-26  Jon Lee  <jonlee@apple.com>
863
864         Pass clicks through to the restarted plugin
865         https://bugs.webkit.org/show_bug.cgi?id=102150
866         <rdar://problem/12695575>
867
868         Reviewed by Simon Fraser.
869
870         Expose convertToRootView() as a public function for all plugins. It converts the click point
871         from local plugin coordinates to root view coordinates. When the events are sent to the
872         plugin, the coordinate gets converted back to the local reference frame.
873         * WebProcess/Plugins/Plugin.cpp:
874         (WebKit::Plugin::convertToRootView): Default implementation should not be reached.
875         * WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
876         * WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
877         method virtual.
878         * WebProcess/Plugins/PluginProxy.h:
879         * WebProcess/Plugins/PluginProxy.cpp:
880         (WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
881         a point in root view coordinates.
882
883         Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
884         the earliest state where the plugin is playing.
885         * WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
886         (WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
887         element to dispatch the pending mouse click.
888         (WebKit::PluginView::paint):
889         (WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
890         WebMouseEvent.
891         (WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
892         the UI process. So we fabricate one based on the simulated event.
893         (WebKit::PluginView::invalidateRect):
894         (WebKit::PluginView::isAcceleratedCompositingEnabled):
895         * WebProcess/Plugins/PluginView.h:
896
897 2012-11-26  Kalev Lember  <kalevlember@gmail.com>
898
899         [GTK] Explicitly link against librt
900         https://bugs.webkit.org/show_bug.cgi?id=103194
901
902         Reviewed by Martin Robinson.
903
904         Fixes broken build with undefined references to shm_open / shm_unlink
905         symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
906
907         * GNUmakefile.am:
908
909 2012-11-26  Christophe Dumez  <christophe.dumez@intel.com>
910
911         [EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
912         https://bugs.webkit.org/show_bug.cgi?id=103224
913
914         Reviewed by Laszlo Gombos.
915
916         Add API to ewk_settings to enable / disable the HTML5
917         local storage functionality. The functionality is
918         enabled by default.
919
920         * UIProcess/API/efl/ewk_settings.cpp:
921         (ewk_settings_local_storage_enabled_set):
922         (ewk_settings_local_storage_enabled_get):
923         * UIProcess/API/efl/ewk_settings.h:
924         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
925         (TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
926
927 2012-11-26  Rafael Brandao  <rafael.lobo@openbossa.org>
928
929         [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
930         https://bugs.webkit.org/show_bug.cgi?id=101341
931
932         Reviewed by Noam Rosenthal.
933
934         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
935         (WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
936         vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
937         can be harmful as we've already released the lock.
938
939 2012-11-26  Jaehun Lim  <ljaehun.lim@samsung.com>
940
941         Text Autosizing: Add Text Autosizing APIs for WK2
942         https://bugs.webkit.org/show_bug.cgi?id=100633
943
944         Reviewed by Sam Weinig.
945
946         Implement basic Text Autosizing APIs for WK2.
947         Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
948         of text in wide columns, and makes text more legible.
949         This patch adds setting APIs for Text Autosizing in WK2.
950
951         * Shared/WebPreferencesStore.h:
952         (WebKit):
953         * UIProcess/API/C/WKPreferences.cpp:
954         (WKPreferencesSetTextAutosizingEnabled):
955         (WKPreferencesGetTextAutosizingEnabled):
956         * UIProcess/API/C/WKPreferences.h:
957         * WebProcess/WebPage/WebPage.cpp:
958         (WebKit::WebPage::updatePreferences):
959
960 2012-11-26  Pierre Rossi  <pierre.rossi@gmail.com>
961
962         [Qt] REGRESSION(r135575): It made all tests assert
963         https://bugs.webkit.org/show_bug.cgi?id=103169
964
965         Reviewed by Simon Hausmann.
966
967         This fixes another regression introduced in r135515:
968         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
969         since it can be called from WebKit2 to initialize QStyle for testing.
970         This would then lead to things such as PlatformStrategies being
971         initialized twice.
972
973         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
974         (WebKit):
975         (main):
976
977 2012-11-26  Huang Dongsung  <luxtella@company100.net>
978
979         REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
980         https://bugs.webkit.org/show_bug.cgi?id=103217
981
982         Reviewed by Noam Rosenthal.
983
984         It is possible for CoordinatedBackingStore of directed composited image to not
985         have tiles, because CoordinatedImageBacking does not create tiles when the image
986         is invisible.
987
988         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
989         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
990
991 2012-11-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
992
993         [WK2] TiledBackingStore: page contents is scaled wrongly
994         https://bugs.webkit.org/show_bug.cgi?id=103090
995
996         Reviewed by Kenneth Rohde Christiansen.
997
998         Before this change the page contents scaling in PageViewportController was
999         defined all the times by m_rawAttributes.initialScale. If initial scale had not
1000         been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
1001         PageViewportController::didChangeViewportAttributes().
1002
1003         The problem was that m_minimumScaleToFit could have wrong value as contents size
1004         might have not be updated by the time PageViewportController::didChangeViewportAttributes()
1005         was invoked.
1006
1007         The solution is to use m_minimumScaleToFit for contents scaling if initial scale
1008         is not specified in the viewport meta tag, as it is updated all the time. 
1009         Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
1010         whether m_minimumScaleToFit should be used for scaling.
1011
1012         * UIProcess/PageViewportController.cpp:
1013         (WebKit::PageViewportController::PageViewportController):
1014         (WebKit::PageViewportController::didChangeContentsSize):
1015         (WebKit::PageViewportController::pageTransitionViewportReady):
1016         (WebKit::PageViewportController::didChangeViewportAttributes):
1017         * UIProcess/PageViewportController.h:
1018         (PageViewportController):
1019
1020 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1021
1022         [EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
1023         https://bugs.webkit.org/show_bug.cgi?id=103187
1024
1025         Reviewed by Kenneth Rohde Christiansen.
1026
1027         Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the 
1028         same arg type s/he wants to have in the Ewk_View callback.
1029
1030         * UIProcess/API/efl/EwkViewCallbacks.h:
1031         (EvasObjectHolder):
1032         (EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
1033         (EwkViewCallbacks):
1034
1035 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1036
1037         [EFL][WK2] Check errors in EwkView callbacks usage at compile time
1038         https://bugs.webkit.org/show_bug.cgi?id=103177
1039
1040         Reviewed by Kenneth Rohde Christiansen.
1041
1042         Errors in EwkView callbacks usage are now checked at compile time.
1043
1044         * UIProcess/API/efl/EwkViewCallbacks.h:
1045         (CallBack):
1046         (EwkViewCallbacks::CallBack::CallBack):
1047         (EwkViewCallbacks::CallBack::call):
1048
1049 2012-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1050
1051         Unreviewed, rolling out r135575.
1052         http://trac.webkit.org/changeset/135575
1053         https://bugs.webkit.org/show_bug.cgi?id=103169
1054
1055         It made all tests assert (Requested by Ossy on #webkit).
1056
1057         * qt/MainQt.cpp:
1058         (WebKit):
1059         (main):
1060
1061 2012-11-23  Alexis Menard  <alexis@webkit.org>
1062
1063         [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
1064         https://bugs.webkit.org/show_bug.cgi?id=102104
1065
1066         Reviewed by Julien Chaffraix.
1067
1068         Protect the new feature behind a feature flag.
1069
1070         * Configurations/FeatureDefines.xcconfig:
1071
1072 2012-11-23  Huang Dongsung  <luxtella@company100.net>
1073
1074         Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
1075         https://bugs.webkit.org/show_bug.cgi?id=103097
1076
1077         Reviewed by Noam Rosenthal.
1078
1079         CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
1080         not check its ancestor. This patch makes this method check its ancestor
1081         to match its name.
1082
1083         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1084         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
1085
1086 2012-11-23  Huang Dongsung  <luxtella@company100.net>
1087
1088         Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
1089         https://bugs.webkit.org/show_bug.cgi?id=103030
1090
1091         Reviewed by Noam Rosenthal.
1092
1093         LayerTreeRenderer::removeTile() must add a backing store into
1094         m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
1095
1096         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1097         (WebKit::LayerTreeRenderer::removeTile):
1098
1099 2012-11-23  Huang Dongsung  <luxtella@company100.net>
1100
1101         [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
1102         https://bugs.webkit.org/show_bug.cgi?id=103046
1103
1104         Reviewed by Noam Rosenthal.
1105
1106         This patch makes GraphicsLayerTextureMapper create its own backing
1107         store. However, LayerTreeRenderer also creates its own backing store. So
1108         when LayerTreeRenderer uses GraphicsLayerTextureMapper,
1109         LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
1110         backing store.
1111
1112         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1113         (WebKit::LayerTreeRenderer::createLayer):
1114         (WebKit::LayerTreeRenderer::getBackingStore):
1115
1116 2012-11-23  Huang Dongsung  <luxtella@company100.net>
1117
1118         REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
1119         https://bugs.webkit.org/show_bug.cgi?id=103077
1120
1121         Reviewed by Noam Rosenthal.
1122
1123         Currently, the painting thread uses purgeGLResources() and setActive().
1124         QQuickWebPage::updatePaintNode() indirectly calls both methods after
1125         locking the main thread.
1126
1127         This patch changes two points.
1128         1. Remove ASSERT(isMainThread()) in methods that the painting thread can
1129         call.
1130         2. Make purgeGLResources() and setActive() call methods of
1131         LayerTreeCoordinatorProxy via dispatchOnMainThread().
1132
1133         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1134         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
1135         (WebKit::LayerTreeRenderer::renderNextFrame):
1136         (WebKit::LayerTreeRenderer::purgeGLResources):
1137         (WebKit):
1138         (WebKit::LayerTreeRenderer::purgeBackingStores):
1139         (WebKit::LayerTreeRenderer::setActive):
1140         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1141         (LayerTreeRenderer):
1142
1143 2012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
1144
1145         [EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
1146         https://bugs.webkit.org/show_bug.cgi?id=103133
1147
1148         Reviewed by Kenneth Rohde Christiansen.
1149
1150         If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
1151         attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
1152         and only fall back to ecore_evas_software_x11_window_get().
1153
1154         * UIProcess/API/efl/EwkViewImpl.cpp:
1155         (EwkViewImpl::transformToScreen):
1156
1157 2012-11-23  Wojciech Bielawski  <w.bielawski@samsung.com>
1158
1159         [WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
1160         https://bugs.webkit.org/show_bug.cgi?id=86881
1161
1162         Reviewed by Kenneth Rohde Christiansen.
1163
1164         InjectedBundle API extended to retrieve contextMenu entries names.
1165         WebContextMenu exteded with function to retrieve menu items.
1166         This API is required by layout tests.
1167         Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
1168         Behaviour of dependend methods is unchanged.
1169
1170         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1171         (WKBundlePageGetContextMenuEntriesNames):
1172         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1173         * WebProcess/WebPage/WebContextMenu.cpp:
1174         (WebKit::WebContextMenu::items):
1175         (WebKit):
1176         * WebProcess/WebPage/WebContextMenu.h:
1177         (WebContextMenu):
1178
1179 2012-11-22  Pierre Rossi  <pierre.rossi@gmail.com>
1180
1181         [Qt] Avoid initializing PlatformStrategies twice.
1182
1183         Rubber-stamped by Simon Hausmann.
1184
1185         This fixes another regression introduced in r135515:
1186         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
1187         since it can be called from WebKit2 to initialize QStyle for testing.
1188         This would then lead to things such as PlatformStrategies being
1189         initialized twice.
1190
1191         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
1192         (WebKit):
1193         (main):
1194
1195 2012-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1196
1197         [GTK] Use custom private macros to define GObjects
1198         https://bugs.webkit.org/show_bug.cgi?id=99705
1199
1200         Reviewed by Martin Robinson.
1201
1202         Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
1203         G_DEFINE_TYPE macros, to define GObject types. These macros also
1204         define the init and finalize functions reducing the GObject
1205         boilerplate and hiding the placement new syntax that causes some
1206         confusion. The patch replaces the use of G_DEFINE_TYPE macros by
1207         WEBKIT_DEFINE_TYPE ones and removes the init and finalize
1208         implementations, moving custom code when needed to the private
1209         struct constructor/destructor or constructed/dispose virtual
1210         methods when appropriate.
1211
1212         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
1213         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
1214         (webkit_back_forward_list_item_class_init):
1215         * UIProcess/API/gtk/WebKitContextMenu.cpp:
1216         (webkitContextMenuDispose):
1217         (webkit_context_menu_class_init):
1218         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
1219         (_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
1220         (_WebKitContextMenuItemPrivate):
1221         (webkit_context_menu_item_class_init):
1222         * UIProcess/API/gtk/WebKitCookieManager.cpp:
1223         (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
1224         (_WebKitCookieManagerPrivate):
1225         * UIProcess/API/gtk/WebKitDownload.cpp:
1226         (webkit_download_class_init):
1227         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1228         (webkit_favicon_database_class_init):
1229         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
1230         (webkitFileChooserRequestDispose):
1231         (webkit_file_chooser_request_class_init):
1232         * UIProcess/API/gtk/WebKitFindController.cpp:
1233         (webkit_find_controller_class_init):
1234         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
1235         (webkitFormSubmissionRequestDispose):
1236         (webkit_form_submission_request_class_init):
1237         * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
1238         (webkitGeolocationPermissionRequestDispose):
1239         (webkit_geolocation_permission_request_class_init):
1240         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
1241         (webkit_hit_test_result_class_init):
1242         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
1243         (webkit_navigation_policy_decision_class_init):
1244         * UIProcess/API/gtk/WebKitPlugin.cpp:
1245         (_WebKitPluginPrivate::~_WebKitPluginPrivate):
1246         (_WebKitPluginPrivate):
1247         (webkit_plugin_class_init):
1248         * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
1249         (webkitPolicyDecisionDispose):
1250         (webkit_policy_decision_class_init):
1251         (webkit_policy_decision_use):
1252         (webkit_policy_decision_ignore):
1253         (webkit_policy_decision_download):
1254         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1255         (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
1256         (_WebKitPrintOperationPrivate):
1257         (webkit_print_operation_class_init):
1258         * UIProcess/API/gtk/WebKitPrivate.h:
1259         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
1260         (webkit_response_policy_decision_class_init):
1261         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
1262         (webkit_security_manager_class_init):
1263         * UIProcess/API/gtk/WebKitSettings.cpp:
1264         (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
1265         (_WebKitSettingsPrivate):
1266         (webkit_settings_class_init):
1267         * UIProcess/API/gtk/WebKitURIRequest.cpp:
1268         (webkit_uri_request_class_init):
1269         * UIProcess/API/gtk/WebKitURIResponse.cpp:
1270         (webkit_uri_response_class_init):
1271         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
1272         (webkit_uri_scheme_request_class_init):
1273         * UIProcess/API/gtk/WebKitWebContext.cpp:
1274         * UIProcess/API/gtk/WebKitWebInspector.cpp:
1275         (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
1276         (_WebKitWebInspectorPrivate):
1277         (webkit_web_inspector_class_init):
1278         * UIProcess/API/gtk/WebKitWebResource.cpp:
1279         (webkit_web_resource_class_init):
1280         * UIProcess/API/gtk/WebKitWebView.cpp:
1281         (_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
1282         (_WebKitWebViewPrivate):
1283         (webkitWebViewConstructed):
1284         (webkitWebViewDispose):
1285         (webkit_web_view_class_init):
1286         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1287         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
1288         (_WebKitWebViewBasePrivate):
1289         (_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
1290         (webkitWebViewBaseDispose):
1291         (webkitWebViewBaseConstructed):
1292         (webkit_web_view_base_class_init):
1293         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
1294         (webkit_web_view_base_accessible_class_init):
1295         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
1296         (webkit_window_properties_class_init):
1297
1298 2012-11-22  KwangYong Choi  <ky0.choi@samsung.com>
1299
1300         [EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
1301         https://bugs.webkit.org/show_bug.cgi?id=103044
1302
1303         Reviewed by Kentaro Hara.
1304
1305         enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
1306         So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
1307
1308         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
1309         (WebKit::ProcessLauncher::launchProcess):
1310
1311 2012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
1312
1313         [GTK] Split SVG from WebCore to work-around make limitation
1314         https://bugs.webkit.org/show_bug.cgi?id=97735
1315
1316         Reviewed by Carlos Garcia Campos.
1317
1318         Add a new libtool convenience library, libWebCoreSVG.la, to work-around
1319         make limitation when linking libWebCore.
1320
1321         * GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
1322
1323 2012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
1324
1325         [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
1326         https://bugs.webkit.org/show_bug.cgi?id=102800
1327
1328         Reviewed by Tor Arne Vestbø.
1329
1330         This patch separates code that needs to use QWidget related APIs in
1331         WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
1332         example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
1333         while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
1334         static library. WebKit1 is compiled without QT += widgets and therefore
1335         any widget related dependency has been moved "up" and out of WebKit1 into
1336         the WebKitWidgets library.
1337
1338         Between the code in WebKit.a and WebKitWidgets.a new adapters and
1339         interfaces have been introduced, such as QWebPageAdapter and
1340         QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
1341         call out into the API layer, implemented by QWebPage (QWebPagePrivate).
1342         The other way around if QWebPage wants to access WebCore or
1343         WebCoreSupport related functionality, it will go through
1344         QWebPageAdapater (as base class). The separation in the direction up
1345         into the API layer is complete with this patch, no code in WebKit1
1346         depends on QtWidgets. The separation the other way around, code in the
1347         API layer not using any WebCore types, is not complete yet.
1348
1349         Some classes such as QWebSettings, QWebElement or
1350         DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
1351         they do not depend on widget related Qt APIs and they make much more
1352         use of WebCore internal APIs and therefore are easier to keep in
1353         WebKit1.
1354
1355         In the future we plan to place a real shared library boundary between
1356         WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
1357         part of the QtWebKit shared library and by turning the WebKitWidgets
1358         static library into a shared one.
1359
1360         * qt/MainQt.cpp:
1361         (WebKit):
1362         (main):
1363
1364 2012-11-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1365
1366         [WK2][EFL] No need to remove surface before replacing
1367         https://bugs.webkit.org/show_bug.cgi?id=103055
1368
1369         Rubberstamped by Simon Hausmann.
1370
1371         The surface is stored in a OwnPtr which automatically
1372         frees the existing surface after replacing it with a new
1373         one. For some reason, this also fixes resizing issues on
1374         my Nvidia driver.
1375
1376         * UIProcess/API/efl/EwkViewImpl.cpp:
1377         (EwkViewImpl::createGLSurface):
1378         * UIProcess/API/efl/EwkViewImpl.h:
1379         * UIProcess/API/efl/ewk_view.cpp:
1380         (_ewk_view_smart_calculate):
1381
1382 2012-11-22  Christophe Dumez  <christophe.dumez@intel.com>
1383
1384         WebKitTestRunner needs layoutTestController.setCacheModel
1385         https://bugs.webkit.org/show_bug.cgi?id=42684
1386
1387         Reviewed by Kenneth Rohde Christiansen.
1388
1389         Add Bundle C API for WebKitTestRunner to set the
1390         cache model.
1391
1392         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1393         (WKBundleSetCacheModel):
1394         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1395         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1396         (WebKit::InjectedBundle::setCacheModel):
1397         (WebKit):
1398         * WebProcess/InjectedBundle/InjectedBundle.h:
1399         (InjectedBundle):
1400         * WebProcess/WebProcess.h:
1401         (WebProcess):
1402
1403 2012-11-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1404
1405         REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
1406         https://bugs.webkit.org/show_bug.cgi?id=102971
1407
1408         Reviewed by Kenneth Rohde Christiansen.
1409
1410         m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
1411         it's value.
1412
1413         * UIProcess/PageViewportController.cpp:
1414         (WebKit::PageViewportController::didChangeViewportAttributes):
1415
1416 2012-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
1417
1418         [EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
1419         https://bugs.webkit.org/show_bug.cgi?id=102865
1420
1421         Reviewed by Kenneth Rohde Christiansen.
1422
1423         Set the screen position as a third parameter and contents position as
1424         a fourth parameter of WebPlatformTouchPoint().
1425
1426         * Shared/efl/WebEventFactory.cpp:
1427         (WebKit::WebEventFactory::createWebTouchEvent):
1428
1429 2012-11-22  Huang Dongsung  <luxtella@company100.net>
1430
1431         Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
1432         https://bugs.webkit.org/show_bug.cgi?id=102894
1433
1434         Reviewed by Kenneth Rohde Christiansen.
1435
1436         CoordinatedGraphicsLayer does not need to have a backing store
1437         if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
1438
1439         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1440         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
1441
1442 2012-11-22  Huang Dongsung  <luxtella@company100.net>
1443
1444         Coordinated Graphics: refactor LayerTreeRenderer.
1445         https://bugs.webkit.org/show_bug.cgi?id=103004
1446
1447         Reviewed by Noam Rosenthal.
1448
1449         This patch changes two subjects.
1450         1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
1451         In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
1452         function) instead of its own implementation.
1453
1454         2. Remove setAccelerationMode() because we don't use m_accelerationMode member
1455         except for the setter.
1456
1457         * UIProcess/API/efl/EwkViewImpl.cpp:
1458         (EwkViewImpl::createGLSurface):
1459         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1460         (WebKit):
1461         (WebKit::LayerTreeRenderer::dispatchOnMainThread):
1462         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
1463         (WebKit::LayerTreeRenderer::animationFrameReady):
1464         (WebKit::LayerTreeRenderer::updateViewport):
1465         (WebKit::LayerTreeRenderer::renderNextFrame):
1466         (WebKit::LayerTreeRenderer::purgeGLResources):
1467         (WebKit::LayerTreeRenderer::detach):
1468         (WebKit::LayerTreeRenderer::setActive):
1469         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1470         (LayerTreeRenderer):
1471         * UIProcess/efl/PageClientBase.cpp:
1472         (WebKit::PageClientBase::createDrawingAreaProxy):
1473
1474 2012-11-21  Jinwoo Song  <jinwoo7.song@samsung.com>
1475
1476         [EFL][WK2] Use consistent class names in the clients
1477         https://bugs.webkit.org/show_bug.cgi?id=102684
1478
1479         Reviewed by Gyuyoung Kim.
1480
1481         WebKit EFL classes do not use '_' since r135117 but '_' is still remained
1482         in some clients classes. This patch removed the '_' to make class names
1483         to be consistent.
1484
1485         * UIProcess/efl/ContextHistoryClientEfl.cpp:
1486         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
1487         * UIProcess/efl/DownloadManagerEfl.cpp:
1488         (WebKit::DownloadManagerEfl::didFail):
1489         * UIProcess/efl/FormClientEfl.cpp:
1490         (WebKit::FormClientEfl::willSubmitForm):
1491         * UIProcess/efl/PageLoadClientEfl.cpp:
1492         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
1493         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
1494         (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
1495         (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
1496         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
1497         * UIProcess/efl/PagePolicyClientEfl.cpp:
1498         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
1499         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
1500         * UIProcess/efl/PageUIClientEfl.cpp:
1501         (WebKit::PageUIClientEfl::runOpenPanel):
1502         * UIProcess/efl/RequestManagerClientEfl.cpp:
1503         (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
1504         (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
1505         (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
1506         * UIProcess/efl/RequestManagerClientEfl.h:
1507         (RequestManagerClientEfl):
1508         * UIProcess/efl/ResourceLoadClientEfl.cpp:
1509         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
1510         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
1511         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
1512         (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
1513         (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
1514         * UIProcess/efl/ResourceLoadClientEfl.h:
1515         (ResourceLoadClientEfl):
1516
1517 2012-11-21  Jaehun Lim  <ljaehun.lim@samsung.com>
1518
1519         [EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
1520         https://bugs.webkit.org/show_bug.cgi?id=102773
1521
1522         Reviewed by Gyuyoung Kim.
1523
1524         PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
1525
1526         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1527
1528 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1529
1530         Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
1531         https://bugs.webkit.org/show_bug.cgi?id=102896
1532
1533         Reviewed by Noam Rosenthal.
1534
1535         When changing children, we don't need to sync a layer state because
1536         there is no more need to send the parent ID every time the layer tree
1537         hierarchy changes. So this patch removes didChangeLayerState() in
1538         methods which change children.
1539
1540         In addition, purgeBackingStores() does not need to call didChangeChildren()
1541         because purgeBackingStores() does not change children.
1542
1543         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1544         (WebCore::CoordinatedGraphicsLayer::setChildren):
1545         (WebCore::CoordinatedGraphicsLayer::addChild):
1546         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
1547         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
1548         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
1549         (WebCore::CoordinatedGraphicsLayer::replaceChild):
1550         (WebCore::CoordinatedGraphicsLayer::removeFromParent):
1551         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
1552
1553 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1554
1555         REGRESSION(r135212): Fix crash due to an infinite rect.
1556         https://bugs.webkit.org/show_bug.cgi?id=102891
1557
1558         Reviewed by Noam Rosenthal.
1559
1560         When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
1561         can calculate an infinite rect. However, TiledBackingStore cannot handle the
1562         infinite rect. This patch clamps the infinite rect to avoid crash in
1563         TiledBackingStore.
1564
1565         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1566         (WebCore::clampToContentsRectIfRectIsInfinite):
1567         (WebCore):
1568         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
1569
1570 2012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1571
1572         Disambiguate innerNodeFramePoint and mainFramePoint
1573         https://bugs.webkit.org/show_bug.cgi?id=98139
1574
1575         Reviewed by Julien Chaffraix.
1576
1577         Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
1578
1579         * WebProcess/WebPage/WebContextMenu.cpp:
1580         (WebKit::WebContextMenu::show):
1581         * WebProcess/WebPage/mac/WebPageMac.mm:
1582         (WebKit::WebPage::characterIndexForPoint):
1583
1584 2012-11-21  Simon Hausmann  <simon.hausmann@digia.com>
1585
1586         Unreviewed Qt/Windows build fix.
1587         https://bugs.webkit.org/show_bug.cgi?id=102787
1588
1589         Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
1590         defines a member function called "interface". Since windows headers also define a pre-processor
1591         macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
1592         which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
1593         the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
1594         and just slows down the build, this patch removes it.
1595
1596         * UIProcess/API/qt/qwebkittest_p.h:
1597
1598 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1599
1600         Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
1601         https://bugs.webkit.org/show_bug.cgi?id=102900
1602
1603         Reviewed by Noam Rosenthal.
1604
1605         Currently, QQuickWebPage::updatePaintNode() calls
1606         LayerTreeRenderer::syncRemoteContent() with locking the main thread.
1607         syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
1608         updatePaintNode(). Calling syncRemoteContent() in the painting thread is
1609         thread-safe because syncRemoteContent() does not access any data
1610         structures, which the main thread use.
1611
1612         After this patch, syncRemoteContent() is used only internally, so
1613         syncRemoteContent() becomes private.
1614
1615         * UIProcess/API/efl/EwkViewImpl.cpp:
1616         (EwkViewImpl::displayTimerFired):
1617         * UIProcess/API/qt/qquickwebpage.cpp:
1618         (QQuickWebPage::updatePaintNode):
1619         * UIProcess/API/qt/raw/qrawwebview.cpp:
1620         (QRawWebView::paint):
1621         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1622         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
1623         (WebKit::LayerTreeRenderer::ensureRootLayer):
1624         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1625         (LayerTreeRenderer):
1626
1627 2012-11-21  Andras Becsi  <andras.becsi@digia.com>
1628
1629         [WK2] Viewport meta tag broken after r134801
1630         https://bugs.webkit.org/show_bug.cgi?id=102801
1631
1632         Reviewed by Kenneth Rohde Christiansen.
1633
1634         If the initial-scale attribute is not explicitly specified it is left -1 by the
1635         viewport meta algorithm and if the content is not scalable the min and max scales
1636         are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
1637         in negative scales on the UI side.
1638         Make sure that the minimum scale to fit the viewport is calculated before restricting
1639         the scales and use this scale as the initial scale if no explicit initial scale was set.
1640
1641         * UIProcess/PageViewportController.cpp:
1642         (WebKit::PageViewportController::PageViewportController):
1643         (WebKit::PageViewportController::pageTransitionViewportReady):
1644         (WebKit::PageViewportController::didChangeViewportAttributes):
1645         (WebKit::PageViewportController::updateMinimumScaleToFit):
1646
1647 2012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1648
1649         [EFL][WK2] Support Context Menu
1650         https://bugs.webkit.org/show_bug.cgi?id=96200
1651
1652         Reviewed by Laszlo Gombos.
1653
1654         This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
1655         Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
1656         For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
1657
1658         In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
1659
1660         * PlatformEfl.cmake:
1661         * UIProcess/API/efl/EWebKit2.h:
1662         * UIProcess/API/efl/EwkViewImpl.cpp:
1663         (EwkViewImpl::EwkViewImpl):
1664         (EwkViewImpl::showContextMenu):
1665         (EwkViewImpl::hideContextMenu):
1666         * UIProcess/API/efl/EwkViewImpl.h:
1667         (WebKit):
1668         (EwkViewImpl):
1669         * UIProcess/API/efl/ewk_context_menu.cpp: Added.
1670         (EwkContextMenu::EwkContextMenu):
1671         (EwkContextMenu::~EwkContextMenu):
1672         (EwkContextMenu::hide):
1673         (Ewk_Context_Menu::appendItem):
1674         (Ewk_Context_Menu::removeItem):
1675         (EwkContextMenu::contextMenuItemSelected):
1676         (ewk_context_menu_new):
1677         (ewk_context_menu_new_with_items):
1678         (ewk_context_menu_item_append):
1679         (ewk_context_menu_item_remove):
1680         (ewk_context_menu_hide):
1681         (ewk_context_menu_items_get):
1682         (ewk_context_menu_item_select):
1683         * UIProcess/API/efl/ewk_context_menu.h: Added.
1684         * UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
1685         (EwkContextMenuItem::EwkContextMenuItem):
1686         (ewk_context_menu_item_new):
1687         (ewk_context_menu_item_new_with_submenu):
1688         (ewk_context_menu_item_type_get):
1689         (ewk_context_menu_item_type_set):
1690         (ewk_context_menu_item_action_get):
1691         (ewk_context_menu_item_action_set):
1692         (ewk_context_menu_item_title_get):
1693         (ewk_context_menu_item_title_set):
1694         (ewk_context_menu_item_checked_get):
1695         (ewk_context_menu_item_checked_set):
1696         (ewk_context_menu_item_enabled_get):
1697         (ewk_context_menu_item_enabled_set):
1698         * UIProcess/API/efl/ewk_context_menu_item.h: Added.
1699         * UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
1700         (EwkContextMenuItem):
1701         (EwkContextMenuItem::create):
1702         (EwkContextMenuItem::action):
1703         (EwkContextMenuItem::setAction):
1704         (EwkContextMenuItem::title):
1705         (EwkContextMenuItem::setTitle):
1706         (EwkContextMenuItem::type):
1707         (EwkContextMenuItem::setType):
1708         (EwkContextMenuItem::checked):
1709         (EwkContextMenuItem::setChecked):
1710         (EwkContextMenuItem::enabled):
1711         (EwkContextMenuItem::setEnabled):
1712         * UIProcess/API/efl/ewk_context_menu_private.h: Added.
1713         (WebKit):
1714         (EwkContextMenu):
1715         (EwkContextMenu::create):
1716         (EwkContextMenu::items):
1717         * UIProcess/API/efl/ewk_defines.h: Added.
1718         * UIProcess/API/efl/ewk_view.h:
1719         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
1720         (checkBasicContextMenuItem):
1721         (showContextMenu):
1722         (TEST_F):
1723         * UIProcess/efl/ContextMenuClientEfl.cpp: Added.
1724         (toContextClientEfl):
1725         (ContextMenuClientEfl::ContextMenuClientEfl):
1726         (ContextMenuClientEfl::getContextMenuFromProposedMenu):
1727         * UIProcess/efl/ContextMenuClientEfl.h: Added.
1728         (WebKit):
1729         (ContextMenuClientEfl):
1730         (WebKit::ContextMenuClientEfl::create):
1731         * UIProcess/efl/PageClientBase.cpp:
1732         (WebKit::PageClientBase::createContextMenuProxy):
1733         * UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
1734         (WebKit):
1735         (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
1736         (WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
1737         (WebKit::WebContextMenuProxyEfl::showContextMenu):
1738         (WebKit::WebContextMenuProxyEfl::hideContextMenu):
1739         (WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
1740         * UIProcess/efl/WebContextMenuProxyEfl.h: Added.
1741         (WebKit):
1742         (WebContextMenuProxyEfl):
1743         (WebKit::WebContextMenuProxyEfl::create):
1744
1745 2012-11-21  Jongseok Yang  <js45.yang@samsung.com>
1746
1747         [EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
1748         https://bugs.webkit.org/show_bug.cgi?id=102867
1749
1750         Reviewed by Gyuyoung Kim.
1751
1752         Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
1753
1754         ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
1755         because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
1756         And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
1757
1758         * UIProcess/API/efl/ewk_view.cpp:
1759         (ewk_view_encoding_custom_get):
1760         (ewk_view_encoding_custom_set):
1761         * UIProcess/API/efl/ewk_view.h:
1762         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1763         (TEST_F):
1764
1765 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1766
1767         [EFL][WK2] Remove unnecessary #include in API test
1768         https://bugs.webkit.org/show_bug.cgi?id=102674
1769
1770         Reviewed by Laszlo Gombos.
1771
1772         Removed duplicated header files from the API test cases.
1773         Now, EWK2UnitTestBase.h includes the basic header files, 
1774         so test cases may only include this one and add the addtional
1775         header files if necessary.
1776
1777         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1778         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
1779         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
1780         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
1781         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1782         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1783         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1784         * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
1785         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1786         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
1787         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
1788         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
1789         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
1790         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1791         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
1792         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
1793         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
1794         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
1795         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1796         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
1797         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1798         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1799
1800 2012-11-19  Sam Weinig  <sam@webkit.org>
1801
1802         Simplify WebConnection by removing its underlying CoreIPC::Connection
1803         https://bugs.webkit.org/show_bug.cgi?id=102771
1804
1805         Reviewed by Anders Carlsson.
1806
1807         Instead of having WebConnection subclasses own the CoreIPC::Connection,
1808         move back to having the WebProcess and WebProcessProxy own it (and be
1809         its Connection::Client) and use the new MessageReceiver class to vend
1810         messages to the WebConnection.
1811
1812         * Shared/WebConnection.cpp:
1813         (WebKit::WebConnection::WebConnection):
1814         (WebKit::WebConnection::postMessage):
1815         (WebKit::WebConnection::didClose):
1816         (WebKit::WebConnection::didReceiveMessage):
1817         * Shared/WebConnection.h:
1818         Make WebConnection both a MessageReceiver and MessageSender
1819         and add virtual functions for derived classes to fill in.
1820
1821         * UIProcess/WebConnectionToWebProcess.cpp:
1822         (WebKit::WebConnectionToWebProcess::create):
1823         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
1824         (WebKit::WebConnectionToWebProcess::invalidate):
1825         (WebKit::WebConnectionToWebProcess::decodeMessageBody):
1826         (WebKit::WebConnectionToWebProcess::connection):
1827         (WebKit::WebConnectionToWebProcess::destinationID):
1828         (WebKit::WebConnectionToWebProcess::hasValidConnection):
1829         * UIProcess/WebConnectionToWebProcess.h:
1830         * UIProcess/WebProcessProxy.cpp:
1831         (WebKit::WebProcessProxy::~WebProcessProxy):
1832         (WebKit::WebProcessProxy::fromConnection):
1833         (WebKit::WebProcessProxy::disconnect):
1834         (WebKit::WebProcessProxy::addMessageReceiver):
1835         (WebKit::WebProcessProxy::didClose):
1836         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
1837         (WebKit::WebProcessProxy::didFinishLaunching):
1838         * UIProcess/WebProcessProxy.h:
1839         (WebKit::WebProcessProxy::connection):
1840         (WebProcessProxy):
1841         (WebKit::WebProcessProxy::webConnection):
1842         * WebProcess/WebConnectionToUIProcess.cpp:
1843         (WebKit::WebConnectionToUIProcess::create):
1844         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
1845         (WebKit):
1846         (WebKit::WebConnectionToUIProcess::invalidate):
1847         (WebKit::WebConnectionToUIProcess::connection):
1848         (WebKit::WebConnectionToUIProcess::destinationID):
1849         (WebKit::WebConnectionToUIProcess::hasValidConnection):
1850         * WebProcess/WebConnectionToUIProcess.h:
1851         (WebConnectionToUIProcess):
1852         * WebProcess/WebProcess.cpp:
1853         (WebKit::WebProcess::initialize):
1854         (WebKit::WebProcess::terminate):
1855         * WebProcess/WebProcess.h:
1856         (WebKit::WebProcess::connection):
1857         (WebKit::WebProcess::webConnectionToUIProcess):
1858         Move the CoreIPC::Connection back to the processes.
1859
1860 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1861
1862         [EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
1863         https://bugs.webkit.org/show_bug.cgi?id=99114
1864
1865         Reviewed by Gyuyoung Kim.
1866
1867         Added Ewk_Window_Features API so that we can create new windows
1868         with various window features such as location, size, toolbar, menubar,
1869         statusbar, locationbar, scrollbar, resizable, and fullscreen.
1870
1871         UI client callbacks related to window features also implemented
1872         so that it is possible to retrieve the window object property values.
1873
1874         * PlatformEfl.cmake:
1875         * UIProcess/API/efl/EWebKit2.h:
1876         * UIProcess/API/efl/EwkViewCallbacks.h:
1877         (EwkViewCallbacks):
1878         * UIProcess/API/efl/EwkViewImpl.cpp:
1879         (EwkViewImpl::windowFeatures):
1880         (EwkViewImpl::createNewPage):
1881         (EwkViewImpl::closePage):
1882         * UIProcess/API/efl/EwkViewImpl.h:
1883         (EwkViewImpl):
1884         * UIProcess/API/efl/ewk_view.h:
1885         * UIProcess/efl/PageUIClientEfl.cpp:
1886         (WebKit::PageUIClientEfl::createNewPage):
1887         (WebKit::PageUIClientEfl::toolbarsAreVisible):
1888         (WebKit):
1889         (WebKit::PageUIClientEfl::setToolbarsAreVisible):
1890         (WebKit::PageUIClientEfl::menuBarIsVisible):
1891         (WebKit::PageUIClientEfl::setMenuBarIsVisible):
1892         (WebKit::PageUIClientEfl::statusBarIsVisible):
1893         (WebKit::PageUIClientEfl::setStatusBarIsVisible):
1894         (WebKit::PageUIClientEfl::isResizable):
1895         (WebKit::PageUIClientEfl::setIsResizable):
1896         (WebKit::PageUIClientEfl::PageUIClientEfl):
1897         * UIProcess/efl/PageUIClientEfl.h:
1898         (PageUIClientEfl):
1899
1900 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1901
1902         Unreviewed, rolling out r135295.
1903         http://trac.webkit.org/changeset/135295
1904         https://bugs.webkit.org/show_bug.cgi?id=102834
1905
1906         This patch causes assertion to some layout tests on chromium
1907         (Requested by jianli on #webkit).
1908
1909         * WebProcess/Plugins/PluginView.cpp:
1910         (WebKit::PluginView::performFrameLoadURLRequest):
1911         * WebProcess/WebPage/WebPage.cpp:
1912         (WebKit::WebPage::loadURLRequest):
1913         (WebKit::WebPage::loadData):
1914         (WebKit::WebPage::linkClicked):
1915
1916 2012-11-20  James Simonsen  <simonjam@chromium.org>
1917
1918         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
1919         https://bugs.webkit.org/show_bug.cgi?id=102151
1920
1921         Reviewed by Adam Barth.
1922
1923         * WebProcess/Plugins/PluginView.cpp:
1924         (WebKit::PluginView::performFrameLoadURLRequest):
1925         * WebProcess/WebPage/WebPage.cpp:
1926         (WebKit::WebPage::loadURLRequest):
1927         (WebKit::WebPage::loadData):
1928
1929 2012-11-20  peavo@outlook.com  <peavo@outlook.com>
1930
1931         WinCairo build fails to link.
1932         https://bugs.webkit.org/show_bug.cgi?id=102804
1933
1934         Reviewed by Alexey Proskuryakov.
1935
1936         * win/WebKit2CFLite.def:
1937
1938 2012-11-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1939
1940         [WTR] WebKitTestRunner should be able to run tests using fixed layout
1941         https://bugs.webkit.org/show_bug.cgi?id=102517
1942
1943         Reviewed by Kenneth Rohde Christiansen.
1944
1945         Update EFL private API so we can create a view with fixed layout. We
1946         can keep this as private as I don't see a real life use case for it
1947         outside WTR and the WebInspector.
1948
1949         * UIProcess/API/C/efl/WKView.cpp:
1950         (WKViewCreate):
1951         (WKViewCreateWithFixedLayout):
1952         * UIProcess/API/C/efl/WKView.h:
1953         * UIProcess/API/efl/ewk_view.cpp:
1954         (ewk_view_base_add):
1955         * UIProcess/API/efl/ewk_view_private.h:
1956         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1957         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1958
1959 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1960
1961         [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
1962         https://bugs.webkit.org/show_bug.cgi?id=102790
1963
1964         Reviewed by Kenneth Rohde Christiansen.
1965
1966         Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
1967         but instead return whether it has changed the minimumScaleToFit.
1968
1969         * UIProcess/PageViewportController.cpp:
1970         (WebKit::PageViewportController::didChangeContentsSize):
1971         (WebKit::PageViewportController::updateMinimumScaleToFit):
1972         * UIProcess/PageViewportController.h:
1973         (PageViewportController):
1974
1975 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1976
1977         [Qt] No test of double-click to zoom out
1978         https://bugs.webkit.org/show_bug.cgi?id=102810
1979
1980         Reviewed by Kenneth Rohde Christiansen.
1981
1982         Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
1983         that zoom out always goes to lower zoom levels.
1984
1985         * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
1986
1987 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1988
1989         [Qt] Large areas highlighted on touch
1990         https://bugs.webkit.org/show_bug.cgi?id=97216
1991
1992         Reviewed by Simon Hausmann.
1993
1994         Restrict highlighting of scripted event-handlers to inline elements only.
1995
1996         * WebProcess/WebPage/WebPage.cpp:
1997         (WebKit::WebPage::highlightPotentialActivation):
1998
1999 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2000
2001         [Qt] Zoom logic confused by page and pinch resize
2002         https://bugs.webkit.org/show_bug.cgi?id=102803
2003
2004         Reviewed by Kenneth Rohde Christiansen.
2005
2006         Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
2007         zoom-out and zoom-back when the zoom-out stack is empty.
2008
2009         * UIProcess/qt/PageViewportControllerClientQt.cpp:
2010         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
2011         (WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
2012         (WebKit::PageViewportControllerClientQt::setContentsScale):
2013         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
2014         (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
2015         * UIProcess/qt/PageViewportControllerClientQt.h:
2016         (PageViewportControllerClientQt):
2017
2018 2012-11-19  KyungTae Kim  <ktf.kim@samsung.com>
2019
2020         [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
2021         https://bugs.webkit.org/show_bug.cgi?id=102760
2022
2023         Reviewed by Laszlo Gombos.
2024
2025         Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
2026         use UNUSED_PARAM macro to fix build warning -Wunused-parameter
2027
2028         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2029         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
2030
2031 2012-11-19  Huang Dongsung  <luxtella@company100.net>
2032
2033         Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
2034         https://bugs.webkit.org/show_bug.cgi?id=102313
2035
2036         Reviewed by Noam Rosenthal.
2037
2038         Currently, we don't remove tiles of the layer with the special properties: a
2039         transform animation and non affine transform. If a page has a lot of layers with
2040         a transform animation, we will encounter OOM. So this patch removes the
2041         privilege of the layer.
2042
2043         There are two changes.
2044         1. computeTransformedVisibleRect() calculates a layer transform using the
2045         current local transform which a transform animation applied.
2046         2. tiledBackingStoreVisibleRect() calculates a visible
2047         rect of all layers, even if the layer includes the property: a transform
2048         animation or non affine transform.
2049
2050         Test: animations/animation-offscreen-to-onscreen.html
2051
2052         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2053         (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
2054         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
2055         (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
2056         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2057         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
2058         (WebCore):
2059         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2060         (CoordinatedGraphicsLayer):
2061
2062 2012-11-19  Huang Dongsung  <luxtella@company100.net>
2063
2064         Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
2065         https://bugs.webkit.org/show_bug.cgi?id=102449
2066
2067         Reviewed by Noam Rosenthal.
2068
2069         Currently, once uploading textures for composited images, Coordinated Graphics
2070         does not release the textures until all layers using images are destroyed.
2071
2072         This patch removes a texture if we don't need to render an image. This mechanism
2073         is similar how TiledBackingStore removes invisible tiles.
2074
2075         When all layers are invisible, we wait 3 seconds to remove the content
2076         of the image, because we want to prevent a transform animation from
2077         creating and destroying a texture over and over again.
2078
2079         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2080         (WebKit::CoordinatedBackingStore::removeAllTiles):
2081         (WebKit):
2082         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
2083         (CoordinatedBackingStore):
2084         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2085         (WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
2086         (WebKit):
2087         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2088         (LayerTreeCoordinatorProxy):
2089         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2090         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2091         (WebKit::LayerTreeRenderer::clearImageBackingContents):
2092         (WebKit):
2093         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2094         (LayerTreeRenderer):
2095         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2096         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
2097         (WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
2098         (WebCore):
2099         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
2100         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2101         (CoordinatedGraphicsLayer):
2102         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
2103         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
2104         (WebKit::CoordinatedImageBacking::addHost):
2105         (WebKit::CoordinatedImageBacking::removeHost):
2106         (WebKit::CoordinatedImageBacking::update):
2107         (WebKit):
2108         (WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
2109         (WebKit::CoordinatedImageBacking::clearContentsTimerFired):
2110         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
2111         (Coordinator):
2112         (Host):
2113         (CoordinatedImageBacking):
2114         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2115         (WebKit::LayerTreeCoordinator::clearImageBackingContents):
2116         (WebKit):
2117         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2118         (LayerTreeCoordinator):
2119
2120 2012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2121
2122         Unreviewed, rolling out r135201.
2123         http://trac.webkit.org/changeset/135201
2124         https://bugs.webkit.org/show_bug.cgi?id=102725
2125
2126         Broke all non-Mac WK2 builds. (Requested by rakuco on
2127         #webkit).
2128
2129         * Shared/mac/PlatformCertificateInfo.h:
2130         * Shared/mac/PlatformCertificateInfo.mm:
2131         (WebKit):
2132         * WebKit2.xcodeproj/project.pbxproj:
2133         * WebProcess/Authentication/AuthenticationManager.cpp:
2134         * WebProcess/Authentication/AuthenticationManager.h:
2135         (AuthenticationManager):
2136         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
2137         (WebKit):
2138         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
2139
2140 2012-11-19  Brady Eidson  <beidson@apple.com>
2141
2142         Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
2143         https://bugs.webkit.org/show_bug.cgi?id=102718
2144
2145         Reviewed by Sam Weinig.
2146
2147         Add the shared PlatformCertificateInfo version of the method:
2148         * Shared/mac/PlatformCertificateInfo.h:
2149         * Shared/mac/PlatformCertificateInfo.mm:
2150         (WebKit::tryUsePlatformCertificateInfoForChallenge):
2151
2152         Use the new shared version:
2153         * WebProcess/Authentication/AuthenticationManager.cpp:
2154
2155         Remove the old member version:
2156         * WebProcess/Authentication/AuthenticationManager.h:
2157         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
2158         * WebKit2.xcodeproj/project.pbxproj:
2159
2160 2012-11-19  Huang Dongsung  <luxtella@company100.net>
2161
2162         Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
2163         https://bugs.webkit.org/show_bug.cgi?id=102664
2164
2165         Reviewed by Noam Rosenthal.
2166
2167         This patch makes sync canvas code handle the lifecycle of the canvas
2168         GraphicsSurface in the similar style to a directly image compositing and
2169         an update atlas code. This patch moves the canvas lifecycle handling
2170         code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
2171         CoordinatedGraphicsLayer knows best when to create and remove the canvas
2172         GraphicsSurface.
2173
2174         After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
2175         as the canvas platform layer is unset in Web Process.
2176
2177         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2178         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
2179         (WebKit):
2180         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
2181         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
2182         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2183         (LayerTreeCoordinatorProxy):
2184         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2185         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2186         (WebKit::LayerTreeRenderer::createCanvas):
2187         (WebKit):
2188         (WebKit::LayerTreeRenderer::syncCanvas):
2189         (WebKit::LayerTreeRenderer::destroyCanvas):
2190         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2191         (LayerTreeRenderer):
2192         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2193         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2194         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
2195         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
2196         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
2197         (WebCore):
2198         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
2199         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
2200         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2201         (CoordinatedGraphicsLayerClient):
2202         (CoordinatedGraphicsLayer):
2203         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2204         (WebKit::LayerTreeCoordinator::createCanvas):
2205         (WebKit):
2206         (WebKit::LayerTreeCoordinator::syncCanvas):
2207         (WebKit::LayerTreeCoordinator::destroyCanvas):
2208         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2209         (LayerTreeCoordinator):
2210
2211 2012-11-19  Brady Eidson  <beidson@apple.com>
2212
2213         Replace an unneeded #include with a forward declaration after r135179.
2214
2215         Reviewed by nobody, but suggested by Alexey Proskuryakov.
2216
2217         * WebProcess/Network/WebResourceLoader.h:
2218
2219 2012-11-19  Martin Robinson  <mrobinson@igalia.com>
2220
2221         [GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
2222         https://bugs.webkit.org/show_bug.cgi?id=102613
2223
2224         Unreviewed build fix.
2225
2226         * GNUmakefile.am: Fix the build after one of my previous patches introduced
2227         a link dependency on libsecret.
2228
2229 2012-11-19  Yael Aharon  <yael.aharon@intel.com>
2230
2231         [EFL][WK2] Web Inspector crashes if evas_gl is not available
2232         https://bugs.webkit.org/show_bug.cgi?id=102531
2233
2234         Reviewed by Kenneth Rohde Christiansen.
2235
2236         Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
2237
2238         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2239         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2240
2241 2012-11-19  Brady Eidson  <beidson@apple.com>
2242
2243         Remove the source files for NetworkRequest from the repository.
2244         They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
2245
2246         Unreviewed.
2247
2248         * NetworkProcess/NetworkRequest.cpp: Removed.
2249         * NetworkProcess/NetworkRequest.h: Removed.
2250
2251 2012-11-19  Brady Eidson  <beidson@apple.com>
2252
2253         Add 64-bit specializations for atomicIncrement and atomicDecrement
2254         https://bugs.webkit.org/show_bug.cgi?id=102702
2255
2256         Reviewed by Eric Carlson.
2257
2258         Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
2259
2260         * NetworkProcess/NetworkResourceLoader.cpp:
2261         (WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
2262         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
2263
2264         * WebProcess/mac/KeychainItemShimMethods.mm:
2265         (WebKit::generateSecKeychainItemRequestID): Ditto.
2266
2267         * WebProcess/mac/SecItemShimMethods.mm:
2268         (WebKit::generateSecItemRequestID): Ditto.
2269
2270 2012-11-19  Brady Eidson  <beidson@apple.com>
2271
2272         NetworkProcess Authentication.
2273         https://bugs.webkit.org/show_bug.cgi?id=102592
2274
2275         Reviewed by Alexey Proskuryakov.
2276
2277         This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
2278         related events to the WebProcess and relying on existing client APIs to answer them.
2279
2280         Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
2281         Also implement messaging back from the WebProcess to response to those auth challenges:
2282         * NetworkProcess/NetworkResourceLoader.cpp:
2283         (WebKit::willSendRequestResponseMap):
2284         (WebKit::NetworkResourceLoader::willSendRequest):
2285         (WebKit::NetworkResourceLoader::willSendRequestHandled):
2286         (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
2287         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
2288         (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
2289         (WebKit::NetworkResourceLoader::receivedCancellation):
2290         (WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
2291         (WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
2292         (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
2293         (WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
2294         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
2295         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
2296         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
2297         * NetworkProcess/NetworkResourceLoader.h:
2298         * NetworkProcess/NetworkResourceLoader.messages.in:
2299
2300         Implement messaging to response to auth challenges from the NetworkProcess, and implement
2301         AuthenticationClient to response to auth responses from WebProcess clients:
2302         * WebProcess/Network/WebResourceLoader.cpp:
2303         (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
2304         (WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
2305         (WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
2306         (WebKit::WebResourceLoader::receivedCredential):
2307         (WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
2308         (WebKit::WebResourceLoader::receivedCancellation):
2309         * WebProcess/Network/WebResourceLoader.h:
2310         (WebKit::WebResourceLoader::refAuthenticationClient):
2311         (WebKit::WebResourceLoader::derefAuthenticationClient):
2312         * WebProcess/Network/WebResourceLoader.messages.in:
2313
2314         Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
2315         * Shared/BlockingResponseMap.h:
2316         (BlockingBoolResponseMap::waitForResponse):
2317         (BlockingBoolResponseMap::didReceiveResponse):
2318
2319         Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
2320         already has the answer when the question is asked:
2321         * Shared/Network/NetworkResourceLoadParameters.cpp:
2322         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
2323         (WebKit::NetworkResourceLoadParameters::encode):
2324         (WebKit::NetworkResourceLoadParameters::decode):
2325         * Shared/Network/NetworkResourceLoadParameters.h:
2326         (WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
2327
2328         Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
2329         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2330         (WebKit::WebResourceLoadScheduler::scheduleLoad):
2331
2332         Add a FIXME for client certs:
2333         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
2334         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
2335
2336         Add a FIXME for downloads:
2337         * WebProcess/Downloads/mac/DownloadMac.mm:
2338
2339         Remove unused messaging related methods:
2340         * WebProcess/Network/NetworkProcessConnection.cpp:
2341         * WebProcess/Network/NetworkProcessConnection.h:
2342
2343 2012-11-19  Kihong Kwon  <kihong.kwon@samsung.com>
2344
2345         Add PROXIMITY_EVENTS feature
2346         https://bugs.webkit.org/show_bug.cgi?id=102658
2347
2348         Reviewed by Kentaro Hara.
2349
2350         Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
2351
2352         * Configurations/FeatureDefines.xcconfig:
2353
2354 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
2355
2356         [EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
2357         https://bugs.webkit.org/show_bug.cgi?id=102682
2358
2359         Reviewed by Kenneth Rohde Christiansen.
2360
2361         Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
2362         in displayTimerFired() to avoid crashing if those have already
2363         been destroyed by the time to timer is fired.
2364
2365         * UIProcess/API/efl/EwkViewImpl.cpp:
2366         (EwkViewImpl::layerTreeRenderer):
2367         (EwkViewImpl::displayTimerFired):
2368         (EwkViewImpl::createGLSurface):
2369         (EwkViewImpl::enterAcceleratedCompositingMode):
2370         * UIProcess/API/efl/EwkViewImpl.h:
2371         (WebKit):
2372         (EwkViewImpl):
2373
2374 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
2375
2376         [WK2][WTR] Memory leak in TestController::initialize()
2377         https://bugs.webkit.org/show_bug.cgi?id=102616
2378
2379         Reviewed by Kenneth Rohde Christiansen.
2380
2381         Export a few additional WTF symbols for windows port.
2382
2383         * win/WebKit2.def:
2384
2385 2012-11-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2386
2387         [GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
2388         https://bugs.webkit.org/show_bug.cgi?id=102668
2389
2390         Reviewed by Philippe Normand.
2391
2392         Check only that window properties match when creating a new window
2393         if the expected window properties has been set. Also remove a
2394         FIXME and actually check that x and y are equal to the expected
2395         one, now that the issue is fixed.
2396
2397         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2398
2399 2012-11-19  Balazs Kelemen  <kbalazs@webkit.org>
2400
2401         Unreviewed buildfix.
2402
2403         Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
2404
2405         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
2406         (WebCustomFilterProgramProxy): This is a polymorphic derived class
2407         so the destructor should be virtual.
2408
2409 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
2410
2411         [CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
2412         https://bugs.webkit.org/show_bug.cgi?id=102652
2413
2414         Reviewed by Kenneth Rohde Christiansen.
2415
2416         Handle null return of nativeImageForCurrentFrame similarly to Chromium
2417         port in r130610. This can happen if there is an error early in the
2418         decoding of an image.
2419
2420         Test: Already covered by compositing/images/truncated-direct-png-image.html
2421
2422         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2423         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
2424
2425 2012-11-18  Jaehun Lim  <ljaehun.lim@samsung.com>
2426
2427         [EFL][WK2] Remove underscore characters in Ewk class names.
2428         https://bugs.webkit.org/show_bug.cgi?id=102641
2429
2430         Reviewed by Gyuyoung Kim.
2431
2432         WebKit EFL doesn't use '_' in C++ class names.
2433
2434         * UIProcess/API/efl/EwkViewCallbacks.h:
2435         * UIProcess/API/efl/EwkViewImpl.h:
2436         (EwkViewImpl::settings):
2437         (EwkViewImpl::backForwardList):
2438         (EwkViewImpl):
2439         * UIProcess/API/efl/ewk_auth_request.h:
2440         * UIProcess/API/efl/ewk_auth_request_private.h:
2441         * UIProcess/API/efl/ewk_back_forward_list.cpp:
2442         (EwkBackForwardList::EwkBackForwardList):
2443         (EwkBackForwardList::nextItem):
2444         (EwkBackForwardList::previousItem):
2445         (EwkBackForwardList::currentItem):
2446         (EwkBackForwardList::itemAt):
2447         (EwkBackForwardList::size):
2448         (EwkBackForwardList::backList):
2449         (EwkBackForwardList::forwardList):
2450         (EwkBackForwardList::getFromCacheOrCreate):
2451         (EwkBackForwardList::createEinaList):
2452         (EwkBackForwardList::update):
2453         * UIProcess/API/efl/ewk_back_forward_list.h:
2454         * UIProcess/API/efl/ewk_back_forward_list_item.h:
2455         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
2456         * UIProcess/API/efl/ewk_back_forward_list_private.h:
2457         (EwkBackForwardList::create):
2458         (EwkBackForwardList):
2459         * UIProcess/API/efl/ewk_color_picker.cpp:
2460         (EwkColorPicker::EwkColorPicker):
2461         (EwkColorPicker::setColor):
2462         (EwkColorPicker::color):
2463         * UIProcess/API/efl/ewk_color_picker.h:
2464         * UIProcess/API/efl/ewk_color_picker_private.h:
2465         (EwkColorPicker::create):
2466         (EwkColorPicker):
2467         * UIProcess/API/efl/ewk_context.h:
2468         * UIProcess/API/efl/ewk_context_private.h:
2469         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2470         (EwkCookieManager::EwkCookieManager):
2471         (EwkCookieManager::~EwkCookieManager):
2472         (EwkCookieManager::setPersistentStorage):
2473         (EwkCookieManager::setHTTPAcceptPolicy):
2474         (EwkCookieManager::clearHostnameCookies):
2475         (EwkCookieManager::clearAllCookies):
2476         (EwkCookieManager::watchChanges):
2477         (EwkCookieManager::isWatchingForChanges):
2478         (EwkCookieManager::getHostNamesWithCookies):
2479         (EwkCookieManager::getHTTPAcceptPolicy):
2480         (EwkCookieManager::cookiesDidChange):
2481         * UIProcess/API/efl/ewk_cookie_manager.h:
2482         * UIProcess/API/efl/ewk_cookie_manager_private.h:
2483         (EwkCookieManager::create):
2484         (EwkCookieManager):
2485         * UIProcess/API/efl/ewk_database_manager.cpp:
2486         (EwkDatabaseManager::EwkDatabaseManager):
2487         (EwkDatabaseManager::getDatabaseOrigins):
2488         (EwkDatabaseManager::createOriginList):
2489         * UIProcess/API/efl/ewk_database_manager.h:
2490         * UIProcess/API/efl/ewk_database_manager_private.h:
2491         (EwkDatabaseManager::create):
2492         (EwkDatabaseManager):
2493         * UIProcess/API/efl/ewk_download_job.h:
2494         * UIProcess/API/efl/ewk_download_job_private.h:
2495         * UIProcess/API/efl/ewk_error.cpp:
2496         (EwkError::EwkError):
2497         (EwkError::url):
2498         (EwkError::description):
2499         (EwkError::domain):
2500         (EwkError::errorCode):
2501         (EwkError::isCancellation):
2502         * UIProcess/API/efl/ewk_error.h:
2503         * UIProcess/API/efl/ewk_error_private.h:
2504         (EwkError::create):
2505         (EwkError):
2506         * UIProcess/API/efl/ewk_favicon_database.cpp:
2507         (EwkFaviconDatabase::EwkFaviconDatabase):
2508         (EwkFaviconDatabase::~EwkFaviconDatabase):
2509         (EwkFaviconDatabase::iconURLForPageURL):
2510         (EwkFaviconDatabase::watchChanges):
2511         (EwkFaviconDatabase::unwatchChanges):
2512         (EwkFaviconDatabase::iconForPageURL):
2513         (EwkFaviconDatabase::didChangeIconForPageURL):
2514         (EwkFaviconDatabase::getIconSurfaceSynchronously):
2515         (EwkFaviconDatabase::iconDataReadyForPageURL):
2516         * UIProcess/API/efl/ewk_favicon_database.h:
2517         * UIProcess/API/efl/ewk_favicon_database_private.h:
2518         (EwkFaviconDatabase::create):
2519         (EwkFaviconDatabase):
2520         * UIProcess/API/efl/ewk_file_chooser_request.h:
2521         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
2522         * UIProcess/API/efl/ewk_form_submission_request.h:
2523         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2524         * UIProcess/API/efl/ewk_intent.h:
2525         * UIProcess/API/efl/ewk_intent_private.h:
2526         * UIProcess/API/efl/ewk_intent_service.h:
2527         * UIProcess/API/efl/ewk_intent_service_private.h:
2528         * UIProcess/API/efl/ewk_navigation_data.h:
2529         * UIProcess/API/efl/ewk_navigation_data_private.h:
2530         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
2531         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
2532         * UIProcess/API/efl/ewk_object.h:
2533         * UIProcess/API/efl/ewk_object_private.h:
2534         (EwkObject::~EwkObject):
2535         (ewk_object_is_of_type):
2536         (ewk_object_cast_check):
2537         (ewk_object_cast):
2538         * UIProcess/API/efl/ewk_popup_menu.cpp:
2539         (EwkPopupMenu::EwkPopupMenu):
2540         (EwkPopupMenu::~EwkPopupMenu):
2541         (EwkPopupMenu::close):
2542         (EwkPopupMenu::items):
2543         (EwkPopupMenu::selectedIndex):
2544         (EwkPopupMenu::setSelectedIndex):
2545         * UIProcess/API/efl/ewk_popup_menu.h:
2546         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
2547         (EwkPopupMenuItem::EwkPopupMenuItem):
2548         (EwkPopupMenuItem::type):
2549         (EwkPopupMenuItem::textDirection):
2550         (EwkPopupMenuItem::text):
2551         (EwkPopupMenuItem::tooltipText):
2552         (EwkPopupMenuItem::accessibilityText):
2553         (EwkPopupMenuItem::hasTextDirectionOverride):
2554         (EwkPopupMenuItem::isEnabled):
2555         (EwkPopupMenuItem::isLabel):
2556         (EwkPopupMenuItem::isSelected):
2557         * UIProcess/API/efl/ewk_popup_menu_item.h:
2558         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
2559         (EwkPopupMenuItem::create):
2560         (EwkPopupMenuItem):
2561         * UIProcess/API/efl/ewk_popup_menu_private.h:
2562         (EwkPopupMenu::create):
2563         (EwkPopupMenu):
2564         * UIProcess/API/efl/ewk_resource.h:
2565         * UIProcess/API/efl/ewk_resource_private.h:
2566         * UIProcess/API/efl/ewk_security_origin.h:
2567         * UIProcess/API/efl/ewk_security_origin_private.h:
2568         * UIProcess/API/efl/ewk_settings.cpp:
2569         (EwkSettings::preferences):
2570         * UIProcess/API/efl/ewk_settings.h:
2571         * UIProcess/API/efl/ewk_settings_private.h:
2572         (EwkSettings::create):
2573         (EwkSettings::EwkSettings):
2574         * UIProcess/API/efl/ewk_storage_manager.cpp:
2575         (EwkStorageManager::EwkStorageManager):
2576         (EwkStorageManager::getStorageOrigins):
2577         (EwkStorageManager::createOriginList):
2578         * UIProcess/API/efl/ewk_storage_manager.h:
2579         * UIProcess/API/efl/ewk_storage_manager_private.h:
2580         (EwkStorageManager::create):
2581         (EwkStorageManager):
2582         * UIProcess/API/efl/ewk_url_request.h:
2583         * UIProcess/API/efl/ewk_url_request_private.h:
2584         * UIProcess/API/efl/ewk_url_response.h:
2585         * UIProcess/API/efl/ewk_url_response_private.h:
2586         * UIProcess/API/efl/ewk_url_scheme_request.h:
2587         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
2588         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
2589         (TEST_F):
2590
2591 2012-11-18  Yael Aharon  <yael.aharon@intel.com>
2592
2593         [EFL][WK2] Wrong transform when using software path.
2594         https://bugs.webkit.org/show_bug.cgi?id=102549
2595
2596         Reviewed by Kenneth Rohde Christiansen.
2597
2598         When using the software path, our transform is not correct and results 
2599         in drawing the wrong part of the page. This becomes more obvious after scrolling.
2600
2601         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2602         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2603
2604 2012-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2605
2606         [WK2] REGRESSION: After web process crash a new web process is created for every existing page
2607         https://bugs.webkit.org/show_bug.cgi?id=102520
2608
2609         Reviewed by Alexey Proskuryakov.
2610
2611         When process model is SharedSecondaryProcess a new shared process
2612         should be created instead of a new process per page.
2613
2614         * UIProcess/WebContext.cpp:
2615         (WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
2616         process and return it.
2617         (WebKit::WebContext::createWebPage): Update to change in
2618         ensureSharedWebProcess() that returns the shared web process now.
2619         * UIProcess/WebContext.h:
2620         (WebContext): Remove relaunchProcessIfNecessary().
2621         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
2622         Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
2623         * UIProcess/WebPageProxy.cpp:
2624         (WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
2625         process for SharedSecondaryProcess model or create a new web
2626         process for multi-process models.
2627
2628 2012-11-17  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2629
2630         Remove 8-bit related assertion from NetscapePluginModuleX11.
2631         https://bugs.webkit.org/show_bug.cgi?id=102588
2632
2633         Reviewed by Andreas Kling.
2634
2635         Follow-up to r135043: since String::fromUTF8() is not guaranteed
2636         to give us a 16-bit string, the assertion in
2637         truncateToSingleLine() will fail in that case.
2638
2639         This should make the EFL WK2 Debug bot stop failing all
2640         plugin-related tests because "WebKit Test Plugin" is returned as
2641         an 8-bit string.
2642
2643         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2644         (WebKit::truncateToSingleLine):
2645
2646 2012-11-17  Alexandru Chiculita  <achicu@adobe.com>
2647
2648         [Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
2649         https://bugs.webkit.org/show_bug.cgi?id=101801
2650
2651         Reviewed by Noam Rosenthal.
2652
2653         Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
2654         LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
2655         LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
2656         The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
2657         LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
2658         about the removed CustomFilterProgram.
2659
2660         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2661         (CoreIPC::::encode):
2662         (CoreIPC::::decode):
2663         (CoreIPC):
2664         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2665         (WebCore):
2666         * Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
2667         (WebCore):
2668         (WebCustomFilterOperation):
2669         (WebCore::WebCustomFilterOperation::create):
2670         (WebCore::WebCustomFilterOperation::programID):
2671         (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
2672         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
2673         (WebKit::WebCustomFilterProgramProxy::create):
2674         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
2675         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2676         (WebKit):
2677         (WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
2678         (WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
2679         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2680         (LayerTreeCoordinatorProxy):
2681         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2682         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2683         (WebKit::LayerTreeRenderer::setLayerFilters):
2684         (WebKit):
2685         (WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
2686         (WebKit::LayerTreeRenderer::createCustomFilterProgram):
2687         (WebKit::LayerTreeRenderer::removeCustomFilterProgram):
2688         (WebKit::LayerTreeRenderer::setLayerAnimations):
2689         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2690         (WebCore):
2691         (LayerTreeRenderer):
2692         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2693         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
2694         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
2695         (WebKit::LayerTreeCoordinator::setLayerAnimations):
2696
2697 2012-11-17  Brady Eidson  <beidson@apple.com>
2698
2699         Add an integer identifier field to AuthenticationChallengeBase.
2700         https://bugs.webkit.org/show_bug.cgi?id=102593
2701
2702         Reviewed by Darin Adler.
2703
2704         Properly encode/decode the identifier when sending the challenge over CoreIPC.
2705
2706         * Shared/WebCoreArgumentCoders.cpp:
2707         (CoreIPC::::encode):
2708         (CoreIPC::::decode):
2709
2710 2012-11-17  Balazs Kelemen  <kbalazs@webkit.org>
2711
2712         8bit-unaware String usage in NetscapePluginModuleX11.cpp
2713         https://bugs.webkit.org/show_bug.cgi?id=102482
2714
2715         Reviewed by Michael Saboff.
2716
2717         String::fromUTF8 is not guaranteed to give a 16 bit string.
2718
2719         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2720         (WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
2721
2722 2012-11-16  Jaehun Lim  <ljaehun.lim@samsung.com>
2723
2724         [EFL][WK2] Remove unnecessary #include statemtns
2725         https://bugs.webkit.org/show_bug.cgi?id=102577
2726
2727         Reviewed by Anders Carlsson.
2728
2729         ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
2730
2731         * UIProcess/API/efl/ewk_auth_request_private.h:
2732         * UIProcess/API/efl/ewk_database_manager.cpp:
2733         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
2734         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2735         * UIProcess/API/efl/ewk_navigation_data_private.h:
2736         * UIProcess/API/efl/ewk_resource_private.h:
2737         * UIProcess/API/efl/ewk_storage_manager.cpp:
2738
2739 2012-11-16  Sam Weinig  <weinig@apple.com>
2740
2741         Fix the windows build.
2742
2743         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2744         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2745         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2746         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2747         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2748         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
2749         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2750         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2751         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
2752         (WebFrameNetworkingContext):
2753         * WebProcess/WebPage/WebPage.cpp:
2754         (WebKit::WebPage::updatePreferences):
2755         * WebProcess/WebPage/win/WebPageWin.cpp:
2756         (WebKit::cachedResponseForURL):
2757         * WebProcess/WebProcess.cpp:
2758         (WebKit::WebProcess::initializeWebProcess):
2759         * WebProcess/win/WebProcessWin.cpp:
2760         (WebKit::WebProcess::platformSetCacheModel):
2761         (WebKit::WebProcess::platformClearResourceCaches):
2762         (WebKit::WebProcess::platformInitializeWebProcess):
2763
2764 2012-11-16  Alec Flett  <alecflett@chromium.org>
2765
2766         Add tests for explicit serialization values
2767         https://bugs.webkit.org/show_bug.cgi?id=96818
2768
2769         Reviewed by Adam Barth.
2770
2771         Add exports for SerializedScriptValue changes.
2772
2773         * win/WebKit2.def:
2774         * win/WebKit2CFLite.def:
2775
2776 2012-11-16  Kiran Muppala  <cmuppala@apple.com>
2777
2778         Set task priority of WebKit2 processes to zero on Mac
2779         https://bugs.webkit.org/show_bug.cgi?id=102567
2780
2781         Reviewed by Mark Rowe.
2782
2783         Explicitly set task priority of WebKit2 processes to zero, to
2784         override automatic priority determination by the system.
2785
2786         * Shared/ChildProcess.cpp:
2787         (WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
2788         move MAC specific call to disableProcessSuppression to platformInitialize.
2789         (WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
2790         * Shared/ChildProcess.h:
2791         * Shared/mac/ChildProcessMac.mm:
2792         (WebKit::ChildProcess::platformInitialize): Add call to setpriority().
2793
2794 2012-11-16  Brady Eidson  <beidson@apple.com>
2795
2796         Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
2797         https://bugs.webkit.org/show_bug.cgi?id=102570
2798
2799         Reviewed by Alexey Proskuryakov.
2800
2801         This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
2802
2803         This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
2804         loader related messaging going forward.
2805
2806         Build/infrastructure stuff:
2807         * Platform/CoreIPC/MessageID.h:
2808         * WebKit2.xcodeproj/project.pbxproj:
2809         * DerivedSources.make:
2810
2811         Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
2812         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2813         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
2814         * NetworkProcess/NetworkConnectionToWebProcess.h:
2815         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2816
2817         Hang on to a master map of identifiers to NetworkResourceLoaders:
2818         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2819         (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
2820         (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
2821         (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
2822         * NetworkProcess/NetworkResourceLoadScheduler.h:
2823
2824         Change the way "willSendRequestHandled" comes in to be a direct message:
2825         * NetworkProcess/NetworkResourceLoader.cpp:
2826         (WebKit::NetworkResourceLoader::willSendRequest):
2827         (WebKit::NetworkResourceLoader::willSendRequestHandled):
2828         * NetworkProcess/NetworkResourceLoader.h:
2829         * NetworkProcess/NetworkResourceLoader.messages.in:
2830
2831         Make WebResourceLoader a MessageSender:
2832         * WebProcess/Network/WebResourceLoader.cpp:
2833         (WebKit::WebResourceLoader::connection):
2834         (WebKit::WebResourceLoader::destinationID):
2835         (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
2836         * WebProcess/Network/WebResourceLoader.h:
2837
2838 2012-11-16  Tony Chang  <tony@chromium.org>
2839
2840         Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
2841         https://bugs.webkit.org/show_bug.cgi?id=102554
2842
2843         Reviewed by Andreas Kling.
2844
2845         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
2846         we're going to revist this feature once additional vendor support is
2847         achieved.
2848
2849         * Configurations/FeatureDefines.xcconfig:
2850
2851 2012-11-16  Brent Fulgham  <bfulgham@webkit.org>
2852
2853         [WinCairo] Build correction after r134960.
2854
2855         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:  Stub out
2856         calls to CFNetwork-based implementation.
2857
2858 2012-11-16  Martin Robinson  <mrobinson@igalia.com>
2859
2860         Move authentication dialog to the UIProcess
2861
2862         [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
2863         https://bugs.webkit.org/show_bug.cgi?id=101843
2864
2865         Reviewed by Gustavo Noronha Silva.
2866
2867         Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
2868         the GTK+ widgets. This will allow us to to embed the dialog into the WebView
2869         in the future and to test authentication with the WebKit2 C API.
2870
2871         * GNUmakefile.list.am: Add the new class to the source list and remove the
2872         GTK+-only WebFrameLoader implementation file.
2873         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
2874         which uses the WebKit2 classes to do the UIProcess-side authentication.
2875         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
2876         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
2877         (didReceiveAuthenticationChallengeInFrame): Added.
2878         (attachLoaderClientToView): Use the new callback.
2879         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
2880         (WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
2881         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2882         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
2883         again.
2884         * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
2885
2886 2012-11-15  Alexey Proskuryakov  <ap@apple.com>
2887
2888         Private Browsing is a per-page setting that sets a global value
2889         https://bugs.webkit.org/show_bug.cgi?id=67870
2890
2891         Reviewed by Sam Weinig.
2892
2893         * NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
2894
2895         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2896         (WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
2897         so far.
2898
2899         * WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
2900         code that uses Objective C.
2901
2902         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2903         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
2904         instead of hardcoding access to sessiosn here.
2905
2906         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2907         (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
2908         browsing session as appropriate.
2909         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
2910         instead of hardcoding access to sessiosn here.
2911
2912         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2913         * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
2914         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2915         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2916         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2917         Implemented defaultCookieStorage() through WebFrameNetworkingContext.
2918
2919         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2920         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2921         Moved code for dealing with global contexts here from WebCore.
2922
2923         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
2924         Create a global private session when any page enters private browsing, and
2925         delete it when any page exits private browsing. This is handling a preference
2926         change, so all pages get it once.
2927
2928         * WebProcess/WebPage/mac/WebPageMac.mm:
2929         (WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
2930         (WebKit::cachedResponseForURL): Ditto.
2931
2932         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
2933         to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
2934
2935 2012-11-16  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
2936
2937         [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
2938         https://bugs.webkit.org/show_bug.cgi?id=102000
2939
2940         Reviewed by Kenneth Rohde Christiansen.
2941
2942         Add matching of view background color to the page background. This helps to reduce 
2943         visibility of flicker during scrolling/scaling/repainting where page tiles are not
2944         ready. View background color matching is disabled by default and can be enabled 
2945         with new API function ewk_view_draws_page_background_set .
2946         View background color can interfere with semi-transparent pages and should be
2947         disabled by default.
2948         Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
2949
2950         * UIProcess/API/efl/EwkViewImpl.cpp:
2951         (EwkViewImpl::EwkViewImpl):
2952         (EwkViewImpl::displayTimerFired):
2953         * UIProcess/API/efl/EwkViewImpl.h:
2954         (EwkViewImpl::setDrawsBackground):
2955         (EwkViewImpl):
2956         * UIProcess/API/efl/ewk_view.cpp:
2957         (ewk_view_draws_page_background_set):
2958         * UIProcess/API/efl/ewk_view.h:
2959         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2960         (WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
2961         (WebKit):
2962         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2963         (LayerTreeCoordinatorProxy):
2964         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2965         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2966         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
2967         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
2968         (WebKit::LayerTreeRenderer::paintToGraphicsContext):
2969         (WebKit::LayerTreeRenderer::setBackgroundColor):
2970         (WebKit):
2971         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2972         (LayerTreeRenderer):
2973         (WebKit::LayerTreeRenderer::setDrawsBackground):
2974         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2975         (WebKit::LayerTreeCoordinator::setBackgroundColor):
2976         (WebKit):
2977         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2978         (LayerTreeCoordinator):
2979         * WebProcess/WebPage/LayerTreeHost.h:
2980         (WebKit::LayerTreeHost::setBackgroundColor):
2981         * WebProcess/WebPage/WebPage.cpp:
2982         (WebKit::WebPage::WebPage):
2983         (WebKit::WebPage::mainFrameDidLayout):
2984         * WebProcess/WebPage/WebPage.h:
2985         (WebPage):
2986
2987 2012-11-16  Krzysztof Czech  <k.czech@samsung.com>
2988
2989         [WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
2990         https://bugs.webkit.org/show_bug.cgi?id=101748
2991
2992         Reviewed by Martin Robinson.
2993
2994         Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
2995
2996         * GNUmakefile.am:
2997         * GNUmakefile.list.am:
2998         * WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
2999         (WebKit):
3000         (_WebPageAccessibilityObject):
3001         (_WebPageAccessibilityObjectClass):
3002         * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
3003         (accessibilityRootObjectWrapper):
3004         (webPageAccessibilityObjectInitialize):
3005         (webPageAccessibilityObjectGetIndexInParent):
3006         (webPageAccessibilityObjectGetNChildren):
3007         (webPageAccessibilityObjectRefChild):
3008         (web_page_accessibility_object_init):
3009         (web_page_accessibility_object_class_init):
3010         (webPageAccessibilityObjectNew):
3011         (webPageAccessibilityObjectRefresh):
3012
3013 2012-11-16  Alexandru Chiculita  <achicu@adobe.com>
3014
3015         [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
3016         https://bugs.webkit.org/show_bug.cgi?id=102414
3017
3018         Reviewed by Noam Rosenthal.
3019
3020         This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
3021         In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
3022         of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
3023         filters are not needed anymore.
3024
3025         The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
3026         will fix that and try to reuse existing custom filters.
3027
3028         * CMakeLists.txt:
3029         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3030         (CoreIPC::::encode):
3031         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
3032         (WebKit):
3033         (WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
3034         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
3035         (WebKit):
3036         (WebCustomFilterProgramProxyClient):
3037         (WebCustomFilterProgramProxy):
3038         (WebKit::WebCustomFilterProgramProxy::create):
3039         (WebKit::WebCustomFilterProgramProxy::id):
3040         (WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
3041         (WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
3042         (WebKit::WebCustomFilterProgramProxy::setClient):
3043         (WebKit::WebCustomFilterProgramProxy::client):
3044         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
3045         * Target.pri:
3046         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3047         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3048         (WebKit::LayerTreeCoordinator::syncLayerFilters):
3049         (WebKit):
3050         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
3051         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
3052         (WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
3053         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3054         (LayerTreeCoordinator):
3055
3056 2012-11-16  Peter Gal  <galpeter@inf.u-szeged.hu>
3057
3058         [Qt][Mac] Fix the build after r124873
3059         https://bugs.webkit.org/show_bug.cgi?id=102475
3060
3061         Reviewed by Noam Rosenthal.
3062
3063         Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
3064
3065         * Shared/WebLayerTreeInfo.h:
3066         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3067
3068 2012-11-16  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3069
3070         [EFL][WK2] Unset the tooltip when the web process has crashed
3071         https://bugs.webkit.org/show_bug.cgi?id=102232
3072
3073         Reviewed by Gyuyoung Kim.
3074
3075         Emit 'tooltip,text,unset' signal to unset the tooltip
3076         when the web process has crashed.
3077
3078         * UIProcess/efl/PageClientBase.cpp:
3079         (WebKit::PageClientBase::processDidCrash):
3080
3081 2012-11-16  Helder Correia  <helder.correia@nokia.com>
3082
3083         [CoordGfx] Follow coding style on explicit constructors
3084         https://bugs.webkit.org/show_bug.cgi?id=102451
3085
3086         Reviewed by Noam Rosenthal.
3087
3088         Use the explicit keyword on single argument constructors.
3089
3090         No new tests needed.
3091
3092         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
3093         (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
3094         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
3095         (CoordinatedTileBackend):
3096
3097 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3098
3099         Unreviewed, rolling out r134908.
3100         http://trac.webkit.org/changeset/134908
3101         https://bugs.webkit.org/show_bug.cgi?id=102473
3102
3103         Broke the Apple Windows Debug build. (Requested by dydx on
3104         #webkit).
3105
3106         * win/WebKit2.def:
3107         * win/WebKit2CFLite.def:
3108
3109 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3110
3111         Unreviewed, rolling out r134913.
3112         http://trac.webkit.org/changeset/134913
3113         https://bugs.webkit.org/show_bug.cgi?id=102472
3114
3115         Incorrect fix. (Requested by dydx on #webkit).
3116
3117         * win/WebKit2.def:
3118         * win/WebKit2CFLite.def:
3119
3120 2012-11-16  Daniel Bates  <dbates@webkit.org>
3121
3122         Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
3123         (https://bugs.webkit.org/show_bug.cgi?id=102354).
3124
3125         Add symbol.
3126
3127         * win/WebKit2.def:
3128         * win/WebKit2CFLite.def:
3129
3130 2012-11-16  KyungTae Kim  <ktf.kim@samsung.com>
3131
3132         [WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
3133         https://bugs.webkit.org/show_bug.cgi?id=102465
3134
3135         Reviewed by Noam Rosenthal.
3136
3137         The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
3138
3139         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3140         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
3141
3142 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3143
3144         Unreviewed, rolling out r134865.
3145         http://trac.webkit.org/changeset/134865
3146         https://bugs.webkit.org/show_bug.cgi?id=102466
3147
3148         Broke the Apple Windows Debug build. (Requested by dydx on
3149         #webkit).
3150
3151         * win/WebKit2.def:
3152         * win/WebKit2CFLite.def:
3153
3154 2012-11-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3155
3156         Avoid copying of ViewportArguments in computeViewportAttributes function
3157         https://bugs.webkit.org/show_bug.cgi?id=102354
3158
3159         Reviewed by Kenneth Rohde Christiansen.
3160
3161         Update exported symbols.
3162
3163         * win/WebKit2.def:
3164         * win/WebKit2CFLite.def:
3165
3166 2012-11-15  Huang Dongsung  <luxtella@company100.net>
3167
3168         Coordinated Graphics: Refactor code related to directly composited images.
3169         https://bugs.webkit.org/show_bug.cgi?id=101023
3170
3171         Reviewed by Noam Rosenthal.
3172
3173         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
3174
3175         Currently, LayerTreeCoordinator manages composited images using
3176         ShareableBitmap. This patch introduces CoordinatedImageBacking which
3177         plays a role in managing composited images. CoordinatedImageBacking makes us
3178         gather code related to a directly composited image into a single class.
3179
3180         We create only one CoordinatedImageBacking per image. For example, in the leaves
3181         demo, we create only 3 textures of leaves.
3182
3183         * CMakeLists.txt:
3184         * Shared/WebLayerTreeInfo.h:
3185         (WebKit::WebLayerInfo::WebLayerInfo):
3186         (WebLayerInfo):
3187         * Target.pri:
3188         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3189         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
3190         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3191         (WebKit::LayerTreeCoordinatorProxy::createImageBacking):
3192         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
3193         (WebKit):
3194         (WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
3195         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3196         (LayerTreeCoordinatorProxy):
3197         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3198         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3199         (WebKit::LayerTreeRenderer::setLayerState):
3200         (WebKit::LayerTreeRenderer::createImageBacking):
3201         (WebKit::LayerTreeRenderer::updateImageBacking):
3202         (WebKit::LayerTreeRenderer::removeImageBacking):
3203         (WebKit):
3204         (WebKit::LayerTreeRenderer::assignImageBackingToLayer):
3205         (WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
3206         (WebKit::LayerTreeRenderer::flushLayerChanges):
3207         (WebKit::LayerTreeRenderer::purgeGLResources):
3208         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3209         (LayerTreeRenderer):
3210         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3211         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
3212         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
3213         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
3214         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3215         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3216         (CoordinatedGraphicsLayerClient):
3217         (CoordinatedGraphicsLayer):
3218         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
3219         (WebKit):
3220         (WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
3221         (WebKit::CoordinatedImageBacking::create):
3222         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
3223         (WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
3224         (WebKit::CoordinatedImageBacking::addLayerClient):
3225         (WebKit::CoordinatedImageBacking::removeLayerClient):
3226         (WebKit::CoordinatedImageBacking::markDirty):
3227         (WebKit::CoordinatedImageBacking::update):
3228         (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
3229         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
3230         (WebCore):
3231         (WebKit):
3232         (CoordinatedImageBacking):
3233         (Coordinator):
3234         (WebKit::CoordinatedImageBacking::id):
3235         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3236         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
3237         (WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
3238         (WebKit::LayerTreeCoordinator::createImageBacking):
3239         (WebKit::LayerTreeCoordinator::updateImageBacking):
3240         (WebKit::LayerTreeCoordinator::removeImageBacking):
3241         (WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
3242         (WebKit::LayerTreeCoordinator::purgeBackingStores):
3243         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3244         (LayerTreeCoordinator):
3245
3246 2012-11-15  Huang Dongsung  <luxtella@company100.net>
3247
3248         Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
3249         https://bugs.webkit.org/show_bug.cgi?id=102309
3250
3251         We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
3252         a TiledBackingStore and every tiles.
3253         This patch caches the inverse transform to reuse it.
3254
3255         Reviewed by Noam Rosenthal.
3256
3257         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3258         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3259         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
3260         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3261         (CoordinatedGraphicsLayer):
3262
3263 2012-11-15  Alec Flett  <alecflett@chromium.org>
3264
3265         Add tests for explicit serialization values
3266         https://bugs.webkit.org/show_bug.cgi?id=96818
3267
3268         Reviewed by Adam Barth.
3269
3270         Add exports for SerializedScriptValue changes.
3271
3272         * win/WebKit2.def:
3273         * win/WebKit2CFLite.def:
3274
3275 2012-11-15  Gustavo Noronha Silva  <gns@gnome.org>
3276
3277         [GTK] Split WebCore/platform into a separate library
3278         https://bugs.webkit.org/show_bug.cgi?id=94435
3279
3280         Reviewed by Martin Robinson.
3281
3282         More people have been reporting problems when linking WebCore because
3283         the command line limit is being exceeded. Splitting WebCore a bit more
3284         is in order.
3285
3286         * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
3287
3288 2012-11-15  Anders Carlsson  <andersca@apple.com>
3289
3290         Consolidate four accelerated compositing WKView methods into a single method
3291         https://bugs.webkit.org/show_bug.cgi?id=102419
3292
3293         Reviewed by Andreas Kling.
3294
3295         Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
3296         the existing PageClientImpl member functions call it. Also, add a new
3297         PageClient member function, setAcceleratedCompositingRootLayer.
3298
3299         * UIProcess/API/mac/PageClientImpl.h:
3300         * UIProcess/API/mac/PageClientImpl.mm:
3301         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
3302         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
3303         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
3304         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
3305         * UIProcess/API/mac/WKView.mm:
3306         (-[WKView _processDidCrash]):
3307         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
3308         * UIProcess/API/mac/WKViewInternal.h:
3309         * UIProcess/PageClient.h:
3310         * UIProcess/WebPageProxy.h:
3311         * UIProcess/mac/RemoteLayerTreeHost.mm:
3312         (WebKit::RemoteLayerTreeHost::commit):
3313         * UIProcess/mac/WebPageProxyMac.mm:
3314         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
3315
3316 2012-11-15  Rick Byers  <rbyers@chromium.org>
3317
3318         No tests for changing mouse cursors
3319         https://bugs.webkit.org/show_bug.cgi?id=100550
3320
3321         Reviewed by Brent Fulgham.
3322
3323         Add necessary exports for Internals::getCurrentCursorInfo
3324
3325         * win/WebKit2.def:
3326         * win/WebKit2CFLite.def:
3327
3328 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3329
3330         Remove initiallyFitToViewport attribute
3331         https://bugs.webkit.org/show_bug.cgi?id=102392
3332
3333         Reviewed by Noam Rosenthal.
3334
3335         Remove the initiallyFitToViewport which shouldn't have been
3336         added in the first place. We now reset userScalable to auto (-1)
3337         in case it was not explicitly set by the web author.
3338
3339         Same behavior, covered by existing tests.
3340
3341         * UIProcess/PageViewportController.cpp:
3342         (WebKit::PageViewportController::PageViewportController):
3343         (WebKit::PageViewportController::pageTransitionViewportReady):
3344         * WebProcess/WebPage/WebPage.cpp:
3345         (WebKit::WebPage::sendViewportAttributesChanged):
3346
3347 2012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
3348
3349         Coordinated Graphics: support the "freeze animations" API
3350         https://bugs.webkit.org/show_bug.cgi?id=100703
3351
3352         Reviewed by Noam Rosenthal.
3353
3354         Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
3355
3356         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3357         (WebCore::CoordinatedGraphicsLayer::suspendAnimations):
3358         (WebCore):
3359         (WebCore::CoordinatedGraphicsLayer::resumeAnimations):
3360         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3361         (CoordinatedGraphicsLayer):
3362
3363 2012-11-15  Yuni Jeong  <yhnet.jung@samsung.com>
3364
3365         [EFL][WK2] Add APIs to get/set whether scripts can open new windows.
3366         https://bugs.webkit.org/show_bug.cgi?id=102054
3367
3368         Reviewed by Gyuyoung Kim.
3369
3370         Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
3371
3372         * UIProcess/API/efl/ewk_settings.cpp:
3373         (ewk_settings_scripts_can_open_windows_set):
3374         (ewk_settings_scripts_can_open_windows_get):
3375         * UIProcess/API/efl/ewk_settings.h:
3376         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3377         (TEST_F):
3378
3379 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3380
3381         Unreviewed, rolling out r134691, r134703, r134715, r134716,
3382         and r134733.
3383         http://trac.webkit.org/changeset/134691
3384         http://trac.webkit.org/changeset/134703
3385         http://trac.webkit.org/changeset/134715
3386         http://trac.webkit.org/changeset/134716
3387         http://trac.webkit.org/changeset/134733
3388         https://bugs.webkit.org/show_bug.cgi?id=102342
3389
3390         "Broke the Apple Windows Debug and GTK builds." (Requested by
3391         dydx on #webkit).
3392
3393         * win/WebKit2.def:
3394         * win/WebKit2CFLite.def:
3395
3396 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3397
3398         Unreviewed, rolling out r134741.
3399         http://trac.webkit.org/changeset/134741
3400         https://bugs.webkit.org/show_bug.cgi?id=102337
3401
3402         "Change is incorrect." (Requested by dydx on #webkit).
3403
3404         * win/WebKit2.def:
3405         * win/WebKit2CFLite.def:
3406
3407 2012-11-14  Daniel Bates  <dbates@webkit.org>
3408
3409         Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
3410         (https://bugs.webkit.org/show_bug.cgi?id=96818)
3411
3412         Export symbols of the form:
3413         ?deserializeBuffer@Internals@WebCore[...]
3414         ?serializeObject@Internals@WebCore[...]
3415
3416         * win/WebKit2.def:
3417         * win/WebKit2CFLite.def:
3418
3419 2012-11-14  Alec Flett  <alecflett@chromium.org>
3420
3421         Fix windows build exports (again)
3422         https://bugs.webkit.org/show_bug.cgi?id=102324
3423
3424         Unreviewed windows-only build fix.
3425
3426         Add one more export that was causing unit tests to fail to link.
3427
3428         * win/WebKit2.def:
3429         * win/WebKit2CFLite.def:
3430
3431 2012-11-14  Brent Fulgham  <bfulgham@webkit.org>
3432
3433         [WinCairo] Build correction after r134703.
3434
3435         * win/WebKit2CFLite.def: Add exports to CFLite version of
3436         Windows build to match Alec's last update.
3437
3438 2012-11-14  Alec Flett  <alecflett@chromium.org>
3439
3440         Fix Windows exports for TestWebKit
3441         https://bugs.webkit.org/show_bug.cgi?id=102302
3442
3443         Unreviewed, fixing Safari Win build.
3444
3445         Add missing exports.
3446
3447         * win/WebKit2.def:
3448
3449 2012-11-14  Huang Dongsung  <luxtella@company100.net>
3450
3451         Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
3452         https://bugs.webkit.org/show_bug.cgi?id=102172
3453
3454         Reviewed by Noam Rosenthal.
3455
3456         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3457         (CoordinatedGraphicsLayer):
3458
3459 2012-11-14  Brady Eidson  <beidson@apple.com>
3460
3461         Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
3462         https://bugs.webkit.org/show_bug.cgi?id=102259
3463
3464         Reviewed by Alexey Proskuryakov.
3465
3466         Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
3467         WebResourceLoaders directly.
3468
3469         Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
3470         directly into WebResourceLoader.
3471
3472         Build-system infrastructure stuff:
3473         * DerivedSources.make:
3474         * Platform/CoreIPC/MessageID.h:
3475         * WebKit2.xcodeproj/project.pbxproj:
3476
3477         Message directly to WebResourceLoader instead of NetworkProcessConnection:
3478         * NetworkProcess/NetworkResourceLoader.cpp:
3479         (WebKit::NetworkResourceLoader::connection):
3480         (WebKit::NetworkResourceLoader::didReceiveResponse):
3481         (WebKit::NetworkResourceLoader::didReceiveData):
3482         (WebKit::NetworkResourceLoader::didFinishLoading):
3483         (WebKit::NetworkResourceLoader::didFail):
3484         (WebKit::NetworkResourceLoader::willSendRequest):
3485         * NetworkProcess/NetworkResourceLoader.h:
3486         (WebKit::NetworkResourceLoader::destinationID):
3487
3488         For now handle the only relevant message class which is the WebResourceLoader class:
3489         * WebProcess/Network/NetworkProcessConnection.cpp:
3490         (WebKit::NetworkProcessConnection::didReceiveMessage):
3491         * WebProcess/Network/NetworkProcessConnection.h:
3492         * WebProcess/Network/NetworkProcessConnection.messages.in:
3493
3494         Allow access to WebResourceLoaders by identifier:
3495         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3496         * WebProcess/Network/WebResourceLoadScheduler.h:
3497         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
3498
3499         Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
3500         * WebProcess/Network/WebResourceLoader.cpp:
3501         (WebKit::WebResourceLoader::willSendRequest):
3502         (WebKit::WebResourceLoader::didReceiveResponse):
3503         (WebKit::WebResourceLoader::didReceiveData):
3504         (WebKit::WebResourceLoader::didFinishResourceLoad):
3505         (WebKit::WebResourceLoader::didFailResourceLoad):
3506         (WebKit::WebResourceLoader::didReceiveResource):
3507         * WebProcess/Network/WebResourceLoader.h:
3508         * WebProcess/Network/WebResourceLoader.messages.in:
3509
3510 2012-11-14  Andy Estes  <aestes@apple.com>
3511
3512         Fix the Lion build after r134681.
3513
3514         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
3515
3516 2012-11-08  Andy Estes  <aestes@apple.com>
3517
3518         [WebKit2] Need API in UIProcess to enable loading of custom protocols
3519         https://bugs.webkit.org/show_bug.cgi?id=101674
3520
3521         Reviewed by Brady Eidson.
3522
3523         Enable clients of WebKit2 to implement NSURLProtocol subclasses to
3524         control the loading of resources with schemes that WebKit2 cannot
3525         handle natively. Since loading happens in a different process, we
3526         accomplish this by registering a global NSURLProtocol in the web
3527         process and proxying NSURLProtocol and NSURLProtocolClient calls to
3528         the client's NSURLProtocol in the UI process.
3529
3530         * DerivedSources.make: Addded new .messages.in files.
3531         * Platform/CoreIPC/MessageID.h:
3532         * Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
3533         (WebKit::WebProcessCreationParameters::encode):
3534         (WebKit::WebProcessCreationParameters::decode):
3535         * Shared/WebProcessCreationParameters.h:
3536         * UIProcess/API/mac/WKBrowsingContextController.h:
3537         * UIProcess/API/mac/WKBrowsingContextController.mm:
3538         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
3539         Added a class method where a client can register a scheme that it supports.
3540         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
3541         Added a class method where a client can unregister a scheme that it no longer supports.
3542         (+[WKBrowsingContextController customSchemes]):
3543         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
3544         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
3545         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
3546         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
3547
3548         Implemented an NSURLConnectionDelegate that proxies messages to the
3549         equivalent NSURLProtocolClient in the web process:
3550         (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
3551         (-[WKCustomProtocolLoader dealloc]):
3552         (-[WKCustomProtocolLoader connection:didFailWithError:]):
3553         (-[WKCustomProtocolLoader connection:willCacheResponse:]):
3554         (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
3555         (-[WKCustomProtocolLoader connection:didReceiveData:]):
3556         (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
3557         (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
3558
3559         Implemented a proxy that recieves -startLoading and -stopLoading
3560         messages from the NSURLProtocol in the web process and starts an
3561         NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
3562         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
3563         (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
3564         (WebKit::CustomProtocolManagerProxy::startLoading):
3565         (WebKit::CustomProtocolManagerProxy::stopLoading):
3566
3567         * UIProcess/WebContext.h: Declared strings that store names of
3568         NSNotifications used for scheme registration in the UI process.
3569         * UIProcess/WebProcessProxy.cpp:
3570         (WebKit::WebProcessProxy::WebProcessProxy):
3571         (WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
3572         CustomProtocolManagerProxy.
3573         * UIProcess/WebProcessProxy.h:
3574         * UIProcess/mac/WebContextMac.mm:
3575         (WebKit::WebContext::platformInitializeWebProcess): Added the currently
3576         registered schemes to the WebProcessCreationParameters and register
3577         NSNotification observers for new scheme registration that forwards to
3578         the context's web processes.
3579         * WebKit2.xcodeproj/project.pbxproj:
3580         * WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
3581         * WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
3582         * WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
3583         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
3584         (generateCustomProtocolID): Generate a per-WebProcess unique ID.
3585
3586         Implemented a global NSURLProtocol that claims to support all schemes
3587         registered in the UI process. When NSURLConnection calls -startLoading
3588         and -stopLoading, we forward these messages to the client's NSURLProtocol
3589         in the UI process:
3590         (+[WKCustomProtocol canInitWithRequest:]):
3591         (+[WKCustomProtocol canonicalRequestForRequest:]):
3592         (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
3593         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
3594         (-[WKCustomProtocol startLoading]):
3595         (-[WKCustomProtocol stopLoading]):
3596
3597         Implemented a manager that receives NSURLConnectionDelegate messages
3598         forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
3599         (WebKit::CustomProtocolManager::shared):
3600         (WebKit::CustomProtocolManager::registerCustomProtocolClass):
3601         (WebKit::CustomProtocolManager::addCustomProtocol):
3602         (WebKit::CustomProtocolManager::removeCustomProtocol):
3603         (WebKit::CustomProtocolManager::registerScheme):
3604         (WebKit::CustomProtocolManager::unregisterScheme):
3605         (WebKit::CustomProtocolManager::supportsScheme):
3606         (WebKit::CustomProtocolManager::didReceiveMessage):
3607         (WebKit::CustomProtocolManager::didFailWithError):
3608         (WebKit::CustomProtocolManager::didLoadData):
3609         (WebKit::CustomProtocolManager::didReceiveResponse):
3610         (WebKit::CustomProtocolManager::didFinishLoading):
3611         (WebKit::CustomProtocolManager::protocolForID):
3612
3613         * WebProcess/WebProcess.cpp:
3614         (WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
3615         shared CustomProtocolManager.
3616         (WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
3617         scheme received from the UI process.
3618         (WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
3619         scheme received from the UI process.
3620         * WebProcess/WebProcess.h:
3621         * WebProcess/WebProcess.messages.in: Declared messages for passing
3622         supported schemes from the UI process the web process.
3623         * WebProcess/mac/WebProcessMac.mm:
3624         (WebKit::WebProcess::platformInitializeWebProcess): Register the
3625         schemes contained in the WebProcessCreationParameters.
3626
3627 2012-11-14  Helder Correia  <helder.correia@nokia.com>
3628
3629         [TexMap][Cairo] Accelerated compositing debug visuals
3630         https://bugs.webkit.org/show_bug.cgi?id=101883
3631
3632         Reviewed by Kenneth Rohde Christiansen.
3633
3634         No new tests, just introducing a debug feature.
3635
3636         Add a Cairo implementation to complement the patch from bug 90116
3637         (http://trac.webkit.org/changeset/122275).
3638
3639         For this feature to be enabled, the environment variable
3640         WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
3641         both repaint counters and tile borders will be painted.
3642
3643         A Cairo-specific drawRepaintCounter() implementation was added to
3644         TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
3645         the counters. It is then uploaded to a BitmapTexture acquired
3646         from the pool and finally draw by TextureMapper. The actual compositing
3647         happens inside LayerBackingStore::paintToTextureMapper(). Each
3648         LayerBackingStoreTile has a repaint counter which gets incremented in
3649         LayerBackingStore::updateTile().
3650
3651         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3652         (WebKit::shouldShowTileDebugVisuals):
3653
3654 2012-11-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3655
3656         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
3657         https://bugs.webkit.org/show_bug.cgi?id=102133
3658
3659         Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
3660         Also, there is no need for calling setCoordinator every time the tree changes,
3661         since we can call it once when the layer is created, now that LayerTreeCoordinator
3662         is the GraphicsLayerFactory.
3663
3664         Reviewed by Kenneth Rohde Christiansen
3665
3666         No change in functionality.
3667
3668         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3669         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3670         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3671         (WebCore::CoordinatedGraphicsLayer::setChildren):
3672         (WebCore::CoordinatedGraphicsLayer::addChild):
3673         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3674         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3675         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3676         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3677         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
3678         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3679         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3680         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3681         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3682         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3683         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3684         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3685         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3686         (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
3687         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3688         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3689         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3690         (WebCore::CoordinatedGraphicsLayer::createTile):
3691         (WebCore::CoordinatedGraphicsLayer::updateTile):
3692         (WebCore::CoordinatedGraphicsLayer::removeTile):
3693         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
3694         (WebCore::CoordinatedGraphicsLayer::setCoordinator):
3695         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3696         (CoordinatedGraphicsLayer):
3697         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3698         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3699         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3700         (WebKit::LayerTreeCoordinator::paintContents):
3701
3702 2012-11-14  Anders Carlsson  <andersca@apple.com>
3703
3704         More steps towards actually hosting layers in the UI process
3705         https://bugs.webkit.org/show_bug.cgi?id=102275
3706
3707         Reviewed by Andreas Kling.
3708
3709         * Shared/mac/RemoteLayerTreeTransaction.h:
3710         (WebKit::RemoteLayerTreeTransaction::rootLayerID):
3711         Add a getter for the root layer ID.
3712
3713         * UIProcess/mac/RemoteLayerTreeHost.h:
3714         (RemoteLayerTreeHost):
3715         Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
3716
3717         * UIProcess/mac/RemoteLayerTreeHost.mm:
3718         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
3719         Initialize the root layer to null.
3720
3721         (WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
3722         (WebKit::RemoteLayerTreeHost::notifyFlushRequired):
3723         (WebKit::RemoteLayerTreeHost::paintContents):
3724         Add empty stubs.
3725
3726         (WebKit::RemoteLayerTreeHost::commit):
3727         Try to get the root layer.
3728
3729         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
3730         Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
3731
3732 2012-11-14  Brady Eidson  <beidson@apple.com>
3733
3734         Fix the Production build after r134640 broke it.
3735
3736         * WebProcess/Network/WebResourceLoader.h:
3737         (WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
3738
3739 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3740
3741         PDFPlugin should make use of PDFKit's fluid zooming
3742         https://bugs.webkit.org/show_bug.cgi?id=101962
3743         <rdar://problem/12555229>
3744
3745         Reviewed by Anders Carlsson.
3746
3747         Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
3748         The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
3749         backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
3750
3751         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3752         (WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
3753         inform the injected bundle whether or not the frame handles scaling itself.
3754         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
3755         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3756         (WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
3757         the scale factor immediately.
3758         * WebProcess/WebPage/WebFrame.cpp:
3759         (WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
3760         gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
3761         * WebProcess/WebPage/WebFrame.h:
3762         (WebFrame):
3763
3764 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3765
3766         PDFPlugin should support downloading PDFs
3767         https://bugs.webkit.org/show_bug.cgi?id=102152
3768         <rdar://problem/12555313>
3769
3770         Reviewed by Alexey Proskuryakov.
3771
3772         Clicking on the "Download PDF" HUD button should download the current
3773         PDF to the Downloads folder.
3774
3775         * UIProcess/WebPageProxy.cpp:
3776         (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
3777         PDF data to disk, in the Downloads folder. This will only save files with
3778         the .pdf extension, and of MIME type "application/pdf".
3779         * UIProcess/WebPageProxy.h:
3780         (WebPageProxy): Add savePDFToFileInDownloadsFolder.
3781         * UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
3782         * WebProcess/Plugins/PDF/PDFPlugin.h:
3783         (PDFPlugin): Add saveToPDF().
3784         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3785         (-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
3786         (WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
3787         current PDF, which it will save to the Downloads folder. We receive
3788         the suggested filename during loading.
3789         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
3790         (WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
3791         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3792         (WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
3793
3794 2012-11-14  Brady Eidson  <beidson@apple.com>
3795
3796         Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
3797         https://bugs.webkit.org/show_bug.cgi?id=102259
3798
3799         Reviewed by Alexey Proskuryakov.
3800
3801         WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
3802
3803         We should create a WebResourceLoader that will eventually act as an intermediary between
3804         WebCore::ResourceLoader and NetworkResourceLoader.
3805
3806         This patch is prep-work: It adds a new skeleton class to the WebProcess.
3807
3808         * WebKit2.xcodeproj/project.pbxproj:
3809
3810         Add the new WebResourceLoader class which is a very thin skeleton for now:
3811         * WebProcess/Network/WebResourceLoader.cpp: Added.
3812         (WebKit::WebResourceLoader::create):
3813         (WebKit::WebResourceLoader::WebResourceLoader):
3814         (WebKit::WebResourceLoader::~WebResourceLoader):
3815         * WebProcess/Network/WebResourceLoader.h: Added.
3816         (WebKit::WebResourceLoader::coreLoader):
3817
3818         Adapt WebResourceLoadScheduler to use this new class where appropriate:
3819         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3820         (WebKit::WebResourceLoadScheduler::scheduleLoad):
3821         (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
3822         (WebKit::WebResourceLoadScheduler::remove):
3823         (WebKit::WebResourceLoadScheduler::willSendRequest):
3824         (WebKit::WebResourceLoadScheduler::didReceiveResponse):
3825         (WebKit::WebResourceLoadScheduler::didReceiveData):
3826         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3827         (WebKit::WebResourceLoadScheduler::didReceiveResource):
3828         (WebKit::WebResourceLoadScheduler::didFailResourceLoad):
3829         * WebProcess/Network/WebResourceLoadScheduler.h:
3830
3831
3832 2012-11-14  Brady Eidson  <beidson@apple.com>
3833
3834         Deliver data from NetworkProcess to resources progressively.
3835         https://bugs.webkit.org/show_bug.cgi?id=102171
3836
3837         Reviewed by Alexey Proskuryakov.
3838
3839         Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
3840         to deliver data progressively.
3841
3842         This allows progressive parsing of textual resources and progressive rendering of images,
3843         as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
3844
3845         * NetworkProcess/NetworkResourceLoader.cpp:
3846         (WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
3847           pass it straight through to the WebProcess.
3848         (WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
3849           delivering a chunk of buffered data.
3850         (WebKit::NetworkResourceLoader::didFail):
3851         * NetworkProcess/NetworkResourceLoader.h:
3852
3853         * WebProcess/Network/NetworkProcessConnection.cpp:
3854         (WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
3855         (WebKit::NetworkProcessConnection::didFinishResourceLoad):
3856         (WebKit::NetworkProcessConnection::didFailResourceLoad):
3857         * WebProcess/Network/NetworkProcessConnection.h:
3858         * WebProcess/Network/NetworkProcessConnection.messages.in:
3859
3860         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3861         (WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
3862         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3863         * WebProcess/Network/WebResourceLoadScheduler.h:
3864
3865 2012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
3866
3867         Add platform implementation of remote web inspector server for GTK port.
3868         https://bugs.webkit.org/show_bug.cgi?id=88094 
3869
3870         Reviewed by Gustavo Noronha Silva.
3871
3872         The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
3873         The server listens on port 2999 by default. IP address of the server can be set
3874         in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
3875         The server is started during WebKit context initialization.
3876         Once a page is loaded insector server can be accessed via other WebKit based browser.
3877         New WebKit API gtk tests have beed added.
3878         inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
3879
3880         Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
3881
3882         * GNUmakefile.am:
3883         * GNUmakefile.list.am:
3884         * Platform/Logging.cpp:
3885         (WebKit):
3886         (WebKit::getChannelFromName):
3887         (WebKit::initializeLogChannelsIfNecessary):
3888         * Platform/Logging.h:
3889         (WebKit):
3890         * UIProcess/API/gtk/tests/GNUmakefile.am:
3891         * UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
3892         (loadChangedCallback):
3893         (main):
3894         * UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
3895         (stopTestServer):
3896         (sigAbortHandler):
3897         (testServerMonitorThreadFunc):
3898         (startTestServerMonitor):
3899         (startTestServer):
3900         (testInspectorServerPageList):
3901         (testRemoteDebuggingMessage):
3902         (openRemoteDebuggingSession):
3903         (beforeAll):
3904         (afterAll):
3905         * UIProcess/InspectorServer/WebInspectorServer.h:
3906         (WebInspectorServer):
3907         * UIProcess/InspectorServer/WebSocketServer.h:
3908         (WebSocketServer):
3909         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
3910         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
3911         (WebKit::WebSocketServerConnection::shutdownNow):
3912         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
3913         (WebKit::WebSocketServerConnection::didCloseSocketStream):
3914         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
3915         (WebKit):
3916         (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
3917         * UIProcess/InspectorServer/WebSocketServerConnection.h:
3918         (WebSocketServerConnection):
3919         * UIProcess/InspectorServer/front-end: Added.
3920         * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
3921         * UIProcess/InspectorServer/gtk: Added.
3922         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
3923         (WebKit):
3924         (WebKit::WebInspectorServer::platformResourceForPath):
3925         (WebKit::WebInspectorServer::buildPageList):
3926         * UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
3927         (WebKit):
3928         (WebKit::connectionCallback):
3929         (WebKit::WebSocketServer::platformInitialize):
3930         (WebKit::WebSocketServer::platformListen):
3931         (WebKit::WebSocketServer::platformClose):
3932         * UIProcess/gtk/WebContextGtk.cpp:
3933         (WebKit::initInspectorServer):
3934         (WebKit):
3935         (WebKit::WebContext::platformInitializeWebProcess):
3936         * WebKit2.qrc:
3937         * config.h:
3938         * qt/Resources/inspectorPageIndex.html: Removed.
3939
3940 2012-11-14  Christophe Dumez  <christophe.dumez@intel.com>
3941
3942         [EFL][WK2][AC] Print out warning if we fallback back to software mode
3943         https://bugs.webkit.org/show_bug.cgi?id=102188
3944
3945         Reviewed by Kenneth Rohde Christiansen.
3946
3947         Print out a warning if accelerated compositing is enabled but the
3948         implementation is falling back to software mode for some reason.
3949
3950         * UIProcess/API/efl/EwkViewImpl.cpp:
3951         (EwkViewImpl::createGLSurface):
3952
3953 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3954
3955         Unreviewed, rolling out r134531.
3956         http://trac.webkit.org/changeset/134531
3957         https://bugs.webkit.org/show_bug.cgi?id=102193
3958
3959         Makes >70 tests crash on EFL and Qt bots. (Requested by drott
3960         on #webkit).
3961
3962         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3963         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3964         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3965         (WebCore::CoordinatedGraphicsLayer::setChildren):
3966         (WebCore::CoordinatedGraphicsLayer::addChild):
3967         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3968         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3969         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3970         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3971         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3972         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3973         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3974         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3975         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3976         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
3977         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3978         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3979         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3980         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
3981         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3982         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3983         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3984         (WebCore::CoordinatedGraphicsLayer::createTile):
3985         (WebCore::CoordinatedGraphicsLayer::updateTile):
3986         (WebCore::CoordinatedGraphicsLayer::removeTile):
3987         (WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
3988         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3989         (CoordinatedGraphicsLayer):
3990         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3991         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3992         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3993         (WebKit::LayerTreeCoordinator::createGraphicsLayer):
3994
3995 2012-11-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3996
3997         [EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
3998         https://bugs.webkit.org/show_bug.cgi?id=102065
3999
4000         Reviewed by Laszlo Gombos.
4001
4002         mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
4003         However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
4004         to simulate a right mouse button. So, button type parameter needs to be added for it.
4005
4006         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
4007         (EWK2UnitTest::EWK2UnitTestBase::mouseClick):
4008         (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
4009         (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
4010         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
4011         (EWK2UnitTestBase):
4012
4013 2012-11-13  Yael Aharon  <yael.aharon@intel.com>
4014
4015         [EFL][WK2] New window size should consult the window attributes
4016         https://bugs.webkit.org/show_bug.cgi?id=102122
4017
4018         Reviewed by Kenneth Rohde Christiansen.
4019
4020         Pass the size that was specified in window.open to the embedder.
4021
4022         * UIProcess/API/efl/EwkViewImpl.cpp:
4023         (EwkViewImpl::createNewPage):
4024         * UIProcess/API/efl/EwkViewImpl.h:
4025         (EwkViewImpl):
4026         * UIProcess/API/efl/ewk_view.h:
4027         * UIProcess/efl/PageUIClientEfl.cpp:
4028         (WebKit::PageUIClientEfl::createNewPage):
4029
4030 2012-11-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
4031
4032         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
4033         https://bugs.webkit.org/show_bug.cgi?id=102133
4034
4035         Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
4036         Also, there is no need for calling setCoordinator every time the tree changes,
4037         since we can call it once when the layer is created, now that LayerTreeCoordinator
4038         is the GraphicsLayerFactory.
4039
4040         Reviewed by Kenneth Rohde Christiansen.
4041
4042         No change in functionality.
4043
4044         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
4045         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
4046         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
4047         (WebCore::CoordinatedGraphicsLayer::setChildren):
4048         (WebCore::CoordinatedGraphicsLayer::addChild):
4049         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
4050         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
4051         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
4052         (WebCore::CoordinatedGraphicsLayer::replaceChild):
4053         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
4054         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
4055         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
4056         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
4057         (WebCore::CoordinatedGraphicsLayer::syncChildren):