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