⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 19, 2010:

10:59 PM Changeset in webkit [59822] by eric@webkit.org
  • 9 edits in trunk

2010-05-19 Vangelis Kokkevis <vangelis@chromium.org>

Reviewed by Darin Fisher.

Implementing hardware accelerated compositing of layers for Chromium.
Completely removed the existing software compositing path to replace
it with code implemented using OpenGL.
https://bugs.webkit.org/show_bug.cgi?id=38783

Tests: Covered by existing compositing tests.

  • WebCore.gyp/WebCore.gyp:
  • platform/graphics/chromium/GraphicsLayerChromium.cpp: (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): (WebCore::GraphicsLayerChromium::updateLayerDrawsContent): (WebCore::GraphicsLayerChromium::updateContentsRect):
  • platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::~LayerChromium): (WebCore::LayerChromium::updateGraphicsContext): (WebCore::LayerChromium::drawsContentUpdated): (WebCore::LayerChromium::updateContents): (WebCore::LayerChromium::setContents): (WebCore::LayerChromium::setBackingStoreSize): (WebCore::LayerChromium::setBounds): (WebCore::LayerChromium::setNeedsDisplay):
  • platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::contentsDirty): (WebCore::LayerChromium::drawsContent):
  • platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::): (WebCore::checkGLError): (WebCore::loadShader): (WebCore::loadShaderProgram): (WebCore::toGLMatrix): (WebCore::orthoMatrix): (WebCore::createLayerTexture): (WebCore::LayerRendererChromium::create): (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::~LayerRendererChromium): (WebCore::LayerRendererChromium::drawTexturedQuad): (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::getTextureId): (WebCore::LayerRendererChromium::assignTextureForLayer): (WebCore::LayerRendererChromium::freeLayerTexture): (WebCore::LayerRendererChromium::drawDebugBorder): (WebCore::LayerRendererChromium::isLayerVisible): (WebCore::LayerRendererChromium::compositeLayersRecursive): (WebCore::LayerRendererChromium::makeContextCurrent): (WebCore::LayerRendererChromium::initGL): (WebCore::LayerRendererChromium::bindCommonAttribLocation): (WebCore::LayerRendererChromium::initializeSharedGLObjects):
  • platform/graphics/chromium/LayerRendererChromium.h: (WebCore::LayerRendererChromium::):

2010-05-19 Vangelis Kokkevis <vangelis@chromium.org>

Reviewed by Darin Fisher.

Modifying WebViewImpl to support new hardware compositing for
LayerChromium layers.
https://bugs.webkit.org/show_bug.cgi?id=38783

  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::paint): (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): (WebKit::WebViewImpl::updateRootLayerContents): (WebKit::WebViewImpl::setRootLayerNeedsDisplay):
10:38 PM Changeset in webkit [59821] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-05-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Roben.

WinEWS should build Debug instead of Release
https://bugs.webkit.org/show_bug.cgi?id=39242

This is a workaround for
https://bugs.webkit.org/show_bug.cgi?id=39197
Adam Roben and Brian Weinstein believe this may
also make building faster since Debug builds
take less time to link.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:
10:36 PM Changeset in webkit [59820] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

Errk! rename op_constructor_ret as requested in review of Bug 39399.

Reviewed by Geoff Garen.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::emit_op_ret_object_or_this):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret_object_or_this):

10:35 PM Changeset in webkit [59819] by tony@chromium.org
  • 2 edits in trunk/WebKit/chromium

2010-05-19 Tony Chang <tony@chromium.org>

Reviewed by Kent Tamura.

[chromium] disable spelling suggestions if spellcheck=false
https://bugs.webkit.org/show_bug.cgi?id=39402

This is the Chromium fix for bug 25639 that was fixed in the
other ports in r59585.

  • src/ContextMenuClientImpl.cpp: (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
10:02 PM Changeset in webkit [59818] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2010-05-19 Mario Sanchez Prada <msanchez@igalia.com>

Reviewed by Darin Adler.

Misleading variable name in a11y test
https://bugs.webkit.org/show_bug.cgi?id=38465

Use a more appropriate variable name for the return
value of accessibilityController.rootElement

  • accessibility/aria-controls-with-tabs.html:
9:57 PM Changeset in webkit [59817] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

Bug 39399 - Move responsibility for verifying constructors return objects from the caller to the callee.

Reviewed by Geoff Garen.

This is a necessary step to move object creation from caller to callee.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitConstruct):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isConstructor):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionBodyNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::emit_op_constructor_ret):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_constructor_ret):

9:37 PM Changeset in webkit [59816] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-19 Andrey Kosyakov <caseq@chromium.org>

Reviewed by Timothy Hatcher.

Maintain focus on help screen while it's active.
https://bugs.webkit.org/show_bug.cgi?id=39237

9:18 PM Changeset in webkit [59815] by eric@webkit.org
  • 4 edits in trunk

2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

Crash fix in the HistoryController.

The problem was casued by a documented feature of the QWebFrame::setHtml().
The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
m_currentItem and m_previousItem are not set.

A null check was added.

[Qt] The QWebPage crashes on history.pushState().
https://bugs.webkit.org/show_bug.cgi?id=38840

  • loader/HistoryController.cpp: (WebCore::HistoryController::pushState): (WebCore::HistoryController::replaceState):

2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

Crash fix in the HistoryController.

The problem was casued by a documented feature of the QWebFrame::setHtml().
The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
m_currentItem and m_previousItem are not set.

A null check was added.

[Qt] The QWebPage crashes on history.pushState().
https://bugs.webkit.org/show_bug.cgi?id=38840

  • tests/qwebhistory/tst_qwebhistory.cpp: (tst_QWebHistory::popPushState_data): (tst_QWebHistory::popPushState):
8:24 PM Changeset in webkit [59814] by darin@chromium.org
  • 11 edits in trunk

2010-05-19 Darin Fisher <darin@chromium.org>

Revert r59790 due to failing Chromium npruntime tests.

  • bindings/v8/NPV8Object.cpp: (v8ObjectToNPObject): (npCreateV8ScriptObject): (_NPN_Invoke): (_NPN_InvokeDefault): (_NPN_Evaluate): (_NPN_EvaluateHelper): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException): (_NPN_Enumerate): (_NPN_Construct):
  • bindings/v8/NPV8Object.h:
  • bindings/v8/V8NPObject.cpp: (forgetV8ObjectForNPObject):
  • bindings/v8/V8NPObject.h:
  • bindings/v8/V8NPUtils.cpp: (convertV8ObjectToNPVariant): (getStringIdentifier):
  • bindings/v8/V8NPUtils.h:
  • bindings/v8/npruntime.cpp:
8:22 PM Changeset in webkit [59813] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix windows build II.

Reviewed by NOBODY (build fix).

8:12 PM Changeset in webkit [59812] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix windows build.

Reviewed by NOBODY (build fix).

7:38 PM Changeset in webkit [59811] by barraclough@apple.com
  • 15 edits in trunk

JavaScriptCore: Bug 39393 - JSFunction need not be a subclass of InternalFunction.

Reviewed by Oliver Hunt.

re-landing r59800.

(JSC::Interpreter::retrieveCaller):
(JSC::Interpreter::findFunctionCallFrame):

  • interpreter/Interpreter.h:
  • profiler/Profiler.cpp:

(JSC::Profiler::createCallIdentifier):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSFunction.cpp:

(JSC::):
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::name):
(JSC::JSFunction::displayName):
(JSC::JSFunction::calculatedDisplayName):

  • runtime/JSFunction.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectFunction):
(JSC::JSObject::putDirectFunctionWithoutTransition):

  • runtime/JSObject.h:
  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

WebCore: Rubber Stamped by Sam Weinig.

JSFunctions are no longer a subclass of InternalFunction.

  • bindings/js/ScriptCallStack.cpp:

(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::initialize):

  • bindings/js/ScriptCallStack.h:
7:35 PM Changeset in webkit [59810] by mrowe@apple.com
  • 9 edits
    2 copies
    3 adds in branches/safari-533-branch

Merge r59719.

7:35 PM Changeset in webkit [59809] by mrowe@apple.com
  • 3 edits in branches/safari-533-branch/WebCore

Merge r59674.

7:35 PM Changeset in webkit [59808] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/WebCore

Merge r59684.

7:35 PM Changeset in webkit [59807] by mrowe@apple.com
  • 3 edits
    1 move in branches/safari-533-branch/WebCore

Merge r59683.

7:35 PM Changeset in webkit [59806] by mrowe@apple.com
  • 2 edits
    1 add in branches/safari-533-branch/WebCore

Merge r59682.

7:35 PM Changeset in webkit [59805] by mrowe@apple.com
  • 15 edits
    1 delete in branches/safari-533-branch/WebCore

Merge r59724.

7:35 PM Changeset in webkit [59804] by mrowe@apple.com
  • 3 edits in branches/safari-533-branch/WebCore

Merge r59716.

7:34 PM Changeset in webkit [59803] by mrowe@apple.com
  • 3 edits in branches/safari-533-branch/WebCore

Merge r59680.

7:34 PM Changeset in webkit [59802] by mrowe@apple.com
  • 6 edits in branches/safari-533-branch

Merge r59678.

6:15 PM Changeset in webkit [59801] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

Reverting r59800, this b0rked stuff.

Reviewed by NOBODY (build fix).

(JSC::Interpreter::retrieveCaller):
(JSC::Interpreter::findFunctionCallFrame):

  • interpreter/Interpreter.h:
  • profiler/Profiler.cpp:

(JSC::Profiler::createCallIdentifier):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSFunction.cpp:

(JSC::):
(JSC::JSFunction::JSFunction):

  • runtime/JSFunction.h:
  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

6:01 PM Changeset in webkit [59800] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

Bug 39393 - JSFunction need not be a subclass of InternalFunction.

Reviewed by Oliver Hunt.

This may prevent us from introducing a more useful parent class to
JSFunction, e.g. a JSObject that holds an executable, which could
also reference an eval or program executable.

(JSC::Interpreter::retrieveCaller):
(JSC::Interpreter::findFunctionCallFrame):

  • interpreter/Interpreter.h:
  • profiler/Profiler.cpp:

(JSC::Profiler::createCallIdentifier):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSFunction.cpp:

(JSC::):
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::name):
(JSC::JSFunction::displayName):
(JSC::JSFunction::calculatedDisplayName):

  • runtime/JSFunction.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectFunction):
(JSC::JSObject::putDirectFunctionWithoutTransition):

  • runtime/JSObject.h:
  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

5:54 PM Changeset in webkit [59799] by victorw@chromium.org
  • 4 edits
    6 adds
    1 delete in trunk/LayoutTests

2010-05-19 Victor Wang <victorw@chromium.org>

Unreviewed. Update Chromium test expectations.

  • platform/chromium-linux/fast/multicol/layers-split-across-columns-expected.checksum: Added.
  • platform/chromium-linux/fast/multicol/layers-split-across-columns-expected.png: Added.
  • platform/chromium-mac/fast/multicol/layers-in-multicol-expected.checksum:
  • platform/chromium-mac/fast/multicol/layers-in-multicol-expected.png: Removed.
  • platform/chromium-mac/fast/multicol/layers-split-across-columns-expected.checksum: Added.
  • platform/chromium-win/fast/multicol/layers-in-multicol-expected.txt:
  • platform/chromium-win/fast/multicol/layers-split-across-columns-expected.checksum: Added.
  • platform/chromium-win/fast/multicol/layers-split-across-columns-expected.png: Added.
  • platform/chromium-win/fast/multicol/layers-split-across-columns-expected.txt: Added.
  • platform/chromium-win/fast/multicol/nested-columns-expected.txt:
5:30 PM Changeset in webkit [59798] by oliver@apple.com
  • 5 edits
    3 adds in trunk

2010-05-19 Oliver Hunt <oliver@apple.com>

Reviewed by Geoffrey Garen.

emitJumpIfNotJSCell should special case constant immediate values
https://bugs.webkit.org/show_bug.cgi?id=39392
<rdar://problem/8001324>

Make emitJumpSlowCaseIfNotJSCell special case constant immediate
values, in addition to the immediate JSCell optimisation.

Also add assertions to make sure no one else produces code that
attempts to load constants from the register file.

  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
  • jit/JSInterfaceJIT.h: (JSC::JSInterfaceJIT::emitJumpIfNotJSCell): (JSC::JSInterfaceJIT::emitLoadInt32): (JSC::JSInterfaceJIT::tagFor): (JSC::JSInterfaceJIT::payloadFor): (JSC::JSInterfaceJIT::emitLoadDouble): (JSC::JSInterfaceJIT::addressFor):
  • jit/ThunkGenerators.cpp:

2010-05-19 Oliver Hunt <oliver@apple.com>

Reviewed by Geoffrey Garen.

emitJumpIfNotJSCell should special case constant immediate values
https://bugs.webkit.org/show_bug.cgi?id=39392

Add tests for immediate constants being used where cells are expected.

  • fast/js/immediate-constant-instead-of-cell-expected.txt: Added.
  • fast/js/immediate-constant-instead-of-cell.html: Added.
  • fast/js/script-tests/immediate-constant-instead-of-cell.js: Added. ():
5:23 PM Changeset in webkit [59797] by jianli@chromium.org
  • 6 edits
    1 add in trunk

Refactor text encoding detection logic in FileReader.
https://bugs.webkit.org/show_bug.cgi?id=39131

Reviewed by Alexey Proskuryakov.

WebCore:

Changed FileReader::convertToText to call TextResourceDecoder::decode to
detect the encoding from BOM and decode the text. Though the File API
spec says that the supplied encoding should be used if it is valid, we
choose to ignore this requirement in order to be consistent with how
WebKit decodes the web content: always has the BOM override the provided
encoding.

  • html/FileReader.cpp:

(WebCore::FileReader::convertToText):

  • html/FileReader.h:

LayoutTests:

Add more test coverage for FileReader.

  • fast/files/file-reader-expected.txt:
  • fast/files/file-reader.html:
  • fast/files/resources/binary-file: Added.
5:19 PM Changeset in webkit [59796] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Not reviewed.

https://bugs.webkit.org/show_bug.cgi?id=39388

Disabling geolocation tests until blockers are fixed.

  • platform/gtk/Skipped: Skipping geolocation tests for now.
4:59 PM Changeset in webkit [59795] by yaar@chromium.org
  • 4 edits
    2 adds in trunk

2010-05-19 Abhishek Arya <inferno@chromium.org>

Reviewed by David Hyatt.

Check that the node is a text node before doing a static cast
to a Text class pointer.
https://bugs.webkit.org/show_bug.cgi?id=38626

Test: fast/text/text-transform-nontext-node-crash.xhtml

  • rendering/RenderText.cpp: (WebCore::RenderText::originalText):
  • rendering/RenderTextFragment.cpp: (WebCore::RenderTextFragment::originalText): (WebCore::RenderTextFragment::previousCharacter):

2010-05-19 Abhishek Arya <inferno@chromium.org>

Reviewed by David Hyatt.

Tests that text transformation applied to a non-text node
does not result in crash.
https://bugs.webkit.org/show_bug.cgi?id=38626

  • fast/text/text-transform-nontext-node-crash-expected.txt: Added.
  • fast/text/text-transform-nontext-node-crash.xhtml: Added.
4:52 PM Changeset in webkit [59794] by yaar@chromium.org
  • 4 edits in trunk/WebCore

2010-05-19 Yaar Schnitman <yaar@chromium.org>

Reviewed by Eric Seidel.

Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
https://bugs.webkit.org/show_bug.cgi?id=39390

  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::):
  • bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::):
4:39 PM Changeset in webkit [59793] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

<rdar://problem/8004528>
REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on

