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