900ae427fd60517c9ea419f52a5d36ed27160193
[WebKit-https.git] / Source / WebKit / blackberry / ChangeLog
1 2013-02-20  Alberto Garcia  <albgarcia@rim.com>
2
3         [BlackBerry] Fix usage of HitTestRequest::RequestType
4         https://bugs.webkit.org/show_bug.cgi?id=110342
5
6         Reviewed by Carlos Garcia Campos.
7
8         Rename HitTestResult::* -> HitTestRequest::*
9         This was introduced by mistake in r142977.
10
11         * Api/WebPage.cpp:
12         (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
13
14 2013-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15
16         Unreviewed BlackBerry build fix.
17
18         WebPage::download was renamed in the header by mistake to
19         convertMainResourceLoadToDownload in r137845.
20
21         * Api/WebPage.h:
22
23 2013-02-19  Nima Ghanavatian  <nghanavatian@rim.com>
24
25         [BlackBerry] Appropriately handle word wrapping in SpellingHandler
26         https://bugs.webkit.org/show_bug.cgi?id=110253
27
28         Reviewed by Rob Buis.
29
30         PR286001
31         Since we traverse through text by visual lines instead of blocks, word wrapping causes some
32         bad behavior. Changing the way we traverse text to jump by words instead of lines. This will
33         mean it takes longer to finish spellchecking, but the removal of any loops allows webkit
34         processing to continue. This gives priority to user actions while still completing a large
35         paragraph in a reasonable amount of time.
36
37         Internally reviewed by Mike Fenton
38
39         * WebKitSupport/InputHandler.cpp:
40         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
41         * WebKitSupport/SpellingHandler.cpp:
42         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
43         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
44         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
45         (BlackBerry::WebKit::SpellingHandler::startOfNextWord):
46         (WebKit):
47         (BlackBerry::WebKit::SpellingHandler::incrementByWord):
48         (BlackBerry::WebKit::SpellingHandler::doesWordWrap):
49         * WebKitSupport/SpellingHandler.h:
50         (SpellingHandler):
51
52 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
53
54         Clean up the boolean argument to visibleContentRect
55         https://bugs.webkit.org/show_bug.cgi?id=110167
56
57         Reviewed by Simon Fraser.
58
59         Replace the boolean argument to visibleContentRect() with
60         an enum.
61
62         * Api/WebPage.cpp:
63         (BlackBerry::WebKit::WebPagePrivate::getRecursiveVisibleWindowRect):
64         * WebKitSupport/InRegionScrollableArea.cpp:
65         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
66
67 2013-02-15  Keishi Hattori  <keishi@webkit.org>
68
69         Add setValue and closePopup methods to PagePopupController
70         https://bugs.webkit.org/show_bug.cgi?id=109897
71
72         Reviewed by Kent Tamura.
73
74         * WebCoreSupport/ColorPickerClient.cpp:
75         (WebCore::ColorPickerClient::setValue): Added empty implementation.
76         (WebCore):
77         * WebCoreSupport/ColorPickerClient.h:
78         (ColorPickerClient):
79         * WebCoreSupport/DatePickerClient.cpp:
80         (WebCore::DatePickerClient::setValue): Ditto.
81         (WebCore):
82         * WebCoreSupport/DatePickerClient.h:
83         (DatePickerClient):
84         * WebCoreSupport/SelectPopupClient.cpp:
85         (WebCore::SelectPopupClient::setValue): Ditto.
86         (WebCore):
87         * WebCoreSupport/SelectPopupClient.h:
88         (SelectPopupClient):
89
90 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
91
92         Simplify hitTestResultAtPoint and nodesFromRect APIs
93         https://bugs.webkit.org/show_bug.cgi?id=95720
94
95         Reviewed by Julien Chaffraix.
96
97         Update calls to new API.
98
99         * Api/WebPage.cpp:
100         (BlackBerry::WebKit::WebPagePrivate::contextNode):
101         (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
102         (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
103         (BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
104         (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
105         * WebKitSupport/SelectionHandler.cpp:
106         (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
107
108 2013-02-14  Mike Fenton  <mifenton@rim.com>
109
110         [BlackBerry] Update keyboard event details to match platform details.
111         https://bugs.webkit.org/show_bug.cgi?id=109693
112
113         Reviewed by Yong Li.
114
115         PR 220170.
116
117         When re-creating the Platform::Keyboard event ensure
118         all values are updated.
119
120         Reviewed Internally by Nima Ghanavatian.
121
122         * WebKitSupport/InputHandler.cpp:
123         (BlackBerry::WebKit::InputHandler::updateFormState):
124
125 2013-02-14  Mike Fenton  <mifenton@rim.com>
126
127         [BlackBerry] Update keyboard event details to match platform details.
128         https://bugs.webkit.org/show_bug.cgi?id=109693
129
130         Reviewed by Yong Li.
131
132         PR 220170.
133
134         Update keyboard event details.
135
136         Reviewed Internally by Nima Ghanavatian and Gen Mak.
137
138         * Api/WebPage.cpp:
139         (BlackBerry::WebKit::WebPage::keyEvent):
140
141 2013-02-08  Andrey Kosyakov  <caseq@chromium.org>
142
143         Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
144         https://bugs.webkit.org/show_bug.cgi?id=109192
145
146         Reviewed by Pavel Feldman.
147
148         - invoke frame instrumentation methods on InspectorController, not on InspectorInstrumentation.
149
150         * Api/BackingStore.cpp:
151         (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
152         (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
153
154 2013-02-12  Jakob Petsovits  <jpetsovits@rim.com>
155
156         [BlackBerry] Assume setScrollingOrZooming() to be called on the WebKit thread.
157         https://bugs.webkit.org/show_bug.cgi?id=109614
158         Internal PR 294513
159
160         Reviewed by Rob Buis.
161         Internally reviewed by Arvid Nilsson.
162
163         With this further simplification of threading assumptions,
164         we can get rid of atomic integer access as well as the
165         backing store mutex which was otherwise unused.
166
167         * Api/BackingStore.cpp:
168         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
169         (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
170         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
171         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
172         (BlackBerry::WebKit::BackingStorePrivate::isScrollingOrZooming):
173         (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
174         * Api/BackingStore_p.h:
175         (BackingStorePrivate):
176
177 2013-02-12  Jakob Petsovits  <jpetsovits@rim.com>
178
179         [BlackBerry] Eliminate the direct rendering option.
180         https://bugs.webkit.org/show_bug.cgi?id=109608
181         RIM PR 293298
182
183         Reviewed by Rob Buis.
184         Internally reviewed by Arvid Nilsson.
185
186         It added a lot of complexity and we're not going to use it anymore.
187         This patch removes direct rendering functionality from
188         WebKit/blackberry together with the assumption that blitting on the
189         WebKit thread is possible or acceptable. It now isn't anymore.
190
191         * Api/BackingStore.cpp:
192         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
193         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
194         (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
195         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
196         (BlackBerry::WebKit::BackingStorePrivate::scroll):
197         (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
198         (BlackBerry::WebKit::BackingStorePrivate::render):
199         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
200         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
201         (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
202         (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
203         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
204         (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
205         (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
206         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
207         * Api/BackingStore.h:
208         * Api/BackingStore_p.h:
209         (BackingStorePrivate):
210         * Api/WebPage.cpp:
211         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
212         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
213         (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
214         (WebKit):
215         (BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
216         * Api/WebPageCompositor.cpp:
217         (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
218         * Api/WebPage_p.h:
219         (WebPagePrivate):
220         * Api/WebSettings.cpp:
221         (WebKit):
222         * Api/WebSettings.h:
223         * WebKitSupport/RenderQueue.cpp:
224         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
225         (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
226         * WebKitSupport/SurfacePool.cpp:
227         (BlackBerry::WebKit::SurfacePool::initialize):
228
229 2013-02-12  Andrew Lo  <anlo@rim.com>
230
231         [BlackBerry] CSS animations stop running during zoom
232         https://bugs.webkit.org/show_bug.cgi?id=109606
233
234         Reviewed by Rob Buis.
235         Internally reviewed by Jakob Petsovits.
236
237         Internal PR 286160.
238         New BackingStore API for suspending/resuming geometry updates.
239
240         This is needed because we want to allow render jobs to continue during
241         zoom, but we don't want to allow geometry updates during zoom.
242
243         Prevent scroll/zoom render jobs from being added to the queue if
244         the tile is outside the expanded content rect.
245
246         * Api/BackingStore.cpp:
247         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
248         (BlackBerry::WebKit::BackingStorePrivate::suspendGeometryUpdates):
249         (WebKit):
250         (BlackBerry::WebKit::BackingStorePrivate::resumeGeometryUpdates):
251         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
252         (BlackBerry::WebKit::BackingStore::suspendGeometryUpdates):
253         (BlackBerry::WebKit::BackingStore::resumeGeometryUpdates):
254         * Api/BackingStore.h:
255         * Api/BackingStore_p.h:
256         (BackingStorePrivate):
257         * WebKitSupport/RenderQueue.cpp:
258         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
259
260 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
261
262         Remove remaining traces of Web Intents
263         https://bugs.webkit.org/show_bug.cgi?id=109586
264
265         Reviewed by Eric Seidel.
266
267         Remove remaining traces of Web Intents from Blackberry port
268         configuration as the functionality was removed in r142549.
269
270         * WebCoreSupport/AboutDataEnableFeatures.in:
271
272 2013-02-12  Zan Dobersek  <zdobersek@igalia.com>
273
274         Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
275         https://bugs.webkit.org/show_bug.cgi?id=109481
276
277         Reviewed by Daniel Bates.
278
279         The ENABLE_XHR_RESPONSE_BLOB feature define was removed from the code
280         back in r120574. There are still occurrences of it in various build systems
281         which should all be removed as they are useless.
282
283         * WebCoreSupport/AboutDataEnableFeatures.in:
284
285 2013-02-11  Ryosuke Niwa  <rniwa@webkit.org>
286
287         Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
288         https://bugs.webkit.org/show_bug.cgi?id=109534
289
290         Reviewed by Anders Carlsson.
291
292         * WebCoreSupport/EditorClientBlackBerry.cpp:
293         (WebCore):
294         * WebCoreSupport/EditorClientBlackBerry.h:
295         (EditorClientBlackBerry):
296
297 2013-02-11  Mike Fenton  <mifenton@rim.com>
298
299         [BlackBerry] Add form navigation control state tracking.
300         https://bugs.webkit.org/show_bug.cgi?id=109300
301
302         Reviewed by Rob Buis.
303
304         Add form navigation control state tracking.
305
306         * Api/WebPage.cpp:
307         (BlackBerry::WebKit::WebPage::focusNextField):
308         (WebKit):
309         (BlackBerry::WebKit::WebPage::focusPreviousField):
310         (BlackBerry::WebKit::WebPage::submitForm):
311         * Api/WebPage.h:
312         * Api/WebPageClient.h:
313         * WebKitSupport/InputHandler.cpp:
314         (BlackBerry::WebKit::InputHandler::InputHandler):
315         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
316         (BlackBerry::WebKit::InputHandler::updateFormState):
317         * WebKitSupport/InputHandler.h:
318         (InputHandler):
319
320 2013-02-09  Tiancheng Jiang  <tijiang@rim.com>
321
322         [BlackBerry] Set mouse document position for mouse event in updateCursor.
323         https://bugs.webkit.org/show_bug.cgi?id=109094.
324
325         Reviewed by Rob Buis.
326
327         RIM PR 246976
328         Internally Reviewed by Genevieve Mak.
329
330         BlackBerry::Platform::MouseEvent have document viewport and document
331         content position as members. When we create the event, we should initial
332         them as well.
333
334         * Api/WebPage.cpp:
335         (BlackBerry::WebKit::WebPagePrivate::updateCursor):
336
337 2013-02-07  Charles Wei  <charles.wei@torchmobile.com.cn>
338
339         webpage needs null check in BackingStore::setCurrentBackingStoreOwner
340         https://bugs.webkit.org/show_bug.cgi?id=109253
341
342         Reviewed by George Staikos.
343
344         * Api/BackingStore.cpp:
345         (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
346
347 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
348
349         [BlackBerry] Enable non-video element enter/exit fullscreen.
350         https://bugs.webkit.org/show_bug.cgi?id=108314
351
352         Reviewed by Antonio Gomes.
353
354         Webkit support non-video element (like div) to enter/exit
355         fullscreen. We should pass this capability in blackberry porting.
356
357         RIM PR 256370, internally reviewed by Max Feil.
358
359         * Api/WebPage.cpp:
360         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
361         (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
362         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
363         (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
364         (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
365         (BlackBerry::WebKit::WebPagePrivate::exitFullscreenForNode):
366         (WebKit):
367         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
368         (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
369         (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
370         * Api/WebPage_p.h:
371         (WebPagePrivate):
372
373 2013-02-07  Jakob Petsovits  <jpetsovits@rim.com>
374
375         [BlackBerry] Fix all flicker caused by empty/incomplete geometries.
376         https://bugs.webkit.org/show_bug.cgi?id=108951
377         RIM PR 286925
378
379         Reviewed by Rob Buis.
380         Internally reviewed by Arvid Nilsson.
381
382         The main idea for this patch is that whenever we adopt
383         a new backingstore geometry that doesn't contain any
384         rendered tiles, or VisibleZoom render jobs that need more
385         tiles to be rendered to be considered complete, we'll then
386         suspend blitting until there is valid content to show.
387
388         This main idea is codified as checks for empty buffers
389         in adoptAsFrontState(), and checks for the current state
390         of the render queue after rendering content in render().
391         However, as BackingStore objects with disabled surface pools
392         or pure use of accelerated compositing also swap geometries
393         in some circumstances, the use of suspend counters grows
394         increasingly fragile.
395
396         To make this patch more resilient against regressions,
397         the current suspend counter is complemented with several
398         explicit conditions for suspending screen updates,
399         and both subsequently combined into a single cached
400         boolean value telling the UI thread whether or not to
401         suspend. In the future, other suspend calls can be
402         migrated to this "state machine" design as well,
403         potentially phasing out the suspend counter altogether.
404
405         The immediate result is that there will be no flashing
406         of background color between page loads or after discarding
407         tiles on scale changes until the content has been rendered.
408
409         * Api/BackingStore.cpp:
410         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
411         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
412         (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
413         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
414         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
415         (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
416         (WebKit):
417         (BlackBerry::WebKit::BackingStorePrivate::render):
418         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
419         (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
420         (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
421         (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
422         * Api/BackingStore_p.h:
423         (BackingStorePrivate):
424         * Api/WebPage.cpp:
425         (BlackBerry::WebKit::WebPagePrivate::setVisible):
426         (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
427
428 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
429
430         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
431         https://bugs.webkit.org/show_bug.cgi?id=109126
432         PR 292540
433
434         Reviewed by Yong Li.
435         Internally reviewed by Mike Fenton.
436
437         Key char is UTF32 encoded, should be 4 bytes.
438
439         * Api/WebPage.cpp:
440         (BlackBerry::WebKit::handleScrolling):
441         * WebKitSupport/InputHandler.cpp:
442         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
443         * WebKitSupport/InputHandler.h:
444         (InputHandler):
445         * WebKitSupport/SelectionHandler.cpp:
446         (BlackBerry::WebKit::directionOfPointRelativeToRect):
447         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
448         (BlackBerry::WebKit::shouldExtendSelectionInDirection):
449         (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
450         (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
451         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
452         * WebKitSupport/SelectionHandler.h:
453         (SelectionHandler):
454
455 2013-02-07  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
456
457         [BlackBerry] Reader Mode: Opening two links quickly from reader mode causes browser bad state
458         https://bugs.webkit.org/show_bug.cgi?id=109124
459
460         Reviewed by Yong Li.
461
462         RIM BUG 291246 Internally reviewed by YongLi.
463         Move the WebPageGroupLoadDeferrer object from ChromeClientBlackBerry::createWindow()
464         into WebPageClientImpl::createWindow() to make it more close to its protecting place.
465
466         * WebCoreSupport/ChromeClientBlackBerry.cpp:
467         (WebCore::ChromeClientBlackBerry::createWindow):
468
469 2013-02-07  Mike Fenton  <mifenton@rim.com>
470
471         [BlackBerry] Send type details with IMF mask as part of focus gained.
472         https://bugs.webkit.org/show_bug.cgi?id=109086
473
474         Reviewed by Yong Li.
475
476         PR 292609.
477
478         Add masking options based on VKB type to the IMF mask.
479
480         Reviewed Internally by Nima Ghanavatian.
481
482         * WebKitSupport/InputHandler.cpp:
483         (BlackBerry::WebKit::addInputStyleMaskForKeyboardType):
484         (WebKit):
485         (BlackBerry::WebKit::InputHandler::setElementFocused):
486
487 2013-02-06  Jakob Petsovits  <jpetsovits@rim.com>
488
489         [BlackBerry] Refactor renderContents() for cleaner code.
490         https://bugs.webkit.org/show_bug.cgi?id=109059
491         RIM PR 280374
492
493         Reviewed by Rob Buis.
494         Internally reviewed by Arvid Nilsson.
495
496         The fact that we've got two renderContents() implementations
497         in BackingStore.cpp, one of which was tailored to just
498         being called from drawContents(), is a major annoyance.
499
500         With this patch, the regular renderContents() is modified
501         in a way so that drawContents() can make use of it as well.
502         This includes an API change for both functions which makes
503         it more flexible and enables further cleanups and improvements
504         to accuracy. The second, unloved renderContents() is removed.
505
506         The user-visible changes are improved (float) accuracy for
507         render offsets, clipping to exactly the dstRect that has
508         been specified, and the changed public drawContents() API.
509
510         * Api/BackingStore.cpp:
511         (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
512         (BlackBerry::WebKit::BackingStorePrivate::render):
513         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
514         (BlackBerry::WebKit::BackingStore::drawContents):
515         * Api/BackingStore.h:
516         (Platform):
517         (Graphics):
518         * Api/BackingStore_p.h:
519         (WebCore):
520         (BackingStorePrivate):
521         * WebKitSupport/SurfacePool.cpp:
522         (BlackBerry::WebKit::SurfacePool::SurfacePool):
523         (BlackBerry::WebKit::SurfacePool::initialize):
524         (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
525         * WebKitSupport/SurfacePool.h:
526         (SurfacePool):
527
528 2013-02-06  Nima Ghanavatian  <nghanavatian@rim.com>
529
530         [BlackBerry] Check range before use in parseBlockForSpellChecking
531         https://bugs.webkit.org/show_bug.cgi?id=109080
532
533         Reviewed by Yong Li.
534
535         PR291394
536         This was missed during patch webkit/5aea04f6ea625827. Since getRangeForSpellCheckWithFineGranularity
537         now returns null values, we need a check here before using the range object here as well.
538
539         Internally reviewed by Mike Fenton.
540
541         * WebKitSupport/SpellingHandler.cpp:
542         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
543
544 2013-02-06  Nima Ghanavatian  <nghanavatian@rim.com>
545
546         [BlackBerry] Check for a valid range object before using it
547         https://bugs.webkit.org/show_bug.cgi?id=109058
548
549         Reviewed by Rob Buis.
550
551         PR291394
552         Crash occurs if makeRange returns null, since we are using this value without checking
553         its validity. We had an assert before which I'm replacing with just a check for null.
554
555         Internally reviewed by Mike Fenton.
556
557         * WebKitSupport/SpellingHandler.cpp:
558         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
559
560 2013-02-05  Andrew Lo  <anlo@rim.com>
561
562         [BlackBerry] Scrolling performance drops doing page load
563         https://bugs.webkit.org/show_bug.cgi?id=108949
564
565         Reviewed by Yong Li.
566         Internally reviewed by Jakob Petsovits.
567
568         Internal PR 291390.
569         The intention of this code was to not update non-visible tiles during page load.
570
571         Before this patch, the code would update tiles that have already been rendered
572         during page load.
573
574         * Api/BackingStore.cpp:
575         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
576
577 2013-02-04  Tiancheng Jiang  <tijiang@rim.com>
578
579         [BlackBerry]Adjust fatfinger detection rect size
580         https://bugs.webkit.org/show_bug.cgi?id=108678
581
582         Reviewed by Antonio Gomes.
583         RIM Bug 246976
584
585         We still need to clip the fatfinger detection rect to the viewport to
586         avoid wrong hitTest result.
587
588         * Api/WebPage.cpp:
589         (BlackBerry::WebKit::WebPage::mouseEvent):
590         * WebKitSupport/FatFingers.cpp:
591         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
592
593 2013-02-04  Abhishek Arya  <inferno@chromium.org>
594
595         Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad cast in DOM, CSS, etc.
596         https://bugs.webkit.org/show_bug.cgi?id=108688
597
598         Reviewed by Eric Seidel.
599
600         * Api/WebPage.cpp:
601         (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
602         * WebKitSupport/FatFingers.cpp:
603         (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
604
605 2013-02-04  Andrew Lo  <anlo@rim.com>
606
607         [BlackBerry] Needs one-shot drawing synchronization flag should be set before rendering when resuming the backing store
608         https://bugs.webkit.org/show_bug.cgi?id=108760
609
610         Reviewed by Yong Li.
611         Internally reviewed by Arvid Nilsson.
612
613         Internal PR 286218.
614         When acquiring the backing store ownership in WebPagePrivate::resumeBackingStore
615         we need to set the needs one-shot drawing synchronization flag
616         before rendering, so that when the render is completed we
617         commit the root layer.
618
619         * Api/WebPage.cpp:
620         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
621
622 2013-02-03  KwangYong Choi  <ky0.choi@samsung.com>
623
624         Fix build warning after r141473
625         https://bugs.webkit.org/show_bug.cgi?id=108782
626
627         Reviewed by Kentaro Hara.
628
629         Fix -Wunused-parameter build warning.
630
631         * WebCoreSupport/EditorClientBlackBerry.cpp:
632         (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
633
634 2013-02-01  Jacky Jiang  <zhajiang@rim.com>
635
636         [BlackBerry] Zooming in during page load of non-scalable webpage results in fixed magnification
637         https://bugs.webkit.org/show_bug.cgi?id=108252
638
639         Reviewed by Yong Li.
640         Internally reviewed by Konrad Piascik.
641
642         PR: 284828
643         We got float layoutSize(342.284122, 521.448467) and
644         m_maximumScale(2.243750) after computing viewport meta based on the
645         device pixel ratio and laid out the contents at IntSize(342, 521).
646         Therefore, zoomToFitScale(2.245681) would be a bit larger than
647         m_maximumScale based on that contents size and resulted in
648         maximumScale()!=minimumScale(), which made the non-scalable page
649         scalable.
650         Return zoomToFitScale for maximumScale() in such kind of case.
651
652         * Api/WebPage.cpp:
653         (BlackBerry::WebKit::WebPagePrivate::maximumScale):
654
655 2013-02-01  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
656
657         [BlackBerry] InputHandler status is not restored when page history goes back
658         https://bugs.webkit.org/show_bug.cgi?id=108448
659
660         Reviewed by Yong Li.
661
662         PR288406 Internally reviewed by Mike Fenton
663
664         When webpage goes back, it restores the old frame's selection and focused node,
665         but we don't save the InputHandler's status, it becomes non-input mode when page
666         goes back. When it restores the focus, since the new focus node is same as the old
667         document focused node, webcore will not notify client to update the input handler.
668
669         This patch updates the input handler's status by notifying it focus node changed.
670
671
672         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
673         (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
674         * WebKitSupport/InputHandler.cpp:
675         (BlackBerry::WebKit::InputHandler::restoreViewState):
676         (WebKit):
677         * WebKitSupport/InputHandler.h:
678         (InputHandler):
679
680 2013-01-31  Jacky Jiang  <zhajiang@rim.com>
681
682         [BlackBerry] Bing Images viewport causes layout "fun"
683         https://bugs.webkit.org/show_bug.cgi?id=108393
684
685         Reviewed by Yong Li.
686         Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
687
688         PR: 277855
689         Set applyPageScaleFactorInCompositor settting to false by default.
690         Scale down chrome window rect to density-independent pixels.
691
692         * Api/WebPage.cpp:
693         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
694         * Api/WebSettings.cpp:
695         (WebKit):
696         (BlackBerry::WebKit::WebSettings::standardSettings):
697         (BlackBerry::WebKit::WebSettings::applyDeviceScaleFactorInCompositor):
698         (BlackBerry::WebKit::WebSettings::setApplyPageScaleFactorInCompositor):
699         * Api/WebSettings.h:
700         * WebCoreSupport/ChromeClientBlackBerry.cpp:
701         (WebCore::ChromeClientBlackBerry::windowRect):
702
703 2013-01-31  Enrica Casucci  <enrica@apple.com>
704
705         WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
706         https://bugs.webkit.org/show_bug.cgi?id=108396.
707         <rdar://problem/12920461>
708
709         Reviewed by Alexey Proskuryakov.
710
711         Adds stub implementation for WebKit of the new EditorClient methods.
712
713         * WebCoreSupport/EditorClientBlackBerry.cpp:
714         (WebCore::EditorClientBlackBerry::willWriteSelectionToPasteboard):
715         (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
716         * WebCoreSupport/EditorClientBlackBerry.h:
717
718 2013-01-30  Ed Baker  <edbaker@rim.com>
719
720         [BlackBerry] Screenshot is clipped when content is smaller than the desintation size
721         https://bugs.webkit.org/show_bug.cgi?id=107735
722
723         Reviewed by Rob Buis.
724
725         Internal PR #284662
726         Don't scale the transformed content rect when the content is smaller than the destination
727         size. Scale the graphics context when it has a scale factor that isn't 1.0.
728
729         Internally reviewed by Andrew Lo
730
731         * Api/BackingStore.cpp:
732         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
733
734 2013-01-30  Xiaobo Wang  <xbwang@torchmobile.com.cn>
735
736         [BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
737         https://bugs.webkit.org/show_bug.cgi?id=108281
738         PR 284985
739
740         Reviewed by Rob Buis.
741         Internally reviewed by Jacky Jiang.
742
743         Return correct fixedLayoutSize when overflow exceeds contents size.
744
745         * Api/WebPage.cpp:
746         (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
747
748 2013-01-30  Simon Hausmann  <simon.hausmann@digia.com>
749
750         [Qt] Remove QT4_UNICODE related code paths
751         https://bugs.webkit.org/show_bug.cgi?id=108316
752
753         Reviewed by Kenneth Rohde Christiansen.
754
755         * WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.
756
757 2013-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
758
759         Unreviewed, rolling out r140983.
760         http://trac.webkit.org/changeset/140983
761         https://bugs.webkit.org/show_bug.cgi?id=108277
762
763         Unfortunately, this API has one last client (Requested by
764         abarth on #webkit).
765
766         * WebCoreSupport/AboutDataEnableFeatures.in:
767
768 2013-01-28  Andrew Lo  <anlo@rim.com>
769
770         [BlackBerry] Small animated zoom level adjustments are unnecessary
771         https://bugs.webkit.org/show_bug.cgi?id=108104
772
773         Reviewed by Rob Buis.
774         Internally reviewed by Mike Fenton.
775
776         Internal PR 285861.
777         If the difference between the target scale and current scale is
778         less than a given threshold, don't perform a zoom animation.
779
780         * WebKitSupport/InputHandler.cpp:
781         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
782
783 2013-01-28  Nima Ghanavatian  <nghanavatian@rim.com>
784
785         [BlackBerry] Reduce the region that is spellchecked on keystroke
786         https://bugs.webkit.org/show_bug.cgi?id=108115
787
788         Reviewed by Rob Buis.
789
790         PR288217
791         Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
792         the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
793         on focus, this dramatically reduces the region that is rechecked when a key is hit.
794
795         Internally reviewed by Mike Fenton.
796
797         * WebKitSupport/InputHandler.cpp:
798         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
799         * WebKitSupport/SpellingHandler.cpp:
800         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
801         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
802         * WebKitSupport/SpellingHandler.h:
803         (SpellingHandler):
804
805 2013-01-28  Adam Barth  <abarth@webkit.org>
806
807         Remove webkitNotifications.createHTMLNotification
808         https://bugs.webkit.org/show_bug.cgi?id=107598
809
810         Reviewed by Benjamin Poulain.
811
812         * WebCoreSupport/AboutDataEnableFeatures.in:
813
814 2013-01-28  Otto Derek Cheung  <otcheung@rim.com>
815
816         [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
817         https://bugs.webkit.org/show_bug.cgi?id=108085
818
819         Reviewed by Rob Buis.
820
821         Fix a merge error that duplicated a function declaration in InputHandler.h.
822
823         * WebKitSupport/InputHandler.h:
824
825 2013-01-28  Otto Derek Cheung  <otcheung@rim.com>
826
827         [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
828         https://bugs.webkit.org/show_bug.cgi?id=108085
829         PR 286165
830
831         Reviewed by Rob Buis.
832         Internally reviewed by Nima Ghanavatian.
833
834         Adding a check for the system spell check status in InputHandler::shouldSpellCheckElement so
835         we won't bother sending a spellcheck request if system spell check is turned off.
836
837         However, on a fresh browser start up and on the first setElementFocus, the spellcheck value isn't defined yet.
838         The first spell check request is therefore necessary to connect to imf to determine whether spell check is turned on.
839         If spell check is turned off, we will turn spellinghandler off.
840
841         Tested the patch using a test site that contains editable text in text-areas and content-editable divs. Also tested on
842         an extreme test case where we try to edit a content-editable div with 30000 characters. Confirmed spell-check requests are
843         being canceled if system spell check is off.
844
845         In theory, this patch should also fix PR 284229 . However, because of issues with getting the system spell check values from IMF,
846         additional work needs to be done for that PR. 
847
848         * Api/WebPage.cpp:
849         (BlackBerry::WebKit::WebPage::setSpellCheckingEnabled):
850         * WebKitSupport/InputHandler.cpp:
851         (BlackBerry::WebKit::InputHandler::InputHandler):
852         (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
853         (WebKit):
854         (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
855         * WebKitSupport/InputHandler.h:
856         (InputHandler):
857         (BlackBerry::WebKit::InputHandler::setSystemSpellCheckStatus):
858
859 2013-01-25  Andrew Lo  <anlo@rim.com>
860
861         [BlackBerry] Pop-up WebViews should not take ownership of the backing store.
862         https://bugs.webkit.org/show_bug.cgi?id=107957
863
864         Reviewed by Rob Buis.
865         Internally reviewed by Jakob Petsovits.
866
867         Internal PR 274581.
868         Add web setting for whether a WebPage should take the backing store.
869         Prevent pop-up WebView from taking ownership of the backing
870         store when it becomes visible.
871
872         * Api/WebPage.cpp:
873         (BlackBerry::WebKit::WebPage::setVisible):
874         * Api/WebSettings.cpp:
875         (WebKit):
876         (BlackBerry::WebKit::WebSettings::standardSettings):
877         (BlackBerry::WebKit::WebSettings::isBackingStoreEnabled):
878         (BlackBerry::WebKit::WebSettings::setBackingStoreEnabled):
879         * Api/WebSettings.h:
880         * WebCoreSupport/PagePopupBlackBerry.cpp:
881         (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
882         (WebCore::PagePopupBlackBerry::init):
883
884 2013-01-25  Arvid Nilsson  <anilsson@rim.com>
885
886         [BlackBerry] AC layers appear in the wrong place on RTL page
887         https://bugs.webkit.org/show_bug.cgi?id=107930
888
889         Reviewed by George Staikos.
890
891         The public API of the BlackBerry port always reports a minimum scroll
892         position of (0, 0), even on RTL pages with left overflow. We
893         accomplish this by translating the WebCore scroll position by an
894         amount equal in size to the minimum scroll position, to obtain the API
895         scroll position reported to the API client.
896
897         This means the API client will ask us to render a rect that needs to
898         be corrected for the minimum scroll position, or we'll render the wrong
899         part. This is done for BackingStore, but not for WebPageCompositor.
900
901         WebPageCompositor was rendering the wrong part of the web page when
902         the minimum scroll position was non-zero. Fixed by communicating the
903         minimum scroll position to the WebPageCompositor, and accounting for it
904         when interpreting the requested content rectangle to render.
905
906         PR 280229.
907
908         * Api/WebPage.cpp:
909         (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
910         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
911         * Api/WebPageCompositor.cpp:
912         (BlackBerry::WebKit::WebPageCompositorPrivate::render):
913         (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
914         * Api/WebPageCompositor_p.h:
915         (BlackBerry::WebKit::WebPageCompositorPrivate::layoutRect):
916         (BlackBerry::WebKit::WebPageCompositorPrivate::setLayoutRect):
917         (BlackBerry::WebKit::WebPageCompositorPrivate::documentRect):
918         (BlackBerry::WebKit::WebPageCompositorPrivate::setDocumentRect):
919         (WebPageCompositorPrivate):
920         * Api/WebPage_p.h:
921         (WebPagePrivate):
922
923 2013-01-24  Nima Ghanavatian  <nghanavatian@rim.com>
924
925         [BlackBerry] Fix crash in SpellingHandler
926         https://bugs.webkit.org/show_bug.cgi?id=107842
927
928         Reviewed by Rob Buis.
929
930         If we have an empty range or one with all spaces, we can simply return 0 instead of
931         still creating a range. Putting in a null check after trimming to catch this case
932         which was causing the crash in some DRT tests.
933
934         Internally reviewed by Mike Fenton.
935
936         * WebKitSupport/DOMSupport.cpp:
937         (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
938         * WebKitSupport/SpellingHandler.cpp:
939         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
940
941 2013-01-24  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
942
943         [BlackBerry] It can't Select texts in main frame when the current focus is in a IFrame
944         https://bugs.webkit.org/show_bug.cgi?id=107773
945
946         Reviewed by Antonio Gomes.
947
948         PR285211 Internally reviewed by Genevieve Mak
949
950         When touch hold in the unfocused frame, it doesn't switch frame focus. Many
951         places in code depends on the webpage->forcusOrMainFrame(), including the
952         SelectionHandler, so it can't select in an unfocused frame. This patch switchs
953         frame focus when touch starts.
954
955         * WebKitSupport/TouchEventHandler.cpp:
956         (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
957
958 2013-01-23  Nima Ghanavatian  <nghanavatian@rim.com>
959
960         [BlackBerry] Take a better guess as to what text the user wants learned
961         https://bugs.webkit.org/show_bug.cgi?id=107706
962
963         Reviewed by Rob Buis.
964
965         If we still have a valid caret position, use it to give priority to a region
966         of text.  We now take the text before the caret, instead of the text at the end
967         of the field.  If the caret is not present, we start from the beginning of the field.
968         This helps learning in email where the region of interest is generally at the start,
969         not end of the field.
970
971         Internally reviewed by Mike Fenton
972
973         * WebKitSupport/InputHandler.cpp:
974         (BlackBerry::WebKit::InputHandler::learnText):
975
976 2013-01-23  Nima Ghanavatian  <nghanavatian@rim.com>
977
978         [BlackBerry] Optimize spellchecking by coalescing messages
979         https://bugs.webkit.org/show_bug.cgi?id=107707
980
981         Reviewed by Rob Buis.
982
983         PR233604
984         Instead of taking chunks one line at a time, coalesce them together
985         to fire off messages as close to our character limit as possible.
986         This should dramatically reduce the total number of messages in email
987         giving us a little performance bump.
988
989         Internally reviewed by Mike Fenton and Gen Mak.
990
991         * WebKitSupport/DOMSupport.cpp:
992         (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
993         (DOMSupport):
994         * WebKitSupport/DOMSupport.h:
995         * WebKitSupport/InputHandler.cpp:
996         * WebKitSupport/InputHandler.h:
997         (InputHandler):
998         * WebKitSupport/SpellingHandler.cpp:
999         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
1000         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1001         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1002         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
1003         * WebKitSupport/SpellingHandler.h:
1004
1005 2013-01-23  Shinya Kawanaka  <shinyak@chromium.org>
1006
1007         shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
1008         https://bugs.webkit.org/show_bug.cgi?id=107624
1009
1010         Reviewed by Dimitri Glazkov.
1011
1012         Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.
1013
1014         * Api/WebPage.cpp:
1015         (BlackBerry::WebKit::WebPagePrivate::webContext):
1016         * WebKitSupport/FatFingers.h:
1017         (BlackBerry::WebKit::FatFingersResult::node):
1018         * WebKitSupport/InPageSearchManager.cpp:
1019         (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
1020
1021 2013-01-22  Andrew Lo  <anlo@rim.com>
1022
1023         [BlackBerry] GIF & RAF animations sometimes don't resume after zoom
1024         https://bugs.webkit.org/show_bug.cgi?id=107590
1025
1026         Reviewed by Rob Buis.
1027         Internally reviewed by Jakob Petsovits.
1028
1029         Internal PR 276907.
1030         Dispatch render jobs when resuming backing store updates to perform jobs
1031         queued when updates were suspended.
1032
1033         * Api/BackingStore.cpp:
1034         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
1035
1036 2013-01-21  Nima Ghanavatian  <nghanavatian@rim.com>
1037
1038         [BlackBerry] Skip spell checking on single character strings
1039         https://bugs.webkit.org/show_bug.cgi?id=107463
1040
1041         Reviewed by Yong Li.
1042
1043         Check for a minimum string length when firing off spellcheck since we don't
1044         want to mark single letter words.
1045
1046         Internally reviewed by Mike Fenton.
1047
1048         * WebKitSupport/InputHandler.cpp:
1049         * WebKitSupport/SpellingHandler.cpp:
1050         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1051         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1052
1053 2013-01-20  Charles Wei  <charles.wei@torchmobile.com.cn>
1054
1055         [BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
1056         https://bugs.webkit.org/show_bug.cgi?id=107103
1057
1058         Reviewed by George Staikos.
1059         Internally reviewed by Jacky Jiang.
1060
1061         When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
1062         automatically zoom it to fit the viewport.
1063
1064         * Api/WebPage.cpp:
1065         (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
1066
1067 2013-01-20  Tiancheng Jiang  <tijiang@rim.com>
1068
1069         [BlackBerry] Improve Fatfinger phase.
1070         https://bugs.webkit.org/show_bug.cgi?id=107403
1071
1072         Reviewed by Rob Buis.
1073
1074         RIM PR 219489
1075         Internally reviewd by Mike Fenton & Gen Mak.
1076
1077         Treat ClickableByDefault and MadeClickableByTheWebpage elements as
1078         same category. Avoid unnecessary nodes check step.
1079
1080         * WebKitSupport/FatFingers.cpp:
1081         (BlackBerry::WebKit::FatFingers::isElementClickable):
1082         (BlackBerry::WebKit::FatFingers::FatFingers):
1083         (BlackBerry::WebKit::FatFingers::findBestPoint):
1084         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
1085         * WebKitSupport/FatFingers.h:
1086
1087 2013-01-18  Andrew Lo  <anlo@rim.com>
1088         [BlackBerry] When acquiring/releasing backing store memory, allow web page client control suspend/resuming of backing store
1089         https://bugs.webkit.org/show_bug.cgi?id=107307
1090
1091         Reviewed by Rob Buis.
1092         Internally reviewed by Jakob Petsovits.
1093
1094         Internal PR276660
1095         Have BackingStore::createBackingStoreMemory & releaseBackingStoreMemory only
1096         acquire & release the surface pool. It doesn't matter if either is called
1097         redundantly since SurfacePool has internal state to protect against that.
1098
1099         Resuming & suspending backing store and screen updates will be handled by
1100         the WebPageClient.
1101
1102         * Api/BackingStore.cpp:
1103         (BlackBerry::WebKit::BackingStore::acquireBackingStoreMemory):
1104         (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
1105         * Api/BackingStore.h:
1106
1107 2013-01-18  Nima Ghanavatian  <nghanavatian@rim.com>
1108
1109         [BlackBerry] Set spellchecking calculations on a timer to free up the WebKit thread
1110         https://bugs.webkit.org/show_bug.cgi?id=107284
1111
1112         Reviewed by Rob Buis.
1113
1114         PR282351
1115         Firing off spellcheck requests is tieing up the WebKit thread for an
1116         extended period of time. In testing with large blocks of text, this
1117         can be in the matter of 5-10 seconds. Though we are using asynchronous
1118         spellchecking, the process in which we break down blocks of text based
1119         on input_service limitations is the issue.
1120         Using a timer here which fires with an arbitrary timeout to allow for
1121         focus and interaction to maintain at a reasonable level.
1122         Further, pulling this code out of InputHandler and into its own class.
1123
1124         Internally reviewed by Mike Fenton and Gen Mak.
1125
1126         * WebKitSupport/InputHandler.cpp:
1127         (BlackBerry::WebKit::InputHandler::InputHandler):
1128         (BlackBerry::WebKit::InputHandler::~InputHandler):
1129         (BlackBerry::WebKit::InputHandler::callRequestCheckingFor):
1130         (WebKit):
1131         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
1132         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
1133         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
1134         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
1135         (BlackBerry::WebKit::InputHandler::setElementFocused):
1136         * WebKitSupport/InputHandler.h:
1137         (WebCore):
1138         (WebKit):
1139         (InputHandler):
1140         * WebKitSupport/SpellingHandler.cpp: Added.
1141         (WebKit):
1142         (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
1143         (BlackBerry::WebKit::SpellingHandler::~SpellingHandler):
1144         (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
1145         (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
1146         (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
1147         (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
1148         * WebKitSupport/SpellingHandler.h: Added.
1149         (WebCore):
1150         (WebKit):
1151         (SpellingHandler):
1152         (BlackBerry::WebKit::SpellingHandler::isSpellCheckActive):
1153         (BlackBerry::WebKit::SpellingHandler::setSpellCheckActive):
1154
1155 2013-01-18  Nima Ghanavatian  <nghanavatian@rim.com>
1156
1157         [BlackBerry] Check if continuous spellchecking is enabled before processing a request
1158         https://bugs.webkit.org/show_bug.cgi?id=107169
1159
1160         Reviewed by Rob Buis.
1161
1162         PR265815
1163         We set this value based on the global settings page. The
1164         spellcheck-on-focus codepath did not hit this, so focusing a
1165         field would not uphold the setting.
1166
1167         Internally reviewed by Mike Fenton and Gen Mak.
1168
1169         * WebKitSupport/DOMSupport.cpp:
1170         (BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):
1171         (DOMSupport):
1172         * WebKitSupport/DOMSupport.h:
1173         * WebKitSupport/InputHandler.cpp:
1174         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
1175
1176 2013-01-18  Seokju Kwon  <seokju.kwon@gmail.com>
1177
1178         Add explicit keyword to constructors in platform-specific InspectorClient
1179         https://bugs.webkit.org/show_bug.cgi?id=107255
1180
1181         Reviewed by Kentaro Hara.
1182
1183         Add explicit keyword to constructors that take one argument
1184         in platform-specific implementation of InspectorClient.
1185
1186         * WebCoreSupport/InspectorClientBlackBerry.h:
1187         (InspectorClientBlackBerry):
1188
1189 2013-01-18  Andrew Lo  <anlo@rim.com>
1190
1191         [BlackBerry] Assert failing in RenderQueue::renderScrollZoomJobs
1192         https://bugs.webkit.org/show_bug.cgi?id=107215
1193
1194         Reviewed by Rob Buis.
1195         Internally reviewed by Jakob Petsovits.
1196
1197         Internal PR276660
1198         Render jobs should not be performed if the backing store is inactive.
1199
1200         This occured when the browser was invoked, causing a web page to be made
1201         visible before the surface pool was resumed.
1202
1203         * Api/BackingStore.cpp:
1204         (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
1205
1206 2013-01-17  Yong Li  <yoli@rim.com>
1207
1208         [BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
1209         https://bugs.webkit.org/show_bug.cgi?id=107162
1210
1211         Reviewed by Rob Buis.
1212         Internally reviewed by Gen Mak and Mike Fenton.
1213
1214         Move the notification code from notifyInRegionScrollStopped() to reset() as there are
1215         other places where reset() gets called.
1216
1217         * Api/InRegionScroller.cpp:
1218         (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
1219         * Api/WebPage.cpp:
1220         (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
1221
1222 2013-01-17  Mike Fenton  <mifenton@rim.com>
1223
1224         [BlackBerry] Fix selection handle appearance for RTL text.
1225         https://bugs.webkit.org/show_bug.cgi?id=107043
1226
1227         Reviewed by Rob Buis.
1228
1229         PR 263585.
1230
1231         Invert the reported selection handle position if to match
1232         the visual order instead of the logical order to create the
1233         desired appearance for RTL text and directional selections.
1234
1235         Reviewed Internally by Gen Mak and Nima Ghanavatian.
1236
1237         * WebKitSupport/SelectionHandler.cpp:
1238         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
1239
1240 2013-01-16  Charles Wei  <charles.wei@torchmobile.com.cn>
1241
1242         [BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen mode if there's
1243         device rotation in fullscreen mode
1244         https://bugs.webkit.org/show_bug.cgi?id=107085
1245
1246         Reviewed by George STaikos.
1247         Also internally reviewed by Jacky Jiang.
1248
1249         We saved the scale and scroll position before entering full screen mode, so that we can restore
1250         them after leaving fullscreen mode, because entering fullscreen mode automatically changes the 
1251        scale to make the video to fit to the viewport. But if there's device rotation during the fullscreen,
1252        the scale and scroll position saved before may or may not apply anymore, we need to adjust the
1253        scale and/or scroll position if needed to make sure no over-scale or over-scroll in the new orientation.
1254
1255         * Api/WebPage.cpp:
1256         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1257         (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
1258         * Api/WebPage_p.h:
1259         (WebPagePrivate):
1260
1261 2013-01-16  Joe Mason  <jmason@rim.com>
1262
1263         [BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
1264         https://bugs.webkit.org/show_bug.cgi?id=105651
1265
1266         Reviewed by Darin Adler.
1267
1268         GeolocationClientBlackBerry::cancelPermissionRequest contains an ASSERT that the origin is
1269         in m_geolocationRequestMap. But it's perfectly valid for the origin to not be in the map -
1270         for instance, if GeolocationClientBlackBerry::requestPermission returned immediately,
1271         without putting it in the map, because geolocation was disabled. In this case the correct
1272         thing to do is just return - there is nothing to be done to cancel the permission.
1273
1274         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
1275         (GeolocationClientBlackBerry::cancelPermissionRequest):
1276
1277 2013-01-15  Mike Fenton  <mifenton@rim.com>
1278
1279         [BlackBerry] Don't overwrite field dir with current locale.
1280         https://bugs.webkit.org/show_bug.cgi?id=106932
1281
1282         Reviewed by Yong Li.
1283
1284         PR 212267.
1285
1286         Remove uncalled onInputLocaleChanged and stop re-writing the dir
1287         on input focus which prevented RTL fields from rendering properly.
1288
1289         Reviewed Internally by Eli Fidler.
1290
1291         * Api/WebPage.cpp:
1292         * Api/WebPage.h:
1293         * Api/WebPage_p.h:
1294         (WebPagePrivate):
1295         * WebKitSupport/InputHandler.cpp:
1296         * WebKitSupport/InputHandler.h:
1297         (InputHandler):
1298
1299 2013-01-15  Jacky Jiang  <zhajiang@rim.com>
1300
1301         [BlackBerry] Manual zoom propagates to next page load
1302         https://bugs.webkit.org/show_bug.cgi?id=106914
1303
1304         Reviewed by Yong Li.
1305         Internally reviewed by Eli Fidler and Jakob Petsovits.
1306
1307         PR: 280481
1308         During load committed, the web page scale was reset. However, UI thread
1309         still kept the old scale in UserInterfaceViewportAccessor so that it
1310         blitted the contents at the old scale although WebKit thread could
1311         update the UI thread scale later when finished the load.
1312         We should update the scale of the UI thread right after we reset it in
1313         WebKit thread to keep them in sync.
1314
1315         * Api/WebPage.cpp:
1316         (BlackBerry::WebKit::WebPagePrivate::resetScales):
1317
1318 2013-01-14  Otto Derek Cheung  <otcheung@rim.com>
1319
1320         [BlackBerry] FCC appears when switching search engine providers
1321         https://bugs.webkit.org/show_bug.cgi?id=106824
1322
1323         Magnifying glass appears when switching search engine providers
1324
1325         PR 279178
1326
1327         Reviewed by Rob Buis.
1328         Internal Reviewed by Mike Fenton.
1329
1330         We need to make sure fatfinger is touching a textfield when we tell notifyCaretChanged
1331         to show the FCC.
1332
1333         This behaviour is accidentally regressed in the fix in PR 267177, causing the FCC to show
1334         when the user touches an element that is not a textfield and changes the caret in the inputbar..
1335
1336         Tested that the behaviour in 267177 isn't reproducible and the FCC isn't invoked when we switch
1337         search engine providers.
1338
1339         * WebKitSupport/SelectionHandler.cpp:
1340         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
1341
1342 2013-01-14  Jacky Jiang  <zhajiang@rim.com>
1343
1344         [BlackBerry] Zoom is still possible when user-scalable=no
1345         https://bugs.webkit.org/show_bug.cgi?id=106809
1346
1347         Reviewed by George Staikos.
1348
1349         PR: 274566
1350         On wordpress.com, the contents were rendered at the width 343 which was
1351         1 css pixel larger than the expected device-width 342 so that we didn't
1352         respect the viewport.
1353         There was a RenderBlock on the page which contained "\n" and an
1354         inline-block. "\n" took 0.78 width and the inline-block took 342 width
1355         and they were unfortunately placed in the same InlineBox which caused
1356         the contents width 1 css pixels larger than the device-width.
1357         Allow the contents width to be 1 css pixel larger and still respect the
1358         viewport in such a special case.
1359
1360         * Api/WebPage.cpp:
1361         (BlackBerry::WebKit::WebPagePrivate::respectViewport):
1362
1363 2013-01-13  Xiaobo Wang  <xbwang@torchmobile.com.cn>
1364
1365         [BlackBerry] Add a public function WebPage::isLoading()
1366         https://bugs.webkit.org/show_bug.cgi?id=106751
1367
1368         PR 274392
1369
1370         Reviewed by George Staikos.
1371
1372         Need to get the load state in WebPageClient when resolving PR 274392.
1373
1374         * Api/WebPage.cpp:
1375         (BlackBerry::WebKit::WebPage::isLoading):
1376         (WebKit):
1377         * Api/WebPage.h:
1378
1379 2013-01-11  Andrew Lo  <anlo@rim.com>
1380
1381         [BlackBerry] Focus zoom animation doesn't occur on devices with physical keyboard
1382         https://bugs.webkit.org/show_bug.cgi?id=106719
1383
1384         Reviewed by Yong Li.
1385         Internally reviewed by Mike Fenton.
1386
1387         Internal PR 278687
1388
1389         Always ensureFocusTextElementVisible if an element is focused when
1390         the device has a physical keyboard.
1391
1392         * WebKitSupport/InputHandler.cpp:
1393         (BlackBerry::WebKit::InputHandler::setElementFocused):
1394
1395 2013-01-11  Otto Derek Cheung  <otcheung@rim.com>
1396
1397         [BlackBerry] Modifying the databaseQuota call to WebPageClient
1398         https://bugs.webkit.org/show_bug.cgi?id=106703
1399
1400         Reviewed by Yong Li.
1401
1402         The databaseQuota call in WebPageClientImpl is modified to take in
1403         BP:Strings directly. Also, we want to use the origin URL from the security origin.
1404         Not the database identifier.
1405
1406         * Api/WebPageClient.h:
1407         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1408         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1409
1410 2013-01-10  Yongxin Dai  <yodai@rim.com>
1411
1412         [BlackBerry] Handle the case that start/end position is out of unclipped selection region
1413         https://bugs.webkit.org/show_bug.cgi?id=106486
1414
1415         Reviewed by Rob Buis.
1416
1417         PR #270624
1418         Unclipped selection region should cover start/end position of the selection.
1419         Since we exclude hidden text when calculating unclipped selection region, the
1420         start/end position can be out of unclipped selection region if it is for hidden
1421         text. If that is the case, start/end handle will be invisible. To avoid invisible
1422         handle, we take unclipped selection region as reference rectangle in the case.
1423
1424         Internally reviewed by Genevieve Mak, Mike Fenton
1425
1426         * WebKitSupport/SelectionHandler.cpp:
1427         (BlackBerry::WebKit::referencePoint):
1428
1429 2013-01-09  Genevieve Mak  <gmak@rim.com>
1430
1431         [BlackBerry] Useless if statement check
1432         https://bugs.webkit.org/show_bug.cgi?id=106113
1433
1434         Reviewed by Yong Li.
1435
1436         Remove stray ! in if statement which was mistakenly left in during
1437         refactoring. Since Injected events are checked before they are sent to
1438         webkit, it didn't have an effect on behaviour.
1439
1440         * Api/WebPage.cpp:
1441         (BlackBerry::WebKit::WebPage::touchEvent):
1442
1443 2013-01-08  Otto Derek Cheung  <otcheung@rim.com>
1444
1445         [BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
1446         https://bugs.webkit.org/show_bug.cgi?id=106370
1447
1448         Reviewed by Yong Li.
1449
1450         Removing totalUsage in ChromeClientBlackBerry as we no longer use that variable.
1451
1452         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1453         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1454
1455 2013-01-08  Jacky Jiang  <zhajiang@rim.com>
1456
1457         [Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer dimensions
1458         https://bugs.webkit.org/show_bug.cgi?id=91748
1459
1460         Reviewed by Antonio Gomes.
1461
1462         PR: 195524
1463         The was originally from Antonio Gomes on PR195524. Bug 105488 has
1464         partially upstreamed that patch. This patch upstreams the rest of it.
1465
1466         * Api/WebPage.cpp:
1467         (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
1468         (BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
1469         * Api/WebPage_p.h:
1470         (WebPagePrivate):
1471         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1472         (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
1473
1474 2013-01-08  Mark Lam  <mark.lam@apple.com>
1475
1476         Removed the need for the ProposedDatabase mechanism.
1477         https://bugs.webkit.org/show_bug.cgi?id=106292.
1478
1479         Reviewed by Sam Weinig.
1480
1481         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1482         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1483         * WebCoreSupport/ChromeClientBlackBerry.h:
1484         (ChromeClientBlackBerry):
1485
1486 2013-01-08  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1487
1488         [BlackBerry] Can't select text out of current focused input
1489         https://bugs.webkit.org/show_bug.cgi?id=106322
1490
1491         Reviewed by Rob Buis.
1492
1493         PR270755
1494         Internally reviewed by Mike Fenton
1495
1496         When selection changed, the selection handler clips new selection with
1497         current focused node's boundary. So we clear focus before selectObject.
1498         This patch clear focus when selectObject is at a point but not at a node.
1499
1500         * WebKitSupport/SelectionHandler.cpp:
1501         (BlackBerry::WebKit::SelectionHandler::selectObject):
1502
1503 2013-01-08  Steve Block  <steveblock@chromium.org>
1504
1505         Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
1506         https://bugs.webkit.org/show_bug.cgi?id=106307
1507
1508         This matches other method names which distinguish between sizes and
1509         points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.
1510
1511         Reviewed by Kentaro Hara.
1512
1513         * Api/InRegionScroller.cpp:
1514         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1515
1516 2013-01-07  Genevieve Mak  <gmak@rim.com>
1517
1518         [BlackBerry] Touch Events are falling through fullscreen video
1519         https://bugs.webkit.org/show_bug.cgi?id=106112
1520
1521         Reviewed by Rob Buis.
1522
1523         Reviewed Internally by Jakob Petsovits.
1524         PR #274326
1525         Do not do viewport centering calculations if in fullscreen video.
1526         The offset should be zero.
1527
1528         * Api/WebPage.cpp:
1529         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1530
1531 2013-01-07  Jacky Jiang  <zhajiang@rim.com>
1532
1533         [BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
1534         https://bugs.webkit.org/show_bug.cgi?id=106236
1535
1536         Unreviewed, rolling out r136173.
1537         This becomes unnecessary now as there are alternative approaches to
1538         solve the issue from the client sides.
1539
1540         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1541         (WebCore::ChromeClientBlackBerry::createWindow):
1542
1543 2013-01-07  Jakob Petsovits  <jpetsovits@rim.com>
1544
1545         [BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
1546         https://bugs.webkit.org/show_bug.cgi?id=106225
1547         RIM PR 274948
1548
1549         Reviewed by George Staikos.
1550         Based on a patch by Chris Guan.
1551
1552         didRenderContent() has a mechanism to avoid double blits;
1553         when scrolling or zooming is enabled then we don't issue
1554         blitContents() as the client would (continually) do that
1555         already.
1556
1557         However, since r138024, didRenderContents() also deals
1558         with one-shot drawing synchronization and commits.
1559         When these are required, we can't just skip out or the
1560         backingstore and overlaying composited layers are likely
1561         to get out of sync. The condition also doesn't make much
1562         sense for direct rendering as no blit calls are issued
1563         at all when it is enabled.
1564
1565         Fix the issue by limiting the impact of the scroll/zoom
1566         early return to only regular blit operations.
1567
1568         * Api/BackingStore.cpp:
1569         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
1570
1571 2013-01-05  Andy Chen  <andchen@rim.com>
1572
1573         [BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
1574         https://bugs.webkit.org/show_bug.cgi?id=106141
1575
1576         Reviewed by Rob Buis.
1577
1578         If last fat finger result is a link, select it directly when
1579         SelectionHandler::selectAtPoint is called.
1580         PR 263449
1581         Internally reviewed by Mike Fenton and Yongxin Dai.
1582
1583         * WebKitSupport/SelectionHandler.cpp:
1584         (BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
1585         (WebKit):
1586         (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
1587         * WebKitSupport/SelectionHandler.h:
1588         (WebKit):
1589         (SelectionHandler):
1590
1591 2013-01-04  Mike Lattanzio  <mlattanzio@rim.com>
1592
1593         [BlackBerry] Last text input caret left visible when WebView entirely loses focus.
1594         https://bugs.webkit.org/show_bug.cgi?id=106124
1595
1596         Reviewed by George Staikos.
1597
1598         Internal PR 248834
1599
1600         There are numerous code paths that lead to repainting of the focus node
1601         when the focus moves to another node, but none seem to cover the case
1602         of focus leaving the document when there are no DocumentMarkers present.
1603
1604         * WebKitSupport/InputHandler.cpp:
1605         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
1606
1607 2013-01-04  Otto Derek Cheung  <otcheung@rim.com>
1608
1609         [BlackBerry]  FCC will show up as you type if you tap on the same input bar twice before typing
1610         https://bugs.webkit.org/show_bug.cgi?id=106116
1611
1612         Reviewed by Yong Li.
1613         Internal reviewed by Gen Mak.
1614         PR 267177
1615
1616         FCC is being invoked because the fatfinger result is no longer a reliable source
1617         to tell whether the caret change is caused by user touch input. Instead, we recognize all
1618         notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
1619         by SelectionHandler:inputHandlerDidFinishProcessingChange.
1620
1621         * WebKitSupport/SelectionHandler.cpp:
1622         (BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
1623         (BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
1624         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
1625         * WebKitSupport/SelectionHandler.h:
1626         (SelectionHandler):
1627
1628 2013-01-04  Yong Li  <yoli@rim.com>
1629
1630         [BlackBerry] Cached frame shouldn't access the page when being destroyed
1631         https://bugs.webkit.org/show_bug.cgi?id=105942
1632
1633         Reviewed by George Staikos.
1634
1635         Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
1636         after Frame has been detached.
1637
1638         RIM PR# 271237.
1639
1640         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1641         (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
1642
1643 2013-01-04  Nima Ghanavatian  <nghanavatian@rim.com>
1644
1645         [BlackBerry] Allow defaultTabEventHandler to trigger on tab
1646         https://bugs.webkit.org/show_bug.cgi?id=106118
1647
1648         Reviewed by Yong Li.
1649
1650         In order to support tabbing through input elements, amongst
1651         other things, we need to bipass the processing of the tab key as
1652         '\t'. This will simply insert 4 spaces in the field. Remove tab
1653         support from the key down map so that we don't translate it to
1654         an editor command.
1655
1656         Internally reviewed by Mike Fenton.
1657
1658         * WebCoreSupport/EditorClientBlackBerry.cpp:
1659         (WebCore):
1660
1661 2013-01-04  Mike Fenton  <mifenton@rim.com>
1662
1663         [BlackBerry] Enable Input Focus when handling touch events for JS
1664         https://bugs.webkit.org/show_bug.cgi?id=106109
1665
1666         Reviewed by Yong Li.
1667
1668         PR 273325.
1669
1670         Toggle input mode active when a touch event is
1671         received for JS processing to ensure state
1672         is updated even when event is consumed.
1673
1674         Reviewed Internally by Gen Mak.
1675
1676         * Api/WebPage.cpp:
1677         (BlackBerry::WebKit::WebPage::touchEvent):
1678
1679 2013-01-04  Adam Klein  <adamk@chromium.org>
1680
1681         Remove ENABLE_MUTATION_OBSERVERS #define
1682         https://bugs.webkit.org/show_bug.cgi?id=105459
1683
1684         Reviewed by Ryosuke Niwa.
1685
1686         * WebCoreSupport/AboutDataEnableFeatures.in:
1687
1688 2013-01-04  Anthony Scian  <ascian@rim.com>
1689
1690         [Blackberry] Static code analysis warning fixes
1691         https://bugs.webkit.org/show_bug.cgi?id=105679
1692
1693         Reviewed by Rob Buis.
1694
1695         Klocwork issue 959: check layer against NULL since it is used in both cases
1696         of the subsequent if-stmt
1697
1698         * Api/InRegionScroller.cpp:
1699         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
1700
1701 2013-01-02  Jacky Jiang  <zhajiang@rim.com>
1702
1703         [BlackBerry] file:/// pages don't get correct scales after several rotations and history navigations
1704         https://bugs.webkit.org/show_bug.cgi?id=105996
1705
1706         Reviewed by George Staikos.
1707
1708         PR: 273541
1709         When navigating back to the previous page on portrait mode, we were
1710         trying to set virtual viewport after recalculation. However, we didn't
1711         change the fixed layout size so that we still layouted the contents at
1712         the old virtual viewport size. In this case, the old virtual viewport
1713         was 570 * 293 which was set in landscape mode unfortunately. There
1714         would be no chance for such kind of contents size to fit the portrait
1715         mode screen size nicely.
1716         This was a regression of webkit/cc31d9bad where setViewMode() was
1717         removed as a noop. So just get setViewMode() back to apply the fixed
1718         layout size with a little bit change as SVG document path was proved
1719         invalid in that patch. Thanks to George for the float comparison change.
1720         Put a FIXME as we don't have a way to save the scale precisely before
1721         the rotation and history navigation currently.
1722
1723         * Api/WebPage.cpp:
1724         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
1725         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1726         (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
1727
1728 2013-01-02  Otto Derek Cheung  <otcheung@rim.com>
1729
1730         [BlackBerry] Do not determine db quota limit using db file size
1731         https://bugs.webkit.org/show_bug.cgi?id=105991
1732
1733         PR 267191
1734
1735         Reviewed by George Staikos.
1736
1737         Passing the current quota to WebPageClientImpl::databaseQuota so we can determine a better
1738         quota limit without using the db file size.
1739
1740         * Api/WebPageClient.h:
1741         * WebCoreSupport/ChromeClientBlackBerry.cpp:
1742         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1743
1744 2013-01-02  Yong Li  <yoli@rim.com>
1745
1746         [BlackBerry] Cached frame shouldn't access the page when being destroyed
1747         https://bugs.webkit.org/show_bug.cgi?id=105942
1748
1749         Reviewed by George Staikos.
1750
1751         In order to prevent our FrameLoaderClient from dangling WebPagePrivate object in any case,
1752         this patches clear the m_webPagePrivate pointer when the frame is detached or cached.
1753
1754         RIM PR# 272137.
1755
1756         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1757         (WebCore::FrameLoaderClientBlackBerry::isMainFrame):
1758         (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
1759         (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
1760         (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
1761
1762 2013-01-02  Nima Ghanavatian  <nghanavatian@rim.com>
1763
1764         [BlackBerry] Use fatfingers result when checking for misspelled words
1765         https://bugs.webkit.org/show_bug.cgi?id=105923
1766
1767         Reviewed by Yong Li.
1768
1769         PR270866
1770         Currently we are using the raw touch point when checking to see if spell check
1771         is required on a word. When tapping close to a boundary, the raw point can be
1772         placed off but fatfingers moves the point onto the word. This causes the caret
1773         to be placed on a word but no spell check request triggered.
1774
1775         Internally reviewed by Mike Fenton and Tiancheng Jiang
1776
1777         * WebKitSupport/TouchEventHandler.cpp:
1778         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
1779
1780 2012-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
1781
1782         [BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
1783         https://bugs.webkit.org/show_bug.cgi?id=105811
1784         RIM PR 272067
1785
1786         Reviewed by George Staikos.
1787         Internally Reviewed by Jakob Petsovits.
1788
1789         BackingStorePrivate::m_defersBlit is not used anywhere, it should
1790         be removed to simplify the code and to avoid confusion.
1791         * Api/BackingStore.cpp:
1792         (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
1793         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
1794         * Api/BackingStore.h:
1795         * Api/BackingStore_p.h:
1796         (BackingStorePrivate):
1797
1798 2012-12-26  Jakob Petsovits  <jpetsovits@rim.com>
1799
1800         [BlackBerry] Set load state for popups manually, in absence of a loader.
1801         https://bugs.webkit.org/show_bug.cgi?id=105708
1802         RIM PR 257216
1803
1804         Reviewed by George Staikos.
1805         Internally reviewed by Chris Guan.
1806
1807         The WebPage class relies on the load state for various things,
1808         among others it will only emit contents size changes after
1809         layouts if a load state other than None is set.
1810
1811         Given that popups write the web page content itself with no
1812         loader that would issue such notifications, the load state
1813         should probably just be set manually in this case.
1814
1815         * WebCoreSupport/PagePopupBlackBerry.cpp:
1816         (WebCore::PagePopupBlackBerry::init):
1817
1818 2012-12-26  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
1819
1820         [BlackBerry] Caret doesn't update position when scrolling text in Input element
1821         https://bugs.webkit.org/show_bug.cgi?id=105757
1822
1823         Reviewed by George Staikos.
1824
1825         PR 271627
1826         Internally reviewed by George Staikos.
1827
1828         Call FrameSelection's updateAppearence instead of SelectionHandler's
1829         selectionPositionChanged to update the caret position.
1830
1831         * Api/InRegionScroller.cpp:
1832         (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1833
1834 2012-12-25  Charles Wei  <charles.wei@torchmobile.com.cn>
1835
1836         [BlackBerry] Need to initialize the onLine in the global
1837         https://bugs.webkit.org/show_bug.cgi?id=105749
1838
1839         Reviewed by George Staikos.
1840
1841         The NetworkStatus is initialized to online in the constructor by default,
1842         we need to update it correctly with the network status at startup.
1843
1844         * Api/BlackBerryGlobal.cpp:
1845         (BlackBerry::WebKit::globalInitialize):
1846
1847 2012-12-24  Jakob Petsovits  <jpetsovits@rim.com>
1848
1849         [BlackBerry] Fix various RenderQueue bugs introduced by r138024.
1850         https://bugs.webkit.org/show_bug.cgi?id=105717
1851         RIM PR 269029
1852
1853         Reviewed by George Staikos.
1854
1855         Scroll/zoom jobs were pretty solid, but I managed to
1856         leave some bugs in the region handling of RenderQueue's
1857         renderRegularRenderJobs() function, causing us to skip
1858         a desired blit or render operation in cases where the
1859         region and tile tracking did not match up.
1860
1861         This commit fixes these errors.
1862
1863         * WebKitSupport/RenderQueue.cpp:
1864         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
1865
1866 2012-12-24  Charles Wei  <charles.wei@torchmobile.com.cn>
1867
1868         [BlackBerry] Close page popup when a page becomes invisible.
1869         https://bugs.webkit.org/show_bug.cgi?id=105704
1870
1871         Reviewed by George Staikos.
1872
1873         Reviewed internally by Jakob Petsovits.
1874
1875         * Api/WebPage.cpp:
1876         (BlackBerry::WebKit::WebPagePrivate::setVisible):
1877
1878 2012-12-23  Mary Wu  <mary.wu@torchmobile.com.cn>
1879
1880         [BlackBerry] give url when createWindow
1881         https://bugs.webkit.org/show_bug.cgi?id=105702
1882         RIM bug# 257329
1883
1884         Reviewed by George Staikos.
1885
1886         This is to revert previous commit 575407238c35f1a0fa7ff7dd5dbbf6cc3ece1107
1887         for integration issue of cascade and air, as old app side still use the url
1888         to invoke. It would unrevert after resolving the integration issue.
1889
1890         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1891         (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
1892
1893 2012-12-23  Jakob Petsovits  <jpetsovits@rim.com>
1894
1895         [BlackBerry] Specify tile usage enum for backingstore tiles.
1896         https://bugs.webkit.org/show_bug.cgi?id=105688
1897         RIM PR 262120
1898
1899         Reviewed by George Staikos.
1900
1901         This enables us to have separate tile sizes for
1902         backingstore / root layer purposes and generic layers.
1903
1904         * Api/BackingStore.cpp:
1905         (BlackBerry::WebKit::BackingStorePrivate::tileSize):
1906
1907 2012-12-21  Max Feil  <mfeil@rim.com>
1908
1909         [BlackBerry] Fullscreen video fixed position container horizontal position is wrong
1910         https://bugs.webkit.org/show_bug.cgi?id=105488
1911
1912         Reviewed by George Staikos.
1913
1914         The fix for https://bugs.webkit.org/show_bug.cgi?id=105333 has
1915         broken fullscreen video, which was compensating by doing its
1916         own positioning in x. My patch fixes things by making vertical
1917         and horizontal handling symmetrical.
1918         NOTE: This function was not upstreamed before, so you can't
1919         actually see my diff. See the bug.
1920
1921         * Api/WebPage.cpp:
1922         (WebKit):
1923         (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
1924
1925 2012-12-18  Nima Ghanavatian  <nghanavatian@rim.com>
1926
1927         [BlackBerry] Calculate correct word offsets for form elements.
1928         https://bugs.webkit.org/show_bug.cgi?id=105354
1929
1930         Reviewed by Rob Buis.
1931
1932         PR266117
1933         We need to calculate correct offsets for form elements, such as
1934         textareas, relative to the start of the field. This allows for correct
1935         spell checking of words in a textarea element after line breaks.
1936
1937         Internally reviewed by Mike Fenton.
1938
1939         * WebKitSupport/InputHandler.cpp:
1940         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
1941
1942 2012-12-18  Genevieve Mak  <gmak@rim.com>
1943
1944         [BlackBerry] Remove extra call to doFatFingers.
1945         https://bugs.webkit.org/show_bug.cgi?id=105347
1946
1947         Reviewed by Rob Buis.
1948
1949         Reviewed Internally by Mike Fenton.
1950         Now that we do fat fingers on touch start, we don't need this anymore.
1951
1952         * Api/WebPage.cpp:
1953         (BlackBerry::WebKit::WebPage::touchEvent):
1954
1955 2012-12-18  Genevieve Mak  <gmak@rim.com>
1956
1957         Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
1958         https://bugs.webkit.org/show_bug.cgi?id=105344
1959
1960         Reviewed by Antonio Gomes.
1961
1962         Reviewed Internally by Mike Fenton.
1963         We don't need to check the overflow for editable layers because there's
1964         no need for overflow to be set by the content.
1965         PR #231776
1966
1967         * WebKitSupport/InRegionScrollableArea.cpp:
1968         (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
1969
1970 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
1971
1972         [BlackBerry] Build fix for r138024.
1973         https://bugs.webkit.org/show_bug.cgi?id=105199
1974         RIM PR 260232
1975
1976         Reviewed by Yong Li.
1977
1978         The clearVisibleTiles() function doesn't exist anymore
1979         and apparently I fail at merge conflict resolution.
1980
1981         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1982         (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
1983
1984 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
1985
1986         [BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
1987         https://bugs.webkit.org/show_bug.cgi?id=105331
1988         RIM PR 260232
1989
1990         Reviewed by Adam Treat.
1991
1992         The concept of the "front state" is going away or will be
1993         marginalized/renamed, but I don't want to clutter upcoming
1994         patches with renames. So do the variable renames in here,
1995         once, and have future patches focus on actual behavior changes.
1996
1997         * Api/BackingStore.cpp:
1998         (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
1999         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2000         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2001         (BlackBerry::WebKit::BackingStorePrivate::render):
2002         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2003         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
2004         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
2005         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
2006         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2007         (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
2008
2009 2012-12-18  Nima Ghanavatian  <nghanavatian@rim.com>
2010
2011         [BlackBerry] Reduce calls to IMF on return
2012         https://bugs.webkit.org/show_bug.cgi?id=105308
2013
2014         Reviewed by Yong Li.
2015
2016         PR207743
2017         The extra calls of selection change and most importantly, end composition
2018         are sent incorrectly on return. This is causing our state to be reset
2019         every time we hit enter.
2020
2021         Internally reviewed by Mike Fenton and Gen Mak.
2022
2023         * WebKitSupport/InputHandler.cpp:
2024         (BlackBerry::WebKit::InputHandler::InputHandler):
2025         (BlackBerry::WebKit::InputHandler::nodeTextChanged):
2026         (BlackBerry::WebKit::InputHandler::selectionChanged):
2027         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2028         (BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
2029         (WebKit):
2030         * WebKitSupport/InputHandler.h:
2031         (InputHandler):
2032
2033 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2034
2035         [BlackBerry] Remove the visible tile buffer from the BackingStore.
2036         https://bugs.webkit.org/show_bug.cgi?id=105302
2037         RIM PR 260232
2038
2039         Reviewed by George Staikos.
2040
2041         The visible tile buffer was introduced as an additional
2042         buffering solution that was necessary because other
2043         buffers would only cover part of the screen and could
2044         only be swapped one by one, with long blocking calls
2045         between each newly rendered tile. By carrying an old copy
2046         of all tiles at once, we were avoiding checkerboard and
2047         visual artifacts during load time when much zoom-to-fit
2048         action is going on.
2049
2050         These days, the visual tile buffer hurts more than it helps,
2051         not only taking up lots of memory but also requiring
2052         complexity that we'd rather get rid of. Now that multiple
2053         buffers are being swapped into the user interface thread
2054         at once, the need for the visible tile buffer is no longer
2055         there and can be exchanged for standard geometry behavior.
2056
2057         This patch simply deletes the visible tile buffer to use
2058         existing other code instead. Differences in behavior are
2059         non-existent or negligible.
2060
2061         * Api/BackingStore.cpp:
2062         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2063         (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
2064         (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
2065         (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
2066         * Api/BackingStore_p.h:
2067         (BackingStorePrivate):
2068         * Api/WebPage.cpp:
2069         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2070         * WebKitSupport/SurfacePool.cpp:
2071         (BlackBerry::WebKit::SurfacePool::SurfacePool):
2072         (BlackBerry::WebKit::SurfacePool::initialize):
2073         (BlackBerry::WebKit::SurfacePool::createBuffers):
2074         (BlackBerry::WebKit::SurfacePool::releaseBuffers):
2075         * WebKitSupport/SurfacePool.h:
2076         (SurfacePool):
2077
2078 2012-12-18  Jakob Petsovits  <jpetsovits@rim.com>
2079
2080         [BlackBerry] Restructure the render queue to process multiple tiles at once.
2081         https://bugs.webkit.org/show_bug.cgi?id=105199
2082         RIM PR 260232
2083
2084         Reviewed by George Staikos.
2085         Internally reviewed by Arvid Nilsson.
2086
2087         Since my last big commit, r136442, the BackingStore's render()
2088         function is able to fetch multiple back buffers and swap them
2089         into the user interface thread in one go. However, it turns out
2090         that this is not enough to actually render to all of the
2091         available back buffers at once. The RenderQueue class was still
2092         working with a model based on processing one rectangle after
2093         another.
2094
2095         This commit rewrites large parts of RenderQueue to issue
2096         render() calls for multiple tiles at once. As WebCore painting
2097         gets cheaper and blocking becomes more of an issue, this commit
2098         does away with paints smaller than tile size and always renders
2099         whole tiles at once. This means the demise of RenderRect.
2100         As an additional benefit, this means we can remove the
2101         copyPreviousContentsToTileBuffer() function which caused
2102         potential threading issues as it was accessing a buffer
2103         now owned by the UI thread from the WebKit thread.
2104
2105         RenderQueue is also smarter than before in assigning batches,
2106         it now takes into account the number of available back buffers
2107         for rendering as well as excludes tiles outside contents
2108         boundaries. Regular render jobs continue being tracked as
2109         regions (and are being issued to didRenderContent()) with only
2110         the changed content regions. Everything else switches over to
2111         tile index lists from previously lists of rectangles.
2112         By default, we render as many tiles at once as we can grab
2113         back buffers, or until a given set of jobs is done.
2114         For high-priority jobs, render() will be called in a loop.
2115
2116         To allow for the necessary changes in render() and improve
2117         reliability in the same go, we now call render() almost
2118         exclusively through RenderQueue. Other places would often
2119         call renderVisibleContents() in situations where rendering
2120         is not possible, geometries don't get updated, or content
2121         rendered notifications would not get issued to the client.
2122         By replacing renderVisibleContents() with a scheduled
2123         high-priority queue that's immediately being processed
2124         (but only if possible), these problems go away.
2125
2126         * Api/BackingStore.cpp:
2127         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
2128         (BlackBerry::WebKit::BackingStorePrivate::repaint):
2129         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
2130         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
2131         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2132         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2133         (BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
2134         (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
2135         (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
2136         (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
2137         (BlackBerry::WebKit::BackingStorePrivate::render):
2138         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
2139         (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
2140         (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
2141         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2142         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
2143         (BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
2144         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
2145         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2146         (BlackBerry::WebKit::BackingStorePrivate::updateTile):
2147         (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
2148         (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
2149         * Api/BackingStore_p.h:
2150         (BackingStorePrivate):
2151         * Api/WebPage.cpp:
2152         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2153         (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
2154         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
2155         * Api/WebPageCompositor.cpp:
2156         (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
2157         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2158         (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
2159         * WebKitSupport/RenderQueue.cpp:
2160         (BlackBerry::WebKit::compareRectOneDirection):
2161         (BlackBerry::WebKit::tileIndexIsLessThan):
2162         (WebKit):
2163         (BlackBerry::WebKit::tileIndexLessThanFunction):
2164         (BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
2165         (BlackBerry::WebKit::TileIndexLessThan::operator()):
2166         (TileIndexLessThan):
2167         (BlackBerry::WebKit::RenderQueue::reset):
2168         (BlackBerry::WebKit::RenderQueue::isEmpty):
2169         (BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
2170         (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
2171         (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
2172         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
2173         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
2174         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
2175         (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
2176         (BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
2177         (BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
2178         (BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
2179         (BlackBerry::WebKit::RenderQueue::tileRegion):
2180         (BlackBerry::WebKit::RenderQueue::addToQueue):
2181         (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
2182         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
2183         (BlackBerry::WebKit::RenderQueue::quickSort):
2184         (BlackBerry::WebKit::RenderQueue::visibleContentChanged):
2185         (BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
2186         (BlackBerry::WebKit::RenderQueue::clear):
2187         (BlackBerry::WebKit::RenderQueue::clearRegions):
2188         (BlackBerry::WebKit::RenderQueue::clearTileIndexes):
2189         (BlackBerry::WebKit::RenderQueue::render):
2190         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
2191         (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
2192         (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
2193         * WebKitSupport/RenderQueue.h:
2194         (WebKit):
2195         (RenderQueue):
2196         * WebKitSupport/SurfacePool.cpp:
2197         (BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
2198         (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
2199         * WebKitSupport/SurfacePool.h:
2200         (SurfacePool):
2201         * WebKitSupport/TileIndex.h:
2202         (WebKit):
2203
2204 2012-12-17  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
2205
2206         [BlackBerry] Editable text element can't be selected
2207         https://bugs.webkit.org/show_bug.cgi?id=105240
2208
2209         Reviewed by Rob Buis.
2210         Internally reviewed by Genevieve Mak and Mike Fenton.
2211
2212         Internal PR266755
2213         When the target is Text, we should allow it to collect text nodes in
2214         the shadow tree of text editable elements.
2215
2216         * WebKitSupport/FatFingers.cpp:
2217         (BlackBerry::WebKit::FatFingers::getNodesFromRect):
2218
2219 2012-12-17  Yongxin Dai  <yodai@rim.com>
2220
2221         [BlackBerry] Prevent selection handles from being rendered after selection was canceled
2222         https://bugs.webkit.org/show_bug.cgi?id=105203
2223
2224         Reviewed by Rob Buis.
2225
2226         PR255438
2227
2228         Here is the explanation why handles occur without selection overlay.
2229         1. Still touch at current selection (Selection A) initiated by touch-hold
2230         2. Selection expanding (Selection B) is ongoing
2231         3. Finger moves. In UI thread:
2232             1) SelectionHander::cancelSelection() gets called.
2233                 a. Selection A is canceled immediately (clear selecting state and hide handles)
2234                 b. Post a request to webkit thread to cancel Selection A.
2235         4. In webkit thread:
2236             1) Selection B becomes active selection
2237                 a. Show selection overlay for Selection B
2238                 b. Dispatch Selection B to UI thread to show handles
2239             2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled.
2240             The visual change is Selection overlay for Selection B becomes invisible..
2241         5. In UI thread:
2242             Selection B is rendered. The start handle and the end handle occur without selection overlay.
2243
2244         The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.
2245
2246         Reviewed Internally by Mike Fenton.
2247
2248         * WebKitSupport/SelectionHandler.cpp:
2249         (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2250
2251 2012-12-17  Yong Li  <yoli@rim.com>
2252
2253         [BlackBerry] Null pointer access in compositorDrawsRootLayer
2254         https://bugs.webkit.org/show_bug.cgi?id=105204
2255
2256         Reviewed by Rob Buis.
2257
2258         PR# 267188.
2259         Add a null check for m_mainFrame in the function.
2260
2261         * Api/WebPage.cpp:
2262         (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
2263
2264 2012-12-17  Andrew Lo  <anlo@rim.com>
2265
2266         [BlackBerry] Use application size rather than screen size where appropriate.
2267         https://bugs.webkit.org/show_bug.cgi?id=105201
2268
2269         Reviewed by Rob Buis.
2270         Internally reviewed by Jeff Rogers.
2271
2272         Switch from screenSize to applicationSize where appropriate.
2273         Internal PR266400
2274
2275         * Api/WebPage.cpp:
2276         (BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
2277         (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
2278         * WebKitSupport/SurfacePool.cpp:
2279         (BlackBerry::WebKit::SurfacePool::initialize):
2280
2281 2012-12-17  Mike Fenton  <mifenton@rim.com>
2282
2283         [BlackBerry] Improve DOMSupport visibleSelectionForClosestActualWordStart for content editable.
2284         https://bugs.webkit.org/show_bug.cgi?id=105198
2285
2286         Reviewed by Rob Buis.
2287
2288         PR 258038.
2289
2290         Improve closest word matching by giving preference to the left when
2291         distances are equal.
2292
2293         Also enforce container matching to avoid selecting the paragraph
2294         marker if a CE div is followed immediately by a CE paragraph.
2295
2296         Minor refactor - don't calculate the distance if the selection
2297         isn't on a word.
2298
2299         Reviewed Internally by Gen Mak and Nima Ghanavatian.
2300
2301         * WebKitSupport/DOMSupport.cpp:
2302         (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
2303
2304 2012-12-17  Jakob Petsovits  <jpetsovits@rim.com>
2305
2306         [BlackBerry] Clean up log output in WebKit/blackberry.
2307         https://bugs.webkit.org/show_bug.cgi?id=104823
2308
2309         Reviewed by George Staikos.
2310
2311         Behavior-preserving change, fixing many issues with logging:
2312         - Call logAlways() instead of BBLOG() in already defined-out debug blocks.
2313         - Call logAlways() instead of BBLOG() for serious errors, too.
2314         - Fix build for the DEBUG_OVERFLOW_DETECTION block in ChromeClientBlackBerry.
2315         - Fix build for double declarations of "elapsed" variables in RenderQueue.
2316         - Fix compiler warnings due to format string / parameter mismatches.
2317         - Remove unnecessary trailing newlines in logged strings.
2318         - Consistently use Platform:: as prefix except inside WebCore-namespaced code.
2319         - Use indentation that actually passes WebKit style checks.
2320         - Change point/size/rect output to use Platform toString() formats for consistency.
2321
2322         * Api/BackingStore.cpp:
2323         (BlackBerry::WebKit::bestDivisor):
2324         (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
2325         (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
2326         (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
2327         (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
2328         (BlackBerry::WebKit::BackingStorePrivate::repaint):
2329         (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
2330         (BlackBerry::WebKit::BackingStorePrivate::scroll):
2331         (BlackBerry::WebKit::BackingStorePrivate::renderJob):
2332         (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
2333         (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
2334         (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
2335         (BlackBerry::WebKit::BackingStorePrivate::render):
2336         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2337         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2338         (BlackBerry::WebKit::BackingStorePrivate::renderContents):
2339         (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
2340         (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
2341         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
2342         (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
2343         * Api/WebPage.cpp:
2344         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2345         (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
2346         (BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
2347         (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
2348         (BlackBerry::WebKit::WebPage::touchEvent):
2349         (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
2350         (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
2351         (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
2352         (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
2353         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2354         (WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
2355         * WebKitSupport/FatFingers.cpp:
2356         (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
2357         (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
2358         (BlackBerry::WebKit::FatFingers::checkForText):
2359         * WebKitSupport/InputHandler.cpp:
2360         (BlackBerry::WebKit::convertStringToWchar):
2361         (BlackBerry::WebKit::convertStringToWcharVector):
2362         (BlackBerry::WebKit::convertSpannableStringToString):
2363         (BlackBerry::WebKit::InputHandler::learnText):
2364         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2365         (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
2366         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2367         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2368         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2369         (BlackBerry::WebKit::InputHandler::setElementUnfocused):
2370         (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
2371         (BlackBerry::WebKit::InputHandler::setElementFocused):
2372         (BlackBerry::WebKit::InputHandler::spellCheckBlock):
2373         (BlackBerry::WebKit::InputHandler::nodeTextChanged):
2374         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
2375         (BlackBerry::WebKit::InputHandler::frameUnloaded):
2376         (BlackBerry::WebKit::InputHandler::selectionChanged):
2377         (BlackBerry::WebKit::InputHandler::setSelection):
2378         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2379         (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
2380         (BlackBerry::WebKit::InputHandler::deleteText):
2381         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2382         (BlackBerry::WebKit::InputHandler::setComposingRegion):
2383         (BlackBerry::WebKit::InputHandler::finishComposition):
2384         (BlackBerry::WebKit::InputHandler::setText):
2385         (BlackBerry::WebKit::InputHandler::setTextAttributes):
2386         (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
2387         (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
2388         (BlackBerry::WebKit::InputHandler::setComposingText):
2389         (BlackBerry::WebKit::InputHandler::commitText):
2390         * WebKitSupport/RenderQueue.cpp:
2391         (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
2392         (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
2393         (BlackBerry::WebKit::RenderQueue::render):
2394         (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
2395         (BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
2396         (BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
2397         (BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
2398         (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
2399         (BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):
2400         * WebKitSupport/SelectionHandler.cpp:
2401         (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2402         (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
2403         (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
2404         (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
2405         (BlackBerry::WebKit::SelectionHandler::setSelection):
2406         (BlackBerry::WebKit::SelectionHandler::selectObject):
2407         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2408         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2409         * WebKitSupport/SurfacePool.cpp:
2410         (BlackBerry::WebKit::SurfacePool::initialize):
2411
2412 2012-12-17  Anthony Scian  <ascian@rim.com>
2413
2414         [Blackberry] Static code analysis warning fixes
2415         https://bugs.webkit.org/show_bug.cgi?id=105129
2416
2417         Reviewed by Rob Buis.
2418
2419         - disable copy/op= in BackingStore
2420         - cache and check intermediate values in parentLayer
2421         - disable copy/op= in InRegionScroller
2422         - disable copy/op= in WebPageGroupLoadDeferrer
2423         - disable copy/op= in WebSettings
2424         - disable copy/op= in WebViewportArguments
2425         - disable copy/op= in BackingStoreClient
2426         - disable copy/op= in TileBuffer
2427         - if stopNode is not NULL, loop could iterate past NULL; added NULL check to loop
2428           to make the code more robust
2429
2430         * Api/BackingStore.h:
2431         * Api/InRegionScroller.cpp:
2432         (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
2433         (BlackBerry::WebKit::parentLayer):
2434         * Api/InRegionScroller.h:
2435         * Api/WebPageGroupLoadDeferrer.h:
2436         * Api/WebSettings.h:
2437         * Api/WebViewportArguments.h:
2438         * WebKitSupport/BackingStoreClient.h:
2439         (BackingStoreClient):
2440         * WebKitSupport/BackingStoreTile.h:
2441         (TileBuffer):
2442         * WebKitSupport/DOMSupport.cpp:
2443         (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
2444
2445 2012-12-16  Arvid Nilsson  <anilsson@rim.com>
2446
2447         [BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API
2448         https://bugs.webkit.org/show_bug.cgi?id=105143
2449         RIM PR 171941
2450
2451         Reviewed by Rob Buis.
2452         Internally reviewed by George Staikos.
2453
2454         TouchPoint instances now provide document coordinates for the viewport
2455         and content position of the touch event. The pixel coordinates stored
2456         in the TouchPoint should no longer be needed in WebKit. One exception
2457         is when passing events to a full screen plugin.
2458
2459         Also adapt to new method names and encapsulation of TouchPoint data
2460         members.
2461
2462         * Api/WebPage.cpp:
2463         (BlackBerry::WebKit::WebPage::touchEvent):
2464         (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2465         (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
2466         (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
2467         * WebKitSupport/InputHandler.cpp:
2468         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2469         * WebKitSupport/InputHandler.h:
2470         (InputHandler):
2471         * WebKitSupport/TouchEventHandler.cpp:
2472         (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
2473         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2474         * WebKitSupport/TouchEventHandler.h:
2475         (TouchEventHandler):
2476
2477 2012-12-15  Anders Carlsson  <andersca@apple.com>
2478
2479         Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
2480         https://bugs.webkit.org/show_bug.cgi?id=105122
2481
2482         Reviewed by Andreas Kling.
2483
2484         Update for WebCore changes.
2485
2486         * Api/WebPage.h:
2487         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2488         (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
2489         * WebCoreSupport/FrameLoaderClientBlackBerry.h:
2490         (FrameLoaderClientBlackBerry):
2491
2492 2012-12-16  Jacky Jiang  <zhajiang@rim.com>
2493
2494         [BlackBerry] GUIMark3 page is rendered at a large scale during history navigation back
2495         https://bugs.webkit.org/show_bug.cgi?id=105130
2496
2497         Reviewed by George Staikos.
2498
2499         PR: 265999
2500         During history navigation, UI thread can blit the contents at a bad
2501         view state before WebKit thread restores the view state.
2502         Suspend screen updates before goBackOrForward() and resume thereafter
2503         so that screen can be updated after the correct view state is updated.
2504         No need to render or blit here, as goBackOrForward() can dispatch a
2505         message to WebKit thread to do that in WebPagePrivate::restoreHistoryViewState().
2506
2507         * Api/WebPage.cpp:
2508         (BlackBerry::WebKit::WebPage::goBackOrForward):
2509
2510 2012-12-15  Nima Ghanavatian  <nghanavatian@rim.com>
2511
2512         [BlackBerry] Pass key modifiers with touch and mouse events
2513         https://bugs.webkit.org/show_bug.cgi?id=105108
2514
2515         Reviewed by Rob Buis.
2516
2517         Pass key modifiers to allow for added functionality, such as
2518         shift+click to highlight.
2519
2520         Internally reviewed by Gen Mak.
2521
2522         * Api/WebPage.cpp:
2523         (BlackBerry::WebKit::WebPagePrivate::webContext):
2524         (BlackBerry::WebKit::WebPagePrivate::updateCursor):
2525         (BlackBerry::WebKit::WebPage::mouseEvent):
2526         (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2527         * Api/WebPage.h:
2528         * WebKitSupport/TouchEventHandler.cpp:
2529         (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
2530         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2531         (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
2532         * WebKitSupport/TouchEventHandler.h:
2533         (TouchEventHandler):
2534
2535 2012-12-15  Nima Ghanavatian  <nghanavatian@rim.com>
2536
2537         [BlackBerry] Clean up allocated memory from InputMethodSupport
2538         https://bugs.webkit.org/show_bug.cgi?id=105110
2539
2540         Reviewed by Rob Buis.
2541
2542         PR265919
2543         We are deep copying the spannable_string from IMF and freeing
2544         here once we're done with it.
2545
2546         Internally reviewed by Jeff Rogers.
2547
2548         * WebKitSupport/InputHandler.cpp:
2549         (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2550
2551 2012-12-14  Parth Patel  <parpatel@rim.com>
2552
2553         [BlackBerry] Allow plugins to be disabled by shared library filename
2554         https://bugs.webkit.org/show_bug.cgi?id=101274
2555
2556         Reviewed by Yong Li.
2557
2558         Fixing build error.
2559
2560         * Api/WebPage.cpp:
2561         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
2562
2563 2012-12-13  Jacky Jiang  <zhajiang@rim.com>
2564
2565         [BlackBerry][Fullscreen] Exiting fullscreen does not set the correct scroll position
2566         https://bugs.webkit.org/show_bug.cgi?id=104958
2567
2568         Reviewed by Antonio Gomes.
2569         Internally reviewed by Arvid Nilsson and Max Feil.
2570
2571         PR: 231174
2572         When leaving fullscreen, WebPage scale and scroll position can't return
2573         to the original scale and scroll position.
2574         We can't restore them in WebPagePrivate::exitFullScreenForElement()
2575         as they can still be changed thereafter during the async
2576         setViewportSize(). And also the async setViewportSize() from the app
2577         side isn't guaranteed as some apps don't need to resize the viewport if
2578         their windows are already fullscreen.
2579         The restoration is basically only needed if viewport size is changed.
2580         At the point of entering fullscreen, we can safely assume that there
2581         would be a viewport size change thereafter if the current visible size
2582         and screen size are not equal. Based on this assumption, we can save
2583         the scale and position before entering fullscreen and restore them in
2584         setViewportSize() thereafter.
2585
2586         * Api/WebPage.cpp:
2587         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2588         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2589         * Api/WebPage_p.h:
2590         (WebPagePrivate):
2591
2592 2012-12-13  Yong Li  <yoli@rim.com>
2593
2594         [BlackBerry] Possible JS re-entrancy caused by UI event handler
2595         https://bugs.webkit.org/show_bug.cgi?id=84862
2596
2597         Reviewed by Rob Buis.
2598
2599         Fix an obvious bug in previous patch.
2600
2601         * Api/WebPage.cpp:
2602         (BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):
2603
2604 2012-12-13  Parth Patel  <parpatel@rim.com>, Max Feil <mfeil@rim.com>
2605
2606         Allow plugins to be disabled by shared library filename
2607         https://bugs.webkit.org/show_bug.cgi?id=101274
2608
2609         Reviewed by Antonio Gomes.
2610
2611         Mechanism allows plugins to be disabled by specifying their shared library filenames.
2612         Once disabled, a plugin's shared library should never be loaded.
2613
2614         * Api/WebPage.cpp:
2615         (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
2616         (WebKit):
2617         (BlackBerry::WebKit::WebPage::updateDisabledPluginFiles):
2618         * Api/WebPage.h:
2619
2620 2012-12-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2621
2622         NetworkInfoController needs to support destructor
2623         https://bugs.webkit.org/show_bug.cgi?id=104642
2624
2625         Reviewed by Kentaro Hara.
2626
2627         Though NetworkInfoController can be referenced by each port in order to update network status change,
2628         there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
2629         controller is destroyed.
2630
2631         * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
2632         (WebCore::NetworkInfoClientBlackBerry::networkInfoControllerDestroyed):
2633         (WebCore):
2634         * WebCoreSupport/NetworkInfoClientBlackBerry.h:
2635         (NetworkInfoClientBlackBerry):
2636
2637 2012-12-12  Mike Lattanzio  <mlattanzio@rim.com>
2638
2639         [BlackBerry] Ensure InRegionScrollableArea is valid before using.
2640         https://bugs.webkit.org/show_bug.cgi?id=104832
2641
2642         Reviewed by Antonio Gomes.
2643
2644         Make sure the InRegionScrollableArea we are about to scroll is
2645         still valid by ensuring its present in our cache of scrollable areas.
2646         Internal PR: 258475
2647         Internal Review: Gen Mak
2648
2649         We cache a RefPtr for each scrollable area at the time we discover them,
2650         but this cache can get cleared anytime and then the references will be
2651         released. If a request comes in to scroll a region which no longer
2652         exists we have to ignore it.
2653
2654         * Api/InRegionScroller.cpp:
2655         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
2656         (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
2657         (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableLayerWebKitThread):
2658         (WebKit):
2659         (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableNode):
2660         * Api/InRegionScroller_p.h:
2661         (WebCore):
2662         (InRegionScrollerPrivate):
2663         * WebKitSupport/InRegionScrollableArea.cpp:
2664         (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableLayer):
2665         (WebKit):
2666         (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableNode):
2667         * WebKitSupport/InRegionScrollableArea.h:
2668         (InRegionScrollableArea):
2669
2670 2012-12-12  Mark Lam  <mark.lam@apple.com>
2671
2672         Encapsulate externally used webdatabase APIs in DatabaseManager.
2673         https://bugs.webkit.org/show_bug.cgi?id=104741.
2674
2675         Reviewed by Sam Weinig.
2676
2677         Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
2678         and DatabaseContext directly. This is to prepare for upcoming webkit2
2679         refactoring.
2680
2681         * Api/WebPage.cpp:
2682         (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
2683         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2684         (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
2685
2686 2012-12-12  Mike Fenton  <mifenton@rim.com>
2687
2688         [BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitespace between them.
2689         https://bugs.webkit.org/show_bug.cgi?id=104837
2690
2691         Reviewed by Rob Buis.
2692
2693         PR 258038.
2694
2695         Fix selection at the end of content editable text block.
2696
2697         The next character may be in the next block bypassing the distance
2698         comparison logic we have, remove the check for next character being
2699         whitespace
2700
2701         Reviewed Internally by Nima Ghanavatian.
2702
2703         * WebKitSupport/DOMSupport.cpp:
2704         (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
2705
2706 2012-12-12  Alexey Proskuryakov  <ap@apple.com>
2707
2708         Make LOG() work in WebProcess and NetworkProcess
2709         https://bugs.webkit.org/show_bug.cgi?id=104718
2710
2711         Reviewed by Tim Horton.
2712
2713         * Api/BlackBerryGlobal.cpp: Include InitializeLogging.h
2714
2715 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
2716
2717         Vibration API: IDL type doesn't match implementation type
2718         https://bugs.webkit.org/show_bug.cgi?id=103899
2719
2720         Reviewed by Kentaro Hara.
2721
2722         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
2723         Therefore unsigned long need to be changed to unsigned for the Vibration API.
2724         - Change a parameter type of vibrate function from unsigned long to unsigned.
2725
2726         * WebCoreSupport/VibrationClientBlackBerry.cpp:
2727         (WebCore::VibrationClientBlackBerry::vibrate):
2728         * WebCoreSupport/VibrationClientBlackBerry.h:
2729         (VibrationClientBlackBerry):
2730
2731 2012-12-11  Nima Ghanavatian  <nghanavatian@rim.com>
2732
2733         [BlackBerry] Redraw spell check dialog after rotation.
2734         https://bugs.webkit.org/show_bug.cgi?id=104737
2735
2736         Reviewed by Rob Buis.
2737
2738         After rotating the device, all dialogs are dismissed. We should
2739         restore the spell check dialog as it is still valid after
2740         rotation and the user will expect it there.
2741
2742         Internally reviewed by Mike Fenton and Gen Mak.
2743
2744         * Api/WebPage.cpp:
2745         (BlackBerry::WebKit::WebPage::applyPendingOrientationIfNeeded):
2746
2747 2012-12-11  Nima Ghanavatian  <nghanavatian@rim.com>
2748
2749         [BlackBerry] Shift the spell check dialog to align with text after transformation
2750         https://bugs.webkit.org/show_bug.cgi?id=104716
2751
2752         Reviewed by Rob Buis.
2753
2754         PR245033
2755         As the page is transformed, we should redraw the dialog box to align
2756         with the new text position. We send a message to move the dialog
2757         box from different spots to account for scrolling. This includes
2758         keyboard transitions from hidden to displayed and centering of
2759         focus around a new touch point. We do not reposition on manual user
2760         scrolling of the page, as this simply dismisses the dialog.
2761
2762         Internally reviewed by Mike Fenton and Gen Mak.
2763
2764         * Api/WebPage.cpp:
2765         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2766         * Api/WebPageClient.h:
2767         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2768         (WebCore::ChromeClientBlackBerry::scroll):
2769         * WebKitSupport/InputHandler.cpp:
2770         (BlackBerry::WebKit::InputHandler::InputHandler):
2771         (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2772         (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2773         (BlackBerry::WebKit::InputHandler::redrawSpellCheckDialogIfRequired):
2774         (WebKit):
2775         * WebKitSupport/InputHandler.h:
2776         (InputHandler):
2777         (BlackBerry::WebKit::InputHandler::clearDidSpellCheckState):
2778         (BlackBerry::WebKit::InputHandler::didSpellCheckWord):
2779         * WebKitSupport/TouchEventHandler.cpp:
2780         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2781
2782 2012-12-11  Genevieve Mak  <gmak@rim.com>
2783
2784         [BlackBerry] Avoid multiple calls to fat fingers
2785         https://bugs.webkit.org/show_bug.cgi?id=104703
2786
2787         Reviewed by Rob Buis.
2788
2789         We already run fat fingers on touch start. No need to do it again
2790         in the general use case.
2791
2792         * WebKitSupport/TouchEventHandler.cpp:
2793         (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2794
2795 2012-12-11  Mike West  <mkwst@chromium.org>
2796
2797         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
2798         https://bugs.webkit.org/show_bug.cgi?id=66371
2799
2800         Reviewed by Pavel Feldman.
2801
2802         Drops WebCore::MessageType from the addMessageToConsole method.
2803
2804         * WebCoreSupport/ChromeClientBlackBerry.cpp:
2805         (WebCore::ChromeClientBlackBerry::addMessageToConsole):
2806         * WebCoreSupport/ChromeClientBlackBerry.h:
2807         (ChromeClientBlackBerry):
2808
2809 2012-12-10  Max Feil  <mfeil@rim.com>
2810
2811         [BlackBerry] Flash content is being rendered as garbled characters when Flashplayer is disabled
2812         https://bugs.webkit.org/show_bug.cgi?id=104505
2813
2814         Reviewed by Antonio Gomes.
2815
2816         The check to allow video and audio as the source of embed and
2817         object elements is causing a problem when the Flashplayer plugin
2818         is disabled. We have to take Flash content into account in this
2819         check otherwise the swf contents will be rendered as garbled
2820         text characters where there should just be blank space.
2821
2822         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2823         (WebCore::FrameLoaderClientBlackBerry::createPlugin):
2824
2825 2012-12-10  Parth Patel  <parpatel@rim.com>
2826
2827         [BlackBerry] Make hiddenPageDomTimerInterval a setting 
2828         https://bugs.webkit.org/show_bug.cgi?id=104555
2829
2830         Reviewed by Yong Li.
2831
2832         HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
2833         when needed.
2834
2835         * Api/BlackBerryGlobal.cpp:
2836         (BlackBerry::WebKit::globalInitialize):
2837
2838 2012-12-10  Nima Ghanavatian  <nghanavatian@rim.com>
2839
2840         [BlackBerry] Fix warning for comparison between signed and unsigned
2841         https://bugs.webkit.org/show_bug.cgi?id=104563
2842
2843         Reviewed by Rob Buis.
2844
2845         * WebKitSupport/InputHandler.cpp:
2846         (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
2847
2848 2012-12-10  Charles Wei  <charles.wei@torchmobile.com.cn>
2849
2850         [BlackBerry] Webkit crashes sometimes (even though very rarely) when deleting a webview
2851         https://bugs.webkit.org/show_bug.cgi?id=104504
2852
2853         Reviewed by George Staikos.
2854
2855         When deleting a webview, the webkit thread will send a sync message to userInterfaceThread
2856         to delete handlers, including the viewport accessor. But the UserInterfaceThread could be
2857         doing a blit after it has deleted the viewport accessor and before the webkit thread gets
2858         the time slot to resume it's operation to clean up the webview, which leaves a very short
2859         time that viewport accessor of a webpage has been deleted while the webpage is still in
2860         the process of deleting, and the viewport accessor is referenced in the UserInterfaceThread.
2861
2862         So we need to check if the viewport accessor is NULL before using it in the backingstore code.
2863
2864         * Api/BackingStore.cpp:
2865         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2866         (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
2867
2868 2012-12-10  Kent Tamura  <tkent@chromium.org>
2869
2870         Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
2871         https://bugs.webkit.org/show_bug.cgi?id=104508
2872
2873         Reviewed by Kentaro Hara.
2874
2875         * WebKitSupport/InputHandler.cpp:
2876         (BlackBerry::WebKit::InputHandler::openDatePopup): Use isDisabledOrReadOnly.
2877         (BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
2878
2879 2012-12-08  Jacky Jiang  <zhajiang@rim.com>
2880
2881         [BlackBerry] Google results page rendering issue with RTL languages like arabic/hebrew
2882         https://bugs.webkit.org/show_bug.cgi?id=104451
2883
2884         Reviewed by Rob Buis.
2885
2886         PR: 206372
2887         On Google results page, we layout the contents at the width of 833.
2888         However, "appbar" and "top_nav" elements which have width 980 cause
2889         overflow during the last layout and make the contents width larger.
2890         The other renderers still stay at the old width unfortunately which
2891         results in blank areas on the left side of the Google results RTL page.
2892         Give it a chance to request another layout if overflow exceeds the
2893         contents size and the page doesn't have virtual viewport, as this
2894         layout will pick up the absolute visible overflow width within
2895         DEFAULT_MAX_LAYOUT_WIDTH and update the other renderers.
2896
2897         * Api/WebPage.cpp:
2898         (BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
2899         (WebKit):
2900         * Api/WebPage_p.h:
2901         (WebPagePrivate):
2902
2903 2012-12-08  Mike Fenton  <mifenton@rim.com>
2904
2905         [BlackBerry] Enforce selection of last work when triggering caret based selection
2906         https://bugs.webkit.org/show_bug.cgi?id=104447
2907
2908         Reviewed by Rob Buis.
2909
2910         PR 249225.
2911
2912         When the selection has reached the end of an input field,
2913         ensure the last word is selected by adjusting the caret.
2914
2915         Reviewed Internally by Gen Mak.
2916
2917         * WebKitSupport/InputHandler.cpp:
2918         (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
2919         (WebKit):
2920         * WebKitSupport/InputHandler.h:
2921         (InputHandler):
2922         * WebKitSupport/SelectionHandler.cpp:
2923         (BlackBerry::WebKit::SelectionHandler::selectObject):
2924
2925 2012-12-08  Chris Hutten-Czapski  <chutten@rim.com>
2926
2927         [BlackBerry] Remove about:credits
2928         https://bugs.webkit.org/show_bug.cgi?id=104399
2929
2930         Reviewed by Rob Buis.
2931
2932         Just a simple removal.
2933
2934         * WebKitSupport/AboutData.cpp:
2935
2936 2012-12-08  Rob Buis  <rbuis@rim.com>
2937
2938         [BlackBerry] Remove no-op line in WebPage.cpp
2939         https://bugs.webkit.org/show_bug.cgi?id=104385
2940
2941         Reviewed by Antonio Gomes.
2942
2943         Remove self-assignment no-op line. Must have been left when I removed the
2944         mapFromTransformed part.
2945
2946         * Api/WebPage.cpp:
2947         (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2948
2949 2012-12-07  Nima Ghanavatian  <nghanavatian@rim.com>
2950
2951         [BlackBerry] General code cleanup and improved logging.
2952         https://bugs.webkit.org/show_bug.cgi?id=104389
2953
2954         Reviewed by Rob Buis.
2955
2956         Internally reviewed by Mike Fenton
2957
2958         * WebKitSupport/InputHandler.cpp:
2959         (BlackBerry::WebKit::convertStringToWchar):
2960         (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2961         (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2962
2963 2012-12-07  Nima Ghanavatian  <nghanavatian@rim.com>
2964
2965         [BlackBerry] Strip whitespace from learned text.
2966         https://bugs.webkit.org/show_bug.cgi?id=104391
2967
2968         Reviewed by Rob Buis.
2969
2970         This was removing the first word from the sentence being learned. Using
2971         stripWhiteSpace to remove spaces from the start and end of the text.
2972
2973         Internally reviewed by Mike Fenton.
2974
2975         * WebKitSupport/InputHandler.cpp:
2976         (BlackBerry::WebKit::InputHandler::learnText):
2977
2978 2012-12-07  Otto Derek Cheung  <otcheung@rim.com>
2979
2980         [BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
2981         https://bugs.webkit.org/show_bug.cgi?id=103785
2982
2983         PR 247656
2984
2985         Reviewed by Rob Buis.
2986
2987         Adding a special case for origins with protocol "file". We will use the filepath as
2988         an origin when asking for geolocation permission.
2989
2990         If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
2991         right away.
2992
2993         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
2994         (getOrigin):
2995         (GeolocationClientBlackBerry::requestPermission):
2996         (GeolocationClientBlackBerry::cancelPermissionRequest):
2997
2998 2012-12-07  Mike Lattanzio  <mlattanzio@rim.com>
2999
3000         [BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
3001         https://bugs.webkit.org/show_bug.cgi?id=104121
3002
3003         Reviewed by Rob Buis.
3004
3005         Update createBuffer calls to reflect new BufferType enum.
3006         Set buffers opaque if possible to avoid unnecessary blends.
3007         Internal PR 254649
3008         Internal Review: Jakob Petsovits
3009
3010         * WebKitSupport/BackingStoreTile.cpp:
3011         (BlackBerry::WebKit::TileBuffer::nativeBuffer):
3012
3013 2012-12-07  Andrew Lo  <anlo@rim.com>
3014
3015         [BlackBerry] Double zoom animation when focusing on input field.
3016         https://bugs.webkit.org/show_bug.cgi?id=104375
3017
3018         Reviewed by Rob Buis.
3019         Internally reviewed by Jakob Petsovits.
3020
3021         UI thread does not need to be notified of a scale change if the WebKit
3022         thread scale has not changed.
3023
3024         This caused issues when two viewport resizes occured one after the other.
3025         Before the scale change due to the first resize could be set in the WK
3026         thread's scale value, it caused WK thread to dispatch a scaleChanged,
3027         overwritting & resetting the new UI thread scale value, resulting in the
3028         double zoom animation.
3029
3030         The larger issue dealing with synchronization between the threads where
3031         scale changes could occur on either thread, however that is beyond the
3032         scope of this change.
3033
3034         Internal PR253122
3035
3036         * Api/WebPage.cpp:
3037         (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
3038
3039 2012-12-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
3040
3041         [BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
3042         https://bugs.webkit.org/show_bug.cgi?id=104243
3043
3044         RIM PR 259337
3045
3046         Reviewed by Rob Buis.
3047
3048         1. Add DRT callback in dispatchDecidePolicyForResponse.
3049         2. Pass frame pointer to DRT callback in
3050         dispatchDecidePolicyForNavigationAction, so that it can be used to
3051         calculate originating.
3052         3. Fix some webkit style errors.
3053
3054         The patch fixed the following tests:
3055         - http/tests/download
3056         - fast/forms/mailto/formenctype-attribute-button-html.html
3057         - fast/forms/mailto/formenctype-attribute-input-html.html
3058         - fast/encoding/mailto-always-utf-8.html
3059
3060         * Api/DumpRenderTreeClient.h:
3061         * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3062         (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
3063         (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
3064         (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
3065         (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
3066         (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3067         (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
3068         (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
3069
3070 2012-12-05  Otto Derek Cheung  <otcheung@rim.com>
3071
3072         [BlackBerry] Geolocation prompts won't respond to the correct geolocation object if the user opens two pages and respond in the reversed order
3073         https://bugs.webkit.org/show_bug.cgi?id=104162
3074
3075         PR 257505
3076         Reviewed by Yong Li.
3077
3078         GeolocationClientBlackBerry will register itself to GeolocationHandler when it has
3079         a pending request. When browser responds with WebPageClientImpl::setAllowGeolocation,
3080         we go through the list and let all the pending GeolocationListeners know that a certain
3081         origin has been aceepted/denied.
3082
3083         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
3084         (GeolocationClientBlackBerry::geolocationDestroyed):
3085         (GeolocationClientBlackBerry::requestPermission):
3086         (GeolocationClientBlackBerry::cancelPermissionRequest):
3087         (GeolocationClientBlackBerry::onPermission):
3088
3089 2012-12-05  Jakob Petsovits  <jpetsovits@rim.com>
3090
3091         [BlackBerry] Better crash fix for resetting tiles on a backingstore takeover.
3092         https://bugs.webkit.org/show_bug.cgi?id=103969
3093         RIM PR 258415
3094
3095         Reviewed by Adam Treat.
3096
3097         The previous attempt for releasing tile buffers from the
3098         previously active backingstore did not take into account
3099         that resetTiles() would sometimes return early without
3100         having swapped the tiles and thus reclaiming them.
3101
3102         This patch removes the early returns, because it's safe
3103         to swap in an empty geometry at any time and we should
3104         always take the chance when we get it.
3105
3106         Also put the code that calls resetTiles() on an owner
3107         switch right into setCurrentBackingStoreOwner(), so that
3108         it will also release the buffers when the BackingStore
3109         is destroyed (the function is then called with 0).
3110
3111         * Api/BackingStore.cpp:
3112         (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
3113         (WebKit):
3114         (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
3115         * Api/BackingStore.h: Had to add the friend here to make the moved code work from the static function.
3116         * Api/BackingStore_p.h:
3117         (BackingStorePrivate):
3118         * Api/WebPage.cpp:
3119         (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
3120
3121 2012-12-05  Jakob Petsovits  <jpetsovits@rim.com>
3122
3123         [BlackBerry] Keep screen updates suspended until after a viewport resize.
3124         https://bugs.webkit.org/show_bug.cgi?id=104041
3125
3126         Reviewed by Adam Treat.
3127
3128         Now that screen and backing store updates can be suspended
3129         and resumed separately from each other, prevent blits for
3130         the whole duration of setViewportSize() and always issue
3131         a blit at the end.
3132
3133         Makes WebPage::setViewportSize() more robust in threaded usage,
3134         easier to read/understand, and gets rid of a couple of FIXMEs.
3135
3136         * Api/WebPage.cpp:
3137         (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3138
3139 2012-12-05  Andrew Lo  <anlo@rim.com>
3140
3141         [BlackBerry] Scroll position shifts while FCC & selection handle are dragged
3142         https://bugs.webkit.org/show_bug.cgi?id=104156
3143
3144         Reviewed by Rob Buis.
3145         Internally reviewed by Mike Fenton.
3146
3147         Only ensureFocusTextElementVisible on selectionChanged when
3148         an element is being re-focused.
3149         Internal PR256329
3150
3151         * WebKitSupport/InputHandler.cpp:
3152         (BlackBerry::WebKit::InputHandler::InputHandler):
3153         (BlackBerry::WebKit::InputHandler::setElementFocused):
3154         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3155         (BlackBerry::WebKit::InputHandler::selectionChanged):
3156         * WebKitSupport/InputHandler.h:
3157         (InputHandler):
3158
3159 2012-12-05  Leo Yang  <leoyang@rim.com>
3160
3161         [BlackBerry] Enable CSS_IMAGE_RESOLUTION
3162         https://bugs.webkit.org/show_bug.cgi?id=104132
3163
3164         Reviewed by Yong Li.
3165
3166         * WebCoreSupport/AboutDataEnableFeatures.in:
3167
3168 2012-12-05  Jacky Jiang  <zhajiang@rim.com>
3169
3170         [BlackBerry] meta viewport pages are rendered at a bad initial scale
3171         https://bugs.webkit.org/show_bug.cgi?id=104122
3172
3173         Reviewed by Rob Buis.
3174         Internally reviewed by Arvid Nilsson.
3175
3176         PR: 240378
3177         Many websites are rendered at a very bad initial scale because they
3178         both specify meta viewport tag and have large width elements. In such
3179         a case we will think the meta viewport tag is broken if the width of
3180         any element is larger than the calculated layout viewport width.
3181         The fix to this is straightforward that we will zoom the page to fit
3182         the screen to have better user experience instead of respecting the
3183         meta viewport. This can fix the issue on the websites such as
3184         www.travelpod.com, www.forbes.com, interfacelift.com, www.sky.com,
3185         raphaeljs.com and so on.
3186         If non-empty m_userViewportArguments is applied, then we will force to
3187         respect the viewport arguments. In this way we will restrict the fix to
3188         browser only.
3189
3190         * Api/WebPage.cpp:
3191         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3192         (BlackBerry::WebKit::WebPagePrivate::setLoadState):
3193         (BlackBerry::WebKit::WebPagePrivate::respectViewport):
3194         (WebKit):
3195         (BlackBerry::WebKit::WebPagePrivate::initialScale):
3196         (BlackBerry::WebKit::WebPagePrivate::maximumScale):
3197         (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
3198         * Api/WebPage_p.h:
3199         (BlackBerry::WebKit::WebPagePrivate::isUserScalable):
3200         (WebPagePrivate):
3201         (BlackBerry::WebKit::WebPagePrivate::minimumScale):
3202
3203 2012-12-05  Otto Derek Cheung  <otcheung@rim.com>
3204
3205         [BlackBerry] GeolocationClientBB only holding the latest geolocation permission request
3206         https://bugs.webkit.org/show_bug.cgi?id=104123
3207
3208         PR 256089
3209
3210         Reviewed by Yong Li.
3211
3212         Add a mapping between origin URL and it's geolocation object so we could
3213         respond to the correct geolocation when libwebview responds with onPermission
3214         in GeolocationClient.
3215
3216         Using the mapping, we could also prevent requestGeolocation requests from the same origin
3217         to be sent twice. This prevents pages that hold two iframes to the same resource to request
3218         geolocation permission on the same security origin twice.
3219
3220         Tested this by running a page that includes 2 or more iframes that requests geolocation
3221         permission.
3222
3223         * WebCoreSupport/GeolocationClientBlackBerry.cpp:
3224         (GeolocationClientBlackBerry::requestPermission):
3225         (GeolocationClientBlackBerry::cancelPermissionRequest):
3226         (GeolocationClientBlackBerry::onPermission):
3227         * WebCoreSupport/GeolocationClientBlackBerry.h:
3228         (GeolocationClientBlackBerry):
3229
3230 2012-12-05  Yongxin Dai  <yodai@rim.com>
3231
3232         [BlackBerry] Avoid showing FCC on empty text field in a different way
3233         https://bugs.webkit.org/show_bug.cgi?id=104019
3234
3235         Reviewed by Rob Buis.
3236
3237         PR #222796
3238
3239         Add text field empty flag along with the caret change notification so that
3240         FineCursorContnrol is able to avoid showing FCC on empty text filed.
3241         Previous approach, notifying client with empty caret on empty text field,
3242         causes problem. Its code is removed.
3243
3244         Reviewed Internally by Mike Fenton.
3245
3246         * Api/WebPageClient.h:
3247         * WebKitSupport/SelectionHandler.cpp:
3248         (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
3249
3250 2012-12-04  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
3251         [BlackBerry] VKB flickers in and out when tapping on webview after text selection on URL bar
3252         https://bugs.webkit.org/show_bug.cgi?id=103874
3253         PR245678
3254
3255         Reviewed by Rob Buis.
3256         Internally reviewed by Mike Fenton.
3257
3258         When the virtual keyboard is hiding, the viewport is changed and the page needs
3259         to relayout.At the same time, the user interface thread  is executing compositeLayers
3260         and it will dispatch the updateDelegatedOverlays() to webkit thread which will trigger
3261         the selectionPositionChanged() in webkit thread.
3262
3263         When the selectionPositionChanged() calls frame->selection()->selection().
3264         visibleStart() and frame->selection()->selection().visibleEnd(), it will
3265         trigger page relayout and return the relayouted selection start and end position.
3266         These positions are out of the range which is recorded before its relayout.
3267         As a result it think the selection start and end are all clipped out and it send
3268         out an "empty selection"(not selected) changing event.
3269
3270         When the WebPageClient receives the empty selection changing event, it will consider
3271         the selection process aborted and might cancel selection-related user interaction.
3272         This is not what we intend to happen.
3273
3274         This patch stops the changing handling process and returns when the page needs relayout,
3275         and the selection will be updated again when the page finishs relayout.
3276
3277         * WebKitSupport/SelectionHandler.cpp:
3278         (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
3279
3280 2012-12-04  Andrew Lo  <anlo@rim.com>
3281
3282         [BlackBerry] Scroll adjustments while typing scroll off page, then bounce back.
3283         https://bugs.webkit.org/show_bug.cgi?id=104045
3284
3285         Reviewed by Rob Buis.
3286         Internally reviewed by Mike Fenton & Jakob Petsovits.
3287
3288         Internal PR253845
3289         The main frame's view should only be temporarily set to
3290         not constrain scrolling to the content edge while the
3291         scroll position is set at the end of the scroll animation.
3292
3293         Remove ensureFocusTextElementVisible from setSpannableTextAndRelativeCursor
3294         in InputHandler since FrameSelection::revealSelection
3295         already implements scroll adjustments due to typing.
3296
3297         * Api/WebPage.cpp:
3298         (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3299         (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
3300         (BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
3301         * Api/WebPage_p.h:
3302         (WebPagePrivate):
3303         * WebKitSupport/InputHandler.cpp:
3304         (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3305         (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
3306
3307 2012-12-04  Mike Fenton  <mifenton@rim.com>
3308
3309         [BlackBerry] Remove assert and fix conditional for out of bounds requests in InputHandler::spannableTextInRange
3310         https://bugs.webkit.org/show_bug.cgi?id=104001
3311
3312         Reviewed by Rob Buis.
3313
3314         PR 257723.
3315
3316         Remove assert and update early return to allow out of bounds
3317         request at end of field.
3318
3319         Reviewed Internally by Gen Mak.
3320
3321         * WebKitSupport/InputHandler.cpp:
3322         (BlackBerry::WebKit::InputHandler::spannableTextInRange):
3323
3324 2012-12-04  Jakob Petsovits  <jpetsovits@rim.com>
3325
3326         [BlackBerry] Store rendered regions in pixel contents coordinates.
3327         https://bugs.webkit.org/show_bug.cgi?id=103930
3328         PR 253496
3329
3330         Reviewed by Rob Buis.
3331         Internally reviewed by Adam Treat.
3332
3333         Previously, the rendered region of a tile used to be
3334         stored in coordinates relative to the tile origin.
3335         This brings no benefits whatsoever and causes a lot
3336         of unnecessary transformations, together with the
3337         potential of incorrectly transforming rendered regions.
3338
3339         By storing the rendered region as what it is,
3340         everything is more compact, easier to understand
3341         and easier to use with other existing functionality.
3342
3343         * Api/BackingStore.cpp:
3344         (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
3345         (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
3346         (BlackBerry::WebKit::BackingStorePrivate::render):
3347         (BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
3348         (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToTileBuffer):
3349         (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
3350         (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
3351         (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
3352         (BlackBerry::WebKit::BackingStorePrivate::isTileVisible):
3353         (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
3354         (BlackBerry::WebKit::BackingStorePrivate::tileVisibleContentsRect):
3355         (BlackBerry::WebKit::BackingStorePrivate::tileContentsRect):
3356         (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
3357         (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
3358         (BlackBerry::WebKit::BackingStorePrivate::mapFromPixelContentsToTiles):
3359         (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
3360         (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
3361         * Api/BackingStore_p.h:
3362         (BackingStorePrivate):
3363         * WebKitSupport/BackingStoreTile.cpp:
3364         (BlackBerry::WebKit::TileBuffer::surfaceRect):
3365         (BlackBerry::WebKit::TileBuffer::pixelContentsRect):
3366         (WebKit):
3367         (BlackBerry::WebKit::TileBuffer::isRendered):
3368         (BlackBerry::WebKit::TileBuffer::notRenderedRegion):
3369         * WebKitSupport/BackingStoreTile.h:
3370         (TileBuffer):
3371
3372 2012-12-04  Jakob Petsovits  <jpetsovits@rim.com>
3373
3374         [BlackBerry] Use updated API for backingstore tiles.
3375         https://bugs.webkit.org/show_bug.cgi?id=103970
3376         PR 212369
3377
3378         Reviewed by George Staikos.
3379         Internally reviewed by Arvid Nilsson.
3380
3381         We now make use of Platform::Settings::tileSize() in the
3382         backingstore and don't hardcode the number of back buffers
3383         like we used to.
3384
3385         * Api/BackingStore.cpp:
3386         (BlackBerry::WebKit::bestDivisor):
3387         (BlackBerry::WebKit::BackingStorePrivate::tileWidth):
3388         (BlackBerry::WebKit::BackingStorePrivate::tileHeight):
3389         (BlackBerry::WebKit::BackingStorePrivate::tileSize):
3390         * WebKitSupport/AboutData.cpp:
3391         (BlackBerry::WebKit::configPage):
3392         * WebKitSupport/SurfacePool.cpp:
3393         (BlackBerry::WebKit::SurfacePool::SurfacePool):
3394         (BlackBerry::WebKit::SurfacePool::numberOfBackingStoreFrontBuffers):