Reviewed by Kevin Decker and Simon Fraser.

When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return
the newly created layer.

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView createPlugin]):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView createPlugin]):

4:28 PM Changeset in webkit [59792] by Martin Robinson
  • 3 edits
    1 add in trunk/LayoutTests

2010-05-19 Martin Robinson <mrobinson@igalia.com>

Not reviewed.

Updated multi-column test baselines.

  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt: Updated.
  • platform/gtk/fast/multicol/layers-split-across-columns-expected.txt: Added.
  • platform/gtk/fast/multicol/nested-columns-expected.txt: Updated.
4:24 PM Changeset in webkit [59791] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2010-05-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Slight refactoring to CodeBlock bytecode access
https://bugs.webkit.org/show_bug.cgi?id=39384

  • bytecode/CodeBlock.h: (JSC::CodeBlock::bytecodeOffset):
  • interpreter/CallFrame.h: (JSC::ExecState::returnPC):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::retrieveLastCaller): Moved bytecode access into a CodeBlock helper function. Changed CallFrame to accurately represent how the returnPC is stored in JIT vs Interpreter.
3:59 PM Changeset in webkit [59790] by darin@chromium.org
  • 11 edits in trunk

2010-05-19 Darin Fisher <darin@chromium.org>

Reviewed by Nate Chapin.

[chromium] Provide a way to catch exceptions thrown while interacting
with a NPObject via WebBindings methods.
https://bugs.webkit.org/show_bug.cgi?id=39378

This change also includes a small bit of cleanup in V8NPObject and
friends. I moved code into the WebCore namespace where appropriate.


In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
context scope. I did this to avoid having nested ExceptionCatcher
objects, which is not strictly necessary, but it seemed cleaner.
_NPN_Evaluate already takes care of creating a context scope.

  • bindings/v8/NPV8Object.cpp: (WebCore::v8ObjectToNPObject): (WebCore::npCreateV8ScriptObject): (_NPN_Invoke): (_NPN_InvokeDefault): (_NPN_Evaluate): (_NPN_EvaluateHelper): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException): (_NPN_Enumerate): (_NPN_Construct):
  • bindings/v8/NPV8Object.h:
  • bindings/v8/V8NPObject.cpp:
  • bindings/v8/V8NPObject.h:
  • bindings/v8/V8NPUtils.cpp: (WebCore::convertV8ObjectToNPVariant): (WebCore::pushExceptionHandler): (WebCore::popExceptionHandler): (WebCore::ExceptionCatcher::~ExceptionCatcher):
  • bindings/v8/V8NPUtils.h:
  • bindings/v8/npruntime.cpp:
3:43 PM Changeset in webkit [59789] by dpranke@chromium.org
  • 2 edits in trunk/WebKitTools

2010-05-19 Dirk Pranke <dpranke@chromium.org>

Unreviewed, build fix.

  • DumpRenderTree/chromium/NotificationPresenter.cpp: (NotificationPresenter::show):
3:43 PM Changeset in webkit [59788] by yaar@chromium.org
  • 29 edits
    2 deletes in trunk

2010-05-19 Yaar Schnitman <yaar@chromium.org>

Unreviewed, rolling out r59769.
http://trac.webkit.org/changeset/59769
https://bugs.webkit.org/show_bug.cgi?id=37815

Broke GTK again

  • Android.jscbindings.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript):
  • bindings/js/JSMainThreadExecState.cpp: Removed.
  • bindings/js/JSMainThreadExecState.h: Removed.
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call):
  • bindings/objc/ObjCEventListener.mm:
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]):
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm: (-[DOMTestCallback callbackWithClass1Param:]): (-[DOMTestCallback callbackWithClass2Param:strArg:]): (-[DOMTestCallback callbackWithNonBoolReturnType:]): (-[DOMTestCallback customCallback:class6Param:]):
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestObj.mm: (-[DOMTestObj readOnlyIntAttr]): (-[DOMTestObj readOnlyStringAttr]): (-[DOMTestObj readOnlyTestObjAttr]): (-[DOMTestObj intAttr]): (-[DOMTestObj setIntAttr:]): (-[DOMTestObj longLongAttr]): (-[DOMTestObj setLongLongAttr:]): (-[DOMTestObj unsignedLongLongAttr]): (-[DOMTestObj setUnsignedLongLongAttr:]): (-[DOMTestObj stringAttr]): (-[DOMTestObj setStringAttr:]): (-[DOMTestObj testObjAttr]): (-[DOMTestObj setTestObjAttr:]): (-[DOMTestObj attrWithException]): (-[DOMTestObj setAttrWithException:]): (-[DOMTestObj attrWithSetterException]): (-[DOMTestObj setAttrWithSetterException:]): (-[DOMTestObj attrWithGetterException]): (-[DOMTestObj setAttrWithGetterException:]): (-[DOMTestObj customAttr]): (-[DOMTestObj setCustomAttr:]): (-[DOMTestObj scriptStringAttr]): (-[DOMTestObj voidMethod]): (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): (-[DOMTestObj intMethod]): (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): (-[DOMTestObj objMethod]): (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): (-[DOMTestObj serializedValue:]): (-[DOMTestObj methodWithException]): (-[DOMTestObj customMethod]): (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): (-[DOMTestObj customArgsAndException:]): (-[DOMTestObj addEventListener:listener:useCapture:]): (-[DOMTestObj removeEventListener:listener:useCapture:]): (-[DOMTestObj withDynamicFrame]): (-[DOMTestObj withDynamicFrameAndArg:]): (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): (-[DOMTestObj withDynamicFrameAndUserGesture:]): (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): (-[DOMTestObj withScriptStateVoid]): (-[DOMTestObj withScriptStateObj]): (-[DOMTestObj withScriptStateVoidException]): (-[DOMTestObj withScriptStateObjException]): (-[DOMTestObj methodWithOptionalArg:]): (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
  • bindings/v8/ScriptController.cpp:
  • bindings/v8/ScriptController.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed):

2010-05-19 Yaar Schnitman <yaar@chromium.org>

Unreviewed, rolling out r59769.
http://trac.webkit.org/changeset/59769
https://bugs.webkit.org/show_bug.cgi?id=37815

Broke GTK again

  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias.html:
3:36 PM Changeset in webkit [59787] by dpranke@chromium.org
  • 7 edits
    4 deletes in trunk

2010-05-19 Dirk Pranke <dpranke@chromium.org>

Try again to roll out r58765

  • fast/notifications/notifications-replace-expected.txt: Removed.
  • fast/notifications/notifications-replace.html: Removed.
  • fast/notifications/notifications-rtl-expected.txt: Removed.
  • fast/notifications/notifications-rtl.html: Removed.

2010-05-19 Dirk Pranke <dpranke@chromium.org>

Try again to roll out r58675.

  • notifications/Notification.h:
  • notifications/Notification.idl:

2010-05-19 Dirk Pranke <dpranke@chromium.org>

Try again to roll out r58765.

  • public/WebNotification.h:
  • src/WebNotification.cpp:
2:53 PM Changeset in webkit [59786] by enrica@apple.com
  • 3 edits
    2 adds in trunk

WebCore: REGRESSION (r59385) crash destroying inline renderers
https://bugs.webkit.org/show_bug.cgi?id=39143
<rdar://problem/8003662>

Reviewed by Dave Hyatt.

The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
the block had no children (as it is upon creation).
I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
tries to remove the continuations we are effectively deleting a renderer that had been deleted already.

Test: fast/inline-block/anonymous-block-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
a double deletion of the renderer that causes the crash.

LayoutTests: REGRESSION (r59385) crash destroying inline renderers
https://bugs.webkit.org/show_bug.cgi?id=39143
<rdar://problem/8003662>

Reviewed by Dave Hyatt.

  • fast/inline-block/anonymous-block-crash-expected.txt: Added.
  • fast/inline-block/anonymous-block-crash.html: Added.
2:30 PM Changeset in webkit [59785] by dpranke@chromium.org
  • 7 edits
    4 adds in trunk

2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r59782.
http://trac.webkit.org/changeset/59782
https://bugs.webkit.org/show_bug.cgi?id=39379

broke DRT build (Requested by dpranke on #webkit).

  • fast/notifications/notifications-replace-expected.txt: Added.
  • fast/notifications/notifications-replace.html: Added.
  • fast/notifications/notifications-rtl-expected.txt: Added.
  • fast/notifications/notifications-rtl.html: Added.

2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r59782.
http://trac.webkit.org/changeset/59782
https://bugs.webkit.org/show_bug.cgi?id=39379

broke DRT build (Requested by dpranke on #webkit).

  • notifications/Notification.h: (WebCore::Notification::dir): (WebCore::Notification::setDir): (WebCore::Notification::replaceId): (WebCore::Notification::setReplaceId):
  • notifications/Notification.idl:

2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r59782.
http://trac.webkit.org/changeset/59782
https://bugs.webkit.org/show_bug.cgi?id=39379

broke DRT build (Requested by dpranke on #webkit).

  • public/WebNotification.h:
  • src/WebNotification.cpp: (WebKit::WebNotification::dir): (WebKit::WebNotification::replaceId):
2:03 PM Changeset in webkit [59784] by hyatt@apple.com
  • 8 edits
    4 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.

Reviewed by Oliver Hunt.

Make layers split painting across columns just as normal flow content does. This is actually very
challenging, since intermediate multicol layers can exist between a child that has to be split and
its enclosing stacking context.

In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
split and thus split any descendant layers that they are also responsible for painting. For a paginated
root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
and the enclosing stacking context.

We then recur from the outside in, applying clipping and translation as we break up the layer into strips.

Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
column.

Painting and hit testing of columns has been simplified in all of the functions to use the x position of
the column rect instead of trying to increment an x offset by adding in widths and column gaps. This
makes those functions directionality-independent (and the LTR/RTL code paths are now the same).

Fix repainting of columns as well to make sure rects are split across columns only after relative position
and transforms have been applied.

Added fast/multicol/layers-split-across-columns.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::adjustForColumns):

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::hitTestPaginatedChildLayer):
(WebCore::RenderLayer::hitTestChildLayerColumns):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::):
(WebCore::RenderLayer::isPaginated):

1:54 PM Changeset in webkit [59783] by eric@webkit.org
  • 6 edits in trunk/WebKit/gtk

2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r59240.
http://trac.webkit.org/changeset/59240
https://bugs.webkit.org/show_bug.cgi?id=39377

"Might cause crashes in GTK+ bots" (Requested by xan_ on
#webkit).

  • WebCoreSupport/ContextMenuClientGtk.cpp: (WebKit::inputMethodsMenuItem):
  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::setInputMethodState): (WebKit::EditorClient::respondToChangedSelection): (WebKit::EditorClient::handleInputMethodKeydown): (WebKit::EditorClient::EditorClient): (WebKit::EditorClient::~EditorClient):
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::postCommitFrameViewSetup):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp: (destroy_menu_cb): (webkit_web_view_forward_context_menu_event): (webkit_web_view_key_release_event): (webkit_web_view_button_release_event): (webkit_web_view_focus_in_event): (webkit_web_view_focus_out_event): (webkit_web_view_realize): (webkit_web_view_set_scroll_adjustments): (webkit_web_view_dispose): (webkit_web_view_finalize): (webViewGetDPI): (webkit_web_view_screen_changed): (webkit_web_view_query_tooltip): (webkit_web_view_get_im_context): (webkit_web_view_update_settings): (webkit_web_view_init): (webkit_web_view_set_settings): (webkit_web_view_get_settings): (webkit_web_view_get_inspector): (webkit_web_view_set_window_features): (webkit_web_view_get_window_features): (webkit_web_view_get_back_forward_list): (webkit_web_view_zoom_in): (webkit_web_view_zoom_out): (webkit_web_view_get_encoding): (webkit_web_view_get_custom_encoding): (webkit_web_view_add_resource): (webkit_web_view_get_resource): (webkit_web_view_get_main_resource): (webkit_web_view_clear_resources): (webkit_web_view_get_subresources): (webkit_web_view_set_tooltip_text): (webkit_web_view_get_icon_uri):
1:41 PM Changeset in webkit [59782] by dpranke@chromium.org
  • 7 edits
    4 deletes in trunk

2010-05-18 Dirk Pranke <dpranke@chromium.org>

Reviewed by Dimitri Glazkov.

Attempt to revert r58765 to see if it was causing a performance
regression.

https://bugs.webkit.org/show_bug.cgi?id=39328

  • fast/notifications/notifications-replace-expected.txt: Removed.
  • fast/notifications/notifications-replace.html: Removed.
  • fast/notifications/notifications-rtl-expected.txt: Removed.
  • fast/notifications/notifications-rtl.html: Removed.

2010-05-18 Dirk Pranke <dpranke@chromium.org>

Reviewed by Dimitri Glazkov.

Attempt to revert r58765 to see if it was causing a performance
regression.

https://bugs.webkit.org/show_bug.cgi?id=39328

  • notifications/Notification.h:
  • notifications/Notification.idl:

2010-05-18 Dirk Pranke <dpranke@chromium.org>

Reviewed by Dimitri Glazkov.

Attempt to revert r58765 to see if it was causing a performance
regression.

https://bugs.webkit.org/show_bug.cgi?id=39328

  • public/WebNotification.h:
  • src/WebNotification.cpp:
1:35 PM Changeset in webkit [59781] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2010-05-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Don't build the Interpreter into JIT builds.
https://bugs.webkit.org/show_bug.cgi?id=39373

SunSpider says no change.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • interpreter/Interpreter.h:
  • wtf/Platform.h:
12:17 PM Changeset in webkit [59780] by kevino@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

[wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
to handle more cases.
https://bugs.webkit.org/show_bug.cgi?id=39365

12:08 PM Changeset in webkit [59779] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-19 Marcus Bulach <bulach@chromium.org>

Reviewed by Eric Seidel.

Fixes Windows Qt Release post r59772.
https://bugs.webkit.org/show_bug.cgi?id=39369

  • platform/GeolocationService.cpp:
12:02 PM Changeset in webkit [59778] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add support for handling basic <script> tags in the HTML5 Parser
https://bugs.webkit.org/show_bug.cgi?id=39350

WebKit currently executes scripts from HTMLTokenizer in one giagantic
hack. HTML 5 requires that we execute scripts from the tree-builders/parser.

It will take me a while to re-factor enough of HTMLTokenizer to be able to
move the script execution logic without breaking things. In the interest
of allowing Adam to continue improving the HTML 5 lexer I've added this
very basic (and very incomplete) <script> support to the HTML 5 parser code
path so the he can run the HTML5 parser test suite.

<script> support is tested by most of the layout tests.

  • dom/ScriptElement.cpp: (WebCore::useHTML5Parser): (WebCore::ScriptElement::finishParsingChildren):
11:28 AM Changeset in webkit [59777] by ggaren@apple.com
  • 13 edits in trunk/JavaScriptCore

Standardized naming: "bytecode offset" wins; "bytecode index" loses.

Reviewed by Gavin Barraclough.

Also renamed getBytecodeOffset to bytecodeOffset, to match the WebKit
naming style.

  • bytecode/CodeBlock.h:

(JSC::CallReturnOffsetToBytecodeOffset::CallReturnOffsetToBytecodeOffset):
(JSC::getCallReturnOffset):
(JSC::CodeBlock::bytecodeOffset):
(JSC::CodeBlock::callReturnIndexVector):

  • interpreter/Interpreter.cpp:

(JSC::bytecodeOffsetForPC):

  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileLinkPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::CallRecord::CallRecord):
