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