1 2013-02-07 Charles Wei <charles.wei@torchmobile.com.cn>
3 webpage needs null check in BackingStore::setCurrentBackingStoreOwner
4 https://bugs.webkit.org/show_bug.cgi?id=109253
6 Reviewed by George Staikos.
8 * Api/BackingStore.cpp:
9 (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
11 2013-02-07 Mary Wu <mary.wu@torchmobile.com.cn>
13 [BlackBerry] Enable non-video element enter/exit fullscreen.
14 https://bugs.webkit.org/show_bug.cgi?id=108314
16 Reviewed by Antonio Gomes.
18 Webkit support non-video element (like div) to enter/exit
19 fullscreen. We should pass this capability in blackberry porting.
21 RIM PR 256370, internally reviewed by Max Feil.
24 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
25 (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
26 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
27 (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
28 (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
29 (BlackBerry::WebKit::WebPagePrivate::exitFullscreenForNode):
31 (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
32 (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
33 (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
37 2013-02-07 Jakob Petsovits <jpetsovits@rim.com>
39 [BlackBerry] Fix all flicker caused by empty/incomplete geometries.
40 https://bugs.webkit.org/show_bug.cgi?id=108951
44 Internally reviewed by Arvid Nilsson.
46 The main idea for this patch is that whenever we adopt
47 a new backingstore geometry that doesn't contain any
48 rendered tiles, or VisibleZoom render jobs that need more
49 tiles to be rendered to be considered complete, we'll then
50 suspend blitting until there is valid content to show.
52 This main idea is codified as checks for empty buffers
53 in adoptAsFrontState(), and checks for the current state
54 of the render queue after rendering content in render().
55 However, as BackingStore objects with disabled surface pools
56 or pure use of accelerated compositing also swap geometries
57 in some circumstances, the use of suspend counters grows
60 To make this patch more resilient against regressions,
61 the current suspend counter is complemented with several
62 explicit conditions for suspending screen updates,
63 and both subsequently combined into a single cached
64 boolean value telling the UI thread whether or not to
65 suspend. In the future, other suspend calls can be
66 migrated to this "state machine" design as well,
67 potentially phasing out the suspend counter altogether.
69 The immediate result is that there will be no flashing
70 of background color between page loads or after discarding
71 tiles on scale changes until the content has been rendered.
73 * Api/BackingStore.cpp:
74 (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
75 (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
76 (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
77 (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
78 (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
79 (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
81 (BlackBerry::WebKit::BackingStorePrivate::render):
82 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
83 (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
84 (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
85 (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
86 * Api/BackingStore_p.h:
87 (BackingStorePrivate):
89 (BlackBerry::WebKit::WebPagePrivate::setVisible):
90 (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
92 2013-02-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
94 [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
95 https://bugs.webkit.org/show_bug.cgi?id=109126
99 Internally reviewed by Mike Fenton.
101 Key char is UTF32 encoded, should be 4 bytes.
104 (BlackBerry::WebKit::handleScrolling):
105 * WebKitSupport/InputHandler.cpp:
106 (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
107 * WebKitSupport/InputHandler.h:
109 * WebKitSupport/SelectionHandler.cpp:
110 (BlackBerry::WebKit::directionOfPointRelativeToRect):
111 (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
112 (BlackBerry::WebKit::shouldExtendSelectionInDirection):
113 (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
114 (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
115 (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
116 * WebKitSupport/SelectionHandler.h:
119 2013-02-07 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
121 [BlackBerry] Reader Mode: Opening two links quickly from reader mode causes browser bad state
122 https://bugs.webkit.org/show_bug.cgi?id=109124
126 RIM BUG 291246 Internally reviewed by YongLi.
127 Move the WebPageGroupLoadDeferrer object from ChromeClientBlackBerry::createWindow()
128 into WebPageClientImpl::createWindow() to make it more close to its protecting place.
130 * WebCoreSupport/ChromeClientBlackBerry.cpp:
131 (WebCore::ChromeClientBlackBerry::createWindow):
133 2013-02-07 Mike Fenton <mifenton@rim.com>
135 [BlackBerry] Send type details with IMF mask as part of focus gained.
136 https://bugs.webkit.org/show_bug.cgi?id=109086
142 Add masking options based on VKB type to the IMF mask.
144 Reviewed Internally by Nima Ghanavatian.
146 * WebKitSupport/InputHandler.cpp:
147 (BlackBerry::WebKit::addInputStyleMaskForKeyboardType):
149 (BlackBerry::WebKit::InputHandler::setElementFocused):
151 2013-02-06 Jakob Petsovits <jpetsovits@rim.com>
153 [BlackBerry] Refactor renderContents() for cleaner code.
154 https://bugs.webkit.org/show_bug.cgi?id=109059
157 Reviewed by Rob Buis.
158 Internally reviewed by Arvid Nilsson.
160 The fact that we've got two renderContents() implementations
161 in BackingStore.cpp, one of which was tailored to just
162 being called from drawContents(), is a major annoyance.
164 With this patch, the regular renderContents() is modified
165 in a way so that drawContents() can make use of it as well.
166 This includes an API change for both functions which makes
167 it more flexible and enables further cleanups and improvements
168 to accuracy. The second, unloved renderContents() is removed.
170 The user-visible changes are improved (float) accuracy for
171 render offsets, clipping to exactly the dstRect that has
172 been specified, and the changed public drawContents() API.
174 * Api/BackingStore.cpp:
175 (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
176 (BlackBerry::WebKit::BackingStorePrivate::render):
177 (BlackBerry::WebKit::BackingStorePrivate::renderContents):
178 (BlackBerry::WebKit::BackingStore::drawContents):
179 * Api/BackingStore.h:
182 * Api/BackingStore_p.h:
184 (BackingStorePrivate):
185 * WebKitSupport/SurfacePool.cpp:
186 (BlackBerry::WebKit::SurfacePool::SurfacePool):
187 (BlackBerry::WebKit::SurfacePool::initialize):
188 (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
189 * WebKitSupport/SurfacePool.h:
192 2013-02-06 Nima Ghanavatian <nghanavatian@rim.com>
194 [BlackBerry] Check range before use in parseBlockForSpellChecking
195 https://bugs.webkit.org/show_bug.cgi?id=109080
200 This was missed during patch webkit/5aea04f6ea625827. Since getRangeForSpellCheckWithFineGranularity
201 now returns null values, we need a check here before using the range object here as well.
203 Internally reviewed by Mike Fenton.
205 * WebKitSupport/SpellingHandler.cpp:
206 (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
208 2013-02-06 Nima Ghanavatian <nghanavatian@rim.com>
210 [BlackBerry] Check for a valid range object before using it
211 https://bugs.webkit.org/show_bug.cgi?id=109058
213 Reviewed by Rob Buis.
216 Crash occurs if makeRange returns null, since we are using this value without checking
217 its validity. We had an assert before which I'm replacing with just a check for null.
219 Internally reviewed by Mike Fenton.
221 * WebKitSupport/SpellingHandler.cpp:
222 (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
224 2013-02-05 Andrew Lo <anlo@rim.com>
226 [BlackBerry] Scrolling performance drops doing page load
227 https://bugs.webkit.org/show_bug.cgi?id=108949
230 Internally reviewed by Jakob Petsovits.
233 The intention of this code was to not update non-visible tiles during page load.
235 Before this patch, the code would update tiles that have already been rendered
238 * Api/BackingStore.cpp:
239 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
241 2013-02-04 Tiancheng Jiang <tijiang@rim.com>
243 [BlackBerry]Adjust fatfinger detection rect size
244 https://bugs.webkit.org/show_bug.cgi?id=108678
246 Reviewed by Antonio Gomes.
249 We still need to clip the fatfinger detection rect to the viewport to
250 avoid wrong hitTest result.
253 (BlackBerry::WebKit::WebPage::mouseEvent):
254 * WebKitSupport/FatFingers.cpp:
255 (BlackBerry::WebKit::FatFingers::getNodesFromRect):
257 2013-02-04 Abhishek Arya <inferno@chromium.org>
259 Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad cast in DOM, CSS, etc.
260 https://bugs.webkit.org/show_bug.cgi?id=108688
262 Reviewed by Eric Seidel.
265 (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
266 * WebKitSupport/FatFingers.cpp:
267 (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
269 2013-02-04 Andrew Lo <anlo@rim.com>
271 [BlackBerry] Needs one-shot drawing synchronization flag should be set before rendering when resuming the backing store
272 https://bugs.webkit.org/show_bug.cgi?id=108760
275 Internally reviewed by Arvid Nilsson.
278 When acquiring the backing store ownership in WebPagePrivate::resumeBackingStore
279 we need to set the needs one-shot drawing synchronization flag
280 before rendering, so that when the render is completed we
281 commit the root layer.
284 (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
286 2013-02-03 KwangYong Choi <ky0.choi@samsung.com>
288 Fix build warning after r141473
289 https://bugs.webkit.org/show_bug.cgi?id=108782
291 Reviewed by Kentaro Hara.
293 Fix -Wunused-parameter build warning.
295 * WebCoreSupport/EditorClientBlackBerry.cpp:
296 (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
298 2013-02-01 Jacky Jiang <zhajiang@rim.com>
300 [BlackBerry] Zooming in during page load of non-scalable webpage results in fixed magnification
301 https://bugs.webkit.org/show_bug.cgi?id=108252
304 Internally reviewed by Konrad Piascik.
307 We got float layoutSize(342.284122, 521.448467) and
308 m_maximumScale(2.243750) after computing viewport meta based on the
309 device pixel ratio and laid out the contents at IntSize(342, 521).
310 Therefore, zoomToFitScale(2.245681) would be a bit larger than
311 m_maximumScale based on that contents size and resulted in
312 maximumScale()!=minimumScale(), which made the non-scalable page
314 Return zoomToFitScale for maximumScale() in such kind of case.
317 (BlackBerry::WebKit::WebPagePrivate::maximumScale):
319 2013-02-01 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
321 [BlackBerry] InputHandler status is not restored when page history goes back
322 https://bugs.webkit.org/show_bug.cgi?id=108448
326 PR288406 Internally reviewed by Mike Fenton
328 When webpage goes back, it restores the old frame's selection and focused node,
329 but we don't save the InputHandler's status, it becomes non-input mode when page
330 goes back. When it restores the focus, since the new focus node is same as the old
331 document focused node, webcore will not notify client to update the input handler.
333 This patch updates the input handler's status by notifying it focus node changed.
336 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
337 (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
338 * WebKitSupport/InputHandler.cpp:
339 (BlackBerry::WebKit::InputHandler::restoreViewState):
341 * WebKitSupport/InputHandler.h:
344 2013-01-31 Jacky Jiang <zhajiang@rim.com>
346 [BlackBerry] Bing Images viewport causes layout "fun"
347 https://bugs.webkit.org/show_bug.cgi?id=108393
350 Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
353 Set applyPageScaleFactorInCompositor settting to false by default.
354 Scale down chrome window rect to density-independent pixels.
357 (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
358 * Api/WebSettings.cpp:
360 (BlackBerry::WebKit::WebSettings::standardSettings):
361 (BlackBerry::WebKit::WebSettings::applyDeviceScaleFactorInCompositor):
362 (BlackBerry::WebKit::WebSettings::setApplyPageScaleFactorInCompositor):
364 * WebCoreSupport/ChromeClientBlackBerry.cpp:
365 (WebCore::ChromeClientBlackBerry::windowRect):
367 2013-01-31 Enrica Casucci <enrica@apple.com>
369 WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
370 https://bugs.webkit.org/show_bug.cgi?id=108396.
371 <rdar://problem/12920461>
373 Reviewed by Alexey Proskuryakov.
375 Adds stub implementation for WebKit of the new EditorClient methods.
377 * WebCoreSupport/EditorClientBlackBerry.cpp:
378 (WebCore::EditorClientBlackBerry::willWriteSelectionToPasteboard):
379 (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
380 * WebCoreSupport/EditorClientBlackBerry.h:
382 2013-01-30 Ed Baker <edbaker@rim.com>
384 [BlackBerry] Screenshot is clipped when content is smaller than the desintation size
385 https://bugs.webkit.org/show_bug.cgi?id=107735
387 Reviewed by Rob Buis.
390 Don't scale the transformed content rect when the content is smaller than the destination
391 size. Scale the graphics context when it has a scale factor that isn't 1.0.
393 Internally reviewed by Andrew Lo
395 * Api/BackingStore.cpp:
396 (BlackBerry::WebKit::BackingStorePrivate::renderContents):
398 2013-01-30 Xiaobo Wang <xbwang@torchmobile.com.cn>
400 [BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
401 https://bugs.webkit.org/show_bug.cgi?id=108281
404 Reviewed by Rob Buis.
405 Internally reviewed by Jacky Jiang.
407 Return correct fixedLayoutSize when overflow exceeds contents size.
410 (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
412 2013-01-30 Simon Hausmann <simon.hausmann@digia.com>
414 [Qt] Remove QT4_UNICODE related code paths
415 https://bugs.webkit.org/show_bug.cgi?id=108316
417 Reviewed by Kenneth Rohde Christiansen.
419 * WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.
421 2013-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
423 Unreviewed, rolling out r140983.
424 http://trac.webkit.org/changeset/140983
425 https://bugs.webkit.org/show_bug.cgi?id=108277
427 Unfortunately, this API has one last client (Requested by
430 * WebCoreSupport/AboutDataEnableFeatures.in:
432 2013-01-28 Andrew Lo <anlo@rim.com>
434 [BlackBerry] Small animated zoom level adjustments are unnecessary
435 https://bugs.webkit.org/show_bug.cgi?id=108104
437 Reviewed by Rob Buis.
438 Internally reviewed by Mike Fenton.
441 If the difference between the target scale and current scale is
442 less than a given threshold, don't perform a zoom animation.
444 * WebKitSupport/InputHandler.cpp:
445 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
447 2013-01-28 Nima Ghanavatian <nghanavatian@rim.com>
449 [BlackBerry] Reduce the region that is spellchecked on keystroke
450 https://bugs.webkit.org/show_bug.cgi?id=108115
452 Reviewed by Rob Buis.
455 Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
456 the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
457 on focus, this dramatically reduces the region that is rechecked when a key is hit.
459 Internally reviewed by Mike Fenton.
461 * WebKitSupport/InputHandler.cpp:
462 (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
463 * WebKitSupport/SpellingHandler.cpp:
464 (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
465 (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
466 * WebKitSupport/SpellingHandler.h:
469 2013-01-28 Adam Barth <abarth@webkit.org>
471 Remove webkitNotifications.createHTMLNotification
472 https://bugs.webkit.org/show_bug.cgi?id=107598
474 Reviewed by Benjamin Poulain.
476 * WebCoreSupport/AboutDataEnableFeatures.in:
478 2013-01-28 Otto Derek Cheung <otcheung@rim.com>
480 [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
481 https://bugs.webkit.org/show_bug.cgi?id=108085
483 Reviewed by Rob Buis.
485 Fix a merge error that duplicated a function declaration in InputHandler.h.
487 * WebKitSupport/InputHandler.h:
489 2013-01-28 Otto Derek Cheung <otcheung@rim.com>
491 [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
492 https://bugs.webkit.org/show_bug.cgi?id=108085
495 Reviewed by Rob Buis.
496 Internally reviewed by Nima Ghanavatian.
498 Adding a check for the system spell check status in InputHandler::shouldSpellCheckElement so
499 we won't bother sending a spellcheck request if system spell check is turned off.
501 However, on a fresh browser start up and on the first setElementFocus, the spellcheck value isn't defined yet.
502 The first spell check request is therefore necessary to connect to imf to determine whether spell check is turned on.
503 If spell check is turned off, we will turn spellinghandler off.
505 Tested the patch using a test site that contains editable text in text-areas and content-editable divs. Also tested on
506 an extreme test case where we try to edit a content-editable div with 30000 characters. Confirmed spell-check requests are
507 being canceled if system spell check is off.
509 In theory, this patch should also fix PR 284229 . However, because of issues with getting the system spell check values from IMF,
510 additional work needs to be done for that PR.
513 (BlackBerry::WebKit::WebPage::setSpellCheckingEnabled):
514 * WebKitSupport/InputHandler.cpp:
515 (BlackBerry::WebKit::InputHandler::InputHandler):
516 (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
518 (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
519 * WebKitSupport/InputHandler.h:
521 (BlackBerry::WebKit::InputHandler::setSystemSpellCheckStatus):
523 2013-01-25 Andrew Lo <anlo@rim.com>
525 [BlackBerry] Pop-up WebViews should not take ownership of the backing store.
526 https://bugs.webkit.org/show_bug.cgi?id=107957
528 Reviewed by Rob Buis.
529 Internally reviewed by Jakob Petsovits.
532 Add web setting for whether a WebPage should take the backing store.
533 Prevent pop-up WebView from taking ownership of the backing
534 store when it becomes visible.
537 (BlackBerry::WebKit::WebPage::setVisible):
538 * Api/WebSettings.cpp:
540 (BlackBerry::WebKit::WebSettings::standardSettings):
541 (BlackBerry::WebKit::WebSettings::isBackingStoreEnabled):
542 (BlackBerry::WebKit::WebSettings::setBackingStoreEnabled):
544 * WebCoreSupport/PagePopupBlackBerry.cpp:
545 (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
546 (WebCore::PagePopupBlackBerry::init):
548 2013-01-25 Arvid Nilsson <anilsson@rim.com>
550 [BlackBerry] AC layers appear in the wrong place on RTL page
551 https://bugs.webkit.org/show_bug.cgi?id=107930
553 Reviewed by George Staikos.
555 The public API of the BlackBerry port always reports a minimum scroll
556 position of (0, 0), even on RTL pages with left overflow. We
557 accomplish this by translating the WebCore scroll position by an
558 amount equal in size to the minimum scroll position, to obtain the API
559 scroll position reported to the API client.
561 This means the API client will ask us to render a rect that needs to
562 be corrected for the minimum scroll position, or we'll render the wrong
563 part. This is done for BackingStore, but not for WebPageCompositor.
565 WebPageCompositor was rendering the wrong part of the web page when
566 the minimum scroll position was non-zero. Fixed by communicating the
567 minimum scroll position to the WebPageCompositor, and accounting for it
568 when interpreting the requested content rectangle to render.
573 (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
574 (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
575 * Api/WebPageCompositor.cpp:
576 (BlackBerry::WebKit::WebPageCompositorPrivate::render):
577 (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
578 * Api/WebPageCompositor_p.h:
579 (BlackBerry::WebKit::WebPageCompositorPrivate::layoutRect):
580 (BlackBerry::WebKit::WebPageCompositorPrivate::setLayoutRect):
581 (BlackBerry::WebKit::WebPageCompositorPrivate::documentRect):
582 (BlackBerry::WebKit::WebPageCompositorPrivate::setDocumentRect):
583 (WebPageCompositorPrivate):
587 2013-01-24 Nima Ghanavatian <nghanavatian@rim.com>
589 [BlackBerry] Fix crash in SpellingHandler
590 https://bugs.webkit.org/show_bug.cgi?id=107842
592 Reviewed by Rob Buis.
594 If we have an empty range or one with all spaces, we can simply return 0 instead of
595 still creating a range. Putting in a null check after trimming to catch this case
596 which was causing the crash in some DRT tests.
598 Internally reviewed by Mike Fenton.
600 * WebKitSupport/DOMSupport.cpp:
601 (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
602 * WebKitSupport/SpellingHandler.cpp:
603 (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
605 2013-01-24 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
607 [BlackBerry] It can't Select texts in main frame when the current focus is in a IFrame
608 https://bugs.webkit.org/show_bug.cgi?id=107773
610 Reviewed by Antonio Gomes.
612 PR285211 Internally reviewed by Genevieve Mak
614 When touch hold in the unfocused frame, it doesn't switch frame focus. Many
615 places in code depends on the webpage->forcusOrMainFrame(), including the
616 SelectionHandler, so it can't select in an unfocused frame. This patch switchs
617 frame focus when touch starts.
619 * WebKitSupport/TouchEventHandler.cpp:
620 (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
622 2013-01-23 Nima Ghanavatian <nghanavatian@rim.com>
624 [BlackBerry] Take a better guess as to what text the user wants learned
625 https://bugs.webkit.org/show_bug.cgi?id=107706
627 Reviewed by Rob Buis.
629 If we still have a valid caret position, use it to give priority to a region
630 of text. We now take the text before the caret, instead of the text at the end
631 of the field. If the caret is not present, we start from the beginning of the field.
632 This helps learning in email where the region of interest is generally at the start,
633 not end of the field.
635 Internally reviewed by Mike Fenton
637 * WebKitSupport/InputHandler.cpp:
638 (BlackBerry::WebKit::InputHandler::learnText):
640 2013-01-23 Nima Ghanavatian <nghanavatian@rim.com>
642 [BlackBerry] Optimize spellchecking by coalescing messages
643 https://bugs.webkit.org/show_bug.cgi?id=107707
645 Reviewed by Rob Buis.
648 Instead of taking chunks one line at a time, coalesce them together
649 to fire off messages as close to our character limit as possible.
650 This should dramatically reduce the total number of messages in email
651 giving us a little performance bump.
653 Internally reviewed by Mike Fenton and Gen Mak.
655 * WebKitSupport/DOMSupport.cpp:
656 (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
658 * WebKitSupport/DOMSupport.h:
659 * WebKitSupport/InputHandler.cpp:
660 * WebKitSupport/InputHandler.h:
662 * WebKitSupport/SpellingHandler.cpp:
663 (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
664 (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
665 (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
666 (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
667 * WebKitSupport/SpellingHandler.h:
669 2013-01-23 Shinya Kawanaka <shinyak@chromium.org>
671 shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
672 https://bugs.webkit.org/show_bug.cgi?id=107624
674 Reviewed by Dimitri Glazkov.
676 Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.
679 (BlackBerry::WebKit::WebPagePrivate::webContext):
680 * WebKitSupport/FatFingers.h:
681 (BlackBerry::WebKit::FatFingersResult::node):
682 * WebKitSupport/InPageSearchManager.cpp:
683 (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
685 2013-01-22 Andrew Lo <anlo@rim.com>
687 [BlackBerry] GIF & RAF animations sometimes don't resume after zoom
688 https://bugs.webkit.org/show_bug.cgi?id=107590
690 Reviewed by Rob Buis.
691 Internally reviewed by Jakob Petsovits.
694 Dispatch render jobs when resuming backing store updates to perform jobs
695 queued when updates were suspended.
697 * Api/BackingStore.cpp:
698 (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
700 2013-01-21 Nima Ghanavatian <nghanavatian@rim.com>
702 [BlackBerry] Skip spell checking on single character strings
703 https://bugs.webkit.org/show_bug.cgi?id=107463
707 Check for a minimum string length when firing off spellcheck since we don't
708 want to mark single letter words.
710 Internally reviewed by Mike Fenton.
712 * WebKitSupport/InputHandler.cpp:
713 * WebKitSupport/SpellingHandler.cpp:
714 (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
715 (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
717 2013-01-20 Charles Wei <charles.wei@torchmobile.com.cn>
719 [BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
720 https://bugs.webkit.org/show_bug.cgi?id=107103
722 Reviewed by George Staikos.
723 Internally reviewed by Jacky Jiang.
725 When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
726 automatically zoom it to fit the viewport.
729 (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
731 2013-01-20 Tiancheng Jiang <tijiang@rim.com>
733 [BlackBerry] Improve Fatfinger phase.
734 https://bugs.webkit.org/show_bug.cgi?id=107403
736 Reviewed by Rob Buis.
739 Internally reviewd by Mike Fenton & Gen Mak.
741 Treat ClickableByDefault and MadeClickableByTheWebpage elements as
742 same category. Avoid unnecessary nodes check step.
744 * WebKitSupport/FatFingers.cpp:
745 (BlackBerry::WebKit::FatFingers::isElementClickable):
746 (BlackBerry::WebKit::FatFingers::FatFingers):
747 (BlackBerry::WebKit::FatFingers::findBestPoint):
748 (BlackBerry::WebKit::FatFingers::getNodesFromRect):
749 * WebKitSupport/FatFingers.h:
751 2013-01-18 Andrew Lo <anlo@rim.com>
752 [BlackBerry] When acquiring/releasing backing store memory, allow web page client control suspend/resuming of backing store
753 https://bugs.webkit.org/show_bug.cgi?id=107307
755 Reviewed by Rob Buis.
756 Internally reviewed by Jakob Petsovits.
759 Have BackingStore::createBackingStoreMemory & releaseBackingStoreMemory only
760 acquire & release the surface pool. It doesn't matter if either is called
761 redundantly since SurfacePool has internal state to protect against that.
763 Resuming & suspending backing store and screen updates will be handled by
766 * Api/BackingStore.cpp:
767 (BlackBerry::WebKit::BackingStore::acquireBackingStoreMemory):
768 (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
769 * Api/BackingStore.h:
771 2013-01-18 Nima Ghanavatian <nghanavatian@rim.com>
773 [BlackBerry] Set spellchecking calculations on a timer to free up the WebKit thread
774 https://bugs.webkit.org/show_bug.cgi?id=107284
776 Reviewed by Rob Buis.
779 Firing off spellcheck requests is tieing up the WebKit thread for an
780 extended period of time. In testing with large blocks of text, this
781 can be in the matter of 5-10 seconds. Though we are using asynchronous
782 spellchecking, the process in which we break down blocks of text based
783 on input_service limitations is the issue.
784 Using a timer here which fires with an arbitrary timeout to allow for
785 focus and interaction to maintain at a reasonable level.
786 Further, pulling this code out of InputHandler and into its own class.
788 Internally reviewed by Mike Fenton and Gen Mak.
790 * WebKitSupport/InputHandler.cpp:
791 (BlackBerry::WebKit::InputHandler::InputHandler):
792 (BlackBerry::WebKit::InputHandler::~InputHandler):
793 (BlackBerry::WebKit::InputHandler::callRequestCheckingFor):
795 (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
796 (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
797 (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
798 (BlackBerry::WebKit::InputHandler::setElementUnfocused):
799 (BlackBerry::WebKit::InputHandler::setElementFocused):
800 * WebKitSupport/InputHandler.h:
804 * WebKitSupport/SpellingHandler.cpp: Added.
806 (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
807 (BlackBerry::WebKit::SpellingHandler::~SpellingHandler):
808 (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
809 (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
810 (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
811 (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
812 * WebKitSupport/SpellingHandler.h: Added.
816 (BlackBerry::WebKit::SpellingHandler::isSpellCheckActive):
817 (BlackBerry::WebKit::SpellingHandler::setSpellCheckActive):
819 2013-01-18 Nima Ghanavatian <nghanavatian@rim.com>
821 [BlackBerry] Check if continuous spellchecking is enabled before processing a request
822 https://bugs.webkit.org/show_bug.cgi?id=107169
824 Reviewed by Rob Buis.
827 We set this value based on the global settings page. The
828 spellcheck-on-focus codepath did not hit this, so focusing a
829 field would not uphold the setting.
831 Internally reviewed by Mike Fenton and Gen Mak.
833 * WebKitSupport/DOMSupport.cpp:
834 (BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):
836 * WebKitSupport/DOMSupport.h:
837 * WebKitSupport/InputHandler.cpp:
838 (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
840 2013-01-18 Seokju Kwon <seokju.kwon@gmail.com>
842 Add explicit keyword to constructors in platform-specific InspectorClient
843 https://bugs.webkit.org/show_bug.cgi?id=107255
845 Reviewed by Kentaro Hara.
847 Add explicit keyword to constructors that take one argument
848 in platform-specific implementation of InspectorClient.
850 * WebCoreSupport/InspectorClientBlackBerry.h:
851 (InspectorClientBlackBerry):
853 2013-01-18 Andrew Lo <anlo@rim.com>
855 [BlackBerry] Assert failing in RenderQueue::renderScrollZoomJobs
856 https://bugs.webkit.org/show_bug.cgi?id=107215
858 Reviewed by Rob Buis.
859 Internally reviewed by Jakob Petsovits.
862 Render jobs should not be performed if the backing store is inactive.
864 This occured when the browser was invoked, causing a web page to be made
865 visible before the surface pool was resumed.
867 * Api/BackingStore.cpp:
868 (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
870 2013-01-17 Yong Li <yoli@rim.com>
872 [BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
873 https://bugs.webkit.org/show_bug.cgi?id=107162
875 Reviewed by Rob Buis.
876 Internally reviewed by Gen Mak and Mike Fenton.
878 Move the notification code from notifyInRegionScrollStopped() to reset() as there are
879 other places where reset() gets called.
881 * Api/InRegionScroller.cpp:
882 (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
884 (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
886 2013-01-17 Mike Fenton <mifenton@rim.com>
888 [BlackBerry] Fix selection handle appearance for RTL text.
889 https://bugs.webkit.org/show_bug.cgi?id=107043
891 Reviewed by Rob Buis.
895 Invert the reported selection handle position if to match
896 the visual order instead of the logical order to create the
897 desired appearance for RTL text and directional selections.
899 Reviewed Internally by Gen Mak and Nima Ghanavatian.
901 * WebKitSupport/SelectionHandler.cpp:
902 (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
904 2013-01-16 Charles Wei <charles.wei@torchmobile.com.cn>
906 [BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen mode if there's
907 device rotation in fullscreen mode
908 https://bugs.webkit.org/show_bug.cgi?id=107085
910 Reviewed by George STaikos.
911 Also internally reviewed by Jacky Jiang.
913 We saved the scale and scroll position before entering full screen mode, so that we can restore
914 them after leaving fullscreen mode, because entering fullscreen mode automatically changes the
915 scale to make the video to fit to the viewport. But if there's device rotation during the fullscreen,
916 the scale and scroll position saved before may or may not apply anymore, we need to adjust the
917 scale and/or scroll position if needed to make sure no over-scale or over-scroll in the new orientation.
920 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
921 (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
925 2013-01-16 Joe Mason <jmason@rim.com>
927 [BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
928 https://bugs.webkit.org/show_bug.cgi?id=105651
930 Reviewed by Darin Adler.
932 GeolocationClientBlackBerry::cancelPermissionRequest contains an ASSERT that the origin is
933 in m_geolocationRequestMap. But it's perfectly valid for the origin to not be in the map -
934 for instance, if GeolocationClientBlackBerry::requestPermission returned immediately,
935 without putting it in the map, because geolocation was disabled. In this case the correct
936 thing to do is just return - there is nothing to be done to cancel the permission.
938 * WebCoreSupport/GeolocationClientBlackBerry.cpp:
939 (GeolocationClientBlackBerry::cancelPermissionRequest):
941 2013-01-15 Mike Fenton <mifenton@rim.com>
943 [BlackBerry] Don't overwrite field dir with current locale.
944 https://bugs.webkit.org/show_bug.cgi?id=106932
950 Remove uncalled onInputLocaleChanged and stop re-writing the dir
951 on input focus which prevented RTL fields from rendering properly.
953 Reviewed Internally by Eli Fidler.
959 * WebKitSupport/InputHandler.cpp:
960 * WebKitSupport/InputHandler.h:
963 2013-01-15 Jacky Jiang <zhajiang@rim.com>
965 [BlackBerry] Manual zoom propagates to next page load
966 https://bugs.webkit.org/show_bug.cgi?id=106914
969 Internally reviewed by Eli Fidler and Jakob Petsovits.
972 During load committed, the web page scale was reset. However, UI thread
973 still kept the old scale in UserInterfaceViewportAccessor so that it
974 blitted the contents at the old scale although WebKit thread could
975 update the UI thread scale later when finished the load.
976 We should update the scale of the UI thread right after we reset it in
977 WebKit thread to keep them in sync.
980 (BlackBerry::WebKit::WebPagePrivate::resetScales):
982 2013-01-14 Otto Derek Cheung <otcheung@rim.com>
984 [BlackBerry] FCC appears when switching search engine providers
985 https://bugs.webkit.org/show_bug.cgi?id=106824
987 Magnifying glass appears when switching search engine providers
991 Reviewed by Rob Buis.
992 Internal Reviewed by Mike Fenton.
994 We need to make sure fatfinger is touching a textfield when we tell notifyCaretChanged
997 This behaviour is accidentally regressed in the fix in PR 267177, causing the FCC to show
998 when the user touches an element that is not a textfield and changes the caret in the inputbar..
1000 Tested that the behaviour in 267177 isn't reproducible and the FCC isn't invoked when we switch
1001 search engine providers.
1003 * WebKitSupport/SelectionHandler.cpp:
1004 (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
1006 2013-01-14 Jacky Jiang <zhajiang@rim.com>
1008 [BlackBerry] Zoom is still possible when user-scalable=no
1009 https://bugs.webkit.org/show_bug.cgi?id=106809
1011 Reviewed by George Staikos.
1014 On wordpress.com, the contents were rendered at the width 343 which was
1015 1 css pixel larger than the expected device-width 342 so that we didn't
1016 respect the viewport.
1017 There was a RenderBlock on the page which contained "\n" and an
1018 inline-block. "\n" took 0.78 width and the inline-block took 342 width
1019 and they were unfortunately placed in the same InlineBox which caused
1020 the contents width 1 css pixels larger than the device-width.
1021 Allow the contents width to be 1 css pixel larger and still respect the
1022 viewport in such a special case.
1025 (BlackBerry::WebKit::WebPagePrivate::respectViewport):
1027 2013-01-13 Xiaobo Wang <xbwang@torchmobile.com.cn>
1029 [BlackBerry] Add a public function WebPage::isLoading()
1030 https://bugs.webkit.org/show_bug.cgi?id=106751
1034 Reviewed by George Staikos.
1036 Need to get the load state in WebPageClient when resolving PR 274392.
1039 (BlackBerry::WebKit::WebPage::isLoading):
1043 2013-01-11 Andrew Lo <anlo@rim.com>
1045 [BlackBerry] Focus zoom animation doesn't occur on devices with physical keyboard
1046 https://bugs.webkit.org/show_bug.cgi?id=106719
1048 Reviewed by Yong Li.
1049 Internally reviewed by Mike Fenton.
1053 Always ensureFocusTextElementVisible if an element is focused when
1054 the device has a physical keyboard.
1056 * WebKitSupport/InputHandler.cpp:
1057 (BlackBerry::WebKit::InputHandler::setElementFocused):
1059 2013-01-11 Otto Derek Cheung <otcheung@rim.com>
1061 [BlackBerry] Modifying the databaseQuota call to WebPageClient
1062 https://bugs.webkit.org/show_bug.cgi?id=106703
1064 Reviewed by Yong Li.
1066 The databaseQuota call in WebPageClientImpl is modified to take in
1067 BP:Strings directly. Also, we want to use the origin URL from the security origin.
1068 Not the database identifier.
1070 * Api/WebPageClient.h:
1071 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1072 (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1074 2013-01-10 Yongxin Dai <yodai@rim.com>
1076 [BlackBerry] Handle the case that start/end position is out of unclipped selection region
1077 https://bugs.webkit.org/show_bug.cgi?id=106486
1079 Reviewed by Rob Buis.
1082 Unclipped selection region should cover start/end position of the selection.
1083 Since we exclude hidden text when calculating unclipped selection region, the
1084 start/end position can be out of unclipped selection region if it is for hidden
1085 text. If that is the case, start/end handle will be invisible. To avoid invisible
1086 handle, we take unclipped selection region as reference rectangle in the case.
1088 Internally reviewed by Genevieve Mak, Mike Fenton
1090 * WebKitSupport/SelectionHandler.cpp:
1091 (BlackBerry::WebKit::referencePoint):
1093 2013-01-09 Genevieve Mak <gmak@rim.com>
1095 [BlackBerry] Useless if statement check
1096 https://bugs.webkit.org/show_bug.cgi?id=106113
1098 Reviewed by Yong Li.
1100 Remove stray ! in if statement which was mistakenly left in during
1101 refactoring. Since Injected events are checked before they are sent to
1102 webkit, it didn't have an effect on behaviour.
1105 (BlackBerry::WebKit::WebPage::touchEvent):
1107 2013-01-08 Otto Derek Cheung <otcheung@rim.com>
1109 [BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
1110 https://bugs.webkit.org/show_bug.cgi?id=106370
1112 Reviewed by Yong Li.
1114 Removing totalUsage in ChromeClientBlackBerry as we no longer use that variable.
1116 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1117 (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1119 2013-01-08 Jacky Jiang <zhajiang@rim.com>
1121 [Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer dimensions
1122 https://bugs.webkit.org/show_bug.cgi?id=91748
1124 Reviewed by Antonio Gomes.
1127 The was originally from Antonio Gomes on PR195524. Bug 105488 has
1128 partially upstreamed that patch. This patch upstreams the rest of it.
1131 (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
1132 (BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
1135 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1136 (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
1138 2013-01-08 Mark Lam <mark.lam@apple.com>
1140 Removed the need for the ProposedDatabase mechanism.
1141 https://bugs.webkit.org/show_bug.cgi?id=106292.
1143 Reviewed by Sam Weinig.
1145 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1146 (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1147 * WebCoreSupport/ChromeClientBlackBerry.h:
1148 (ChromeClientBlackBerry):
1150 2013-01-08 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
1152 [BlackBerry] Can't select text out of current focused input
1153 https://bugs.webkit.org/show_bug.cgi?id=106322
1155 Reviewed by Rob Buis.
1158 Internally reviewed by Mike Fenton
1160 When selection changed, the selection handler clips new selection with
1161 current focused node's boundary. So we clear focus before selectObject.
1162 This patch clear focus when selectObject is at a point but not at a node.
1164 * WebKitSupport/SelectionHandler.cpp:
1165 (BlackBerry::WebKit::SelectionHandler::selectObject):
1167 2013-01-08 Steve Block <steveblock@chromium.org>
1169 Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
1170 https://bugs.webkit.org/show_bug.cgi?id=106307
1172 This matches other method names which distinguish between sizes and
1173 points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.
1175 Reviewed by Kentaro Hara.
1177 * Api/InRegionScroller.cpp:
1178 (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1180 2013-01-07 Genevieve Mak <gmak@rim.com>
1182 [BlackBerry] Touch Events are falling through fullscreen video
1183 https://bugs.webkit.org/show_bug.cgi?id=106112
1185 Reviewed by Rob Buis.
1187 Reviewed Internally by Jakob Petsovits.
1189 Do not do viewport centering calculations if in fullscreen video.
1190 The offset should be zero.
1193 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1195 2013-01-07 Jacky Jiang <zhajiang@rim.com>
1197 [BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
1198 https://bugs.webkit.org/show_bug.cgi?id=106236
1200 Unreviewed, rolling out r136173.
1201 This becomes unnecessary now as there are alternative approaches to
1202 solve the issue from the client sides.
1204 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1205 (WebCore::ChromeClientBlackBerry::createWindow):
1207 2013-01-07 Jakob Petsovits <jpetsovits@rim.com>
1209 [BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
1210 https://bugs.webkit.org/show_bug.cgi?id=106225
1213 Reviewed by George Staikos.
1214 Based on a patch by Chris Guan.
1216 didRenderContent() has a mechanism to avoid double blits;
1217 when scrolling or zooming is enabled then we don't issue
1218 blitContents() as the client would (continually) do that
1221 However, since r138024, didRenderContents() also deals
1222 with one-shot drawing synchronization and commits.
1223 When these are required, we can't just skip out or the
1224 backingstore and overlaying composited layers are likely
1225 to get out of sync. The condition also doesn't make much
1226 sense for direct rendering as no blit calls are issued
1227 at all when it is enabled.
1229 Fix the issue by limiting the impact of the scroll/zoom
1230 early return to only regular blit operations.
1232 * Api/BackingStore.cpp:
1233 (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
1235 2013-01-05 Andy Chen <andchen@rim.com>
1237 [BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
1238 https://bugs.webkit.org/show_bug.cgi?id=106141
1240 Reviewed by Rob Buis.
1242 If last fat finger result is a link, select it directly when
1243 SelectionHandler::selectAtPoint is called.
1245 Internally reviewed by Mike Fenton and Yongxin Dai.
1247 * WebKitSupport/SelectionHandler.cpp:
1248 (BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
1250 (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
1251 * WebKitSupport/SelectionHandler.h:
1255 2013-01-04 Mike Lattanzio <mlattanzio@rim.com>
1257 [BlackBerry] Last text input caret left visible when WebView entirely loses focus.
1258 https://bugs.webkit.org/show_bug.cgi?id=106124
1260 Reviewed by George Staikos.
1264 There are numerous code paths that lead to repainting of the focus node
1265 when the focus moves to another node, but none seem to cover the case
1266 of focus leaving the document when there are no DocumentMarkers present.
1268 * WebKitSupport/InputHandler.cpp:
1269 (BlackBerry::WebKit::InputHandler::setElementUnfocused):
1271 2013-01-04 Otto Derek Cheung <otcheung@rim.com>
1273 [BlackBerry] FCC will show up as you type if you tap on the same input bar twice before typing
1274 https://bugs.webkit.org/show_bug.cgi?id=106116
1276 Reviewed by Yong Li.
1277 Internal reviewed by Gen Mak.
1280 FCC is being invoked because the fatfinger result is no longer a reliable source
1281 to tell whether the caret change is caused by user touch input. Instead, we recognize all
1282 notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
1283 by SelectionHandler:inputHandlerDidFinishProcessingChange.
1285 * WebKitSupport/SelectionHandler.cpp:
1286 (BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
1287 (BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
1288 (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
1289 * WebKitSupport/SelectionHandler.h:
1292 2013-01-04 Yong Li <yoli@rim.com>
1294 [BlackBerry] Cached frame shouldn't access the page when being destroyed
1295 https://bugs.webkit.org/show_bug.cgi?id=105942
1297 Reviewed by George Staikos.
1299 Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
1300 after Frame has been detached.
1304 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1305 (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
1307 2013-01-04 Nima Ghanavatian <nghanavatian@rim.com>
1309 [BlackBerry] Allow defaultTabEventHandler to trigger on tab
1310 https://bugs.webkit.org/show_bug.cgi?id=106118
1312 Reviewed by Yong Li.
1314 In order to support tabbing through input elements, amongst
1315 other things, we need to bipass the processing of the tab key as
1316 '\t'. This will simply insert 4 spaces in the field. Remove tab
1317 support from the key down map so that we don't translate it to
1320 Internally reviewed by Mike Fenton.
1322 * WebCoreSupport/EditorClientBlackBerry.cpp:
1325 2013-01-04 Mike Fenton <mifenton@rim.com>
1327 [BlackBerry] Enable Input Focus when handling touch events for JS
1328 https://bugs.webkit.org/show_bug.cgi?id=106109
1330 Reviewed by Yong Li.
1334 Toggle input mode active when a touch event is
1335 received for JS processing to ensure state
1336 is updated even when event is consumed.
1338 Reviewed Internally by Gen Mak.
1341 (BlackBerry::WebKit::WebPage::touchEvent):
1343 2013-01-04 Adam Klein <adamk@chromium.org>
1345 Remove ENABLE_MUTATION_OBSERVERS #define
1346 https://bugs.webkit.org/show_bug.cgi?id=105459
1348 Reviewed by Ryosuke Niwa.
1350 * WebCoreSupport/AboutDataEnableFeatures.in:
1352 2013-01-04 Anthony Scian <ascian@rim.com>
1354 [Blackberry] Static code analysis warning fixes
1355 https://bugs.webkit.org/show_bug.cgi?id=105679
1357 Reviewed by Rob Buis.
1359 Klocwork issue 959: check layer against NULL since it is used in both cases
1360 of the subsequent if-stmt
1362 * Api/InRegionScroller.cpp:
1363 (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
1365 2013-01-02 Jacky Jiang <zhajiang@rim.com>
1367 [BlackBerry] file:/// pages don't get correct scales after several rotations and history navigations
1368 https://bugs.webkit.org/show_bug.cgi?id=105996
1370 Reviewed by George Staikos.
1373 When navigating back to the previous page on portrait mode, we were
1374 trying to set virtual viewport after recalculation. However, we didn't
1375 change the fixed layout size so that we still layouted the contents at
1376 the old virtual viewport size. In this case, the old virtual viewport
1377 was 570 * 293 which was set in landscape mode unfortunately. There
1378 would be no chance for such kind of contents size to fit the portrait
1379 mode screen size nicely.
1380 This was a regression of webkit/cc31d9bad where setViewMode() was
1381 removed as a noop. So just get setViewMode() back to apply the fixed
1382 layout size with a little bit change as SVG document path was proved
1383 invalid in that patch. Thanks to George for the float comparison change.
1384 Put a FIXME as we don't have a way to save the scale precisely before
1385 the rotation and history navigation currently.
1388 (BlackBerry::WebKit::WebPagePrivate::setLoadState):
1389 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1390 (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
1392 2013-01-02 Otto Derek Cheung <otcheung@rim.com>
1394 [BlackBerry] Do not determine db quota limit using db file size
1395 https://bugs.webkit.org/show_bug.cgi?id=105991
1399 Reviewed by George Staikos.
1401 Passing the current quota to WebPageClientImpl::databaseQuota so we can determine a better
1402 quota limit without using the db file size.
1404 * Api/WebPageClient.h:
1405 * WebCoreSupport/ChromeClientBlackBerry.cpp:
1406 (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
1408 2013-01-02 Yong Li <yoli@rim.com>
1410 [BlackBerry] Cached frame shouldn't access the page when being destroyed
1411 https://bugs.webkit.org/show_bug.cgi?id=105942
1413 Reviewed by George Staikos.
1415 In order to prevent our FrameLoaderClient from dangling WebPagePrivate object in any case,
1416 this patches clear the m_webPagePrivate pointer when the frame is detached or cached.
1420 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1421 (WebCore::FrameLoaderClientBlackBerry::isMainFrame):
1422 (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
1423 (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
1424 (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
1426 2013-01-02 Nima Ghanavatian <nghanavatian@rim.com>
1428 [BlackBerry] Use fatfingers result when checking for misspelled words
1429 https://bugs.webkit.org/show_bug.cgi?id=105923
1431 Reviewed by Yong Li.
1434 Currently we are using the raw touch point when checking to see if spell check
1435 is required on a word. When tapping close to a boundary, the raw point can be
1436 placed off but fatfingers moves the point onto the word. This causes the caret
1437 to be placed on a word but no spell check request triggered.
1439 Internally reviewed by Mike Fenton and Tiancheng Jiang
1441 * WebKitSupport/TouchEventHandler.cpp:
1442 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
1444 2012-12-28 Charles Wei <charles.wei@torchmobile.com.cn>
1446 [BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
1447 https://bugs.webkit.org/show_bug.cgi?id=105811
1450 Reviewed by George Staikos.
1451 Internally Reviewed by Jakob Petsovits.
1453 BackingStorePrivate::m_defersBlit is not used anywhere, it should
1454 be removed to simplify the code and to avoid confusion.
1455 * Api/BackingStore.cpp:
1456 (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
1457 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
1458 * Api/BackingStore.h:
1459 * Api/BackingStore_p.h:
1460 (BackingStorePrivate):
1462 2012-12-26 Jakob Petsovits <jpetsovits@rim.com>
1464 [BlackBerry] Set load state for popups manually, in absence of a loader.
1465 https://bugs.webkit.org/show_bug.cgi?id=105708
1468 Reviewed by George Staikos.
1469 Internally reviewed by Chris Guan.
1471 The WebPage class relies on the load state for various things,
1472 among others it will only emit contents size changes after
1473 layouts if a load state other than None is set.
1475 Given that popups write the web page content itself with no
1476 loader that would issue such notifications, the load state
1477 should probably just be set manually in this case.
1479 * WebCoreSupport/PagePopupBlackBerry.cpp:
1480 (WebCore::PagePopupBlackBerry::init):
1482 2012-12-26 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
1484 [BlackBerry] Caret doesn't update position when scrolling text in Input element
1485 https://bugs.webkit.org/show_bug.cgi?id=105757
1487 Reviewed by George Staikos.
1490 Internally reviewed by George Staikos.
1492 Call FrameSelection's updateAppearence instead of SelectionHandler's
1493 selectionPositionChanged to update the caret position.
1495 * Api/InRegionScroller.cpp:
1496 (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
1498 2012-12-25 Charles Wei <charles.wei@torchmobile.com.cn>
1500 [BlackBerry] Need to initialize the onLine in the global
1501 https://bugs.webkit.org/show_bug.cgi?id=105749
1503 Reviewed by George Staikos.
1505 The NetworkStatus is initialized to online in the constructor by default,
1506 we need to update it correctly with the network status at startup.
1508 * Api/BlackBerryGlobal.cpp:
1509 (BlackBerry::WebKit::globalInitialize):
1511 2012-12-24 Jakob Petsovits <jpetsovits@rim.com>
1513 [BlackBerry] Fix various RenderQueue bugs introduced by r138024.
1514 https://bugs.webkit.org/show_bug.cgi?id=105717
1517 Reviewed by George Staikos.
1519 Scroll/zoom jobs were pretty solid, but I managed to
1520 leave some bugs in the region handling of RenderQueue's
1521 renderRegularRenderJobs() function, causing us to skip
1522 a desired blit or render operation in cases where the
1523 region and tile tracking did not match up.
1525 This commit fixes these errors.
1527 * WebKitSupport/RenderQueue.cpp:
1528 (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
1530 2012-12-24 Charles Wei <charles.wei@torchmobile.com.cn>
1532 [BlackBerry] Close page popup when a page becomes invisible.
1533 https://bugs.webkit.org/show_bug.cgi?id=105704
1535 Reviewed by George Staikos.
1537 Reviewed internally by Jakob Petsovits.
1540 (BlackBerry::WebKit::WebPagePrivate::setVisible):
1542 2012-12-23 Mary Wu <mary.wu@torchmobile.com.cn>
1544 [BlackBerry] give url when createWindow
1545 https://bugs.webkit.org/show_bug.cgi?id=105702
1548 Reviewed by George Staikos.
1550 This is to revert previous commit 575407238c35f1a0fa7ff7dd5dbbf6cc3ece1107
1551 for integration issue of cascade and air, as old app side still use the url
1552 to invoke. It would unrevert after resolving the integration issue.
1554 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1555 (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
1557 2012-12-23 Jakob Petsovits <jpetsovits@rim.com>
1559 [BlackBerry] Specify tile usage enum for backingstore tiles.
1560 https://bugs.webkit.org/show_bug.cgi?id=105688
1563 Reviewed by George Staikos.
1565 This enables us to have separate tile sizes for
1566 backingstore / root layer purposes and generic layers.
1568 * Api/BackingStore.cpp:
1569 (BlackBerry::WebKit::BackingStorePrivate::tileSize):
1571 2012-12-21 Max Feil <mfeil@rim.com>
1573 [BlackBerry] Fullscreen video fixed position container horizontal position is wrong
1574 https://bugs.webkit.org/show_bug.cgi?id=105488
1576 Reviewed by George Staikos.
1578 The fix for https://bugs.webkit.org/show_bug.cgi?id=105333 has
1579 broken fullscreen video, which was compensating by doing its
1580 own positioning in x. My patch fixes things by making vertical
1581 and horizontal handling symmetrical.
1582 NOTE: This function was not upstreamed before, so you can't
1583 actually see my diff. See the bug.
1587 (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
1589 2012-12-18 Nima Ghanavatian <nghanavatian@rim.com>
1591 [BlackBerry] Calculate correct word offsets for form elements.
1592 https://bugs.webkit.org/show_bug.cgi?id=105354
1594 Reviewed by Rob Buis.
1597 We need to calculate correct offsets for form elements, such as
1598 textareas, relative to the start of the field. This allows for correct
1599 spell checking of words in a textarea element after line breaks.
1601 Internally reviewed by Mike Fenton.
1603 * WebKitSupport/InputHandler.cpp:
1604 (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
1606 2012-12-18 Genevieve Mak <gmak@rim.com>
1608 [BlackBerry] Remove extra call to doFatFingers.
1609 https://bugs.webkit.org/show_bug.cgi?id=105347
1611 Reviewed by Rob Buis.
1613 Reviewed Internally by Mike Fenton.
1614 Now that we do fat fingers on touch start, we don't need this anymore.
1617 (BlackBerry::WebKit::WebPage::touchEvent):
1619 2012-12-18 Genevieve Mak <gmak@rim.com>
1621 Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
1622 https://bugs.webkit.org/show_bug.cgi?id=105344
1624 Reviewed by Antonio Gomes.
1626 Reviewed Internally by Mike Fenton.
1627 We don't need to check the overflow for editable layers because there's
1628 no need for overflow to be set by the content.
1631 * WebKitSupport/InRegionScrollableArea.cpp:
1632 (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
1634 2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
1636 [BlackBerry] Build fix for r138024.
1637 https://bugs.webkit.org/show_bug.cgi?id=105199
1640 Reviewed by Yong Li.
1642 The clearVisibleTiles() function doesn't exist anymore
1643 and apparently I fail at merge conflict resolution.
1645 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1646 (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
1648 2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
1650 [BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
1651 https://bugs.webkit.org/show_bug.cgi?id=105331
1654 Reviewed by Adam Treat.
1656 The concept of the "front state" is going away or will be
1657 marginalized/renamed, but I don't want to clutter upcoming
1658 patches with renames. So do the variable renames in here,
1659 once, and have future patches focus on actual behavior changes.
1661 * Api/BackingStore.cpp:
1662 (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
1663 (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
1664 (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
1665 (BlackBerry::WebKit::BackingStorePrivate::render):
1666 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
1667 (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
1668 (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
1669 (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
1670 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
1671 (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
1673 2012-12-18 Nima Ghanavatian <nghanavatian@rim.com>
1675 [BlackBerry] Reduce calls to IMF on return
1676 https://bugs.webkit.org/show_bug.cgi?id=105308
1678 Reviewed by Yong Li.
1681 The extra calls of selection change and most importantly, end composition
1682 are sent incorrectly on return. This is causing our state to be reset
1683 every time we hit enter.
1685 Internally reviewed by Mike Fenton and Gen Mak.
1687 * WebKitSupport/InputHandler.cpp:
1688 (BlackBerry::WebKit::InputHandler::InputHandler):
1689 (BlackBerry::WebKit::InputHandler::nodeTextChanged):
1690 (BlackBerry::WebKit::InputHandler::selectionChanged):
1691 (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
1692 (BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
1694 * WebKitSupport/InputHandler.h:
1697 2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
1699 [BlackBerry] Remove the visible tile buffer from the BackingStore.
1700 https://bugs.webkit.org/show_bug.cgi?id=105302
1703 Reviewed by George Staikos.
1705 The visible tile buffer was introduced as an additional
1706 buffering solution that was necessary because other
1707 buffers would only cover part of the screen and could
1708 only be swapped one by one, with long blocking calls
1709 between each newly rendered tile. By carrying an old copy
1710 of all tiles at once, we were avoiding checkerboard and
1711 visual artifacts during load time when much zoom-to-fit
1714 These days, the visual tile buffer hurts more than it helps,
1715 not only taking up lots of memory but also requiring
1716 complexity that we'd rather get rid of. Now that multiple
1717 buffers are being swapped into the user interface thread
1718 at once, the need for the visible tile buffer is no longer
1719 there and can be exchanged for standard geometry behavior.
1721 This patch simply deletes the visible tile buffer to use
1722 existing other code instead. Differences in behavior are
1723 non-existent or negligible.
1725 * Api/BackingStore.cpp:
1726 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
1727 (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
1728 (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
1729 (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
1730 * Api/BackingStore_p.h:
1731 (BackingStorePrivate):
1733 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
1734 * WebKitSupport/SurfacePool.cpp:
1735 (BlackBerry::WebKit::SurfacePool::SurfacePool):
1736 (BlackBerry::WebKit::SurfacePool::initialize):
1737 (BlackBerry::WebKit::SurfacePool::createBuffers):
1738 (BlackBerry::WebKit::SurfacePool::releaseBuffers):
1739 * WebKitSupport/SurfacePool.h:
1742 2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
1744 [BlackBerry] Restructure the render queue to process multiple tiles at once.
1745 https://bugs.webkit.org/show_bug.cgi?id=105199
1748 Reviewed by George Staikos.
1749 Internally reviewed by Arvid Nilsson.
1751 Since my last big commit, r136442, the BackingStore's render()
1752 function is able to fetch multiple back buffers and swap them
1753 into the user interface thread in one go. However, it turns out
1754 that this is not enough to actually render to all of the
1755 available back buffers at once. The RenderQueue class was still
1756 working with a model based on processing one rectangle after
1759 This commit rewrites large parts of RenderQueue to issue
1760 render() calls for multiple tiles at once. As WebCore painting
1761 gets cheaper and blocking becomes more of an issue, this commit
1762 does away with paints smaller than tile size and always renders
1763 whole tiles at once. This means the demise of RenderRect.
1764 As an additional benefit, this means we can remove the
1765 copyPreviousContentsToTileBuffer() function which caused
1766 potential threading issues as it was accessing a buffer
1767 now owned by the UI thread from the WebKit thread.
1769 RenderQueue is also smarter than before in assigning batches,
1770 it now takes into account the number of available back buffers
1771 for rendering as well as excludes tiles outside contents
1772 boundaries. Regular render jobs continue being tracked as
1773 regions (and are being issued to didRenderContent()) with only
1774 the changed content regions. Everything else switches over to
1775 tile index lists from previously lists of rectangles.
1776 By default, we render as many tiles at once as we can grab
1777 back buffers, or until a given set of jobs is done.
1778 For high-priority jobs, render() will be called in a loop.
1780 To allow for the necessary changes in render() and improve
1781 reliability in the same go, we now call render() almost
1782 exclusively through RenderQueue. Other places would often
1783 call renderVisibleContents() in situations where rendering
1784 is not possible, geometries don't get updated, or content
1785 rendered notifications would not get issued to the client.
1786 By replacing renderVisibleContents() with a scheduled
1787 high-priority queue that's immediately being processed
1788 (but only if possible), these problems go away.
1790 * Api/BackingStore.cpp:
1791 (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
1792 (BlackBerry::WebKit::BackingStorePrivate::repaint):
1793 (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
1794 (BlackBerry::WebKit::BackingStorePrivate::renderJob):
1795 (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
1796 (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
1797 (BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
1798 (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
1799 (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
1800 (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
1801 (BlackBerry::WebKit::BackingStorePrivate::render):
1802 (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
1803 (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
1804 (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
1805 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
1806 (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
1807 (BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
1808 (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
1809 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
1810 (BlackBerry::WebKit::BackingStorePrivate::updateTile):
1811 (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
1812 (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
1813 * Api/BackingStore_p.h:
1814 (BackingStorePrivate):
1816 (BlackBerry::WebKit::WebPagePrivate::setLoadState):
1817 (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
1818 (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
1819 * Api/WebPageCompositor.cpp:
1820 (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
1821 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
1822 (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
1823 * WebKitSupport/RenderQueue.cpp:
1824 (BlackBerry::WebKit::compareRectOneDirection):
1825 (BlackBerry::WebKit::tileIndexIsLessThan):
1827 (BlackBerry::WebKit::tileIndexLessThanFunction):
1828 (BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
1829 (BlackBerry::WebKit::TileIndexLessThan::operator()):
1830 (TileIndexLessThan):
1831 (BlackBerry::WebKit::RenderQueue::reset):
1832 (BlackBerry::WebKit::RenderQueue::isEmpty):
1833 (BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
1834 (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
1835 (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
1836 (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
1837 (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
1838 (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
1839 (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
1840 (BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
1841 (BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
1842 (BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
1843 (BlackBerry::WebKit::RenderQueue::tileRegion):
1844 (BlackBerry::WebKit::RenderQueue::addToQueue):
1845 (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
1846 (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
1847 (BlackBerry::WebKit::RenderQueue::quickSort):
1848 (BlackBerry::WebKit::RenderQueue::visibleContentChanged):
1849 (BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
1850 (BlackBerry::WebKit::RenderQueue::clear):
1851 (BlackBerry::WebKit::RenderQueue::clearRegions):
1852 (BlackBerry::WebKit::RenderQueue::clearTileIndexes):
1853 (BlackBerry::WebKit::RenderQueue::render):
1854 (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
1855 (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
1856 (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
1857 * WebKitSupport/RenderQueue.h:
1860 * WebKitSupport/SurfacePool.cpp:
1861 (BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
1862 (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
1863 * WebKitSupport/SurfacePool.h:
1865 * WebKitSupport/TileIndex.h:
1868 2012-12-17 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
1870 [BlackBerry] Editable text element can't be selected
1871 https://bugs.webkit.org/show_bug.cgi?id=105240
1873 Reviewed by Rob Buis.
1874 Internally reviewed by Genevieve Mak and Mike Fenton.
1877 When the target is Text, we should allow it to collect text nodes in
1878 the shadow tree of text editable elements.
1880 * WebKitSupport/FatFingers.cpp:
1881 (BlackBerry::WebKit::FatFingers::getNodesFromRect):
1883 2012-12-17 Yongxin Dai <yodai@rim.com>
1885 [BlackBerry] Prevent selection handles from being rendered after selection was canceled
1886 https://bugs.webkit.org/show_bug.cgi?id=105203
1888 Reviewed by Rob Buis.
1892 Here is the explanation why handles occur without selection overlay.
1893 1. Still touch at current selection (Selection A) initiated by touch-hold
1894 2. Selection expanding (Selection B) is ongoing
1895 3. Finger moves. In UI thread:
1896 1) SelectionHander::cancelSelection() gets called.
1897 a. Selection A is canceled immediately (clear selecting state and hide handles)
1898 b. Post a request to webkit thread to cancel Selection A.
1899 4. In webkit thread:
1900 1) Selection B becomes active selection
1901 a. Show selection overlay for Selection B
1902 b. Dispatch Selection B to UI thread to show handles
1903 2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled.
1904 The visual change is Selection overlay for Selection B becomes invisible..
1906 Selection B is rendered. The start handle and the end handle occur without selection overlay.
1908 The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.
1910 Reviewed Internally by Mike Fenton.
1912 * WebKitSupport/SelectionHandler.cpp:
1913 (BlackBerry::WebKit::SelectionHandler::cancelSelection):
1915 2012-12-17 Yong Li <yoli@rim.com>
1917 [BlackBerry] Null pointer access in compositorDrawsRootLayer
1918 https://bugs.webkit.org/show_bug.cgi?id=105204
1920 Reviewed by Rob Buis.
1923 Add a null check for m_mainFrame in the function.
1926 (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
1928 2012-12-17 Andrew Lo <anlo@rim.com>
1930 [BlackBerry] Use application size rather than screen size where appropriate.
1931 https://bugs.webkit.org/show_bug.cgi?id=105201
1933 Reviewed by Rob Buis.
1934 Internally reviewed by Jeff Rogers.
1936 Switch from screenSize to applicationSize where appropriate.
1940 (BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
1941 (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
1942 * WebKitSupport/SurfacePool.cpp:
1943 (BlackBerry::WebKit::SurfacePool::initialize):
1945 2012-12-17 Mike Fenton <mifenton@rim.com>
1947 [BlackBerry] Improve DOMSupport visibleSelectionForClosestActualWordStart for content editable.
1948 https://bugs.webkit.org/show_bug.cgi?id=105198
1950 Reviewed by Rob Buis.
1954 Improve closest word matching by giving preference to the left when
1955 distances are equal.
1957 Also enforce container matching to avoid selecting the paragraph
1958 marker if a CE div is followed immediately by a CE paragraph.
1960 Minor refactor - don't calculate the distance if the selection
1963 Reviewed Internally by Gen Mak and Nima Ghanavatian.
1965 * WebKitSupport/DOMSupport.cpp:
1966 (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
1968 2012-12-17 Jakob Petsovits <jpetsovits@rim.com>
1970 [BlackBerry] Clean up log output in WebKit/blackberry.
1971 https://bugs.webkit.org/show_bug.cgi?id=104823
1973 Reviewed by George Staikos.
1975 Behavior-preserving change, fixing many issues with logging:
1976 - Call logAlways() instead of BBLOG() in already defined-out debug blocks.
1977 - Call logAlways() instead of BBLOG() for serious errors, too.
1978 - Fix build for the DEBUG_OVERFLOW_DETECTION block in ChromeClientBlackBerry.
1979 - Fix build for double declarations of "elapsed" variables in RenderQueue.
1980 - Fix compiler warnings due to format string / parameter mismatches.
1981 - Remove unnecessary trailing newlines in logged strings.
1982 - Consistently use Platform:: as prefix except inside WebCore-namespaced code.
1983 - Use indentation that actually passes WebKit style checks.
1984 - Change point/size/rect output to use Platform toString() formats for consistency.
1986 * Api/BackingStore.cpp:
1987 (BlackBerry::WebKit::bestDivisor):
1988 (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
1989 (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
1990 (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
1991 (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
1992 (BlackBerry::WebKit::BackingStorePrivate::repaint):
1993 (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
1994 (BlackBerry::WebKit::BackingStorePrivate::scroll):
1995 (BlackBerry::WebKit::BackingStorePrivate::renderJob):
1996 (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
1997 (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
1998 (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
1999 (BlackBerry::WebKit::BackingStorePrivate::render):
2000 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2001 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
2002 (BlackBerry::WebKit::BackingStorePrivate::renderContents):
2003 (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
2004 (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
2005 (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
2006 (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
2008 (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2009 (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
2010 (BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
2011 (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
2012 (BlackBerry::WebKit::WebPage::touchEvent):
2013 (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
2014 (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
2015 (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
2016 (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
2017 * WebCoreSupport/ChromeClientBlackBerry.cpp:
2018 (WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
2019 * WebKitSupport/FatFingers.cpp:
2020 (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
2021 (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
2022 (BlackBerry::WebKit::FatFingers::checkForText):
2023 * WebKitSupport/InputHandler.cpp:
2024 (BlackBerry::WebKit::convertStringToWchar):
2025 (BlackBerry::WebKit::convertStringToWcharVector):
2026 (BlackBerry::WebKit::convertSpannableStringToString):
2027 (BlackBerry::WebKit::InputHandler::learnText):
2028 (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2029 (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
2030 (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2031 (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2032 (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2033 (BlackBerry::WebKit::InputHandler::setElementUnfocused):
2034 (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
2035 (BlackBerry::WebKit::InputHandler::setElementFocused):
2036 (BlackBerry::WebKit::InputHandler::spellCheckBlock):
2037 (BlackBerry::WebKit::InputHandler::nodeTextChanged):
2038 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
2039 (BlackBerry::WebKit::InputHandler::frameUnloaded):
2040 (BlackBerry::WebKit::InputHandler::selectionChanged):
2041 (BlackBerry::WebKit::InputHandler::setSelection):
2042 (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2043 (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
2044 (BlackBerry::WebKit::InputHandler::deleteText):
2045 (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2046 (BlackBerry::WebKit::InputHandler::setComposingRegion):
2047 (BlackBerry::WebKit::InputHandler::finishComposition):
2048 (BlackBerry::WebKit::InputHandler::setText):
2049 (BlackBerry::WebKit::InputHandler::setTextAttributes):
2050 (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
2051 (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
2052 (BlackBerry::WebKit::InputHandler::setComposingText):
2053 (BlackBerry::WebKit::InputHandler::commitText):
2054 * WebKitSupport/RenderQueue.cpp:
2055 (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
2056 (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
2057 (BlackBerry::WebKit::RenderQueue::render):
2058 (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
2059 (BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
2060 (BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
2061 (BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
2062 (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
2063 (BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):
2064 * WebKitSupport/SelectionHandler.cpp:
2065 (BlackBerry::WebKit::SelectionHandler::cancelSelection):
2066 (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
2067 (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
2068 (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
2069 (BlackBerry::WebKit::SelectionHandler::setSelection):
2070 (BlackBerry::WebKit::SelectionHandler::selectObject):
2071 (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2072 (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2073 * WebKitSupport/SurfacePool.cpp:
2074 (BlackBerry::WebKit::SurfacePool::initialize):
2076 2012-12-17 Anthony Scian <ascian@rim.com>
2078 [Blackberry] Static code analysis warning fixes
2079 https://bugs.webkit.org/show_bug.cgi?id=105129
2081 Reviewed by Rob Buis.
2083 - disable copy/op= in BackingStore
2084 - cache and check intermediate values in parentLayer
2085 - disable copy/op= in InRegionScroller
2086 - disable copy/op= in WebPageGroupLoadDeferrer
2087 - disable copy/op= in WebSettings
2088 - disable copy/op= in WebViewportArguments
2089 - disable copy/op= in BackingStoreClient
2090 - disable copy/op= in TileBuffer
2091 - if stopNode is not NULL, loop could iterate past NULL; added NULL check to loop
2092 to make the code more robust
2094 * Api/BackingStore.h:
2095 * Api/InRegionScroller.cpp:
2096 (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
2097 (BlackBerry::WebKit::parentLayer):
2098 * Api/InRegionScroller.h:
2099 * Api/WebPageGroupLoadDeferrer.h:
2100 * Api/WebSettings.h:
2101 * Api/WebViewportArguments.h:
2102 * WebKitSupport/BackingStoreClient.h:
2103 (BackingStoreClient):
2104 * WebKitSupport/BackingStoreTile.h:
2106 * WebKitSupport/DOMSupport.cpp:
2107 (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
2109 2012-12-16 Arvid Nilsson <anilsson@rim.com>
2111 [BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API
2112 https://bugs.webkit.org/show_bug.cgi?id=105143
2115 Reviewed by Rob Buis.
2116 Internally reviewed by George Staikos.
2118 TouchPoint instances now provide document coordinates for the viewport
2119 and content position of the touch event. The pixel coordinates stored
2120 in the TouchPoint should no longer be needed in WebKit. One exception
2121 is when passing events to a full screen plugin.
2123 Also adapt to new method names and encapsulation of TouchPoint data
2127 (BlackBerry::WebKit::WebPage::touchEvent):
2128 (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2129 (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
2130 (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
2131 * WebKitSupport/InputHandler.cpp:
2132 (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2133 * WebKitSupport/InputHandler.h:
2135 * WebKitSupport/TouchEventHandler.cpp:
2136 (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
2137 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2138 * WebKitSupport/TouchEventHandler.h:
2139 (TouchEventHandler):
2141 2012-12-15 Anders Carlsson <andersca@apple.com>
2143 Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
2144 https://bugs.webkit.org/show_bug.cgi?id=105122
2146 Reviewed by Andreas Kling.
2148 Update for WebCore changes.
2151 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2152 (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
2153 * WebCoreSupport/FrameLoaderClientBlackBerry.h:
2154 (FrameLoaderClientBlackBerry):
2156 2012-12-16 Jacky Jiang <zhajiang@rim.com>
2158 [BlackBerry] GUIMark3 page is rendered at a large scale during history navigation back
2159 https://bugs.webkit.org/show_bug.cgi?id=105130
2161 Reviewed by George Staikos.
2164 During history navigation, UI thread can blit the contents at a bad
2165 view state before WebKit thread restores the view state.
2166 Suspend screen updates before goBackOrForward() and resume thereafter
2167 so that screen can be updated after the correct view state is updated.
2168 No need to render or blit here, as goBackOrForward() can dispatch a
2169 message to WebKit thread to do that in WebPagePrivate::restoreHistoryViewState().
2172 (BlackBerry::WebKit::WebPage::goBackOrForward):
2174 2012-12-15 Nima Ghanavatian <nghanavatian@rim.com>
2176 [BlackBerry] Pass key modifiers with touch and mouse events
2177 https://bugs.webkit.org/show_bug.cgi?id=105108
2179 Reviewed by Rob Buis.
2181 Pass key modifiers to allow for added functionality, such as
2182 shift+click to highlight.
2184 Internally reviewed by Gen Mak.
2187 (BlackBerry::WebKit::WebPagePrivate::webContext):
2188 (BlackBerry::WebKit::WebPagePrivate::updateCursor):
2189 (BlackBerry::WebKit::WebPage::mouseEvent):
2190 (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2192 * WebKitSupport/TouchEventHandler.cpp:
2193 (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
2194 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2195 (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
2196 * WebKitSupport/TouchEventHandler.h:
2197 (TouchEventHandler):
2199 2012-12-15 Nima Ghanavatian <nghanavatian@rim.com>
2201 [BlackBerry] Clean up allocated memory from InputMethodSupport
2202 https://bugs.webkit.org/show_bug.cgi?id=105110
2204 Reviewed by Rob Buis.
2207 We are deep copying the spannable_string from IMF and freeing
2208 here once we're done with it.
2210 Internally reviewed by Jeff Rogers.
2212 * WebKitSupport/InputHandler.cpp:
2213 (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
2215 2012-12-14 Parth Patel <parpatel@rim.com>
2217 [BlackBerry] Allow plugins to be disabled by shared library filename
2218 https://bugs.webkit.org/show_bug.cgi?id=101274
2220 Reviewed by Yong Li.
2225 (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
2227 2012-12-13 Jacky Jiang <zhajiang@rim.com>
2229 [BlackBerry][Fullscreen] Exiting fullscreen does not set the correct scroll position
2230 https://bugs.webkit.org/show_bug.cgi?id=104958
2232 Reviewed by Antonio Gomes.
2233 Internally reviewed by Arvid Nilsson and Max Feil.
2236 When leaving fullscreen, WebPage scale and scroll position can't return
2237 to the original scale and scroll position.
2238 We can't restore them in WebPagePrivate::exitFullScreenForElement()
2239 as they can still be changed thereafter during the async
2240 setViewportSize(). And also the async setViewportSize() from the app
2241 side isn't guaranteed as some apps don't need to resize the viewport if
2242 their windows are already fullscreen.
2243 The restoration is basically only needed if viewport size is changed.
2244 At the point of entering fullscreen, we can safely assume that there
2245 would be a viewport size change thereafter if the current visible size
2246 and screen size are not equal. Based on this assumption, we can save
2247 the scale and position before entering fullscreen and restore them in
2248 setViewportSize() thereafter.
2251 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2252 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2256 2012-12-13 Yong Li <yoli@rim.com>
2258 [BlackBerry] Possible JS re-entrancy caused by UI event handler
2259 https://bugs.webkit.org/show_bug.cgi?id=84862
2261 Reviewed by Rob Buis.
2263 Fix an obvious bug in previous patch.
2266 (BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):
2268 2012-12-13 Parth Patel <parpatel@rim.com>, Max Feil <mfeil@rim.com>
2270 Allow plugins to be disabled by shared library filename
2271 https://bugs.webkit.org/show_bug.cgi?id=101274
2273 Reviewed by Antonio Gomes.
2275 Mechanism allows plugins to be disabled by specifying their shared library filenames.
2276 Once disabled, a plugin's shared library should never be loaded.
2279 (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
2281 (BlackBerry::WebKit::WebPage::updateDisabledPluginFiles):
2284 2012-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2286 NetworkInfoController needs to support destructor
2287 https://bugs.webkit.org/show_bug.cgi?id=104642
2289 Reviewed by Kentaro Hara.
2291 Though NetworkInfoController can be referenced by each port in order to update network status change,
2292 there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
2293 controller is destroyed.
2295 * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
2296 (WebCore::NetworkInfoClientBlackBerry::networkInfoControllerDestroyed):
2298 * WebCoreSupport/NetworkInfoClientBlackBerry.h:
2299 (NetworkInfoClientBlackBerry):
2301 2012-12-12 Mike Lattanzio <mlattanzio@rim.com>
2303 [BlackBerry] Ensure InRegionScrollableArea is valid before using.
2304 https://bugs.webkit.org/show_bug.cgi?id=104832
2306 Reviewed by Antonio Gomes.
2308 Make sure the InRegionScrollableArea we are about to scroll is
2309 still valid by ensuring its present in our cache of scrollable areas.
2311 Internal Review: Gen Mak
2313 We cache a RefPtr for each scrollable area at the time we discover them,
2314 but this cache can get cleared anytime and then the references will be
2315 released. If a request comes in to scroll a region which no longer
2316 exists we have to ignore it.
2318 * Api/InRegionScroller.cpp:
2319 (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
2320 (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
2321 (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableLayerWebKitThread):
2323 (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableNode):
2324 * Api/InRegionScroller_p.h:
2326 (InRegionScrollerPrivate):
2327 * WebKitSupport/InRegionScrollableArea.cpp:
2328 (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableLayer):
2330 (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableNode):
2331 * WebKitSupport/InRegionScrollableArea.h:
2332 (InRegionScrollableArea):
2334 2012-12-12 Mark Lam <mark.lam@apple.com>
2336 Encapsulate externally used webdatabase APIs in DatabaseManager.
2337 https://bugs.webkit.org/show_bug.cgi?id=104741.
2339 Reviewed by Sam Weinig.
2341 Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
2342 and DatabaseContext directly. This is to prepare for upcoming webkit2
2346 (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
2347 * WebCoreSupport/ChromeClientBlackBerry.cpp:
2348 (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
2350 2012-12-12 Mike Fenton <mifenton@rim.com>
2352 [BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitespace between them.
2353 https://bugs.webkit.org/show_bug.cgi?id=104837
2355 Reviewed by Rob Buis.
2359 Fix selection at the end of content editable text block.
2361 The next character may be in the next block bypassing the distance
2362 comparison logic we have, remove the check for next character being
2365 Reviewed Internally by Nima Ghanavatian.
2367 * WebKitSupport/DOMSupport.cpp:
2368 (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
2370 2012-12-12 Alexey Proskuryakov <ap@apple.com>
2372 Make LOG() work in WebProcess and NetworkProcess
2373 https://bugs.webkit.org/show_bug.cgi?id=104718
2375 Reviewed by Tim Horton.
2377 * Api/BlackBerryGlobal.cpp: Include InitializeLogging.h
2379 2012-12-11 Kihong Kwon <kihong.kwon@samsung.com>
2381 Vibration API: IDL type doesn't match implementation type
2382 https://bugs.webkit.org/show_bug.cgi?id=103899
2384 Reviewed by Kentaro Hara.
2386 According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
2387 Therefore unsigned long need to be changed to unsigned for the Vibration API.
2388 - Change a parameter type of vibrate function from unsigned long to unsigned.
2390 * WebCoreSupport/VibrationClientBlackBerry.cpp:
2391 (WebCore::VibrationClientBlackBerry::vibrate):
2392 * WebCoreSupport/VibrationClientBlackBerry.h:
2393 (VibrationClientBlackBerry):
2395 2012-12-11 Nima Ghanavatian <nghanavatian@rim.com>
2397 [BlackBerry] Redraw spell check dialog after rotation.
2398 https://bugs.webkit.org/show_bug.cgi?id=104737
2400 Reviewed by Rob Buis.
2402 After rotating the device, all dialogs are dismissed. We should
2403 restore the spell check dialog as it is still valid after
2404 rotation and the user will expect it there.
2406 Internally reviewed by Mike Fenton and Gen Mak.
2409 (BlackBerry::WebKit::WebPage::applyPendingOrientationIfNeeded):
2411 2012-12-11 Nima Ghanavatian <nghanavatian@rim.com>
2413 [BlackBerry] Shift the spell check dialog to align with text after transformation
2414 https://bugs.webkit.org/show_bug.cgi?id=104716
2416 Reviewed by Rob Buis.
2419 As the page is transformed, we should redraw the dialog box to align
2420 with the new text position. We send a message to move the dialog
2421 box from different spots to account for scrolling. This includes
2422 keyboard transitions from hidden to displayed and centering of
2423 focus around a new touch point. We do not reposition on manual user
2424 scrolling of the page, as this simply dismisses the dialog.
2426 Internally reviewed by Mike Fenton and Gen Mak.
2429 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2430 * Api/WebPageClient.h:
2431 * WebCoreSupport/ChromeClientBlackBerry.cpp:
2432 (WebCore::ChromeClientBlackBerry::scroll):
2433 * WebKitSupport/InputHandler.cpp:
2434 (BlackBerry::WebKit::InputHandler::InputHandler):
2435 (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
2436 (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
2437 (BlackBerry::WebKit::InputHandler::redrawSpellCheckDialogIfRequired):
2439 * WebKitSupport/InputHandler.h:
2441 (BlackBerry::WebKit::InputHandler::clearDidSpellCheckState):
2442 (BlackBerry::WebKit::InputHandler::didSpellCheckWord):
2443 * WebKitSupport/TouchEventHandler.cpp:
2444 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2446 2012-12-11 Genevieve Mak <gmak@rim.com>
2448 [BlackBerry] Avoid multiple calls to fat fingers
2449 https://bugs.webkit.org/show_bug.cgi?id=104703
2451 Reviewed by Rob Buis.
2453 We already run fat fingers on touch start. No need to do it again
2454 in the general use case.
2456 * WebKitSupport/TouchEventHandler.cpp:
2457 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
2459 2012-12-11 Mike West <mkwst@chromium.org>
2461 Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
2462 https://bugs.webkit.org/show_bug.cgi?id=66371
2464 Reviewed by Pavel Feldman.
2466 Drops WebCore::MessageType from the addMessageToConsole method.
2468 * WebCoreSupport/ChromeClientBlackBerry.cpp:
2469 (WebCore::ChromeClientBlackBerry::addMessageToConsole):
2470 * WebCoreSupport/ChromeClientBlackBerry.h:
2471 (ChromeClientBlackBerry):
2473 2012-12-10 Max Feil <mfeil@rim.com>
2475 [BlackBerry] Flash content is being rendered as garbled characters when Flashplayer is disabled
2476 https://bugs.webkit.org/show_bug.cgi?id=104505
2478 Reviewed by Antonio Gomes.
2480 The check to allow video and audio as the source of embed and
2481 object elements is causing a problem when the Flashplayer plugin
2482 is disabled. We have to take Flash content into account in this
2483 check otherwise the swf contents will be rendered as garbled
2484 text characters where there should just be blank space.
2486 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2487 (WebCore::FrameLoaderClientBlackBerry::createPlugin):
2489 2012-12-10 Parth Patel <parpatel@rim.com>
2491 [BlackBerry] Make hiddenPageDomTimerInterval a setting
2492 https://bugs.webkit.org/show_bug.cgi?id=104555
2494 Reviewed by Yong Li.
2496 HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
2499 * Api/BlackBerryGlobal.cpp:
2500 (BlackBerry::WebKit::globalInitialize):
2502 2012-12-10 Nima Ghanavatian <nghanavatian@rim.com>
2504 [BlackBerry] Fix warning for comparison between signed and unsigned
2505 https://bugs.webkit.org/show_bug.cgi?id=104563
2507 Reviewed by Rob Buis.
2509 * WebKitSupport/InputHandler.cpp:
2510 (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
2512 2012-12-10 Charles Wei <charles.wei@torchmobile.com.cn>
2514 [BlackBerry] Webkit crashes sometimes (even though very rarely) when deleting a webview
2515 https://bugs.webkit.org/show_bug.cgi?id=104504
2517 Reviewed by George Staikos.
2519 When deleting a webview, the webkit thread will send a sync message to userInterfaceThread
2520 to delete handlers, including the viewport accessor. But the UserInterfaceThread could be
2521 doing a blit after it has deleted the viewport accessor and before the webkit thread gets
2522 the time slot to resume it's operation to clean up the webview, which leaves a very short
2523 time that viewport accessor of a webpage has been deleted while the webpage is still in
2524 the process of deleting, and the viewport accessor is referenced in the UserInterfaceThread.
2526 So we need to check if the viewport accessor is NULL before using it in the backingstore code.
2528 * Api/BackingStore.cpp:
2529 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
2530 (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
2532 2012-12-10 Kent Tamura <tkent@chromium.org>
2534 Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
2535 https://bugs.webkit.org/show_bug.cgi?id=104508
2537 Reviewed by Kentaro Hara.
2539 * WebKitSupport/InputHandler.cpp:
2540 (BlackBerry::WebKit::InputHandler::openDatePopup): Use isDisabledOrReadOnly.
2541 (BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
2543 2012-12-08 Jacky Jiang <zhajiang@rim.com>
2545 [BlackBerry] Google results page rendering issue with RTL languages like arabic/hebrew
2546 https://bugs.webkit.org/show_bug.cgi?id=104451
2548 Reviewed by Rob Buis.
2551 On Google results page, we layout the contents at the width of 833.
2552 However, "appbar" and "top_nav" elements which have width 980 cause
2553 overflow during the last layout and make the contents width larger.
2554 The other renderers still stay at the old width unfortunately which
2555 results in blank areas on the left side of the Google results RTL page.
2556 Give it a chance to request another layout if overflow exceeds the
2557 contents size and the page doesn't have virtual viewport, as this
2558 layout will pick up the absolute visible overflow width within
2559 DEFAULT_MAX_LAYOUT_WIDTH and update the other renderers.
2562 (BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
2567 2012-12-08 Mike Fenton <mifenton@rim.com>
2569 [BlackBerry] Enforce selection of last work when triggering caret based selection
2570 https://bugs.webkit.org/show_bug.cgi?id=104447
2572 Reviewed by Rob Buis.
2576 When the selection has reached the end of an input field,
2577 ensure the last word is selected by adjusting the caret.
2579 Reviewed Internally by Gen Mak.
2581 * WebKitSupport/InputHandler.cpp:
2582 (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
2584 * WebKitSupport/InputHandler.h:
2586 * WebKitSupport/SelectionHandler.cpp:
2587 (BlackBerry::WebKit::SelectionHandler::selectObject):
2589 2012-12-08 Chris Hutten-Czapski <chutten@rim.com>
2591 [BlackBerry] Remove about:credits
2592 https://bugs.webkit.org/show_bug.cgi?id=104399
2594 Reviewed by Rob Buis.
2596 Just a simple removal.
2598 * WebKitSupport/AboutData.cpp:
2600 2012-12-08 Rob Buis <rbuis@rim.com>
2602 [BlackBerry] Remove no-op line in WebPage.cpp
2603 https://bugs.webkit.org/show_bug.cgi?id=104385
2605 Reviewed by Antonio Gomes.
2607 Remove self-assignment no-op line. Must have been left when I removed the
2608 mapFromTransformed part.
2611 (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
2613 2012-12-07 Nima Ghanavatian <nghanavatian@rim.com>
2615 [BlackBerry] General code cleanup and improved logging.
2616 https://bugs.webkit.org/show_bug.cgi?id=104389
2618 Reviewed by Rob Buis.
2620 Internally reviewed by Mike Fenton
2622 * WebKitSupport/InputHandler.cpp:
2623 (BlackBerry::WebKit::convertStringToWchar):
2624 (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
2625 (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
2627 2012-12-07 Nima Ghanavatian <nghanavatian@rim.com>
2629 [BlackBerry] Strip whitespace from learned text.
2630 https://bugs.webkit.org/show_bug.cgi?id=104391
2632 Reviewed by Rob Buis.
2634 This was removing the first word from the sentence being learned. Using
2635 stripWhiteSpace to remove spaces from the start and end of the text.
2637 Internally reviewed by Mike Fenton.
2639 * WebKitSupport/InputHandler.cpp:
2640 (BlackBerry::WebKit::InputHandler::learnText):
2642 2012-12-07 Otto Derek Cheung <otcheung@rim.com>
2644 [BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
2645 https://bugs.webkit.org/show_bug.cgi?id=103785
2649 Reviewed by Rob Buis.
2651 Adding a special case for origins with protocol "file". We will use the filepath as
2652 an origin when asking for geolocation permission.
2654 If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
2657 * WebCoreSupport/GeolocationClientBlackBerry.cpp:
2659 (GeolocationClientBlackBerry::requestPermission):
2660 (GeolocationClientBlackBerry::cancelPermissionRequest):
2662 2012-12-07 Mike Lattanzio <mlattanzio@rim.com>
2664 [BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
2665 https://bugs.webkit.org/show_bug.cgi?id=104121
2667 Reviewed by Rob Buis.
2669 Update createBuffer calls to reflect new BufferType enum.
2670 Set buffers opaque if possible to avoid unnecessary blends.
2672 Internal Review: Jakob Petsovits
2674 * WebKitSupport/BackingStoreTile.cpp:
2675 (BlackBerry::WebKit::TileBuffer::nativeBuffer):
2677 2012-12-07 Andrew Lo <anlo@rim.com>
2679 [BlackBerry] Double zoom animation when focusing on input field.
2680 https://bugs.webkit.org/show_bug.cgi?id=104375
2682 Reviewed by Rob Buis.
2683 Internally reviewed by Jakob Petsovits.
2685 UI thread does not need to be notified of a scale change if the WebKit
2686 thread scale has not changed.
2688 This caused issues when two viewport resizes occured one after the other.
2689 Before the scale change due to the first resize could be set in the WK
2690 thread's scale value, it caused WK thread to dispatch a scaleChanged,
2691 overwritting & resetting the new UI thread scale value, resulting in the
2692 double zoom animation.
2694 The larger issue dealing with synchronization between the threads where
2695 scale changes could occur on either thread, however that is beyond the
2696 scope of this change.
2701 (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
2703 2012-12-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
2705 [BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
2706 https://bugs.webkit.org/show_bug.cgi?id=104243
2710 Reviewed by Rob Buis.
2712 1. Add DRT callback in dispatchDecidePolicyForResponse.
2713 2. Pass frame pointer to DRT callback in
2714 dispatchDecidePolicyForNavigationAction, so that it can be used to
2715 calculate originating.
2716 3. Fix some webkit style errors.
2718 The patch fixed the following tests:
2719 - http/tests/download
2720 - fast/forms/mailto/formenctype-attribute-button-html.html
2721 - fast/forms/mailto/formenctype-attribute-input-html.html
2722 - fast/encoding/mailto-always-utf-8.html
2724 * Api/DumpRenderTreeClient.h:
2725 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
2726 (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
2727 (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
2728 (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
2729 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
2730 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
2731 (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
2732 (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
2734 2012-12-05 Otto Derek Cheung <otcheung@rim.com>
2736 [BlackBerry] Geolocation prompts won't respond to the correct geolocation object if the user opens two pages and respond in the reversed order
2737 https://bugs.webkit.org/show_bug.cgi?id=104162
2740 Reviewed by Yong Li.
2742 GeolocationClientBlackBerry will register itself to GeolocationHandler when it has
2743 a pending request. When browser responds with WebPageClientImpl::setAllowGeolocation,
2744 we go through the list and let all the pending GeolocationListeners know that a certain
2745 origin has been aceepted/denied.
2747 * WebCoreSupport/GeolocationClientBlackBerry.cpp:
2748 (GeolocationClientBlackBerry::geolocationDestroyed):
2749 (GeolocationClientBlackBerry::requestPermission):
2750 (GeolocationClientBlackBerry::cancelPermissionRequest):
2751 (GeolocationClientBlackBerry::onPermission):
2753 2012-12-05 Jakob Petsovits <jpetsovits@rim.com>
2755 [BlackBerry] Better crash fix for resetting tiles on a backingstore takeover.
2756 https://bugs.webkit.org/show_bug.cgi?id=103969
2759 Reviewed by Adam Treat.
2761 The previous attempt for releasing tile buffers from the
2762 previously active backingstore did not take into account
2763 that resetTiles() would sometimes return early without
2764 having swapped the tiles and thus reclaiming them.
2766 This patch removes the early returns, because it's safe
2767 to swap in an empty geometry at any time and we should
2768 always take the chance when we get it.
2770 Also put the code that calls resetTiles() on an owner
2771 switch right into setCurrentBackingStoreOwner(), so that
2772 it will also release the buffers when the BackingStore
2773 is destroyed (the function is then called with 0).
2775 * Api/BackingStore.cpp:
2776 (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
2778 (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
2779 * Api/BackingStore.h: Had to add the friend here to make the moved code work from the static function.
2780 * Api/BackingStore_p.h:
2781 (BackingStorePrivate):
2783 (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
2785 2012-12-05 Jakob Petsovits <jpetsovits@rim.com>
2787 [BlackBerry] Keep screen updates suspended until after a viewport resize.
2788 https://bugs.webkit.org/show_bug.cgi?id=104041
2790 Reviewed by Adam Treat.
2792 Now that screen and backing store updates can be suspended
2793 and resumed separately from each other, prevent blits for
2794 the whole duration of setViewportSize() and always issue
2797 Makes WebPage::setViewportSize() more robust in threaded usage,
2798 easier to read/understand, and gets rid of a couple of FIXMEs.
2801 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
2803 2012-12-05 Andrew Lo <anlo@rim.com>
2805 [BlackBerry] Scroll position shifts while FCC & selection handle are dragged
2806 https://bugs.webkit.org/show_bug.cgi?id=104156
2808 Reviewed by Rob Buis.
2809 Internally reviewed by Mike Fenton.
2811 Only ensureFocusTextElementVisible on selectionChanged when
2812 an element is being re-focused.
2815 * WebKitSupport/InputHandler.cpp:
2816 (BlackBerry::WebKit::InputHandler::InputHandler):
2817 (BlackBerry::WebKit::InputHandler::setElementFocused):
2818 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
2819 (BlackBerry::WebKit::InputHandler::selectionChanged):
2820 * WebKitSupport/InputHandler.h:
2823 2012-12-05 Leo Yang <leoyang@rim.com>
2825 [BlackBerry] Enable CSS_IMAGE_RESOLUTION
2826 https://bugs.webkit.org/show_bug.cgi?id=104132
2828 Reviewed by Yong Li.
2830 * WebCoreSupport/AboutDataEnableFeatures.in:
2832 2012-12-05 Jacky Jiang <zhajiang@rim.com>
2834 [BlackBerry] meta viewport pages are rendered at a bad initial scale
2835 https://bugs.webkit.org/show_bug.cgi?id=104122
2837 Reviewed by Rob Buis.
2838 Internally reviewed by Arvid Nilsson.
2841 Many websites are rendered at a very bad initial scale because they
2842 both specify meta viewport tag and have large width elements. In such
2843 a case we will think the meta viewport tag is broken if the width of
2844 any element is larger than the calculated layout viewport width.
2845 The fix to this is straightforward that we will zoom the page to fit
2846 the screen to have better user experience instead of respecting the
2847 meta viewport. This can fix the issue on the websites such as
2848 www.travelpod.com, www.forbes.com, interfacelift.com, www.sky.com,
2849 raphaeljs.com and so on.
2850 If non-empty m_userViewportArguments is applied, then we will force to
2851 respect the viewport arguments. In this way we will restrict the fix to
2855 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2856 (BlackBerry::WebKit::WebPagePrivate::setLoadState):
2857 (BlackBerry::WebKit::WebPagePrivate::respectViewport):
2859 (BlackBerry::WebKit::WebPagePrivate::initialScale):
2860 (BlackBerry::WebKit::WebPagePrivate::maximumScale):
2861 (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
2863 (BlackBerry::WebKit::WebPagePrivate::isUserScalable):
2865 (BlackBerry::WebKit::WebPagePrivate::minimumScale):
2867 2012-12-05 Otto Derek Cheung <otcheung@rim.com>
2869 [BlackBerry] GeolocationClientBB only holding the latest geolocation permission request
2870 https://bugs.webkit.org/show_bug.cgi?id=104123
2874 Reviewed by Yong Li.
2876 Add a mapping between origin URL and it's geolocation object so we could
2877 respond to the correct geolocation when libwebview responds with onPermission
2878 in GeolocationClient.
2880 Using the mapping, we could also prevent requestGeolocation requests from the same origin
2881 to be sent twice. This prevents pages that hold two iframes to the same resource to request
2882 geolocation permission on the same security origin twice.
2884 Tested this by running a page that includes 2 or more iframes that requests geolocation
2887 * WebCoreSupport/GeolocationClientBlackBerry.cpp:
2888 (GeolocationClientBlackBerry::requestPermission):
2889 (GeolocationClientBlackBerry::cancelPermissionRequest):
2890 (GeolocationClientBlackBerry::onPermission):
2891 * WebCoreSupport/GeolocationClientBlackBerry.h:
2892 (GeolocationClientBlackBerry):
2894 2012-12-05 Yongxin Dai <yodai@rim.com>
2896 [BlackBerry] Avoid showing FCC on empty text field in a different way
2897 https://bugs.webkit.org/show_bug.cgi?id=104019
2899 Reviewed by Rob Buis.
2903 Add text field empty flag along with the caret change notification so that
2904 FineCursorContnrol is able to avoid showing FCC on empty text filed.
2905 Previous approach, notifying client with empty caret on empty text field,
2906 causes problem. Its code is removed.
2908 Reviewed Internally by Mike Fenton.
2910 * Api/WebPageClient.h:
2911 * WebKitSupport/SelectionHandler.cpp:
2912 (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
2914 2012-12-04 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
2915 [BlackBerry] VKB flickers in and out when tapping on webview after text selection on URL bar
2916 https://bugs.webkit.org/show_bug.cgi?id=103874
2919 Reviewed by Rob Buis.
2920 Internally reviewed by Mike Fenton.
2922 When the virtual keyboard is hiding, the viewport is changed and the page needs
2923 to relayout.At the same time, the user interface thread is executing compositeLayers
2924 and it will dispatch the updateDelegatedOverlays() to webkit thread which will trigger
2925 the selectionPositionChanged() in webkit thread.
2927 When the selectionPositionChanged() calls frame->selection()->selection().
2928 visibleStart() and frame->selection()->selection().visibleEnd(), it will
2929 trigger page relayout and return the relayouted selection start and end position.
2930 These positions are out of the range which is recorded before its relayout.
2931 As a result it think the selection start and end are all clipped out and it send
2932 out an "empty selection"(not selected) changing event.
2934 When the WebPageClient receives the empty selection changing event, it will consider
2935 the selection process aborted and might cancel selection-related user interaction.
2936 This is not what we intend to happen.
2938 This patch stops the changing handling process and returns when the page needs relayout,
2939 and the selection will be updated again when the page finishs relayout.
2941 * WebKitSupport/SelectionHandler.cpp:
2942 (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
2944 2012-12-04 Andrew Lo <anlo@rim.com>
2946 [BlackBerry] Scroll adjustments while typing scroll off page, then bounce back.
2947 https://bugs.webkit.org/show_bug.cgi?id=104045
2949 Reviewed by Rob Buis.
2950 Internally reviewed by Mike Fenton & Jakob Petsovits.
2953 The main frame's view should only be temporarily set to
2954 not constrain scrolling to the content edge while the
2955 scroll position is set at the end of the scroll animation.
2957 Remove ensureFocusTextElementVisible from setSpannableTextAndRelativeCursor
2958 in InputHandler since FrameSelection::revealSelection
2959 already implements scroll adjustments due to typing.
2962 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
2963 (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
2964 (BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
2967 * WebKitSupport/InputHandler.cpp:
2968 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
2969 (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
2971 2012-12-04 Mike Fenton <mifenton@rim.com>
2973 [BlackBerry] Remove assert and fix conditional for out of bounds requests in InputHandler::spannableTextInRange
2974 https://bugs.webkit.org/show_bug.cgi?id=104001
2976 Reviewed by Rob Buis.
2980 Remove assert and update early return to allow out of bounds
2981 request at end of field.
2983 Reviewed Internally by Gen Mak.
2985 * WebKitSupport/InputHandler.cpp:
2986 (BlackBerry::WebKit::InputHandler::spannableTextInRange):
2988 2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
2990 [BlackBerry] Store rendered regions in pixel contents coordinates.
2991 https://bugs.webkit.org/show_bug.cgi?id=103930
2994 Reviewed by Rob Buis.
2995 Internally reviewed by Adam Treat.
2997 Previously, the rendered region of a tile used to be
2998 stored in coordinates relative to the tile origin.
2999 This brings no benefits whatsoever and causes a lot
3000 of unnecessary transformations, together with the
3001 potential of incorrectly transforming rendered regions.
3003 By storing the rendered region as what it is,
3004 everything is more compact, easier to understand
3005 and easier to use with other existing functionality.
3007 * Api/BackingStore.cpp:
3008 (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
3009 (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
3010 (BlackBerry::WebKit::BackingStorePrivate::render):
3011 (BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
3012 (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToTileBuffer):
3013 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
3014 (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
3015 (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
3016 (BlackBerry::WebKit::BackingStorePrivate::isTileVisible):
3017 (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
3018 (BlackBerry::WebKit::BackingStorePrivate::tileVisibleContentsRect):
3019 (BlackBerry::WebKit::BackingStorePrivate::tileContentsRect):
3020 (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
3021 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
3022 (BlackBerry::WebKit::BackingStorePrivate::mapFromPixelContentsToTiles):
3023 (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
3024 (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
3025 * Api/BackingStore_p.h:
3026 (BackingStorePrivate):
3027 * WebKitSupport/BackingStoreTile.cpp:
3028 (BlackBerry::WebKit::TileBuffer::surfaceRect):
3029 (BlackBerry::WebKit::TileBuffer::pixelContentsRect):
3031 (BlackBerry::WebKit::TileBuffer::isRendered):
3032 (BlackBerry::WebKit::TileBuffer::notRenderedRegion):
3033 * WebKitSupport/BackingStoreTile.h:
3036 2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
3038 [BlackBerry] Use updated API for backingstore tiles.
3039 https://bugs.webkit.org/show_bug.cgi?id=103970
3042 Reviewed by George Staikos.
3043 Internally reviewed by Arvid Nilsson.
3045 We now make use of Platform::Settings::tileSize() in the
3046 backingstore and don't hardcode the number of back buffers
3049 * Api/BackingStore.cpp:
3050 (BlackBerry::WebKit::bestDivisor):
3051 (BlackBerry::WebKit::BackingStorePrivate::tileWidth):
3052 (BlackBerry::WebKit::BackingStorePrivate::tileHeight):
3053 (BlackBerry::WebKit::BackingStorePrivate::tileSize):
3054 * WebKitSupport/AboutData.cpp:
3055 (BlackBerry::WebKit::configPage):
3056 * WebKitSupport/SurfacePool.cpp:
3057 (BlackBerry::WebKit::SurfacePool::SurfacePool):
3058 (BlackBerry::WebKit::SurfacePool::numberOfBackingStoreFrontBuffers):
3059 (BlackBerry::WebKit::SurfacePool::initialize):
3060 * WebKitSupport/SurfacePool.h:
3063 2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
3065 [BlackBerry] On taking over a backingstore, reset the previous page's tiles.
3066 https://bugs.webkit.org/show_bug.cgi?id=103969
3069 Reviewed by George Staikos.
3071 With buffers being explicitly reclaimed from backingstore
3072 geometries, we have to make sure that the previously
3073 active backingstore releases its front buffers for use
3074 in the newly active one.
3076 Previously, this clearing of backingstore tiles occurred
3077 after the dormant backingstore is reactivated,
3078 the backingstore active in the meantime would just use
3079 the back buffer anyway and leave the dormant one with
3080 dangling pointers that would just not be shown.
3081 Now that we have a counted list of back buffers,
3082 we need to be explicit about this thing upfront.
3084 Fixes a crash that would occur after switching ownership
3085 of the backingstore to a different WebPage.
3088 (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
3090 2012-12-03 Jakob Petsovits <jpetsovits@rim.com>
3092 [BlackBerry] Refactor the backingstore to swap full geometries.
3093 https://bugs.webkit.org/show_bug.cgi?id=103924
3096 Reviewed by Yong Li.
3097 Internally reviewed by Adam Treat and Arvid Nilsson.
3099 The backingstore had a working split between front and
3100 back state, but it was multilayered and hard to grasp.
3101 This commit cleanly divides the responsibilities of
3102 BackingStoreGeometry and TileBuffer, with the latter
3103 now being able to function on its own without the help
3104 of its geometry. The BackingStoreTile class was an
3105 unnecessary middleman and can be removed wholesale.
3107 A BackingStoreGeometry can now function with null tiles
3108 being assigned to its indices, which enables us to reclaim
3109 tile buffers outside of the visible contents area as back
3110 buffers. This reduces the need to swap and block when the
3111 backingstore size exceeds the contents size, and also lets
3112 us use more tiles for initial rendering after a call to
3113 resetTiles() which is now implemented as swapping in a
3114 geometry with only null buffers.
3116 setBackingStoreRect() was the only function that had to
3117 get a change of behavior. Because we're now constructing
3118 new BackingStoreGeometry objects every time the front
3119 geometry is being exchanged for a new one, it is only
3120 safe to call other functions reliant on the new geometry
3121 after it has been finalized and put in place. Therefore,
3122 updateTilesForScrollOrNotRenderedRegion() takes on the
3123 render queue maintenance tasks that setBackingStoreRect()
3124 had performed previously. It was already doing something
3125 very similar so only few changes to the function were
3128 This commit will make subsequent changes to the
3129 backingstore geometry and tile logic a lot easier.
3131 * Api/BackingStore.cpp:
3132 (BlackBerry::WebKit::BackingStoreGeometry::isTileCorrespondingToBuffer):
3134 (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
3135 (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
3136 (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
3137 (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
3138 (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
3139 (BlackBerry::WebKit::BackingStorePrivate::clearRenderedRegion):
3140 (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
3141 (BlackBerry::WebKit::BackingStorePrivate::render):
3142 (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToTileBuffer):
3143 (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
3144 (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
3145 (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
3146 (BlackBerry::WebKit::BackingStorePrivate::tileVisibleContentsRect):
3147 (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
3148 (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
3149 (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
3150 (BlackBerry::WebKit::BackingStorePrivate::mapFromTilesToTransformedContents):
3151 (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
3152 (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
3153 (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
3154 (BlackBerry::WebKit::BackingStoreGeometry::originOfTile):
3155 (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
3156 * Api/BackingStore_p.h:
3158 (BackingStoreGeometry):
3159 (BlackBerry::WebKit::BackingStoreGeometry::tileBufferAt):
3160 (BackingStorePrivate):
3162 (BlackBerry::WebKit::WebPagePrivate::setLoadState):
3163 (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
3164 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3167 * WebKitSupport/BackingStoreTile.cpp:
3168 (BlackBerry::WebKit::TileBuffer::TileBuffer):
3169 (BlackBerry::WebKit::TileBuffer::~TileBuffer):
3170 (BlackBerry::WebKit::TileBuffer::isRendered):
3171 (BlackBerry::WebKit::TileBuffer::nativeBuffer):
3172 (BlackBerry::WebKit::TileBuffer::wasNativeBufferCreated):
3173 (BlackBerry::WebKit::TileBuffer::paintBackground):
3174 * WebKitSupport/BackingStoreTile.h:
3175 (BlackBerry::WebKit::TileBuffer::lastRenderOrigin):
3176 (BlackBerry::WebKit::TileBuffer::setLastRenderOrigin):
3177 (BlackBerry::WebKit::TileBuffer::lastRenderScale):
3178 (BlackBerry::WebKit::TileBuffer::setLastRenderScale):
3180 (BlackBerry::WebKit::TileBuffer::backgroundPainted):
3181 * WebKitSupport/SurfacePool.cpp:
3182 (BlackBerry::WebKit::SurfacePool::SurfacePool):
3183 (BlackBerry::WebKit::SurfacePool::size):
3185 (BlackBerry::WebKit::SurfacePool::initialize):
3186 (BlackBerry::WebKit::SurfacePool::initializeVisibleTileBuffer):
3187 (BlackBerry::WebKit::SurfacePool::hasBackBuffer):
3188 (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
3189 (BlackBerry::WebKit::SurfacePool::addBackBuffer):
3190 (BlackBerry::WebKit::SurfacePool::createBuffers):
3191 (BlackBerry::WebKit::SurfacePool::releaseBuffers):
3192 (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
3193 * WebKitSupport/SurfacePool.h:
3194 (BlackBerry::WebKit::SurfacePool::isActive):
3195 (BlackBerry::WebKit::SurfacePool::isEmpty):
3197 (BlackBerry::WebKit::SurfacePool::visibleTileBuffer):
3199 2012-12-03 Cosmin Truta <ctruta@rim.com>
3201 [BlackBerry] Enable HIDDEN_PAGE_DOM_TIMER_THROTTLING
3202 https://bugs.webkit.org/show_bug.cgi?id=103842
3204 Reviewed by Yong Li.
3206 Add HIDDEN_PAGE_DOM_TIMER_THROTTLING.
3208 * WebCoreSupport/AboutDataEnableFeatures.in:
3210 2012-12-02 Tiancheng Jiang <tijiang@rim.com>
3212 [BlackBerry]Tap highlight
3213 https://bugs.webkit.org/show_bug.cgi?id=103787
3215 Reviewed by Rob Buis.
3218 Internally Reviewed by Genevieve Mak.
3220 Draw tap highlight as soon as tap on element.
3223 (BlackBerry::WebKit::WebPage::touchEvent):
3224 * WebKitSupport/TouchEventHandler.cpp:
3225 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
3226 * WebKitSupport/TouchEventHandler.h:
3227 (TouchEventHandler):
3229 2012-11-28 Cosmin Truta <ctruta@rim.com>
3231 [BlackBerry] Set the minimal DOM timer interval to 4 milliseconds
3232 https://bugs.webkit.org/show_bug.cgi?id=103534
3234 Reviewed by Yong Li.
3236 We align this behavior with other platforms.
3238 * Api/BlackBerryGlobal.cpp:
3239 (BlackBerry::WebKit::globalInitialize):
3241 2012-11-29 Otto Derek Cheung <otcheung@rim.com>
3243 [BlackBerry] Modifying GeoClientBlackBerry to switch between high and low accuracy
3244 https://bugs.webkit.org/show_bug.cgi?id=103666
3246 Reviewed by Yong Li.
3248 Internally reviewed by Yong Li.
3252 Updating GeolocationClientBlackBerry to switch accuracy when GeolocationController
3253 calls setEnableHighAccuracy.
3255 * WebCoreSupport/GeolocationClientBlackBerry.cpp:
3256 (GeolocationClientBlackBerry::startUpdating):
3257 (GeolocationClientBlackBerry::setEnableHighAccuracy):
3259 2012-11-29 Andrew Lo <anlo@rim.com>
3261 [BlackBerry] Do not adjust scroll position on viewport resizes that are not orientation change related
3262 https://bugs.webkit.org/show_bug.cgi?id=103659
3264 Reviewed by Rob Buis.
3265 Internally reviewed by Gen Mak.
3268 Only adjust scroll position during an orientation change
3269 when setting viewport size.
3270 We don't want the scroll position jumping around when opening
3274 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3276 2012-11-28 Otto Derek Cheung <otcheung@rim.com>
3278 [BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
3279 https://bugs.webkit.org/show_bug.cgi?id=103560
3281 Reviewed by Rob Buis.
3285 Syncing platform Websetting's cookieEnabled value with Page->setting's cookieEnabled
3289 (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
3291 2012-11-27 James Simonsen <simonjam@chromium.org>
3293 Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
3294 https://bugs.webkit.org/show_bug.cgi?id=102151
3296 Reviewed by Adam Barth.
3299 (BlackBerry::WebKit::WebPagePrivate::load):
3300 (BlackBerry::WebKit::WebPagePrivate::loadString):
3301 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3302 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3304 2012-11-27 Jacky Jiang <zhajiang@rim.com>
3306 [BlackBerry] http:// origins can navigate to privileged local:// origins
3307 https://bugs.webkit.org/show_bug.cgi?id=103437
3309 Reviewed by Yong Li.
3312 When we aren't allowed to display the destination origin, we shouldn't
3313 even create the window for it. In this way we can block the remote
3314 origins(like http://) window.open local origins(like file:// and
3315 local://) and avoid further security issues.
3316 Chrome and Safari will open a blank window and fail to load. Firefox
3317 will fail to open the window and report a load failure error which has
3318 the same behavior as us. I would prefer this way as the window would
3319 be useless and the calls after that would be harmful to us.
3321 * WebCoreSupport/ChromeClientBlackBerry.cpp:
3322 (WebCore::ChromeClientBlackBerry::createWindow):
3324 2012-11-27 Andrew Lo <anlo@rim.com>
3326 [BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocusTextElementVisible
3327 https://bugs.webkit.org/show_bug.cgi?id=103441
3329 Reviewed by Rob Buis.
3330 Internally reviewed by Mike Fenton.
3332 Remove unnecessary backing store suspension in
3333 InputHandler::ensureFocusTextElementVisible.
3335 Not necessary anymore since both zoom and scroll adjustments
3336 happen in an animation.
3338 * WebKitSupport/InputHandler.cpp:
3339 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3341 2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
3343 Unreviewed, rolling out r135786.
3344 http://trac.webkit.org/changeset/135786
3345 https://bugs.webkit.org/show_bug.cgi?id=103379
3347 It made 3 plugin tests timeout on several platforms (Requested
3348 by Ossy on #webkit).
3351 (BlackBerry::WebKit::WebPagePrivate::load):
3352 (BlackBerry::WebKit::WebPagePrivate::loadString):
3353 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3354 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3356 2012-11-26 James Simonsen <simonjam@chromium.org>
3358 Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
3359 https://bugs.webkit.org/show_bug.cgi?id=102151
3361 Reviewed by Adam Barth.
3364 (BlackBerry::WebKit::WebPagePrivate::load):
3365 (BlackBerry::WebKit::WebPagePrivate::loadString):
3366 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3367 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3369 2012-11-26 Genevieve Mak <gmak@rim.com>
3371 [BlackBerry] Form controls don't show pressed state.
3372 https://bugs.webkit.org/show_bug.cgi?id=103292
3374 Reviewed by Rob Buis.
3376 Reviewed internally by Eli Fidler and Mike Lattanzio.
3377 We weren't sending touch events to webpages unless they
3378 had JS touch event listeners which form controls don't have.
3379 Now send them always and do a little cleanup.
3383 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3384 (BlackBerry::WebKit::WebPage::touchEvent):
3385 * Api/WebPageClient.h:
3388 * WebCoreSupport/ChromeClientBlackBerry.cpp:
3389 (WebCore::ChromeClientBlackBerry::needTouchEvents):
3391 2012-11-26 Nima Ghanavatian <nghanavatian@rim.com>
3393 [BlackBerry] Null check calls associated with retrieving the caret rect.
3394 https://bugs.webkit.org/show_bug.cgi?id=103281
3396 Reviewed by Rob Buis.
3398 Some of these calls can return null, which could lead to a crash.
3400 Internally reviewed by Gen Mak.
3402 * WebKitSupport/InputHandler.cpp:
3403 (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
3405 2012-11-26 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
3407 [BlackBerry] Should not autofill username and password when there're more than one password inputs on the same page
3408 https://bugs.webkit.org/show_bug.cgi?id=103104
3410 Reviewed by Rob Buis.
3413 Added the oldPassword detection back into the password input
3414 detection logic, which was removed for simplicity when imported
3415 those pieces of codes from Chromium. And we won't do autofill
3416 when there're more than one password field detected.
3418 Internally reviewed by Rob Buis.
3420 * WebCoreSupport/CredentialTransformData.cpp:
3421 (WebCore::CredentialTransformData::CredentialTransformData):
3422 (WebCore::CredentialTransformData::findPasswordFormFields):
3423 * WebCoreSupport/CredentialTransformData.h:
3424 (CredentialTransformData):
3425 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3426 (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
3428 2012-11-25 Jacky Jiang <zhajiang@rim.com>
3430 [BlackBerry] Get rid of resetBitmapZoomScale()
3431 https://bugs.webkit.org/show_bug.cgi?id=103200
3433 Reviewed by Rob Buis.
3434 Internally reviewed by Gen Mak.
3437 Right now, resetBitmapZoomScale() takes an unused paramter and
3438 dispatches a message to end the bitmap zooming. However, the
3439 interaction has its own state machine to start bitmap zooming when it
3440 is active and end bitmap zooming when it is inactive. This is
3441 expecially for pinch zoom and scroll. From WebKit side, block zoom
3442 which will call zoomBlock when the bitmap zoom finished doesn't even
3443 need to dispatch the useless ending message to ZoomHandler.
3444 resetBitmapZoomScale() is basically a noop for block zoom. And likewise
3445 that is useless for zoomToInitialScaleOnLoad(). It can also potentially
3446 cause problem if it is used somewhere else in the future and
3447 incidentally breaks the interaction's own state machine. So just remove
3451 (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
3452 (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
3453 * Api/WebPageClient.h:
3455 2012-11-24 Andy Chen <andchen@rim.com>
3457 [BlackBerry] Find-on-page keeps stale pointer
3458 https://bugs.webkit.org/show_bug.cgi?id=103190
3460 Reviewed by Rob Buis.
3462 Find on page: pendingScopingEffort stores stale pointer when frames unload,
3463 we need to cancel those scoping efforts.
3466 Internally reviewed by Yongxin Dai and Mike Fenton.
3468 * WebKitSupport/InPageSearchManager.cpp:
3469 (InPageSearchManager::DeferredScopeStringMatches):
3470 (BlackBerry::WebKit::InPageSearchManager::frameUnloaded):
3472 2012-11-24 Genevieve Mak <gmak@rim.com>
3474 [BlackBerry] Text not selected when input field focused.
3475 https://bugs.webkit.org/show_bug.cgi?id=103182
3477 Reviewed by George Staikos.
3479 Reviewed Internally by: Mike Fenton, Eli Fidler
3482 * WebKitSupport/SelectionHandler.cpp:
3483 (BlackBerry::WebKit::SelectionHandler::selectObject):
3485 2012-11-23 Nima Ghanavatian <nghanavatian@rim.com>
3487 [BlackBerry] Define platform limitations in platform layer
3488 https://bugs.webkit.org/show_bug.cgi?id=103160
3490 Reviewed by Rob Buis.
3492 Taking length as const unsigned in checkSpellingOfStringAsync.
3493 This value is unchanging and should never be less than 0, even
3496 Internally reviewed by Mike Fenton.
3498 * Api/WebPageClient.h:
3499 * WebKitSupport/InputHandler.cpp:
3500 (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
3502 2012-11-23 Jacky Jiang <zhajiang@rim.com>
3504 [BlackBerry] Meta viewport can't be changed dynamically
3505 https://bugs.webkit.org/show_bug.cgi?id=103098
3507 Reviewed by Rob Buis.
3508 Internally reviewed by Arvid Nilsson.
3511 Reset m_userPerformedManualZoom and enable
3512 m_shouldZoomToInitialScaleAfterLoadFinished so that we can relayout the
3513 page and zoom it to fit the screen when we dynamically change the meta
3514 viewport after the load is finished.
3517 (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
3519 2012-11-23 Genevieve Mak <gmak@rim.com>
3521 [BlackBerry] Drop Synchronous Mouse Events
3522 https://bugs.webkit.org/show_bug.cgi?id=102980
3524 Reviewed by Rob Buis.
3526 Reviewed Internally by George Staikos and Mike Lattanzio.
3527 Don't send actual Touch Events to fullscreen plugins unless
3528 its a Touch Cancel, DoubleTap or TouchHold.
3529 Instead send mouse events as long as its a single finger.
3533 (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
3534 (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
3536 (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
3538 2012-11-23 Andrew Lo <anlo@rim.com>
3540 [BlackBerry] InputHandler::ensureFocusTextElementVisible incorrectly used y coordinate as x coordinate
3541 https://bugs.webkit.org/show_bug.cgi?id=103091
3543 Reviewed by Yong Li.
3545 Internally reviewed by Mike Fenton.
3547 Incorrectly used y coordinate as x coordinate in
3548 InputHandler::ensureFocusTextElementVisible.
3550 * WebKitSupport/InputHandler.cpp:
3551 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3553 2012-11-22 Jeff Rogers <jrogers@rim.com>
3555 [BlackBerry] Update Web Notifications Implementation
3556 https://bugs.webkit.org/show_bug.cgi?id=102621
3558 Reviewed by George Staikos.
3560 Reviewed internally by George Staikos and Joe Mason
3562 Add new notifications implementation for the BlackBerry port. Rename
3563 existing class to match Client naming. Adds NotificationManager
3564 implementation for managing notifications and permissions, and logic
3565 for passing the notifications to the platform provider.
3568 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3569 (BlackBerry::WebKit::WebPagePrivate::init):
3570 (BlackBerry::WebKit::WebPage::updateNotificationPermission):
3572 (BlackBerry::WebKit::WebPage::notificationClicked):
3573 (BlackBerry::WebKit::WebPage::notificationClosed):
3574 (BlackBerry::WebKit::WebPage::notificationError):
3575 (BlackBerry::WebKit::WebPage::notificationShown):
3577 * Api/WebPageClient.h:
3580 (BlackBerry::WebKit::WebPagePrivate::notificationManager):
3581 * WebCoreSupport/NotificationClientBlackBerry.cpp: Added.
3583 (WebCore::NotificationClientBlackBerry::NotificationClientBlackBerry):
3584 (WebCore::NotificationClientBlackBerry::show):
3585 (WebCore::NotificationClientBlackBerry::cancel):
3586 (WebCore::NotificationClientBlackBerry::clearNotifications):
3587 (WebCore::NotificationClientBlackBerry::notificationObjectDestroyed):
3588 (WebCore::NotificationClientBlackBerry::notificationControllerDestroyed):
3589 (WebCore::NotificationClientBlackBerry::requestPermission):
3590 (WebCore::NotificationClientBlackBerry::cancelRequestsForPermission):
3591 (WebCore::NotificationClientBlackBerry::checkPermission):
3592 * WebCoreSupport/NotificationClientBlackBerry.h: Added.
3595 (NotificationClientBlackBerry):
3596 * WebCoreSupport/NotificationPresenterImpl.cpp: Removed.
3597 * WebCoreSupport/NotificationPresenterImpl.h: Removed.
3598 * WebKitSupport/NotificationManager.cpp: Added.
3600 (BlackBerry::WebKit::NotificationManager::NotificationManager):
3601 (BlackBerry::WebKit::NotificationManager::~NotificationManager):
3602 (BlackBerry::WebKit::NotificationManager::show):
3603 (BlackBerry::WebKit::NotificationManager::cancel):
3604 (BlackBerry::WebKit::NotificationManager::clearNotifications):
3605 (BlackBerry::WebKit::NotificationManager::notificationObjectDestroyed):
3606 (BlackBerry::WebKit::NotificationManager::requestPermission):
3607 (BlackBerry::WebKit::NotificationManager::cancelRequestsForPermission):
3608 (BlackBerry::WebKit::NotificationManager::checkPermission):
3609 (BlackBerry::WebKit::NotificationManager::updatePermission):
3610 (BlackBerry::WebKit::NotificationManager::notificationClicked):
3611 (BlackBerry::WebKit::NotificationManager::notificationClosed):
3612 (BlackBerry::WebKit::NotificationManager::notificationError):
3613 (BlackBerry::WebKit::NotificationManager::notificationShown):
3614 (BlackBerry::WebKit::NotificationManager::removeNotificationFromContextMap):
3615 * WebKitSupport/NotificationManager.h: Added.
3617 (NotificationManager):
3619 2012-11-22 Mike Fenton <mifenton@rim.com>
3621 [BlackBerry] Guard against a lost focusedNode that input handler isn't yet informed of.
3622 https://bugs.webkit.org/show_bug.cgi?id=103071
3624 Reviewed by Rob Buis.
3626 Fix potential for a crash if input mode is active but
3627 we can't get a focusedNode.
3629 Reviewed Internally by Gen Mak.
3631 * WebKitSupport/SelectionHandler.cpp:
3632 (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
3634 2012-11-21 Genevieve Mak <gmak@rim.com>
3636 [BlackBerry] Drop Synchronous Mouse Events
3637 https://bugs.webkit.org/show_bug.cgi?id=102980
3639 Reviewed by Rob Buis.
3641 Reviewed Internally by George Staikos, Mike Lattanzio and Mike Fenton.
3642 Get rid of unneeded methods and simplify code.
3643 Send click if getting context over an empty text field
3644 so that it will be focused and have a caret.
3648 (BlackBerry::WebKit::WebPagePrivate::webContext):
3649 (BlackBerry::WebKit::WebPage::touchEvent):
3650 (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
3651 (BlackBerry::WebKit::WebPage::touchEventCancel):
3653 * WebKitSupport/TouchEventHandler.cpp:
3654 (BlackBerry::WebKit::TouchEventHandler::TouchEventHandler):
3655 (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
3656 (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
3657 (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
3658 (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
3659 * WebKitSupport/TouchEventHandler.h:
3660 (TouchEventHandler):
3662 2012-11-21 Konrad Piascik <kpiascik@rim.com>
3664 [BlackBerry] Prevent screen from dimming on device when inspector front-end is connected
3665 https://bugs.webkit.org/show_bug.cgi?id=102978
3667 Reviewed by Rob Buis.
3670 We prevent screen from going dim when the front-end is connected and return to normal when
3671 the front-end disconnects.
3674 (BlackBerry::WebKit::WebPage::enableWebInspector):
3675 (BlackBerry::WebKit::WebPage::disableWebInspector):
3677 2012-11-21 Konrad Piascik <kpiascik@rim.com>
3679 [BlackBerry] Don't add empty rects to the tap highlight region.
3680 https://bugs.webkit.org/show_bug.cgi?id=102966
3682 Reviewed by George Staikos.
3685 Tap highlight is way too large sometimes.
3686 When we add an empty rect it inflates by 2 and causes the tap region to extend to the origin.
3688 * WebKitSupport/TouchEventHandler.cpp:
3689 (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
3691 2012-11-21 Mike Fenton <mifenton@rim.com>
3693 [BlackBerry] Switch to point instead of VisiblePosition comparison for input bounds check
3694 https://bugs.webkit.org/show_bug.cgi?id=102962
3696 Reviewed by Rob Buis.
3700 Switch from using VisiblePosition to determine if we are in a node
3701 to a comparison of the field bounds. This fixes the case where
3702 there is no node before the target node to match.
3704 Reviewed Internally by Gen Mak.
3706 * WebKitSupport/DOMSupport.cpp:
3707 * WebKitSupport/DOMSupport.h:
3708 * WebKitSupport/SelectionHandler.cpp:
3709 (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
3711 2012-11-20 Andrew Lo <anlo@rim.com>
3713 [BlackBerry] Animated gifs pause on scroll or zoom and sometimes don't resume after scroll or zoom completes
3714 https://bugs.webkit.org/show_bug.cgi?id=102838
3716 Reviewed by Rob Buis.
3718 Internally reviewed by Adam Treat.
3720 When entering scrolling & zooming, we suspend regular render jobs
3721 in order to pause animations. When finishing scrolling or zooming,
3722 dispatch a render job in order to resume those animations.
3724 If an animation requests a repaint while the backing store is suspended,
3725 add the regular render job to the render queue so that it can be
3728 * Api/BackingStore.cpp:
3729 (BlackBerry::WebKit::BackingStorePrivate::repaint):
3730 (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
3732 2012-11-20 Sheriff Bot <webkit.review.bot@gmail.com>
3734 Unreviewed, rolling out r135295.
3735 http://trac.webkit.org/changeset/135295
3736 https://bugs.webkit.org/show_bug.cgi?id=102834
3738 This patch causes assertion to some layout tests on chromium
3739 (Requested by jianli on #webkit).
3742 (BlackBerry::WebKit::WebPagePrivate::load):
3743 (BlackBerry::WebKit::WebPagePrivate::loadString):
3744 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3745 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3747 2012-11-20 James Simonsen <simonjam@chromium.org>
3749 Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
3750 https://bugs.webkit.org/show_bug.cgi?id=102151
3752 Reviewed by Adam Barth.
3755 (BlackBerry::WebKit::WebPagePrivate::load):
3756 (BlackBerry::WebKit::WebPagePrivate::loadString):
3757 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3758 (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
3760 2012-11-19 Genevieve Mak <gmak@rim.com>
3762 [BlackBerry] Block Zoom picks wrong block
3763 https://bugs.webkit.org/show_bug.cgi?id=102728
3765 Reviewed by Rob Buis.
3767 Reviewed Internally by Jakob Petsovits
3768 Remove transform missed in previous commit for
3769 https://bugs.webkit.org/show_bug.cgi?id=101608
3773 (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
3775 2012-11-19 Liam Quinn <lquinn@rim.com>
3777 [BlackBerry] Remove RTSP handling from FrameLoaderClientBlackBerry
3778 https://bugs.webkit.org/show_bug.cgi?id=102692
3780 Reviewed by Rob Buis.
3782 Reviewed internally by George Staikos. Internal PR 242750.
3784 Our RTSP handling in FrameLoaderClientBlackBerry causes HTTP redirects to "rtsp:" URIs to fail. Remove handling of RTSP from this class; it will be moved to the network layer alongside other URI schemes like "data:" and "file:".
3786 * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
3787 (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
3789 2012-11-16 Adam Treat <atreat@rim.com>
3791 https://bugs.webkit.org/show_bug.cgi?id=102540
3792 [BlackBerry] Checkerboard flicker when pinch zooming out on google.com/nwshp
3794 Reviewed by George Staikos.
3797 Disable updates to the backingstore tile matrix when backingstore updates
3798 are disabled. This prevents changes to the tile matrix when we are in the
3799 middle of a pinch zoom which can cause checkebroard flickering.
3801 * Api/BackingStore.cpp:
3802 (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
3803 (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
3804 (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
3805 (BlackBerry::WebKit::BackingStorePrivate::render):
3806 (BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
3807 (BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
3808 (BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
3809 (BlackBerry::WebKit::BackingStorePrivate::contentsSizeChanged):
3810 (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
3811 * Api/BackingStore_p.h:
3812 (BlackBerry::WebKit::BackingStorePrivate::setTileMatrixNeedsUpdate):
3813 (BackingStorePrivate):
3815 2012-11-16 Rob Buis <rbuis@rim.com>
3817 [BlackBerry] FCC doesn't work in textarea
3818 https://bugs.webkit.org/show_bug.cgi?id=102088
3820 Reviewed by Antonio Gomes.
3822 Remove the cancel button specializations, it was needed at some point but hitting it
3823 works just as well without it. This unbreaks FCC in textarea's.
3825 * WebKitSupport/FatFingers.cpp:
3826 (BlackBerry::WebKit::FatFingers::isElementClickable):
3828 2012-11-16 Adam Treat <atreat@rim.com>
3830 [BlackBerry] Fix regression causing checkerboard flicker after app wake-up
3831 https://bugs.webkit.org/show_bug.cgi?id=102526
3833 Reviewed by George Staikos.
3836 The webkit patch for 219976 introduced an undesirable behavior change
3837 resulting in a regression where there was checkerboard flickering on
3838 resuming from an inactive application state. This patch restores the
3839 previous behavior and fixes the regression.
3841 * Api/BackingStore.cpp:
3842 (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
3843 (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
3845 2012-11-16 Mike Fenton <mifenton@rim.com>
3847 [BlackBerry] Use proper keycode value for space instead of hardcoded value.
3848 https://bugs.webkit.org/show_bug.cgi?id=102518
3850 Reviewed by Rob Buis.
3852 Remove hard coded value for space.
3854 Reviewed Internally by Gen Mak.
3856 * WebKitSupport/InputHandler.cpp:
3857 (BlackBerry::WebKit::InputHandler::setText):
3859 2012-11-15 Andrew Lo <anlo@rim.com>
3861 [BlackBerry] Animate changes to viewport due to input focus changes.
3862 https://bugs.webkit.org/show_bug.cgi?id=102410
3864 Reviewed by Rob Buis.
3866 When changing scroll position or zoom level for input field focus,
3870 Internally reviewed by Mike Fenton.
3872 * WebKitSupport/InputHandler.cpp:
3873 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3875 2012-11-15 Mike Fenton <mifenton@rim.com>
3877 [BlackBerry] Don't restore zoom and scroll when leaving an input field.
3878 https://bugs.webkit.org/show_bug.cgi?id=102376
3880 Reviewed by Yong Li.
3882 Restoring the zoom causes undesirable behavior when switching between fields.
3884 Reviewed Internally by Andrew Lo.
3886 * WebKitSupport/InputHandler.cpp:
3887 (BlackBerry::WebKit::InputHandler::InputHandler):
3888 (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
3889 * WebKitSupport/InputHandler.h:
3892 2012-11-15 Jakob Petsovits <jpetsovits@rim.com>
3894 [BlackBerry] Fix suspend/resume assertion in setCompositor().
3895 https://bugs.webkit.org/show_bug.cgi?id=102397
3898 Reviewed by Adam Treat.
3900 If a compositor is used but no surface pool is ever
3901 allocated (which is a perfectly valid use case), initial
3902 suspension of the backingstore is skipped because of an
3903 early return. This will cause an assertion to be triggered
3904 and a bug. Fix this by suspending it before the return.
3906 With Adam Treat's recent change to split suspension of
3907 screen and backingstore into two different functions,
3908 this can now be reduced to a mere screen (blitting)
3909 suspension. That was the original intention of this code.
3911 * Api/BackingStore.cpp:
3912 (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
3914 (BlackBerry::WebKit::WebPagePrivate::setCompositor):
3916 2012-11-15 Jakob Petsovits <jpetsovits@rim.com>
3918 [BlackBerry] Leave surface resizing to the client.
3919 https://bugs.webkit.org/show_bug.cgi?id=102280
3923 Reviewed by Adam Treat.
3925 Now that we always blit on the user interface thread and
3926 use the client's userInterfaceViewportAccessor() to determine
3927 the destination rectangle for blitting, changing the viewport
3928 size does not affect the window or target surface directly.
3929 The only way that blitted output is affected is through
3930 layout, scroll position or scale changes. None of these
3931 require us to synchronize with the UI thread to resize its
3934 This commit simplifies setViewportSize() and removes a
3935 blocking message dispatch by simply offloading all surface
3936 resizing responsibilities to the client. This is safer,
3940 (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
3941 (BlackBerry::WebKit::WebPage::setScreenOrientation):
3942 (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
3944 * Api/WebPageClient.h:
3948 2012-11-14 Nima Ghanavatian <nghanavatian@rim.com>
3950 [BlackBerry] Do not clear the ProcessingChangeGuard state on DeleteBackward
3951 https://bugs.webkit.org/show_bug.cgi?id=102284
3953 Reviewed by Rob Buis.
3956 When holding backspace, clearing the state forces a keyboard
3957 update which resets the state of the keyboard. Handling this