// Global initialization of various WebKit singletons. void globalInitialize() { if (gIsGlobalInitialized) return; gIsGlobalInitialized = true; #if ENABLE(BLACKBERRY_DEBUG_MEMORY) blackberryDebugInitialize(); #endif // Turn on logging. initializeLoggingChannelsIfNecessary(); // Initialize threading/ JSC::initializeThreading(); // Normally this is called from initializeThreading, but we're using ThreadingNone // we're grabbing callOnMainThread without using the rest of the threading support. WTF::initializeMainThread(); // Track visited links. PageGroup::setShouldTrackVisitedLinks(true); CacheClientBlackBerry::get()->initialize(); BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::get(); ImageSource::setMaxPixelsPerDecodedImage(settings->maxPixelsPerDecodedImage()); }
static String configPage() { String page; #if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD page = writeHeader("Configuration") + "<div class=\"box\"><div class=\"box-title\">Compiler Information</div><table class='fixed-table'><col width=75%><col width=25%>" #if COMPILER(MSVC) + "<tr><td>Microsoft Visual C++</td><td>MSVC</td></tr>" + "<tr><td>_MSC_VER</td><td>" + String::number(_MSC_VER) + "</td></tr>" + "<tr><td>_MSC_FULL_VER</td><td>" + String::number(_MSC_FULL_VER) + "</td></tr>" + "<tr><td>_MSC_BUILD</td><td>" + String::number(_MSC_BUILD) + "</td></tr>" #elif COMPILER(RVCT) + "<tr><td>ARM RealView Compiler Toolkit</td><td>RVCT</td></tr>" + "<tr><td>__ARMCC_VERSION</td><td>" + String::number(__ARMCC_VERSION) + "</td></tr>" #if COMPILER(RVCT4GNU) + "<tr><td>RVCT 4+ in --gnu mode</td><td>1</td></tr>" #endif #elif COMPILER(GCC) + "<tr><td>GCC</td><td>" + String::number(__GNUC__) + "." + String::number(__GNUC_MINOR__) + "." + String::number(__GNUC_PATCHLEVEL__) + "</td></tr>" #endif // Add "" to satisfy check-webkit-style. + ""; page += String("</table></div><br><div class='box'><div class='box-title'>CPU Information</div><table class='fixed-table'><col width=75%><col width=25%>") #if CPU(X86) + "<tr><td>X86</td><td></td></tr>" #elif CPU(ARM) + "<tr><td>ARM</td><td></td></tr>" + "<tr><td>ARM_ARCH_VERSION</td><td>" + String::number(WTF_ARM_ARCH_VERSION) + "</td></tr>" + "<tr><td>THUMB_ARCH_VERSION</td><td>" + String::number(WTF_THUMB_ARCH_VERSION) + "</td></tr>" + "<tr><td>THUMB2</td><td>" + String::number(WTF_CPU_ARM_THUMB2) + "</td></tr>" #endif + "<tr><td>Endianness</td><td>" #if CPU(BIG_ENDIAN) + "big" #elif CPU(MIDDLE_ENDIAN) + "middle" #else + "little" #endif + "</td></tr>"; page += String("</table></div><br><div class='box'><div class='box-title'>Platform Information</div><table class='fixed-table'><col width=75%><col width=25%>") + "<tr><td>WebKit Version</td><td>" + String::number(WEBKIT_MAJOR_VERSION) + "." + String::number(WEBKIT_MINOR_VERSION) + "</td></tr>" + "<tr><td>BlackBerry</td><td>" #if PLATFORM(BLACKBERRY) + "1" #else + "0" #endif + "</td></tr>" + "<tr><td>__STDC_ISO_10646__</td><td>" #ifdef __STDC_ISO_10646__ + "1" #else + "0" #endif + "</td></tr>"; BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::instance(); page += String("</table></div><br><div class='box'><div class='box-title'>Platform Settings</div><table style='font-size:11px;' class='fixed-table'><col width=75%><col width=25%>"); page += numberToHTMLTr("isRSSFilteringEnabled", settings->isRSSFilteringEnabled()); page += numberToHTMLTr("secondaryThreadStackSize", settings->secondaryThreadStackSize()); page += numberToHTMLTr("maxPixelsPerDecodedImage", settings->maxPixelsPerDecodedImage()); page += numberToHTMLTr("shouldReportLowMemoryToUser", settings->shouldReportLowMemoryToUser()); page += numberToHTMLTr("numberOfBackingStoreFrontBuffers", settings->numberOfBackingStoreFrontBuffers())); page += numberToHTMLTr("numberOfBackingStoreBackBuffers", settings->numberOfBackingStoreBackBuffers())); page += numberToHTMLTr("maximumNumberOfBacking...AcrossProcesses", settings->maximumNumberOfBackingStoreTilesAcrossProcesses()); page += numberToHTMLTr("tabsSupportedByClient", settings->tabsSupportedByClient()); page += numberToHTMLTr("contextMenuEnabled", settings->contextMenuEnabled()); page += numberToHTMLTr("selectionEnabled", settings->selectionEnabled()); page += numberToHTMLTr("fineCursorControlEnabled", settings->fineCursorControlEnabled()); page += numberToHTMLTr("alwaysShowKeyboardOnFocus", settings->alwaysShowKeyboardOnFocus()); page += numberToHTMLTr("allowedScrollAdjustmentForInputFields", settings->allowedScrollAdjustmentForInputFields()); page += numberToHTMLTr("unrestrictedResizeEvents", settings->unrestrictedResizeEvents()); page += numberToHTMLTr("isBridgeBrowser", settings->isBridgeBrowser()); page += numberToHTMLTr("showImageLocationOptionsInGCM", settings->showImageLocationOptionsInGCM()); page += numberToHTMLTr("forceGLES2WindowUsage", settings->forceGLES2WindowUsage()); page += numberToHTMLTr("maxClickableSpeed", settings->maxClickableSpeed()); page += numberToHTMLTr("maxJitterRadiusClick", settings->maxJitterRadiusClick()); page += numberToHTMLTr("maxJitterRadiusTap", settings->maxJitterRadiusTap()); page += numberToHTMLTr("maxJitterRadiusSingleTouchMove", settings->maxJitterRadiusSingleTouchMove()); page += numberToHTMLTr("maxJitterRadiusTouchHold", settings->maxJitterRadiusTouchHold()); page += numberToHTMLTr("maxJitterRadiusHandleDrag", settings->maxJitterRadiusHandleDrag()); page += numberToHTMLTr("maxJitterRadiusTapHighlight", settings->maxJitterRadiusTapHighlight()); page += numberToHTMLTr("maxJitterDistanceClick", settings->maxJitterDistanceClick()); page += numberToHTMLTr("maxJitterDistanceTap", settings->maxJitterDistanceTap()); page += numberToHTMLTr("maxJitterDistanceSingleTouchMove", settings->maxJitterDistanceSingleTouchMove()); page += numberToHTMLTr("maxJitterDistanceTouchHold", settings->maxJitterDistanceTouchHold()); page += numberToHTMLTr("maxJitterDistanceTapHighlight", settings->maxJitterDistanceTapHighlight()); page += numberToHTMLTr("maxJitterDistanceHandleDrag", settings->maxJitterDistanceHandleDrag()); page += numberToHTMLTr("topFatFingerPadding", settings->topFatFingerPadding()); page += numberToHTMLTr("rightFatFingerPadding", settings->rightFatFingerPadding()); page += numberToHTMLTr("bottomFatFingerPadding", settings->bottomFatFingerPadding()); page += numberToHTMLTr("maxSelectionNeckHeight", settings->maxSelectionNeckHeight()); page += numberToHTMLTr("leftFatFingerPadding", settings->leftFatFingerPadding()); Vector<String> trueList, falseList; #include "AboutDataEnableFeatures.cpp" page += String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (ENABLE_)</div><table class='fixed-table'>"); page += writeFeatures(trueList, falseList); trueList.clear(); falseList.clear(); #include "AboutDataHaveFeatures.cpp" page += String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (HAVE_)</div><table class='fixed-table'>"); page += writeFeatures(trueList, falseList); trueList.clear(); falseList.clear(); #include "AboutDataUseFeatures.cpp" page += String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (USE_)</div><table class='fixed-table'>"); page += writeFeatures(trueList, falseList); page += String("</table></div></body></html>"); #endif return page; }
String configPage() { String page; #if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD page = String("<!DOCTYPE html><html><head><title>BlackBerry Browser Configuration Information</title><meta name=\"viewport\" content=\"width=700\">") + "<style>@media all and (orientation:landscape) { body { -webkit-column-count:2; -webkit-column-rule:solid; font-size:8px; } h1 { -webkit-column-span: all; } ul { font-size: 50%; } } td,li { text-overflow: ellipsis; overflow: hidden; } .list2 { width: 49%; float:left; padding-right:1px; } ul { list-style-type:none; padding:0px; margin:0px; } h1,h2,h3 { text-align:center; margin:0; } h2 { padding:1em 0 0 0; clear:both; } li,td { font-family:\"DejaVu Sans Condensed\"; }</style>" + "</head><body><h1>BlackBerry Browser Configuration Information</h1>" + "<h2>Compiler Information</h2><table>" #if COMPILER(MSVC) + "<tr><td>Microsoft Visual C++</td><td>MSVC</td></tr>" + "<tr><td>_MSC_VER</td><td>" + String::number(_MSC_VER) + "</td></tr>" + "<tr><td>_MSC_FULL_VER</td><td>" + String::number(_MSC_FULL_VER) + "</td></tr>" + "<tr><td>_MSC_BUILD</td><td>" + String::number(_MSC_BUILD) + "</td></tr>" #elif COMPILER(RVCT) + "<tr><td>ARM RealView Compiler Toolkit</td><td>RVCT</td></tr>" + "<tr><td>__ARMCC_VERSION</td><td>" + String::number(__ARMCC_VERSION) + "</td></tr>" #if COMPILER(RVCT4GNU) + "<tr><td>RVCT 4+ in --gnu mode</td><td>1</td></tr>" #endif #elif COMPILER(GCC) + "<tr><td>GCC</td><td>" + String::number(__GNUC__) + "." + String::number(__GNUC_MINOR__) + "." + String::number(__GNUC_PATCHLEVEL__) + "</td></tr>" #endif // Add "" to satisfy check-webkit-style. + ""; page += String("</table><h2>CPU Information</h2><table>") #if CPU(X86) + "<tr><td>X86</td><td></td></tr>" #elif CPU(ARM) + "<tr><td>ARM</td><td></td></tr>" + "<tr><td>ARM_ARCH_VERSION</td><td>" + String::number(WTF_ARM_ARCH_VERSION) + "</td></tr>" + "<tr><td>THUMB_ARCH_VERSION</td><td>" + String::number(WTF_THUMB_ARCH_VERSION) + "</td></tr>" + "<tr><td>THUMB2</td><td>" + String::number(WTF_CPU_ARM_THUMB2) + "</td></tr>" #endif + "<tr><td>Endianness</td><td>" #if CPU(BIG_ENDIAN) + "big" #elif CPU(MIDDLE_ENDIAN) + "middle" #else + "little" #endif + "</td></tr>"; page += String("</table><h2>Platform Information</h2><table>") + "<tr><td>WebKit Version</td><td>" + String::number(WEBKIT_MAJOR_VERSION) + "." + String::number(WEBKIT_MINOR_VERSION) + "</td></tr>" + "<tr><td>BlackBerry</td><td>" #if PLATFORM(BLACKBERRY) + "1" #else + "0" #endif + "</td></tr>" + "<tr><td>__STDC_ISO_10646__</td><td>" #ifdef __STDC_ISO_10646__ + "1" #else + "0" #endif + "</td></tr>"; BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::get(); page += String("</table><h2>Platform Settings</h2><table>"); page += numberToHTMLTr("isRSSFilteringEnabled", settings->isRSSFilteringEnabled()); page += numberToHTMLTr("secondaryThreadStackSize", settings->secondaryThreadStackSize()); page += numberToHTMLTr("maxPixelsPerDecodedImage", settings->maxPixelsPerDecodedImage()); page += numberToHTMLTr("shouldReportLowMemoryToUser", settings->shouldReportLowMemoryToUser()); page += numberToHTMLTr("numberOfBackingStoreTiles", settings->numberOfBackingStoreTiles()); page += numberToHTMLTr("maximumNumberOfBackingStoreTilesAcrossProcesses", settings->maximumNumberOfBackingStoreTilesAcrossProcesses()); page += numberToHTMLTr("tabsSupportedByClient", settings->tabsSupportedByClient()); page += numberToHTMLTr("contextMenuEnabled", settings->contextMenuEnabled()); page += numberToHTMLTr("selectionEnabled", settings->selectionEnabled()); page += numberToHTMLTr("alwaysShowKeyboardOnFocus", settings->alwaysShowKeyboardOnFocus()); page += numberToHTMLTr("allowCenterScrollAdjustmentForInputFields", settings->allowCenterScrollAdjustmentForInputFields()); page += numberToHTMLTr("unrestrictedResizeEvents", settings->unrestrictedResizeEvents()); page += numberToHTMLTr("isBridgeBrowser", settings->isBridgeBrowser()); page += numberToHTMLTr("isWebGLSupported", settings->isWebGLSupported()); page += numberToHTMLTr("showImageLocationOptionsInGCM", settings->showImageLocationOptionsInGCM()); page += numberToHTMLTr("maxClickableSpeed", settings->maxClickableSpeed()); page += numberToHTMLTr("maxJitterRadiusClick", settings->maxJitterRadiusClick()); page += numberToHTMLTr("maxJitterRadiusTap", settings->maxJitterRadiusTap()); page += numberToHTMLTr("maxJitterRadiusSingleTouchMove", settings->maxJitterRadiusSingleTouchMove()); page += numberToHTMLTr("maxJitterRadiusTouchHold", settings->maxJitterRadiusTouchHold()); page += numberToHTMLTr("maxJitterRadiusHandleDrag", settings->maxJitterRadiusHandleDrag()); page += numberToHTMLTr("maxJitterRadiusTapHighlight", settings->maxJitterRadiusTapHighlight()); page += numberToHTMLTr("maxJitterDistanceClick", settings->maxJitterDistanceClick()); page += numberToHTMLTr("maxJitterDistanceTap", settings->maxJitterDistanceTap()); page += numberToHTMLTr("maxJitterDistanceSingleTouchMove", settings->maxJitterDistanceSingleTouchMove()); page += numberToHTMLTr("maxJitterDistanceTouchHold", settings->maxJitterDistanceTouchHold()); page += numberToHTMLTr("maxJitterDistanceHandleDrag", settings->maxJitterDistanceHandleDrag()); page += numberToHTMLTr("maxJitterDistanceTapHighlight", settings->maxJitterDistanceTapHighlight()); page += numberToHTMLTr("topFatFingerPadding", settings->topFatFingerPadding()); page += numberToHTMLTr("rightFatFingerPadding", settings->rightFatFingerPadding()); page += numberToHTMLTr("bottomFatFingerPadding", settings->bottomFatFingerPadding()); page += numberToHTMLTr("leftFatFingerPadding", settings->leftFatFingerPadding()); #define FOR_EACH_TRUE_LIST() \ for (unsigned int i = 0; i < trueList.size(); ++i) \ page += String("<li>") + trueList[i] + "</li>" #define FOR_EACH_FALSE_LIST() \ for (unsigned int i = 0; i < falseList.size(); ++i) \ page += String("<li>") + falseList[i] + "</li>" Vector<String> trueList, falseList; #include "AboutDataEnableFeatures.cpp" page += String("</table><h2>WebKit ENABLE Information</h2><div class=\"list2\">"); page += String("<h3>ENABLE</h3><ul>"); FOR_EACH_TRUE_LIST(); page += String("</ul></div><div class=\"list2\"><h3>don't ENABLE</h3><ul>"); FOR_EACH_FALSE_LIST(); page += String("</ul></div>"); trueList.clear(); falseList.clear(); #include "AboutDataHaveFeatures.cpp" page += String("</table><h2>WebKit HAVE Information</h2><div class=\"list2\">"); page += String("<h3>HAVE</h3><ul>"); FOR_EACH_TRUE_LIST(); page += String("</ul></div><div class=\"list2\"><h3>don't HAVE</h3><ul>"); FOR_EACH_FALSE_LIST(); page += String("</ul></div>"); trueList.clear(); falseList.clear(); #include "AboutDataUseFeatures.cpp" page += String("<h2>WebKit USE Information</h2><div class=\"list2\">"); page += String("<h3>USE</h3><ul>"); FOR_EACH_TRUE_LIST(); page += String("</ul></div><div class=\"list2\"><h3>don't USE</h3><ul>"); FOR_EACH_FALSE_LIST(); page += String("</ul></div>"); page += String("</body></html>"); #endif return page; }