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