[BlackBerry] JavaScriptVariant can crash when operator= is called with itself
[WebKit-https.git] / Source / WebKit / blackberry / ChangeLog
1 2012-09-05  Benjamin C Meyer  <bmeyer@rim.com>
2
3         [BlackBerry] JavaScriptVariant can crash when operator= is called with itself
4         https://bugs.webkit.org/show_bug.cgi?id=95859
5
6         Reviewed by George Staikos.
7
8         * Api/JavaScriptVariant.cpp:
9         (BlackBerry::WebKit::JavaScriptVariant::operator=):
10         When JavaScriptVariant contains a string and operator= is
11         called with itself the memory will be free'd in 'this' and
12         then a copy will be attempted from 'that' resulting in a crash.
13
14 2012-09-05  Leo Yang  <leoyang@rim.com>
15
16         [BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
17         https://bugs.webkit.org/show_bug.cgi?id=95870
18
19         Reviewed by George Staikos.
20         Reviewed internally by Jacky Jiang.
21
22         Use the new zoom to fit scale if the page was zoomed to fit initial scale
23         When a page is reloaded the layout size may be changed. So the contents
24         size on which the initial scale depends may be changed. Use the new initial
25         scale in this case to make sure the page will be zoomed to correct scale.
26
27         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
28         (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
29
30 2012-09-05  Robin Cao  <robin.cao@torchmobile.com.cn>
31
32         [BlackBerry] Do not release shared backingstore memory prematurely
33         https://bugs.webkit.org/show_bug.cgi?id=95841
34         PR #202517
35
36         Reviewed by George Staikos.
37
38         The BackingStore memory is shared by all web pages. We should check if
39         the current backingStore is active before create/release this shared memory.
40
41         * Api/BackingStore.cpp:
42         (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
43         (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
44
45 2012-09-05  Andy Chen  <andchen@rim.com>
46
47         [BlackBerry] Implement number of matches and current active match index for find-on-page
48         https://bugs.webkit.org/show_bug.cgi?id=95801
49
50         Reviewed by Antonio Gomes.
51
52         - Calculate current match index for find-on-page
53         - Notify client when number of matches and current match index update.
54         PR 162090 162091.
55         Internally reviewed by Mike Fenton and Joe Mason
56
57         * Api/WebPageClient.h:
58         * WebKitSupport/InPageSearchManager.cpp:
59         (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
60         (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
61         (InPageSearchManager::DeferredScopeStringMatches):
62         (BlackBerry::WebKit::InPageSearchManager::findNextString):
63         (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
64         (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
65         (BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
66         (BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
67         * WebKitSupport/InPageSearchManager.h:
68         (InPageSearchManager):
69
70 2012-09-04  Rob Buis  <rbuis@rim.com>
71
72         [BlackBerry] FatFingers::cachingStrategy uses incorrect enum value
73         https://bugs.webkit.org/show_bug.cgi?id=95783
74
75         Reviewed by Antonio Gomes.
76
77         Use the correct enum values.
78
79         * WebKitSupport/FatFingers.cpp:
80         (BlackBerry::WebKit::FatFingers::cachingStrategy):
81
82 2012-09-04  Antonio Gomes  <agomes@rim.com>
83
84         [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
85         https://bugs.webkit.org/show_bug.cgi?id=95778
86         PR #202252
87
88         Reviewed by Rob Buis.
89         Internally reviewed by Arvid Nilsson.
90
91         Upstream has switch away from using the parent scroll layer's bounds origin
92         in order to translate contents of all its child layers. Instead now, it directly
93         sets the scroll position of the child scrollable contents layer.
94
95         Source/WebKit/blackberry:
96         * Api/InRegionScroller.cpp:
97         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
98         * WebKitSupport/InRegionScrollableArea.cpp:
99         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
100
101         No new tests, since it is a catch-up with upstreaming code.
102
103 2012-09-04  George Staikos  <staikos@webkit.org>
104
105         [BlackBerry] Fix memory leak in InputHandler
106         https://bugs.webkit.org/show_bug.cgi?id=95771
107
108         Reviewed by Rob Buis.
109
110         Simply delete the arrays at function exit.
111
112         * WebKitSupport/InputHandler.cpp:
113         (BlackBerry::WebKit::InputHandler::openSelectPopup):
114
115 2012-09-04  George Staikos  <staikos@webkit.org>
116
117         [BlackBerry] pass isMainFrame() through to notifyDocumentOnLoad()
118         https://bugs.webkit.org/show_bug.cgi?id=95766
119
120         Reviewed by Rob Buis.
121
122         Passing the frame status through will allow the client to make better
123         decisions about how to act on the onload.
124
125         * Api/WebPageClient.h:
126         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
127         (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
128
129 2012-09-04  Rob Buis  <rbuis@rim.com>
130
131         [BlackBerry] Provide virtual dtor for DumpRenderTreeClient
132         https://bugs.webkit.org/show_bug.cgi?id=95769
133
134         Reviewed by Yong Li.
135
136         Also remove WTF prefixes.
137
138         * Api/DumpRenderTreeClient.h:
139
140 2012-09-04  Mary Wu  <mary.wu@torchmobile.com.cn>
141
142         [BlackBerry] Add webplatform and browser to build info
143         https://bugs.webkit.org/show_bug.cgi?id=95715
144
145         Reviewed by George Staikos.
146
147         PR# 202102
148
149         * WebKitSupport/AboutData.cpp:
150         (BlackBerry::WebKit::buildPage):
151
152 2012-08-31  Jacky Jiang  <zhajiang@rim.com>
153
154         [BlackBerry] ASSERT failure in RenderBlock::checkPositionedObjectsNeedLayout
155         https://bugs.webkit.org/show_bug.cgi?id=95611
156
157         Reviewed by Antonio Gomes.
158
159         PR:200127
160         Remove r118405 now as we already have a new fix webkit/43f8394b for
161         that issue and it is not reproducible anymore after the removal.
162         In this way, we can get rid of this ASSERT failure as well.
163         Thanks Antonio for the suggestion.
164
165         * Api/WebPage.cpp:
166         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
167
168 2012-08-31  Joshua Netterfield  <jnetterfield@rim.com>
169
170         [BlackBerry] Eliminate WebGL IT policy
171         https://bugs.webkit.org/show_bug.cgi?id=95604
172         Internal RIM PR #198764
173
174         Reviewed by Rob Buis.
175
176         This is no longer a requirement for the BlackBerry port.
177
178         * Api/WebPage.cpp:
179         (BlackBerry::WebKit::WebPagePrivate::init):
180         (BlackBerry::WebKit::WebPage::setWebGLEnabled):
181         * WebKitSupport/AboutData.cpp:
182         (BlackBerry::WebKit::configPage):
183
184 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
185
186         Replace JSC::UString by WTF::String
187         https://bugs.webkit.org/show_bug.cgi?id=95271
188
189         Reviewed by Geoffrey Garen.
190
191         Replace UString by String.
192
193         * WebCoreSupport/ClientExtension.cpp:
194         * WebCoreSupport/PagePopupBlackBerry.cpp:
195         (WebCore::PagePopupBlackBerry::installDomFunction):
196
197 2012-08-30  Jacky Jiang  <zhajiang@rim.com>
198
199         [BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
200         https://bugs.webkit.org/show_bug.cgi?id=95492
201
202         Reviewed by Yong Li.
203
204         PR: 200724
205         Hold the JSLock for the current thread before we call toRef to avoid
206         the ASSERT failure.
207
208         * Api/WebPage.cpp:
209         (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
210
211 2012-08-30  Antonio Gomes  <agomes@rim.com>
212
213         [BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerScrollPosition
214         https://bugs.webkit.org/show_bug.cgi?id=95476
215         PR #200704
216
217         Reviewed by Yong Li.
218
219         This code is not needed at this point for neither the fast nor slow in-region
220         scroll codepaths, and it is a huge performance beast as it forces all
221         containers to get full-repainted per scroll call (in webkit thread).
222
223         Patch also take this opportunity to remove an early-return we
224         have in the {i}frame slow scrolling code path so that we can
225         adjust the selection handles in this case as well.
226
227         * Api/InRegionScroller.cpp:
228         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
229
230 2012-08-30  Hanna Ma  <Hanma@rim.com>
231
232         [BlackBerry] node search does not work with elements on touch start listener
233         https://bugs.webkit.org/show_bug.cgi?id=95252
234
235         Reviewed by Antonio Gomes.
236
237         Fix the node search function of web insepctor on elements with touch start listener.
238         Add methods from webPage to check if the node search functionality is enabled before handling touch events.
239         PR194107
240
241         * Api/WebPage.cpp:
242         (BlackBerry::WebKit::WebPage::touchEvent):
243
244 2012-08-30  Arvid Nilsson  <anilsson@rim.com>
245
246         [BlackBerry] One shot drawing sync flag never cleared when there's no layers
247         https://bugs.webkit.org/show_bug.cgi?id=95447
248
249         Reviewed by Antonio Gomes.
250
251         PR 199866
252         When we remove the layers, WebKit could tell us we need a one shot
253         drawing sync to repaint the BackingStore with the content that was
254         previously drawn by layers. We also sometimes set the one shot drawing
255         sync flag manually.
256
257         We would bail from commit if there were no layers and not actually
258         perform the osds, so it left the osds flag set forever and the
259         situation prevails, because nobody will ever clear the osds flag.
260
261         The BackingStore surrenders the responsibility of blitting to the AC
262         commit mechanism when a one shot drawing sync is pending, because we
263         want the operations render, commit and blit to happen in the correct
264         order with no intermediate blits.
265
266         So, no commit means no blit, and the result of regular rendering did
267         not show up on screen.
268
269         Fixed by not bailing from commit if there's no layers, instead clearing
270         the "needs commit" and osds flags and performing a blit.
271
272         Reviewed internally by Andrew Lo.
273
274         * Api/WebPage.cpp:
275         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
276
277 2012-08-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
278
279         Use ASCIILiteral for DEFINE_STATIC_LOCAL string
280         https://bugs.webkit.org/show_bug.cgi?id=95420
281
282         Reviewed by Benjamin Poulain.
283
284         As recommended by http://trac.webkit.org/wiki/EfficientStrings,
285         WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
286
287         * Api/WebSettings.cpp:
288         (WebKit):
289
290 2012-08-29  Nima Ghanavatian  <nghanavatian@rim.com>
291
292         [BlackBerry] Do not use the shadow tree when retrieving the underlying element for FatFinger.
293         https://bugs.webkit.org/show_bug.cgi?id=95372
294
295         By using the shadow tree we were getting a mismatch between elements of the
296         current element under focus and the one return to us from FatFingers.
297         Passing ShadowContentNotAllowed to get the right handle.
298
299         Reviewed by Antonio Gomes.
300
301         * WebKitSupport/TouchEventHandler.cpp:
302         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
303
304 2012-08-29  Robin Cao  <robin.cao@torchmobile.com.cn>
305
306         [BlackBerry] Move the handling of UserMedia requests to the client
307         https://bugs.webkit.org/show_bug.cgi?id=95317
308         PR #197283
309
310         Reviewed by George Staikos.
311
312         Internally reviewed by George Staikos.
313
314         Move the logic for user media requests handling to the client, as it requires
315         inputs from users. Also adds a origin field to WebUserMediaRequest.
316
317         * Api/WebPageClient.h:
318         (Platform):
319         * WebCoreSupport/UserMediaClientImpl.cpp:
320         (WebCore::UserMediaClientImpl::UserMediaClientImpl):
321         (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
322         (WebCore::UserMediaClientImpl::requestUserMedia):
323         (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
324         * WebCoreSupport/UserMediaClientImpl.h:
325         (UserMediaClientImpl):
326
327 2012-08-29  Antonio Gomes  <agomes@rim.com>
328
329         [BlackBerry] Replace blackberry specific HitTestRequest::FingerUp by TouchEvent + Release
330         https://bugs.webkit.org/show_bug.cgi?id=95383
331
332         Reviewed by Rob Buis.
333
334         * WebKitSupport/TouchEventHandler.cpp:
335         (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
336
337 2012-08-29  Rob Buis  <rbuis@rim.com>
338
339         [BlackBerry] Adjust wtf include header style
340         https://bugs.webkit.org/show_bug.cgi?id=95368
341
342         Reviewed by Yong Li.
343
344         Switch to #include <wtf/...> like the other ports.
345
346         * Api/BlackBerryGlobal.cpp:
347         * Api/WebPage.cpp:
348         * WebCoreSupport/ChromeClientBlackBerry.cpp:
349         * WebCoreSupport/GeolocationControllerClientBlackBerry.h:
350         * WebCoreSupport/SelectPopupClient.h:
351         * WebKitSupport/AboutData.cpp:
352         * WebKitSupport/DOMSupport.cpp:
353         * WebKitSupport/GLES2Context.cpp:
354         * WebKitSupport/InPageSearchManager.h:
355         * WebKitSupport/InputHandler.cpp:
356
357 2012-08-29  Jacky Jiang  <zhajiang@rim.com>
358
359         [BlackBerry] Remove unused tapGesture in WebPage.cpp
360         https://bugs.webkit.org/show_bug.cgi?id=95357
361
362         Reviewed by Rob Buis.
363
364         Remove unused variable tapGesture in WebPage.cpp.
365         Internally reviewed by Gen Mak.
366
367         * Api/WebPage.cpp:
368         (BlackBerry::WebKit::WebPage::touchEvent):
369
370 2012-08-28  Antonio Gomes  <agomes@rim.com>
371
372         [BlackBerry] crash while trying to scroll any inner frame
373         https://bugs.webkit.org/show_bug.cgi?id=95287
374         PR #198510
375
376         Reviewed by George Staikos.
377
378         Set the starting point of scrolling (slow path only still)
379         for inner frames. It was left over as set to 0 by r126474.
380
381         In practice, patch fixes a crash on gmail.com desktop edition.
382
383         * WebKitSupport/InRegionScrollableArea.cpp:
384         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
385
386 2012-08-28  Sheriff Bot  <webkit.review.bot@gmail.com>
387
388         Unreviewed, rolling out r126914.
389         http://trac.webkit.org/changeset/126914
390         https://bugs.webkit.org/show_bug.cgi?id=95239
391
392         it breaks everything and fixes nothing (Requested by pizlo on
393         #webkit).
394
395         * Api/BackingStore.cpp:
396         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
397         (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
398         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
399         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
400         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
401         (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
402         * WebCoreSupport/NotificationPresenterImpl.cpp:
403         (WebCore::NotificationPresenterImpl::cancel):
404         (WebCore::NotificationPresenterImpl::onPermission):
405         (WebCore::NotificationPresenterImpl::notificationClicked):
406         * WebCoreSupport/UserMediaClientImpl.cpp:
407         (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
408         * WebKitSupport/AboutData.cpp:
409         (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
410         * WebKitSupport/FrameLayers.cpp:
411         (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
412         (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
413         (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
414
415 2012-08-28  Nima Ghanavatian  <nghanavatian@rim.com>
416
417         [BlackBerry] Spellcheck should be enabled if undefined in content.
418         https://bugs.webkit.org/show_bug.cgi?id=95139
419
420         Currently we only enable spellcheck if it is defined as such in
421         the web content explicitly.
422         Making this change to enable by default, and only turn off if it is
423         explicitly set, or if we expect the field to be a username, email or
424         url.
425
426         Internally reviewed by Mike Fenton.
427
428         Reviewed by Rob Buis.
429
430         * WebKitSupport/InputHandler.cpp:
431         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
432         (BlackBerry::WebKit::InputHandler::setElementFocused):
433         (BlackBerry::WebKit::InputHandler::unlockSequenceMap):
434         (WebKit):
435         (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
436         * WebKitSupport/InputHandler.h:
437         (InputHandler):
438
439 2012-08-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
440
441         Rename first/second to key/value in HashMap iterators
442         https://bugs.webkit.org/show_bug.cgi?id=82784
443
444         Reviewed by Eric Seidel.
445
446         * Api/BackingStore.cpp:
447         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
448         (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
449         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
450         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
451         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
452         (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
453         * WebCoreSupport/NotificationPresenterImpl.cpp:
454         (WebCore::NotificationPresenterImpl::cancel):
455         (WebCore::NotificationPresenterImpl::onPermission):
456         (WebCore::NotificationPresenterImpl::notificationClicked):
457         * WebKitSupport/AboutData.cpp:
458         (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
459         * WebKitSupport/FrameLayers.cpp:
460         (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
461         (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
462         (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
463         * WebCoreSupport/UserMediaClientImpl.cpp:
464         (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
465
466 2012-08-28  Nima Ghanavatian  <nghanavatian@rim.com>
467
468         [BlackBerry] Range boundaries should use endOfBlock instead of endOfLine.
469         https://bugs.webkit.org/show_bug.cgi?id=95135
470
471         The original implementation used nextLinePosition to iterate
472         through the field from the start of each line, and was bounded in
473         comparison to the endOfLine. This works fine as long as there aren't any
474         empty lines between paragraphs of text, since these will have
475         startOfLine == endOfLine and break out.
476
477         Also, protect map access with a mutex in case we get a response
478         before updating the map. Further, we should check the Range pointer
479         before using it, since its not guaranteed to be valid.
480
481         Internally reviewed by Mike Fenton.
482
483         Reviewed by Antonio Gomes.
484
485         * WebKitSupport/InputHandler.cpp:
486         (BlackBerry::WebKit::InputHandler::spellCheckBlock):
487
488 2012-08-28  Andrew Lo  <anlo@rim.com>
489
490         [BlackBerry] One shot drawing synchronization broken
491         https://bugs.webkit.org/show_bug.cgi?id=95179
492
493         Reviewed by Antonio Gomes.
494         Internally reviewed by Arvid Nilsson.
495
496         Make sure no backing store blits happen during one shot drawing
497         synchronization.
498         Since we always blit during commit now, make sure we don't blit if
499         we commit after a render.
500         We no longer need a deferred blit since we don't commit during renderContents
501         now. Instead, we only commit & blit once after a full render job.
502
503         * Api/BackingStore.cpp:
504         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
505         (BlackBerry::WebKit::BackingStorePrivate::repaint):
506         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
507         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
508         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
509         (BlackBerry::WebKit::BackingStorePrivate::blitContents):
510         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
511         (WebKit):
512         (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
513         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
514         * Api/BackingStore_p.h:
515         (BackingStorePrivate):
516         * Api/WebPage.cpp:
517         (WebKit):
518         (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
519         * Api/WebPage_p.h:
520         (WebPagePrivate):
521         * WebKitSupport/RenderQueue.cpp:
522         (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
523         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
524         (BlackBerry::WebKit::RenderQueue::visibleScrollJobsCompleted):
525
526 2012-08-28  Parth Patel  <parpatel@rim.com>
527
528         [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient
529         https://bugs.webkit.org/show_bug.cgi?id=95113
530
531         Reviewed by Kentaro Hara.
532
533         Refactoring has lead to relocation of many or all methods from Class
534         BlackBerryPlatformClient to other classes. Some files include
535         BlackBerryPlatformClient but does not use its instance thus these
536         includes has to be removed.
537
538         * Api/BackingStore.cpp:
539
540 2012-08-28  Andy Chen  <andchen@rim.com>
541
542         [BlackBerry] UpdateViewport uses wrong size for frameView
543         https://bugs.webkit.org/show_bug.cgi?id=95138
544
545         Reviewed by Antonio Gomes.
546         Internally reviewed by Jakob Petsovits.
547
548         Use actual visible size instead of screen size when updating viewport size,
549         otherwise, frameView size would be too big.
550
551         * Api/WebPage.cpp:
552         (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
553
554 2012-08-28  Andy Chen  <andchen@rim.com>
555
556         [BlackBerry] Pseudo class "active" is broken
557         https://bugs.webkit.org/show_bug.cgi?id=95142
558
559         Reviewed by Antonio Gomes.
560
561         Check if an element is affected by active rule before cancelling
562         the touch event.
563         PR 198544.
564
565         * WebKitSupport/TouchEventHandler.cpp:
566         (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
567
568 2012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
569
570         Unreviewed, rolling out r126836.
571         http://trac.webkit.org/changeset/126836
572         https://bugs.webkit.org/show_bug.cgi?id=95163
573
574         Broke all Apple ports, EFL, and Qt. (Requested by tkent on
575         #webkit).
576
577         * Api/BackingStore.cpp:
578         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
579         (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
580         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
581         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
582         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
583         (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
584         * WebCoreSupport/NotificationPresenterImpl.cpp:
585         (WebCore::NotificationPresenterImpl::cancel):
586         (WebCore::NotificationPresenterImpl::onPermission):
587         (WebCore::NotificationPresenterImpl::notificationClicked):
588         * WebKitSupport/AboutData.cpp:
589         (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
590         * WebKitSupport/FrameLayers.cpp:
591         (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
592         (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
593         (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
594
595 2012-08-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
596
597         Rename first/second to key/value in HashMap iterators
598         https://bugs.webkit.org/show_bug.cgi?id=82784
599
600         Reviewed by Eric Seidel.
601
602         * Api/BackingStore.cpp:
603         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
604         (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
605         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
606         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
607         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
608         (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
609         * WebCoreSupport/NotificationPresenterImpl.cpp:
610         (WebCore::NotificationPresenterImpl::cancel):
611         (WebCore::NotificationPresenterImpl::onPermission):
612         (WebCore::NotificationPresenterImpl::notificationClicked):
613         * WebKitSupport/AboutData.cpp:
614         (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
615         * WebKitSupport/FrameLayers.cpp:
616         (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
617         (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
618         (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
619
620 2012-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
621
622         Unreviewed, rolling out r126772.
623         http://trac.webkit.org/changeset/126772
624         https://bugs.webkit.org/show_bug.cgi?id=95137
625
626         "This change breaks news.qq.com" (Requested by leoyang on
627         #webkit).
628
629         * Api/WebPage.cpp:
630         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
631
632 2012-08-27  Leo Yang  <leoyang@rim.com>
633
634         [BlackBerry] Not using absoluteVisibleOverSize when rotating
635         https://bugs.webkit.org/show_bug.cgi?id=95092
636         PR #190469
637
638         Reviewed by Antonio Gomes.
639         Reviewed internally by Arvid Nilsson.
640
641         When we are rotating don't count absolute overflow visible size
642         into fixed layout size because we are in a transient state. The
643         absolute overflow visible size remains old size during rotation.
644
645         * Api/WebPage.cpp:
646         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
647
648 2012-08-25  Antonio Gomes  <agomes@rim.com>
649
650         [BlackBerry] Remove the 'in region scrollable starting node' concept from InRegionScroller
651         https://bugs.webkit.org/show_bug.cgi?id=95020
652
653         Reviewed by Rob Buis.
654
655         'In-region start scrolling node' is an obsolete concept, and we can remove it
656         in favor of using the information from the cached layers.
657
658         * Api/InRegionScroller.cpp:
659         (WebKit):
660         (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Adjusted as it used to clear
661         the cached 'node'.
662         (BlackBerry::WebKit::InRegionScrollerPrivate::isActive): Added method to be
663         checked directly instead of only null-checking the previously cached 'node'.
664         (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData): New method to
665         clear the cached resources if its document is done.
666         (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): Adjusted
667         to not care about the cached 'node' anymore.
668         * Api/InRegionScroller_p.h:
669         (InRegionScrollerPrivate):
670         * Api/WebPage.cpp:
671         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped): Check ::isActive instead
672         of ::hasNode, since the later is gone.
673         (BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling):
674         Changed the method signature, given that we do have a cached 'node' to pass in as parameter anymore.
675         (BlackBerry::WebKit::WebPagePrivate::clearDocumentData): Delegate all the related work to InRegionScroller.
676         * Api/WebPage_p.h:
677         (WebPagePrivate):
678         * WebKitSupport/TouchEventHandler.cpp:
679         (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
680 .
681 2012-08-25  Antonio Gomes  <agomes@rim.com>
682
683         BlackBerry] Shrink the in-region nested scrollable list as soon as we can
684         https://bugs.webkit.org/show_bug.cgi?id=95019
685
686         Reviewed by Rob Buis.
687
688         We cache all possible nested scrollable in-region layers given a point.
689         It is up to the client to pick a view, based on the scroll position and limits
690         of each layer, and on the direction user swipes its finger.
691         From the point we pick a view on, we stick with it, and any other
692         possibly cached layer can be uncached, as it won't be needed.
693         Patch provides a simple solution to that.
694
695         * Api/InRegionScroller.cpp:
696         (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
697         (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
698         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
699         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas):
700         (WebKit):
701         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
702         * Api/InRegionScroller_p.h:
703         (InRegionScrollerPrivate):
704
705 2012-08-25  Antonio Gomes  <agomes@rim.com>
706
707         For convenience, make RenderLayer::enclosingElement a public method.
708         https://bugs.webkit.org/show_bug.cgi?id=95018
709
710         Reviewed by George Staikos.
711
712         Make use of the new public RenderLayer::enclosingElement method and
713         remove duplicated code.
714
715         * WebKitSupport/InRegionScrollableArea.cpp:
716         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
717
718 2012-08-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
719
720         Rename RegisterProtocolHandler API to NavigatorContentUtils
721         https://bugs.webkit.org/show_bug.cgi?id=94920
722
723         Reviewed by Adam Barth.
724
725         Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
726
727         * WebCoreSupport/AboutDataEnableFeatures.in:
728         * WebCoreSupport/ChromeClientBlackBerry.cpp:
729         (WebCore):
730         (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
731         * WebCoreSupport/ChromeClientBlackBerry.h:
732         (ChromeClientBlackBerry):
733
734 2012-08-26  Arvid Nilsson  <anilsson@rim.com>
735
736         [BlackBerry] ASSERT failed in WebPagePrivate::commitRootLayerIfNeeded()
737         https://bugs.webkit.org/show_bug.cgi?id=94921
738
739         PR 104676
740         As visibility changed due to WebPage::setVisible(true),
741         resumeRootLayerCommit() would call commitRootLayerIfNeeded(), without
742         layouting or rendering. If a one shot drawing sync was pending at this
743         time, it would cause the condition
744         ASSERT(!needsOneShotDrawingSynchronization()) to fail.
745
746         The comment immediately before the assert states that "In case of one
747         shot drawing synchronization, you should first layoutIfNeeded, render,
748         then commit and draw the layers". However, resumeRootLayerCommit() did
749         no such thing.
750
751         Fixed by removing the call to commitRootLayerIfNeeded() from
752         resumeRootLayerCommit(), because the latter is only called in a code
753         path where we're going to layout, render and then commit anyway. These
754         operations will be performed from resumeBackingStore() which is called
755         at the end of setVisible().
756
757         Reviewed by George Staikos.
758
759         * Api/WebPage.cpp:
760         (BlackBerry::WebKit::WebPagePrivate::resumeRootLayerCommit):
761
762 2012-08-24  Adam Treat  <atreat@rim.com>
763
764         [BlackBerry] Web pages are zoomed out to much on initial load
765         https://bugs.webkit.org/show_bug.cgi?id=94830
766
767         The previous patch caused a slight regression to the calculation we do
768         for the default splitting factor in the render queue.  The default value
769         we use to represent the max area should be the tile size.  This was true
770         with the old calculation of default max layout width since it was the
771         screen size.  The fix is to be explicit and use the tile size directly.
772
773         Reviewed by George Staikos.
774
775         * WebKitSupport/RenderQueue.cpp:
776         (BlackBerry::WebKit::RenderQueue::splittingFactor):
777
778 2012-08-24  Parth Patel  <parpatel@rim.com>
779
780         [BlackBerry] Changes resulting from moving network related methods
781         from platform client to platform settings.
782         https://bugs.webkit.org/show_bug.cgi?id=94963
783
784         Reviewed by Yong Li.
785
786         Changes in response to Network methods moved from
787         class BlackBerryPlatformClient to class BlackBerryPlatformSettings
788         in platform repository.
789
790         * WebKitSupport/AboutData.cpp:
791         (BlackBerry::WebKit::cachePage):
792
793 2012-08-24  Liam Quinn  <lquinn@rim.com>
794
795         [BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
796         https://bugs.webkit.org/show_bug.cgi?id=94960
797
798         Reviewed by Adam Treat.
799
800         Change the assertion into an early return as recommended by Adam Treat.
801
802         * Api/BackingStore.cpp:
803         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
804
805 2012-08-24  Andrew Lo  <anlo@rim.com>
806
807         [BlackBerry] Animation & UI lag when rendering
808         https://bugs.webkit.org/show_bug.cgi?id=94943
809
810         Reviewed by Rob Buis.
811
812         Schedule a backing store blit & composite when commiting root layer.
813         This results in compositing not having to wait until after a long render
814         operation, increasing responsiveness & fixing animations which skip to
815         the last frame due to lag.
816
817         This can cause a blit during a "one shot drawing synchronization", which is
818         a render & commit on the AC layers, which may result in flashing.
819         However, this can happen in other situations as well, and we feel that
820         the responsiveness, reduced lag, and smoothness of animations is
821         more important.
822
823         Internal PR194209
824         Internally reviewed by: George Staikos.
825
826         * Api/WebPage.cpp:
827         (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
828
829 2012-08-24  Parth Patel  <parpatel@rim.com>
830
831         [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
832         https://bugs.webkit.org/show_bug.cgi?id=94249
833
834         Reviewed by Rob Buis.
835
836         PR# 170160
837         Changes in response to Application Directory methods moved from
838         Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
839         platform respository since these methods are more appropriate in
840         class BlackBerryPlatformSettings.
841
842         * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
843         (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
844
845 2012-08-24  Antonio Gomes  <agomes@rim.com>
846
847         [BlackBerry] Touch cancel can cause huge and needless invalidations
848         https://bugs.webkit.org/show_bug.cgi?id=94938
849         PR #198051
850
851         Reviewed by George Staikos.
852         Internally reviewed by Gen Mak.
853
854         In order to remove the possible hover effect on touch_cancel, we always
855         invalidate the node under the fat finger, being the fat finger valid or not.
856
857         Point is: having a valid fat finger node does not mean the original touch
858         position was actually adjust for clicking or that the fat finger is actually
859         valid. We set the fat finger node to be the result of the point-based hit-test
860         regardless if it is a click target or not (in order to make our mouse-move
861         machinery to work).
862
863         We should can less aggressively invalidate the fat finger node, since it can
864         be rather an expensive call (longer than 1s in the worst scenario).
865
866         * WebKitSupport/TouchEventHandler.cpp:
867         (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
868
869 2012-08-24  Arvid Nilsson  <anilsson@rim.com>
870
871         [BlackBerry] Add WebPage API to reset block zoom
872         https://bugs.webkit.org/show_bug.cgi?id=94863
873
874         PR 187478
875         This is an alternative to WebPage::blockZoomAnimationFinished() when
876         it's desirable to avoid rerendering of the whole web page at the end
877         of block zoom. This is the case when the planned "incremental zoom
878         factor" is used instead of zoomAboutPoint and it's relatives.
879
880         Ideally, the block zoom algorithm would be clever enough not to need
881         a reset or any form of callback when the animation finishes, but that
882         requires the implementation of said incremental zoom factor, which is
883         not done yet.
884
885         Reviewed by Antonio Gomes.
886
887         * Api/WebPage.cpp:
888         (BlackBerry::WebKit::WebPage::resetBlockZoom):
889         (WebKit):
890         * Api/WebPage.h:
891
892 2012-08-23  Antonio Gomes  <agomes@rim.com>
893
894         [BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
895         https://bugs.webkit.org/show_bug.cgi?id=94839
896         PR #197775
897
898         Reviewed by George Staikos.
899
900         This codepath is not needed anymore, so lets let it RIP.
901
902         The only code addition is due to some code I've moved from WebPagePrivate::scrollNodeRecursively
903         and WebPagePrivate::scrollBy to InRegionScrollerPrivate::setLayerScrollPosition.
904         Rest is code removal ...
905
906         * Api/InRegionScroller.cpp:
907         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
908         * Api/InRegionScroller_p.h:
909         (InRegionScrollerPrivate):
910         * Api/WebPage.cpp:
911         (BlackBerry::WebKit::WebPagePrivate::scrollBy):
912         (BlackBerry::WebKit::WebPage::scrollBy):
913         * Api/WebPage.h:
914         * Api/WebPage_p.h:
915         (WebPagePrivate):
916
917 2012-08-23  Adam Treat  <atreat@rim.com>
918
919         [BlackBerry] Replace the three different rendering mechanisms for clearing the render queue
920         https://bugs.webkit.org/show_bug.cgi?id=94837
921
922         Reviewed by George Staikos.
923
924         PR 197738
925
926         Currently, we have three different mechanisms for clearing the render queue.
927         The first mechanism is render on idle.  Whenever the webkit thread becomes idle
928         (read: no more events in its queue) we render the next job in the render queue.
929          This is the primary means we use for clearing the render queue.  However, this
930         mechanism has a flaw, it is such a low priority mechanism that sometimes the
931         queue grows so fast due to higher priority events adding rects to the queue
932         that this mechanism can't possibly keep up.  That is what leads to the second
933         mechanism: rendering right before a timer is fired when we discover that the
934         render queue is under pressure and rendering on idle can't keep up.  However,
935         there are still degenerate cases where even this mechanism does not allow us to
936         keep up.  That brings us to the third mechanism: rendering based on a timer
937         that is a catch-all.
938
939         The second and third mechanisms lead to very large render jobs as they try and
940         clear the queue faster when it comes under pressure.  These very large render
941         jobs end up keeping the webkit thread busy with a message that can take large
942         fractions of a second to resolve.
943
944         These three mechanisms were put in place when the backingstore had a different
945         overall design that was not truly asynchronous.  This patch replaces these
946         three mechanisms with a single one that uses the platform messaging classes to
947         full purpose - a uniquely coalescing message that has a higher priority level
948         than timers making sure the render queue can never come under pressure.
949
950         * Api/BackingStore.cpp:
951         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
952         (WebKit):
953         (RenderJobMessage):
954         (BlackBerry::WebKit::RenderJobMessage::RenderJobMessage):
955         (BlackBerry::WebKit::BackingStorePrivate::dispatchRenderJob):
956         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
957         (BlackBerry::WebKit::BackingStore::blitContents):
958         * Api/BackingStore.h:
959         * Api/BackingStore_p.h:
960         (BackingStorePrivate):
961         * Api/WebPage.cpp:
962         * Api/WebPage.h:
963         * WebKitSupport/RenderQueue.cpp:
964         (BlackBerry::WebKit::RenderQueue::reset):
965         (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
966         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
967         (BlackBerry::WebKit::RenderQueue::clear):
968         (BlackBerry::WebKit::RenderQueue::clearVisibleZoom):
969         (BlackBerry::WebKit::RenderQueue::render):
970
971 2012-08-23  Antonio Gomes  <agomes@rim.com>
972
973         [BlackBerry] Unify slow and fast in-region scrolling code paths
974         https://bugs.webkit.org/show_bug.cgi?id=94834
975         PR #197662
976
977         Reviewed by Rob Buis.
978
979         Internally reviewed by Arvid Nilsson.
980
981         In order to be able to remove a bunch of obsolete code from
982         InRegionScroller.cpp, we need to unify the codepaths for slow
983         and fast in-region scrolling.
984
985         This patch caches the root scrollable node of each scrollable block
986         in InRegionScrollableArea also for the non-composited-scrolling case now too
987         (analogly to the way we cache LayerWebKitThread for the composited scrolling case).
988
989         Now the client (libwebview) can dispatch an in-region scrolling with one single code path,
990         making use of a boolean (argh!) to inform if the scroll of the given
991         layer supports compositing or not. Later on, this boolean is used to casting the proper element.
992
993         * Api/InRegionScroller.cpp:
994         (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
995         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
996         * Api/InRegionScroller.h:
997         * Api/InRegionScroller_p.h:
998         (InRegionScrollerPrivate):
999         * WebKitSupport/InRegionScrollableArea.cpp:
1000         (WebKit):
1001         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
1002         (BlackBerry::WebKit::enclosingLayerNode):
1003         * WebKitSupport/InRegionScrollableArea.h:
1004         (WebCore):
1005         (InRegionScrollableArea):
1006
1007 2012-08-23  Jacky Jiang  <zhajiang@rim.com>
1008
1009         [BlackBerry] Web pages are zoomed out to much on initial load
1010         https://bugs.webkit.org/show_bug.cgi?id=94830
1011
1012         Reviewed by Adam Treat.
1013
1014         PR: 193943
1015         Browser continuously adds paddings to the left and right sides of the
1016         main contents which makes the main contents even smaller.
1017         The issue can be reproduced on the desktop websites such as
1018         huffingtonpost.ca, bloomberg.com, online.wsj.com, nytimes.com,
1019         yahoo.com, thestar.com, sina.com.cn, sohu.com and so on.
1020         The root cause is that we layout those contents at the width of 1280
1021         although the fixed width of the main contents of those websites is
1022         less than 1000, which results in adding the paddings.
1023         To fix this, we need to get back to the default max layout size
1024         1024 * 768, which will make the main contents of those popular websites
1025         take full advantage of the screen real estate and look much better.
1026
1027         Internally reviewed by Adam Treat.
1028
1029         * Api/WebPage.cpp:
1030         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
1031         (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
1032         * Api/WebPage_p.h:
1033         (WebPagePrivate):
1034         * WebKitSupport/RenderQueue.cpp:
1035         (BlackBerry::WebKit::RenderQueue::splittingFactor):
1036
1037 2012-08-22  Crystal Zhang  <haizhang@rim.com>
1038
1039         [BlackBerry] Make all pickers non-zoomable
1040         https://bugs.webkit.org/show_bug.cgi?id=94729
1041
1042         Reviewed by Antonio Gomes.
1043
1044         Move HTML header initialization to PagePopupBlackBerry as that part are all the same, and make all pickers non-zoomable.
1045
1046         * Api/WebPage.cpp:
1047         (BlackBerry::WebKit::WebPagePrivate::screenSize):
1048         (WebKit):
1049         * Api/WebPage_p.h:
1050         (WebPagePrivate):
1051         * WebCoreSupport/DatePickerClient.cpp:
1052         (WebCore::DatePickerClient::generateHTML):
1053         (WebCore::DatePickerClient::writeDocument):
1054         * WebCoreSupport/PagePopupBlackBerry.cpp:
1055         (WebCore::PagePopupBlackBerry::init):
1056         (WebCore::PagePopupBlackBerry::generateHTML):
1057         (WebCore):
1058         * WebCoreSupport/PagePopupBlackBerry.h:
1059         (PagePopupBlackBerry):
1060         * WebCoreSupport/SelectPopupClient.cpp:
1061         (WebCore::SelectPopupClient::generateHTML):
1062         (WebCore::SelectPopupClient::writeDocument):
1063
1064 2012-08-21  Benjamin C Meyer  <bmeyer@rim.com>
1065
1066         [BlackBerry] Add option to only add JavaScript object 'qnx' to private webviews
1067         https://bugs.webkit.org/show_bug.cgi?id=94621
1068
1069         Reviewed by Yong Li.
1070
1071         * Api/WebPage.cpp:
1072         (BlackBerry::WebKit::WebPage::enableQnxJavaScriptObject):
1073         (WebKit):
1074         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
1075         * Api/WebPage.h:
1076         * Api/WebPage_p.h:
1077         (WebPagePrivate):
1078         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1079         (WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):
1080
1081 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1082
1083         [BlackBerry] Add support for getUserMedia
1084         https://bugs.webkit.org/show_bug.cgi?id=94591
1085
1086         Reviewed by George Staikos.
1087
1088         Implement getUserMedia feature using the platform API.
1089
1090         PR #153571
1091
1092         Reviewed internally by George Staikos.
1093
1094         * WebCoreSupport/UserMediaClientImpl.cpp:
1095         (WebCore):
1096         (WebCore::userMediaRequestsMap):
1097         (WebCore::toMediaStreamSource):
1098         (WebCore::toMediaStreamDescriptor):
1099         (WebUserMediaRequestClientImpl):
1100         (WebCore::WebUserMediaRequestClientImpl::WebUserMediaRequestClientImpl):
1101         (WebCore::WebUserMediaRequestClientImpl::requestSucceeded):
1102         (WebCore::WebUserMediaRequestClientImpl::requestFailed):
1103         (WebCore::UserMediaClientImpl::UserMediaClientImpl):
1104         (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
1105         (WebCore::UserMediaClientImpl::requestUserMedia):
1106         (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
1107         (WebCore::UserMediaClientImpl::webUserMedia):
1108         * WebCoreSupport/UserMediaClientImpl.h:
1109         (BlackBerry):
1110         (Platform):
1111         (UserMediaClientImpl):
1112
1113 2012-08-21  Kihong Kwon  <kihong.kwon@samsung.com>
1114
1115         [EFL][GTK][BlackBerry] Fix build error in the DeviceOrientationClient
1116         https://bugs.webkit.org/show_bug.cgi?id=94586
1117
1118         Reviewed by Kentaro Hara.
1119
1120         Fix build error in the DeviceOrientationClientBlackBerry.cpp.
1121         It is occured because DeviceOrientation is changed to DeviceOrientationData in the WebCore.
1122
1123         * WebCoreSupport/DeviceOrientationClientBlackBerry.cpp:
1124         (DeviceOrientationClientBlackBerry::lastOrientation):
1125
1126 2012-08-21  Jacky Jiang  <zhajiang@rim.com>
1127
1128         [BlackBerry] about:memory and about:memory-live should show numbers for the chrome process
1129         https://bugs.webkit.org/show_bug.cgi?id=94531
1130
1131         Reviewed by Rob Buis.
1132         Patch by Jacky Jiang  <zhajiang@rim.com>
1133
1134         PR: 190504
1135         Add total committed memory of chrome process into about:memory and add
1136         its peak into about:memory-live.
1137
1138         Internally reviewed by Yong Li and George Staikos.
1139
1140         * WebKitSupport/AboutData.cpp:
1141         (BlackBerry::WebKit::memoryPage):
1142         (BlackBerry::WebKit::MemoryTracker::clear):
1143         (MemoryTracker):
1144         (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemoryOfCurrentProcess):
1145         (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemoryOfChromeProcess):
1146         (BlackBerry::WebKit::MemoryTracker::MemoryTracker):
1147         (BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
1148         (BlackBerry::WebKit::memoryPeaksToHtmlTable):
1149
1150 2012-08-21  Antonio Gomes  <agomes@rim.com>
1151
1152         [BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
1153         https://bugs.webkit.org/show_bug.cgi?id=94608
1154         PR #194754
1155
1156         Reviewed by Goerge Staikos.
1157
1158         When one translates/scrolls a HW accelerated scrollable layer, it makes use of
1159         the OVERRIDE mechanism. Suppose the following scenario:
1160
1161         - In landscape, the overflow menu is scrollable. Then the user scrolls it so
1162         that is has scroll position of 0, -100.
1163         - when he rotates to portrait, the menus fit well to the available space but it
1164         still has the OVERRIDE set, so it keeps the layer translated at 0, -100.
1165
1166         Fix is simple: clear the override when we stop scrolling a HW accelerated layer,
1167         when we destroy the objects.
1168
1169         * WebKitSupport/InRegionScrollableArea.cpp:
1170         (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea):
1171
1172 2012-08-21  Antonio Gomes  <agomes@rim.com>
1173
1174         [BlackBerry] Properly notify WebKit when Client stops in-region scrolling
1175         https://bugs.webkit.org/show_bug.cgi?id=94603
1176         PR #195813
1177
1178         Reviewed by Goerge Staikos.
1179
1180         Simplify the API to get a notification of when a in-region
1181         scrolling has finished.
1182
1183         * Api/WebPage.cpp:
1184         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
1185         Removed an unneeded parameter.
1186         (BlackBerry::WebKit::WebPage::notifyInRegionScrollStopped):
1187         Ditto.
1188         * Api/WebPage.h:
1189         * Api/WebPage_p.h:
1190         (WebPagePrivate):
1191
1192 2012-08-20  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1193
1194         [BlackBerry] Select popup shows blank content when its option tags contain '\' characters
1195         https://bugs.webkit.org/show_bug.cgi?id=94321
1196
1197         Reviewed by George Staikos.
1198
1199         PR 194224
1200
1201         When the SelectPopupClient generates HTML, if there is a character '\' in the select options'
1202         description, we should escape it to avoid the character being interpreted as an escape character.
1203
1204         * WebCoreSupport/SelectPopupClient.cpp:
1205         (WebCore::SelectPopupClient::generateHTML):
1206
1207 2012-08-20  Genevieve Mak  <gmak@rim.com>
1208
1209         [BLACKBERRY] Add notification if an element does not have touch move or mouse move handlers.
1210         https://bugs.webkit.org/show_bug.cgi?id=94529
1211
1212         Reviewed by George Staikos.
1213
1214         Send a notification to the client if the fat finger element does
1215         not have a mouse move or touch move handler or if it is empty.
1216         PR #177701
1217
1218         Reviewed Internally By Mike Lattanzio and Antonio Gomes.
1219
1220         * Api/WebPageClient.h:
1221         * WebKitSupport/TouchEventHandler.cpp:
1222         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
1223
1224 2012-08-17  Antonio Gomes  <agomes@rim.com>
1225
1226         [BlackBerry] Allow in-region accelerated scrolling take advantage of defer_blits
1227         https://bugs.webkit.org/show_bug.cgi?id=94379
1228         PR #194595
1229
1230         Reviewed by Yong Li.
1231
1232         Client does the blitting now.
1233
1234         * Api/InRegionScroller.cpp:
1235         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
1236
1237 2012-08-17  Jacky Jiang  <zhajiang@rim.com>
1238
1239         [BlackBerry] On reload, www.sohu.com renders part white background, part overscroll pattern
1240         https://bugs.webkit.org/show_bug.cgi?id=94348
1241
1242         Reviewed by Yong Li.
1243         Jacky Jiang  <zhajiang@rim.com>
1244
1245         PR: 179200
1246         This can fix the reload issues of sohu.com, yahoo.com and
1247         thestar.com/iphone(PR158041). And it is also related with PR178305.
1248
1249         Internally reviewed by George Staikos.
1250
1251         * Api/WebPage.cpp:
1252         (BlackBerry::WebKit::WebPagePrivate::setLoadState):  Keeping scales for
1253         reload was doing more harm than good. Two reasons to remove this:
1254         (1) During reload, contents rect is changing due to layout updates,
1255         it is possible that the contents or the white background can't cover
1256         the whole screen if we are using the previous scales.
1257         (2) Before reload, the source of the web page can be changed, therefore
1258         previous scales won't be valid anymore.
1259         Remove shouldRestoreViewState() as this check here is useless now.
1260         (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):  During
1261         reload, we should give it a chance to zoom to fit the screen,
1262         otherwise, it happens that the contents can't cover the whole screen
1263         until we restore the view state, see PR158041.
1264         Remove shouldRestoreViewState() as the error page issue PR178305 can be
1265         covered by reload now.
1266         * WebCoreSupport/FrameLoaderClientBlackBerry.h: Remove unused shouldRestoreViewState().
1267
1268 2012-08-16  Mike Fenton  <mifenton@rim.com>
1269
1270         [BlackBerry] Use form state to determine the VKB enter key.
1271         https://bugs.webkit.org/show_bug.cgi?id=94239
1272
1273         Reviewed by Rob Buis.
1274
1275         PR 188234.
1276
1277         If the enter key for the VKB is not explicitly set, use
1278         submit if we are in a single line input and a default
1279         button exists for the form.
1280
1281         Reviewed Internally by Gen Mak.
1282
1283         * WebKitSupport/InputHandler.cpp:
1284         (BlackBerry::WebKit::InputHandler::setElementFocused):
1285
1286 2012-08-16  Konrad Piascik  <kpiascik@rim.com>
1287
1288         [BlackBerry] Reload valid page from Error Page keeps history ViewState and zoom.
1289         https://bugs.webkit.org/show_bug.cgi?id=94123
1290
1291         Reviewed by Antonio Gomes.
1292
1293         Reviewed internally by Leo Yang, Jacky Jiang.
1294         PR 178305
1295
1296         * Api/WebPage.cpp:
1297         (BlackBerry::WebKit::WebPagePrivate::setLoadState):Reset the scales and
1298         the user scalable flag if we're reloading from an error page.
1299         (BlackBerry::WebKit::WebPagePrivate::updateViewportSize): Don't update the
1300         viewport size if we're still in the WebPagePrivate::init method.
1301         (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
1302         Properly set the shouldZoom flag if we're not going to restore the
1303         view state.
1304         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1305         (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
1306         (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad): Set the
1307         ViewState's shouldSaveViewState flag if we're coming from an error page.
1308         (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem): Set the
1309         new member variable m_shouldRestoreViewState based on the ViewState's
1310         shouldSaveViewState flag.
1311         (WebCore::FrameLoaderClientBlackBerry::restoreViewState): Added early
1312         return if m_shouldRestoreViewState is false.
1313         * WebCoreSupport/FrameLoaderClientBlackBerry.h: Add new method to have
1314         the client track whether we should restore the view state.
1315         (WebCore::FrameLoaderClientBlackBerry::shouldRestoreViewState):
1316         (FrameLoaderClientBlackBerry):
1317
1318 2012-08-16  Leo Yang  <leoyang@rim.com>
1319
1320         [BlackBerry] Remove Mobile mode from WebPage.cpp and WebPage_p.h
1321         https://bugs.webkit.org/show_bug.cgi?id=94223
1322         PR #192773
1323
1324         Reviewed by Rob Buis.
1325         Reviewed internally by Arvid Nilsson.
1326
1327         Remove Mobile mode as it's not been used. Also remove code that
1328         handle top-level SVG document because now we can handle it in Desktop mode.
1329
1330         * Api/WebPage.cpp:
1331         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
1332         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
1333         * Api/WebPage_p.h:
1334
1335 2012-08-16  Arvid Nilsson  <anilsson@rim.com>
1336
1337         [BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR object
1338         https://bugs.webkit.org/show_bug.cgi?id=94208
1339
1340         Reviewed by Rob Buis.
1341
1342         SurfacePool::notifyBuffersComposited() adds a tile's previous
1343         sync object to the garbage list before replacing it with a new one.
1344         However, it failed to thoroughly clear all tiles that were referencing
1345         the old sync object.
1346
1347         Thus it could happen that if a set of tiles A was composited, then
1348         another set of tiles B was composited, only the intersection of A and B
1349         was cleared of the soon-to-be-deleted sync object, and the subtraction
1350         A - B would reference an invalid sync object in case the BackingStore
1351         decided to render to one of the tiles in A - B before they were
1352         composited again.
1353
1354         Fixed by storing each individual sync object in only one place so we
1355         don't have to rummage through all tiles and remove stale references to
1356         sync objects that are about to be destroyed.
1357
1358         A new reference counted Fence class is added for this purpose, to store
1359         a sync object. Tiles refer to Fence instances instead of holding a sync
1360         object directly. Since Fence is reference counted, several tiles can
1361         refer to the same Fence instance, and clearing its sync object will
1362         instantly remove it from the grasp of all tiles that depend on that
1363         Fence.
1364
1365         Since there's no point in waiting for the same Fence twice, the only
1366         operation provided on Fence is takePlatformSync() which returns the
1367         sync object and clears the Fence of its sync object.
1368
1369         Reviewed internally by Filip Spacek.
1370
1371         PR 193610
1372
1373         * WebKitSupport/BackingStoreTile.cpp:
1374         (BlackBerry::WebKit::TileBuffer::TileBuffer):
1375         * WebKitSupport/BackingStoreTile.h:
1376         (BlackBerry):
1377         (Fence):
1378         (BlackBerry::Fence::create):
1379         (BlackBerry::Fence::takePlatformSync):
1380         (BlackBerry::Fence::Fence):
1381         (BlackBerry::WebKit::TileBuffer::fence):
1382         (BlackBerry::WebKit::TileBuffer::setFence):
1383         (TileBuffer):
1384         * WebKitSupport/SurfacePool.cpp:
1385         (BlackBerry::WebKit::SurfacePool::waitForBuffer):
1386         (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
1387         * WebKitSupport/SurfacePool.h:
1388         (SurfacePool):
1389
1390 2012-08-16  Rob Buis  <rbuis@rim.com>
1391
1392         [BlackBerry] Suppress non DRT JS Console output.
1393         https://bugs.webkit.org/show_bug.cgi?id=94058
1394
1395         Reviewed by Yong Li.
1396         Reviewed internally by Ming Xie.
1397
1398         Some actual test results show JS Console showing up twice, for
1399         instance traversal/moz-bug559526.html. Only print the DRT specific
1400         Console message.
1401
1402         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1403         (WebCore::ChromeClientBlackBerry::addMessageToConsole):
1404
1405 2012-08-16  Arvid Nilsson  <anilsson@rim.com>
1406
1407         [BlackBerry] WebGL and Canvas fail to display after being restored from page cache
1408         https://bugs.webkit.org/show_bug.cgi?id=94105
1409
1410         Reviewed by George Staikos.
1411
1412         The EGLImage was being destroyed when releasing layer resources on the
1413         compositing thread, but the WebKit thread layer never found out and
1414         failed to create a new image.
1415
1416         Fixed by extending the release layer resources mechanism to also make a
1417         pass on the WebKit thread so that thread's layers have a chance to
1418         delete their textures and related resources.
1419
1420         Reviewed internally by Filip Spacek.
1421
1422         PR 192899
1423
1424         * Api/WebPage.cpp:
1425         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
1426         (BlackBerry::WebKit::WebPagePrivate::releaseLayerResources):
1427         (WebKit):
1428         (BlackBerry::WebKit::WebPagePrivate::releaseLayerResourcesCompositingThread):
1429         (BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
1430         * Api/WebPage_p.h:
1431         (WebPagePrivate):
1432         * WebKitSupport/FrameLayers.cpp:
1433         (BlackBerry::WebKit::FrameLayers::releaseLayerResources):
1434         (WebKit):
1435         * WebKitSupport/FrameLayers.h:
1436         (FrameLayers):
1437
1438 2012-08-16  Pierre Rossi  <pierre.rossi@gmail.com>
1439
1440         [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
1441         https://bugs.webkit.org/show_bug.cgi?id=93960
1442
1443         Reviewed by Simon Hausmann.
1444
1445         Following the removal of Qt 4 support from trunk in r124879.
1446
1447         * WebCoreSupport/AboutDataHaveFeatures.in: Remove all traces of HAVE_QRAWFONT's existence.
1448
1449 2012-08-15  Benjamin C Meyer  <bmeyer@rim.com>
1450
1451         [BlackBerry] When there is an exception we want to check if the ref is 0, not the
1452         value as JSObjectCallAsFunction returns 0 in that case.
1453         https://bugs.webkit.org/show_bug.cgi?id=94153
1454
1455         Reviewed by Yong Li.
1456
1457         * Api/WebPage.cpp:
1458         (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
1459
1460 2012-08-15  Yong Li  <yoli@rim.com>
1461
1462         [BlackBerry] Upstream FrameLoaderClientBlackBerry::securityOriginForNewDocument()
1463         https://bugs.webkit.org/show_bug.cgi?id=94139
1464
1465         Reviewed by Antonio Gomes.
1466
1467         Keep same security origin when a file URL automatically redirects to its child folder.
1468         This patch will be reverted when we finish the better solution.
1469         PR# 172333 and PR# 180590.
1470
1471         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1472         (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
1473         (WebCore::FrameLoaderClientBlackBerry::dispatchDidStartProvisionalLoad):
1474         (WebCore::FrameLoaderClientBlackBerry::securityOriginForNewDocument):
1475         (WebCore):
1476         * WebCoreSupport/FrameLoaderClientBlackBerry.h:
1477         (FrameLoaderClientBlackBerry):
1478
1479 2012-08-15  Yong Li  <yoli@rim.com>
1480
1481         [BlackBerry] Should not keep recreating GeoTracker in setEnableHighAccuracy()
1482         https://bugs.webkit.org/show_bug.cgi?id=94136
1483
1484         Reviewed by Rob Buis.
1485         Internally reviewed by Lyon Chen.
1486
1487         PR# 192401.
1488         1. The prototype of GeoTracker::create() has changed.
1489         2. Fix the issue that it could recreate tracker unnecessarily when
1490            setEnableHighAccuracy() is called but accuracy requirment hasn't
1491            changed.
1492         3. Fix the issue setEnableHighAccuracy() could start tracking when
1493            tracker was suspended.
1494
1495         * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
1496         (GeolocationControllerClientBlackBerry::startUpdating):
1497         (GeolocationControllerClientBlackBerry::setEnableHighAccuracy):
1498
1499 2012-08-15  Mike Fenton  <mifenton@rim.com>
1500
1501         [BlackBerry] Use the unconverted attribute instead of composing when deciding to how to handle key input.
1502         https://bugs.webkit.org/show_bug.cgi?id=94132
1503
1504         Reviewed by Rob Buis.
1505
1506         PR 139838.
1507
1508         Switch direct key input handling to be based on the unconverted
1509         attribute being present.  Converted keys, even during composition
1510         are now input directly.
1511
1512         Reviewed Internally by Nima Ghanavatian.
1513
1514         * WebKitSupport/InputHandler.cpp:
1515         (BlackBerry::WebKit::InputHandler::setText):
1516
1517 2012-08-15  Joshua Netterfield  <jnetterfield@rim.com>
1518
1519         [BlackBerry] Upstream BlackBerry build fixes
1520         https://bugs.webkit.org/show_bug.cgi?id=94121
1521
1522         Reviewed by Rob Buis.
1523
1524         This includes several build fixes due to incorrect upstream patches.
1525         These mistakes were never present downstream.
1526
1527         No new tests, because no new functionality is added.
1528
1529         * WebCoreSupport/AboutDataEnableFeatures.in:
1530         * WebCoreSupport/AboutTemplate.html.cpp:
1531         (writeHeader):
1532
1533 2012-08-15  Leo Yang  <leoyang@rim.com>
1534
1535         [BlackBerry] Use nested layout when rotating
1536         https://bugs.webkit.org/show_bug.cgi?id=94117
1537
1538         Partially patched by Arvid Nilsson.
1539
1540         Reviewed by George Staikos.
1541         Reviewed internally by Arvid Nilsson.
1542
1543         When rotating the content width used for fixedLayoutSize is not
1544         correct because we are changing the rotation and the content with
1545         should be determined after layout. So we set the with to 0 if we
1546         are rotating and beginning the nested layout. And in setViewportSize
1547         we need a nested layout loop to trigger zoom-to-fit.
1548
1549         * Api/WebPage.cpp:
1550         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
1551         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1552
1553 2012-08-14  Antonio Gomes  <agomes@rim.com>
1554
1555         [BlackBerry] Stop copying ScrollViewBase vector all over
1556         https://bugs.webkit.org/show_bug.cgi?id=94021
1557
1558         Reviewed by Rob Buis.
1559
1560         It outlives long enough in WebKit that we can
1561         just pass a const+ref of it.
1562
1563         Internally reviewed by Gen Mak.
1564
1565         * Api/WebPageClient.h:
1566
1567 2012-08-14  Antonio Gomes  <agomes@rim.com>
1568
1569         [BlackBerry] Robust-fy the LayerWebKitThread ownership with InRegionScroller
1570         https://bugs.webkit.org/show_bug.cgi?id=93983
1571         PR #191737
1572
1573         Reviewed by Yong Li.
1574
1575         Patch changes the way we currently keep track of the active scrollable area
1576         objects: before, we acquired the scrollable areas and just passed them in a vector up
1577         to the client, copying it over and over again. Also, it was a client responsability to
1578         delete stuff (BAD!).
1579         Now, we keep track of vector within InRegionScroller, as a class member, which allows us to
1580         avoid copies (in follow up patch), and control until when these objects outlive.
1581
1582         Patch also changes InRegionScrollableArea to "retptr" the composited layer
1583         associated to it (if any). This ensure we have a non-null scrollable element always.
1584
1585         As mentioned, InRegionScroller is now responsible for deleting and vector of scrollable areas.
1586
1587         Internally reviewed by Arvid Nilsson.
1588
1589         * Api/InRegionScroller.cpp:
1590         (WebKit):
1591         (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Method is now responsible for
1592         deleting the tracked scrollable areas.
1593         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
1594         Renamed from 'inRegionScrollableAreasForPoint'. It was changed in order to store the
1595         scrollable area objects instead of just pass a copy of them up to the client.
1596         (BlackBerry::WebKit::InRegionScrollerPrivate::activeInRegionScrollableAreas): Getter.
1597         (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): It was
1598         promoted to a class method instead of a local helper.
1599         * Api/InRegionScroller_p.h:
1600         (WebKit):
1601         (InRegionScrollerPrivate):
1602         * Api/WebPage.cpp:
1603         (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint): Adjustments needed due to the
1604         above changed.
1605         * WebKitSupport/InRegionScrollableArea.cpp:
1606         (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea): Clear up the cached layer.
1607         (WebKit):
1608         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
1609         * WebKitSupport/InRegionScrollableArea.h:
1610         (InRegionScrollableArea):
1611
1612 2012-08-15  Nima Ghanavatian  <nghanavatian@rim.com>
1613
1614         [BlackBerry] Check for valid field focus before processing a spellcheck request
1615         https://bugs.webkit.org/show_bug.cgi?id=94115
1616
1617         Reviewed by Rob Buis.
1618
1619         PR192891
1620         Checking for valid field focus before processing the spellcheck
1621         request.
1622
1623         Internally reviewed by Mike Fenton.
1624
1625         * WebKitSupport/InputHandler.cpp:
1626         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
1627
1628 2012-08-14  Adam Barth  <abarth@webkit.org>
1629
1630         Delete Frame::domWindow() and Frame::existingDOMWindow()
1631         https://bugs.webkit.org/show_bug.cgi?id=93990
1632
1633         Reviewed by Eric Seidel.
1634
1635         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1636         (WebCore::toOriginString):
1637         (WebCore::ChromeClientBlackBerry::runJavaScriptAlert):
1638         (WebCore::ChromeClientBlackBerry::runJavaScriptConfirm):
1639         (WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
1640         (WebCore::ChromeClientBlackBerry::runBeforeUnloadConfirmPanel):
1641         (WebCore::ChromeClientBlackBerry::requestWebGLPermission):
1642
1643 2012-08-14  Leo Yang  <leoyang@rim.com>
1644
1645         [BlackBerry] Checkerboard flashes on Go Back
1646         https://bugs.webkit.org/show_bug.cgi?id=94018
1647
1648         Reviewed by Yong Li.
1649         Reviewed internally by Yong Li.
1650
1651         The backing store need to be suspended before the
1652         WebPagePrivate::restoreHistoryViewState() is called to avoid UI thread
1653         drawing checkerboard.
1654
1655         * Api/WebPage.cpp:
1656         (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
1657         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1658         (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
1659
1660 2012-08-14  Mike Fenton  <mifenton@rim.com>
1661
1662         [BlackBerry] Remove unnecessary \n's from InputHandler log messages.
1663         https://bugs.webkit.org/show_bug.cgi?id=94015
1664
1665         Reviewed by Rob Buis.
1666
1667         Remove many unnecessary \n's from the end of log messages.
1668
1669         Reviewed Internally by Nima Ghanavatian.
1670
1671         * WebKitSupport/InputHandler.cpp:
1672         (BlackBerry::WebKit::convertStringToWcharVector):
1673         (BlackBerry::WebKit::convertSpannableStringToString):
1674         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
1675         (BlackBerry::WebKit::InputHandler::setText):
1676         (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
1677
1678 2012-08-14  Nima Ghanavatian  <nghanavatian@rim.com>
1679
1680         [BlackBerry] Queue spellcheck requests with char-count limitations
1681         https://bugs.webkit.org/show_bug.cgi?id=93866
1682
1683         Reviewed by Rob Buis.
1684
1685         PR184196
1686         Making spellcheck a little more granular so as to work around
1687         the limitations of the inputservice.
1688         Also, spellcheck the entire field on focus only if
1689         spellcheck="on" is explicitly set.
1690
1691         Internally reviewed by Mike Fenton.
1692
1693         * WebKitSupport/InputHandler.cpp:
1694         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
1695         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
1696
1697 2012-08-14  Mike Fenton  <mifenton@rim.com>
1698
1699         [BlackBerry] Use Form helper functions to determine state in DOMSupport::isTextBasedContentEditableElement
1700         https://bugs.webkit.org/show_bug.cgi?id=93992
1701
1702         Reviewed by Antonio Gomes.
1703
1704         Use form control helper functions to determine the editable state
1705         of the input field.
1706
1707         * WebKitSupport/DOMSupport.cpp:
1708         (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
1709
1710 2012-08-14  Mike Fenton  <mifenton@rim.com>
1711
1712         [BlackBerry] Use constructor to initialize rect in TouchEventHandler::drawTapHighlight()
1713         https://bugs.webkit.org/show_bug.cgi?id=93988
1714
1715         Reviewed by Antonio Gomes.
1716
1717         Use constructor to initialize rect in TouchEventHandler::drawTapHighlight()
1718
1719         * WebKitSupport/TouchEventHandler.cpp:
1720         (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
1721
1722 2012-08-14  Mike Fenton  <mifenton@rim.com>
1723
1724         [BlackBerry] Fix use of endsWith to use string instead of char.
1725         https://bugs.webkit.org/show_bug.cgi?id=93994
1726
1727         Reviewed by Antonio Gomes.
1728
1729         Regex comparison should use string instead of char comparison.
1730
1731         * WebKitSupport/DOMSupport.cpp:
1732         (BlackBerry::WebKit::DOMSupport::elementPatternMatches):
1733
1734 2012-08-14  Jacky Jiang  <zhajiang@rim.com>
1735
1736         [BlackBerry] Double-tap zoom on blocks on cnn.com desktop page doesn't work
1737         https://bugs.webkit.org/show_bug.cgi?id=93895
1738
1739         Reviewed by Antonio Gomes.
1740         Patch by Jacky Jiang  <zhajiang@rim.com>
1741
1742         PR: 188232
1743         When adjusting block zoom node, don't choose a node if the width of the
1744         node size is very close to the width of the actual visible size as
1745         block zoom can do nothing on such kind of node. This condition is more
1746         restrictive than the one based on area and can bail out early.
1747         In this way, we can get a better node for double-tap zoom.
1748
1749         * Api/WebPage.cpp:
1750         (BlackBerry::WebKit::WebPagePrivate::bestNodeForZoomUnderPoint):
1751         (BlackBerry::WebKit::WebPagePrivate::adjustedBlockZoomNodeForZoomAndExpandingRatioLimits):
1752         * Api/WebPage_p.h:
1753         (WebPagePrivate):
1754
1755 2012-08-14  Konrad Piascik  <kpiascik@rim.com>
1756
1757         [BlackBerry] Change the call to setUserScalable to use the setting.
1758         https://bugs.webkit.org/show_bug.cgi?id=93974
1759
1760         Reviewed by Rob Buis.
1761
1762         We should be using the WebSetting and not the current value of m_userScalable.
1763
1764         * Api/WebPage.cpp:
1765         (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
1766
1767 2012-08-14  Charles Wei  <charles.wei@torchmobile.com.cn>
1768
1769         [BlackBerry] Some callback of Select onchange doesn't work
1770         https://bugs.webkit.org/show_bug.cgi?id=93944
1771
1772         Reviewed by George Staikos.
1773
1774         The Selection element is implemented with PagePopup, an HTML-based WebView with
1775         some Javascripts to make the UI of the select and option lists; The selection
1776         change is initiated from the javascript code in the Select Webview, and back to
1777         the native code of SelectPopupClient, which now in turn dispatches
1778         FormControlChangeEvent to the select element directly, and that causes the
1779         javascript callback been invoked in the same cycle as the javascript in the
1780         Popup View, and causes some Javascript Context problem.
1781
1782         The solution is to send the FormControlChangeEvent asynchronously by a timer, 
1783         when the JavaScript in the Popup view finishes execution, we then send the
1784         FormControlChangeEvent to the select element in the content page, that avoids
1785         the concurrent Javascript context issue.
1786
1787         * WebCoreSupport/SelectPopupClient.cpp:
1788         (WebCore::SelectPopupClient::SelectPopupClient):
1789         (WebCore::SelectPopupClient::setValueAndClosePopup):
1790         (WebCore):
1791         (WebCore::SelectPopupClient::notifySelectionChange):
1792         * WebCoreSupport/SelectPopupClient.h:
1793         (SelectPopupClient):
1794
1795 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
1796
1797         [BlackBerry] Get rid of glCopyTexImage2D in Canvas and WebGL code paths
1798         https://bugs.webkit.org/show_bug.cgi?id=93614
1799
1800         Reviewed by Antonio Gomes.
1801
1802         We used to set up resource sharing between the compositing thread
1803         context and the Canvas and WebGL contexts, and use glCopyTexImage2D to
1804         get a copy of the framebuffer to use as front buffer for compositing
1805         purposes.
1806
1807         Now we instead create an EGLImage and blit the Canvas/WebGL output to
1808         it. The compositing thread creates a texture from the EGLImage in order
1809         to composite the output.
1810
1811         This allows us to turn off resource sharing, so the WebPageCompositor
1812         no longer needs to pass the compositing thread context to the webkit
1813         thread.
1814
1815         Reviewed internally by Filip Spacek.
1816
1817         PR 188472
1818
1819         * Api/WebPage.cpp:
1820         (BlackBerry::WebKit::WebPagePrivate::setCompositor):
1821         (BlackBerry::WebKit::WebPagePrivate::setCompositorHelper):
1822         * Api/WebPageCompositor.cpp:
1823         (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
1824         (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
1825         * Api/WebPage_p.h:
1826         (WebPagePrivate):
1827
1828 2012-08-14  Charles Wei  <charles.wei@torchmobile.com.cn>
1829
1830         [BlackBerry] Enable DNS prefetch
1831         https://bugs.webkit.org/show_bug.cgi?id=93846
1832
1833         Reviewed by George Staikos.
1834
1835
1836         * Api/WebPage.cpp:
1837         (BlackBerry::WebKit::WebPagePrivate::init):
1838
1839 2012-08-13  Tom Sepez  <tsepez@chromium.org>
1840
1841         [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
1842         https://bugs.webkit.org/show_bug.cgi?id=93283
1843
1844         Reviewed by Eric Seidel.
1845
1846         Change the client redirectDataToPlugin method(s) to expect the possibility of
1847         a NULL argument, keeping existing behaviour otherwise.
1848
1849         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1850         (WebCore::FrameLoaderClientBlackBerry::redirectDataToPlugin):
1851
1852 2012-08-13  Mike Fenton  <mifenton@rim.com>
1853
1854         [BlackBerry] Update API for spell checking suggestions again.
1855         https://bugs.webkit.org/show_bug.cgi?id=93877
1856
1857         Reviewed by Antonio Gomes.
1858
1859         PR 163283.
1860
1861         Update the spell checking options request API
1862         to include the caret positions.
1863
1864         Reviewed internally by Nima Ghanavatian.
1865
1866         * Api/WebPageClient.h:
1867         * WebKitSupport/InputHandler.cpp:
1868         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
1869         (WebKit):
1870         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
1871         * WebKitSupport/InputHandler.h:
1872         (Platform):
1873         (InputHandler):
1874         * WebKitSupport/TouchEventHandler.cpp:
1875         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
1876         * WebKitSupport/TouchEventHandler.h:
1877         (TouchEventHandler):
1878
1879 2012-08-13  Antonio Gomes  <agomes@rim.com>
1880
1881         [BlackBerry] Rounding error somewhere when translating CompositingLayer 's for in-region scrolling
1882         https://bugs.webkit.org/show_bug.cgi?id=93848
1883         PR #190986
1884
1885         Reviewed by Yong Li.
1886
1887         Patch adds a WebKit thread setScrollPosition-like API to InRegionScroller.
1888         It fixes a mismatch we had of setting a layer's scroll positing directly via
1889         ::setScrollPosition on the UI thread, but dispatching a coalesceable
1890         scrollBy(delta) message to WebKit thread.
1891
1892         * Api/InRegionScroller.cpp:
1893         (BlackBerry::WebKit::InRegionScroller::setScrollPositionCompositingThread):
1894         Changed the API name to match other thread specific methods naming.
1895         (WebKit):
1896         (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
1897         Added a setScrollPosition-like method to InRegionScroller public API. Used
1898         together with its UI-thread counterpart, it can fix some rounding
1899         errors we have due to mixing ::setScrollPosition and ::scrollBy methods.
1900         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
1901         Method renamed. See reasons above.
1902         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
1903         Calls fowards the call to ::setLayerScrollPosition (below).
1904         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1905         Sets the scroll position of a given RenderLayer.
1906         * Api/InRegionScroller.h:
1907         (InRegionScroller):
1908         * Api/InRegionScroller_p.h:
1909         (WebCore):
1910         (InRegionScrollerPrivate):
1911         * WebKitSupport/InRegionScrollableArea.cpp:
1912         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
1913         Cache the RenderLayer object associated to a given scrollable area
1914         instead of its LayerCompositingThread. This way we can use it for
1915         scrolling from both Compositing/UI and WebKit threads.
1916
1917 2012-08-12  Arvid Nilsson  <anilsson@rim.com>
1918
1919         [BlackBerry] Tap highlight flashes checkerboard after pinch zoom
1920         https://bugs.webkit.org/show_bug.cgi?id=93601
1921
1922         Reviewed by Antonio Gomes.
1923
1924         Since the tap highlight is usually rather small, we can reimplement
1925         GraphicsLayerClient::contentsVisible() to always return true in order
1926         to keep all AC layer tiles cached all the time.
1927
1928         PR 189895
1929
1930         * WebKitSupport/DefaultTapHighlight.cpp:
1931         (BlackBerry::WebKit::DefaultTapHighlight::contentsVisible):
1932         (WebKit):
1933         * WebKitSupport/DefaultTapHighlight.h:
1934         (DefaultTapHighlight):
1935
1936 2012-08-12  Arvid Nilsson  <anilsson@rim.com>
1937
1938         [BlackBerry] Tap highlight sometimes doesn't disappear
1939         https://bugs.webkit.org/show_bug.cgi?id=93711
1940
1941         Reviewed by Antonio Gomes.
1942
1943         The WebOverlayOverride implementation just changes properties of a
1944         LayerCompositingThread directly, which means the changes will
1945         immediately be overwritten on the next commit. Therefore, when the tap
1946         highlight implementation adds a fade out animation, that animation will
1947         instantly be removed again if a commit happens for any reason.
1948
1949         The reason is I totally botched the implementation of
1950         WebOverlayOverride, it's not wrapping WebCore::LayerOverride at all,
1951         instead for some reason it's manipulating the LayerCompositingThread
1952         directly.
1953
1954         Fixed by actually mapping WebOverlayOverride calls to the corresponding
1955         WebCore::LayerOverride method, and scheduling a compositing run to make
1956         the change visible and kick off animations.
1957
1958         Reviewed internally by Sean Wang.
1959
1960         PR 188453
1961
1962         * Api/WebOverlay.cpp:
1963         (BlackBerry::WebKit::WebOverlayPrivate::override):
1964         * Api/WebOverlayOverride.cpp:
1965         (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
1966         (BlackBerry::WebKit::WebOverlayOverride::~WebOverlayOverride):
1967         (BlackBerry::WebKit::WebOverlayOverride::setPosition):
1968         (BlackBerry::WebKit::WebOverlayOverride::setAnchorPoint):
1969         (BlackBerry::WebKit::WebOverlayOverride::setSize):
1970         (BlackBerry::WebKit::WebOverlayOverride::setTransform):
1971         (BlackBerry::WebKit::WebOverlayOverride::setOpacity):
1972         (BlackBerry::WebKit::WebOverlayOverride::addAnimation):
1973         (BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
1974         * Api/WebOverlayOverride.h:
1975         * Api/WebOverlay_p.h:
1976         (WebOverlayPrivate):
1977         (WebOverlayPrivateWebKitThread):
1978         (WebOverlayPrivateCompositingThread):
1979
1980 2012-08-10  Benjamin C Meyer  <bmeyer@rim.com>
1981
1982         Introduce JavaScriptVariant object.
1983         https://bugs.webkit.org/show_bug.cgi?id=93644
1984
1985         The JavaScriptVariant can be used for functions that return results from
1986         JavaScript such as executeJavaScript or functions that take arguments
1987         to pass a variable to JavaScript and they want to make sure the type
1988         is correct.
1989
1990         Convert executeJavaScriptFunction() to use this data type as the
1991         example, other functions will be converted in the future.
1992
1993         PR 14929
1994
1995         Internally reviewed by Joe Mason
1996         Reviewed by Adam Treat
1997
1998         * Api/JavaScriptVariant.cpp: Added.
1999         (WebKit):
2000         (BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
2001         (BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
2002         (BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
2003         (BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
2004         (BlackBerry::WebKit::JavaScriptVariant::operator=):
2005         (BlackBerry::WebKit::JavaScriptVariant::setType):
2006         (BlackBerry::WebKit::JavaScriptVariant::type):
2007         (BlackBerry::WebKit::JavaScriptVariant::setDouble):
2008         (BlackBerry::WebKit::JavaScriptVariant::doubleValue):
2009         (BlackBerry::WebKit::JavaScriptVariant::setString):
2010         (BlackBerry::WebKit::JavaScriptVariant::stringValue):
2011         (BlackBerry::WebKit::JavaScriptVariant::setBoolean):
2012         (BlackBerry::WebKit::JavaScriptVariant::booleanValue):
2013         * Api/JavaScriptVariant.h: Added.
2014         (WebKit):
2015         * Api/JavaScriptVariant_p.h: Added.
2016         (WebKit):
2017         * Api/WebPage.cpp:
2018         (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
2019         * Api/WebPage.h:
2020
2021 2012-08-09  Leo Yang  <leoyang@rim.com>
2022
2023         [BlackBerry] Export InRegionScroller to fix build
2024         https://bugs.webkit.org/show_bug.cgi?id=93635
2025
2026         Reviewed by Antonio Gomes.
2027
2028         Build fix.
2029
2030         * Api/InRegionScroller.h:
2031
2032 2012-08-08  Jacky Jiang  <zhajiang@rim.com>
2033
2034         [BlackBerry] Implement about:memory-live
2035         https://bugs.webkit.org/show_bug.cgi?id=93153
2036
2037         Reviewed by Yong Li.
2038         Patch by Jacky Jiang  <zhajiang@rim.com>
2039
2040         Implementing about:memory-live to track memory peaks:
2041         - about:memory-live/start: start tracking memory peaks.
2042         - about:memory-live: show memory peaks every 30ms.
2043         - about:memory-live/stop: stop tracking and show memory peaks.
2044
2045         Mainly track the following memory peaks:
2046         - Total used memory (malloc + JSC).
2047         - Total committed memory.
2048         - Total mapped memory.
2049
2050         Add total committed memory for about:memory
2051
2052         * WebKitSupport/AboutData.cpp:
2053         (BlackBerry::WebKit::memoryPage):
2054         (WebKit):
2055         (MemoryTracker):
2056         (BlackBerry::WebKit::MemoryTracker::isActive):
2057         (BlackBerry::WebKit::MemoryTracker::clear):
2058         (BlackBerry::WebKit::MemoryTracker::peakTotalUsedMemory):
2059         (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemory):
2060         (BlackBerry::WebKit::MemoryTracker::peakTotalMappedMemory):
2061         (BlackBerry::WebKit::MemoryTracker::MemoryTracker):
2062         (BlackBerry::WebKit::MemoryTracker::instance):
2063         (BlackBerry::WebKit::MemoryTracker::start):
2064         (BlackBerry::WebKit::MemoryTracker::stop):
2065         (BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
2066         (BlackBerry::WebKit::memoryPeaksToHtmlTable):
2067         (BlackBerry::WebKit::memoryLivePage):
2068         (BlackBerry::WebKit::aboutData):
2069
2070 2012-08-08  Antonio Gomes  <agomes@rim.com>
2071
2072         [BlackBerry] Tie up the scrolling machinery to the graphics tree when applicable for in-region scroll
2073         https://bugs.webkit.org/show_bug.cgi?id=93482
2074         PR #187672
2075         Make InRegionScroller a simple public webkit/ API
2076         PR #188677
2077
2078         Reviewed by Rob Buis.
2079
2080         In order to prepare InRegionScroller to be a public API
2081         in webkit/, the patch:
2082
2083         1) Renamed the current InRegionScroller class to InRegionScrollerPrivate;
2084         2) Moved InRegionScroller.cpp|h from WebKitSupport/ to Api/;
2085         3) Renamed InRegionScroller.h to InRegionScroller_p.h;
2086         4) Added a new public class implementation to InRegionScroller.h;
2087         5) Adapted WebPage and TouchEventHandler classes to use InRegionScroller::d directly.
2088
2089         The most important API here is '::compositedSetScrollPosition'
2090
2091         It is a  UI/Compositing thread method only and sets the associated LayerCompositingThread
2092         (camouflaged as a unsigned) for each created InRegionScrollableArea that supports
2093         composited scrolling.
2094
2095         The way ::compositedSetScrollPosition "scrolls" a layer is by setting the boundsOrigin
2096         property to the LayerCompositingThread's 'override' property in the UI/Compositing thread.
2097
2098         * Api/InRegionScroller.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.cpp.
2099         (WebKit):
2100         (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
2101         (BlackBerry::WebKit::InRegionScroller::~InRegionScroller):
2102         (BlackBerry::WebKit::InRegionScroller::compositedSetScrollPosition):
2103         (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
2104         (BlackBerry::WebKit::InRegionScrollerPrivate::setNode):
2105         (BlackBerry::WebKit::InRegionScrollerPrivate::node):
2106         (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
2107         (BlackBerry::WebKit::InRegionScrollerPrivate::hasNode):
2108         (BlackBerry::WebKit::InRegionScrollerPrivate::canScroll):
2109         (BlackBerry::WebKit::InRegionScrollerPrivate::compositedSetScrollPosition):
2110         (BlackBerry::WebKit::InRegionScrollerPrivate::scrollBy):
2111         (BlackBerry::WebKit::InRegionScrollerPrivate::inRegionScrollableAreasForPoint):
2112         (BlackBerry::WebKit::InRegionScrollerPrivate::scrollNodeRecursively):
2113         (BlackBerry::WebKit::InRegionScrollerPrivate::scrollRenderer):
2114         (BlackBerry::WebKit::InRegionScrollerPrivate::adjustScrollDelta):
2115         (BlackBerry::WebKit::canScrollInnerFrame):
2116         (BlackBerry::WebKit::canScrollRenderBox):
2117         (BlackBerry::WebKit::parentLayer):
2118         (BlackBerry::WebKit::enclosingLayerNode):
2119         (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
2120         (BlackBerry::WebKit::pushBackInRegionScrollable):
2121         * Api/InRegionScroller.h: Copied from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
2122         (WebKit):
2123         (InRegionScroller):
2124         * Api/InRegionScroller_p.h: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
2125         (WebCore):
2126         (WebKit):
2127         (InRegionScrollerPrivate):
2128         * Api/WebPage.cpp:
2129         (BlackBerry::WebKit::WebPagePrivate::scrollBy):
2130         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
2131         (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
2132         (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
2133         (BlackBerry::WebKit::WebPage::inRegionScroller):
2134         (WebKit):
2135         * Api/WebPage.h:
2136         (WebKit):
2137         * WebKitSupport/InRegionScrollableArea.cpp:
2138         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
2139         * WebKitSupport/TouchEventHandler.cpp:
2140         (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
2141
2142 2012-08-08  Antonio Gomes  <agomes@rim.com>
2143
2144         [BlackBerry] Make WebOverlayPrivate::scheduleCompositingRun a WebPagePrivate method.
2145         https://bugs.webkit.org/show_bug.cgi?id=93480
2146         PR #188682
2147
2148         Reviewed by Rob Buis.
2149
2150         ... this way it can be used by others.
2151
2152         No behavioural change. Another preparation patch.
2153
2154         * Api/WebOverlay.cpp:
2155         (BlackBerry::WebKit::WebOverlayPrivate::scheduleCompositingRun):
2156         * Api/WebPage.cpp:
2157         (WebKit):
2158         (BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
2159         * Api/WebPage_p.h:
2160         (WebPagePrivate):
2161
2162 2012-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2163
2164         Unreviewed, rolling out r124887.
2165         http://trac.webkit.org/changeset/124887
2166         https://bugs.webkit.org/show_bug.cgi?id=93504
2167
2168         Dependent API being removed. (Requested by mfenton on
2169         #webkit).
2170
2171         * Api/WebPageClient.h:
2172         * WebKitSupport/InputHandler.cpp:
2173         * WebKitSupport/InputHandler.h:
2174         (InputHandler):
2175         * WebKitSupport/TouchEventHandler.cpp:
2176         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2177         (BlackBerry::WebKit::TouchEventHandler::spellCheck):
2178         (WebKit):
2179         * WebKitSupport/TouchEventHandler.h:
2180         (TouchEventHandler):
2181
2182 2012-08-08  Ed Baker  <edbaker@rim.com>
2183
2184         [BlackBerry] Add relayout after updating fixed reported size
2185         https://bugs.webkit.org/show_bug.cgi?id=93116
2186         PR #160059
2187         
2188         Reviewed by Antonio Gomes.
2189         
2190         Reviewed internally by Antonio Gomes.
2191
2192         On an orientation change and after fixed reported size is
2193         updated perform a layout and update the fixed elements after
2194         scrolling. This will recalculate the height and width of
2195         fixed position elements using percentage values with the
2196         new fixed reported size. Otherwise using the old fixed reported
2197         size in the new orientation overflowing or clipping could occur.
2198         
2199         * Api/WebPage.cpp:
2200         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2201
2202 2012-08-07  Charles Wei  <charles.wei@torchmobile.com.cn>
2203
2204         [BlackBerry] always set PolicyAction to PolicyIgnore if the chrome returns false for acceptNavigationRequest
2205         https://bugs.webkit.org/show_bug.cgi?id=93251
2206
2207         Reviewed by George Staikos.
2208
2209         In acceptNavigationRequest(), webkit will ask if the chrome will accept the navigation request.
2210         We will take this chance to see if the request is an internal-webkit protocol, otherwise,
2211         we will try to launch an external application to handle the request, and ask webkit to ignore
2212         the request by returning false in acceptNavigationRequest().
2213
2214         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2215         (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
2216
2217 2012-08-07  Konrad Piascik  <kpiascik@rim.com>
2218
2219         [BlackBerry] Change how devicePixelRatio is set.
2220         https://bugs.webkit.org/show_bug.cgi?id=93385
2221
2222         Reviewed by Antonio Gomes.
2223
2224         Change devicePixelRatio to be set immediately after the page is created based
2225         on the WebSetting.
2226
2227         * Api/WebPage.cpp:
2228         (BlackBerry::WebKit::WebPagePrivate::init):
2229         (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
2230
2231 2012-08-07  Antonio Gomes  <agomes@rim.com>
2232
2233         [BlackBerry] [FullScreen] No need to scroll 'x' to 0 before entering fullscreen
2234         https://bugs.webkit.org/show_bug.cgi?id=91750
2235         PR #178293
2236
2237         Reviewed by Rob Buis.
2238
2239         We are not adjusting the 'left' CSS property of the fullscreen wrapper
2240         properly, so no need to scroll 'x' to 0 anymore.
2241
2242         Internally reviewed by Jacky Jiang.
2243
2244         * Api/WebPage.cpp:
2245         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
2246
2247 2012-08-07  Antonio Gomes  <agomes@rim.com>
2248
2249         [BlackBerry][FullScreen] Remove the set/reset of touch modes code when entering/leaving fullscreen
2250         https://bugs.webkit.org/show_bug.cgi?id=92520
2251         PR #184511
2252
2253         Reviewed by Yong Li.
2254         Internally reviewed by Gen Mak.
2255
2256         Remove touch mode set/reset when entering/leaving fullscreen
2257         for media elements through the new FULLSCREEN_API code path.
2258         The client now handles it.
2259
2260         * Api/WebPage.cpp:
2261         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2262         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
2263         (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
2264         * Api/WebPage_p.h:
2265         (WebPagePrivate):
2266
2267 2012-08-07  Konrad Piascik  <kpiascik@rim.com>
2268
2269         [BlackBerry] Add missing include in FrameLoaderClienBlackBerry after Base64 moved.
2270         https://bugs.webkit.org/show_bug.cgi?id=93383
2271
2272         Reviewed by Rob Buis.
2273
2274         Base64 moved from platform/text to wtf/text, need to add mssing
2275         include.
2276
2277         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2278
2279 2012-08-07  Konrad Piascik  <kpiascik@rim.com>
2280
2281         [BlackBerry] InspectorOverlay class duplicated in WebCore
2282         https://bugs.webkit.org/show_bug.cgi?id=93124
2283
2284         Reviewed by Rob Buis.
2285
2286         Moved files to better align with namespace names.
2287
2288         * WebKitSupport/InspectorOverlay.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.cpp.
2289         (WebKit):
2290         (BlackBerry::WebKit::InspectorOverlay::create):
2291         (BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
2292         (BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
2293         (BlackBerry::WebKit::InspectorOverlay::paintContents):
2294         (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
2295         (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
2296         (BlackBerry::WebKit::InspectorOverlay::~InspectorOverlay):
2297         (BlackBerry::WebKit::InspectorOverlay::clear):
2298         (BlackBerry::WebKit::InspectorOverlay::update):
2299         * WebKitSupport/InspectorOverlay.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.h.
2300         (WebCore):
2301         (WebKit):
2302         (InspectorOverlay):
2303         (InspectorOverlayClient):
2304         (BlackBerry::WebKit::InspectorOverlay::setClient):
2305         (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
2306
2307 2012-08-07  Mike Fenton  <mifenton@rim.com>
2308
2309         [BlackBerry] Update API for spell checking suggestions.
2310         https://bugs.webkit.org/show_bug.cgi?id=93356
2311
2312         Reviewed by Antonio Gomes.
2313
2314         PR 163283.
2315
2316         Add connections for updated spell checking options request API.  Move
2317         all this logic into InputHandler.
2318
2319         Reviewed Internally by Gen Mak and Nima Ghanavatian.
2320
2321         * Api/WebPageClient.h:
2322         * WebKitSupport/InputHandler.cpp:
2323         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2324         (WebKit):
2325         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2326         * WebKitSupport/InputHandler.h:
2327         (Platform):
2328         (InputHandler):
2329         * WebKitSupport/TouchEventHandler.cpp:
2330         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2331         * WebKitSupport/TouchEventHandler.h:
2332         (TouchEventHandler):
2333
2334 2012-08-06  Charles Wei  <charles.wei@torchmobile.com.cn>
2335
2336         [BlackBerry] About: shows PAGE_CACHE not enabled.
2337         https://bugs.webkit.org/show_bug.cgi?id=93216
2338
2339         Reviewed by Antonio Gomes.
2340
2341         Page cache is a feature that can be enabled/disabled at runtime, there's no
2342         MACRO named PAGE_CACHE to control the feature.
2343
2344         * WebCoreSupport/AboutDataEnableFeatures.in:
2345
2346 2012-08-03  Yong Li  <yoli@rim.com>
2347
2348         [BlackBerry] FrameLoaderClient::restoreViewState() shouldn't trigger painting
2349         https://bugs.webkit.org/show_bug.cgi?id=93141
2350
2351         Reviewed by Rob Buis.
2352
2353         PR# 172041.
2354         It is not always safe to render the page at this point. So we post a message
2355         instead.
2356
2357         * Api/WebPage.cpp:
2358         (WebKit):
2359         (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
2360         * Api/WebPage_p.h:
2361         (WebPagePrivate):
2362         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2363         (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
2364
2365 2012-08-03  Konrad Piascik  <kpiascik@rim.com>
2366
2367         [BlackBerry] InspectorOverlay class duplicated in WebCore
2368         https://bugs.webkit.org/show_bug.cgi?id=93124
2369
2370         Reviewed by Rob Buis.
2371
2372         Changed namespace of InspectorOverlay from WebCore to
2373         BlackBerry::WebKit
2374
2375         * Api/WebPage.cpp:
2376         (WebKit):
2377         (BlackBerry::WebKit::WebPagePrivate::setInspectorOverlayClient):
2378         * Api/WebPage_p.h:
2379         (WebPagePrivate):
2380         * WebCoreSupport/InspectorClientBlackBerry.h:
2381         * WebCoreSupport/InspectorOverlay.cpp:
2382         (BlackBerry::WebKit::InspectorOverlay::create):
2383         (BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
2384         (BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
2385         (BlackBerry::WebKit::InspectorOverlay::paintContents):
2386         (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
2387         (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
2388         (BlackBerry::WebKit::InspectorOverlay::contentsVisible):
2389         (BlackBerry::WebKit::InspectorOverlay::update):
2390         * WebCoreSupport/InspectorOverlay.h:
2391         (WebKit):
2392         (InspectorOverlayClient):
2393         (InspectorOverlay):
2394         (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
2395
2396 2012-08-03  Arvid Nilsson  <anilsson@rim.com>
2397
2398         [BlackBerry] Overlays display checkerboard that doesn't resolve
2399         https://bugs.webkit.org/show_bug.cgi?id=93099
2400
2401         Reviewed by Antonio Gomes.
2402
2403         The WebKit-thread overlays, like tap highlight, inspector highlight and
2404         selection are all part of a separate graphics layer tree rooted in
2405         WebPagePrivate::m_overlayLayer.
2406
2407         When LayerRenderer needs to schedule a commit to reactively render
2408         tiles and resolve checkerboard, it does so through the root layer.
2409         Since the overlay layer root didn't have a GraphicsLayerClient, there
2410         was no implementation of GraphicsLayerClient::notifySyncRequired() to
2411         call, and a commit was never scheduled, thus checkerboard never
2412         resolved.
2413
2414         Fixed by adding a fallback implementation of GraphicsLayerClient in
2415         WebPagePrivate and hooking up the overlay root to it. Also, this
2416         implementation can be shared by the various overlays to avoide code
2417         duplication, specifically to implement notifySyncRequired(),
2418         showDebugBorders() and showRepaintCounter() only once.
2419
2420         Fixing this revealed a bug where the web page would get stuck in an
2421         endless sequence of commits. It turned out that
2422         WebPagePrivate::updateDelegatedOverlays() was called right in the
2423         middle of the commit operation, after performing the webkit thread part
2424         of the commit operation but before we continued on the compositing
2425         thread. Since updateDelegatedOverlays() typically mutates layers, this
2426         is very bad (layers should not be mutated mid-commit). The mutations
2427         also cause a new commit to scheduled from within the current, which
2428         results in an endless sequence of commits.
2429
2430         Fixed this latter bug by moving the updateDelegatedOverlays() call to
2431         the beginning of the method where it can cause no harm. This is before
2432         we mark the web page as no longer needing commit, so even if the
2433         implementation flips the "needs commit" bit, we will immediately flip
2434         it back and proceed with commit as usual.
2435
2436         PR 187458, 184377
2437
2438         * Api/WebPage.cpp:
2439         (BlackBerry::WebKit::WebPagePrivate::overlayLayer):
2440         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
2441         (WebKit):
2442         (BlackBerry::WebKit::WebPagePrivate::notifySyncRequired):
2443         (BlackBerry::WebKit::WebPagePrivate::showDebugBorders):
2444         (BlackBerry::WebKit::WebPagePrivate::showRepaintCounter):
2445         * Api/WebPage_p.h:
2446         (WebPagePrivate):
2447         (BlackBerry::WebKit::WebPagePrivate::notifyAnimationStarted):
2448         (BlackBerry::WebKit::WebPagePrivate::paintContents):
2449         * WebCoreSupport/InspectorOverlay.cpp:
2450         (WebCore::InspectorOverlay::notifySyncRequired):
2451         (WebCore::InspectorOverlay::showDebugBorders):
2452         (WebCore::InspectorOverlay::showRepaintCounter):
2453         * WebKitSupport/DefaultTapHighlight.cpp:
2454         (BlackBerry::WebKit::DefaultTapHighlight::notifySyncRequired):
2455         (BlackBerry::WebKit::DefaultTapHighlight::showDebugBorders):
2456         (WebKit):
2457         (BlackBerry::WebKit::DefaultTapHighlight::showRepaintCounter):
2458         * WebKitSupport/DefaultTapHighlight.h:
2459         (DefaultTapHighlight):
2460         * WebKitSupport/SelectionOverlay.cpp:
2461         (BlackBerry::WebKit::SelectionOverlay::notifySyncRequired):
2462         (BlackBerry::WebKit::SelectionOverlay::showDebugBorders):
2463         (WebKit):
2464         (BlackBerry::WebKit::SelectionOverlay::showRepaintCounter):
2465         * WebKitSupport/SelectionOverlay.h:
2466         (SelectionOverlay):
2467
2468 2012-08-02  Arvid Nilsson  <anilsson@rim.com>
2469
2470         [BlackBerry] Add default implementation of GraphicsLayerClient::contentsVisible()
2471         https://bugs.webkit.org/show_bug.cgi?id=93036
2472
2473         Reviewed by George Staikos.
2474
2475         Remove implementation of GraphicsLayerClient::contentsVisible() now
2476         that it has a default implementation.
2477
2478         This also fixes a bug where memory usage for the inspector highlight
2479         overlay would balloon because it returned true from contentsVisible()
2480         which would cause the LayerTiler to populate all tiles. The default
2481         implementation returns false instead.
2482
2483         PR 187458, 184377
2484
2485         * WebCoreSupport/InspectorOverlay.cpp:
2486         (WebCore::InspectorOverlay::showRepaintCounter):
2487         * WebCoreSupport/InspectorOverlay.h:
2488         (InspectorOverlay):
2489         * WebKitSupport/DefaultTapHighlight.h:
2490         * WebKitSupport/SelectionOverlay.h:
2491
2492 2012-08-02  Antonio Gomes  <agomes@rim.com>
2493
2494         Unreviewed debug build fix (bug 92889)
2495
2496         * WebKitSupport/InRegionScroller.cpp:
2497         (BlackBerry::WebKit::pushBackInRegionScrollable):
2498
2499 2012-08-02  Leo Yang  <leoyang@rim.com>
2500
2501         [BlackBerry] Rounding error of destination rect of checkerboard
2502         https://bugs.webkit.org/show_bug.cgi?id=93012
2503
2504         Reviewed by Rob Buis.
2505
2506         Reviewed internally by Jakob Petsovits.
2507
2508         Intersect with the destination rectangle to eliminate the rounding error.
2509
2510         * Api/BackingStore.cpp:
2511         (BlackBerry::WebKit::BackingStorePrivate::blitContents):
2512
2513 2012-08-01  Antonio Gomes  <agomes@rim.com>
2514
2515         [BlackBerry] Implement InRegionScroller class as a in-region scroll controller
2516         https://bugs.webkit.org/show_bug.cgi?id=92889
2517         PR #186587
2518
2519         Reviewed by Yong Li.
2520
2521         Internally reviewed by Arvid Nilsson.
2522
2523         Moved all in-region scrolling code out of WebPagePrivate to the just
2524         created InRegionScroller class. This class aims to:
2525
2526         1) Centralize all in-region scroll code and clean up WebPagePrivate as a consequence.
2527         2) Be the bases to add UI/Compositing thread driven scrolls to in-region.
2528
2529         The patch does not change any functionallity change.
2530
2531         * Api/WebPage.cpp:
2532         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2533         (BlackBerry::WebKit::WebPagePrivate::init):
2534         (BlackBerry::WebKit::WebPagePrivate::scrollBy):
2535         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
2536         (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
2537         (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
2538         * Api/WebPage_p.h:
2539         (WebPagePrivate):
2540         * WebKitSupport/InRegionScrollableArea.cpp:
2541         (BlackBerry::WebKit::InRegionScrollableArea::layer):
2542         * WebKitSupport/InRegionScroller.cpp: Added.
2543         (WebKit):
2544         (BlackBerry::WebKit::canScrollInnerFrame):
2545         (BlackBerry::WebKit::canScrollRenderBox):
2546         (BlackBerry::WebKit::parentLayer):
2547         (BlackBerry::WebKit::enclosingLayerNode):
2548         (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
2549         (BlackBerry::WebKit::pushBackInRegionScrollable):
2550         (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
2551         (BlackBerry::WebKit::InRegionScroller::setNode):
2552         (BlackBerry::WebKit::InRegionScroller::node):
2553         (BlackBerry::WebKit::InRegionScroller::reset):
2554         (BlackBerry::WebKit::InRegionScroller::isNull):
2555         (BlackBerry::WebKit::InRegionScroller::scrollBy):
2556         (BlackBerry::WebKit::InRegionScroller::inRegionScrollableAreasForPoint):
2557         (BlackBerry::WebKit::InRegionScroller::scrollNodeRecursively):
2558         (BlackBerry::WebKit::InRegionScroller::scrollRenderer):
2559         (BlackBerry::WebKit::InRegionScroller::adjustScrollDelta):
2560         * WebKitSupport/InRegionScroller.h: Added.
2561         (WebCore):
2562         (WebKit):
2563         (InRegionScroller):
2564         * WebKitSupport/TouchEventHandler.cpp:
2565         (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
2566
2567 2012-08-01  Charles Wei  <charles.wei@torchmobile.com.cn>
2568
2569         [BlackBerry] Favicon should be Base64 encoded for cross-process passing
2570         https://bugs.webkit.org/show_bug.cgi?id=92857
2571
2572         Reviewed by George Staikos.
2573
2574         The current implementation just passes the internal of SkPixels data to the client,
2575         which can't be passed accross the process boundary to chrome for processing.
2576         This patch makes the favicon Base64 encoded so that can be passed to chrome in another process.
2577
2578         * Api/WebPageClient.h:
2579         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2580         (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
2581
2582 2012-08-01  Jacky Jiang  <zhajiang@rim.com>
2583
2584         [BlackBerry] Allow client side to add and remove origin access whitelist entries
2585         https://bugs.webkit.org/show_bug.cgi?id=92790
2586
2587         Reviewed by Yong Li.
2588
2589         PR: 172658
2590         Add two new APIs to add and remove origin access whitelist entries.
2591         Initialize the BlackBerryAllowCrossSiteRequests WebSetting to false.
2592
2593         * Api/WebPage.cpp:
2594         (BlackBerry::WebKit::WebPagePrivate::addOriginAccessWhitelistEntry):
2595         (WebKit):
2596         (BlackBerry::WebKit::WebPage::addOriginAccessWhitelistEntry):
2597         (BlackBerry::WebKit::WebPagePrivate::removeOriginAccessWhitelistEntry):
2598         (BlackBerry::WebKit::WebPage::removeOriginAccessWhitelistEntry):
2599         * Api/WebPage.h:
2600         * Api/WebPage_p.h:
2601         (WebPagePrivate):
2602         * Api/WebSettings.cpp:
2603         (BlackBerry::WebKit::WebSettings::standardSettings):
2604
2605 2012-08-01  Mike Fenton  <mifenton@rim.com>
2606
2607         [BlackBerry] Consolidate suppression of keyboard requests.
2608         https://bugs.webkit.org/show_bug.cgi?id=92871
2609
2610         Reviewed by Antonio Gomes.
2611
2612         Reduce VKB requests even more by applying the filter on
2613         all requests during processing.
2614
2615         Reviewed Internally by Gen Mak.
2616
2617         * WebKitSupport/InputHandler.cpp:
2618         (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
2619         (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
2620
2621 2012-08-01  Arvid Nilsson  <anilsson@rim.com>
2622
2623         [BlackBerry] Disable tap highlight when transparent color is specified
2624         https://bugs.webkit.org/show_bug.cgi?id=92849
2625
2626         Reviewed by Antonio Gomes.
2627
2628         When the web page specifies -webkit-tap-highlight-color:rgba(0,0,0,0)
2629         or any color with alpha value 0, we should disable the tap highlight.
2630
2631         * WebKitSupport/DefaultTapHighlight.cpp:
2632         (BlackBerry::WebKit::DefaultTapHighlight::draw):
2633
2634 2012-07-31  Robin Cao  <robin.cao@torchmobile.com.cn>
2635
2636         [BlackBerry] Pass all file chooser settings to clients
2637         https://bugs.webkit.org/show_bug.cgi?id=92237
2638
2639         Reviewed by Rob Buis.
2640
2641         Expose all file chooser settings to clients.
2642
2643         * Api/WebPageClient.h:
2644         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2645         (WebCore::ChromeClientBlackBerry::runOpenPanel):
2646
2647 2012-07-31  Mike Fenton  <mifenton@rim.com>
2648
2649         [BlackBerry] Fix crash in InputHandler spell checking.
2650         https://bugs.webkit.org/show_bug.cgi?id=92763
2651
2652         Reviewed by Antonio Gomes.
2653
2654         PR 185574.
2655
2656         Fix crash in getSpellChecker by guarding the calling paths
2657         to ensure that m_currentFocusElement is valid.
2658
2659         Also add ASSERTs for previous crash.
2660
2661         * WebKitSupport/InputHandler.cpp:
2662         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2663         (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
2664         (BlackBerry::WebKit::InputHandler::getSpellChecker):
2665
2666 2012-07-31  Genevieve Mak  <gmak@rim.com>
2667
2668         Send an onContextMenu event to the page content
2669         so that context menus can be prevented. We use
2670         the node's event handler because we want to use
2671         the fat finger's node. If we use  the EventHandler's
2672         sendContextMenuEvent it will hit test with the mouse
2673         position which may not be what we want.
2674         PR #184032
2675         https://bugs.webkit.org/show_bug.cgi?id=92766
2676
2677         Reviewed by Antonio Gomes.
2678         Reviewed Internally by Antonio Gomes.
2679
2680         * Api/WebPage.cpp:
2681         (BlackBerry::WebKit::WebPagePrivate::webContext):
2682         (BlackBerry::WebKit::WebPagePrivate::contextNode):
2683
2684 2012-07-31  Arvid Nilsson  <anilsson@rim.com>
2685
2686         [BlackBerry] Backing store output flickers when using WebPageCompositor
2687         https://bugs.webkit.org/show_bug.cgi?id=90291
2688
2689         Reviewed by Antonio Gomes.
2690
2691         The backing store doesn't know when the API client swaps the buffers,
2692         so it doesn't know when to signal the blit generation condition
2693         variable. Fixed by using EGL fence sync instead, when available, so we
2694         don't have to know.
2695
2696         Reviewed internally by Filip Spacek.
2697
2698         * Api/BackingStore.cpp:
2699         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
2700         (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
2701         (BlackBerry::WebKit::BackingStorePrivate::render):
2702         (BlackBerry::WebKit::BackingStorePrivate::blitContents):
2703         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
2704         * Api/BackingStore_p.h:
2705         (BackingStorePrivate):
2706         * WebKitSupport/BackingStoreTile.cpp:
2707         (BlackBerry::WebKit::TileBuffer::TileBuffer):
2708         * WebKitSupport/BackingStoreTile.h:
2709         (BlackBerry::WebKit::TileBuffer::syncObject):
2710         (BlackBerry::WebKit::TileBuffer::setSyncObject):
2711         (TileBuffer):
2712         * WebKitSupport/SurfacePool.cpp:
2713         (WebKit):
2714         (BlackBerry::WebKit::SurfacePool::SurfacePool):
2715         (BlackBerry::WebKit::SurfacePool::initialize):
2716         (BlackBerry::WebKit::SurfacePool::waitForBuffer):
2717         (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
2718         * WebKitSupport/SurfacePool.h:
2719         (SurfacePool):
2720
2721 2012-07-30  Yoshifumi Inoue  <yosin@chromium.org>
2722
2723         [Forms] Get rid of Element::isReadOnlyFormControl other than CSS related
2724         https://bugs.webkit.org/show_bug.cgi?id=92612
2725
2726         Reviewed by Kent Tamura.
2727
2728         This patch replaces Element::isReadOnlyFormControl() to
2729         HTMLFormControlElement::readOnly() for preparation of introducing
2730         Element::shouldMatchReadWriteSelector(), bug 92602.
2731
2732         * WebKitSupport/DOMSupport.cpp:
2733         (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement): Replaced isReadOnlyFormControl() by HTMLTextFormControlElement::readOnly().
2734
2735 2012-07-30  Mike Fenton  <mifenton@rim.com>
2736
2737         [BlackBerry] Optimize the generation of selection details generation.
2738         https://bugs.webkit.org/show_bug.cgi?id=92522
2739
2740         Reviewed by Antonio Gomes.
2741
2742         PR 179264.
2743
2744         Reduce the number of times we generate selection details notifications.
2745
2746         This removes several notifications that are handled by the standard
2747         notification path and makes skipping duplicate notifications the default
2748         so that only those that must generate a response do.
2749
2750         Reviewed Internally by Gen Mak.
2751
2752         * Api/WebPage.cpp:
2753         (BlackBerry::WebKit::WebPagePrivate::notifyTransformedContentsSizeChanged):
2754         (BlackBerry::WebKit::WebPagePrivate::updateDelegatedOverlays):
2755         * WebKitSupport/InputHandler.cpp:
2756         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
2757         * WebKitSupport/SelectionHandler.cpp:
2758         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
2759         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
2760         (BlackBerry::WebKit::SelectionHandler::setSelection):
2761         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2762         * WebKitSupport/SelectionHandler.h:
2763         (SelectionHandler):
2764
2765 2012-07-30  Robin Cao  <robin.cao@torchmobile.com.cn>
2766
2767         [BlackBerry] Adapt to changes in the SharedArray platform API
2768         https://bugs.webkit.org/show_bug.cgi?id=92631
2769
2770         Reviewed by Rob Buis.
2771
2772         Adapt to changes in the SharedArray platform API. No behavioural change.
2773
2774         Reviewed internally by Joe Mason.
2775
2776         * Api/WebPage.cpp:
2777         (BlackBerry::WebKit::WebPage::getBackForwardList):
2778         * Api/WebPage.h:
2779         * Api/WebPageClient.h:
2780         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2781         (WebCore::ChromeClientBlackBerry::runOpenPanel):
2782
2783 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
2784
2785         Replace UnicodeWinCE with UnicodeWchar
2786         https://bugs.webkit.org/show_bug.cgi?id=92539
2787
2788         Reviewed by Ryosuke Niwa.
2789
2790         UnicodeWinCE never contained WinCE specific code. UnicodeWchar
2791         is a replacement for it, which is mainly based on the functions
2792         from <wchar.h>. It is ment as a minimal Unicode backend, which
2793         can be used very easy and has no external dependencies.
2794
2795         * WebCoreSupport/AboutDataUseFeatures.in:
2796
2797 2012-07-27  Eli Fidler  <efidler@rim.com>
2798
2799         [BlackBerry] Adapt to change in the FontInfo platform API.
2800         https://bugs.webkit.org/show_bug.cgi?id=92547
2801
2802         Reviewed by Yong Li
2803
2804         RIM PR 161263
2805
2806         * Api/WebSettings.cpp:
2807         (BlackBerry::WebKit::WebSettings::standardSettings):
2808
2809 2012-07-27  Yong Li  <yoli@rim.com>
2810
2811         [BlackBerry] Should support onbeforeunload event and show confirmation dialog
2812         https://bugs.webkit.org/show_bug.cgi?id=92510
2813
2814         Reviewed by Antonio Gomes.
2815
2816         RIM PR# 155878.
2817         1. Export dispatchBeforeUnloadEvent() so client can call it before going to close the page.
2818         2. Forward runBeforeUnloadConfirmPanel() call to client so it can show a dialog.
2819
2820         * Api/WebPage.cpp:
2821         (BlackBerry::WebKit::WebPage::dispatchBeforeUnloadEvent):
2822         (WebKit):
2823         * Api/WebPage.h:
2824         * Api/WebPageClient.h:
2825         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2826         (WebCore::ChromeClientBlackBerry::canRunBeforeUnloadConfirmPanel):
2827         (WebCore::ChromeClientBlackBerry::runBeforeUnloadConfirmPanel):
2828
2829 2012-07-27  Mike Fenton  <mifenton@rim.com>
2830
2831         [BlackBerry] Switch InputHandler malloc use to fastMalloc for cases that should never fail
2832         https://bugs.webkit.org/show_bug.cgi?id=92508
2833
2834         Reviewed by Yong Li.
2835
2836         Replace common uses of malloc with fastMalloc rather
2837         than trying to recover gracefully.  If we are truly
2838         out of memory, crash before corruption occurs.
2839
2840         * WebKitSupport/InputHandler.cpp:
2841         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2842         (BlackBerry::WebKit::InputHandler::extractedTextRequest):
2843
2844 2012-07-26  Nima Ghanavatian  <nghanavatian@rim.com>
2845
2846         [BlackBerry] Remove synchronous spellchecking code
2847         https://bugs.webkit.org/show_bug.cgi?id=92415
2848
2849         Removing synchronous spellchecking code path.
2850
2851         Reviewed by Rob Buis.
2852
2853         Internally reviewed by Mike Fenton.
2854
2855         * Api/WebPageClient.h:
2856         * WebCoreSupport/EditorClientBlackBerry.cpp:
2857         (WebCore::EditorClientBlackBerry::checkSpellingOfString):
2858
2859 2012-07-26  Nima Ghanavatian  <nghanavatian@rim.com>
2860
2861         [BlackBerry] Support async spellcheck for the blackberry port
2862         https://bugs.webkit.org/show_bug.cgi?id=92160
2863
2864         PR124517
2865         Implementing support for async spellcheck.
2866
2867         Reviewed by Rob Buis.
2868
2869         Internally reviewed by Mike Fenton.
2870
2871         * Api/WebPage.cpp:
2872         (BlackBerry::WebKit::WebPage::spellCheckingRequestCancelled):
2873         (WebKit):
2874         (BlackBerry::WebKit::WebPage::spellCheckingRequestProcessed):
2875         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
2876         * Api/WebPage.h:
2877         * Api/WebSettings.cpp:
2878         (WebKit):
2879         (BlackBerry::WebKit::WebSettings::standardSettings):
2880         (BlackBerry::WebKit::WebSettings::isAsynchronousSpellCheckingEnabled):
2881         (BlackBerry::WebKit::WebSettings::setAsynchronousSpellCheckingEnabled):
2882         * Api/WebSettings.h:
2883         * WebCoreSupport/EditorClientBlackBerry.cpp:
2884         (WebCore):
2885         (WebCore::EditorClientBlackBerry::requestCheckingOfString):
2886         (WebCore::EditorClientBlackBerry::checkTextOfParagraph):
2887         * WebCoreSupport/EditorClientBlackBerry.h:
2888         (EditorClientBlackBerry):
2889         * WebKitSupport/InputHandler.cpp:
2890         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2891         (BlackBerry::WebKit::InputHandler::convertTransactionIdToSequenceId):
2892         (WebKit):
2893         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2894         (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
2895         (BlackBerry::WebKit::InputHandler::getSpellChecker):
2896         * WebKitSupport/InputHandler.h:
2897         (WebCore):
2898         (InputHandler):
2899
2900 2012-07-26  Mike Fenton  <mifenton@rim.com>
2901
2902         [BlackBerry] Improve the logs in Selection Handler.
2903         https://bugs.webkit.org/show_bug.cgi?id=92405
2904
2905         Reviewed by Rob Buis.
2906
2907         Clean up selection logging, fix priority and style
2908         of helper function.
2909
2910         Reviewed Internally by Nima Ghanavatian.
2911
2912         * WebKitSupport/SelectionHandler.cpp:
2913         (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2914         (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
2915         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
2916         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
2917         (BlackBerry::WebKit::SelectionHandler::setSelection):
2918         (BlackBerry::WebKit::SelectionHandler::selectObject):
2919         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2920         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2921
2922 2012-07-26  Mike Fenton  <mifenton@rim.com>
2923
2924         [BlackBerry] Add timing logs to SelectionHandler.
2925         https://bugs.webkit.org/show_bug.cgi?id=92404
2926
2927         Reviewed by Rob Buis.
2928
2929         Add selection timing logs.
2930
2931         Reviewed Internally by Nima Ghanavatian.
2932
2933         * WebKitSupport/SelectionHandler.cpp:
2934         (BlackBerry::WebKit::SelectionHandler::setSelection):
2935         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2936         * WebKitSupport/SelectionHandler.h:
2937         (SelectionHandler):
2938
2939 2012-07-26  Mike Fenton  <mifenton@rim.com>
2940
2941         [BlackBerry] InputHandler failure logs should be logAlways and critical.
2942         https://bugs.webkit.org/show_bug.cgi?id=92403
2943
2944         Reviewed by Rob Buis.
2945
2946         Update Log level for failures and fix mask in log.
2947
2948         Reviewed Internally by Nima Ghanavatian.
2949
2950         * WebKitSupport/InputHandler.cpp:
2951         (BlackBerry::WebKit::convertStringToWchar):
2952         (BlackBerry::WebKit::convertStringToWcharVector):
2953         (BlackBerry::WebKit::convertSpannableStringToString):
2954         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2955         (BlackBerry::WebKit::InputHandler::setTextAttributes):
2956
2957 2012-07-26  Arvid Nilsson  <anilsson@rim.com>
2958
2959         [BlackBerry] Refactor BackingStorePrivate::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion() to avoid touching tile frontbuffer
2960         https://bugs.webkit.org/show_bug.cgi?id=92095
2961
2962         Reviewed by George Staikos.
2963
2964         PR: 141439
2965         Specifically, we want to avoid changing the rendered region of the
2966         front buffer without proper synchronization.
2967
2968         The method is trying to force checkerboard to appear on screen because
2969         an area was invalidated but the render job was dropped, so the tile
2970         contents are now invalid.
2971
2972         Unfortunately it did this in a way which is not thread safe. Fixed by
2973         making it thread safe, in a way that minimizes memory bandwidth usage.
2974
2975         Instead of using the customary sequence of copy-back, modify and swap,
2976         we send a synchronous message to the compositing thread to avoid the
2977         copy-back step and save memory bandwidth. The trade-off is that the
2978         WebKit thread might wait a little longer for the compositing thread
2979         than it would from a waitForCurrentMessage() call.
2980
2981         The way we synchronize this is rather expensive for the WebKit thread,
2982         and this method is called rather carelessly, so add various early
2983         returns to avoid doing it redundantly.
2984
2985         Internally reviewed by Jakob Petsovits and Adam Treat.
2986
2987         * Api/BackingStore.cpp:
2988         (BlackBerry::WebKit::BackingStorePrivate::indexOfTile):
2989         (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
2990         * Api/BackingStore_p.h:
2991         (BackingStorePrivate):
2992
2993 2012-07-26  Arvid Nilsson  <anilsson@rim.com>
2994
2995         [BlackBerry] Refactor BackingStorePrivate::render() to avoid touching tile frontbuffer
2996         https://bugs.webkit.org/show_bug.cgi?id=91989
2997
2998         Reviewed by George Staikos.
2999
3000         PR: 141439
3001         Specifically, we want to avoid changing the rendered region of the
3002         front buffer. The code only touched the front buffer rendered region
3003         if the tile was not committed.
3004
3005         Instead of immediately marking the tile as committed, and clearing the
3006         front buffer's rendered region to make it appear as checkerboard, we
3007         leave the front buffer alone and only mark the tile as committed once
3008         the front buffer has valid content. Un-committed tiles will also be
3009         rendered as checkerboard, so leaving it uncommitted is equivalent to
3010         clearing the front buffer rendered region here.
3011
3012         In addition to the main change, some related changes follow naturally.
3013
3014         The copyPreviousContentsToBackSurfaceOfTile() call only makes sense if
3015         the tile is committed, and the front buffer has valid content.
3016         Otherwise, clearing the back buffer is equivalent. The code has been
3017         updated to this effect.
3018
3019         Since copyPreviousContentsToBackSurfaceOfTile() always sets the
3020         rendered region to the union of the front and back buffer regions,
3021         there is no point in the "backBufferIsValid" check. It has been turned
3022         into an ASSERT instead, just to make sure.
3023
3024         Internally reviewed by Jakob Petsovits.
3025
3026         * Api/BackingStore.cpp:
3027         (BlackBerry::WebKit::BackingStorePrivate::render):
3028
3029 2012-07-25  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3030
3031         [BlackBerry] Support RTSP in browser
3032         https://bugs.webkit.org/show_bug.cgi?id=92233
3033
3034         Reviewed by Rob Buis.
3035
3036         Handle URL scheme "rtsp://" before creating the DocumentLoader
3037         and send the request to webkit. As we don't have any application
3038         which can deal with rtsp invocation for now, we need to create
3039         a media document to wrap the rtsp url within a video tag which
3040         makes it load as a normal video clip.
3041
3042         RIM PR: 169669
3043         Internally reviewed by Charles Wei <charles.wei@torchmobile.com.cn>.
3044
3045         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3046         (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
3047
3048 2012-07-25  Jakob Petsovits  <jpetsovits@rim.com>
3049
3050         [BlackBerry] Rephrase suspend/resume condition to guard against crashes
3051         https://bugs.webkit.org/show_bug.cgi?id=92300
3052         PR 182125
3053
3054         Reviewed by George Staikos.
3055
3056         When the compositor is removed from a WebPage, it might
3057         already have unset its context, and issuing a call to
3058         BackingStore::buffer() would therefore cause a crash.
3059         Just guarding buffer() from this crash isn't fully
3060         correct, because then we wouldn't suspend rendering
3061         for a compositor that had been previously enabled.
3062
3063         Instead, change the condition to suspend/resume in
3064         WebPagePrivate::setCompositor() to focus on the
3065         object that delivers us the buffer. If we can't
3066         listen to the context or buffer being set, better
3067         just take the compositor object itself to determine
3068         whether we have something valid or not... and hope
3069         that they give us a valid context & buffer in all
3070         situations when we can actually be rendering.
3071
3072         Also check compositor->context() in buffer() to be
3073         non-zero before accessing the context's buffer,
3074         because more defensive coding can't hurt here.
3075
3076         * Api/BackingStore.cpp:
3077         (BlackBerry::WebKit::BackingStorePrivate::buffer):
3078         * Api/WebPage.cpp:
3079         (BlackBerry::WebKit::WebPagePrivate::setCompositor):
3080
3081 2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
3082
3083         [BlackBerry] Update about:config lists
3084         https://bugs.webkit.org/show_bug.cgi?id=92118
3085
3086         Reviewed by Rob Buis.
3087
3088         Remove features from list that have either been removed from WebKit
3089         or that have been moved from one list to another.
3090
3091         * WebCoreSupport/AboutDataEnableFeatures.in:
3092         * WebCoreSupport/AboutDataHaveFeatures.in:
3093         * WebCoreSupport/AboutDataUseFeatures.in:
3094
3095 2012-07-25  Jacky Jiang  <zhajiang@rim.com>
3096
3097         [BlackBerry] clock_gettime() in BackingStore.cpp should use CLOCK_MONOTONIC
3098         https://bugs.webkit.org/show_bug.cgi?id=91898
3099
3100         Reviewed by Yong Li.
3101
3102         Let pthread condition variable in BackingStore.cpp use monotonic clock
3103         to fix a regression caused by r123266.
3104
3105         * Api/BackingStore.cpp:
3106         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
3107
3108 2012-07-25  Andy Chen  <andchen@rim.com>
3109
3110         [BlackBerry] Add "SelectAll" to WebPage
3111         https://bugs.webkit.org/show_bug.cgi?id=92246
3112
3113         Reviewed by Antonio Gomes.
3114
3115         Add "Select All" editor command to WebPage.
3116         Internally reviewed by Mike Fenton.
3117
3118         * Api/WebPage.cpp:
3119         (BlackBerry::WebKit::WebPage::selectAll):
3120         (WebKit):
3121         * Api/WebPage.h:
3122         * WebKitSupport/InputHandler.cpp:
3123         (BlackBerry::WebKit::InputHandler::selectAll):
3124         (WebKit):
3125         * WebKitSupport/InputHandler.h:
3126
3127 2012-07-25  Arvid Nilsson  <anilsson@rim.com>
3128
3129         [BlackBerry] Don't touch a tile buffer while it's still on its way to the GPU
3130         https://bugs.webkit.org/show_bug.cgi?id=91992
3131
3132         Reviewed by Adam Treat.
3133
3134         PR: 141439
3135         The copyPreviousContentsToBackSurfaceOfTile() call will also modify
3136         buffer contents, move it after the blit generation condvar to make sure
3137         we've waited for the buffer to become available first.
3138
3139         This is done as part of some general BackingStorePrivate::render()
3140         cleanup in PR 141439.
3141
3142         Internally reviewed by Jakob Petsovits.
3143
3144         * Api/BackingStore.cpp:
3145         (BlackBerry::WebKit::BackingStorePrivate::render):
3146
3147 2012-07-25  Jakob Petsovits  <jpetsovits@rim.com>
3148
3149         [BlackBerry] notifyContentRendered() call missing in two spots
3150         https://bugs.webkit.org/show_bug.cgi?id=92153
3151         RIM PR 173340
3152
3153         Reviewed by Antonio Gomes.
3154
3155         In dispatchDidFirstVisualLayout() and repaint() in
3156         immediate mode, we render but don't notify the
3157         WebPageClient that the content was modified.
3158
3159         In the long run, we should probably keep track of
3160         the modified reason from within render() itself
3161         and use this to automatically notify the client
3162         from within blitContents() and/or invalidateWindow(),
3163         depending on the rendering path. That's somewhat of
3164         a medium-size undertaking though; for now, adding
3165         the call directly to the renderVisibleContents()
3166         call sites will do.
3167
3168         This patch also adds a blitVisibleContents() to
3169         dispatchDidFirstVisualLayout() where it was
3170         inexplicably missing, probably on account of
3171         old code that was never updated.
3172
3173         * Api/BackingStore.cpp:
3174         (BlackBerry::WebKit::BackingStorePrivate::repaint):
3175         * Api/WebPage.cpp:
3176         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
3177         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3178         (WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):
3179
3180 2012-07-24  Rob Buis  <rbuis@rim.com>
3181
3182         [BlackBerry] Do not call settings setters twice on page construction
3183         https://bugs.webkit.org/show_bug.cgi?id=92157
3184
3185         Reviewed by Yong Li.
3186
3187         The WebPagePrivate init method sets some settings value that were
3188         already set in didChangeSettings. setUseHixie76WebSocketProtocol just
3189         sets the default value, no need to set it again.
3190         Also call didChangeSettings explicitly from init, before that we are
3191         not calling it since the delegate is not set yet.
3192
3193         * Api/WebPage.cpp:
3194         (BlackBerry::WebKit::WebPagePrivate::init):
3195
3196 2012-07-24  Mike Fenton  <mifenton@rim.com>
3197
3198         Throttle calls to request the virtual keyboard be shown.
3199         https://bugs.webkit.org/show_bug.cgi?id=92138
3200
3201         Reviewed by Rob Buis.
3202
3203         PR 178465.
3204
3205         Do not request keyboard visibility change when
3206         we are actively processing an input event.
3207
3208         Reviewed Internally by Gen Mak.
3209
3210         * WebKitSupport/InputHandler.cpp:
3211         (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
3212
3213 2012-07-24  Joshua Netterfield  <jnetterfield@rim.com>
3214
3215         [BlackBerry] Update about:config lists
3216         https://bugs.webkit.org/show_bug.cgi?id=92118
3217
3218         Reviewed by Rob Buis.
3219
3220         We want to have all flags which could be used / have been used by any platform. These lists were created by running:
3221
3222         * WebCoreSupport/AboutDataEnableFeatures.in: `git grep "ENABLE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
3223         * WebCoreSupport/AboutDataHaveFeatures.in: `git grep "HAVE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
3224         * WebCoreSupport/AboutDataUseFeatures.in: `git grep "USE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
3225
3226 2012-07-24  Arvid Nilsson  <anilsson@rim.com>
3227
3228         [BlackBerry] Remove unused variable in BackingStore.cpp
3229         https://bugs.webkit.org/show_bug.cgi?id=91987
3230
3231         Reviewed by Antonio Gomes.
3232
3233         PR: 141439
3234         This is done as part of some general BackingStorePrivate::render()
3235         cleanup in PR 141439.
3236
3237         * Api/BackingStore.cpp:
3238         (BlackBerry::WebKit::BackingStorePrivate::render):
3239
3240 2012-07-23  Yong Li  <yoli@rim.com>
3241
3242         [BlackBerry] Move about: URL handling out of WebCore
3243         https://bugs.webkit.org/show_bug.cgi?id=91541
3244
3245         Reviewed by Rob Buis.
3246
3247         PR# 181304.
3248         Move about: URL handling to the right place (FrameLoaderClientBlackBerry::createDocumentLoader), so
3249         reload and history navigation can work.
3250         Other changes: Remove about:version which makes little sense. Make about:memory partially visible.
3251
3252         * Api/WebPage.cpp:
3253         (BlackBerry::WebKit::WebPage::load): Remove the call to loadAbout()
3254         * Api/WebPage_p.h: Remove loadAbout()
3255         (WebPagePrivate):
3256         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3257         (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader): Construct about: data here.
3258         * WebKitSupport/AboutData.cpp:
3259         (BlackBerry::WebKit::numberToHTMLTr): Make it static
3260         (BlackBerry::WebKit::configPage): Make it static
3261         (BlackBerry::WebKit::memoryPage): Make it static
3262         (BlackBerry::WebKit::cachePage):
3263         (BlackBerry::WebKit::buildPage):
3264         (BlackBerry::WebKit::creditsPage):
3265         (BlackBerry::WebKit::cookiePage):
3266         (BlackBerry::WebKit::aboutData): The only export function that returns HTML source for a given about: URL.
3267         (WebKit):
3268         * WebKitSupport/AboutData.h:
3269         (WebKit):
3270
3271 2012-07-23  Pierre Rossi  <pierre.rossi@gmail.com>
3272
3273         Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
3274         https://bugs.webkit.org/show_bug.cgi?id=91006
3275
3276         Reviewed by Ryosuke Niwa.
3277
3278         Removed numTouchEventHandlersChanged stub.
3279
3280         * WebCoreSupport/ChromeClientBlackBerry.h:
3281
3282 2012-07-22  Kent Tamura  <tkent@chromium.org>
3283
3284         Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
3285         https://bugs.webkit.org/show_bug.cgi?id=91941
3286
3287         Reviewed by Kentaro Hara.
3288
3289         A flag name for an elmement should be ENABLE_*_ELEMENT.
3290
3291         * WebCoreSupport/AboutDataEnableFeatures.in:
3292
3293 2012-07-20  Jacky Jiang  <zhajiang@rim.com>
3294
3295         [BlackBerry] clock_gettime() in BackingStore.cpp should use CLOCK_MONOTONIC
3296         https://bugs.webkit.org/show_bug.cgi?id=91898
3297
3298         Reviewed by Yong Li.
3299
3300         PR: 181043
3301         Use CLOCK_MONOTONIC when we do expect a monotonic timer.
3302
3303         * Api/BackingStore.cpp:
3304         (BlackBerry::WebKit::BackingStorePrivate::blitContents):
3305
3306 2012-07-20  Crystal Zhang  <haizhang@rim.com>
3307
3308         [BlackBerry] Add Cancel button for Select popup
3309         https://bugs.webkit.org/show_bug.cgi?id=91887
3310
3311         Reviewed by Yong Li.
3312
3313         PR 177706
3314
3315         * WebCoreSupport/SelectPopupClient.cpp:
3316         (WebCore::SelectPopupClient::generateHTML):
3317         (WebCore::SelectPopupClient::setValueAndClosePopup):
3318
3319 2012-07-19  Mary Wu  <mary.wu@torchmobile.com.cn>
3320
3321         [BlackBerry] Make sure to send favicon when go back/forward
3322         https://bugs.webkit.org/show_bug.cgi?id=91808
3323
3324         Reviewed by George Staikos.
3325
3326         When go back/forward, if the page was in page cache, it would have no chance
3327         to send favicon. So we'll send it in commitLoad right after send the blank
3328         icon.
3329         RIM PR# 177495
3330
3331         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3332         (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad):
3333
3334 2012-07-19  Jakob Petsovits  <jpetsovits@rim.com>
3335
3336         [BlackBerry] Suspend when there's no target buffer until an external compositor is set
3337         https://bugs.webkit.org/show_bug.cgi?id=91686
3338         RIM PR 174365
3339
3340         Reviewed by Antonio Gomes.
3341
3342         If we don't have a client window (i.e. rendering to
3343         GL directly) and a WebPageCompositor is only set
3344         after a rendering operation, then we'll try to render
3345         to BackingStorePrivate::buffer() which doesn't exist
3346         at this point. That's bad, and gets us various
3347         assertions and possibly worse.
3348
3349         Fix it by starting in a screen-suspended state and only
3350         resuming screen and backingstore once a compositor is
3351         actually set.
3352
3353         So, in effect, with this patch applied, the sequence
3354         of events will look like this:
3355
3356         1) WebPage & BackingStore are initialize, neither window
3357            nor compositor exists, therefore buffer() returns 0.
3358            createSurface() therefore suspends screen and
3359            backingstore.
3360         2) loadURL() or loadData() is called, web page is
3361            fully loaded, however we don't try to render because
3362            we're still suspended, still have no target buffer.
3363         3) A WebPageCompositor is being set from outside.
3364            At the beginning of WebPage::setCompositor() we still
3365            don't have a buffer() so there's nothing to suspend,
3366            however, after the sync call to setCompositorHelper()
3367            the compositor is set so buffer() will return a
3368            nonzero value, causing us to resume at this point.
3369
3370         Using the existence of a target buffer to determine
3371         whether or not to enable rendering or keep it suspended
3372         seems like a good idea, and the implementation (while
3373         not quite perfect yet) is a step forward from before.
3374
3375         * Api/BackingStore.cpp:
3376         (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
3377         * Api/WebPage.cpp:
3378         (BlackBerry::WebKit::WebPagePrivate::setCompositor):
3379         (BlackBerry::WebKit::WebPagePrivate::setCompositorHelper):
3380         * Api/WebPage_p.h:
3381         (WebPagePrivate):
3382
3383 2012-07-19  Jakob Petsovits  <jpetsovits@rim.com>
3384
3385         [BlackBerry] Allow nested suspend/resume screen & backingstore calls.
3386         https://bugs.webkit.org/show_bug.cgi?id=91644
3387         RIM PR 174365
3388
3389         Reviewed by Adam Treat and Antonio Gomes.
3390
3391         We expose suspendScreenAndBackingStoreUpdates() to the
3392         outside API, but also use it internally when reacting
3393         to a number of happenings, i.e. zooming, viewport resize,
3394         resetting view state on Committed state or when restoring
3395         it from previous pages, etc.
3396
3397         These two can clash. For instance, if we get a suspend
3398         call from outside that suspends us for app inactivity,
3399         or we are told to suspend because the main target surface
3400      &nb