mhahnenberg@apple.com [Mon, 26 Sep 2011 07:05:28 +0000 (07:05 +0000)]
Add custom vtable struct to ClassInfo struct
https://bugs.webkit.org/show_bug.cgi?id=68567
Reviewed by Oliver Hunt.
Source/JavaScriptCore:
Declared/defined the MethodTable struct and added it to the ClassInfo struct.
Also defined the CREATE_METHOD_TABLE macro to generate these method tables
succinctly where they need to be defined.
Also added to it the first function to use this macro, visitChildren.
This is part of the process of getting rid of all C++ virtual methods in JSCell.
Eventually all virtual functions in JSCell that can't easily be converted to
non-virtual functions will be put into this custom vtable structure.
* runtime/ClassInfo.h:
Added the CREATE_METHOD_TABLE macro call as the last argument to each of the
ClassInfo structs declared in these classes. This saves us from having to visit
each s_info definition in the future when we add more methods to the MethodTable.
* API/JSCallbackConstructor.cpp:
* API/JSCallbackFunction.cpp:
* API/JSCallbackObject.cpp:
* JavaScriptCore.exp:
* runtime/Arguments.cpp:
* runtime/ArrayConstructor.cpp:
* runtime/ArrayPrototype.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/DateConstructor.cpp:
* runtime/DateInstance.cpp:
* runtime/DatePrototype.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/Executable.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSActivation.cpp:
* runtime/JSArray.cpp:
* runtime/JSByteArray.cpp:
* runtime/JSFunction.cpp:
* runtime/JSGlobalObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.cpp:
* runtime/JSPropertyNameIterator.cpp:
* runtime/JSString.cpp:
* runtime/MathObject.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/RegExp.cpp:
* runtime/RegExpConstructor.cpp:
* runtime/RegExpObject.cpp:
* runtime/RegExpPrototype.cpp:
* runtime/ScopeChain.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:
* runtime/Structure.cpp:
* runtime/StructureChain.cpp:
Had to make visitChildren and visitChildrenVirtual protected instead of private
because some of the subclasses of JSWrapperObject need access to JSWrapperObject's
visitChildren function pointer in their vtable since they don't provide their own
implementation. Same for RegExpObject.
* runtime/JSWrapperObject.h:
* runtime/RegExpObject.h:
Source/JavaScriptGlue:
Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo. Also added to it the first function to use
this macro, visitChildren. This is part of the process of getting rid of all
C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.
* UserObjectImp.cpp:
Source/WebCore:
No new tests.
Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo. Also added to it the first function to use
this macro, visitChildren. This is part of the process of getting rid of all
C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.
* bindings/js/JSAudioConstructor.cpp:
* bindings/js/JSDOMGlobalObject.cpp:
* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
* bindings/js/JSOptionConstructor.cpp:
* bindings/js/JSWorkerContextBase.cpp:
Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
necessary.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bridge/c/CRuntimeObject.cpp:
* bridge/c/c_instance.cpp:
* bridge/jni/jsc/JavaInstanceJSC.cpp:
* bridge/jni/jsc/JavaRuntimeObject.cpp:
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_instance.mm:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_instance.cpp:
* bridge/qt/qt_pixmapruntime.cpp:
* bridge/qt/qt_runtime.cpp:
* bridge/runtime_array.cpp:
* bridge/runtime_method.cpp:
* bridge/runtime_object.cpp:
Source/WebKit/mac:
Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo. Also added to it the first function to use
this macro, visitChildren. This is part of the process of getting rid of all
C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.
* Plugins/Hosted/ProxyInstance.mm:
* Plugins/Hosted/ProxyRuntimeObject.mm:
Source/WebKit2:
Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
specified class in its ClassInfo. Also added to it the first function to use
this macro, visitChildren. This is part of the process of getting rid of all
C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
that can't easily be converted to non-virtual functions will be put into
this custom vtable structure.
* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 26 Sep 2011 06:53:14 +0000 (06:53 +0000)]
[EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
https://bugs.webkit.org/show_bug.cgi?id=63502
Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2011-09-25
Reviewed by Martin Robinson.
The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
some codes for EFL are added.
WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
* CMakeListsEfl.txt:
* GNUmakefile.list.am:
* platform/cairo/WidgetBackingStore.h:
* platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
(WebCore::createSurfaceForBackingStore):
(WebCore::WidgetBackingStorePrivate::create):
(WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
(WebCore::WidgetBackingStore::create):
(WebCore::WidgetBackingStore::WidgetBackingStore):
(WebCore::WidgetBackingStore::~WidgetBackingStore):
(WebCore::WidgetBackingStore::cairoSurface):
(WebCore::WidgetBackingStore::scroll):
* platform/gtk/GtkWidgetBackingStoreX11.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Mon, 26 Sep 2011 04:13:43 +0000 (04:13 +0000)]
Finish removing PLATFORM(BREWMP) by removing associated code
https://bugs.webkit.org/show_bug.cgi?id=68779
Reviewed by Sam Weinig.
.:
* Source/cmake/WebKitPackaging.cmake:
* wscript:
Source/JavaScriptCore:
* JavaScriptCore.gyp/JavaScriptCore.gyp:
* JavaScriptCore.gypi:
* gyp/JavaScriptCore.gyp:
* wscript:
* wtf/FastMalloc.cpp:
(WTF::fastMallocSize):
* wtf/Vector.h:
* wtf/brew: Removed.
* wtf/brew/MainThreadBrew.cpp: Removed.
* wtf/brew/OwnPtrBrew.cpp: Removed.
* wtf/brew/RefPtrBrew.h: Removed.
* wtf/brew/ShellBrew.h: Removed.
* wtf/brew/StringBrew.cpp: Removed.
* wtf/brew/SystemMallocBrew.h: Removed.
* wtf/unicode/brew: Removed.
* wtf/unicode/brew/UnicodeBrew.cpp: Removed.
* wtf/unicode/brew/UnicodeBrew.h: Removed.
Source/WebCore:
When Geoffrey Garen removed PLATFORM(BREWMP) in
http://trac.webkit.org/changeset/95555, he did not remove all the
associated code. This completes the work started in r95555 by removing
all the code assoicated with PLATFORM(BREWMP).
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* bindings/js/ScriptControllerBrew.cpp: Removed.
* editing/brew: Removed.
* editing/brew/EditorBrew.cpp: Removed.
* gyp/WebCore.gyp:
* page/brew: Removed.
* page/brew/ChromeClientBrew.h: Removed.
* page/brew/DragControllerBrew.cpp: Removed.
* page/brew/EventHandlerBrew.cpp: Removed.
* page/brew/FrameBrew.cpp: Removed.
* platform/brew: Removed.
* platform/brew/ClipboardBrew.cpp: Removed.
* platform/brew/ClipboardBrew.h: Removed.
* platform/brew/ContextMenuBrew.cpp: Removed.
* platform/brew/ContextMenuItemBrew.cpp: Removed.
* platform/brew/CursorBrew.cpp: Removed.
* platform/brew/DragDataBrew.cpp: Removed.
* platform/brew/EventLoopBrew.cpp: Removed.
* platform/brew/FileSystemBrew.cpp: Removed.
* platform/brew/KURLBrew.cpp: Removed.
* platform/brew/LanguageBrew.cpp: Removed.
* platform/brew/LocalizedStringsBrew.cpp: Removed.
* platform/brew/LoggingBrew.cpp: Removed.
* platform/brew/MIMETypeRegistryBrew.cpp: Removed.
* platform/brew/PasteboardBrew.cpp: Removed.
* platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
* platform/brew/PlatformMouseEventBrew.cpp: Removed.
* platform/brew/PlatformTouchEventBrew.cpp: Removed.
* platform/brew/PlatformTouchPointBrew.cpp: Removed.
* platform/brew/PopupMenuBrew.cpp: Removed.
* platform/brew/PopupMenuBrew.h: Removed.
* platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
* platform/brew/ScreenBrew.cpp: Removed.
* platform/brew/ScrollbarThemeBrew.cpp: Removed.
* platform/brew/ScrollbarThemeBrew.h: Removed.
* platform/brew/SearchPopupMenuBrew.cpp: Removed.
* platform/brew/SearchPopupMenuBrew.h: Removed.
* platform/brew/SharedBufferBrew.cpp: Removed.
* platform/brew/SharedTimerBrew.cpp: Removed.
* platform/brew/SoundBrew.cpp: Removed.
* platform/brew/SystemTimeBrew.cpp: Removed.
* platform/brew/TemporaryLinkStubs.cpp: Removed.
* platform/brew/WidgetBrew.cpp: Removed.
* platform/graphics/brew: Removed.
* platform/graphics/brew/IconBrew.cpp: Removed.
* platform/graphics/brew/ImageBrew.cpp: Removed.
* platform/graphics/brew/IntPointBrew.cpp: Removed.
* platform/graphics/brew/IntSizeBrew.cpp: Removed.
* platform/network/brew: Removed.
* platform/network/brew/DNSBrew.cpp: Removed.
* platform/network/brew/SocketStreamError.h: Removed.
* platform/network/brew/SocketStreamHandle.h: Removed.
* platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
* platform/network/brew/SocketStreamHandlePrivate.h: Removed.
* platform/text/brew: Removed.
* platform/text/brew/TextBoundariesBrew.cpp: Removed.
* platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
* platform/text/brew/TextCodecBrew.cpp: Removed.
* platform/text/brew/TextCodecBrew.h: Removed.
Source/WebKit2:
* Scripts/generate-forwarding-headers.pl:
Tools:
* Scripts/webkitpy/common/config/build.py:
* waf/build/settings.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95934
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 26 Sep 2011 04:05:28 +0000 (04:05 +0000)]
DFG JIT does not count speculation successes correctly
https://bugs.webkit.org/show_bug.cgi?id=68785
Reviewed by Geoffrey Garen.
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGOperations.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 26 Sep 2011 03:36:04 +0000 (03:36 +0000)]
DFG support for op_resolve_global is not enabled
https://bugs.webkit.org/show_bug.cgi?id=68786
Reviewed by Geoffrey Garen.
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 26 Sep 2011 03:30:34 +0000 (03:30 +0000)]
Implement a CloseEvent constructor for JSC
https://bugs.webkit.org/show_bug.cgi?id=68340
Patch by Kentaro Hara <haraken@chromium.org> on 2011-09-25
Reviewed by Oliver Hunt.
Source/WebCore:
The spec of the CloseEvent constructor is here:
http://dev.w3.org/html5/websockets/#closeevent
Test: fast/events/constructors/close-event-constructor.html
* bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
* bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
* websockets/CloseEvent.h: Added a definition for CloseEventInit.
(WebCore::CloseEventInit::CloseEventInit):
(WebCore::CloseEvent::create):
(WebCore::CloseEvent::CloseEvent):
* websockets/CloseEvent.idl: Makes CloseEvent constructible.
LayoutTests:
* fast/dom/constructed-objects-prototypes-expected.txt: Now window has CloseEvent.
* fast/events/constructors/close-event-constructor-expected.txt: Added.
* fast/events/constructors/close-event-constructor.html: Added.
* platform/chromium/test_expectations.txt: Skipped close-event-constructor.html, since V8 does not yet have the CloseEvent constructor.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 26 Sep 2011 02:25:02 +0000 (02:25 +0000)]
DFG static prediction code is no longer needed and should be removed
https://bugs.webkit.org/show_bug.cgi?id=68784
Reviewed by Oliver Hunt.
This gets rid of static prediction code, and ensures that we do not
try to compile code where dynamic predictions are not available.
This is accomplished by immediately performing an OSR exit wherever
a value is retrieved for which no predictions exist.
This also adds value profiling for this on functions used for calls.
The heuristics for deciding when to optimize code are also tweaked,
since it is now profitable to optimize sooner. This may need to be
tweaked further, but this patch only makes minimal changes.
This results in a 16% speed-up on Kraken/ai-astar, leading to a 3%
overall win on Kraken. It's neutral elsewhere.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::dumpValueProfiles):
* bytecode/CodeBlock.h:
* bytecode/PredictedType.cpp:
(JSC::predictionToString):
* bytecode/PredictedType.h:
(JSC::isCellPrediction):
(JSC::isObjectPrediction):
(JSC::isFinalObjectPrediction):
(JSC::isStringPrediction):
(JSC::isArrayPrediction):
(JSC::isInt32Prediction):
(JSC::isDoublePrediction):
(JSC::isNumberPrediction):
(JSC::isBooleanPrediction):
(JSC::mergePredictions):
* bytecode/PredictionTracker.h:
(JSC::PredictionTracker::predictArgument):
(JSC::PredictionTracker::predict):
(JSC::PredictionTracker::predictGlobalVar):
* bytecode/ValueProfile.cpp:
(JSC::ValueProfile::computeUpdatedPrediction):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::set):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::getPrediction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::predictArgumentTypes):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::predict):
(JSC::DFG::Graph::predictGlobalVar):
(JSC::DFG::Graph::getMethodCheckPrediction):
(JSC::DFG::Graph::getJSConstantPrediction):
(JSC::DFG::Graph::getPrediction):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::writeBarrier):
(JSC::DFG::JITCodeGenerator::emitBranch):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::getPrediction):
* dfg/DFGNode.h:
(JSC::DFG::Node::valueOfJSConstantNode):
(JSC::DFG::Node::isInt32Constant):
(JSC::DFG::Node::isDoubleConstant):
(JSC::DFG::Node::isNumberConstant):
(JSC::DFG::Node::isBooleanConstant):
(JSC::DFG::Node::predict):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::Propagator):
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::isPredictedNumerical):
(JSC::DFG::Propagator::logicalNotIsPure):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::shouldSpeculateInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateDouble):
(JSC::DFG::SpeculativeJIT::shouldSpeculateNumber):
(JSC::DFG::SpeculativeJIT::shouldNotSpeculateInteger):
(JSC::DFG::SpeculativeJIT::shouldSpeculateFinalObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateArray):
(JSC::DFG::SpeculativeJIT::shouldSpeculateObject):
(JSC::DFG::SpeculativeJIT::shouldSpeculateCell):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Mon, 26 Sep 2011 01:40:04 +0000 (01:40 +0000)]
<rdar://problem/
10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
When that happens we should immediately return to waiting rather than doing our normal work, as some of that
work relies on wakeSyncThread having been called to signal the condition.
Reviewed by Sam Weinig.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
(WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
our local shouldReenableSuddenTermination variable since it can be updated by other threads while
we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
and reacquiring the lock.
* loader/icon/IconDatabase.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95929
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Mon, 26 Sep 2011 01:12:53 +0000 (01:12 +0000)]
Provides a simple LRU cache class in Python.
https://bugs.webkit.org/show_bug.cgi?id=67823
Patch by Ai Makabi <makabi@google.com> on 2011-09-21
Reviewed by Tony Chang.
* Scripts/webkitpy/common/lru_cache.py:
* Scripts/webkitpy/common/lru_cache_unittest.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 26 Sep 2011 00:01:09 +0000 (00:01 +0000)]
DFG JIT Construct opcode takes a this argument even though it's
not passed
https://bugs.webkit.org/show_bug.cgi?id=68782
Reviewed by Oliver Hunt.
This is performance-neutral, mostly. It's a slight speed-up on
v8-splay.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addCall):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::emitCall):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95927
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 25 Sep 2011 23:58:13 +0000 (23:58 +0000)]
<rdar://problem/
10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
Reviewed by Sam Weinig.
Source/WebCore:
Test: fast/dynamic/subtree-unrooted.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
which was added in r21162, with a check that it is “rooted”.
LayoutTests:
* fast/dynamic/subtree-unrooted-expected.txt: Added.
* fast/dynamic/subtree-unrooted.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95926
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 25 Sep 2011 23:40:51 +0000 (23:40 +0000)]
DFG tracking of the value in cachedResultRegister does not handle
op_mov correctly
https://bugs.webkit.org/show_bug.cgi?id=68781
Reviewed by Oliver Hunt.
This takes the simplest approach: it makes the old JIT dumber rather
than making the DFG JIT smarter. This is performance-neutral.
* jit/JIT.h:
(JSC::JIT::canBeOptimized):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_mov):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95925
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Sun, 25 Sep 2011 21:42:33 +0000 (21:42 +0000)]
Source/WebCore: Issues with merging block children of a ruby
base with another ruby base having inline children.
https://bugs.webkit.org/show_bug.cgi?id=66124
Reviewed by Dan Bernstein.
Test: fast/ruby/ruby-base-merge-block-children-crash.html
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
check to prevent empty anonymous block addition, just like
moveBlockChildren method.
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
doing optimizations to see if current ruby base has only inline
children before beforeChild and then trying to take out them from
their parent anonymous blocks. The problem is those inlines could
be split and have continuations because of encountering a block
inside inline flow. In those cases, we cannot take the inline out.
So, we should just make children non-inline in the destination
block and transfer the children as it-is.
* rendering/RenderRubyBase.h: remove unncessary functions.
LayoutTests: Issues with merging block children of a ruby
base with another ruby base having inline children.
https://bugs.webkit.org/show_bug.cgi?id=66124
Reviewed by Dan Bernstein.
* fast/ruby/ruby-base-merge-block-children-crash.html: Added.
* platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95924
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Sun, 25 Sep 2011 21:15:06 +0000 (21:15 +0000)]
Unreviewed, remove fast/workers/storage/interrupt-database.html
from GTK test_expectations since it's been skipped in r95809.
* platform/gtk/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95923
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 25 Sep 2011 19:35:21 +0000 (19:35 +0000)]
Remove PLATFORM(HAIKU) and associated code
https://bugs.webkit.org/show_bug.cgi?id=68774
Reviewed by Sam Weinig.
.:
* Source/cmake/WebKitPackaging.cmake:
* wscript:
Source/JavaScriptCore:
* JavaScriptCore.gyp/JavaScriptCore.gyp:
* JavaScriptCore.gypi:
* gyp/JavaScriptCore.gyp:
* heap/MachineStackMarker.cpp:
* wtf/PageAllocation.h:
* wtf/Platform.h:
* wtf/StackBounds.cpp:
* wtf/haiku: Removed.
* wtf/haiku/MainThreadHaiku.cpp: Removed.
* wtf/haiku/StringHaiku.cpp: Removed.
* wtf/text/WTFString.h:
Source/WebCore:
As discussed on webkit-dev, the Haiku port has been inactive for over a
year. A year and a half ago, we discussed removing the port, but folks
said they planned to work on it more. That work does not appear to
have happened in the intervening time.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* bindings/js/ScriptControllerHaiku.cpp: Removed.
* editing/haiku: Removed.
* editing/haiku/EditorHaiku.cpp: Removed.
* gyp/WebCore.gyp:
* loader/cache/CachedFont.cpp:
* page/EventHandler.cpp:
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
* page/haiku: Removed.
* page/haiku/DragControllerHaiku.cpp: Removed.
* page/haiku/EventHandlerHaiku.cpp: Removed.
* page/haiku/FrameHaiku.cpp: Removed.
* platform/ContextMenuItem.h:
* platform/Cursor.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMenuDescription.h:
* platform/PlatformMouseEvent.h:
* platform/Widget.h:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatRect.h:
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageBufferData.h:
* platform/graphics/ImageSource.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
* platform/graphics/Path.h:
* platform/graphics/Pattern.h:
* platform/graphics/SimpleFontData.h:
* platform/graphics/haiku: Removed.
* platform/graphics/haiku/ColorHaiku.cpp: Removed.
* platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
* platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
* platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
* platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
* platform/graphics/haiku/FontCustomPlatformData.h: Removed.
* platform/graphics/haiku/FontHaiku.cpp: Removed.
* platform/graphics/haiku/FontPlatformData.h: Removed.
* platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
* platform/graphics/haiku/GradientHaiku.cpp: Removed.
* platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
* platform/graphics/haiku/IconHaiku.cpp: Removed.
* platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
* platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
* platform/graphics/haiku/ImageHaiku.cpp: Removed.
* platform/graphics/haiku/IntPointHaiku.cpp: Removed.
* platform/graphics/haiku/IntRectHaiku.cpp: Removed.
* platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
* platform/graphics/haiku/PathHaiku.cpp: Removed.
* platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
* platform/graphics/haiku/StillImageHaiku.cpp: Removed.
* platform/graphics/haiku/StillImageHaiku.h: Removed.
* platform/haiku: Removed.
* platform/haiku/ClipboardHaiku.cpp: Removed.
* platform/haiku/ClipboardHaiku.h: Removed.
* platform/haiku/ContextMenuHaiku.cpp: Removed.
* platform/haiku/ContextMenuItemHaiku.cpp: Removed.
* platform/haiku/CookieJarHaiku.cpp: Removed.
* platform/haiku/CursorHaiku.cpp: Removed.
* platform/haiku/DragDataHaiku.cpp: Removed.
* platform/haiku/DragImageHaiku.cpp: Removed.
* platform/haiku/EventLoopHaiku.cpp: Removed.
* platform/haiku/FileSystemHaiku.cpp: Removed.
* platform/haiku/LocalizedStringsHaiku.cpp: Removed.
* platform/haiku/LoggingHaiku.cpp: Removed.
* platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
* platform/haiku/PasteboardHaiku.cpp: Removed.
* platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
* platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
* platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
* platform/haiku/PopupMenuHaiku.cpp: Removed.
* platform/haiku/PopupMenuHaiku.h: Removed.
* platform/haiku/RenderThemeHaiku.cpp: Removed.
* platform/haiku/RenderThemeHaiku.h: Removed.
* platform/haiku/ScreenHaiku.cpp: Removed.
* platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
* platform/haiku/ScrollbarThemeHaiku.h: Removed.
* platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
* platform/haiku/SearchPopupMenuHaiku.h: Removed.
* platform/haiku/SharedBufferHaiku.cpp: Removed.
* platform/haiku/SharedTimerHaiku.cpp: Removed.
* platform/haiku/SoundHaiku.cpp: Removed.
* platform/haiku/TemporaryLinkStubs.cpp: Removed.
* platform/haiku/WidgetHaiku.cpp: Removed.
* platform/image-decoders/haiku: Removed.
* platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
* platform/text/UnicodeRange.h:
* platform/text/haiku: Removed.
* platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
Source/WebKit:
* haiku: Removed.
* haiku/WebCoreSupport: Removed.
* haiku/WebCoreSupport/ChromeClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/ChromeClientHaiku.h: Removed.
* haiku/WebCoreSupport/ContextMenuClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/ContextMenuClientHaiku.h: Removed.
* haiku/WebCoreSupport/DragClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/DragClientHaiku.h: Removed.
* haiku/WebCoreSupport/EditorClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/EditorClientHaiku.h: Removed.
* haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/FrameLoaderClientHaiku.h: Removed.
* haiku/WebCoreSupport/InspectorClientHaiku.cpp: Removed.
* haiku/WebCoreSupport/InspectorClientHaiku.h: Removed.
Source/WebKit2:
* Scripts/generate-forwarding-headers.pl:
Tools:
* Scripts/webkitpy/common/config/build.py:
* waf/build/settings.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 25 Sep 2011 08:16:48 +0000 (08:16 +0000)]
[CMake] Remove FindLibXlst.cmake
https://bugs.webkit.org/show_bug.cgi?id=68770
Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-25
Reviewed by Adam Barth.
This file should have never been committed -- the library it looks for
is called libxslt, not libxlst, so it has never really been used. When
the buildsystem looked for libxslt, it used CMake's own LibXslt.cmake
instead.
* Source/cmake/FindLibXlst.cmake: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 25 Sep 2011 07:03:51 +0000 (07:03 +0000)]
Attempted build fixes for GTK and Qt.
* GNUmakefile.list.am:
* WebCore.pro:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95920
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 25 Sep 2011 06:04:46 +0000 (06:04 +0000)]
Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
https://bugs.webkit.org/show_bug.cgi?id=68767
Reviewed by Eric Seidel.
.:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWinCE.cmake:
* Source/cmakeconfig.h.cmake:
* configure.ac:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
As discussed on webkit-dev, almost everyone has this enable turned on
and this feature is unlikely to be removed from the web platform given
its popularity.
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.pro:
* bindings/cpp/WebDOMEventTarget.cpp:
(toWebKit):
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
(WebCore::toEventTarget):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* dom/EventTarget.cpp:
(WebCore::EventTarget::toDOMApplicationCache):
* dom/EventTarget.h:
* features.pri:
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedByParser):
* html/HTMLHtmlElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::HTMLMediaElement::loadResource):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
* inspector/InspectorApplicationCacheAgent.cpp:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::connectFrontend):
* inspector/generate-inspector-idl:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::handledOnloadEvents):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::applicationCacheHost):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):
(WebCore::MainResourceLoader::load):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didSendData):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::wasBlocked):
(WebCore::ResourceLoader::cannotShowURL):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::willCacheResponse):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCache.cpp:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheResource.cpp:
* loader/appcache/ApplicationCacheResource.h:
* loader/appcache/ApplicationCacheStorage.cpp:
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/DOMApplicationCache.cpp:
* loader/appcache/DOMApplicationCache.h:
* loader/appcache/DOMApplicationCache.idl:
* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest):
* loader/appcache/ManifestParser.h:
* loader/chromium/ResourceLoaderChromium.cpp:
(WebCore::ResourceLoader::didDownloadData):
* page/ChromeClient.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::applicationCache):
* page/DOMWindow.h:
(WebCore::DOMWindow::optionalApplicationCache):
* page/DOMWindow.idl:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):
Source/WebKit/chromium:
* features.gypi:
* src/ApplicationCacheHost.cpp:
* src/ApplicationCacheHostInternal.h:
* src/AssertMatchingEnums.cpp:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::reachedApplicationCacheOriginQuota):
* src/ChromeClientImpl.h:
* src/WebDataSourceImpl.cpp:
(WebKit::WebDataSourceImpl::applicationCacheHost):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableApplicationCache):
(WebKit::WebRuntimeFeatures::isApplicationCacheEnabled):
Source/WebKit/efl:
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientEfl.h:
* ewk/ewk_main.cpp:
(_ewk_init_body):
* ewk/ewk_settings.cpp:
(ewk_settings_cache_directory_path_set):
(ewk_settings_cache_directory_path_get):
Source/WebKit/gtk:
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientGtk.h:
* webkit/webkitapplicationcache.cpp:
(webkit_application_cache_get_maximum_size):
(webkit_application_cache_set_maximum_size):
(webkit_application_cache_get_database_directory_path):
* webkit/webkitglobals.cpp:
(webkitInit):
Source/WebKit/haiku:
* WebCoreSupport/ChromeClientHaiku.cpp:
(WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientHaiku.h:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* Misc/WebCache.mm:
(+[WebCache empty]):
* WebCoreSupport/WebApplicationCache.mm:
* WebCoreSupport/WebApplicationCacheQuotaManager.mm:
(-[WebApplicationCacheQuotaManager usage]):
(-[WebApplicationCacheQuotaManager quota]):
(-[WebApplicationCacheQuotaManager setQuota:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
Source/WebKit/qt:
* Api/qwebsecurityorigin.cpp:
(QWebSecurityOrigin::setApplicationCacheQuota):
* Api/qwebsettings.cpp:
(QWebSettings::setOfflineWebApplicationCachePath):
(QWebSettings::offlineWebApplicationCachePath):
(QWebSettings::setOfflineWebApplicationCacheQuota):
(QWebSettings::offlineWebApplicationCacheQuota):
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientQt.h:
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearAllApplicationCaches):
Source/WebKit/win:
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::reachedApplicationCacheOriginQuota):
* WebCoreSupport/WebChromeClient.h:
Source/WebKit/wince:
* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::reachedApplicationCacheOriginQuota):
* WebCoreSupport/ChromeClientWinCE.h:
Source/WebKit/wx:
* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::reachedApplicationCacheOriginQuota):
* WebKitSupport/ChromeClientWx.h:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::applicationCacheDirectory):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::clearApplicationCache):
* WebProcess/WebProcess.h:
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@95919
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 25 Sep 2011 02:20:41 +0000 (02:20 +0000)]
JIT implementation of put_by_val increments m_length instead of setting
it to index+1
https://bugs.webkit.org/show_bug.cgi?id=68766
Reviewed by Geoffrey Garen.
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_val):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95918
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 24 Sep 2011 22:53:29 +0000 (22:53 +0000)]
More build fixage.
* heap/ConservativeRoots.cpp: Our system of #includes, it is chaos.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95917
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 24 Sep 2011 22:39:16 +0000 (22:39 +0000)]
The DFG should not attempt to guess types in the absence of value
profiles
https://bugs.webkit.org/show_bug.cgi?id=68677
Reviewed by Oliver Hunt.
This adds the ForceOSRExit node, which is ignored by the propagator
and virtual register allocator (and hence ensuring that liveness analysis
works correctly), but forces terminateSpeculativeExecution() in the
back-end. This appears to be a slight speed-up on benchmark averages,
with ~5% swings on individual benchmarks, in both directions. But it's
never a regression on any average, and appears to be a ~1% progression
in the SunSpider average.
This also adds a bit better debugging support in the old JIT and in DFG,
as this was necessary to debug the much more frequent OSR transitions
that occur with this change.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::getStrongPrediction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95916
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Sat, 24 Sep 2011 22:38:57 +0000 (22:38 +0000)]
Remove Chromium failing expectations for WCSS tests now that they're
been removed with r95911.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95915
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 24 Sep 2011 22:36:57 +0000 (22:36 +0000)]
Some Windows build fixage.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::isLive): Show the compiler that all control paths
return a value. There, there, compiler. Everything's going to be OK.
* runtime/JSCell.h:
(JSC::JSCell::setVPtr): Oops! Unrename this function.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95914
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Sat, 24 Sep 2011 22:35:37 +0000 (22:35 +0000)]
Mark an svg/ test as slow, and remove incorrect baselines for another.
* platform/chromium-cg-mac-leopard/fast/ruby/ruby-text-before-after-content-expected.txt: Removed.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95913
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 24 Sep 2011 22:15:40 +0000 (22:15 +0000)]
Allocate new objects unmarked
https://bugs.webkit.org/show_bug.cgi?id=68764
Source/JavaScriptCore:
Reviewed by Oliver Hunt.
This is a pre-requisite to using the mark bit to determine object age.
~2% v8 speedup, mostly due to a 12% v8-splay speedup.
* heap/MarkedBlock.h:
(JSC::MarkedBlock::isLive):
(JSC::MarkedBlock::isLiveCell): These two functions are the reason for
this patch. They can now determine object liveness without relying on
newly allocated objects having their mark bits set. Each MarkedBlock
now has a state variable that tells us how to determine whether its
cells are live. (This new state variable supercedes the old one about
destructor state. The rest of this patch is just refactoring to support
the invariants of this new state variable without introducing a
performance regression.)
(JSC::MarkedBlock::didConsumeFreeList): New function for updating interal
state when a block becomes fully allocated.
(JSC::MarkedBlock::clearMarks): Folded a state change to 'Marked' into
this function because, logically, clearing all mark bits is the first
step in saying "mark bits now exactly reflect object liveness".
(JSC::MarkedBlock::markCountIsZero): Renamed from isEmpty() to clarify
that this function only tells you about the mark bits, so it's only
meaningful if you've put the mark bits into a meaningful state before
calling it.
(JSC::MarkedBlock::forEachCell): Changed to use isLive() helper function
instead of testing mark bits, since mark bits are not always the right
way to find out if an object is live anymore. (New objects are live, but
not marked.)
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::recycle):
(JSC::MarkedBlock::MarkedBlock): Folded all initialization -- even
initialization when recycling an old block -- into the MarkedBlock
constructor, for simplicity.
(JSC::MarkedBlock::callDestructor): Inlined for speed. Always check for
a zapped cell before running a destructor, and always zap after
running a destructor. This does not seem to be expensive, and the
alternative just creates a too-confusing matrix of possible cell states
((zombie undestructed cell + zombie destructed cell + zapped destructed
cell) * 5! permutations for progressing through block states = "Oh my!").
(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::sweep): Maintained and expanded a pre-existing
optimization to use template specialization to constant fold lots of
branches and elide certain operations entirely during a sweep. Merged
four or five functions that were logically about sweeping into this one
function pair, so there's only one way to do things now, it's
automatically correct, and it's always fast.
(JSC::MarkedBlock::zapFreeList): Renamed this function to be more explicit
about exactly what it does, and to honor the new block state system.
* heap/AllocationSpace.cpp:
(JSC::AllocationSpace::allocateBlock): Updated for rename.
(JSC::AllocationSpace::freeBlocks): Updated for changed interface.
(JSC::TakeIfUnmarked::TakeIfUnmarked):
(JSC::TakeIfUnmarked::operator()):
(JSC::TakeIfUnmarked::returnValue): Just like isEmpty() above, renamed
to clarify that this functor only tests the mark bits, so it's only
valid if you've put the mark bits into a meaningful state before
calling it.
(JSC::AllocationSpace::shrink): Updated for rename.
* heap/AllocationSpace.h:
(JSC::AllocationSpace::canonicalizeCellLivenessData): Renamed to be a
little more specific about what we're making canonical.
(JSC::AllocationSpace::forEachCell): Updated for rename.
(JSC::AllocationSpace::forEachBlock): No need to canonicalize cell
liveness data before iterating blocks -- clients that want iterated
blocks to have valid cell lieveness data should make this call for
themselves. (And not all clients want it.)
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer): Updated for rename. Removed
obsolete comment.
* heap/Heap.cpp:
(JSC::CountFunctor::ClearMarks::operator()): Removed call to notify...()
because clearMarks() now does that implicitly.
(JSC::Heap::destroy): Make sure to canonicalize before tear-down, since
tear-down tests cell liveness when running destructors.
(JSC::Heap::markRoots):
(JSC::Heap::collect): Moved weak reference harvesting out of markRoots()
and into collect, since it strictly depends on root marking, and does
not contribute to root marking.
(JSC::Heap::canonicalizeCellLivenessData): Renamed to be a little more
specific about what we're making canonical.
* heap/Heap.h:
(JSC::Heap::forEachProtectedCell): No need to canonicalize cell liveness
data before iterating protected cells, since we know they're all live,
and don't need to test for it.
* heap/Local.h:
(JSC::::set): Can't make the same ASSERT we used to because we just don't
have the mark bits for it anymore. Perhaps we can bring this ASSERT back
in a weaker form in the future.
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::addBlock):
(JSC::MarkedSpace::removeBlock): Updated for interface change.
(JSC::MarkedSpace::canonicalizeCellLivenessData): Renamed to be a little more
specific about what we're making canonical.
* heap/MarkedSpace.h:
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::SizeClass::SizeClass):
(JSC::MarkedSpace::SizeClass::resetAllocator):
(JSC::MarkedSpace::SizeClass::zapFreeList): Simplified this allocator
functionality a bit. We now track only one block -- "currentBlock" --
and rely on its internal state to know whether it has more cells to
allocate.
* heap/Weak.h:
(JSC::Weak::set): Can't make the same ASSERT we used to because we just don't
have the mark bits for it anymore. Perhaps we can bring this ASSERT back
in a weaker form in the future.
* runtime/JSCell.h:
(JSC::JSCell::vptr):
(JSC::JSCell::zap):
(JSC::JSCell::isZapped):
(JSC::isZapped): Made zapping a property of JSCell, for a little abstraction.
In the future, exactly how a JSCell zaps itself will change, as the
internal representation of JSCell changes.
LayoutTests:
Reviewed by Oliver Hunt.
Made this flaky test less flaky. (Just enough to make my patch not fail.)
* fast/dom/gc-10.html: Count objects immediately after GC to get an
exact count. Call 'reload' a few times to improve test coverage. Preload
properties in case they're lazily instantiated, which would change
object count numbers. Also, use the 'var' keyword like a good little
JavaScripter.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sat, 24 Sep 2011 22:03:05 +0000 (22:03 +0000)]
Remove ENABLE(WCSS) and associated code
https://bugs.webkit.org/show_bug.cgi?id=68759
Reviewed by Darin Adler.
.:
* configure.ac:
Source/WebCore:
As discussed on webkit-dev, we are removing this feature from trunk to
reduce the number of different configurations.
* CodeGenerators.pri:
* GNUmakefile.am:
* WebCore.pro:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/WCSSPropertyNames.in: Removed.
* css/WCSSValueKeywords.in: Removed.
* features.pri:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
* html/HTMLInputElement.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::sanitizeValue):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::start):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/style/RenderStyleConstants.h:
Tools:
* Scripts/build-webkit:
* Scripts/old-run-webkit-tests:
* Scripts/webkitperl/features.pm:
(hasFeature):
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
LayoutTests:
* fast/wcss: Removed.
* fast/wcss/wap-input-format-expected.txt: Removed.
* fast/wcss/wap-input-format.xhtml: Removed.
* fast/wcss/wap-input-required-expected.txt: Removed.
* fast/wcss/wap-input-required.xhtml: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 24 Sep 2011 21:23:24 +0000 (21:23 +0000)]
DFG JIT should not eagerly initialize integer tags in the register file
https://bugs.webkit.org/show_bug.cgi?id=68763
Reviewed by Oliver Hunt.
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueRecovery::alreadyInRegisterFileAsUnboxedInt32):
(JSC::DFG::OSRExit::operandForArgument):
(JSC::DFG::OSRExit::operandForIndex):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 24 Sep 2011 19:13:40 +0000 (19:13 +0000)]
Added Snow Leopard-specific expected results.
* platform/mac-snowleopard/platform/mac/fast/text/combining-character-sequence-fallback-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alex@webkit.org [Sat, 24 Sep 2011 09:58:23 +0000 (09:58 +0000)]
2011-09-24 Alejandro G. Castro <alex@igalia.com>
Fixed GTK compilation after r95878, the operator== was defined
twice when USE_WEBPROCESS_EVENT_SIMULATION is defined.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 08:17:38 +0000 (08:17 +0000)]
SVGAnimation does not support 'values' for from-to animations
https://bugs.webkit.org/show_bug.cgi?id=64859
Patch by Young Han Lee <joybro@company100.net> on 2011-09-24
Reviewed by Dirk Schulze.
If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
the keyTimes indicate the begin and the end of the animation respectively.[1][2]
When keyTimes is given, calculate the progress percentage of the animation with it
even for from-to animation.
[1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
[2] http://www.w3.org/TR/2001/REC-smil-animation-
20010904/#AnimFuncValues
Source/WebCore:
Test: svg/animations/animate-from-to-keyTimes.html
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculatePercentForFromTo):
(WebCore::SVGAnimationElement::updateAnimation):
* svg/SVGAnimationElement.h:
LayoutTests:
* svg/animations/animate-from-to-keyTimes-expected.txt: Added.
* svg/animations/animate-from-to-keyTimes.html: Added.
* svg/animations/script-tests/animate-from-to-keyTimes.js: Added.
(sample1):
(sample2):
(executeTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Sat, 24 Sep 2011 07:00:15 +0000 (07:00 +0000)]
WebKit does not expose AXPlaceholder value on password fields
https://bugs.webkit.org/show_bug.cgi?id=68745
Reviewed by Oliver Hunt.
Source/WebCore:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
LayoutTests:
* accessibility/placeholder-expected.txt:
* accessibility/placeholder.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Sat, 24 Sep 2011 05:42:09 +0000 (05:42 +0000)]
Add JSVALUE32_64 support to DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=67460
Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-23
Reviewed by Gavin Barraclough.
Add cmake options to enable DFG JIT compilation for EFL port
* Source/cmake/OptionsEfl.cmake:
* Source/cmakeconfig.h.cmake:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95905
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 05:30:04 +0000 (05:30 +0000)]
[DRT] Include the right config file for EFL's DRT.
https://bugs.webkit.org/show_bug.cgi?id=67042
Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-23
Reviewed by Martin Robinson.
Ports which use CMake as their buildsystem (such as the EFL one) also
have config.h files, but they are named differently, so include the
right one depending on the buildsystem being used.
* DumpRenderTree/config.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 24 Sep 2011 05:11:33 +0000 (05:11 +0000)]
Fix the build.
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95903
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Sat, 24 Sep 2011 05:04:08 +0000 (05:04 +0000)]
Add JSVALUE32_64 support to DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=67460
Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-23
Reviewed by Gavin Barraclough.
This is the initial attempt to add JSVALUE32_64 support to DFG JIT.
It's tested on IA32 Linux EFL port currently. It still cannot run
all the test cases and benchmarks so should be turned off now.
The major work includes:
1) dealing with JSVALUE32_64 data format in DFG JIT;
2) bindings between 64-bit JS Value and 32-bit registers;
3) handling of function calls. Currently for DFG operation function
calls we follow the X86 cdecl calling convention on Linux, and the
implementation is in a naive way by pushing the arguments into stack
one by one.
The known issues include:
1) some code duplicates unnecessarily, especially in Speculative JIT
code generation, where most of the operations on SpeculataInteger /
SpeculateDouble should be identical to the JSVALUE64 code. Refactoring
is needed in the future;
2) lack of op_call and op_construct support, comparing to current
JSVALUE64 DFG;
3) currently integer speculations assume to be StrictInt32;
4) lack of JSBoolean speculations;
5) boxing and unboxing doubles could be improved;
6) DFG X86 register description is different with the baseline JIT,
the timeoutCheckRegister is used for general purpose usage;
7) calls to runtime functions with primitive double parameters (e.g.
fmod) don't work. Support needs to be added to the assembler to
implement the mechanism of passing double parameters for X86 cdecl
convention.
And there should be many other hidden bugs which should be exposed and
resolved in later debugging process.
* CMakeListsEfl.txt:
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::loadDouble):
(JSC::MacroAssemblerX86::storeDouble):
* assembler/X86Assembler.h:
(JSC::X86Assembler::movsd_rm):
* bytecode/StructureStubInfo.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGFPRInfo.h:
(JSC::DFG::FPRInfo::debugName):
* dfg/DFGGPRInfo.h:
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):
* dfg/DFGGenerationInfo.h:
(JSC::DFG::needDataFormatConversion):
(JSC::DFG::GenerationInfo::initJSValue):
(JSC::DFG::GenerationInfo::initDouble):
(JSC::DFG::GenerationInfo::gpr):
(JSC::DFG::GenerationInfo::tagGPR):
(JSC::DFG::GenerationInfo::payloadGPR):
(JSC::DFG::GenerationInfo::fpr):
(JSC::DFG::GenerationInfo::fillJSValue):
(JSC::DFG::GenerationInfo::fillCell):
(JSC::DFG::GenerationInfo::fillDouble):
* dfg/DFGJITCodeGenerator.cpp:
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::allocate):
(JSC::DFG::JITCodeGenerator::use):
(JSC::DFG::JITCodeGenerator::registersMatched):
(JSC::DFG::JITCodeGenerator::silentSpillGPR):
(JSC::DFG::JITCodeGenerator::silentFillGPR):
(JSC::DFG::JITCodeGenerator::silentFillFPR):
(JSC::DFG::JITCodeGenerator::silentSpillAllRegisters):
(JSC::DFG::JITCodeGenerator::silentFillAllRegisters):
(JSC::DFG::JITCodeGenerator::boxDouble):
(JSC::DFG::JITCodeGenerator::unboxDouble):
(JSC::DFG::JITCodeGenerator::spill):
(JSC::DFG::addressOfDoubleConstant):
(JSC::DFG::integerResult):
(JSC::DFG::jsValueResult):
(JSC::DFG::setupResults):
(JSC::DFG::callOperation):
(JSC::JSValueOperand::JSValueOperand):
(JSC::JSValueOperand::~JSValueOperand):
(JSC::JSValueOperand::isDouble):
(JSC::JSValueOperand::fill):
(JSC::JSValueOperand::tagGPR):
(JSC::JSValueOperand::payloadGPR):
(JSC::JSValueOperand::fpr):
(JSC::GPRTemporary::~GPRTemporary):
(JSC::GPRTemporary::gpr):
(JSC::GPRResult2::GPRResult2):
* dfg/DFGJITCodeGenerator32_64.cpp: Added.
(JSC::DFG::JITCodeGenerator::clearGenerationInfo):
(JSC::DFG::JITCodeGenerator::fillInteger):
(JSC::DFG::JITCodeGenerator::fillDouble):
(JSC::DFG::JITCodeGenerator::fillJSValue):
(JSC::DFG::JITCodeGenerator::fillStorage):
(JSC::DFG::JITCodeGenerator::useChildren):
(JSC::DFG::JITCodeGenerator::isStrictInt32):
(JSC::DFG::JITCodeGenerator::isKnownInteger):
(JSC::DFG::JITCodeGenerator::isKnownNumeric):
(JSC::DFG::JITCodeGenerator::isKnownCell):
(JSC::DFG::JITCodeGenerator::isKnownNotInteger):
(JSC::DFG::JITCodeGenerator::isKnownNotNumber):
(JSC::DFG::JITCodeGenerator::isKnownBoolean):
(JSC::DFG::JITCodeGenerator::nonSpeculativeValueToNumber):
(JSC::DFG::JITCodeGenerator::nonSpeculativeValueToInt32):
(JSC::DFG::JITCodeGenerator::nonSpeculativeUInt32ToNumber):
(JSC::DFG::JITCodeGenerator::nonSpeculativeKnownConstantArithOp):
(JSC::DFG::JITCodeGenerator::nonSpeculativeBasicArithOp):
(JSC::DFG::JITCodeGenerator::nonSpeculativeArithMod):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCheckHasInstance):
(JSC::DFG::JITCodeGenerator::nonSpeculativeInstanceOf):
(JSC::DFG::JITCodeGenerator::cachedGetById):
(JSC::DFG::JITCodeGenerator::writeBarrier):
(JSC::DFG::JITCodeGenerator::cachedPutById):
(JSC::DFG::JITCodeGenerator::cachedGetMethod):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranchNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompareNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranch):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompare):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
(JSC::DFG::JITCodeGenerator::emitBranch):
(JSC::DFG::JITCodeGenerator::nonSpeculativeLogicalNot):
(JSC::DFG::JITCodeGenerator::emitCall):
(JSC::DFG::JITCodeGenerator::speculationCheck):
(JSC::DFG::dataFormatString):
(JSC::DFG::JITCodeGenerator::dump):
(JSC::DFG::JITCodeGenerator::checkConsistency):
(JSC::DFG::GPRTemporary::GPRTemporary):
(JSC::DFG::FPRTemporary::FPRTemporary):
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::tagForGlobalVar):
(JSC::DFG::JITCompiler::payloadForGlobalVar):
(JSC::DFG::JITCompiler::appendCallWithExceptionCheck):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
(JSC::DFG::JITCompiler::boxDouble):
(JSC::DFG::JITCompiler::unboxDouble):
(JSC::DFG::JITCompiler::addPropertyAccess):
(JSC::DFG::JITCompiler::PropertyAccessRecord::PropertyAccessRecord):
* dfg/DFGJITCompiler32_64.cpp: Added.
(JSC::DFG::JITCompiler::fillNumericToDouble):
(JSC::DFG::JITCompiler::fillInt32ToInteger):
(JSC::DFG::JITCompiler::fillToJS):
(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::jitAssertIsInt32):
(JSC::DFG::JITCompiler::jitAssertIsJSInt32):
(JSC::DFG::JITCompiler::jitAssertIsJSNumber):
(JSC::DFG::JITCompiler::jitAssertIsJSDouble):
(JSC::DFG::JITCompiler::jitAssertIsCell):
(JSC::DFG::JITCompiler::emitCount):
(JSC::DFG::JITCompiler::setSamplingFlag):
(JSC::DFG::JITCompiler::clearSamplingFlag):
* dfg/DFGJITCompilerInlineMethods.h: Added.
(JSC::DFG::JITCompiler::emitLoadTag):
(JSC::DFG::JITCompiler::emitLoadPayload):
(JSC::DFG::JITCompiler::emitLoad):
(JSC::DFG::JITCompiler::emitLoad2):
(JSC::DFG::JITCompiler::emitLoadDouble):
(JSC::DFG::JITCompiler::emitLoadInt32ToDouble):
(JSC::DFG::JITCompiler::emitStore):
(JSC::DFG::JITCompiler::emitStoreInt32):
(JSC::DFG::JITCompiler::emitStoreCell):
(JSC::DFG::JITCompiler::emitStoreBool):
(JSC::DFG::JITCompiler::emitStoreDouble):
* dfg/DFGNode.h:
* dfg/DFGOperations.cpp:
* dfg/DFGRepatch.cpp:
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::tryCachePutByID):
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueRecovery::inGPR):
(JSC::DFG::ValueRecovery::inPair):
(JSC::DFG::ValueRecovery::tagGPR):
(JSC::DFG::ValueRecovery::payloadGPR):
* dfg/DFGSpeculativeJIT32_64.cpp: Added.
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::ValueSource::dump):
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::OSRExit::dump):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::convertToDouble):
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::initializeVariableTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* runtime/JSValue.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 24 Sep 2011 04:23:07 +0000 (04:23 +0000)]
Set eol-style to native on many source files where it was unset.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sat, 24 Sep 2011 03:51:55 +0000 (03:51 +0000)]
Canvas security checks show up on HTML5GamingTest benchmark
https://bugs.webkit.org/show_bug.cgi?id=68743
Reviewed by Oliver Hunt.
Prior to this patch, the canvas security checks took as much as 4% of
the time on the HTML5GamingTest benchmark:
http://craftymind.com/factory/guimark2/HTML5GamingTest.html
This patch uses a couple of AtomicStrings and shuffles around the order
of the security check to take this down to around 0.1% (which is near
the noise floor of what I can measure with my profiler).
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 03:24:35 +0000 (03:24 +0000)]
Source/WebCore: Unwarranted DOM Exception when canvas2D drawImage is called with src
rect out of bounds
https://bugs.webkit.org/show_bug.cgi?id=65709
Patch by Justin Novosad <junov@chromium.org> on 2011-09-23
Reviewed by Oliver Hunt.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
Return early without throwing an exception if source rectangle is out of
bounds to match the spec.
LayoutTests: Unwarranted DOM Exception when canvas2D drawImage is called with src
rect is out of bounds
https://bugs.webkit.org/show_bug.cgi?id=65709
Patch by Justin Novosad <junov@chromium.org> on 2011-09-23
Reviewed by Oliver Hunt.
* fast/canvas/drawImage-with-invalid-args-expected.txt:
* fast/canvas/drawImage-with-invalid-args.html:
This test covers (among other things) cases where the source rectangle is
_completely_ outside the bounds of the source image. It was modified to no
longer expect DOM exceptions
* platform/chromium/test_expectations.txt:
Out-dated test canvas/philip/tests/2d.drawImage.outsidesource.html
is now expected to fail
* platform/mac/Skipped:
Skipping canvas/philip/tests/2d.drawImage.outsidesource.html
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 03:20:53 +0000 (03:20 +0000)]
Printing of notImplemented() when logging enabled.
https://bugs.webkit.org/show_bug.cgi?id=64590
Printing of notImplemented() method was enabled on Debug builds only.
Now it is enabled when logging is enabled.
Patch by Lukasz Slachciak <l.slachciak@samsung.com> on 2011-09-23
Reviewed by Oliver Hunt.
No new tests because there is no new functionality.
* platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Sat, 24 Sep 2011 03:12:33 +0000 (03:12 +0000)]
[Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
https://bugs.webkit.org/show_bug.cgi?id=68730
Reviewed by James Robinson.
Source/WebCore:
Adds a missing contentsResized() call in ScrollView::setFrameRect.
Test: fast/dom/Window/window-resize-contents.html
* platform/ScrollView.cpp:
(WebCore::ScrollView::setFrameRect):
LayoutTests:
Test for resizing of the window triggering resizing of contents.
* fast/dom/Window/window-resize-contents-expected.txt: Added.
* fast/dom/Window/window-resize-contents.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 03:12:24 +0000 (03:12 +0000)]
[CMake] Detect amd64 as a valid 64-bit architecture.
https://bugs.webkit.org/show_bug.cgi?id=67481
Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-23
Reviewed by Oliver Hunt.
Some operating systems (generally the BSDs) use amd64 instead of x86_64
to report they're running on 64 bits, so consider it a valid value.
* Source/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 24 Sep 2011 02:07:58 +0000 (02:07 +0000)]
wtf/BitVector.h has a variety of bugs which manifest when the
vector grows beyond 63 bits
https://bugs.webkit.org/show_bug.cgi?id=68746
Reviewed by Oliver Hunt.
Out-of-lined slow path code in BitVector so that not every user
of CodeBlock ends up having to compile it. Fixed a variety of
index computation and size computation bugs.
I have not seen these issues manifest themselves, but they are
blocking a patch that uses BitVector more aggressively.
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/BitVector.cpp: Added.
(BitVector::BitVector):
(BitVector::operator=):
(BitVector::resize):
(BitVector::clearAll):
(BitVector::OutOfLineBits::create):
(BitVector::OutOfLineBits::destroy):
(BitVector::resizeOutOfLine):
* wtf/BitVector.h:
(WTF::BitVector::ensureSize):
(WTF::BitVector::get):
(WTF::BitVector::set):
(WTF::BitVector::clear):
(WTF::BitVector::byteCount):
(WTF::BitVector::OutOfLineBits::numWords):
(WTF::BitVector::OutOfLineBits::bits):
(WTF::BitVector::outOfLineBits):
* wtf/CMakeLists.txt:
* wtf/wtf.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Sat, 24 Sep 2011 01:25:22 +0000 (01:25 +0000)]
Add ENABLE_MUTATION_OBSERVERS feature flag
https://bugs.webkit.org/show_bug.cgi?id=68732
Reviewed by Ojan Vafai.
This flag will guard an implementation of the "Mutation Observers" proposed in
http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
.:
* configure.ac:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
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@95894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Sat, 24 Sep 2011 01:19:56 +0000 (01:19 +0000)]
De-virtualize JSCell::getJSNumber
https://bugs.webkit.org/show_bug.cgi?id=68651
Reviewed by Oliver Hunt.
Added a new JSType to check whether or not something is a
NumberObject (which includes NumberPrototype) in TypeInfo::isNumberObject because there's not
currently a better way to determine whether something is indeed a NumberObject.
Also de-virtualized JSCell::getJSNumber, having it check the TypeInfo
for whether the object is a NumberObject or not. This patch is part of
the larger process of de-virtualizing JSCell.
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* runtime/JSCell.cpp:
(JSC::JSCell::getJSNumber):
* runtime/JSCell.h:
(JSC::JSValue::getJSNumber):
* runtime/JSType.h:
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::isNumberObject):
* runtime/JSValue.h:
* runtime/NumberObject.cpp:
(JSC::NumberObject::getJSNumber):
* runtime/NumberObject.h:
(JSC::NumberObject::createStructure):
* runtime/NumberPrototype.h:
(JSC::NumberPrototype::createStructure):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Sat, 24 Sep 2011 01:12:29 +0000 (01:12 +0000)]
Rebaseline fast/ruby/ruby-text-before-after-content.html for Chromium Mac.
Mark media/controls-right-click-on-timebar.html as flaky.
* platform/chromium-cg-mac-leopard/fast/ruby/ruby-text-before-after-content-expected.png: Added.
* platform/chromium-cg-mac-leopard/fast/ruby/ruby-text-before-after-content-expected.txt: Added.
* platform/chromium-mac/fast/ruby/ruby-text-before-after-content-expected.png: Added.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jcivelli@chromium.org [Sat, 24 Sep 2011 00:44:37 +0000 (00:44 +0000)]
Making some WebBlob methods exportable.
This is needed by the shared lib chromium build.
https://bugs.webkit.org/show_bug.cgi?id=68709
Reviewed by Darin Fisher.
* public/WebBlob.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 24 Sep 2011 00:23:55 +0000 (00:23 +0000)]
.: Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
https://bugs.webkit.org/show_bug.cgi?id=68198
Patch by Varun Jain <varunjain@google.com> on 2011-09-23
Reviewed by Dimitri Glazkov.
* Source/autotools/symbols.filter:
Source/WebCore: Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
https://bugs.webkit.org/show_bug.cgi?id=68198
Patch by Varun Jain <varunjain@google.com> on 2011-09-23
Reviewed by Dimitri Glazkov.
Tests: fast/dom/scroll-element-to-rect-centered.html
fast/dom/scroll-element-to-rect.html
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::scrollElementToRect):
* page/FrameView.h:
* testing/Internals.cpp:
(WebCore::Internals::scrollElementToRect):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit/chromium: Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
https://bugs.webkit.org/show_bug.cgi?id=68198
Patch by Varun Jain <varunjain@google.com> on 2011-09-23
Reviewed by Dimitri Glazkov.
* public/WebView.h:
(WebKit::WebView::scrollFocusedNodeIntoRect):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
Source/WebKit2: Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
https://bugs.webkit.org/show_bug.cgi?id=68198
Patch by Varun Jain <varunjain@google.com> on 2011-09-23
Reviewed by Dimitri Glazkov.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
LayoutTests: Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
https://bugs.webkit.org/show_bug.cgi?id=68198
Patch by Varun Jain <varunjain@google.com> on 2011-09-23
Reviewed by Dimitri Glazkov.
* fast/dom/scroll-element-to-rect-centered-expected.txt: Added.
* fast/dom/scroll-element-to-rect-centered.html: Added.
* fast/dom/scroll-element-to-rect-expected.txt: Added.
* fast/dom/scroll-element-to-rect.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Sat, 24 Sep 2011 00:07:11 +0000 (00:07 +0000)]
Unreviewed, rolling out r95860.
http://trac.webkit.org/changeset/95860
https://bugs.webkit.org/show_bug.cgi?id=68648
Breaks overhang rendering on Chromium Mac
Source/WebCore:
* platform/chromium/ScrollbarThemeChromium.cpp:
* platform/chromium/ScrollbarThemeChromium.h:
* platform/chromium/ScrollbarThemeChromiumMac.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
(WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
Source/WebKit/chromium:
* features.gypi:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 23 Sep 2011 23:43:38 +0000 (23:43 +0000)]
Add -webkit-filter to CSSPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=68675
Reviewed by Simon Fraser.
Add property and rudimentary parsing for -webkit-filter. The
property value isn't preserved anywhere yet. Add
stub definition for computed style.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFilter):
* css/CSSParser.h:
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
New test for rudimentary parsing of -webkit-filter.
Since currently only the Apple port enables the
feature, add this new test to the platform skip lists
for GTK, QT and Chromium.
* css3/filters/filter-property-expected.txt: Added.
* css3/filters/filter-property.html: Added.
* css3/filters/script-tests/TEMPLATE.html: Added.
* css3/filters/script-tests/filter-property.js: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 23 Sep 2011 23:28:07 +0000 (23:28 +0000)]
Resolve opcodes should have value profiling.
https://bugs.webkit.org/show_bug.cgi?id=68723
Reviewed by Oliver Hunt.
This adds value profiling to all forms of op_resolve in the
old JIT, and patches that information into the DFG along with
performing the appropriate type propagation.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::predict):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveGlobalDataIndex):
(JSC::DFG::Node::hasPrediction):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_resolve):
(JSC::JIT::emit_op_resolve_base):
(JSC::JIT::emit_op_resolve_skip):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emitSlow_op_resolve_global):
(JSC::JIT::emit_op_resolve_with_base):
(JSC::JIT::emit_op_resolve_with_this):
(JSC::JIT::emitSlow_op_resolve_global_dynamic):
* jit/JITStubCall.h:
(JSC::JITStubCall::callWithValueProfiling):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 23:25:01 +0000 (23:25 +0000)]
Remove preserves3D() from CCLayerDelegate, replacing it by setting the
value explicitly after creating a layer, or setting its delegate.
https://bugs.webkit.org/show_bug.cgi?id=68295
Patch by Antoine Labour <piman@chromium.org> on 2011-09-23
Reviewed by James Robinson.
Covered by compositing/ layeout tests.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setPreserves3D):
(WebCore::LayerChromium::preserves3D):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 23:24:17 +0000 (23:24 +0000)]
chrome.dll!WebCore::ApplyStyleCommand::applyBlockStyle ReadAV@NULL (
64db547804532a84be2e53721e499e9e)
https://bugs.webkit.org/show_bug.cgi?id=51639
Patch by Jay Soffian <jaysoffian@gmail.com> on 2011-09-23
Reviewed by Tony Chang.
Add repro for a crash inside WebCore::ApplyStyleCommand::applyBlockStyle. Fixed by r94840.
* editing/style/justify-without-enclosing-block-expected.txt: Added.
* editing/style/justify-without-enclosing-block.xhtml: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 23:19:14 +0000 (23:19 +0000)]
Fix windows build.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 23 Sep 2011 23:17:37 +0000 (23:17 +0000)]
Note flaky test.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 23 Sep 2011 23:16:31 +0000 (23:16 +0000)]
Versioning.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 23:12:16 +0000 (23:12 +0000)]
Add a few more possiblities to the test cases for xss denial.
https://bugs.webkit.org/show_bug.cgi?id=47120
Patch by Tom Sepez <tsepez@chromium.org> on 2011-09-23
Reviewed by Adam Barth.
* http/tests/security/xss-DENIED-document-baseURI-javascript-with-spaces-expected.txt: Added.
* http/tests/security/xss-DENIED-document-baseURI-javascript-with-spaces.html: Added.
* http/tests/security/xss-DENIED-window-open-javascript-url-with-spaces-expected.txt: Added.
* http/tests/security/xss-DENIED-window-open-javascript-url-with-spaces.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jchaffraix@webkit.org [Fri, 23 Sep 2011 23:11:53 +0000 (23:11 +0000)]
Implicit conversion double to float in ShadowBlur::adjustBlurRadius
https://bugs.webkit.org/show_bug.cgi?id=68722
Reviewed by Simon Fraser.
* platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
conversions.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 23:02:02 +0000 (23:02 +0000)]
[WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
https://bugs.webkit.org/show_bug.cgi?id=68556
Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
Source/WebKit2:
Patch by Chang Shu <cshu@webkit.org> on 2011-09-23
Reviewed by Darin Adler.
* Shared/API/c/WKGeometry.h:
(operator==):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
Tools:
Patch by Chang Shu <cshu@webkit.org> on 2011-09-23
Reviewed by Darin Adler.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::EventSenderProxy::leapForward):
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::getMouseButton):
(WTR::getModifiers):
(WTR::EventSenderProxy::updateClickCountForButton):
(WTR::EventSenderProxy::createGraphicsSceneMouseEvent):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::leapForward):
(WTR::EventSenderProxy::sendOrQueueEvent):
(WTR::EventSenderProxy::replaySavedEvents):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::postEvent):
* WebKitTestRunner/qt/WebKitTestRunner.pro:
LayoutTests:
Unskip passed tests.
Patch by Chang Shu <cshu@webkit.org> on 2011-09-23
Reviewed by Darin Adler.
* platform/qt-wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 23 Sep 2011 22:59:18 +0000 (22:59 +0000)]
Source/JavaScriptCore: Strict mode does not work in non-trivial nested functions.
https://bugs.webkit.org/show_bug.cgi?id=68740
Reviewed by Oliver Hunt.
Function-info caching does not preserve all state that it should.
* parser/JSParser.cpp:
(JSC::JSParser::Scope::saveFunctionInfo):
(JSC::JSParser::Scope::restoreFunctionInfo):
(JSC::JSParser::parseFunctionInfo):
* parser/SourceProviderCacheItem.h:
LayoutTests: gh@apple.com>
Strict mode does not work in non-trivial nested functions.
https://bugs.webkit.org/show_bug.cgi?id=68740
Reviewed by Oliver Hunt.
Function-info caching does not preserve all state that it should.
* fast/js/nested-functions-expected.txt: Added.
* fast/js/nested-functions.html: Added.
* fast/js/script-tests/nested-functions.js: Added.
(runTests.test1):
(runTests.test2):
(runTests.test3):
(runTests):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 23 Sep 2011 22:58:34 +0000 (22:58 +0000)]
ValueToDouble handling in prediction propagation should be ASSERT_NOT_REACHED
https://bugs.webkit.org/show_bug.cgi?id=68724
Reviewed by Oliver Hunt.
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 22:47:24 +0000 (22:47 +0000)]
[chromium] Make the layout test script's kill timeout proportional to --time-out-ms
https://bugs.webkit.org/show_bug.cgi?id=68026
Patch by Lei Zhang <thestig@chromium.org> on 2011-09-23
Reviewed by Dirk Pranke.
* Scripts/webkitpy/layout_tests/port/chromium.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 23 Sep 2011 22:45:17 +0000 (22:45 +0000)]
<rdar://problem/
10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
https://bugs.webkit.org/show_bug.cgi?id=68737
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/text/combining-character-sequence-fallback-crash.html
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
number of FontData instances in the fallback list rather than the number of font families in the
font description.
LayoutTests:
* fast/text/combining-character-sequence-fallback-crash-expected.txt: Added.
* fast/text/combining-character-sequence-fallback-crash.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Fri, 23 Sep 2011 22:44:19 +0000 (22:44 +0000)]
[chromium] Remove WEBWIDGET_HAS_ANIMATE_CHANGES #define
https://bugs.webkit.org/show_bug.cgi?id=68720
Reviewed by James Robinson.
References to this macro were removed in http://crrev.com/102314.
* public/WebWidget.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 22:41:46 +0000 (22:41 +0000)]
Build fix.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 22:34:17 +0000 (22:34 +0000)]
[Chromium] Crash in WebCore::DatabaseObserver
https://bugs.webkit.org/show_bug.cgi?id=67805
Patch by Stephen Chenney <schenney@chromium.org> on 2011-09-23
Reviewed by David Levin.
* src/DatabaseObserver.cpp:
(WebCore::DatabaseObserver::canEstablishDatabase): Added a check for a
null frame or page, and return false if null. Investigated
changing the fall-through return value to false but decided against
it given the way the code is used and existing default values for
related code. Reproduction and testing depends on having a document
with no frame or no page, which sometimes happens in practice but is
hard to construct explicitly.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 22:28:55 +0000 (22:28 +0000)]
[Chromium] Fix CSS 3D corner anti-aliasing.
https://bugs.webkit.org/show_bug.cgi?id=68087
Patch by David Reveman <reveman@chromium.org> on 2011-09-23
Reviewed by James Robinson.
Source/WebCore:
Render sharp corners more correctly by adding bounding box
edges to anti-aliasing shaders.
Test: platform/chromium/compositing/3d-corners.html
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
(WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
(WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawLayer):
(WebCore::CCRenderSurface::drawSurface):
* platform/graphics/chromium/cc/CCRenderSurface.h:
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):
(WebCore::CCTiledLayerImpl::drawTiles):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
LayoutTests:
Add a test to check sharp corner rendering of CSS 3D transformed
elements.
* platform/chromium-gpu-linux/compositing/flat-with-transformed-child-expected.checksum: Removed.
* platform/chromium-gpu-linux/compositing/flat-with-transformed-child-expected.png: Added.
* platform/chromium-gpu-linux/platform/chromium/compositing/3d-corners-expected.png: Added.
* platform/chromium-gpu-linux/platform/chromium/compositing/backface-visibility-transformed-expected.png:
* platform/chromium-gpu-linux/platform/chromium/compositing/perpendicular-layer-sorting-expected.png:
* platform/chromium/compositing/3d-corners-expected.txt: Added.
* platform/chromium/compositing/3d-corners.html: Added.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Fri, 23 Sep 2011 22:22:20 +0000 (22:22 +0000)]
Add failing expectations for tests added by r95852.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 22:13:10 +0000 (22:13 +0000)]
DFG implementation of PutScopedVar corrupts register allocation
https://bugs.webkit.org/show_bug.cgi?id=68735
Patch by Filip Pizlo <fpizlo@apple.com> on 2011-09-23
Reviewed by Oliver Hunt.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 23 Sep 2011 22:10:57 +0000 (22:10 +0000)]
Updating now-passing Layout test.
Rubber stamped by geoff garen
* fast/js/Object-getOwnPropertyNames-expected.txt:
* fast/js/script-tests/Object-getOwnPropertyNames.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 22:05:24 +0000 (22:05 +0000)]
Make write barriers actually do something when enabled
https://bugs.webkit.org/show_bug.cgi?id=68717
Reviewed by Geoffrey Garen.
../../../../Volumes/Data/git/WebKit/OpenSource/Source/JavaScriptCore:
Add a basic card marking style write barrier to JSC (currently
turned off). This requires two scratch registers in the JIT
so there was some register re-arranging to satisfy that requirement.
Happily this produced a minor perf bump in sunspider (~0.5%).
Turning the barriers on causes an overall regression of around 1.5%
* JavaScriptCore.exp:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::store8):
* assembler/X86Assembler.h:
(JSC::X86Assembler::movb_i8m):
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownNotCell):
(JSC::DFG::JITCodeGenerator::writeBarrier):
(JSC::DFG::JITCodeGenerator::markCellCard):
(JSC::DFG::JITCodeGenerator::cachedPutById):
* dfg/DFGJITCodeGenerator.h:
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCachePutByID):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* heap/CardSet.h: Added.
(JSC::CardSet::CardSet):
(JSC::::cardForAtom):
(JSC::::cardMarkedForAtom):
(JSC::::markCardForAtom):
* heap/Heap.cpp:
* heap/Heap.h:
(JSC::Heap::addressOfCardFor):
(JSC::Heap::writeBarrierFastCase):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::setDirtyObject):
(JSC::MarkedBlock::addressOfCardFor):
(JSC::MarkedBlock::offsetOfCards):
* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emitWriteBarrier):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_put_global_var):
../../../../Volumes/Data/git/WebKit/OpenSource/Source/WebCore:
Add a forwarding header, and fix an evaluation ordering
issue that shows up if you try to use write barriers.
* ForwardingHeaders/heap/CardSet.h: Added.
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 21:59:51 +0000 (21:59 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68077
SH4 assemblers doesn't refer to executable memory handle.
Patch by Thouraya ANDOLSI <thouraya.andolsi@st.com> on 2011-09-23
Reviewed by Gavin Barraclough.
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branch8):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::executableCopy):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Fri, 23 Sep 2011 21:51:58 +0000 (21:51 +0000)]
Avoid updating compositing state during paint
https://bugs.webkit.org/show_bug.cgi?id=68727
Reviewed by Simon Fraser.
We shouldn't update our compositing state in the middle of a paint. The call to
updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderLayerCompositor.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Fri, 23 Sep 2011 21:51:31 +0000 (21:51 +0000)]
Unreviewed. Chromium rebaselines for r95857.
* platform/chromium-linux/fast/ruby/ruby-text-before-after-content-expected.png: Added.
* platform/chromium-win/fast/ruby/ruby-text-before-after-content-expected.png: Added.
* platform/chromium-win/fast/ruby/ruby-text-before-after-content-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 23 Sep 2011 21:48:02 +0000 (21:48 +0000)]
occasional crash in Chromium in dispatching keyEvent
https://bugs.webkit.org/show_bug.cgi?id=67941
Patch by Scott Graham <scottmg@chromium.org> on 2011-09-23
Reviewed by Darin Fisher.
Use focusedWebCoreNode() to handle null document for frame when
retrieving focused node in handling keyEvent.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::keyEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fsamuel@chromium.org [Fri, 23 Sep 2011 21:39:52 +0000 (21:39 +0000)]
Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
https://bugs.webkit.org/show_bug.cgi?id=68648
Reviewed by Dimitri Glazkov.
Source/WebCore:
No new tests because there's no change in functionality (yet).
* platform/chromium/ScrollbarThemeChromium.cpp:
(WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
(WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
(WebCore::ScrollbarThemeChromium::paintOverhangAreas):
* platform/chromium/ScrollbarThemeChromium.h:
* platform/chromium/ScrollbarThemeChromiumMac.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
Source/WebKit/chromium:
* features.gypi:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Fri, 23 Sep 2011 21:35:30 +0000 (21:35 +0000)]
remove physical flex-flow values to match the updated spec
https://bugs.webkit.org/show_bug.cgi?id=68728
Reviewed by Tony Chang.
Source/WebCore:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFlexFlow):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyleConstants.h:
LayoutTests:
* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/script-tests/css-properties.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Fri, 23 Sep 2011 21:01:01 +0000 (21:01 +0000)]
Source/WebCore: Style not updated for :before, :after content
in ruby text.
https://bugs.webkit.org/show_bug.cgi?id=68625
Reviewed by Dave Hyatt.
Test: fast/ruby/ruby-text-before-after-content.html
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::updateBeforeAfterContent):
* rendering/RenderRubyText.h:
LayoutTests: Style not updated for :before, :after content
in ruby text.
https://bugs.webkit.org/show_bug.cgi?id=68625
Reviewed by Dave Hyatt.
* fast/ruby/ruby-text-before-after-content-expected.png: Added.
* fast/ruby/ruby-text-before-after-content-expected.txt: Added.
* fast/ruby/ruby-text-before-after-content.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Fri, 23 Sep 2011 20:32:18 +0000 (20:32 +0000)]
refactor RenderFlexibleBox to use flex-flow aware methods
https://bugs.webkit.org/show_bug.cgi?id=68665
Reviewed by Tony Chang.
This is just a refactor. Just move the all the code that needs to
be flow aware into helper functions. Actually making them flow-aware
can be done in a followup patch.
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hasOrthogonalFlow):
(WebCore::RenderFlexibleBox::isHorizontalFlow):
(WebCore::RenderFlexibleBox::isLeftToRightFlow):
(WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
(WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
(WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
(WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
(WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
(WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
(WebCore::RenderFlexibleBox::flowAwareBorderStart):
(WebCore::RenderFlexibleBox::flowAwareBorderBefore):
(WebCore::RenderFlexibleBox::flowAwareBorderAfter):
(WebCore::RenderFlexibleBox::flowAwarePaddingStart):
(WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
(WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
(WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
(WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
(WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
(WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
(WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
(WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
(WebCore::RenderFlexibleBox::marginStartStyleForChild):
(WebCore::RenderFlexibleBox::marginEndStyleForChild):
(WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
(WebCore::RenderFlexibleBox::layoutInlineDirection):
(WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
(WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
(WebCore::RenderFlexibleBox::setLogicalOverrideSize):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
* rendering/RenderFlexibleBox.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 23 Sep 2011 20:25:11 +0000 (20:25 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=68719
Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
columns, when regions have a non-uniform height, we may need to push through multiple regions
in order to find one that fits.
Added an optimization for quickly noticing if regions do have a uniform height so that we can
treat them like columns and pages if so.
Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
the new tests.
Reviewed by Anders Carlsson.
Source/WebCore:
Added new tests in fast/regions.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForUnsplittableChild):
(WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
(WebCore::RenderBlock::adjustLinePositionForPagination):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::matchedEndLine):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::layout):
* rendering/RenderFlowThread.h:
LayoutTests:
* fast/regions/webkit-flow-float-pushed-to-last-region.html: Added.
* fast/regions/webkit-flow-float-unable-to-push.html: Added.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Added.
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png: Added.
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 20:21:41 +0000 (20:21 +0000)]
PutScopedVar nodes should report that it has a var number
https://bugs.webkit.org/show_bug.cgi?id=68721
Reviewed by Anders Carlsson.
Another assertion fix.
* dfg/DFGNode.h:
(JSC::DFG::Node::hasVarNumber):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 23 Sep 2011 20:11:05 +0000 (20:11 +0000)]
Move WebHitTestResult files to Shared/ in the Xcode project
https://bugs.webkit.org/show_bug.cgi?id=68718
Reviewed by Sam Weinig.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jchaffraix@webkit.org [Fri, 23 Sep 2011 19:56:21 +0000 (19:56 +0000)]
Redrawing dirty parts of a large table is very slow
https://bugs.webkit.org/show_bug.cgi?id=64546
Patch by Konstantin Scheglov <scheglov@google.com> on 2011-09-23
Reviewed by David Hyatt.
Source/WebCore:
Move CollapsedBorderValues into RenderTable.h.
Calculate collapsed borders only once and re-use during paintObject().
Invalidate cache when cell, row, row group, col, col group or table border is changed.
Tests: fast/table/border-collapsing/cached-cell-append.html
fast/table/border-collapsing/cached-cell-remove.html
fast/table/border-collapsing/cached-change-cell-border-color.html
fast/table/border-collapsing/cached-change-cell-border-width.html
fast/table/border-collapsing/cached-change-col-border-color.html
fast/table/border-collapsing/cached-change-col-border-width.html
fast/table/border-collapsing/cached-change-colgroup-border-color.html
fast/table/border-collapsing/cached-change-colgroup-border-width.html
fast/table/border-collapsing/cached-change-row-border-color.html
fast/table/border-collapsing/cached-change-row-border-width.html
fast/table/border-collapsing/cached-change-table-border-color.html
fast/table/border-collapsing/cached-change-table-border-width.html
fast/table/border-collapsing/cached-change-tbody-border-color.html
fast/table/border-collapsing/cached-change-tbody-border-width.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
(WebCore::RenderTable::layout): Invalidate cache if layout changed.
(WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
(WebCore::RenderTable::paintObject): Use cached collapsed borders.
* rendering/RenderTable.h:
(WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
(WebCore::RenderTable::currentBorderValue): Rename to use word "value".
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
Rename to use word "value".
(WebCore::addBorderStyle):
(WebCore::RenderTableCell::collectBorderValues):
(WebCore::compareBorderValuesForQSort):
(WebCore::RenderTableCell::sortBorderValues):
(WebCore::RenderTableCell::paintCollapsedBorder):
* rendering/RenderTableCell.h:
If border changed, invalidate cache.
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::styleDidChange):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleDidChange):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::styleDidChange):
LayoutTests:
Tests for invalidating collapsed borders cache.
* fast/table/border-collapsing/cached-cell-append-expected.png: Added.
* fast/table/border-collapsing/cached-cell-append-expected.txt: Added.
* fast/table/border-collapsing/cached-cell-append.html: Added.
* fast/table/border-collapsing/cached-cell-remove-expected.png: Added.
* fast/table/border-collapsing/cached-cell-remove-expected.txt: Added.
* fast/table/border-collapsing/cached-cell-remove.html: Added.
* fast/table/border-collapsing/cached-change-cell-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-cell-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-cell-border-color.html: Added.
* fast/table/border-collapsing/cached-change-cell-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-cell-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-cell-border-width.html: Added.
* fast/table/border-collapsing/cached-change-col-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-col-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-col-border-color.html: Added.
* fast/table/border-collapsing/cached-change-col-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-col-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-col-border-width.html: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-color.html: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-colgroup-border-width.html: Added.
* fast/table/border-collapsing/cached-change-row-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-row-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-row-border-color.html: Added.
* fast/table/border-collapsing/cached-change-row-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-row-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-row-border-width.html: Added.
* fast/table/border-collapsing/cached-change-table-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-table-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-table-border-color.html: Added.
* fast/table/border-collapsing/cached-change-table-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-table-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-table-border-width.html: Added.
* fast/table/border-collapsing/cached-change-tbody-border-color-expected.png: Added.
* fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt: Added.
* fast/table/border-collapsing/cached-change-tbody-border-color.html: Added.
* fast/table/border-collapsing/cached-change-tbody-border-width-expected.png: Added.
* fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt: Added.
* fast/table/border-collapsing/cached-change-tbody-border-width.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 19:48:26 +0000 (19:48 +0000)]
Add a bunch of unhandled node types to the propagator
https://bugs.webkit.org/show_bug.cgi?id=68716
Reviewed by Darin Adler.
Remove the ASSERT_NOT_REACHED() default for debug builds in the
prediction propagator, this way unhandled nodes will just cause
compile time failures rather than failing at some point in the
future.
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Fri, 23 Sep 2011 19:46:50 +0000 (19:46 +0000)]
update layout_tests to account for new default of use_skia=1
https://bugs.webkit.org/show_bug.cgi?id=68698
Rolls Source/WebKit/chromium/DEPS to pick up new default use_skia=1
from http://src.chromium.org/viewvc/chrome?view=rev&revision=102532
(Chromium-on-Mac now uses the Skia graphics library instead of
Core Graphics).
Also updates layout_test code to work with that change.
Patch by Elliot Poger <epoger@google.com> on 2011-09-23
Reviewed by Mihai Parparita.
Source/WebKit/chromium:
* DEPS:
Tools:
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Fri, 23 Sep 2011 19:40:09 +0000 (19:40 +0000)]
Add static version of JSCell::visitChildren
https://bugs.webkit.org/show_bug.cgi?id=68404
Reviewed by Darin Adler.
.:
In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods. This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo. We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.
* Source/autotools/symbols.filter:
Source/JavaScriptCore:
In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods. This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo. We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::visitChildrenVirtual):
(JSC::JSCallbackObject::visitChildren):
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::visitChildrenVirtual):
(JSC::DebuggerActivation::visitChildren):
* debugger/DebuggerActivation.h:
* heap/MarkStack.cpp:
(JSC::SlotVisitor::visitChildren):
(JSC::SlotVisitor::drain):
* runtime/Arguments.cpp:
(JSC::Arguments::visitChildrenVirtual):
(JSC::Arguments::visitChildren):
* runtime/Arguments.h:
* runtime/Executable.cpp:
(JSC::EvalExecutable::visitChildrenVirtual):
(JSC::EvalExecutable::visitChildren):
(JSC::ProgramExecutable::visitChildrenVirtual):
(JSC::ProgramExecutable::visitChildren):
(JSC::FunctionExecutable::visitChildrenVirtual):
(JSC::FunctionExecutable::visitChildren):
* runtime/Executable.h:
* runtime/GetterSetter.cpp:
(JSC::GetterSetter::visitChildrenVirtual):
(JSC::GetterSetter::visitChildren):
* runtime/GetterSetter.h:
* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildrenVirtual):
(JSC::JSActivation::visitChildren):
* runtime/JSActivation.h:
* runtime/JSArray.cpp:
(JSC::JSArray::visitChildrenVirtual):
(JSC::JSArray::visitChildren):
* runtime/JSArray.h:
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::visitChildrenVirtual):
(JSC::JSBoundFunction::visitChildren):
* runtime/JSBoundFunction.h:
* runtime/JSCell.h:
(JSC::JSCell::visitChildrenVirtual):
(JSC::JSCell::visitChildren):
* runtime/JSFunction.cpp:
(JSC::JSFunction::visitChildrenVirtual):
(JSC::JSFunction::visitChildren):
* runtime/JSFunction.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildrenVirtual):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
* runtime/JSObject.cpp:
(JSC::JSObject::visitChildrenVirtual):
(JSC::JSObject::visitChildren):
* runtime/JSObject.h:
(JSC::JSObject::visitChildrenDirect):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::visitChildrenVirtual):
(JSC::JSPropertyNameIterator::visitChildren):
* runtime/JSPropertyNameIterator.h:
* runtime/JSStaticScopeObject.cpp:
(JSC::JSStaticScopeObject::visitChildrenVirtual):
(JSC::JSStaticScopeObject::visitChildren):
* runtime/JSStaticScopeObject.h:
* runtime/JSWrapperObject.cpp:
(JSC::JSWrapperObject::visitChildrenVirtual):
(JSC::JSWrapperObject::visitChildren):
* runtime/JSWrapperObject.h:
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::visitChildrenVirtual):
(JSC::NativeErrorConstructor::visitChildren):
* runtime/NativeErrorConstructor.h:
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::visitChildrenVirtual):
(JSC::RegExpObject::visitChildren):
* runtime/RegExpObject.h:
* runtime/ScopeChain.cpp:
(JSC::ScopeChainNode::visitChildrenVirtual):
(JSC::ScopeChainNode::visitChildren):
* runtime/ScopeChain.h:
* runtime/Structure.cpp:
(JSC::Structure::visitChildrenVirtual):
(JSC::Structure::visitChildren):
* runtime/Structure.h:
* runtime/StructureChain.cpp:
(JSC::StructureChain::visitChildrenVirtual):
(JSC::StructureChain::visitChildren):
* runtime/StructureChain.h:
Source/JavaScriptGlue:
In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods. This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo. We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.
* UserObjectImp.cpp:
(UserObjectImp::visitChildrenVirtual):
(UserObjectImp::visitChildren):
* UserObjectImp.h:
Source/WebCore:
No new tests.
In this patch we just extract the bodies of the virtual visitChildren methods
throughout the JSCell inheritance hierarchy out into static methods, which are
now called from the virtual methods. This is an intermediate step in trying to
move the virtual-ness of visitChildren into our own custom vtable stored in
ClassInfo. We need to convert the methods to static methods in order to be
able to more easily store and refer to them in our custom vtable since normal
member methods store some implicit information in their types, making it
impossible to store them generically in ClassInfo.
* WebCore.exp.in:
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitChildrenVirtual):
(WebCore::JSAttr::visitChildren):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::visitChildrenVirtual):
(WebCore::JSAudioContext::visitChildren):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitChildrenVirtual):
(WebCore::JSCSSRule::visitChildren):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
(WebCore::JSCSSStyleDeclaration::visitChildren):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
(WebCore::JSCanvasRenderingContext::visitChildren):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildrenVirtual):
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitChildrenVirtual):
(WebCore::JSDOMWindow::visitChildren):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::visitChildrenVirtual):
(WebCore::JSDOMWindowShell::visitChildren):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSJavaScriptAudioNodeCustom.cpp:
(WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
(WebCore::JSJavaScriptAudioNode::visitChildren):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitChildrenVirtual):
(WebCore::JSMessageChannel::visitChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitChildrenVirtual):
(WebCore::JSMessagePort::visitChildren):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::visitChildrenVirtual):
(WebCore::JSNamedNodeMap::visitChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitChildrenVirtual):
(WebCore::JSNode::visitChildren):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitChildrenVirtual):
(WebCore::JSNodeFilter::visitChildren):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitChildrenVirtual):
(WebCore::JSNodeIterator::visitChildren):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitChildrenVirtual):
(WebCore::JSSVGElementInstance::visitChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitChildrenVirtual):
(WebCore::JSSharedWorker::visitChildren):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitChildrenVirtual):
(WebCore::JSStyleSheet::visitChildren):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitChildrenVirtual):
(WebCore::JSTreeWalker::visitChildren):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
(WebCore::JSWebGLRenderingContext::visitChildren):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::visitChildrenVirtual):
(WebCore::JSWorkerContext::visitChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitChildrenVirtual):
(WebCore::JSXMLHttpRequest::visitChildren):
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitChildrenVirtual):
(WebCore::JSXPathResult::visitChildren):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::visitChildrenVirtual):
(WebCore::JSTestObj::visitChildren):
* bindings/scripts/test/JS/JSTestObj.h:
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeObject::visitChildren):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
(JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
* bridge/qt/qt_runtime.h:
* workers/WorkerContext.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 23 Sep 2011 19:31:31 +0000 (19:31 +0000)]
Axe WebImageRendererFactory
https://bugs.webkit.org/show_bug.cgi?id=68715
Reviewed by Darin Adler.
../..:
Remove WebImageRendererFactory.m from the Xcode project.
* WebKit.xcodeproj/project.pbxproj:
../../mac:
Remove WebImageRendererFactory, it was used by Safari 3, many a moon ago.
* WebCoreSupport/WebImageRendererFactory.m: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 23 Sep 2011 19:24:34 +0000 (19:24 +0000)]
Add OVERRIDE to a bunch of virtual member functions on clients
https://bugs.webkit.org/show_bug.cgi?id=68712
Reviewed by Sam Weinig.
../..:
* WebKit.xcodeproj/project.pbxproj:
../../mac:
* Configurations/Base.xcconfig:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebDeviceOrientationClient.h:
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebPlatformStrategies.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 23 Sep 2011 19:19:33 +0000 (19:19 +0000)]
Node propagation doesn't handle PutScopedVar
https://bugs.webkit.org/show_bug.cgi?id=68713
Reviewed by Sam Weinig.
This was causing assertion failures.
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jochen@chromium.org [Fri, 23 Sep 2011 19:19:03 +0000 (19:19 +0000)]
Clarify wording in cross origin XSL tests and enable on all platforms
https://bugs.webkit.org/show_bug.cgi?id=68683
The condition for passing the test should be more clear now. Also, since the redirect case works on all platforms, the regular case should also work on all platforms.
Reviewed by Alexey Proskuryakov.
* http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* http/tests/security/cross-origin-xsl-BLOCKED.html:
* http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* http/tests/security/cross-origin-xsl-redirect-BLOCKED.html:
* platform/chromium-cg-mac/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/chromium-cg-mac/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/chromium-mac/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/chromium-mac/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/chromium-win/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/chromium-win/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/gtk/Skipped:
* platform/gtk/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/gtk/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/mac-wk2/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/mac-wk2/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/qt-wk2/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/qt-wk2/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/win-wk2/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
* platform/win-wk2/http/tests/security/cross-origin-xsl-redirect-BLOCKED-expected.txt:
* platform/wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 23 Sep 2011 19:17:15 +0000 (19:17 +0000)]
Make sure to define OVERRIDE and FINAL for older builds of clang.
* wtf/Compiler.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Fri, 23 Sep 2011 19:07:18 +0000 (19:07 +0000)]
Mark two more tests as flaky.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Fri, 23 Sep 2011 18:52:19 +0000 (18:52 +0000)]
Implement op_resolve_global in the DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=68704
Reviewed by Oliver Hunt.
This is performance neutral, but increases coverage.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::resolveInfoIndex):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Fri, 23 Sep 2011 18:51:04 +0000 (18:51 +0000)]
[GTK] Remove extra space at the beginning of the last line.
https://bugs.webkit.org/show_bug.cgi?id=68710
Reviewed by Gustavo Noronha Silva.
* platform/network/soup/SocketStreamHandleSoup.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihaip@chromium.org [Fri, 23 Sep 2011 18:41:33 +0000 (18:41 +0000)]
Mark a test as flaky.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Fri, 23 Sep 2011 18:24:20 +0000 (18:24 +0000)]
2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
[GTK] Fix coding style issues in ResourceRequestSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=68707
Reviewed by Xan Lopez.
This patch fixes some issues as reported by check-webkit-style.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessage):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 23 Sep 2011 18:07:33 +0000 (18:07 +0000)]
Add OVERRIDE to overrides of virtual member functions in client classes
https://bugs.webkit.org/show_bug.cgi?id=68702
Reviewed by Darin Adler.
Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
they have been removed from their respective base classes.
* Configurations/Base.xcconfig:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebContextMenuClient.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebGeolocationClient.h:
* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/WebPopupMenu.h:
* WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
* win/WebKit2Common.vsprops:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 23 Sep 2011 17:46:51 +0000 (17:46 +0000)]
Define BUILDING_ON_LION / TARGETING_LION when appropriate in Platform.h.
* wtf/Platform.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 23 Sep 2011 17:46:46 +0000 (17:46 +0000)]
Fix the build.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp: Define operator<<(std::ostream&, const WTF::String&) inside
the WTF namespace.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ademar.reis@openbossa.org [Fri, 23 Sep 2011 17:38:27 +0000 (17:38 +0000)]
Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
Include MSVC2010 in the list of compilers where incremental
build is disabled (INCREMENTAL:NO).
Change suggested by Simo Falt <simo.falt@nokia.com>, already present
in the Qt-4.8 repository where the problem was identified.
* WebCore.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95831
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Fri, 23 Sep 2011 17:03:31 +0000 (17:03 +0000)]
Unreviewed. Normalize test names.
* inspector/performance/resources/first-open-elements.html:
* inspector/performance/resources/first-open-resources.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95828
268f45cc-cd09-0410-ab3c-
d52691b4dbfc