(JSC::JumpTable::JumpTable):
(JSC::SwitchRecord::SwitchRecord):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallVarargsSlowCase):
(JSC::JIT::compileOpCall):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitNakedCall):
(JSC::JIT::addSlowCase):
(JSC::JIT::addJump):
(JSC::JIT::emitJumpSlowToHot):
(JSC::JIT::isLabeled):
(JSC::JIT::map):
(JSC::JIT::unmap):
(JSC::JIT::isMapped):
(JSC::JIT::getMappedPayload):
(JSC::JIT::getMappedTag):
(JSC::JIT::emitGetVirtualRegister):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):
(JSC::JIT::emit_op_switch_string):
(JSC::JIT::emit_op_new_error):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_get_global_var):
(JSC::JIT::emit_op_put_global_var):
(JSC::JIT::emit_op_get_scoped_var):
(JSC::JIT::emit_op_put_scoped_var):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_resolve_global):
(JSC::JIT::emit_op_to_jsnumber):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):
(JSC::JIT::emit_op_switch_string):
(JSC::JIT::emit_op_new_error):
(JSC::JIT::emit_op_convert_this):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_method_check):
(JSC::JIT::emitSlow_op_method_check):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_method_check):
(JSC::JIT::emitSlow_op_method_check):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_by_pname):

  • jit/JITStubCall.h:

(JSC::JITStubCall::call):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

11:03 AM Changeset in webkit [59776] by andersca@apple.com
  • 10 edits in trunk/WebCore

2010-05-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=39367
<rdar://problem/8003304>

This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).


The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.

  • dom/Element.cpp: (WebCore::Element::createAttributeMap):
  • dom/Element.h:
  • dom/NamedMappedAttrMap.cpp:
  • dom/NamedMappedAttrMap.h: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
  • dom/NamedNodeMap.cpp: (WebCore::NamedNodeMap::clearAttributes):
  • dom/NamedNodeMap.h: (WebCore::NamedNodeMap::NamedNodeMap):
  • dom/Node.cpp: (WebCore::Node::dumpStatistics):
  • dom/StyledElement.cpp:
  • dom/StyledElement.h:
10:58 AM Changeset in webkit [59775] by weinig@apple.com
  • 2 edits in trunk/WebCore

Use ASSERT_UNUSED instead of UNUSED_PARAM.

Reviewed by Anders Carlsson.

  • dom/Attribute.cpp:

(WebCore::Attribute::unbindAttr):

10:57 AM Changeset in webkit [59774] by jianli@chromium.org
  • 3 edits in trunk/WebKit/chromium

Remove obsolete ChromiumBridge code that routes FileSystem calls to WebKitClient.
https://bugs.webkit.org/show_bug.cgi?id=39332

Reviewed by Darin Fisher.

  • public/WebKitClient.h:
  • src/ChromiumBridge.cpp:

(WebCore::ChromiumBridge::fileExists):
(WebCore::ChromiumBridge::deleteFile):
(WebCore::ChromiumBridge::deleteEmptyDirectory):
(WebCore::ChromiumBridge::getFileSize):
(WebCore::ChromiumBridge::getFileModificationTime):
(WebCore::ChromiumBridge::directoryName):
(WebCore::ChromiumBridge::pathByAppendingComponent):
(WebCore::ChromiumBridge::makeAllDirectories):
(WebCore::ChromiumBridge::getAbsolutePath):
(WebCore::ChromiumBridge::isDirectory):
(WebCore::ChromiumBridge::filePathToURL):

10:48 AM Changeset in webkit [59773] by weinig@apple.com
  • 292 edits
    1 delete in trunk/WebCore

Complete the merge of MappedAttribute and Attribute.

Rubber-stamped by Anders Carlsson.

Files elided for brevity.

10:38 AM Changeset in webkit [59772] by eric@webkit.org
  • 6 edits
    2 adds in trunk

2010-05-19 Marcus Bulach <bulach@chromium.org>

Reviewed by Steve Block.

[chromium] Adds supports for layout tests using GeolocationServiceMock.
https://bugs.webkit.org/show_bug.cgi?id=39081

Allows injection of GeolocationServiceMock factory.

