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