Mac: Add `disable-scroll-bounce` command-line flag (issue #1597).
This commit is contained in:
parent
fe03339870
commit
328cf2ed1f
|
@ -698,6 +698,7 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches(
|
|||
// any associated values) if present in the browser command line.
|
||||
static const char* const kSwitchNames[] = {
|
||||
switches::kContextSafetyImplementation,
|
||||
switches::kDisableScrollBounce,
|
||||
switches::kDisableSpellChecking,
|
||||
switches::kEnableSpeechInput,
|
||||
switches::kEnableSpellingAutoCorrect,
|
||||
|
|
|
@ -94,4 +94,7 @@ const char kEnableSpellingService[] = "enable-spelling-service";
|
|||
// Override the default spellchecking language which comes from locales.pak.
|
||||
const char kOverrideSpellCheckLang[] = "override-spell-check-lang";
|
||||
|
||||
// Disable scroll bounce (rubber-banding) on OS X Lion and newer.
|
||||
const char kDisableScrollBounce[] = "disable-scroll-bounce";
|
||||
|
||||
} // namespace switches
|
||||
|
|
|
@ -41,6 +41,7 @@ extern const char kCrashDumpsDir[];
|
|||
extern const char kDisableSpellChecking[];
|
||||
extern const char kEnableSpellingService[];
|
||||
extern const char kOverrideSpellCheckLang[];
|
||||
extern const char kDisableScrollBounce[];
|
||||
|
||||
} // namespace switches
|
||||
|
||||
|
|
|
@ -73,6 +73,11 @@ MSVC_POP_WARNING();
|
|||
#include "third_party/WebKit/public/web/WebView.h"
|
||||
#include "v8/include/v8.h"
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
#include "base/mac/mac_util.h"
|
||||
#include "base/strings/sys_string_conversions.h"
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "base/win/iat_patch_function.h"
|
||||
#endif
|
||||
|
@ -500,6 +505,23 @@ void CefContentRendererClient::RenderThreadStarted() {
|
|||
pdf_print_client_.reset(new ChromePDFPrintClient());
|
||||
pdf::PPB_PDF_Impl::SetPrintClient(pdf_print_client_.get());
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
if (base::mac::IsOSLionOrLater()) {
|
||||
base::ScopedCFTypeRef<CFStringRef> key(
|
||||
base::SysUTF8ToCFStringRef("NSScrollViewRubberbanding"));
|
||||
base::ScopedCFTypeRef<CFStringRef> value;
|
||||
|
||||
// If the command-line switch is specified then set the value that will be
|
||||
// checked in RenderThreadImpl::Init(). Otherwise, remove the application-
|
||||
// level value.
|
||||
if (command_line->HasSwitch(switches::kDisableScrollBounce))
|
||||
value.reset(base::SysUTF8ToCFStringRef("false"));
|
||||
|
||||
CFPreferencesSetAppValue(key, value, kCFPreferencesCurrentApplication);
|
||||
CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
|
||||
}
|
||||
#endif // defined(OS_MACOSX)
|
||||
|
||||
// Notify the render process handler.
|
||||
CefRefPtr<CefApp> application = CefContentClient::Get()->application();
|
||||
if (application.get()) {
|
||||
|
|
|
@ -132,11 +132,4 @@ patches = [
|
|||
'name': 'webkit_progresstracker_426510',
|
||||
'path': '../third_party/WebKit/Source/core/loader/',
|
||||
},
|
||||
{
|
||||
# Disable scollbar bounce and overlay on OS X.
|
||||
# http://code.google.com/p/chromiumembedded/issues/detail?id=364
|
||||
'name': 'spi_webcore_364',
|
||||
'path': '../third_party/WebKit/Source/',
|
||||
'condition': 'CEF_SPI_BUILD',
|
||||
},
|
||||
]
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
diff --git core/frame/FrameView.cpp core/frame/FrameView.cpp
|
||||
index b227b2a..3bc4180 100644
|
||||
--- core/frame/FrameView.cpp
|
||||
+++ core/frame/FrameView.cpp
|
||||
@@ -144,8 +144,10 @@ FrameView::FrameView(LocalFrame* frame)
|
||||
if (!m_frame->isMainFrame())
|
||||
return;
|
||||
|
||||
+#if 0
|
||||
ScrollableArea::setVerticalScrollElasticity(ScrollElasticityAllowed);
|
||||
ScrollableArea::setHorizontalScrollElasticity(ScrollElasticityAllowed);
|
||||
+#endif
|
||||
}
|
||||
|
||||
PassRefPtrWillBeRawPtr<FrameView> FrameView::create(LocalFrame* frame)
|
||||
diff --git platform/scroll/ScrollbarThemeMacCommon.mm platform/scroll/ScrollbarThemeMacCommon.mm
|
||||
index 90abb7c..6bb16c6 100644
|
||||
--- platform/scroll/ScrollbarThemeMacCommon.mm
|
||||
+++ platform/scroll/ScrollbarThemeMacCommon.mm
|
||||
@@ -354,10 +354,14 @@ NSScrollerStyle ScrollbarThemeMacCommon::recommendedScrollerStyle()
|
||||
// static
|
||||
bool ScrollbarThemeMacCommon::isOverlayAPIAvailable()
|
||||
{
|
||||
+#if 0
|
||||
static bool apiAvailable =
|
||||
[NSClassFromString(@"NSScrollerImp") respondsToSelector:@selector(scrollerImpWithStyle:controlSize:horizontal:replacingScrollerImp:)]
|
||||
&& [NSClassFromString(@"NSScrollerImpPair") instancesRespondToSelector:@selector(scrollerStyle)];
|
||||
return apiAvailable;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace blink
|
Loading…
Reference in New Issue