Tests: existing fast/dom/Geolocation/*

  • platform/GeolocationService.cpp: (WebCore::GeolocationService::useMock): (WebCore::GeolocationService::useMockFactory):
  • platform/GeolocationService.h:
  • platform/chromium/GeolocationServiceChromium.cpp: (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):

2010-05-19 Marcus Bulach <bulach@chromium.org>

Reviewed by Steve Block.

[chromium] Adds supports for layout tests using GeolocationServiceMock.
https://bugs.webkit.org/show_bug.cgi?id=39081

Allows injection of GeolocationServiceMock factory.
Tests: existing fast/dom/Geolocation/*

  • WebKit.gyp:
  • public/WebGeolocationServiceMock.h: Added.
  • src/WebGeolocationServiceMock.cpp: Added. (WebCore::GeolocationServiceChromiumMock::create): (WebCore::GeolocationServiceChromiumMock::GeolocationServiceChromiumMock): (WebCore::GeolocationServiceChromiumMock::startUpdating): (WebCore::GeolocationServiceChromiumMock::stopUpdating): (WebCore::GeolocationServiceChromiumMock::lastPosition): (WebCore::GeolocationServiceChromiumMock::lastError): (WebCore::GeolocationServiceChromiumMock::geolocationServicePositionChanged): (WebCore::GeolocationServiceChromiumMock::geolocationServiceErrorOccurred): (WebKit::WebGeolocationServiceMock::setMockGeolocationPosition): (WebKit::WebGeolocationServiceMock::setMockGeolocationError):
10:23 AM Changeset in webkit [59771] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-05-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

user.py throws exception when readline module is missing
https://bugs.webkit.org/show_bug.cgi?id=39239

  • Scripts/webkitpy/common/system/user.py:
    • The error handling path requires the "sys" module, so added an import sys at the top of the file.
9:38 AM Changeset in webkit [59770] by Martin Robinson
  • 1 edit
    4 adds in trunk/LayoutTests

2010-05-19 Martin Robinson <mrobinson@igalia.com>

Not reviewed.

Add baselines for new multi-column tests.

  • platform/gtk/fast/multicol/column-count-with-rules-expected.txt: Added.
  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt: Added.
  • platform/gtk/fast/multicol/nested-columns-expected.txt: Added.
9:16 AM Changeset in webkit [59769] by yaar@chromium.org
  • 29 edits
    2 adds in trunk

2010-05-19 Justin Schuh <jschuh@chromium.org>

Reviewed by Adam Barth.

Moving frame.src checks out of the bindings
https://bugs.webkit.org/show_bug.cgi?id=37815

Moved JavaScript frame.src checks out of bindings and into
HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
so ExecState is available inside core DOM. Updated affected bindings
(except for GObject, which will need to be updated to avoid origin
failures inside native code).

  • Android.jscbindings.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript):
  • bindings/js/JSMainThreadExecState.cpp: Added.
  • bindings/js/JSMainThreadExecState.h: Added. (WebCore::JSMainThreadExecState::currentState): (WebCore::JSMainThreadExecState::call): (WebCore::JSMainThreadExecState::evaluate): (WebCore::JSMainThreadExecState::JSMainThreadExecState): (WebCore::JSMainThreadExecState::~JSMainThreadExecState): (WebCore::JSMainThreadNullState::JSMainThreadNullState):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::canAccessFromCurrentOrigin):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call):
  • bindings/objc/ObjCEventListener.mm:
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]):
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm: (-[DOMTestCallback callbackWithClass1Param:]): (-[DOMTestCallback callbackWithClass2Param:strArg:]): (-[DOMTestCallback callbackWithNonBoolReturnType:]): (-[DOMTestCallback customCallback:class6Param:]):
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestObj.mm: (-[DOMTestObj readOnlyIntAttr]): (-[DOMTestObj readOnlyStringAttr]): (-[DOMTestObj readOnlyTestObjAttr]): (-[DOMTestObj intAttr]): (-[DOMTestObj setIntAttr:]): (-[DOMTestObj longLongAttr]): (-[DOMTestObj setLongLongAttr:]): (-[DOMTestObj unsignedLongLongAttr]): (-[DOMTestObj setUnsignedLongLongAttr:]): (-[DOMTestObj stringAttr]): (-[DOMTestObj setStringAttr:]): (-[DOMTestObj testObjAttr]): (-[DOMTestObj setTestObjAttr:]): (-[DOMTestObj attrWithException]): (-[DOMTestObj setAttrWithException:]): (-[DOMTestObj attrWithSetterException]): (-[DOMTestObj setAttrWithSetterException:]): (-[DOMTestObj attrWithGetterException]): (-[DOMTestObj setAttrWithGetterException:]): (-[DOMTestObj customAttr]): (-[DOMTestObj setCustomAttr:]): (-[DOMTestObj scriptStringAttr]): (-[DOMTestObj voidMethod]): (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): (-[DOMTestObj intMethod]): (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): (-[DOMTestObj objMethod]): (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): (-[DOMTestObj serializedValue:]): (-[DOMTestObj methodWithException]): (-[DOMTestObj customMethod]): (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): (-[DOMTestObj customArgsAndException:]): (-[DOMTestObj addEventListener:listener:useCapture:]): (-[DOMTestObj removeEventListener:listener:useCapture:]): (-[DOMTestObj withDynamicFrame]): (-[DOMTestObj withDynamicFrameAndArg:]): (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): (-[DOMTestObj withDynamicFrameAndUserGesture:]): (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): (-[DOMTestObj withScriptStateVoid]): (-[DOMTestObj withScriptStateObj]): (-[DOMTestObj withScriptStateVoidException]): (-[DOMTestObj withScriptStateObjException]): (-[DOMTestObj methodWithOptionalArg:]): (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::canAccessFromCurrentOrigin):
  • bindings/v8/ScriptController.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed):

2010-05-19 Justin Schuh <jschuh@chromium.org>

Reviewed by Adam Barth.

Moving frame.src checks out of the bindings
https://bugs.webkit.org/show_bug.cgi?id=37815

  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias.html:
9:11 AM Changeset in webkit [59768] by chang.shu@nokia.com
  • 12 edits
    3 adds in trunk

2010-05-19 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Darin Adler.

CanvasRenderingContext2D's property getters that return colors should
serialize them in accordance with the HTML5 spec (4.8.11.1.4)
Setters should ignore invalid colors.

Also, shadowColor should initially be transparent black (4.8.11.1.6)

https://bugs.webkit.org/show_bug.cgi?id=38845

Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.

Spec links:
http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor

  • html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::shadowColor): (WebCore::CanvasRenderingContext2D::setShadowColor): (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::clearShadow): (WebCore::CanvasRenderingContext2D::applyShadow):
  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasStyle.cpp: (WebCore::CanvasStyle::CanvasStyle): (WebCore::CanvasStyle::create): (WebCore::CanvasStyle::applyStrokeColor): (WebCore::CanvasStyle::applyFillColor):
  • html/canvas/CanvasStyle.h: (WebCore::CanvasStyle::create): (WebCore::CanvasStyle::color): (WebCore::CanvasStyle::): (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
  • platform/graphics/Color.cpp: (WebCore::Color::serialized):
  • platform/graphics/Color.h:

2010-05-19 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Darin Adler.

Added a test to verify proper color serialization in CanvasRenderingContext2D's getters.
https://bugs.webkit.org/show_bug.cgi?id=38845

Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color

  • fast/canvas/canvas-color-serialization-expected.txt: Added.
  • fast/canvas/canvas-color-serialization.html: Added.
  • fast/canvas/canvas-set-properties-with-non-invertible-ctm-expected.txt: Updated baseline.
  • fast/canvas/script-tests/canvas-color-serialization.js: Added. (trySettingStrokeStyle): (trySettingFillStyle): (trySettingShadowColor): (trySettingColor): (trySettingStrokeColorWithSetter): (trySettingFillColorWithSetter): (trySettingShadowWithSetter): (trySettingColorWithSetter): (trySettingFillColorRGBA): (trySettingStrokeColorRGBA): (trySettingShadowRGBA): (trySettingRGBA): (trySettingFillColorCMYKA): (trySettingStrokeColorCMYKA): (trySettingShadowCMYKA): (trySettingCMYKA): (trySettingFillColorWithOverrideAlpha): (trySettingStrokeColorWithOverrideAlpha): (trySettingShadowWithOverrideAlpha): (trySettingColorWithOverrideAlpha): (trySettingFillColorGrayLevel): (trySettingStrokeColorGrayLevel): (trySettingShadowGrayLevel): (trySettingGrayLevel): (trySettingFillColorGrayLevelWithAlpha): (trySettingStrokeColorGrayLevelWithAlpha): (trySettingShadowGrayLevelWithAlpha): (trySettingGrayLevelWithAlpha): (tryClearShadowAfterSettingColor): (checkDefaultValue):
  • fast/canvas/script-tests/canvas-set-properties-with-non-invertible-ctm.js:
  • fast/dom/canvasContext2d-element-attribute-js-null-expected.txt: Updated baseline.
  • fast/dom/canvasContext2d-element-attribute-js-null.html:
8:55 AM Changeset in webkit [59767] by chang.shu@nokia.com
  • 3 edits
    3 adds in trunk

2010-05-19 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Simon Hausmann.

[Qt] REGRESSION: CoolClock isn't rendered properly

https://bugs.webkit.org/show_bug.cgi?id=38526

CanvasRenderingContext2D's arc() should connect to the previous point
with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
to begin with, we don't want a line back to (0,0)
This also fixes the rendering artifact discussed in bug 36226.

Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc

Test: fast/canvas/canvas-arc-connecting-line.html

  • platform/graphics/qt/PathQt.cpp: (WebCore::Path::addArc):

2010-05-19 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Simon Hausmann.

Add test to verify that CanvasRenderingContext2D's arc() connects arcs
by a straight line (unless it's the first element in the path.)
https://bugs.webkit.org/show_bug.cgi?id=38526

  • fast/canvas/canvas-arc-connecting-line-expected.txt: Added.
  • fast/canvas/canvas-arc-connecting-line.html: Added.
  • fast/canvas/script-tests/canvas-arc-connecting-line.js: Added. (deg2rad):
8:20 AM Changeset in webkit [59766] by abecsi@webkit.org
  • 3 edits
    3 adds in trunk

The backtrackParenthesesOnceEnd function should store the start position
of the subpattern's non-greedy match at the place of the subpattern's
start index in the output array instead of the place of the
subpattern's end index.
Add layout test for checking of non-greedy matching of subpattern in
regular expressions.
https://bugs.webkit.org/show_bug.cgi?id=39289

Patch by Peter Varga <pvarga@inf.u-szeged.hu> on 2010-05-19
Reviewed by Darin Adler.

JavaScriptCore:

  • yarr/RegexInterpreter.cpp:

(JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):

LayoutTests:

  • fast/js/regexp-non-greedy-parentheses-expected.txt: Added.
  • fast/js/regexp-non-greedy-parentheses.html: Added.
  • fast/js/script-tests/regexp-non-greedy-parentheses.js: Added.
8:14 AM Changeset in webkit [59765] by antti.j.koivisto@nokia.com
  • 5 edits in trunk

[Qt] TiledBackingStore updates broken when not using resizesToContents mode
https://bugs.webkit.org/show_bug.cgi?id=39359

Rubber-stamped by Kenneth Rohde Christiansen.

Put the back logic that was lost in refactoring.

  • WebCoreSupport/ChromeClientQt.cpp:

(WebCore::ChromeClientQt::visibleRectForTiledBackingStore):

  • WebCoreSupport/PageClientQt.cpp:

(WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):

  • WebCoreSupport/PageClientQt.h:

(WebCore::PageClientQWidget::viewResizesToContentsEnabled):
(WebCore::PageClientQGraphicsWidget::viewResizesToContentsEnabled):

8:13 AM Changeset in webkit [59764] by eric@webkit.org
  • 3 edits in trunk/LayoutTests

2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r59758.
http://trac.webkit.org/changeset/59758
https://bugs.webkit.org/show_bug.cgi?id=39361

This patch adds a test that fails on Leopard (Requested by
abarth on #webkit).

  • fast/canvas/webgl/texture-npot-expected.txt:
  • fast/canvas/webgl/texture-npot.html:
8:04 AM Changeset in webkit [59763] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Symbian build fix.

[Qt] Updated the def file with exports needed for DumpRenderTree.

  • symbian/eabi/QtWebKitu.def:
6:25 AM Changeset in webkit [59762] by apavlov@chromium.org
  • 5 edits in trunk/WebCore

2010-05-19 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Jeremy Orlow.

Fix whitespace for the bug 38906
https://bugs.webkit.org/show_bug.cgi?id=39351

No new tests required (no code change).

  • css/CSSParser.cpp: (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::setupParser): (WebCore::CSSParser::parseSheet): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseSelector): (WebCore::unitFromString): (WebCore::CSSParser::checkForOrphanedUnits): (WebCore::CSSParser::parseWCSSInputProperty): (WebCore::CSSParser::parseFillShorthand): (WebCore::CSSParser::parseAnimationShorthand): (WebCore::CSSParser::parseTransitionShorthand): (WebCore::CSSParser::parseShorthand): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::parseAttr): (WebCore::CSSParser::parseFillPositionXY): (WebCore::CSSParser::parseFillPosition): (WebCore::CSSParser::parseFillRepeat): (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseAnimationTimingFunction): (WebCore::CSSParser::parseAnimationProperty): (WebCore::CSSParser::parseDashboardRegions): (WebCore::CSSParser::parseCounterContent): (WebCore::CSSParser::parseShape): (WebCore::CSSParser::parseFont): (WebCore::CSSParser::parseFontFamily): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::parseInt): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseShadow): (WebCore::CSSParser::parseReflect): (WebCore::BorderImageParseContext::commitNumber): (WebCore::BorderImageParseContext::commitBorderImage): (WebCore::CSSParser::parseBorderImage): (WebCore::CSSParser::parseCounter): (WebCore::parseGradientPoint): (WebCore::parseGradientColorStop): (WebCore::CSSParser::parseGradient): (WebCore::CSSParser::parseCanvas): (WebCore::CSSParser::parseTransform): (WebCore::CSSParser::parseTransformOrigin): (WebCore::CSSParser::parsePerspectiveOrigin): (WebCore::CSSParser::text): (WebCore::CSSParser::createRuleList): (WebCore::CSSParser::createVariablesRule): (WebCore::CSSParser::parseVariable): (WebCore::CSSParser::parsePropertyWithResolvedVariables): (WebCore::CSSParser::checkForVariables): (WebCore::CSSParser::createKeyframeRule):
  • css/CSSParser.h:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::setFrontend): (WebCore::InspectorController::show): (WebCore::InspectorController::unbindAllResources): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::scriptImported): (WebCore::InspectorController::getCurrentUserInitiatedProfileName): (WebCore::InspectorController::removeBreakpoint): (WebCore::drawOutlinedQuad): (WebCore::InspectorController::stopTiming):
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::didRemoveDOMNode): (WebCore::InspectorDOMAgent::getStyles): (WebCore::InspectorDOMAgent::applyStyleText):
6:24 AM Changeset in webkit [59761] by kenneth@webkit.org
  • 2 edits in trunk/WebKit/qt

When creating the UA, do not sassmue the language code is a
two-letter iso639-1 code.

Patch by Denis Dzyubenko <denis.dzyubenko@nokia.com> on 2010-05-19
Reviewed by Kenneth Rohde Christiansen.

  • Api/qwebpage.cpp:

(QWebPage::userAgentForUrl):

4:44 AM Changeset in webkit [59760] by antti.j.koivisto@nokia.com
  • 4 edits in trunk/WebKit/qt

[Qt] Move visible rect calculation from QGraphicsWebViewPrivate to PageClientQGraphicsWidget
https://bugs.webkit.org/show_bug.cgi?id=39294

Reviewed by Kenneth Rohde Christiansen.

  • Api/qgraphicswebview.cpp:
  • WebCoreSupport/PageClientQt.cpp:

(WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):

  • WebCoreSupport/PageClientQt.h:
4:43 AM Changeset in webkit [59759] by eric@webkit.org
  • 3 edits in trunk

2010-05-19 Dan Winship <danw@gnome.org>

Reviewed by Xan Lopez.

[GTK] Install introspection files in our prefix, not
gobject-introspection's prefix

  • GNUmakefile.am:
  • configure.ac:
3:59 AM Changeset in webkit [59758] by eric@webkit.org
  • 3 edits in trunk/LayoutTests

2010-05-19 Zhenyao Mo <zmo@google.com>

Reviewed by Darin Adler.

fast/canvas/webgl/texture-npot.html failed on leopard bot
https://bugs.webkit.org/show_bug.cgi?id=39128

  • fast/canvas/webgl/texture-npot-expected.txt: Skip pixel (0, 0); print out actual color when failing.
  • fast/canvas/webgl/texture-npot.html: Ditto.
3:48 AM Changeset in webkit [59757] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-05-19 Steve Block <steveblock@google.com>

Reviewed by Nate Chapin.

V8 code generator does not add ENABLE guards around attribute getters and setters
https://bugs.webkit.org/show_bug.cgi?id=39222

No new tests, build fix only.

  • bindings/scripts/CodeGeneratorV8.pm:
3:17 AM Changeset in webkit [59756] by jorlow@chromium.org
  • 2 edits in trunk/WebCore

2010-05-19 Jeremy Orlow <jorlow@chromium.org>

Unreviewed build fix for Chromium.

  • storage/IndexedDatabaseImpl.cpp:
3:04 AM Changeset in webkit [59755] by jorlow@chromium.org
  • 16 edits
    4 copies in trunk

2010-05-17 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
https://bugs.webkit.org/show_bug.cgi?id=39216

All of these functions are supposed to be passing around the origin since
the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
object. I tried to fix this in an ealier patch, but obviously messed up.

Also change passing security origin strings to passing SecurityOrigin
objects.

No behavior change because Chromium was emulating the old behavior before
even though the code wasn't properly hooked up.

  • storage/IndexedDatabase.h:
  • storage/IndexedDatabaseImpl.cpp: (WebCore::IndexedDatabaseImpl::open):
  • storage/IndexedDatabaseImpl.h:
  • storage/IndexedDatabaseRequest.cpp: (WebCore::IndexedDatabaseRequest::open):

2010-05-17 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
https://bugs.webkit.org/show_bug.cgi?id=39216

WebImpl is for re-entering the WebKit layer from the browser layer.
Thus the previous IDBCallbacksProxy was mis-named (and should have been
WebIDBCallbacksImpl). This patch renames it and then implements the
proper proxy (which is for going from WebCore to WebKit).

Also change using security origin strings to using WebSecurityOrigin
objects.

This patch also implements the glue between WebIndexedDatabaseImpl and
IndexedDatabaseImpl.

  • WebKit.gyp:
  • src/IDBCallbacksProxy.cpp: (WebCore::IDBCallbacksProxy::create): (WebCore::IDBCallbacksProxy::IDBCallbacksProxy): (WebCore::IDBCallbacksProxy::onError): (WebCore::IDBCallbacksProxy::onSuccess):
  • src/IDBCallbacksProxy.h:
  • src/IndexedDatabaseProxy.cpp: (WebCore::IndexedDatabaseProxy::open):
  • src/IndexedDatabaseProxy.h:
  • src/WebIDBCallbacksImpl.cpp: Added. (WebCore::WebIDBCallbacksImpl::WebIDBCallbacksImpl): (WebCore::WebIDBCallbacksImpl::~WebIDBCallbacksImpl): (WebCore::WebIDBCallbacksImpl::onError): (WebCore::WebIDBCallbacksImpl::onSuccess):
  • src/WebIDBCallbacksImpl.h: Added.
  • src/WebIDBDatabaseImpl.cpp: Added. (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl): (WebKit::WebIDBDatabaseImpl::~WebIDBDatabaseImpl):
  • src/WebIDBDatabaseImpl.h: Added.
  • src/WebIndexedDatabaseImpl.cpp: (WebKit::WebIndexedDatabaseImpl::WebIndexedDatabaseImpl): (WebKit::WebIndexedDatabaseImpl::open):
  • src/WebIndexedDatabaseImpl.h:
2:37 AM Changeset in webkit [59754] by eric@webkit.org
  • 4 edits in trunk

2010-05-19 Ben Murdoch <benm@google.com>

Reviewed by Darin Adler.

Touch events are marked DontEnum in DOMWindow.idl
https://bugs.webkit.org/show_bug.cgi?id=39118

Update the expected results for enumerating the window object
properties now touch event listeners are no longer marked DontEnum.

  • platform/qt/fast/dom/Window/window-properties-expected.txt:

2010-05-19 Ben Murdoch <benm@google.com>

Reviewed by Darin Adler.

Touch events are marked DontEnum in DOMWindow.idl
https://bugs.webkit.org/show_bug.cgi?id=39118

Touch events are the only attribute event listeners on the
window object that are marked DontEnum. For consistency allow
them to be enumerated.

  • page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,

touchstart and touchmove attributes.

1:38 AM Changeset in webkit [59753] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Fix build warning

NamedAttrMap.h has been renamed to NamedNodeMap.h

  • WebCore.pro:
1:22 AM Changeset in webkit [59752] by eric@webkit.org
  • 1 edit
    5 adds in trunk/WebCore

2010-05-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add an HTML parsing benchmark
https://bugs.webkit.org/show_bug.cgi?id=39338

This benchmark parses the HTML5 specification 10 times and
reports how long it takes. It does this 21 times, discarding
the first warm-up run, and then prints the average time and
standard deviation.

Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
The numbers from the benchmark are rather consistent. On my
Mac Book Pro, I consistently see standard deviations < 2% of total time.

  • benchmarks/parser/html-parser.html: Added.
  • benchmarks/parser/resources/html5.html: Added.
12:33 AM Changeset in webkit [59751] by yuzo@google.com
  • 12 edits
    2 deletes in trunk

2010-05-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

Make CSS Parser properly handle only-for-pages pseudo-classes.

https://bugs.webkit.org/show_bug.cgi?id=38731

  • fast/css/misplaced-paged-media-pseudo-expected.txt: Removed.
  • fast/css/misplaced-paged-media-pseudo.html: Removed.
  • printing/page-rule-css-text-expected.txt:
  • printing/page-rule-css-text.html:
  • printing/pseudo-class-outside-page-expected.txt:
  • printing/pseudo-class-outside-page.html:

2010-05-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

Make CSS Parser properly handle only-for-pages pseudo-classes.

A new Match category, PagePseudoClass, is introduced to distinguish
only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
is introduced to handle them separately.

https://bugs.webkit.org/show_bug.cgi?id=38731

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::createMarginAtRule):
  • css/CSSParser.h:
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): (WebCore::CSSSelector::selectorText):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12:26 AM Changeset in webkit [59750] by abarth@webkit.org
  • 5 edits in trunk/WebCore

2010-05-19 Adam Barth <abarth@webkit.org>

Reviewed by David Hyatt.

Change the API of nextToken to distinguish between emitting a token and just running out of input
https://bugs.webkit.org/show_bug.cgi?id=39349

I'm not sure there's a functional difference with this patch yet, but
as discussed with Eric, we need this to handle attributes.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::reset): (WebCore::HTML5Lexer::nextToken):
  • html/HTML5Lexer.h:
  • html/HTML5Token.h: (WebCore::HTML5Token::HTML5Token): (WebCore::HTML5Token::clear): (WebCore::HTML5Token::beginStartTag): (WebCore::HTML5Token::beginEndTag): (WebCore::HTML5Token::beginCharacter):
  • html/HTML5Tokenizer.cpp: (WebCore::HTML5Tokenizer::write):
12:19 AM Changeset in webkit [59749] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-05-18 Eric Seidel <eric@webkit.org>

Reviewed by Maciej Stachowiak.

Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
https://bugs.webkit.org/show_bug.cgi?id=39318

No functional changes, only moving code into smaller functions.

This code is already covered by numerous layout tests.

HTML parsing benchmark shows this to be a wash.

  • dom/Tokenizer.h:
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::advance):
    • New funtion to encapulate code which will move into HTMLLexer eventually.
    • Use ALWAYS_INLINE to make sure compilers inline this large function (otherwise this patch is a regression).

(WebCore::HTMLTokenizer::willWriteHTML):

  • New function to handle calling any pre-write delegates.

(WebCore::HTMLTokenizer::didWriteHTML):

  • New function to handle calling any post-write delegates.

(WebCore::HTMLTokenizer::write):

  • Call the new functions.
  • html/HTMLTokenizer.h:

May 18, 2010:

11:45 PM Changeset in webkit [59748] by alex
  • 2 edits in trunk/LayoutTests

2010-05-18 Alejandro G. Castro <alex@igalia.com>

Unreviewed, skip test.

Skipping fast/workers/storage
https://bugs.webkit.org/show_bug.cgi?id=39346

  • platform/gtk/Skipped:
11:30 PM Changeset in webkit [59747] by abarth@webkit.org
  • 5 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Make the HTML5 parser correctly parse <div>Hello</div>
https://bugs.webkit.org/show_bug.cgi?id=39345

Again, this patch is covered by a large number of LayoutTests.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::HTML5Lexer): (WebCore::HTML5Lexer::reset): (WebCore::HTML5Lexer::nextToken): (WebCore::HTML5Lexer::emitCommentToken): (WebCore::HTML5Lexer::emitCharacter): (WebCore::HTML5Lexer::emitCurrentTagToken):
  • html/HTML5Lexer.h:
  • html/HTML5Token.h: (WebCore::HTML5Token::beginCharacter): (WebCore::HTML5Token::appendToCharacter): (WebCore::HTML5Token::characters):
  • html/HTML5Tokenizer.cpp: (WebCore::convertToOldStyle):
11:04 PM Changeset in webkit [59746] by barraclough@apple.com
  • 15 edits in trunk/JavaScriptCore

Bug 39343 - Dynamically generate a native call thunk per NativeFunction

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=39252 regressed performance on i386,
by adding an extra indirection to making a native call. By introducing per-
NativeFunction thunks we can hard code the function pointer into the thunk
so that it need not be loaded from the callee.

  • jit/JIT.h:

(JSC::JIT::compileCTINativeCall):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitSlow_op_get_by_val):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_get_by_val):

  • jit/JITStubs.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):

  • jit/JITStubs.h:
  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::powThunkGenerator):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::getHostFunction):

  • runtime/JSGlobalData.h:

(JSC::JSGlobalData::getCTIStub):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::StringConstructor):

  • wtf/Platform.h:
10:30 PM Changeset in webkit [59745] by abarth@webkit.org
  • 5 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Make the HTML5 parser actually parse <div></div>
https://bugs.webkit.org/show_bug.cgi?id=39342

This patch is covered by every LayoutTest. Yes. All of them. :)

  • html/HTML5Lexer.cpp: (WebCore::toLowerCase): (WebCore::HTML5Lexer::HTML5Lexer): (WebCore::HTML5Lexer::nextToken): (WebCore::HTML5Lexer::emitCharacter):
  • html/HTML5Lexer.h:
  • html/HTML5Token.h: (WebCore::HTML5Token::HTML5Token): (WebCore::HTML5Token::beginStartTag): (WebCore::HTML5Token::beginEndTag): (WebCore::HTML5Token::appendToName): (WebCore::HTML5Token::type): (WebCore::HTML5Token::name): (WebCore::HTML5Token::selfClosing): (WebCore::HTML5Token::attrs):
  • html/HTML5Tokenizer.cpp: (WebCore::convertToOldStyle): (WebCore::HTML5Tokenizer::write):
10:27 PM Changeset in webkit [59744] by tkent@chromium.org
  • 5 edits in trunk

[DRT/Chromium] Fix a repaint issue and textarea tests
https://bugs.webkit.org/show_bug.cgi?id=39054

Reviewed by Dimitri Glazkov.

WebKit/chromium:

  • DEPS: Update to Chromium r47248 to use a fix for CommandLine assertion and textAreaResizeCorner.png
  • WebKit.gyp: Add textAreaResizeCorner.png as a Mac resource

WebKitTools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::canvas): Remove m_paintRect initialization in canvas().

This line updated m_paintRect unexpectedly during paintRect().
We don't need to initialize m_paintRect because show() does it.

10:12 PM Changeset in webkit [59743] by tony@chromium.org
  • 6 edits in trunk/WebKitTools

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Kent Tamura.

[chromium] new-run-webkit-tests --use-drt should run on Linux
https://bugs.webkit.org/show_bug.cgi?id=37845

  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:
  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:
  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
  • Scripts/webkitpy/layout_tests/port/chromium_win.py:
10:10 PM Changeset in webkit [59742] by ggaren@apple.com
  • 25 edits
    2 adds in trunk

JavaScriptCore: Simplified handling of 'arguments' -- 1.2% SunSpider speedup
https://bugs.webkit.org/show_bug.cgi?id=39200

Reviewed by Darin Adler.

Removed the reserved OptionalCalleeArguments slot from the CallFrame.
Now, slots for 'arguments' are allocated and initialized only by
functions that might need them.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump): Updated for new bytecode operands.

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::unmodifiedArgumentsRegister): Added a helper function for mapping
from the arguments register to its unmodified counterpart.

(JSC::CodeBlock::setArgumentsRegister):
(JSC::CodeBlock::argumentsRegister):
(JSC::CodeBlock::usesArguments): Changed from a "usesArguments" bool to
an optional int index representing the arguments register.

  • bytecode/Opcode.h: Updated for new bytecode operands.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar): Factored out a helper function for
allocating an anonymous var.

(JSC::BytecodeGenerator::BytecodeGenerator): Merged / simplified some
arguments vs activation logic, and added code to allocate the arguments
registers when needed.

(JSC::BytecodeGenerator::createArgumentsIfNecessary): Updated for new bytecode operands.

(JSC::BytecodeGenerator::emitCallEval): No need to create the arguments
object before calling eval; the activation object will lazily create the
arguments object if eval resolves it.

(JSC::BytecodeGenerator::emitReturn): Updated for new bytecode operands.

(JSC::BytecodeGenerator::emitPushScope):
(JSC::BytecodeGenerator::emitPushNewScope): Ditto emitCallEval.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::addVar): Factored out a helper function for
allocating an anonymous var.

(JSC::BytecodeGenerator::registerFor): No more need for special handling
of the arguments registers; they're allocated just like normal registers
now.

  • interpreter/CallFrame.h:

(JSC::ExecState::callerFrame):
(JSC::ExecState::init):

  • interpreter/CallFrameClosure.h:

(JSC::CallFrameClosure::resetCallFrame): Nixed optionalCalleeArguments.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveArguments): Opcodes accessing 'arguments' now
take operands specifying registers, just like all other opcodes.
JSActivation::copyRegisters is no longer responsible for tearing off the
arguments object; instead, the VM is responsible for both.

Also, a behavior change: Each access to f.arguments creates a new object,
unless f itself uses 'arguments'. This matches Chrome, and is necessary
for the optimization. f.arguments is a nonstandard, deprecated feature,
so high fidelity to a given implementation is not necessarily a goal.
Also, as illustrated by the new test case, the identity of f.arguments
has been broken since 2008, except in the case where f itself accesses
f.arguments -- but nobody seemed to notice. So, hopefully this change won't
break the web.

  • interpreter/Register.h: Nixed the special arguments accessor. It's no

longer needed.

  • interpreter/RegisterFile.h:

(JSC::RegisterFile::):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallInitializeCallFrame):
(JSC::JIT::compileOpCall):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emit_op_init_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emit_op_init_arguments): The actual optimization: Removed
OptionalCalleeArguments from the callframe slot. Now, it doesn't need
to be initialized for most calls.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:

(JSC::): Updated stubs to support arbitrary 'arguments' registers,
instead of hard-coding something in the call frame.

  • runtime/Arguments.h:

(JSC::JSActivation::copyRegisters): Removed some obfuscatory abstraction.

  • runtime/Executable.h:

(JSC::FunctionExecutable::generatedByteCode): Added a helper for accessing
the 'arguments' register. In a future patch, that kind of data should
probably move out of CodeBlock and into Executable.

  • runtime/JSActivation.cpp:

(JSC::JSActivation::getOwnPropertySlot):
(JSC::JSActivation::argumentsGetter):

  • runtime/JSActivation.h: Simplified / fixed access to 'arguments' via

the activation object. It now implements the same behavior implemented
by optimized variable access in the VM. This simplifies some other
things, too -- like eval code generation.

LayoutTests: Simplified handling of 'arguments' -- 1.2% SunSpider speedup
https://bugs.webkit.org/show_bug.cgi?id=39200

Reviewed by Darin Adler.

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/script-tests/function-dot-arguments.js:

(argumentsIdentity): Updated to match new behavior.

  • fast/js/function-dot-arguments2-expected.txt:
  • fast/js/function-dot-arguments2.html: New tests for some things that

weren't covered before.

  • fast/js/global-recursion-on-full-stack.html: Rejiggered the stack

usage in this test. Since stack usage is more efficient now, you
need a slightly different usage pattern to hit the exact thing this
test wanted to test.

  • fast/js/kde/script-tests/function_arguments.js:

(f): Updated to more specifically test what this was trying to test,
to avoid just testing the identity of f.arguments.

9:24 PM Changeset in webkit [59741] by tkent@chromium.org
  • 4 edits in trunk/LayoutTests

Unreviewed test fix.

fast/css/pseudo-required-optional-unapplied.html failure with ENABLE_METER_TAG
https://bugs.webkit.org/show_bug.cgi?id=39341

Remove test elements at the end of the test because dumpAsText() output
for <meter> depends on ENABLE_METER_TAG.

  • fast/css/pseudo-required-optional-unapplied-expected.txt:
  • fast/css/pseudo-required-optional-unapplied.html:
  • platform/qt/Skipped:
8:54 PM Changeset in webkit [59740] by tkent@chromium.org
  • 1 edit in trunk/LayoutTests/platform/qt/Skipped

Unreviewed. Add pseudo-required-optional-unapplied.html to qt/Skipped.
https://bugs.webkit.org/show_bug.cgi?id=39341

8:30 PM Changeset in webkit [59739] by tony@chromium.org
  • 3 edits
    2 adds in trunk

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
https://bugs.webkit.org/show_bug.cgi?id=38232

  • editing/execCommand/crash-indenting-list-item-expected.txt: Added.
  • editing/execCommand/crash-indenting-list-item.html: Added.

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
https://bugs.webkit.org/show_bug.cgi?id=38232

Test: editing/execCommand/crash-indenting-list-item.html

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::tryIndentingAsListItem): (WebCore::IndentOutdentCommand::indentIntoBlockquote):
8:15 PM Changeset in webkit [59738] by tkent@chromium.org
  • 4 edits
    2 adds in trunk

':optional' pseudo selector should not be applied to <keygen> and <progress>
https://bugs.webkit.org/show_bug.cgi?id=39292

Reviewed by Darin Adler.

WebCore:

Test: fast/css/pseudo-required-optional-unapplied.html

  • html/HTMLKeygenElement.h:

(WebCore::HTMLKeygenElement::isOptionalFormControl):

Add isOptionalFormControl() returning false.
HTMLKeygenElement inherits HTMLSelectElement, which should return true
for isOptionalFormControl(). However, <keygen> is not :optional
according to the standard.

  • html/HTMLProgressElement.h: Remove isOptionalFormControl().

LayoutTests:

Add a test for non-optional form elements.

  • fast/css/pseudo-required-optional-unapplied-expected.txt: Added.
  • fast/css/pseudo-required-optional-unapplied.html: Added.
7:59 PM Changeset in webkit [59737] by tkent@chromium.org
  • 4 edits in trunk/WebKitTools

2010-05-18 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

[DRT/Chromium] Fix some initialization/reset issues
https://bugs.webkit.org/show_bug.cgi?id=39281

  • DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::reset): Reset m_userStyleSheetLocation.
  • DumpRenderTree/chromium/LayoutTestController.h: Remove unused variable, m_workQueueFrozen. (LayoutTestController::WorkQueue::WorkQueue): Initialize m_frozen.
  • DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetTestController): Reset WebSettings too.
7:57 PM Changeset in webkit [59736] by abarth@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement the DOCTYPE states for the HTML5 lexer
https://bugs.webkit.org/show_bug.cgi?id=39335

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::nextToken): (WebCore::emitCurrentDoctypeToken):
  • html/HTML5Lexer.h:
7:33 PM Changeset in webkit [59735] by tony@chromium.org
  • 3 edits
    1 add in trunk

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

[chromium] ignore IME events if the keydown event was prevented
https://bugs.webkit.org/show_bug.cgi?id=37692

A manual test to verify the IME behavior since the existing methods of
textInputController test at a lower level than the fix.

  • manual-tests/ime-keydown-preventdefault.html: Added.

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

[chromium] ignore IME events if the keydown event was prevented
https://bugs.webkit.org/show_bug.cgi?id=37692

  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::handleCompositionEvent):
7:26 PM Changeset in webkit [59734] by weinig@apple.com
  • 2 edits in trunk/WebCore

Fix the build for platforms that don't always include UnusedParam.h

  • dom/Attribute.cpp:
7:24 PM Changeset in webkit [59733] by morrita@google.com
  • 7 edits in trunk

2010-05-18 MORITA Hajime <morrita@google.com>

Reviewed by Kent Tamura.

[Chromium] Windows: Determinate progress bar should have glossy overlay
https://bugs.webkit.org/show_bug.cgi?id=39269

  • Moved animation code from RenderThemeChromiumWin to chromium tree because it should be behind the theme implementation, which lives in chromium tree.
  • Passed current time to the bridge, which will be used to compute the state of the theme animation.

No new tests, animation effect can be confirmed only manually.

  • platform/chromium/ChromiumBridge.h:
  • rendering/RenderProgress.h: (WebCore::RenderProgress::animationStartTime): Added.
  • rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-05-18 MORITA Hajime <morrita@google.com>

Reviewed by Kent Tamura.

[Chromium] Windows: Determinate progress bar should have glossy overlay
https://bugs.webkit.org/show_bug.cgi?id=39269

Changed WebThemeEngine::drawProgressBar() signature to delegate
theme implementation detail to the engine.
Chromium side will come to http://crbug.com/44430.

No new tests, animation effect can be confirmed only manually.

  • public/WebThemeEngine.h: (WebKit::WebThemeEngine::paintProgressBar):
  • src/ChromiumBridge.cpp: (WebCore::ChromiumBridge::paintProgressBar):
7:18 PM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
7:12 PM Changeset in webkit [59732] by weinig@apple.com
  • 2 edits in trunk/WebCore

Fix release build.

  • dom/Attribute.cpp:

(WebCore::Attribute::unbindAttr):

6:56 PM Changeset in webkit [59731] by weinig@apple.com
  • 4 edits in trunk/WebCore

Move Attr pointer from Attribute to a global HashMap.
https://bugs.webkit.org/show_bug.cgi?id=39337
<rdar://problem/8001168>

Reviewed by Maciej Stachowiak.

Shaves another word off of Attribute.

  • dom/Attr.cpp:

(WebCore::Attr::Attr):
(WebCore::Attr::~Attr):

  • dom/Attribute.cpp:

(WebCore::attributeAttrMap):
(WebCore::Attribute::attr):
(WebCore::Attribute::createAttrIfNeeded):
(WebCore::Attribute::bindAttr):
(WebCore::Attribute::unbindAttr):

  • dom/Attribute.h:

(WebCore::Attribute::Attribute):

6:52 PM Changeset in webkit [59730] by jamesr@google.com
  • 5 edits
    52 adds in trunk/LayoutTests

2010-05-18 James Robinson <jamesr@chromium.org>

Unreviewed.

Add leopard-specific pixel results for more tests that need them
https://bugs.webkit.org/show_bug.cgi?id=39325

This adds new Leopard baselines for all tests that currently
pass with tolerance=0 on Snow Leopard but fail on Leopard
with an image diff of <= 0.1%. These tests previously had
expectations in platform/mac that were Snow Leopard specific.

  • platform/mac-leopard/animations: Added.
  • platform/mac-leopard/animations/3d: Added.
  • platform/mac-leopard/animations/3d/change-transform-in-end-event-expected.checksum: Added.
  • platform/mac-leopard/animations/3d/change-transform-in-end-event-expected.png: Added.
  • platform/mac-leopard/compositing/animation: Added.
  • platform/mac-leopard/compositing/animation/state-at-end-event-transform-layer-expected.checksum: Added.
  • platform/mac-leopard/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
  • platform/mac-leopard/compositing/compositing-visible-descendant-expected.checksum: Added.
  • platform/mac-leopard/compositing/compositing-visible-descendant-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/abs-position-inside-opacity-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/abs-position-inside-opacity-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/fixed-position-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/fixed-position-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/partial-layout-update-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/partial-layout-update-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png: Added.
  • platform/mac-leopard/compositing/geometry/vertical-scroll-composited-expected.checksum: Added.
  • platform/mac-leopard/compositing/geometry/vertical-scroll-composited-expected.png: Added.
  • platform/mac-leopard/compositing/iframes/iframe-copy-on-scroll-expected.checksum: Added.
  • platform/mac-leopard/compositing/iframes/iframe-copy-on-scroll-expected.png: Added.
  • platform/mac-leopard/compositing/masks: Added.
  • platform/mac-leopard/compositing/masks/direct-image-mask-expected.checksum: Added.
  • platform/mac-leopard/compositing/masks/direct-image-mask-expected.png: Added.
  • platform/mac-leopard/compositing/overflow/fixed-position-ancestor-clip-expected.checksum: Added.
  • platform/mac-leopard/compositing/overflow/fixed-position-ancestor-clip-expected.png: Added.
  • platform/mac-leopard/compositing/reflections/reflection-in-composited-expected.checksum: Added.
  • platform/mac-leopard/compositing/reflections/reflection-in-composited-expected.png: Added.
  • platform/mac-leopard/compositing/reflections/reflection-ordering-expected.checksum: Added.
  • platform/mac-leopard/compositing/reflections/reflection-ordering-expected.png: Added.
  • platform/mac-leopard/compositing/repaint/content-into-overflow-expected.checksum: Added.
  • platform/mac-leopard/compositing/repaint/content-into-overflow-expected.png: Added.
  • platform/mac-leopard/compositing/repaint/layer-repaint-expected.checksum: Added.
  • platform/mac-leopard/compositing/repaint/layer-repaint-expected.png: Added.
  • platform/mac-leopard/compositing/repaint/opacity-between-absolute-expected.checksum: Added.
  • platform/mac-leopard/compositing/repaint/opacity-between-absolute-expected.png: Added.
  • platform/mac-leopard/compositing/repaint/opacity-between-absolute2-expected.checksum: Added.
  • platform/mac-leopard/compositing/repaint/opacity-between-absolute2-expected.png: Added.
  • platform/mac-leopard/fast/borders: Added.
  • platform/mac-leopard/fast/borders/svg-as-border-image-2-expected.checksum: Added.
  • platform/mac-leopard/fast/borders/svg-as-border-image-2-expected.png: Added.
  • platform/mac-leopard/fast/borders/svg-as-border-image-expected.checksum: Added.
  • platform/mac-leopard/fast/borders/svg-as-border-image-expected.png: Added.
  • platform/mac-leopard/fast/forms/placeholder-stripped-expected.checksum: Added.
  • platform/mac-leopard/fast/forms/placeholder-stripped-expected.png: Added.
  • platform/mac-leopard/fast/multicol: Added.
  • platform/mac-leopard/fast/multicol/column-count-with-rules-expected.checksum: Added.
  • platform/mac-leopard/fast/multicol/column-count-with-rules-expected.png: Added.
  • platform/mac-leopard/media/controls-strict-expected.checksum:
  • platform/mac-leopard/media/controls-strict-expected.png:
  • platform/mac-leopard/media/video-display-toggle-expected.checksum:
  • platform/mac-leopard/media/video-display-toggle-expected.png:
  • platform/mac-leopard/media/video-replaces-poster-expected.checksum: Added.
  • platform/mac-leopard/media/video-replaces-poster-expected.png: Added.
6:32 PM Changeset in webkit [59729] by jpetsovits@rim.com
  • 1 edit
    2 adds in trunk/WebCore

2010-05-18 Jakob Petsovits <jpetsovits@rim.com>

Unreviewed, forgot to svn add source file in r59619.
http://trac.webkit.org/changeset/59619

  • platform/image-decoders/openvg: Added.
  • platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added. (WebCore::RGBA32Buffer::asNewNativeImage):
6:16 PM Changeset in webkit [59728] by Martin Robinson
  • 2 edits in trunk/LayoutTests

2010-05-18 Martin Robinson <mrobinson@igalia.com>

Not reviewed.

[GTK] fast/dom/Geolocation/enabled.html is crashing on the bots
https://bugs.webkit.org/show_bug.cgi?id=39326

  • platform/gtk/Skipped: Skip another test causing crashes.
6:05 PM Changeset in webkit [59727] by yaar@chromium.org
  • 29 edits
    2 deletes in trunk

2010-05-18 Yaar Schnitman <yaar@chromium.org>

Unreviewed, rolling out r59693.
http://trac.webkit.org/changeset/59693
https://bugs.webkit.org/show_bug.cgi?id=37815

Broke GTK Release

  • Android.jscbindings.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript):
  • bindings/js/JSMainThreadExecState.cpp: Removed.
  • bindings/js/JSMainThreadExecState.h: Removed.
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call):
  • bindings/objc/ObjCEventListener.mm:
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]):
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm: (-[DOMTestCallback callbackWithClass1Param:]): (-[DOMTestCallback callbackWithClass2Param:strArg:]): (-[DOMTestCallback callbackWithNonBoolReturnType:]): (-[DOMTestCallback customCallback:class6Param:]):
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestObj.mm: (-[DOMTestObj readOnlyIntAttr]): (-[DOMTestObj readOnlyStringAttr]): (-[DOMTestObj readOnlyTestObjAttr]): (-[DOMTestObj intAttr]): (-[DOMTestObj setIntAttr:]): (-[DOMTestObj longLongAttr]): (-[DOMTestObj setLongLongAttr:]): (-[DOMTestObj unsignedLongLongAttr]): (-[DOMTestObj setUnsignedLongLongAttr:]): (-[DOMTestObj stringAttr]): (-[DOMTestObj setStringAttr:]): (-[DOMTestObj testObjAttr]): (-[DOMTestObj setTestObjAttr:]): (-[DOMTestObj attrWithException]): (-[DOMTestObj setAttrWithException:]): (-[DOMTestObj attrWithSetterException]): (-[DOMTestObj setAttrWithSetterException:]): (-[DOMTestObj attrWithGetterException]): (-[DOMTestObj setAttrWithGetterException:]): (-[DOMTestObj customAttr]): (-[DOMTestObj setCustomAttr:]): (-[DOMTestObj scriptStringAttr]): (-[DOMTestObj voidMethod]): (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): (-[DOMTestObj intMethod]): (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): (-[DOMTestObj objMethod]): (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): (-[DOMTestObj serializedValue:]): (-[DOMTestObj methodWithException]): (-[DOMTestObj customMethod]): (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): (-[DOMTestObj customArgsAndException:]): (-[DOMTestObj addEventListener:listener:useCapture:]): (-[DOMTestObj removeEventListener:listener:useCapture:]): (-[DOMTestObj withDynamicFrame]): (-[DOMTestObj withDynamicFrameAndArg:]): (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): (-[DOMTestObj withDynamicFrameAndUserGesture:]): (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): (-[DOMTestObj withScriptStateVoid]): (-[DOMTestObj withScriptStateObj]): (-[DOMTestObj withScriptStateVoidException]): (-[DOMTestObj withScriptStateObjException]): (-[DOMTestObj methodWithOptionalArg:]): (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
  • bindings/v8/ScriptController.cpp:
  • bindings/v8/ScriptController.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed):

2010-05-18 Yaar Schnitman <yaar@chromium.org>

Unreviewed, rolling out r59693.
http://trac.webkit.org/changeset/59693
https://bugs.webkit.org/show_bug.cgi?id=37815

Broke GTK Release

  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias.html:
5:57 PM Changeset in webkit [59726] by abarth@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement comment states for HTML5 lexer
https://bugs.webkit.org/show_bug.cgi?id=39334

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::nextToken):
5:52 PM Changeset in webkit [59725] by dpranke@chromium.org
  • 11 edits
    23 adds in trunk/WebKitTools

2010-05-18 Dirk Pranke <dpranke@chromium.org>

Reviewed by Ojan Vafai.

new-run-webkit-tests: implement '--reset-results' flag to complement
the '--new-baseline' flag. '--new-baseline' will always write the
results into the platform directory; '--reset-results' will update the
existing baseline wherever it happens to be. Both sets of behavior
are useful in different circumstances.

https://bugs.webkit.org/show_bug.cgi?id=38879

  • Scripts/webkitpy/layout_tests/data/image/canvas-bg.html: Added.
  • Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.checksum: Added.
  • Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.png: Added.
  • Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.txt: Added.
  • Scripts/webkitpy/layout_tests/data/image/canvas-zoom.html: Added.
  • Scripts/webkitpy/layout_tests/data/misc/crash-expected.txt: Added.
  • Scripts/webkitpy/layout_tests/data/misc/crash.html: Added.
  • Scripts/webkitpy/layout_tests/data/misc/missing-expectation.html: Added.
  • Scripts/webkitpy/layout_tests/data/misc/passing-expected.txt: Added.
  • Scripts/webkitpy/layout_tests/data/misc/passing.html: Added.
  • Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.checksum: Added.
  • Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.png: Added.
  • Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.txt: Added.
  • Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: Added.
  • Scripts/webkitpy/layout_tests/data/text/article-element-expected.txt: Added.
  • Scripts/webkitpy/layout_tests/data/text/article-element.html: Added.
  • Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py:
  • Scripts/webkitpy/layout_tests/port/test.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
  • Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
  • Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
  • Scripts/webkitpy/layout_tests/test_types/image_diff.py:
  • Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
  • Scripts/webkitpy/layout_tests/test_types/text_diff.py:
  • Scripts/webkitpy/layout_tests/port/test.py:
  • Scripts/webkitpy/layout_tests/port/dryrun.py:
5:50 PM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
5:42 PM Changeset in webkit [59724] by andersca@apple.com
  • 15 edits
    1 delete in trunk/WebCore

2010-05-18 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Move all member variables from MappedAttribute to Attribute.
https://bugs.webkit.org/show_bug.cgi?id=39336
<rdar://problem/8000853>

This saves one word because we no longer have any virtual member functions in Attribute, and
thus no vtable pointer.


I plan to remove MappedAttribute altogether in a subsequent commit.

  • Android.mk:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement):
  • dom/Attribute.cpp: (WebCore::Attribute::clone):
  • dom/Attribute.h: (WebCore::Attribute::create): (WebCore::Attribute::style): (WebCore::Attribute::decl): (WebCore::Attribute::setDecl): (WebCore::Attribute::isMappedAttribute): (WebCore::Attribute::Attribute):
  • dom/MappedAttribute.cpp: Removed.
  • dom/MappedAttribute.h: (WebCore::MappedAttribute::create): (WebCore::MappedAttribute::MappedAttribute): (WebCore::toMappedAttribute):
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::declCount): (WebCore::NamedMappedAttrMap::mapsEquivalent):
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
  • svg/SVGSVGElement.cpp: (WebCore::updateCSSForAttribute):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::getPresentationAttribute):
5:36 PM Changeset in webkit [59723] by jamesr@google.com
  • 1 edit
    36 adds in trunk/LayoutTests

2010-05-18 James Robinson <jamesr@chromium.org>

Unreviewed.

Add leopard-specific pixel results for tests that need them
https://bugs.webkit.org/show_bug.cgi?id=39325

This adds new Leopard baselines for all tests that currently
pass with tolerance=0 on Snow Leopard but fail on Leopard
with an image diff of <= 0.01%. These tests previously had
expectations in platform/mac that were Snow Leopard specific.

  • platform/mac-leopard/compositing/color-matching: Added.
  • platform/mac-leopard/compositing/color-matching/pdf-image-match-expected.checksum: Added.
  • platform/mac-leopard/compositing/color-matching/pdf-image-match-expected.png: Added.
  • platform/mac-leopard/compositing/reflections: Added.
  • platform/mac-leopard/compositing/reflections/simple-composited-reflections-expected.checksum: Added.
  • platform/mac-leopard/compositing/reflections/simple-composited-reflections-expected.png: Added.
  • platform/mac-leopard/compositing/repaint/overflow-into-content-expected.checksum: Added.
  • platform/mac-leopard/compositing/repaint/overflow-into-content-expected.png: Added.
  • platform/mac-leopard/editing/pasteboard: Added.
  • platform/mac-leopard/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum: Added.
  • platform/mac-leopard/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png: Added.
  • platform/mac-leopard/fast/css: Added.
  • platform/mac-leopard/fast/css/pseudo-cache-stale-expected.checksum: Added.
  • platform/mac-leopard/fast/css/pseudo-cache-stale-expected.png: Added.
  • platform/mac-leopard/fast/frames: Added.
  • platform/mac-leopard/fast/frames/take-focus-from-iframe-expected.checksum: Added.
  • platform/mac-leopard/fast/frames/take-focus-from-iframe-expected.png: Added.
  • platform/mac-leopard/fast/repaint: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-move-after-scroll-expected.checksum: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.checksum: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.checksum: Added.
  • platform/mac-leopard/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
  • platform/mac-leopard/fast/repaint/fixed-move-after-scroll-expected.checksum: Added.
  • platform/mac-leopard/fast/repaint/fixed-move-after-scroll-expected.png: Added.
  • platform/mac-leopard/fast/text/format-control-expected.checksum: Added.
  • platform/mac-leopard/fast/text/format-control-expected.png: Added.
  • platform/mac-leopard/plugins: Added.
  • platform/mac-leopard/plugins/qt-qwidget-plugin-expected.checksum: Added.
  • platform/mac-leopard/plugins/qt-qwidget-plugin-expected.png: Added.
  • platform/mac-leopard/transforms/svg-vs-css-expected.checksum: Added.
  • platform/mac-leopard/transforms/svg-vs-css-expected.png: Added.
  • platform/mac-leopard/transitions: Added.
  • platform/mac-leopard/transitions/move-after-transition-expected.checksum: Added.
  • platform/mac-leopard/transitions/move-after-transition-expected.png: Added.
5:36 PM Changeset in webkit [59722] by tony@chromium.org
  • 3 edits
    1 add in trunk

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24943
Command-B and Command-I do not generate keydown events in contentEditable regions.

  • manual-tests/style-keypress-events.html: Added.

2010-05-18 Tony Chang <tony@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24943
Command-B and Command-I do not generate keydown events in contentEditable regions.

Manual test because performKeyEquivalent is not called by DRT.

Test: manual-tests/style-keypress-events.html

  • WebView/WebHTMLView.mm: (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
5:31 PM Changeset in webkit [59721] by abarth@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Add more state to the HTML5 lexer
https://bugs.webkit.org/show_bug.cgi?id=39333

This code is just transliteration from the spec.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::HTML5Lexer): (WebCore::HTML5Lexer::nextToken):
  • html/HTML5Lexer.h:
4:55 PM Changeset in webkit [59720] by abarth@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement two more lexer states
https://bugs.webkit.org/show_bug.cgi?id=39298

No tests because Eric is still working on wiring up the lexer to the
test harness.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::nextToken): (WebCore::HTML5Lexer::emitParseError): (WebCore::HTML5Lexer::emitCurrentTagToken):
  • html/HTML5Lexer.h:
4:53 PM Changeset in webkit [59719] by beidson@apple.com
  • 10 edits
    1 copy
    4 adds in trunk

Repro crash with many Google image search results
<rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323

Reviewed by Maciej Stachowiak.

WebCore:

When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.

By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
crash and also prevent actually loading the plugin binaries.

I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.

Test: fast/loader/sandboxed-plugin-crash.html

  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,

replace it with a SinkDocument.

  • loader/PluginDocument.h:

(WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).

Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
data is handed to it:

  • loader/SinkDocument.cpp: Added.

(WebCore::SinkTokenizer::SinkTokenizer):
(WebCore::SinkTokenizer::write):
(WebCore::SinkTokenizer::isWaitingForScripts):
(WebCore::SinkTokenizer::wantsRawData):
(WebCore::SinkTokenizer::writeRawData):
(WebCore::SinkTokenizer::stopParsing):
(WebCore::SinkTokenizer::finish):
(WebCore::SinkDocument::SinkDocument):
(WebCore::SinkDocument::createTokenizer):

  • loader/SinkDocument.h: Added.

(WebCore::SinkDocument::create):

LayoutTests:

  • fast/loader/resources/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
  • fast/loader/sandboxed-plugin-crash-expected.txt: Added.
  • fast/loader/sandboxed-plugin-crash.html: Added.
3:53 PM Changeset in webkit [59718] by Martin Robinson
  • 2 edits in trunk/LayoutTests

2010-05-18 Martin Robinson <mrobinson@igalia.com>

No review necessary.

[GTK] fast/dom/Geolocation/enabled.html is crashing on the bots
https://bugs.webkit.org/show_bug.cgi?id=39326

  • platform/gtk/Skipped: Skip the crashing tests.
3:47 PM Changeset in webkit [59717] by Laszlo Gombos
  • 2 edits in trunk/WebKit/qt

2010-05-18 Laszlo Gombos <Laszlo Gombos>

Symbian build fix.

[Qt] Updated the def file with new exports after r59335.

  • symbian/eabi/QtWebKitu.def:
3:38 PM Changeset in webkit [59716] by weinig@apple.com
  • 3 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=39321
Reduce the size of ListHashSets used by Document
<rdar://problem/7999388>

Reviewed by Anders Carlsson.

Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
of the ListHashSets used by Document.

  • dom/Document.cpp:

(WebCore::Document::addStyleSheetCandidateNode):
(WebCore::Document::recalcStyleSelector):

  • dom/Document.h:
3:29 PM Changeset in webkit [59715] by jianli@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

Updated WebCore/Change to correct the bug link.

3:14 PM Changeset in webkit [59714] by Martin Robinson
  • 2 edits in trunk/WebKit/gtk

2010-05-18 Martin Robinson <mrobinson@igalia.com>

Reviewed by Xan Lopez.

[GTK] DragClientGtk::startDrag leaks GdkEvents
https://bugs.webkit.org/show_bug.cgi?id=39322

  • WebCoreSupport/DragClientGtk.cpp: (WebKit::DragClient::startDrag): Properly clean up allocated GdkEvent.
2:59 PM Changeset in webkit [59713] by kenneth@webkit.org
  • 2 edits in trunk/WebCore

Return null when creating an ImageBuffer failed, due to for
instance a nulled pixmap.

Rubberstamped by Simon Hausmann.

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBufferData::ImageBufferData):
(WebCore::ImageBuffer::ImageBuffer):

2:55 PM Changeset in webkit [59712] by jianli@chromium.org
  • 7 edits in trunk

Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
https://bugs.webkit.org/show_bug.cgi?id=39135

Reviewed by Dmitry Titov.

WebCore:

The timeout is caused by 59659 that changed the GC timer to 0 and thus
triggered a bug in FileReader code. The fix is to add more states so
that hasPendingActivity() can do the check correctly.

  • html/FileReader.cpp:

(WebCore::FileReader::FileReader):
(WebCore::FileReader::hasPendingActivity):
(WebCore::FileReader::readInternal):
(WebCore::FileReader::terminate):
(WebCore::FileReader::didStart):
(WebCore::FileReader::didGetSize):
(WebCore::FileReader::didRead):
(WebCore::FileReader::didFinish):
(WebCore::FileReader::didFail):
(WebCore::FileReader::readyState):
(WebCore::FileReader::result):

  • html/FileReader.h:

(WebCore::FileReader::):

LayoutTests:

Re-enale the file reader test.

  • fast/files/file-reader-expected.txt:
  • fast/files/file-reader.html:
  • platform/mac/Skipped:
2:37 PM Changeset in webkit [59711] by Simon Fraser
  • 3 edits in trunk/WebCore

2010-05-18 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler.

Clean up GraphicsLayer naming code
https://bugs.webkit.org/show_bug.cgi?id=39316

Move code that generates a name for the GraphicsLayer (used in debug builds only) into
a new nameForLayer() method. Use it when naming the foreground layer.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::updateForegroundLayer): (WebCore::RenderLayerBacking::nameForLayer):
  • rendering/RenderLayerBacking.h:
2:22 PM Changeset in webkit [59710] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59556.

2:22 PM Changeset in webkit [59709] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59495.

2:22 PM Changeset in webkit [59708] by mrowe@apple.com
  • 9 edits in branches/safari-533-branch/WebCore

Merge r59576.

2:22 PM Changeset in webkit [59707] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59486.

2:22 PM Changeset in webkit [59706] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/WebCore

Merge r59577.

2:22 PM Changeset in webkit [59705] by mrowe@apple.com
  • 3 edits
    1 add in branches/safari-533-branch/WebCore

Merge r59610.

2:22 PM Changeset in webkit [59704] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/WebCore

Merge r59609.

2:22 PM Changeset in webkit [59703] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59516.

2:21 PM Changeset in webkit [59702] by mrowe@apple.com
  • 1 edit
    1 add in branches/safari-533-branch/LayoutTests

Merge r59444.

2:21 PM Changeset in webkit [59701] by mrowe@apple.com
  • 3 edits
    4 adds in branches/safari-533-branch

Merge r59443.

2:21 PM Changeset in webkit [59700] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59390.

2:21 PM Changeset in webkit [59699] by mrowe@apple.com
  • 3 edits
    2 adds in branches/safari-533-branch

Merge r59591.

2:21 PM Changeset in webkit [59698] by mrowe@apple.com
  • 11 edits in branches/safari-533-branch/WebCore

Merge r59629.

2:21 PM Changeset in webkit [59697] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/WebCore

Merge r59583.

2:21 PM Changeset in webkit [59696] by mrowe@apple.com
  • 6 edits in branches/safari-533-branch

Merge r59514.

2:21 PM Changeset in webkit [59695] by mrowe@apple.com
  • 2 edits in branches/safari-533-branch/JavaScriptCore

Merge r59587.

2:20 PM Changeset in webkit [59694] by mrowe@apple.com
  • 7 edits in branches/safari-533-branch

Merge r59547.

2:15 PM Changeset in webkit [59693] by yaar@chromium.org
  • 29 edits
    2 adds in trunk

2010-05-18 Justin Schuh <jschuh@chromium.org>

Reviewed by Adam Barth.

Moving frame.src checks out of the bindings
https://bugs.webkit.org/show_bug.cgi?id=37815

Moved JavaScript frame.src checks out of bindings and into
HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
so ExecState is available inside core DOM. Updated affected bindings
(except for GObject, which will need to be updated to avoid origin
failures inside native code).

  • Android.jscbindings.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::createInjectedScript):
  • bindings/js/JSMainThreadExecState.cpp: Added.
  • bindings/js/JSMainThreadExecState.h: Added. (WebCore::JSMainThreadExecState::currentState): (WebCore::JSMainThreadExecState::call): (WebCore::JSMainThreadExecState::evaluate): (WebCore::JSMainThreadExecState::JSMainThreadExecState): (WebCore::JSMainThreadExecState::~JSMainThreadExecState): (WebCore::JSMainThreadNullState::JSMainThreadNullState):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::canAccessFromCurrentOrigin):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call):
  • bindings/objc/ObjCEventListener.mm:
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]):
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm: (-[DOMTestCallback callbackWithClass1Param:]): (-[DOMTestCallback callbackWithClass2Param:strArg:]): (-[DOMTestCallback callbackWithNonBoolReturnType:]): (-[DOMTestCallback customCallback:class6Param:]):
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestObj.mm: (-[DOMTestObj readOnlyIntAttr]): (-[DOMTestObj readOnlyStringAttr]): (-[DOMTestObj readOnlyTestObjAttr]): (-[DOMTestObj intAttr]): (-[DOMTestObj setIntAttr:]): (-[DOMTestObj longLongAttr]): (-[DOMTestObj setLongLongAttr:]): (-[DOMTestObj unsignedLongLongAttr]): (-[DOMTestObj setUnsignedLongLongAttr:]): (-[DOMTestObj stringAttr]): (-[DOMTestObj setStringAttr:]): (-[DOMTestObj testObjAttr]): (-[DOMTestObj setTestObjAttr:]): (-[DOMTestObj attrWithException]): (-[DOMTestObj setAttrWithException:]): (-[DOMTestObj attrWithSetterException]): (-[DOMTestObj setAttrWithSetterException:]): (-[DOMTestObj attrWithGetterException]): (-[DOMTestObj setAttrWithGetterException:]): (-[DOMTestObj customAttr]): (-[DOMTestObj setCustomAttr:]): (-[DOMTestObj scriptStringAttr]): (-[DOMTestObj voidMethod]): (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): (-[DOMTestObj intMethod]): (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): (-[DOMTestObj objMethod]): (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): (-[DOMTestObj serializedValue:]): (-[DOMTestObj methodWithException]): (-[DOMTestObj customMethod]): (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): (-[DOMTestObj customArgsAndException:]): (-[DOMTestObj addEventListener:listener:useCapture:]): (-[DOMTestObj removeEventListener:listener:useCapture:]): (-[DOMTestObj withDynamicFrame]): (-[DOMTestObj withDynamicFrameAndArg:]): (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): (-[DOMTestObj withDynamicFrameAndUserGesture:]): (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): (-[DOMTestObj withScriptStateVoid]): (-[DOMTestObj withScriptStateObj]): (-[DOMTestObj withScriptStateVoidException]): (-[DOMTestObj withScriptStateObjException]): (-[DOMTestObj methodWithOptionalArg:]): (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::canAccessFromCurrentOrigin):
  • bindings/v8/ScriptController.h:
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed):

2010-05-18 Justin Schuh <jschuh@chromium.org>

Reviewed by Adam Barth.

Moving frame.src checks out of the bindings
https://bugs.webkit.org/show_bug.cgi?id=37815

  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias.html:
2:11 PM Changeset in webkit [59692] by crogers@google.com
  • 13 edits
    2 copies
    2 adds in branches/audio

Add initial implementation for JavascriptAudioSourceNode

  • this is very experimental to get us quickly up and running
  • fix AudioContext to not use static global for timing!
  • unfinished steps at getting V8 bindings working again
1:52 PM Changeset in webkit [59691] by atwilson@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed: Speculative build fix for Chromium win.

  • platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
1:39 PM Changeset in webkit [59690] by atwilson@chromium.org
  • 2 edits in trunk/WebCore

Unreviewed fix for Chromium build break.

  • platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
1:22 PM Changeset in webkit [59689] by dimich@chromium.org
  • 8 edits in trunk

DragData::asURL() shouldn't do file validity checks
https://bugs.webkit.org/show_bug.cgi?id=38711

Patch by Daniel Cheng <dcheng@chromium.org> on 2010-05-18
Reviewed by Darin Adler, Jian Li.

WebCore:

There's no point to trying to make sure the file is valid in
DragData::asURL(). It's better to ask for forgiveness than to ask for
permission, since asking for permission is prone to race conditions
and results in unnecessary I/O. Consumers of this function either:

  • need to verify the file exists themselves (e.g. the loader)
  • don't care about file validity (rich text drag-and-drop)
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asURL):

WebKit/mac:

Change [NSPasteboard _web_bestURL] to still return a file URL for paths
that don't exist. Callers who care about the existence of the file or
whether or not it is a directory should check themselves when they
want to use the file. The directory check has been left in for now,
since the Mac implementation of ResourceHandle, which uses this function
indirectly via DragController::performDrag) handles directories somewhat
non-intuitively: it opens the parent directory in the Finder, rather
than opening the directory itself.

  • Misc/WebNSPasteboardExtras.mm:

(-[NSPasteboard _web_bestURL]):

LayoutTests:

Several layout tests depended on the fact that dropping a file would
never trigger navigation. This never happened to occur in the past,
since it just so happened that the filenames used in the tests never
resolved to files that exist. Since DragData::asURL() no longer tries
to verify file existence, the layout tests were updated to either
suppress navigation or log any navigation that should occur as part of
the test.

  • editing/pasteboard/file-input-files-access-expected.txt:
  • editing/pasteboard/script-tests/file-input-files-access.js:

(runTest.window.onbeforeunload):
(runTest):

  • http/tests/security/clipboard/script-tests/clipboard-file-access.js:
1:21 PM Changeset in webkit [59688] by timothy@apple.com
  • 12 edits in trunk/WebCore

Fix a handful of various localization issues in the Web Inspector.

  • Localize strings that where not localized.
  • Make WebInspector.UIString work without bind.
  • Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
  • Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
  • Use an ellipsis instead of three periods.

https://webkit.org/b/39303
rdar://problem/7997101

Reviewed by Adam Roben.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/AuditRules.js:

(WebInspector.AuditRules.GzipRule.prototype.doRun):
(WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
(WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView):

  • inspector/front-end/ImageView.js:

(WebInspector.ImageView.prototype.contentTabSelected):

  • inspector/front-end/ProfileDataGridTree.js:

(WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
(WebInspector.ProfileDataGridNode.prototype.get data):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.ResourceTimeCalculator.prototype.formatValue):
(WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
(WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
(WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._registerShortcuts):

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._contextMenu):

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewCalculator):
(WebInspector.TimelineOverviewCalculator.prototype.formatValue):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):
(WebInspector.TimelineCalculator):
(WebInspector.TimelineCalculator.prototype.formatValue):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
(WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
(WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):

  • inspector/front-end/inspector.js:

(WebInspector.loaded):
(WebInspector.setRecordingProfile):
(WebInspector.UIString):

1:16 PM Changeset in webkit [59687] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-05-18 Eric Seidel <eric@webkit.org>

Reviewed by Adam Roben.

Add an --html5-parser option to DumpRenderTree to allow testing the new HTML5Lexer
https://bugs.webkit.org/show_bug.cgi?id=39311

This flag allows us to run the new HTML5Lexer code.
Right now all documents parse as empty documents, but
now that we're able to run the code we can fix that.

Once we're able to lex a few basic documents I'll add
an --html5-parser flag to run-webkit-tests so that we test
running all of the layout tests with the HTML5 parser.

  • DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): (initializeGlobalsFromCommandLineOptions):
1:13 PM Changeset in webkit [59686] by weinig@apple.com
  • 2 edits in trunk/WebCore

Another attempt to fix the build.

  • css/CSSCursorImageValue.cpp:
12:48 PM QtWebKitTriageRoster edited by Simon Hausmann
(diff)
12:46 PM QtWebKitBugs edited by Simon Hausmann
(diff)
12:45 PM Changeset in webkit [59685] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

Try to fix the windows build.

  • API/JSStringRefBSTR.cpp:
12:33 PM Changeset in webkit [59684] by Adam Roben
  • 2 edits in trunk/WebCore

Make accelerated compositing work on machines that don't support hardware vertex processing

Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
compositing on Windows doesn't work on machines that don't support
hardware vertex processing, but should

Reviewed by Eric Carlson.

  • platform/graphics/win/WKCACFLayerRenderer.cpp:

(WebCore::WKCACFLayerRenderer::createRenderer): Query the device
capabilities to decide whether to request hardware or software vertex
processing.

12:33 PM Changeset in webkit [59683] by Adam Roben
  • 3 edits
    1 move in trunk/WebCore

Make WKCACFLayerRenderer robust against temporary failure of Direct3DCreate9 and IDirect3D9::CreateDevice

For a short time after waking from sleep, Direct3DCreate9() will
return an IDirect3D9 for which IDirect3D9::CreateDevice will always
fail. Also during this time period, IDirect3D9::CreateDevice
will fail even for non-bad IDirect3D9s. (It will later start
succeeding.) WKCACFLayerRenderer now works around this behavior by
detecting when it might be in this situation and calling these
functions again later.

Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
doesn't repaint until page reloads when page using hardware
acceleration loads just after waking from sleep

Reviewed by John Sullivan.

  • manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:

Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
Modified to also include instructions for reproducing this bug.

  • platform/graphics/win/WKCACFLayerRenderer.cpp:

(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
new member is initialized to true, since we haven't even tried to
create a device once yet.
(WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
D3D device, or we don't have one and are sure that we won't be able to
create one later, just return the previously-created device, if any.
We assume that we won't be able to create a device later if this
function fails, unless the function fails due to CreateDevice failing.
As noted above, CreateDevice will sometimes temporarily fail and then
later start working again. When CreateDevice fails, we also assume
that we might have a bad IDirect3D9, so we get rid of the one we have
so a new (and hopefully non-bad) one will be allocated later.
(WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
device.
(WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
create our D3D device and renderer. If this fails, we bail out, but if
we think we might be able to create a device later we schedule another
paint (via renderSoon()) so that we'll try again soon.

  • platform/graphics/win/WKCACFLayerRenderer.h: Replaced

m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.

12:32 PM Changeset in webkit [59682] by Adam Roben
  • 2 edits
    1 add in trunk/WebCore

Fix a crash when a page that uses accelerated compositing loads soon after the computer wakes from sleep

The set-up:

For a short time after waking from sleep, IDirect3D9::CreateDevice
will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
and meant that WKCACFLayerRenderer never allocated a root layer.
WebView wouldn't notice that createRenderer failed, and would go ahead
and try to use the root layer anyway, resulting in a crash.

The fix:

We now allocate the root layer (and all the other members of
WKCACFLayerRenderer that aren't dependent on having an
IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
layers will always be present, even when creating the D3D device
fails.

There are two remaining problems:

1) This results in slightly more memory usage in the case where

CreateDevice fails.

2) Once we get into this bad state, the WebView doesn't repaint

until we navigate somewhere else.

(2) is covered by
<http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
retrying CreateDevice later in hopes that it will succeed after more
time has passed. This will in turn fix (1). (We should never end up in
a case where CreateDevice fails forever because we already did some
preliminary checks in acceleratedCompositingAvailable().)

Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
(preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
computer wakes from sleep on particular page

Reviewed by John Sullivan.

  • manual-tests/crash-after-wake-from-sleep.html: Added. This

is the Poster Circle demo from webkit.org/blog, but modified to
automatically reload every 5 seconds and with instructions to put the
computer to sleep and wake it up again.

  • platform/graphics/win/WKCACFLayerRenderer.cpp:

(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
initialize m_context, m_renderContext, and m_*Layer here...
(WebCore::WKCACFLayerRenderer::createRenderer): ...from here.

12:32 PM Changeset in webkit [59681] by Adam Roben
  • 2 edits in trunk/WebCore

Remove an unused member variable from WKCACFLayerRenderer

Rubber-stamped by Ada Chan.

  • platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,

which is unused.

12:25 PM Changeset in webkit [59680] by andersca@apple.com
  • 3 edits in trunk/WebCore

2010-05-18 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Allocate the m_preloads list hash set dynamically and free it when done.
https://bugs.webkit.org/show_bug.cgi?id=39309
<rdar://problem/7998495>

This saves about 6000 bytes on a fully loaded document.

  • loader/DocLoader.cpp: (WebCore::DocLoader::requestPreload): (WebCore::DocLoader::clearPreloads):
  • loader/DocLoader.h:
12:16 PM Changeset in webkit [59679] by andersca@apple.com
  • 2 edits in trunk/WebCore

Revert unintended indentation and unnecessary nested name specifier.

  • rendering/RenderBlock.cpp:

(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::insertPositionedObject):

11:58 AM Changeset in webkit [59678] by andersca@apple.com
  • 6 edits in trunk

2010-05-18 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
https://bugs.webkit.org/show_bug.cgi?id=39304
<rdar://problem/7998366>

Add an inlineCapacity template parameter to ListHashSet.

  • wtf/ListHashSet.h: (WTF::::ListHashSet): (WTF::::operator): (WTF::::swap): (WTF::::~ListHashSet): (WTF::::size): (WTF::::capacity): (WTF::::isEmpty): (WTF::::begin): (WTF::::end): (WTF::::find): (WTF::::contains): (WTF::::add): (WTF::::insertBefore): (WTF::::remove): (WTF::::clear): (WTF::::unlinkAndDelete): (WTF::::appendNode): (WTF::::insertNodeBefore): (WTF::::deleteAllNodes): (WTF::::makeIterator): (WTF::::makeConstIterator): (WTF::deleteAllValues):

2010-05-18 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
https://bugs.webkit.org/show_bug.cgi?id=39304
<rdar://problem/7998366>

Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has
few positioned objects, this saves memory.

  • WebCore.base.exp:
  • rendering/RenderBlock.cpp: (WebCore::clipOutPositionedObjects): (WebCore::RenderBlock::insertPositionedObject):
  • rendering/RenderBlock.h: (WebCore::RenderBlock::positionedObjects):
11:43 AM Changeset in webkit [59677] by weinig@apple.com
  • 11 edits
    2 moves in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=39258
Remove NamedAttrMap residual gunk

Reviewed by Darin Adler.

Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
it contained.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/v8/custom/V8NamedNodesCollection.cpp:
  • dom/NamedAttrMap.cpp: Removed.
  • dom/NamedAttrMap.h: Removed.
  • dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
  • dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
  • editing/ReplaceNodeWithSpanCommand.cpp:
  • platform/chromium/ClipboardChromium.cpp:
11:32 AM Changeset in webkit [59676] by loki@webkit.org
  • 5 edits in trunk/JavaScriptCore

Fix the interpreter after r59637
https://bugs.webkit.org/show_bug.cgi?id=39287

Reviewed by Darin Adler.

  • runtime/Executable.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::getCallData):

  • runtime/JSGlobalData.cpp:
  • runtime/JSGlobalData.h:
11:28 AM Changeset in webkit [59675] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Build fix. Disable file-reader.html for more investigation.

  • platform/mac/Skipped:
11:28 AM Changeset in webkit [59674] by beidson@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org

Reviewed by Eric Carlson.

NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
canplay event to come in before calling play itself.

After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.

No new tests. (Currently no way to test such site specific hack behavior)

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
(WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.

  • html/HTMLMediaElement.h:
11:09 AM Changeset in webkit [59673] by jpetsovits@rim.com
  • 3 edits in trunk/WebCore

2010-05-18 Jakob Petsovits <jpetsovits@rim.com>

Reviewed by Dirk Schulze.

[OpenVG] Fix stupid build errors from the OpenVG Path commit
https://bugs.webkit.org/show_bug.cgi?id=39228

  • platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PainterOpenVG::clipPath):
  • platform/graphics/openvg/PathOpenVG.cpp: (WebCore::Path::transform):
10:30 AM Changeset in webkit [59672] by jianli@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed. Build fix. Disable test cases in file-reader.html that
cause time-out in mac bot for further investigation.

  • fast/files/file-reader-expected.txt:
  • fast/files/file-reader.html:
10:27 AM Changeset in webkit [59671] by jparent@chromium.org
  • 3 edits in trunk/BugsSite

Rietveld review page should dedicate more space to Rietveld, less to high level comments form.

Reviewed by Ojan Vafai.

https://bugs.webkit.org/show_bug.cgi?id=39244

  • template/en/custom/attachment/reviewform.html.tmpl:

Delete a random BR amongst the hidden elements that was causing extra whitespace.

  • template/en/custom/attachment/rietveldreview.html.tmpl:

Increase size of Rietveld frame to 80%, from 60%.

9:18 AM Changeset in webkit [59670] by Chris Jerdonek
  • 3 edits in trunk/WebCore

2010-05-18 Chris Jerdonek <Chris Jerdonek>

Reviewed by Darin Adler.

Refactored FrameLoader::isDocumentSandboxed() from a private member function
to a static, non-member, non-friend function.

https://bugs.webkit.org/show_bug.cgi?id=39157

Making this function non-private lets us make FrameLoader::createWindow()
a non-member function in a subsequent patch. We also made it non-member
rather than member to increase encapsulation and limit the number of
public functions with access to private FrameLoader data.

No new functionality, so no new tests.

  • loader/FrameLoader.cpp: (WebCore::isDocumentSandboxed):
    • Moved this function from a private member function of FrameLoader to a static, non-member, non-friend function.

(WebCore::FrameLoader::createWindow):

  • Updated the call to isDocumentSandboxed().

(WebCore::FrameLoader::submitForm):

  • Updated the call to isDocumentSandboxed().

(WebCore::FrameLoader::requestObject):

  • Updated the call to isDocumentSandboxed().

(WebCore::FrameLoader::shouldAllowNavigation):

  • Updated the call to isDocumentSandboxed().
  • loader/FrameLoader.h:
    • Removed isDocumentSandboxed() and added a FIXME to move createWindow() out of the FrameLoader class.
7:07 AM Changeset in webkit [59669] by Simon Hausmann
  • 5 edits in trunk

[Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html

2010-05-08 Robert Hogan <robert@roberthogan.net>

Reviewed by Simon Hausmann.

[Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html

and http/tests/xmlhttprequest/cross-origin-authorization.html

QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
without knowing if this is valid behaviour or not. In order to allow
Qt to decide whether Cookie/Authorization headers should be added
to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
QNetworkRequest::CookieSaveControlAttribute,and
QNetworkRequest::AuthenticationReuseControlAttribute.

QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
unless withCredentials is set to true in the XHR.

QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
is set to true in the XHR.

Qt will pass the values onto QHttpNetworkRequest and this will permit
the Qt network access processing to decide whether or not to add either
or both of the Cookie/Authorisation headers, and whether to save cookies
returned from such requests. By default the attribute
will always be true so unless QtWebKit sets it to false normal
header processing is unaffected.

There are platform-specific results for cross-origin-no-authorization.html:

  1. Qt's DRT does not capture the final 'DONE'.
  2. QNetworkReplyHandler.cpp's ignoreHttpError() means that async requests do not execute didFail() when they receive a 401 HTTP response. This results in async tests passing with '401 Authorisation required' rather than 'received error event'.

The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592

In order to properly support the tests, Qt's DRT needs to use one
NetworkAccessManager for all pages. This allows it to use cached
credentials where appropriate.

The tests now pass when run individually but there seems to be a problem with
leaking the results of requests across tests when run with the others in
http/tests. This will be addressed in a separate patch.

https://bugs.webkit.org/show_bug.cgi?id=32967

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::WebPage::WebPage): (WebCore::DumpRenderTree::DumpRenderTree):
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • platform/network/qt/ResourceRequestQt.cpp: (WebCore::ResourceRequest::toNetworkRequest):
  • platform/qt/Skipped: Group together the tests that are waiting for 4.7 to be unskipped.
  • platform/qt/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt: Added.
6:25 AM Changeset in webkit [59668] by zherczeg@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Implementing clipToImageBuffer for Qt port.
https://bugs.webkit.org/show_bug.cgi?id=24289

Reviewed by Kenneth Rohde Christiansen.

The implementation combines pixmap layers and destinationIn
composition mode.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::inTransparencyLayer):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::clipToImageBuffer):

4:04 AM Changeset in webkit [59667] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Eric Seidel <eric@webkit.org>

Unreviewed build fix.

Make it possible to enable the new HTML5Tokenizer for testing
https://bugs.webkit.org/show_bug.cgi?id=39275

  • WebCore.gypi:
    • Fix HTMLLexer.* -> HTML5Lexer.*
  • WebCore.vcproj/WebCore.vcproj:
    • Add HTML5Lexer and HTML5Tokenizer to project.
3:40 AM Changeset in webkit [59666] by ukai@chromium.org
  • 3 edits in trunk/WebKitTools

2010-05-18 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Eric Seidel.

run_webkit_tests_unittest fails on SnowLeopard
https://bugs.webkit.org/show_bug.cgi?id=39279

  • Scripts/webkitpy/layout_tests/port/base.py: Return copy of os.environ.
  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: Check os.environ was not modified.
3:38 AM Changeset in webkit [59665] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-05-18 Eric Seidel <eric@webkit.org>

Unreviewed build fix.

Make it possible to enable the new HTML5Tokenizer for testing
https://bugs.webkit.org/show_bug.cgi?id=39275

  • dom/NamedAttrMap.cpp: (WebCore::NamedNodeMap::setNamedItemNS):
    • Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
  • dom/NamedAttrMap.h:
  • html/HTML5Token.h:
    • Remove #include "String.h" which was wrong. Adam meant "PlatformString.h"
    • Remove unneeded #include "Node.h", it was only needed because NamedAttrMap.h was incorrectly depending on Node.h but not including it. It didn't actually need Node.h except for one inlined method setNamedItemNS, so I moved setNamedItemNS into the .cpp to get rid of the Node.h requirement.
3:17 AM Changeset in webkit [59664] by eric@webkit.org
  • 20 edits
    2 copies in trunk

2010-05-18 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Make it possible to enable the new HTML5Tokenizer for testing
https://bugs.webkit.org/show_bug.cgi?id=39275

I added html5ParserEnabled to Settings so that we can enable/disable
the HTML5 parser for testing.

I also ripped out a bunch of dead code from HTML5Lexer.

I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
the build wouldn't fail now that we reference these classes from HTMLDocument.

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::reset): (WebCore::isWhitespace): (WebCore::HTML5Lexer::nextToken):
  • html/HTML5Lexer.h:
  • html/HTML5Tokenizer.cpp: Added. (WebCore::HTML5Tokenizer::HTML5Tokenizer): (WebCore::HTML5Tokenizer::~HTML5Tokenizer): (WebCore::HTML5Tokenizer::begin): (WebCore::HTML5Tokenizer::write): (WebCore::HTML5Tokenizer::end): (WebCore::HTML5Tokenizer::finish): (WebCore::HTML5Tokenizer::isWaitingForScripts):
  • html/HTML5Tokenizer.h: Added.
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createTokenizer):
  • html/HTMLTokenizer.h:
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createTokenizer):
  • page/Settings.cpp: (WebCore::Settings::Settings):
  • page/Settings.h: (WebCore::Settings::setHTML5ParserEnabled): (WebCore::Settings::html5ParserEnabled):

2010-05-18 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth (and Maciej Stachowiak).

Make it possible to enable the new HTML5Tokenizer for testing
https://bugs.webkit.org/show_bug.cgi?id=39275

Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences html5ParserEnabled]): (-[WebPreferences setHTML5ParserEnabled:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]):
2:08 AM Changeset in webkit [59663] by abarth@webkit.org
  • 4 edits
    1 add in trunk/WebCore

2010-05-18 Maciej Stachowiak <mjs@apple.com>

Not reviewed, build fix.

Attempt to fix build for v8 bindings (untested).

  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::clearWindowShell):
  • bindings/v8/ScriptController.h:
2:04 AM Changeset in webkit [59662] by mjs@apple.com
  • 3 edits in trunk/WebCore

Not reviewed, build fix.

Attempt to fix build for v8 bindings (untested).

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell):

  • bindings/v8/ScriptController.h:
1:52 AM Changeset in webkit [59661] by ukai@chromium.org
  • 4 edits
    1 add in trunk/WebKitTools

2010-05-18 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Eric Seidel.

Chromium: new-run-webkit-httpd fails to setup_mount
https://bugs.webkit.org/show_bug.cgi?id=39257

  • Scripts/webkitpy/common/system/executive.py: Assert type of args in run_command.
  • Scripts/webkitpy/common/system/executive_unittest.py: Add test_run_command_args_type
  • Scripts/webkitpy/layout_tests/port/chromium_win.py: Executive.run_command takes array for command line.
  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: Test if setup_environ_for_server() run setup_mount.bat.
1:42 AM Changeset in webkit [59660] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Fix QWebHistory serialization.

Patch by Jedrzej Nowacki <jedrzej.nowacki@nokia.com> on 2010-05-18
Reviewed by Simon Hausmann.

Regression was caused by bug 33224. The streaming function
should generate a documentSequenceNumber for all loaded values.

[Qt] tst_QWebHistory::serialize_2() fails
https://bugs.webkit.org/show_bug.cgi?id=37322

  • Api/qwebhistory.cpp:

(operator>>):

1:09 AM Changeset in webkit [59659] by mjs@apple.com
  • 5 edits in trunk/WebCore

2010-05-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
https://bugs.webkit.org/show_bug.cgi?id=39254
<rdar://problem/7996370>

~1% PLT speedup
~4% iBench HTML speedup

  • bindings/js/GCController.cpp: (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of 0.5 second.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't garbageColectSoon if the page is going into the page cache.
  • bindings/js/ScriptController.h: Prototype change for above.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
12:24 AM Changeset in webkit [59658] by abarth@webkit.org
  • 3 edits in trunk/WebCore

2010-05-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement ScriptData states for HTML5Lexer
https://bugs.webkit.org/show_bug.cgi?id=39273

This patch implements more of the lexer states according to the HTML5
specification. Currently, this code is compiled by not tested. We're
working on bringing up a test harness in parallel with transliterating
the spec into code.

  • html/HTML5Lexer.cpp: (WebCore::HTML5Lexer::tokenize): (WebCore::HTML5Lexer::temporaryBufferIs):
  • html/HTML5Lexer.h: (WebCore::HTML5Lexer::):
12:00 AM Changeset in webkit [59657] by eric@webkit.org
  • 2 edits
    2 moves in trunk/WebCore

2010-05-17 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
https://bugs.webkit.org/show_bug.cgi?id=39272

Strictly a rename, no functionality change.

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTML5Lexer.cpp: Added.
  • html/HTML5Lexer.h: Added.
  • html/HTML5Tokenizer.cpp: Removed.
  • html/HTML5Tokenizer.h: Removed.
Note: See TracTimeline for information about the timeline view.