- 04 Oct, 2011 40 commits
-
-
mhahnenberg@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69311 Reviewed by Darin Adler. Source/JavaScriptCore: Added ClassInfo structs to each class that defined its own getCallData function but did not already have its own ClassInfo struct. This is a necessary addition for when we switch over to looking up getCallData from the MethodTable in ClassInfo rather than doing the virtual call (which we are removing). These new ClassInfo structs are public because we often use these structs in other areas of the code to uniquely identify JSC classes and to enforce runtime invariants based on those class identities using ASSERTs. Also added new createStructure methods to those classes that didn't have them so that the new ClassInfo structs would be used when creating the Structures in these classes. * runtime/BooleanConstructor.cpp: * runtime/BooleanConstructor.h: (JSC::BooleanConstructor::createStructure): getCallData was not marked as static in StrictModeTypeErrorFunction. * runtime/Error.cpp: (JSC::StrictModeTypeErrorFunction::getCallDataVirtual): (JSC::StrictModeTypeErrorFunction::getCallData): (JSC::StrictModeTypeErrorFunction::createStructure): * runtime/ErrorConstructor.cpp: * runtime/ErrorConstructor.h: (JSC::ErrorConstructor::createStructure): * runtime/FunctionConstructor.cpp: * runtime/FunctionConstructor.h: (JSC::FunctionConstructor::createStructure): * runtime/FunctionPrototype.cpp: * runtime/FunctionPrototype.h: Source/WebCore: No new tests. Added ClassInfo structs to each class that defined its own getCallData function but did not already have its own ClassInfo struct. This is a necessary addition for when we switch over to looking up getCallData from the MethodTable in ClassInfo rather than doing the virtual call (which we are removing). These new ClassInfo structs are public because we often use these structs in other areas of the code to uniquely identify JSC classes and to enforce runtime invariants based on those class identities using ASSERTs. Also added new createStructure methods to those classes that didn't have them so that the new ClassInfo structs would be used when creating the Structures in these classes. * bridge/qt/qt_runtime.cpp: * bridge/qt/qt_runtime.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69320 ../JavaScriptCore: Reviewed by Darin Adler. No measurable performance change. Removed some JSValue::get* functions. get* used to be an optimization when every value operation was a virtual function call: get* would combine two virtual calls into one. Now, with non-virtual, inlined functions, get* isn't faster, and may be slightly slower. Merged getBoolean(bool&) and getBoolean() into asBoolean(). Merged uncheckedGetNumber(), getJSNumber() and getNumber() into asNumber(). * runtime/JSValue.h: * runtime/JSValueInlineMethods.h: (JSC::JSValue::asNumber): (JSC::JSValue::asBoolean): As promised! * runtime/NumberPrototype.cpp: (JSC::toThisNumber): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): Removed a bunch of uses of getJSNumber() by switching to toThisNumber(). * API/JSCallbackObjectFunctions.h: (JSC::::toNumber): * dfg/DFGGraph.h: (JSC::DFG::Graph::valueOfNumberConstant): (JSC::DFG::Graph::valueOfBooleanConstant): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): * interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION): * runtime/DateInstance.h: (JSC::DateInstance::internalNumber): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncBind): * runtime/JSArray.cpp: (JSC::compareNumbersForQSort): Replaced getNumber() => isNumber() / asNumber(). getBoolean() => isBoolean() / asBoolean(), uncheckedGetNumber() => asNumber(). * runtime/JSCell.cpp: * runtime/JSCell.h: Nixed getJSNumber(). * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt): * runtime/JSONObject.cpp: (JSC::gap): (JSC::Stringifier::Stringifier): (JSC::Stringifier::appendStringifiedValue): * runtime/NumberObject.cpp: * runtime/NumberObject.h: (JSC::NumberObject::createStructure): * runtime/Operations.h: (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAdd): Replaced getNumber() => isNumber() / asNumber(). getBoolean() => isBoolean() / asBoolean(), uncheckedGetNumber() => asNumber(). ../WebCore: Reviewed by Darin Adler. * bindings/js/JSDOMBinding.cpp: (WebCore::valueToDate): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql): * bindings/js/JSSQLTransactionSyncCustom.cpp: (WebCore::JSSQLTransactionSync::executeSql): * bindings/js/ScriptValue.cpp: (WebCore::jsToInspectorValue): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal): * bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Updated for JSC changes. ../WebKit/mac: Reviewed by Darin Adler. * WebView/WebView.mm: (aeDescFromJSValue): Updated for JSC changes. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96673 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69220 Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2011-10-04 Reviewed by Simon Fraser. Source/WebCore: * page/FrameView.cpp: (WebCore::FrameView::scrollElementToRect): LayoutTests: * fast/dom/scroll-element-to-rect.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
* WebCore.vcproj/WebCore.vcproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
* bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::disableEval): * bindings/v8/WorkerScriptController.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
* dom/Document.h: * workers/WorkerContext.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69387 Reviewed by Adam Barth. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::disableEval): * bindings/js/WorkerScriptController.h: * dom/Document.cpp: (WebCore::Document::disableEval): * dom/Document.h: * workers/WorkerContext.cpp: (WebCore::WorkerContext::disableEval): * workers/WorkerContext.h: * dom/ScriptExecutionContext.h: Add pure virtual disableEval to ScriptExecutionContext, so that ContentSecurityPolicy can call it for both Documents and WorkerContexts. * page/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::didReceiveHeader): Call the new ScriptExecutionContext::disableEval() function. (WebCore::ContentSecurityPolicy::reportViolation): Use ScriptExecutionContext::addMessage() instead of going directly to the DOMWindow. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
abarth@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69349 Reviewed by Darin Adler. It turns out that Lion is a bit more picky about file URLs. This patch switches us from using a path to using an actual file URL, silencing the warning and making the tool actually launch on Lion. * Scripts/webkitpy/tool/servers/gardeningserver.py: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
http://trac.webkit.org/changeset/96449commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69316 Patch by David Barr <davidbarr@chromium.org> on 2011-10-04 Reviewed by Ojan Vafai. * platform/chromium/test_expectations.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dbates@webkit.org authored
<http://trac.webkit.org/changeset/96448> (https://bugs.webkit.org/show_bug.cgi?id=68662) Rubber-stamped by Alexey Proskuryakov. * Scripts/webkitdirs.pm: (runMacWebKitApp): Check that the optional function argument $useOpenCommand is defined before using it in a comparison operation. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69383 Reviewed by John Sullivan. * platform/mac/ScrollAnimatorMac.h: Add new ScrollElasticityControllerClient member functions. * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMinimumPosition): (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMaximumPosition): (WebCore::ScrollAnimatorMac::stretchAmount): (WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): (WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Implement the new ScrollElasticityControllerClient member functions. (WebCore::ScrollAnimatorMac::beginScrollGesture): Move code into ScrollElasticityController::beginScrollGesture and call it directly. * platform/mac/ScrollElasticityController.h: Add new ScrollElasticityControllerClient member functions. * platform/mac/ScrollElasticityController.mm: (WebCore::reboundDeltaForElasticDelta): (WebCore::ScrollElasticityController::beginScrollGesture): Set up the scroll gesture state. (WebCore::ScrollElasticityController::stopSnapRubberbandTimer): New helper function. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=66859 Patch by Scott Graham <scottmg@chromium.org> on 2011-10-04 Reviewed by Darin Fisher. .: * configure.ac: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: No new tests, as no new functionality yet. * Configurations/FeatureDefines.xcconfig: * GNUmakefile.am: * features.pri: Source/WebKit/chromium: * features.gypi: Source/WebKit/mac: * Configurations/FeatureDefines.xcconfig: Source/WebKit2: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/build-webkit: WebKitLibraries: * win/tools/vsprops/FeatureDefines.vsprops: * win/tools/vsprops/FeatureDefinesCairo.vsprops: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
to be both speculative and non-speculative https://bugs.webkit.org/show_bug.cgi?id=69321 Reviewed by Gavin Barraclough. Removed m_isSpeculative and speculationCheck() from JITCodeGenerator. This required moving emitBranch() to SpeculativeJIT, since it was the main user of that field and method. Other than trvial clean-ups in emitBranch(), the code is unchanged (and still has some disparity between 64 and 32_64, and still lacks some obvious optimizations). * dfg/DFGJITCodeGenerator.cpp: * dfg/DFGJITCodeGenerator.h: (JSC::DFG::JITCodeGenerator::JITCodeGenerator): * dfg/DFGJITCodeGenerator32_64.cpp: (JSC::DFG::JITCodeGenerator::fillDouble): (JSC::DFG::JITCodeGenerator::fillJSValue): * dfg/DFGJITCodeGenerator64.cpp: (JSC::DFG::JITCodeGenerator::fillDouble): (JSC::DFG::JITCodeGenerator::fillJSValue): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::SpeculativeJIT): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitBranch): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitBranch): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
tony@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=69229 Patch by Fady Samuel <fsamuel@chromium.org> on 2011-10-04 Reviewed by Tony Chang. Source/WebCore: * WebCore.gypi: * platform/chromium/PlatformThemeChromiumLinux.cpp: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.cpp. (WebCore::PlatformThemeChromiumLinux::setScrollbarColors): (WebCore::clamp): (WebCore::PlatformThemeChromiumLinux::saturateAndBrighten): (WebCore::PlatformThemeChromiumLinux::outlineColor): (WebCore::PlatformThemeChromiumLinux::paintArrowButton): * platform/chromium/PlatformThemeChromiumLinux.h: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.h. (WebCore::PlatformThemeChromiumLinux::thumbInactiveColor): (WebCore::PlatformThemeChromiumLinux::thumbActiveColor): (WebCore::PlatformThemeChromiumLinux::trackColor): (WebCore::PlatformThemeChromiumLinux::PlatformThemeChromiumLinux): Source/WebKit/chromium: * WebKit.gyp: * src/WebViewImpl.cpp: (WebKit::WebViewImpl::setScrollbarColors): * src/linux/WebFontInfo.cpp: Renamed from Source/WebKit/chromium/src/gtk/WebFontInfo.cpp. (WebKit::WebFontInfo::familyForChars): (WebKit::WebFontInfo::renderStyleForStrike): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69135 Patch by Ben Wells <benwells@chromium.org> on 2011-10-04 Reviewed by James Robinson. * platform/chromium-linux/fast/: 26 changes. * platform/chromium-linux/svg/custom/no-inherited-dashed-stroke-expected.png: * platform/chromium-linux/svg/transforms/animated-path-inside-transformed-html-expected.png: * platform/chromium-linux/tables/mozilla/collapsing_borders/bug41262-3-expected.png: * platform/chromium-win/fast/: 27 changes. * platform/chromium-win/svg/custom/no-inherited-dashed-stroke-expected.png: * platform/chromium-win/svg/transforms/animated-path-inside-transformed-html-expected.png: * platform/chromium-win/tables/mozilla/collapsing_borders/bug41262-3-expected.png: * platform/chromium/test_expectations.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eric@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69374 Unreviewed. Per https://bugs.webkit.org/show_bug.cgi?id=69374#c7 updating the chunksize to be a bit smaller now that the total size of the html5 spec is smaller than when I wrote the test. This should increase the prevalence of style resolution in the sample time, which more closely matches instrument samples taken when loading the full page in Safari. * Parser/html5-full-render.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
should not be detected if the two taps are far from each other. https://bugs.webkit.org/show_bug.cgi?id=69270 Patch by Varun Jain <varunjain@chromium.org> on 2011-10-04 Reviewed by Darin Fisher. Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp * platform/chromium/GestureRecognizerChromium.cpp: (WebCore::GestureRecognizerChromium::isSecondClickInsideManhattanSquare): (WebCore::GestureRecognizerChromium::updateValues): (WebCore::GestureRecognizerChromium::click): * platform/chromium/GestureRecognizerChromium.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adachan@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69380 Reviewed by Jon Honeycutt. * Shared/API/c/WKSharedAPICast.h: (WebKit::toURLRef): Add the missing "return" for the null string case. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69049 Patch by James Robinson <jamesr@chromium.org> on 2011-10-04 Reviewed by Kenneth Russell. Source/WebCore: This partially extracts the commit/draw scheduling from CCThreadProxy to a separate isolated class. This makes the commit/draw logic easier to test, understand and extend. There is one subtle behavior change here to the way that the function formerly known as CCLayerTreeHost::setNeedsCommitAndRedraw works. Previously, this would trigger a begin frame message, if one wasn't pending, and then trigger a redraw if one wasn't pending. This was subtly wrong - the intent of that call is that a redraw should happen after the commit. It isn't useful to draw before the commit occurs. This patch changes the name of the function to setNeedsCommitThenRedraw and only requests a redraw after a commit occurs. Covered by new CCSchedulerTest unit tests, CCLayerTreeHostTest unit tests, and compositing/ layout tests. * WebCore.gypi: * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::initialize): (WebCore::CCLayerTreeHost::setZoomAnimatorTransform): (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw): (WebCore::CCLayerTreeHost::setViewport): (WebCore::CCLayerTreeHost::setVisible): * platform/graphics/chromium/cc/CCLayerTreeHost.h: * platform/graphics/chromium/cc/CCProxy.h: * platform/graphics/chromium/cc/CCScheduler.cpp: Added. (WebCore::CCScheduler::CCScheduler): (WebCore::CCScheduler::requestCommit): (WebCore::CCScheduler::requestCommitThenRedraw): (WebCore::CCScheduler::requestRedraw): (WebCore::CCScheduler::didCommit): (WebCore::CCScheduler::didDraw): * platform/graphics/chromium/cc/CCScheduler.h: Added. (WebCore::CCSchedulerClient::~CCSchedulerClient): (WebCore::CCScheduler::create): (WebCore::CCScheduler::commitPending): (WebCore::CCScheduler::redrawPending): (WebCore::CCScheduler::redrawAfterCommit): * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw): (WebCore::CCSingleThreadProxy::setNeedsRedraw): (WebCore::CCSingleThreadProxy::recreateContextIfNeeded): (WebCore::CCSingleThreadProxy::doComposite): * platform/graphics/chromium/cc/CCSingleThreadProxy.h: * platform/graphics/chromium/cc/CCThreadProxy.cpp: (WebCore::CCThreadProxySchedulerClient::create): (WebCore::CCThreadProxySchedulerClient::~CCThreadProxySchedulerClient): (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit): (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndPresent): (WebCore::CCThreadProxySchedulerClient::CCThreadProxySchedulerClient): (WebCore::CCThreadProxy::CCThreadProxy): (WebCore::CCThreadProxy::compositeAndReadback): (WebCore::CCThreadProxy::initializeLayerRenderer): (WebCore::CCThreadProxy::setNeedsCommit): (WebCore::CCThreadProxy::setNeedsCommitOnCCThread): (WebCore::CCThreadProxy::setNeedsCommitThenRedraw): (WebCore::CCThreadProxy::setNeedsCommitThenRedrawOnCCThread): (WebCore::CCThreadProxy::setNeedsRedraw): (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread): (WebCore::CCThreadProxy::finishAllRenderingOnCCThread): (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread): (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread): (WebCore::CCThreadProxy::beginFrameAndCommit): (WebCore::CCThreadProxy::commitOnCCThread): (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread): (WebCore::CCThreadProxy::initializeImplOnCCThread): * platform/graphics/chromium/cc/CCThreadProxy.h: Source/WebKit/chromium: Adds some unit tests for the new CCScheduler class. Since the class is very simple today, the tests are similarly quite simple. * WebKit.gypi: * src/WebViewImpl.cpp: (WebKit::WebViewImpl::setRootLayerNeedsDisplay): * tests/CCLayerTreeHostTest.cpp: (WTF::CCLayerTreeHostTest::postSetNeedsCommitThenRedrawToMainThread): (WTF::CCLayerTreeHostTest::dispatchSetNeedsCommitThenRedraw): (WTF::CCLayerTreeHostTestShortlived2::beginTest): (WTF::CCLayerTreeHostTestCommitingWithContinuousRedraw::beginTest): (WTF::CCLayerTreeHostTestCommitingWithContinuousRedraw::drawLayersOnCCThread): (WTF::CCLayerTreeHostTestSetNeedsCommit1::beginTest): (WTF::CCLayerTreeHostTestSetNeedsCommit2::beginTest): (WTF::CCLayerTreeHostTestSetNeedsCommit2::drawLayersOnCCThread): (WTF::CCLayerTreeHostTestSetNeedsRedraw::beginTest): * tests/CCSchedulerTest.cpp: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=67941 Patch by Scott Graham <scottmg@chromium.org> on 2011-10-04 Reviewed by Tony Chang. Source/WebKit/chromium: Guard Frame while handling keyEvent, as it can lose last reference due to actions of handler. * src/WebViewImpl.cpp: (WebKit::WebViewImpl::keyEvent): LayoutTests: * fast/events/keyevent-iframe-removed-crash-expected.txt: Added. * fast/events/keyevent-iframe-removed-crash.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
https://bugs.webkit.org/show_bug.cgi?id=67774ap@apple.com authored
PDF in a frameset is not displayed, always downloads Reviewed by Darin Adler. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/Plugins/PDF: Added. Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes, objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression. * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a plug-in for PDF, so that it instantiates it in a regular fashion. * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show PDF not only in main frame. * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of ScrollableArea now, which can render the first page of a PDF. Further improvements to come. * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added. * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable. * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since some ScrollableArea methods are const. * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints at updatingControlTints phase. * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate that PluginView has so much NPAPI specific code, but that's how it is now. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in installed for PDF, instantiate built-in one. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69381 Reviewed by Sam Weinig. Add a m_snapRubberbandTimerIsActive member variable to ScrollElasticityController and use it instead of checking whether the m_snapRubberbandTimer is active. Eventually, ScrollElasticityControllerClient will have two member functions for starting and stopping the timer, and the ScrollElasticityController will call them at the appropriate times. * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::handleWheelEvent): (WebCore::ScrollAnimatorMac::beginScrollGesture): It's OK to stop the timer unconditionally. (WebCore::ScrollAnimatorMac::snapRubberBand): (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): * platform/mac/ScrollElasticityController.h: * platform/mac/ScrollElasticityController.mm: (WebCore::ScrollElasticityController::ScrollElasticityController): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69379 Reviewed by Dan Bernstein. * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::handleWheelEvent): (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): (WebCore::ScrollAnimatorMac::beginScrollGesture): (WebCore::ScrollAnimatorMac::snapRubberBand): (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): * platform/mac/ScrollElasticityController.h: * platform/mac/ScrollElasticityController.mm: (WebCore::ScrollElasticityController::ScrollElasticityController): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
abarth@webkit.org authored
* platform/chromium-win-xp/fast/text/international/bidi-neutral-run-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
http://trac.webkit.org/changeset/96620abarth@webkit.org authored
changes match the changes Dave made to other platforms. * platform/chromium-cg-mac/fast/multicol/vertical-lr/float-avoidance-expected.png: * platform/chromium-cg-mac/fast/multicol/vertical-rl/float-avoidance-expected.png: * platform/chromium-linux/fast/multicol/vertical-lr/float-avoidance-expected.png: * platform/chromium-linux/fast/multicol/vertical-rl/float-avoidance-expected.png: * platform/chromium-win/fast/multicol/vertical-lr/float-avoidance-expected.png: * platform/chromium-win/fast/multicol/vertical-lr/float-avoidance-expected.txt: * platform/chromium-win/fast/multicol/vertical-rl/float-avoidance-expected.png: * platform/chromium-win/fast/multicol/vertical-rl/float-avoidance-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eric@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69374 Reviewed by James Robinson. This should finally be able to provide us with a repeatable metric for how fast we're currently able to load the HTML5 spec. There are a variety of interesting functions which show up in this sample, including of course style resolution. * Parser/html5-full-render.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
* platform/chromium/ScrollAnimatorChromiumMac.h: * platform/chromium/ScrollAnimatorChromiumMac.mm: (WebCore::isScrollingLeftAndShouldNotRubberBand): (WebCore::isScrollingRightAndShouldNotRubberBand): (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent): Fix Chromium build. * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): Fix GTK+ build. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
jonlee@apple.com authored
REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview https://bugs.webkit.org/show_bug.cgi?id=68412 <rdar://problem/9988252> Reviewed by Darin Adler. Source/WebKit2: In WK1 setInitialFocus() is called on FocusController with the key event that caused the web view to become first responder. In WK2 no event is sent. So if the key stroke that caused the change in first responder status contains the option modifier key, FocusController did not know that it had to switch behavior. Because there are multiple ways that the WKView can becomeFirstResponder, I changed the signature to setInitialFocus to express whether the key event parameter is an actual key event. * UIProcess/API/C/win/WKView.cpp: (WKViewSetInitialFocus): * UIProcess/API/mac/WKView.mm: (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if the event is a keyboard event, otherwise pass an empty event. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that the event that caused the initial focus was a keyboard event, and provide the keyboard event itself. * UIProcess/WebPageProxy.h: * UIProcess/win/WebView.cpp: (WebKit::WebView::setInitialFocus): * UIProcess/win/WebView.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard event, we pass that event to the FocusController. Otherwise we fall back to the original behavior, which is to pass no event at all. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Tools: In order to create a test for the bug, I had to update DRT and WKTR to create some widget that allows first responder status to move away from the main web view. Three methods were added to layoutTestController: addChromeInputField, removeChromeInputField, and focusWebView. addChromeInputField adds a text field that is a sibling to the web view, and sets up the key event loop between the two. removeChromeInputField removes that field. focusWebView moves first responder status to the web view. The test makes the call via layoutTestController and passes a callback that it assumes will be executed once the task is completed. In DRT the callback is called synchronously. In WKTR this is handled with message passing between the two processes. * DumpRenderTree/LayoutTestController.cpp: (addChromeInputFieldCallback): (removeChromeInputFieldCallback): (focusWebViewCallback): (LayoutTestController::staticFunctions): * DumpRenderTree/LayoutTestController.h: * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::addChromeInputField): (LayoutTestController::removeChromeInputField): (LayoutTestController::focusWebView): * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): When resetting for the next test, make sure to remove the chrome input field. * DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::addChromeInputField): (LayoutTestController::removeChromeInputField): (LayoutTestController::focusWebView): * DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::addChromeInputField): (LayoutTestController::removeChromeInputField): (LayoutTestController::focusWebView): * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessage): (WTR::InjectedBundle::postAddChromeInputField): (WTR::InjectedBundle::postRemoveChromeInputField): (WTR::InjectedBundle::postFocusWebView): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::callbackMap): Create a hash map that keeps track of the callbacks provided through JS. (WTR::cacheLayoutTestControllerCallback): (WTR::callLayoutTestControllerCallback): (WTR::LayoutTestController::addChromeInputField): (WTR::LayoutTestController::removeChromeInputField): (WTR::LayoutTestController::focusWebView): (WTR::LayoutTestController::callAddChromeInputFieldCallback): (WTR::LayoutTestController::callRemoveChromeInputFieldCallback): (WTR::LayoutTestController::callFocusWebViewCallback): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp: (WTR::PlatformWebView::addChromeInputField): (WTR::PlatformWebView::removeChromeInputField): (WTR::PlatformWebView::makeWebViewFirstResponder): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::addChromeInputField): (WTR::PlatformWebView::removeChromeInputField): (WTR::PlatformWebView::makeWebViewFirstResponder): * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::PlatformWebView::addChromeInputField): (WTR::PlatformWebView::removeChromeInputField): (WTR::PlatformWebView::makeWebViewFirstResponder): * DumpRenderTree/mac/LayoutTestControllerMac.mm: These functions have nothing to do with the patch-- just cleaning up style. (LayoutTestController::addDisallowedURL): (originsArrayToJS): (LayoutTestController::queueLoad): (LayoutTestController::setMockDeviceOrientation): (LayoutTestController::setIconDatabaseEnabled): (LayoutTestController::setEditingBehavior): LayoutTests: The option-key navigation is only relevant to the Mac platform. * platform/mac/fast/forms/focus-option-control-on-page-expected.txt: Added. * platform/mac/fast/forms/focus-option-control-on-page.html: Added. * platform/mac/fast/forms/script-tests/focus-option-control-on-page.js: Added. (startTest): (runKeyPresses): (notifyDone): (log): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69373 Reviewed by David Hyatt. ScrollElasticityController is a new class that will handle the rubber-banding when handling scroll events. * WebCore.xcodeproj/project.pbxproj: * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::handleWheelEvent): (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): (WebCore::ScrollAnimatorMac::beginScrollGesture): (WebCore::ScrollAnimatorMac::snapRubberBand): (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): * platform/mac/ScrollElasticityController.h: Added. (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient): * platform/mac/ScrollElasticityController.mm: Added. (WebCore::ScrollElasticityController::ScrollElasticityController): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
https://bugs.webkit.org/show_bug.cgi?id=69372hyatt@apple.com authored
[CSS3 Regions] Make sure overflow:visible lets content spill out of regions. Add support for reverse iteration to ListHashSet to support being able to walk them backwards easily. Reviewed by Anders Carlsson. * wtf/ListHashSet.h: (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator): (WTF::ListHashSetReverseIterator::get): (WTF::ListHashSetReverseIterator::operator*): (WTF::ListHashSetReverseIterator::operator->): (WTF::ListHashSetReverseIterator::operator++): (WTF::ListHashSetReverseIterator::operator--): (WTF::ListHashSetReverseIterator::operator==): (WTF::ListHashSetReverseIterator::operator!=): (WTF::ListHashSetReverseIterator::operator const_reverse_iterator): (WTF::ListHashSetReverseIterator::node): (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator): (WTF::ListHashSetConstReverseIterator::get): (WTF::ListHashSetConstReverseIterator::operator*): (WTF::ListHashSetConstReverseIterator::operator->): (WTF::ListHashSetConstReverseIterator::operator++): (WTF::ListHashSetConstReverseIterator::operator--): (WTF::ListHashSetConstReverseIterator::operator==): (WTF::ListHashSetConstReverseIterator::operator!=): (WTF::ListHashSetConstReverseIterator::node): (WTF::::rbegin): (WTF::::rend): (WTF::::makeReverseIterator): (WTF::::makeConstReverseIterator): (WTF::::makeConstIterator): Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=69372 [CSS3 Regions] Make sure overflow:visible lets content spill out of regions. Reviewed by Anders Carlsson. No new tests, since plenty of results changed. * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::paintIntoRegion): (WebCore::RenderFlowThread::hitTestRegion): (WebCore::RenderFlowThread::repaintRectangleInRegions): (WebCore::RenderFlowThread::firstRegion): (WebCore::RenderFlowThread::lastRegion): * rendering/RenderFlowThread.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::regionOverflowRect): (WebCore::RenderRegion::isFirstRegion): (WebCore::RenderRegion::isLastRegion): (WebCore::RenderRegion::layout): * rendering/RenderRegion.h: (WebCore::RenderRegion::setRegionRect): (WebCore::RenderRegion::regionRect): LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=69372 [CSS3 Regions] Make sure overflow:visible lets content spill out of regions. Reviewed by Anders Carlsson. * platform/mac/fast/regions/content-flowed-into-regions-dynamically-removed-expected.png: * platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.png: * platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.png: * platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.png: * platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.png: * platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png: * platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png: * platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: * platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.png: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
crogers@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=69361 Reviewed by James Robinson. No new tests. This changes no JavaScript API. * platform/audio/AudioDSPKernelProcessor.cpp: (WebCore::AudioDSPKernelProcessor::setNumberOfChannels): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
gavinp@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=69371 ews did not catch build breakage in the gtk WebKitPluginProcess target; this patch removes the pretty printer on gtk, which should fix the build on that platform. Reviewed by NOBODY, this is a build fix. * wtf/Assertions.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eric@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69364 Unreviewed. The patch is too large to post, so landing this unreviewed. :( The copy of the html5 spec we were using for testing was over a year old and didn't have any of the subresources with it (we were only using it as an HTML parsing benchmark). I'm about to use it for testing the full load/render time of the benchmark, so I've updated to the latest version of the spec (now 8mb instead of 5mb) and inlined two of the CSS files. (Inlining the CSS was necessary to make my testing consistent as there seems to be a race with some timer fired after CSS load.) Increasing from 5mb to 8mb showed a similar 30% slowdown in our parser benchmarks as expected. * Parser/resources/html5.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69367 Reviewed by Sam Weinig. * page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent): * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::handleWheelEvent): * platform/ScrollAnimator.h: * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): * platform/ScrollView.h: * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::handleWheelEvent): * platform/ScrollableArea.h: * platform/chromium/ScrollAnimatorChromiumMac.h: * platform/chromium/ScrollAnimatorChromiumMac.mm: (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent): * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::isScrollingLeftAndShouldNotRubberBand): (WebCore::isScrollingRightAndShouldNotRubberBand): (WebCore::ScrollAnimatorMac::handleWheelEvent): (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69347 Patch by Andreas Kling <kling@webkit.org> on 2011-10-04 Reviewed by Antti Koivisto. Don't cache the rowspan and colspan attributes on the element. This shrinks HTMLTableCellElement by one CPU word, reducing memory consumption by 80 kB (on 64-bit) when loading the full HTML5 spec. * html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::HTMLTableCellElement): (WebCore::HTMLTableCellElement::colSpan): (WebCore::HTMLTableCellElement::rowSpan): (WebCore::HTMLTableCellElement::parseMappedAttribute): * html/HTMLTableCellElement.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
http://trac.webkit.org/changeset/96630 https://bugs.webkit.org/show_bug.cgi?id=69368 Caused assertion failures in validateCell (Requested by mhahnenberg on #webkit). Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-04 Source/JavaScriptCore: * runtime/BooleanConstructor.cpp: * runtime/BooleanConstructor.h: * runtime/Error.cpp: (JSC::StrictModeTypeErrorFunction::getCallDataVirtual): (JSC::StrictModeTypeErrorFunction::getCallData): * runtime/ErrorConstructor.cpp: * runtime/ErrorConstructor.h: * runtime/FunctionConstructor.cpp: * runtime/FunctionConstructor.h: * runtime/FunctionPrototype.cpp: * runtime/FunctionPrototype.h: Source/WebCore: * bridge/qt/qt_runtime.cpp: * bridge/qt/qt_runtime.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ossy@webkit.org authored
* platform/qt/fast/multicol/vertical-lr/float-avoidance-expected.png: * platform/qt/fast/multicol/vertical-lr/float-avoidance-expected.txt: * platform/qt/fast/multicol/vertical-rl/float-avoidance-expected.png: * platform/qt/fast/multicol/vertical-rl/float-avoidance-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
caryclark@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=69354 http://code.google.com/p/chromium/issues/detail?id=98165 Reviewed by Eric Seidel. No new tests. Layout test pixel results have been disabled and will be rebaselined once all Skia on Mac changes are in. * platform/graphics/skia/FontSkia.cpp: (WebCore::setupPaint): Enable sub pixel text. This is set by default to enabled by CoreGraphics, but by default disabled on Skia. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eric@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=69363 Reviewed by Antti Koivisto. Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive). No change in behavior in any of the tests. * Parser/resources/runner.js: (runLoop): (run): (start): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-