Timeline


and

01/16/09:

23:17 Changeset [40007] by hyatt@apple.com
  • 16 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Take Font out of the GraphicsContext. Fonts are moderately expensive to both compare and to assign to.
The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be,
and was also causing expensive comparison checks to be made before doing alterations of the Font in the
GraphicsContext.

A font must now be passed as a parameter to all text drawing functions.

Reviewed by Oliver Hunt

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont): (WebCore::CanvasRenderingContext2D::drawTextInternal):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): (WebCore::GraphicsContext::drawBidiText): (WebCore::GraphicsContext::drawHighlightForText):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h:
  • platform/graphics/qt/GraphicsContextQt.cpp:
  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint):
  • rendering/InlineTextBox.cpp: (WebCore::paintTextWithShadows): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::paintDocumentMarkers):
  • rendering/InlineTextBox.h:
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paintCharacters): (WebCore::SVGInlineTextBox::paintSelection):
  • rendering/SVGInlineTextBox.h:
  • svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont):
22:54 Changeset [40006] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed
two if statements.

Reviewed by Oliver Hunt

  • rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteQuads):
22:36 Changeset [40005] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Fix a regression from my before/after optimization. Make sure the <q> element puts the document
into a mode where it will respect before/after rules, since <q> implicitly uses such rules.

Make sure view source mode documents also turn on before/after rules, since they are used there also.

Reviewed by Oliver Hunt

  • html/HTMLElementFactory.cpp: (WebCore::quoteConstructor):
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
20:57 Changeset [40004] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-01-16 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

On x86-64 jit, cache JSImmedate::TagMask & JSImmedate::TagTypeNumber in
registers, save reloading them every time they're used.

Draws x86-64 jit performance close to that of i386 jit.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::subPtr): (JSC::MacroAssembler::jnzPtr): (JSC::MacroAssembler::jzPtr):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpIfImmediateNumber): (JSC::JIT::emitJumpIfNotImmediateNumber): (JSC::JIT::emitJumpIfImmediateInteger): (JSC::JIT::emitJumpIfNotImmediateInteger): (JSC::JIT::emitFastArithIntToImmNoCheck):
17:47 Changeset [40003] by cfleizach@apple.com
  • 6 edits
    2 adds in trunk

Bug 23397: AXURL is not reported for <INPUT type="image"> elements
https://bugs.webkit.org/show_bug.cgi?id=23397

The AXURL of a <INPUT type="image"> element should be the URL of the image

17:14 Changeset [40002] by adele@apple.com
  • 2 edits in trunk/WebCore

2009-01-16 Adele Peterson <adele@apple.com>

Windows build fix.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision):
16:50 Changeset [40001] by sfalken@apple.com
  • 5 edits in trunk

<rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed.


This was caused by mismatched ENABLE definitions across WebCore and WebKit.


Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO).
In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE
to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows.
Our Windows ENABLE flags now match Mac.

Reviewed by Adele Peterson.

16:47 Changeset [40000] by mrowe@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

40,000!

16:47 Changeset [39999] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

2009-01-16 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

  • Scripts/webkitdirs.pm: Added '--makeargs' parameter which can pass additional parameters to make command in QMake projects.
16:39 Changeset [39998] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-01-16 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Add support to x86-64 JIT for inline double precision arithmetic ops.
+5/6% on x86-64, JIT enabled, sunspider.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movq_rr):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_pre_inc): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArithSlow_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileFastArithSlow_op_sub):
  • parser/ResultType.h: (JSC::ResultType::isReusable): (JSC::ResultType::isInt32): (JSC::ResultType::definitelyIsNumber): (JSC::ResultType::mightBeNumber): (JSC::ResultType::isNotNumber): (JSC::ResultType::unknownType):
16:30 Changeset [39997] by eric@webkit.org
  • 11 edits in trunk/WebCore

Reviewed by Justin Garcia.

Make surroundNodeRangeWithElement call insertNodeBefore implicitly
Make insertNodeBefore take PassRefPtr
Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code.
https://bugs.webkit.org/show_bug.cgi?id=23389

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::applyTextDecorationStyle): (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
  • editing/ApplyStyleCommand.h:
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNodeAt):
  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::insertTab):
  • editing/ModifySelectionListLevel.cpp: (WebCore::IncreaseSelectionListLevelCommand::doApply):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::removeNodePreservingChildren): (WebCore::ReplacementFragment::insertNodeBefore): (WebCore::ReplacementFragment::removeInterchangeNodes): (WebCore::ReplaceSelectionCommand::doApply): (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted):
  • editing/ReplaceSelectionCommand.h:
16:15 Changeset [39996] by cfleizach@apple.com
  • 3 edits
    2 adds in trunk

Bug 23393: TextField has AXTitle and AXTitleUIElement
https://bugs.webkit.org/show_bug.cgi?id=23393

A control that only has a label can have an AXTitle and an AXTitleUIElement.
It should only have the AXTitleUIElement

15:48 Changeset [39995] by treat@webkit.org
  • 2 edits in trunk/WebCore

The correct build fix for all platforms.

15:39 Changeset [39994] by treat@webkit.org
  • 2 edits in trunk/WebCore

Fix the Qt build.

15:34 Changeset [39993] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2009-01-16 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Fixes for SamplingTool.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::storePtr):
  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::run): (JSC::SamplingTool::dump):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::encodeSample):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::JIT::samplingToolTrackCodeBlock):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITInlineMethods.h: (JSC::JIT::emitCTICall_internal):
15:28 Changeset [39992] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules
are being used. If not, don't waste time probing for those pseudo element styles.

Reviewed by Sam Weinig

  • css/CSSGrammar.y:
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::usesBeforeAfterRules): (WebCore::Document::setUsesBeforeAfterRules):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChildToFlow): (WebCore::RenderInline::splitInlines):
15:26 Changeset [39991] by alp@webkit.org
  • 2 edits in trunk/WebCore

2009-01-16 Dmitry Titov <dimich@chromium.org>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=23394
Remove unnecessary calls to setDeferringTimers().

Use of this function was obsoleted by better handling of EINTR.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls.
15:14 Changeset [39990] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Fix badness with the cursor CSS property. For all links and form controls, resetting to a value of auto
was resulting in the creation of a cursor list. clearCursorList was creating a new list rather than just
nulling out the pointer. Since addCursor already lazily recreates the list, in the case of simple cursor types,
the clear method was wastefully creating a completely unnecessary list for all of these elements.

Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already
set to the same value. Since this is the common case, it prevents a fault and copy of StyleInheritedData for
all links and form controls.

This is a PLT speedup.

Reviewed by Oliver Hunt

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::clearCursorList):
14:50 Changeset [39989] by darin@chromium.org
  • 2 edits
    1 add in trunk/WebCore

2009-01-16 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23384
PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder

  • history/BackForwardList.h: (WebCore::BackForwardListClient::~BackForwardListClient): (WebCore::BackForwardList::setClient):
  • history/BackForwardListChromium.cpp: Added.
14:34 Changeset [39988] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Kevin Decker and Adam Roben.

  • fix a regression that resulted in a crash when plug-ins were disabled.
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Added a null check.
14:23 Changeset [39987] by hyatt@apple.com
  • 10 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Split continuation() into virtual and non-virtual versions so that the non-virtual version can
be used whereever possible. Eventually the virtual method can be eliminated completely.

Reviewed by Sam Weinig and Oliver Hunt

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::anchorElement):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::paint):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderFlow.h: (WebCore::RenderFlow::virtualContinuation): (WebCore::RenderFlow::continuation):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::positionForCoordinates):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteQuads): (WebCore::RenderObject::addFocusRingRects): (WebCore::RenderObject::repaintAfterLayoutIfNeeded): (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): (WebCore::RenderObject::handleDynamicFloatPositionChange): (WebCore::RenderObject::hoverAncestor): (WebCore::RenderObject::updateDragState): (WebCore::RenderObject::updateHitTestResult): (WebCore::RenderObject::getTextDecorationColors): (WebCore::RenderObject::adjustRectForOutlineAndShadow):
  • rendering/RenderObject.h: (WebCore::RenderObject::virtualContinuation):
13:53 Changeset [39986] by eric@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Reviewed by Alexey Proskuryakov.

Add toggle-styles test for editing.
https://bugs.webkit.org/show_bug.cgi?id=23366

This test demonstrates at least these 3 editing bugs:
https://bugs.webkit.org/show_bug.cgi?id=17733
https://bugs.webkit.org/show_bug.cgi?id=20215
https://bugs.webkit.org/show_bug.cgi?id=22810

  • editing/execCommand/resources/toggle-styles.js: Added.
  • editing/execCommand/toggle-styles-expected.txt: Added.
  • editing/execCommand/toggle-styles.html: Added.
13:52 Changeset [39985] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing.

Reviewed by ggaren

  • platform/graphics/Font.cpp:
  • platform/graphics/Font.h: (WebCore::Font::width): (WebCore::Font::ascent): (WebCore::Font::descent): (WebCore::Font::lineSpacing): (WebCore::Font::lineGap): (WebCore::Font::xHeight): (WebCore::Font::unitsPerEm): (WebCore::Font::spaceWidth):
13:51 Changeset [39984] by ggaren@apple.com
  • 6 edits in trunk

JavaScriptCore:

2009-01-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed <rdar://problem/6452301> REGRESSION: Latest WebKit nightlies
turn "c" into "" when stripping
c_ character

  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeEscape): Mimic a Firefox quirk when parsing control escapes inside character classes.

LayoutTests:

2009-01-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Added tests for <rdar://problem/6452301> REGRESSION: Latest WebKit
nightlies turn "c" into "" when stripping
c_ character

  • fast/regex/malformed-escapes-expected.txt:
  • fast/regex/resources/malformed-escapes.js:
13:48 Changeset [39983] by weinig@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23388
Remove FrameViewPrivate

Removes an indirection and is a small speedup on PLT.

  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::~FrameView): (WebCore::FrameView::reset): (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::init): (WebCore::FrameView::clear): (WebCore::FrameView::didFirstLayout): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::updateDefaultScrollbarState): (WebCore::FrameView::setCanHaveScrollbars): (WebCore::FrameView::applyOverflowToViewport): (WebCore::FrameView::layoutCount): (WebCore::FrameView::needsFullRepaint): (WebCore::FrameView::layoutRoot): (WebCore::FrameView::layout): (WebCore::FrameView::setMediaType): (WebCore::FrameView::mediaType): (WebCore::FrameView::useSlowRepaints): (WebCore::FrameView::setUseSlowRepaints): (WebCore::FrameView::addSlowRepaintObject): (WebCore::FrameView::removeSlowRepaintObject): (WebCore::FrameView::scrollRectIntoViewRecursively): (WebCore::FrameView::setScrollPosition): (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::beginDeferredRepaints): (WebCore::FrameView::endDeferredRepaints): (WebCore::FrameView::scheduleRelayout): (WebCore::FrameView::scheduleRelayoutOfSubtree): (WebCore::FrameView::layoutPending): (WebCore::FrameView::needsLayout): (WebCore::FrameView::unscheduleRelayout): (WebCore::FrameView::isTransparent): (WebCore::FrameView::setTransparent): (WebCore::FrameView::baseBackgroundColor): (WebCore::FrameView::setBaseBackgroundColor): (WebCore::FrameView::shouldUpdateWhileOffscreen): (WebCore::FrameView::setShouldUpdateWhileOffscreen): (WebCore::FrameView::scheduleEvent): (WebCore::FrameView::pauseScheduledEvents): (WebCore::FrameView::resumeScheduledEvents): (WebCore::FrameView::performPostLayoutTasks): (WebCore::FrameView::updateOverflowStatus): (WebCore::FrameView::dispatchScheduledEvents): (WebCore::FrameView::wasScrolledByUser): (WebCore::FrameView::setWasScrolledByUser): (WebCore::FrameView::paintContents): (WebCore::FrameView::setPaintRestriction): (WebCore::FrameView::isPainting): (WebCore::FrameView::setNodeToDraw):
  • page/FrameView.h: (WebCore::FrameView::setIsVisuallyNonEmpty): Inline.
13:37 Changeset [39982] by jchaffraix@webkit.org
  • 3 edits in trunk/WebCore

2009-01-14 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Bug 23237: Some HTML constructors in HTMLElementFactory needs
an HTMLFormElement argument

  • Added 'constructorNeedsFormElement' parameter to make_names.pl to account for HTML form elements.
  • Added the new information to HTMLTagNames.in.
  • dom/make_names.pl:
  • html/HTMLTagNames.in:
13:25 Changeset [39981] by hyatt@apple.com
  • 10 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods. The most common reason
for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of
the cross-platform graphics state. By being able to query for the current antialiasing setting, antialiasing
can be temporarily changed and then restored back to the real value without needing to do a save/restore.

The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent
a permanent mutation of the fill color in the CGContext. The new code just restores the fill color back
to its original value without doing the much more expensive save/restore.

Reviewed by Oliver Hunt

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShouldAntialias): (WebCore::GraphicsContext::shouldAntialias):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::setPlatformShouldAntialias):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias):
  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias):
  • platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias):
  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
13:01 Changeset [39980] by andersca@apple.com
  • 13 edits in trunk/WebCore

2009-01-16 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Clean up the bridge code and get rid of Field::name() and Method::name().


  • bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod):
  • bridge/c/c_runtime.cpp:
  • bridge/c/c_runtime.h: (JSC::Bindings::CField::identifier): (JSC::Bindings::CMethod::identifier):
  • bridge/jni/jni_class.cpp: (JavaClass::JavaClass):
  • bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bridge/jni/jni_runtime.cpp: (JavaField::valueFromInstance): (JavaField::setValueToInstance): (JavaMethod::methodID):
  • bridge/jni/jni_runtime.h: (JSC::Bindings::JavaField::name): (JSC::Bindings::JavaMethod::name):
  • bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::methodsNamed):
  • bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod):
  • bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcMethod::isFallbackMethod): (JSC::Bindings::ObjcMethod::selector):
  • bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcMethod::ObjcMethod): (JSC::Bindings::ObjcMethod::getMethodSignature): (JSC::Bindings::ObjcField::ObjcField): (JSC::Bindings::ObjcField::valueFromInstance): (JSC::Bindings::ObjcField::setValueToInstance): (JSC::Bindings::callObjCFallbackObject):
  • bridge/runtime.h:
12:54 Changeset [39979] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Optimize RenderText::styleDidChange. Don't call the base class, which does extra meaningless work.
Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate.
Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking
for the existence of m_parent in each if clause.

Reviewed by Darin Adler

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleDidChange):
  • rendering/RenderText.cpp: (WebCore::RenderText::styleDidChange):
12:52 Changeset [39978] by cfleizach@apple.com
  • 8 edits
    2 adds in trunk

Bug 23387: AX hierarchy is incorrect when iframes are present
https://bugs.webkit.org/show_bug.cgi?id=23387

AX hierarchy is incorrect when iframes are present

12:49 Changeset [39977] by dglazkov@chromium.org
  • 1 edit
    2 moves
    1 add in trunk/LayoutTests

2009-01-16 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=16001
Re-land layout test which didn't land as part of r39785
Move pixel results to platforms directory.

  • editing/selection/extend-selection-bidi.html: Added.
  • platform/mac/editing/selection/extend-selection-bidi-expected.checksum: Renamed from LayoutTests/editing/selection/extend-selection-bidi-expected.checksum.
  • platform/mac/editing/selection/extend-selection-bidi-expected.png: Renamed from LayoutTests/editing/selection/extend-selection-bidi-expected.png.
12:44 Changeset [39976] by andersca@apple.com
  • 2 edits in trunk/WebKitTools

2009-01-16 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

Set the count to the right number of elements.


  • DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp: (testEnumerate):
10:54 Changeset [39975] by beidson@apple.com
  • 3 edits in trunk/WebCore

2009-01-16 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/3541409> - Split up some back/forward cache decision making and add detailed logging to
better understand what the common disqualifiers are.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe. (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for the back/forward cache. (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis. (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame().
  • loader/FrameLoader.h:
10:27 Changeset [39974] by cmarrin@apple.com
  • 8 edits
    2 adds in trunk

Fixed https://bugs.webkit.org/show_bug.cgi?id=23088.
This was happening because I was calling setChanged() from inside updateRendering()
which causes an infinite loop. I fixed this by deferring the setChanged to the next
run loop iteration. That made it not infinite loop, but it still retriggers the
transition forever. The problem is that there is both an 'all' and specific transition
on 'opacity'. This tickled a bug in AnimationController which causes the opacity
transition to get constantly cancelled and then retriggered. The problem is that
the specific opacity transition has a duration of 0. I got rid of the logic to
flush out 0 duration transitions and it is no longer constantly triggered. The
logic to flush them was just an optimization, and you really need to keep them
around to make the logic to override earlier animations by later ones work. And there is
very little overhead in this case anyway, so the optimization was not that useful.

I made a LayoutTest from the original testcase which tests both the infinite
loop and constantly triggering animation cases.

10:06 Changeset [39973] by cfleizach@apple.com
  • 3 edits
    2 adds in trunk

Bug 23385: crash at com.apple.WebCore • WebCore::HTMLAnchorElement::isKeyboardFocusable
https://bugs.webkit.org/show_bug.cgi?id=23385

Option-tabbing on page with image map links causes crash

09:13 Changeset [39972] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Simon Hausmann.

[Qt] Increase popup focus delay time to a sensible 500 ms.

  • tests/qwebframe/tst_qwebframe.cpp:
07:44 Changeset [39971] by ariya@webkit.org
  • 7 edits in trunk/WebCore

2009-01-16 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Fixes QString and 8-bit mix fixes.

Details: Make sure we use QLatin1String where appropriate (and don't
use QString when not necessary)

  • platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::create):
  • platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::platformInit):
  • platform/qt/FileSystemQt.cpp: (WebCore::openTemporaryFile):
  • platform/qt/LoggingQt.cpp: (WebCore::InitializeLoggingChannelsIfNecessary):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
  • plugins/qt/PluginDataQt.cpp: (WebCore::PluginData::initPlugins):
07:27 Changeset [39970] by aroben@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix

  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): Removed unreachable code.
07:16 Changeset [39969] by ariya@webkit.org
  • 6 edits in trunk

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Adam Roben.

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

When plugins are disabled, plugin data should not be available for
the page. This ensures that navigator.plugins would not see the
additional MIME types supported by the plugins.

  • page/Page.cpp: (WebCore::Page::pluginData):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUsePlugin):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Adam Roben.

[Qt] Prevent crash if plugin data is NULL.

  • WebCoreSupport/FrameLoaderClientQt.cpp: NULL check. (WebCore::FrameLoaderClientQt::objectContentType):
07:09 Changeset [39968] by cmarrin@apple.com
  • 4 edits in trunk

Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421.
Also fixed the test case to work on ppc.

03:02 Changeset [39967] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Simon Hausmann.

[Qt] Per-line cursor movement tests depend on platform-specific font
metrics. Remove them to avoid test failures on different platforms.

  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::cursorMovements):
02:12 Changeset [39966] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Simon Hausmann.

http://www.qtsoftware.com/developer/task-tracker/index_html?id=219344&method=entry

[Qt] API documentation for QWebPage::WebAction enum.

  • Api/qwebpage.cpp:
02:00 Changeset [39965] by ariya@webkit.org
  • 4 edits in trunk

2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>

Another attempt at fixing the Qt build.

  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getInstance):
  • Api/qwebframe.cpp: (QWebFrame::addToJavaScriptWindowObject):
00:35 Changeset [39964] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-16 David Hyatt <hyatt@apple.com>

Fix for 1.85% PLT regression. Since asking if a frame is "complete" actually aggressively decodes
the frame, we add an optimization when advancing animations. If we have received all of the animated
image's data, then obviously we can go ahead and advance safely. This prevents the first draw of an image
from decoding two frames' worth of data in the case where all of the image's data has been received.

While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change
as well. It's not immediately clear how that regression would be fixed, though, and it would likely be
a much smaller percentage of that overall uncached time.

Reviewed by Dan Bernstein

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::startAnimation):
00:01 Changeset [39963] by ggaren@apple.com
  • 6 edits in trunk

JavaScriptCore:

2009-01-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6471394> REGRESSION (r39164): Discarding quantifier
on assertion gives incorrect result (23075)


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

  • pcre/pcre_compile.cpp: (compileBranch): Throw away an assertion if it's followed by a quantifier with a 0 minimum, to match SpiderMonkey, v8, and the ECMA spec.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): Fall back on PCRE for the rare case of an assertion with a quantifier with a 0 minimum, since we don't handle quantified subexpressions yet, and in this special case, we can't just throw away the quantifier.

LayoutTests:

2009-01-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Added a test for <rdar://problem/6471394> REGRESSION (r39164): Discarding
quantifier on assertion gives incorrect result (23075)

  • fast/regex/quantified-assertions-expected.txt:
  • fast/regex/resources/quantified-assertions.js:

01/15/09:

23:44 Changeset [39962] by ap@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23349
Don't store obsolete caches in disk storage

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::load): (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache):
  • loader/ResourceLoader.h: Don't maintain m_wasLoadedFromApplicationCache, which was never used.
  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource): Assert that only implicit and dynamic resources can be added after the cache has been fully loaded and stored to disk database.
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk database, as this is now done whenever the cache becomes obsolete. (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage.
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed the check to no longer rely on savedNewestCachePointer.
22:52 Changeset [39961] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-01-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Add support in ResultType to track that the results of bitops
are always of type int32_t.

  • parser/Nodes.cpp: (JSC::ReadModifyResolveNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode):
  • parser/Nodes.h: (JSC::ExpressionNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::StringNode::): (JSC::PrePostResolveNode::): (JSC::TypeOfResolveNode::): (JSC::TypeOfValueNode::): (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::InstanceOfNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::): (JSC::LogicalOpNode::):
  • parser/ResultType.h: (JSC::ResultType::isInt32): (JSC::ResultType::isNotNumber): (JSC::ResultType::booleanType): (JSC::ResultType::numberType): (JSC::ResultType::numberTypeCanReuse): (JSC::ResultType::numberTypeCanReuseIsInt32): (JSC::ResultType::stringOrNumberTypeCanReuse): (JSC::ResultType::stringType): (JSC::ResultType::unknownType): (JSC::ResultType::forAdd): (JSC::ResultType::forBitOp): (JSC::OperandTypes::OperandTypes):
22:51 Changeset [39960] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-01-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Add support for integer addition, subtraction and multiplication
in JIT code on x86-64.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::mul32): (JSC::MacroAssembler::sub32): (JSC::MacroAssembler::joMul32): (JSC::MacroAssembler::joSub32):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArithSlow_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileFastArithSlow_op_sub):
20:53 Changeset [39959] by timothy@apple.com
  • 5 edits in trunk

<rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type()

WebCore:

2009-01-15 Dimitri Dupuis-Latour <dupuislatour@apple.com>

<rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();

Reviewed by Timothy Hatcher.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText):

LayoutTests:

2009-01-15 Dimitri Dupuis-Latour <dupuislatour@apple.com>

Added testcases for all CSS3 pseudo-classes and pseudo-elements

<rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();

Reviewed by Timothy Hatcher.

  • fast/dom/css-selectorText-expected.txt:
  • fast/dom/css-selectorText.html:
19:20 Changeset [39958] by barraclough@apple.com
  • 23 edits
    1 copy in trunk

2009-01-15 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

On x86-64 allow JSImmediate to encode 64-bit double precision values.
This patch only affects builds that set USE(ALTERNATE_JSIMMEDIATE).

Updates the implementation of JSValuePtr
and JSImmediate:: methods that operate on neumeric values to be be aware of the new representation. When this representation is in use, the class JSNumberCell is redundant and is compiled out.

The format of the new immediate representation is documented in JSImmediate.h.

  • JavaScriptCore.exp:
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::subPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::subq_rr): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::ucomisd_rr): (JSC::X86Assembler::X86InstructionFormatter::twoByteOp64):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq):
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_lshift): (JSC::JIT::compileFastArith_op_rshift): (JSC::JIT::compileFastArith_op_bitand): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArith_op_post_inc): (JSC::JIT::compileFastArith_op_post_dec): (JSC::JIT::compileFastArith_op_pre_inc): (JSC::JIT::compileFastArith_op_pre_dec): (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp):
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfBothJSCells): (JSC::JIT::emitJumpIfEitherNumber): (JSC::JIT::emitJumpIfNotEitherNumber): (JSC::JIT::emitJumpIfImmediateIntegerNumber): (JSC::JIT::emitJumpIfNotImmediateIntegerNumber): (JSC::JIT::emitJumpIfNotImmediateIntegerNumbers): (JSC::JIT::emitJumpSlowCaseIfNotImmediateIntegerNumber): (JSC::JIT::emitJumpSlowCaseIfNotImmediateIntegerNumbers): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithIntToImmNoCheck):
  • runtime/JSCell.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSImmediate.cpp: (JSC::JSImmediate::toThisObject): (JSC::JSImmediate::toObject): (JSC::JSImmediate::toString):
  • runtime/JSImmediate.h: (JSC::wtf_reinterpret_cast): (JSC::JSImmediate::isNumber): (JSC::JSImmediate::isIntegerNumber): (JSC::JSImmediate::isDoubleNumber): (JSC::JSImmediate::isPositiveIntegerNumber): (JSC::JSImmediate::areBothImmediateIntegerNumbers): (JSC::JSImmediate::makeInt): (JSC::JSImmediate::makeDouble): (JSC::JSImmediate::doubleValue): (JSC::doubleToBoolean): (JSC::JSImmediate::toBoolean): (JSC::JSImmediate::getTruncatedUInt32): (JSC::JSImmediate::makeOutOfIntegerRange): (JSC::JSImmediate::from): (JSC::JSImmediate::getTruncatedInt32): (JSC::JSImmediate::toDouble): (JSC::JSImmediate::getUInt32): (JSC::JSValuePtr::isInt32Fast): (JSC::JSValuePtr::isUInt32Fast): (JSC::JSValuePtr::areBothInt32Fast): (JSC::JSFastMath::canDoFastBitwiseOperations): (JSC::JSFastMath::xorImmediateNumbers): (JSC::JSFastMath::canDoFastRshift): (JSC::JSFastMath::canDoFastUrshift): (JSC::JSFastMath::rightShiftImmediateNumbers): (JSC::JSFastMath::canDoFastAdditiveOperations): (JSC::JSFastMath::addImmediateNumbers): (JSC::JSFastMath::subImmediateNumbers):
  • runtime/JSNumberCell.cpp: (JSC::jsNumberCell):
  • runtime/JSNumberCell.h: (JSC::createNumberStructure): (JSC::isNumberCell): (JSC::asNumberCell): (JSC::jsNumber): (JSC::JSValuePtr::isDoubleNumber): (JSC::JSValuePtr::getDoubleNumber): (JSC::JSValuePtr::isNumber): (JSC::JSValuePtr::uncheckedGetNumber): (JSC::jsNaN): (JSC::JSValuePtr::getNumber): (JSC::JSValuePtr::numberToInt32): (JSC::JSValuePtr::numberToUInt32):
  • runtime/JSValue.h:
  • runtime/NumberConstructor.cpp: (JSC::numberConstructorNegInfinity): (JSC::numberConstructorPosInfinity): (JSC::numberConstructorMaxValue): (JSC::numberConstructorMinValue):
  • runtime/NumberObject.cpp: (JSC::constructNumber):
  • runtime/NumberObject.h:
  • runtime/Operations.h: (JSC::JSValuePtr::equal): (JSC::JSValuePtr::equalSlowCaseInline): (JSC::JSValuePtr::strictEqual): (JSC::JSValuePtr::strictEqualSlowCaseInline):
  • wtf/Platform.h:
18:15 Changeset [39957] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2009-01-15 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver Hunt.


<rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break

If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split),
applyInlineStyle would style node.

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from Range::pastLastNode() anymore. pastEndNode is the node after the last one that is fully selected, since the work done in the loop that follows should only be performed on fully selected nodes.
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes. Those were handled accidently before.
  • editing/htmlediting.cpp: (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should also be eliminated since maxDeepOffset handles non-text nodes.

LayoutTests:

2009-01-15 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver Hunt.


<rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break

  • editing/execCommand/6444148-expected.txt: Added.
  • editing/execCommand/6444148.html: Added.
16:53 Changeset [39956] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-01-15 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

<rdar://problem/6045018>
REGRESSION (r34838): JavaScript objects appear to be leaked after loading google.com

Subtract the number of JSStrings cached in SmallStrings when calculating the
number of live JSObjects.

  • runtime/Collector.cpp: (JSC::Heap::objectCount):
  • runtime/SmallStrings.cpp: (JSC::SmallStrings::count):
  • runtime/SmallStrings.h:
16:29 Changeset [39955] by andersca@apple.com
  • 8 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Reviewed by Geoffrey Garen.

Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance.

  • bridge/c/c_instance.h:
  • bridge/jni/jni_instance.h:
  • bridge/objc/objc_instance.h:
  • bridge/qt/qt_instance.h:
  • bridge/runtime.cpp:
  • bridge/runtime.h:
  • bridge/runtime_object.h:
16:24 Changeset [39954] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-01-15 Sam Weinig <sam@webkit.org>

Fix Qt build.

  • runtime/Collector.cpp:
16:03 Changeset [39953] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2009-01-15 David Hyatt <hyatt@apple.com>

Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific
code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange.

Reviewed by Oliver Hunt

  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::styleDidChange):
  • rendering/RenderSVGInlineText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::styleDidChange):
16:01 Changeset [39952] by andersca@apple.com
  • 5 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Another attempt at fixing the Qt build.


  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getOwnPropertySlot): (JSC::Bindings::QtInstance::put):
  • bridge/qt/qt_instance.h:
  • bridge/runtime.h: (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put):
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::getOwnPropertySlot): (JSC::RuntimeObjectImp::put):
15:49 Changeset [39951] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-01-15 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Fix crash seen running fast/canvas.

Make sure to mark the ScopeNode and CodeBlock being created
in the re-parse for exception information.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
  • parser/Nodes.h: (JSC::ScopeNode::mark):
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
15:48 Changeset [39950] by andersca@apple.com
  • 4 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Add QtInstance::getInstance and start using it.

  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtRuntimeObjectImp::mark): (JSC::Bindings::QtRuntimeObjectImp::classInfo): (JSC::Bindings::): (JSC::Bindings::QtInstance::getInstance):
  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant):
15:38 Changeset [39949] by andersca@apple.com
  • 5 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects.

  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getOwnPropertySlot): (JSC::Bindings::QtInstance::put):
  • bridge/qt/qt_instance.h:
  • bridge/runtime.h: (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put):
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::getOwnPropertySlot): (JSC::RuntimeObjectImp::put):
15:30 Changeset [39948] by andersca@apple.com
  • 3 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Fix the QT build.

  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::createRuntimeObject):
  • bridge/qt/qt_instance.h:
15:11 Changeset [39947] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-15 David Hyatt <hyatt@apple.com>

Fix for <rdar://problem/6500278> REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor

setZoomFactor was supposed to bail if both the zoom factor and mode were the same. The mode check was
buggy and doing the wrong thing.

Reviewed by Darin Adler

  • page/Frame.cpp: (WebCore::Frame::setZoomFactor):
14:58 Changeset [39946] by andersca@apple.com
  • 12 edits in trunk/WebCore

2009-01-15 Anders Carlsson <andersca@apple.com>

Reviewed by Geoffrey Garen.

Make Instance::createRuntimeObject a virtual function and override it for QtInstance.


  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::getRuntimeObject):
  • bridge/c/c_utility.cpp: (JSC::Bindings::convertNPVariantToValue):
  • bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::convertJObjectToValue):
  • bridge/jni/jni_runtime.cpp: (JavaField::valueFromInstance): (JavaArray::valueAt):
  • bridge/objc/objc_utility.mm: (JSC::Bindings::convertObjcValueToValue):
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getRuntimeObject): (JSC::Bindings::QtInstance::createRuntimeObject):
  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): (JSC::Bindings::QtConnectionObject::execute):
  • bridge/runtime.cpp: (JSC::Bindings::Instance::createRuntimeObject):
  • bridge/runtime.h:
13:31 Changeset [39945] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-01-15 Craig Schlenter <craig.schlenter@gmail.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23347
Compilation of JavaScriptCore/wtf/ThreadingPthreads.cpp fails on Linux

  • wtf/ThreadingPthreads.cpp: included limits.h as INT_MAX is defined there.
13:30 Changeset [39944] by dglazkov@chromium.org
  • 3 edits in trunk/WebCore

2009-01-15 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23354
Fix up graphics/chromium files to account for Uniscribe style scrubbing.

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::windowsCanHandleTextDrawing): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: (WebCore::fillNonBMPGlyphs):
13:24 Changeset [39943] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2009-01-15 David Levin <levin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23333
Adjust due to a name change that happened in a WebKit.

  • svg/graphics/skia/SVGPaintServerPatternSkia.cpp: (WebCore::SVGPaintServerPattern::setup):
13:15 Changeset [39942] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Bug 23225: REGRESSION: Assertion failure in reparseInPlace() (m_sourceElements) at sfgate.com
<https://bugs.webkit.org/show_bug.cgi?id=23225> <rdar://problem/6487432>

Reviewed by Geoff Garen

Character position for open and closing brace was incorrectly referencing m_position to
record their position in a source document, however this is unsafe as BOMs may lead to
m_position being an arbitrary position from the real position of the current character.

12:52 Changeset [39941] by dglazkov@chromium.org
  • 1 edit
    8 adds in trunk/WebCore

2009-01-15 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23340
Add remaining bits of graphics/chromium.

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added. (WebCore::scaleEmToUnits): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph):
  • platform/graphics/chromium/SimpleFontDataLinux.cpp: Added. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph):
  • platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added. (WebCore::ThemeHelperWin::ThemeHelperWin): (WebCore::ThemeHelperWin::~ThemeHelperWin):
  • platform/graphics/chromium/ThemeHelperChromiumWin.h: Added. (WebCore::ThemeHelperWin::): (WebCore::ThemeHelperWin::context): (WebCore::ThemeHelperWin::rect):
  • platform/graphics/chromium/UniscribeHelper.cpp: Added. (WebCore::treatAsSpace): (WebCore::containsMissingGlyphs): (WebCore::setLogFontAndStyle): (WebCore::UniscribeHelper::UniscribeHelper): (WebCore::UniscribeHelper::~UniscribeHelper): (WebCore::UniscribeHelper::initWithOptionalLengthProtection): (WebCore::UniscribeHelper::width): (WebCore::UniscribeHelper::justify): (WebCore::UniscribeHelper::characterToX): (WebCore::UniscribeHelper::xToCharacter): (WebCore::UniscribeHelper::draw): (WebCore::UniscribeHelper::firstGlyphForCharacter): (WebCore::UniscribeHelper::fillRuns): (WebCore::UniscribeHelper::shape): (WebCore::UniscribeHelper::fillShapes): (WebCore::UniscribeHelper::fillScreenOrder): (WebCore::UniscribeHelper::adjustSpaceAdvances): (WebCore::UniscribeHelper::applySpacing): (WebCore::UniscribeHelper::advanceForItem):
  • platform/graphics/chromium/UniscribeHelper.h: Added. (WebCore::UniscribeHelper::directionalOverride): (WebCore::UniscribeHelper::setDirectionalOverride): (WebCore::UniscribeHelper::inhibitLigate): (WebCore::UniscribeHelper::setInhibitLigate): (WebCore::UniscribeHelper::letterSpacing): (WebCore::UniscribeHelper::setLetterSpacing): (WebCore::UniscribeHelper::spaceWidth): (WebCore::UniscribeHelper::setSpaceWidth): (WebCore::UniscribeHelper::wordSpacing): (WebCore::UniscribeHelper::setWordSpacing): (WebCore::UniscribeHelper::setAscent): (WebCore::UniscribeHelper::init): (WebCore::UniscribeHelper::tryToPreloadFont): (WebCore::UniscribeHelper::Shaping::Shaping): (WebCore::UniscribeHelper::Shaping::glyphLength): (WebCore::UniscribeHelper::Shaping::charLength): (WebCore::UniscribeHelper::Shaping::effectiveAdvances): (WebCore::UniscribeHelper::nextWinFontData): (WebCore::UniscribeHelper::resetFontIndex):
  • platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): (WebCore::UniscribeHelperTextRun::tryToPreloadFont): (WebCore::UniscribeHelperTextRun::nextWinFontData): (WebCore::UniscribeHelperTextRun::resetFontIndex):
  • platform/graphics/chromium/UniscribeHelperTextRun.h: Added.
11:54 Changeset [39940] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2009-01-15 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.


Fix for https://bugs.webkit.org/show_bug.cgi?id=21799
<rdar://problem/6310684> Crash in dumpFramesAsText() when running http/tests/security/cross-origin-xsl-BLOCKED.html


Return S_OK or E_FAIL based on the result from CreateInstance.
This was causing DumpRenderTree to not realize it had just gotten a null documentElement.


  • DOMCoreClasses.cpp: Made all functions that return the result of CreateInstance consistent. (DOMNode::parentNode): (DOMNode::ownerDocument): (DOMNodeList::item): (DOMDocument::documentElement): (DOMDocument::createElement): (DOMDocument::getElementsByTagName): (DOMDocument::getElementsByTagNameNS): (DOMDocument::getElementById): (DOMDocument::getComputedStyle): (DOMDocument::createEvent): (DOMElement::style):
11:44 Changeset [39939] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

Fixed Windows project file after https://bugs.webkit.org/show_bug.cgi?id=21421

11:26 Changeset [39938] by mrowe@apple.com
  • 3 edits in tags/Safari-6528.10/WebKit/mac

Merge r39913.

11:25 Changeset [39937] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2009-01-15 Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein

Fix problem where a URL visited as non-GET once is flagged as non-GET forever.

  • History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet flag for all loads with an HTTP Method
11:25 Changeset [39936] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2009-01-15 Aaron Boodman <aa@chromium.org>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=15279
Right clicking over text (or multiple spaces) auto selects the word
(or multiple spaces) under it, which is not a desirable effect for some
platforms.

  • page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): Don't select words on right-click on Chromium.
11:08 Changeset [39935] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

10:52 Changeset [39934] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.10

New tag.

01:27 Changeset [39933] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-01-15 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23345
SharedBuffer.h should include wtf/OwnPtr.h

  • platform/SharedBuffer.h:

01/14/09:

21:46 Changeset [39932] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Bug 23338: Make "Streamline Inspector Source" build script check for a directory before using it

<https://bugs.webkit.org/show_bug.cgi?id=23338>

Reviewed by Timothy Hatcher.

  • WebCore.xcodeproj/project.pbxproj: Check to see if "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/inspector" exists before trying to change directories into it and then deleting, modifying and adding files to it.
21:40 Changeset [39931] by ddkilzer@apple.com
  • 4 edits in trunk/JavaScriptCore

Bug 23153: JSC build always touches JavaScriptCore/docs/bytecode.html

<https://bugs.webkit.org/show_bug.cgi?id=23153>

Reviewed by Darin Adler.

Instead of building bytecode.html into ${SRCROOT}/docs/bytecode.html, build it
into ${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore/docs/bytecode.html.

Also fixes make-bytecode-docs.pl to actually generate documentation.

  • DerivedSources.make: Changed bytecode.html to be built into local docs directory in ${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added "/docs" to the end of the "mkdir -p" command so that the docs subdirectory is automatically created.
  • docs/make-bytecode-docs.pl: Changed BEGIN_OPCODE to DEFINE_OPCODE so that documentation is actually generated.
21:24 Changeset [39930] by kevino@webkit.org
  • 10 edits in trunk

Reviewed by Kevin Ollivier.

Fixing wx compilation for wx 2.9/trunk.

21:05 Changeset [39929] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Adding WebKitCSSMatrix.

19:27 Changeset [39928] by treat@webkit.org
  • 2 edits in trunk/WebCore

Prospective build fix for Qt following r39922.

18:52 Changeset [39927] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

Updated layout test results after adding WebKitCSSMatrix (r39922)

  • fast/dom/Window/window-properties-expected.txt:
  • fast/js/global-constructors-expected.txt:
18:30 Changeset [39926] by darin@apple.com
  • 2 edits in trunk/WebCore

2009-01-14 Darin Adler <darin@apple.com>

Fix debug build.

  • bindings/js/JSWebKitCSSMatrixConstructor.cpp: (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): Use ASSERT_UNUSED.
18:16 Changeset [39925] by pol@apple.com
  • 1 edit
    36 adds in trunk/LayoutTests

2009-01-14 Pierre-Olivier Latour <pol@apple.com>

Added missing reference images for pixel tests (generated on iMac Intel with 10.5.5 + QT 7.5.5).

  • platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.checksum: Added.
  • platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.png: Added.
  • platform/mac/fast/events/pointer-events-2-expected.checksum: Added.
  • platform/mac/fast/events/pointer-events-2-expected.png: Added.
  • platform/mac/fast/events/pointer-events-expected.checksum: Added.
  • platform/mac/fast/events/pointer-events-expected.png: Added.
  • platform/mac/fast/media/mq-animation-expected.checksum: Added.
  • platform/mac/fast/media/mq-animation-expected.png: Added.
  • platform/mac/fast/media/mq-transform-01-expected.checksum: Added.
  • platform/mac/fast/media/mq-transform-01-expected.png: Added.
  • platform/mac/fast/media/mq-transform-02-expected.checksum: Added.
  • platform/mac/fast/media/mq-transform-02-expected.png: Added.
  • platform/mac/fast/media/mq-transform-03-expected.checksum: Added.
  • platform/mac/fast/media/mq-transform-03-expected.png: Added.
  • platform/mac/fast/media/mq-transform-04-expected.checksum: Added.
  • platform/mac/fast/media/mq-transform-04-expected.png: Added.
  • platform/mac/fast/media/mq-transition-expected.checksum: Added.
  • platform/mac/fast/media/mq-transition-expected.png: Added.
  • platform/mac/http/tests/security: Added.
  • platform/mac/http/tests/security/dataTransfer-set-data-file-url-expected.checksum: Added.
  • platform/mac/http/tests/security/dataTransfer-set-data-file-url-expected.png: Added.
  • platform/mac/http/tests/webarchive: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-expected.checksum: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-expected.png: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-shift-jis-expected.checksum: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-shift-jis-expected.png: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-utf-8-expected.checksum: Added.
  • platform/mac/http/tests/webarchive/test-css-url-encoding-utf-8-expected.png: Added.
  • platform/mac/http/tests/webarchive/test-preload-resources-expected.checksum: Added.
  • platform/mac/http/tests/webarchive/test-preload-resources-expected.png: Added.
  • platform/mac/media/video-zoom-expected.checksum: Added.
  • platform/mac/media/video-zoom-expected.png: Added.
  • platform/mac/webarchive/test-css-url-resources-in-stylesheets-expected.checksum: Added.
  • platform/mac/webarchive/test-css-url-resources-in-stylesheets-expected.png: Added.
  • platform/mac/webarchive/test-css-url-resources-inline-styles-expected.checksum: Added.
  • platform/mac/webarchive/test-css-url-resources-inline-styles-expected.png: Added.
18:05 Changeset [39924] by adele@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

2009-01-14 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23335
<rdar://problem/6247650> Update <input type="search"> for RenderThemeWin

No new tests added. In the future, we need to update DumpRenderTree to be able to run with different RenderThemes and
we'll need a separate set of results for different themes.


  • css/themeWin.css: Renable search fields. Added new rules for sub-element placement.


  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockWidth): Consider margin set on the sub-elements when computing the desired width for the text block.


  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): Treat SearchFieldPart the same as TextFieldPart. (WebCore::RenderThemeWin::determineState): ditto. (WebCore::RenderThemeWin::getClassicThemeData): ditto. (WebCore::RenderThemeWin::getThemeData): ditto. (WebCore::RenderThemeWin::paintSearchFieldCancelButton): Draw a scaled, vertically centered, version of the new artwork. (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): ditto. (WebCore::RenderThemeWin::paintSearchFieldResultsButton): ditto. (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): Set the scaled width and height. (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): ditto. (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): ditto.

WebKit/win:

2009-01-14 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23335
<rdar://problem/6247650> Update <input type="search"> for RenderThemeWin


Added artwork.


  • WebKit.vcproj/WebKit.rc:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/resource.h:
  • WebKit.vcproj/searchCancel.png: Added.
  • WebKit.vcproj/searchCancelPressed.png: Added.
  • WebKit.vcproj/searchMagnifier.png: Added.
  • WebKit.vcproj/searchMagnifierResults.png: Added.
  • WebKitDLL.cpp:(loadResourceIntoBuffer):
17:53 Changeset [39923] by alp@webkit.org
  • 2 edits in trunk/WebCore

2009-01-14 Alp Toker <alp@nuanti.com>

GTK+ build fix following r39922.
Add WebKitCSSMatrix to the build system.

  • GNUmakefile.am:
17:29 Changeset [39922] by cmarrin@apple.com
  • 8 edits
    7 adds in trunk

Implemented 2D WebKitCSSMatrix
https://bugs.webkit.org/show_bug.cgi?id=21421

16:55 Changeset [39921] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-01-14 Michael Moss <mmoss@chromium.org>

Reviewed by Eric Seidel.

Workaround a skia limitation on repeated patterns, and remove extra
transformations applied to pattern.
https://bugs.webkit.org/show_bug.cgi?id=23332

Fixes:
LayoutTests/fast/canvas/patternfill-repeat.html
LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b.svg

  • platform/graphics/skia/PatternSkia.cpp: (WebCore::Pattern::createPlatformPattern):
16:31 Changeset [39920] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2009-01-14 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Implement InvokeDefault, Construct, GetProperty and SetProperty.


Fully implement marshalValue.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvokeDefault): (WKPCConstruct): (WKPCGetProperty): (WKPCSetProperty):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValue):
  • Plugins/Hosted/WebKitPluginClient.defs:
16:26 Changeset [39919] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix https://bugs.webkit.org/show_bug.cgi?id=23334
Bug 23334: Compile failure in XMLTokenizerLibxml2.cpp

Include wtf/UnusedParam.h to get UNUSED_PARAM.

  • dom/XMLTokenizerLibxml2.cpp:

(WebCore::hackAroundLibXMLEntityBug):

15:50 Changeset [39918] by dglazkov@chromium.org
  • 4 edits
    1 delete in trunk/WebCore

2009-01-14 David Levin <levin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23333
Platform code fixes. These compensate for changes in platform
callbacks from WebKit and minor API tweaks.

I enumerated a few below.

  • platform/graphics/chromium/FontCacheChromiumWin.cpp: fontExists has been gone since r34794.
  • platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap):

(WebCore::FrameData::clear):
r39751 changes this api to take and return a bool.

(WebCore::Image::drawPattern):

  • platform/graphics/skia/PathSkia.cpp: (WebCore::Path::apply): (WebCore::boundingBoxForCurrentStroke): (WebCore::Path::strokeContains):
  • svg/graphics/skia/RenderPathSkia.cpp: Removed due to r39805.
15:40 Changeset [39917] by treat@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for Qt from Dmitry Titov.

15:37 Changeset [39916] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2009-01-14 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Demarshal arguments and pass them to the JS call.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvoke):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValues):
15:22 Changeset [39915] by darin@apple.com
  • 1 edit
    1 copy
    1 move
    3 adds in trunk/LayoutTests

2009-01-14 Darin Adler <darin@apple.com>

Reviewed by Beth Dakin.

Try to fix regression test failures seen on Leopard; possibly new to 10.5.6.

  • http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Removed. This test has enough Mac specifics in it that I don't think it makes sense to have cross-platform results.
  • platform/mac-tiger/http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Copied from http/tests/misc/willCacheResponse-delegate-callback-expected.txt.
  • platform/mac/http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Copied from http/tests/misc/willCacheResponse-delegate-callback-expected.txt. Updated with non-Tiger results. The order of delegate calls has changed.
15:19 Changeset [39914] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

BUILD FIX: Use COM API on Windows in LayoutTestController::setIconDatabaseEnabled()

Rubber-stamped by Alice Liu.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setIconDatabaseEnabled): Use COM API to get the shared WebIconDatabase.
14:26 Changeset [39913] by mrowe@apple.com
  • 3 edits in trunk/WebKit/mac

<rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message

Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
that WebView uses.

Reviewed by Timothy Hatcher.

  • WebView/WebArchive.mm:

(-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
(-[WebArchive _initWithArguments:]):

  • WebView/WebResource.mm:

(-[WebResource _initWithArguments:]): Unbox the BOOL argument.

14:22 Changeset [39912] by eric@webkit.org
  • 8 edits
    2 adds in trunk

2009-01-14 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Eric Seidel.

<https://bugs.webkit.org/show_bug.cgi?id=16829>
Implement NPN_SetException()

This mirrors the implementation in the obj-c bindings.

Test: plugins/netscape-throw-exception.html

  • bridge/NP_jsobject.cpp: (_NPN_SetException):
  • bridge/c/c_instance.cpp: (JSC::Bindings::getExceptionString): (JSC::Bindings::CInstance::setGlobalException): (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::getPropertyNames):
  • bridge/c/c_instance.h:
14:18 Changeset [39911] by ddkilzer@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

Disabling webarchive/test-link-rel-icon.html due to various buildbot failures

Bug 23331: LayoutTests/webarchive/test-link-rel-icon.html fails in different ways on buildbots
<https://bugs.webkit.org/show_bug.cgi?id=23331>

  • webarchive/test-link-rel-icon.html: Removed.
  • webarchive/test-link-rel-icon.html-disabled: Renamed from LayoutTests/webarchive/test-link-rel-icon.html.
14:14 Changeset [39910] by oliver@apple.com
  • 7 edits
    3 adds in trunk

Bug 22903: REGRESSION (r36267): visiting this site reliably crashes WebKit nightly

Reviewed by Cameron Zwarich

EvalCodeBlock's do not reference the functions that are declared inside the eval
code, this means that simply marking the EvalCodeBlock through the global object
is insufficient to mark the declared functions. This patch corrects this by
explicitly marking the CodeBlocks of all the functions declared in the cached
EvalNode.

13:58 Changeset [39909] by pol@apple.com
  • 2 edits in trunk/WebCore

2009-01-14 Pierre-Olivier Latour <pol@apple.com>

Fixed build warning when LIBXML_VERSION >= 20627.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::hackAroundLibXMLEntityBug):
13:57 Changeset [39908] by ap@webkit.org
  • 8 edits in trunk/JavaScriptCore

2009-01-14 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23312
Implement MessageQueue::waitForMessageTimed()
Also fixed ThreadCondition::timedWait() to take absolute time, as discussed on webkit-dev.
Win32 version of timedWait still has to be implemented.

  • wtf/MessageQueue.h: (WTF::MessageQueueWaitResult: new enum for the result of MessageQueue::waitForMessageTimed. (WTF::MessageQueue::waitForMessage): (WTF::MessageQueue::waitForMessageTimed): New method.
  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::ThreadCondition::timedWait): changed to use absolute time instead of interval.
  • wtf/ThreadingNone.cpp: (WTF::ThreadCondition::timedWait): ditto.
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadCondition::timedWait): ditto.
  • wtf/ThreadingQt.cpp: (WTF::ThreadCondition::timedWait): ditto.
  • wtf/ThreadingWin.cpp: (WTF::ThreadCondition::timedWait): ditto. The actual Win32 code is still to be implemented.
13:48 Changeset [39907] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

2009-01-13 Dmitry Titov <dimich@chromium.org>

Reviewed by David Kilzer.

https://bugs.webkit.org/show_bug.cgi?id=23304
Fix svn-apply to match svn-unapply to recognize added files in 'git diff' patches.

  • Scripts/svn-apply: Added a check (similar to svn-unapply) to recognize added files.
13:24 Changeset [39906] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

BUILD FIX: Implement LayoutTestController::setIconDatabaseEnabled(bool) for GTK

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (runTest): Added call to reset the icon database to match Mac and Windows ports.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setIconDatabaseEnabled): Implemented stub method.
13:13 Changeset [39905] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23326
Resources are never deleted from application cache disk database

  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::openDatabase): Create a trigger that deletes resources when a cache is deleted. Note that this change doesn't require bumping schema version. We should consider switching to foreign keys and cascade delete instead of triggers in the future. (WebCore::ApplicationCacheStorage::remove): Added a comment explaining why it's sufficient to only remove the cache itself. (WebCore::ApplicationCacheStorage::empty): Don't delete from CacheResources, now that this is done automatically when a cache is deleted.
13:08 Changeset [39904] by ddkilzer@apple.com
  • 12 edits
    3 adds in trunk

Bug 22795: favicons should be saved to webarchives

<https://bugs.webkit.org/show_bug.cgi?id=22795>

Reviewed by Darin Adler.

WebCore:

Test: webarchive/test-link-rel-icon.html

  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Do not add favicon URLs to the list since no ArchiveResource or CachedResource is ever created for them.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Handle favicons as a special case for all main resources.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::close): Actually close the SQLite database so that isOpen() returns false when called. Added an ASSERT() for good measure.

WebKitTools:

  • DumpRenderTree/LayoutTestController.cpp: (setIconDatabaseEnabledCallback): Added. (setJavaScriptProfilingEnabledCallback): Realphabetized. (LayoutTestController::staticFunctions): Added entry for calling LayoutTestController.setIconDatabaseEnabled(bool) from JavaScript.
  • DumpRenderTree/LayoutTestController.h: (setIconDatabaseEnabledCallback): Added declaration. (setJavaScriptProfilingEnabledCallback): Realphabetized.
  • DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Disable the icon database before each test.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setIconDatabaseEnabled): Added. (LayoutTestController::setJavaScriptProfilingEnabled): Realphabetized.
  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Disable the icon database before each test.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setIconDatabaseEnabled): Added.

LayoutTests:

Note that this test case contains a workaround for Bug 21026 and
<rdar://problem/6240826> which may be removed once that is fixed.

  • webarchive/resources/favicon.ico: Copied from LayoutTests/fast/images/resources/favicon.ico.
  • webarchive/test-link-rel-icon-expected.webarchive: Added.
  • webarchive/test-link-rel-icon.html: Added.
11:52 Changeset [39903] by darin@chromium.org
  • 8 edits
    24 adds in trunk/WebCore

2009-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23328
Upstream remaining files from platform/chromium/

  • platform/chromium/CursorChromium.cpp: (WebCore::pointerCursor): (WebCore::crossCursor): (WebCore::handCursor): (WebCore::iBeamCursor): (WebCore::waitCursor): (WebCore::helpCursor): (WebCore::eastResizeCursor): (WebCore::northResizeCursor): (WebCore::northEastResizeCursor): (WebCore::northWestResizeCursor): (WebCore::southResizeCursor): (WebCore::southEastResizeCursor): (WebCore::southWestResizeCursor): (WebCore::westResizeCursor): (WebCore::northSouthResizeCursor): (WebCore::eastWestResizeCursor): (WebCore::northEastSouthWestResizeCursor): (WebCore::northWestSouthEastResizeCursor): (WebCore::columnResizeCursor): (WebCore::rowResizeCursor): (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): (WebCore::moveCursor): (WebCore::verticalTextCursor): (WebCore::cellCursor): (WebCore::contextMenuCursor): (WebCore::aliasCursor): (WebCore::progressCursor): (WebCore::noDropCursor): (WebCore::copyCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::zoomInCursor): (WebCore::zoomOutCursor):
  • platform/chromium/DragDataRef.h: Added.
  • platform/chromium/DragImageChromium.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage):
  • platform/chromium/DragImageRef.h:
  • platform/chromium/KeyCodeConversion.h: Added.
  • platform/chromium/KeyCodeConversionGtk.cpp: Added. (WebCore::windowsKeyCodeForKeyEvent):
  • platform/chromium/KeyboardCodes.h: Added.
  • platform/chromium/KeyboardCodesPosix.h: Added. (WebCore::):
  • platform/chromium/KeyboardCodesWin.h: Added. (WebCore::):
  • platform/chromium/Language.cpp: Added. (WebCore::defaultLanguage):
  • platform/chromium/LinkHashChromium.cpp: Added. (WebCore::visitedLinkHash):
  • platform/chromium/MimeTypeRegistryChromium.cpp: Added. (WebCore::MIMETypeRegistry::getMIMETypeForExtension): (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): (WebCore::MIMETypeRegistry::getMIMETypeForPath): (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): (WebCore::dummyHashSet): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
  • platform/chromium/PasteboardChromium.cpp: Added. (WebCore::Pasteboard::generalPasteboard): (WebCore::Pasteboard::Pasteboard): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::plainText): (WebCore::Pasteboard::documentFragment):
  • platform/chromium/PasteboardPrivate.h:
  • platform/chromium/PlatformCursor.h: Added. (WebCore::PlatformCursor::): (WebCore::PlatformCursor::PlatformCursor): (WebCore::PlatformCursor::customImage): (WebCore::PlatformCursor::hotSpot): (WebCore::PlatformCursor::type):
  • platform/chromium/PlatformKeyboardEventChromium.cpp: Added. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): (WebCore::PlatformKeyboardEvent::currentCapsLockState):
  • platform/chromium/PlatformScreenChromium.cpp: Added. (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::screenRect): (WebCore::screenAvailableRect):
  • platform/chromium/PlatformWidget.h:
  • platform/chromium/PopupMenuChromium.cpp: Added. (WebCore::PopupListBox::selectedIndex): (WebCore::PopupListBox::numItems): (WebCore::PopupListBox::setBaseWidth): (WebCore::PopupListBox::setTextOnIndexChange): (WebCore::PopupListBox::setAcceptOnAbandon): (WebCore::PopupListBox::): (WebCore::PopupListBox::ListItem::ListItem): (WebCore::PopupListBox::PopupListBox): (WebCore::PopupListBox::~PopupListBox): (WebCore::PopupListBox::disconnectClient): (WebCore::PopupListBox::scrollToRevealSelection): (WebCore::constructRelativeMouseEvent): (WebCore::constructRelativeWheelEvent): (WebCore::PopupContainer::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::~PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::hidePopup): (WebCore::PopupContainer::layout): (WebCore::PopupContainer::handleMouseDownEvent): (WebCore::PopupContainer::handleMouseMoveEvent): (WebCore::PopupContainer::handleMouseReleaseEvent): (WebCore::PopupContainer::handleWheelEvent): (WebCore::PopupContainer::handleKeyEvent): (WebCore::PopupContainer::hide): (WebCore::PopupContainer::paint): (WebCore::PopupContainer::paintBorder): (WebCore::PopupContainer::isInterestedInEventForKey): (WebCore::PopupContainer::show): (WebCore::PopupContainer::setTextOnIndexChange): (WebCore::PopupContainer::setAcceptOnAbandon): (WebCore::PopupContainer::refresh): (WebCore::PopupListBox::handleMouseDownEvent): (WebCore::PopupListBox::handleMouseMoveEvent): (WebCore::PopupListBox::handleMouseReleaseEvent): (WebCore::PopupListBox::handleWheelEvent): (WebCore::PopupListBox::isInterestedInEventForKey): (WebCore::PopupListBox::handleKeyEvent): (WebCore::PopupListBox::hostWindow): (WebCore::PopupListBox::invalidateRect): (WebCore::stripLeadingWhiteSpace): (WebCore::PopupListBox::typeAheadFind): (WebCore::PopupListBox::paint): (WebCore::PopupListBox::paintRow): (WebCore::PopupListBox::getRowFont): (WebCore::PopupListBox::abandon): (WebCore::PopupListBox::pointToRowIndex): (WebCore::PopupListBox::acceptIndex): (WebCore::PopupListBox::selectIndex): (WebCore::PopupListBox::setOriginalIndex): (WebCore::PopupListBox::getRowHeight): (WebCore::PopupListBox::getRowBounds): (WebCore::PopupListBox::invalidateRow): (WebCore::PopupListBox::scrollToRevealRow): (WebCore::PopupListBox::isSelectableItem): (WebCore::PopupListBox::adjustSelectedIndex): (WebCore::PopupListBox::updateFromElement): (WebCore::PopupListBox::layout): (WebCore::PopupListBox::clear): (WebCore::PopupListBox::isPointInBounds): (WebCore::PopupMenu::PopupMenu): (WebCore::PopupMenu::~PopupMenu): (WebCore::PopupMenu::show): (WebCore::PopupMenu::hide): (WebCore::PopupMenu::updateFromElement): (WebCore::PopupMenu::itemWritingDirectionIsNatural):
  • platform/chromium/PopupMenuChromium.h: Added. (WebCore::PopupContainer::listBox):
  • platform/chromium/PopupMenuPrivate.h: Added.
  • platform/chromium/SSLKeyGeneratorChromium.cpp: Added. (WebCore::supportedKeySizes):
  • platform/chromium/ScrollbarThemeChromium.cpp: Added. (WebCore::ScrollbarTheme::nativeTheme): (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium): (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium): (WebCore::ScrollbarThemeChromium::themeChanged): (WebCore::ScrollbarThemeChromium::hasThumb): (WebCore::ScrollbarThemeChromium::backButtonRect): (WebCore::ScrollbarThemeChromium::forwardButtonRect): (WebCore::ScrollbarThemeChromium::trackRect): (WebCore::ScrollbarThemeChromium::paintTrackBackground): (WebCore::ScrollbarThemeChromium::paintTickmarks): (WebCore::ScrollbarThemeChromium::paintScrollCorner): (WebCore::ScrollbarThemeChromium::shouldCenterOnThumb): (WebCore::ScrollbarThemeChromium::buttonSize):
  • platform/chromium/ScrollbarThemeChromium.h: Added. (WebCore::ScrollbarThemeChromium::hasButtons):
  • platform/chromium/ScrollbarThemeChromiumLinux.cpp: Added. (WebCore::ScrollbarThemeChromium::scrollbarThickness): (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): (WebCore::initMozState): (WebCore::paintScrollbarWidget): (WebCore::ScrollbarThemeChromium::paintTrackPiece): (WebCore::ScrollbarThemeChromium::paintButton): (WebCore::ScrollbarThemeChromium::paintThumb):
  • platform/chromium/ScrollbarThemeChromiumWin.cpp:
  • platform/chromium/SearchPopupMenuChromium.cpp: Added. (WebCore::SearchPopupMenu::SearchPopupMenu): (WebCore::SearchPopupMenu::enabled): (WebCore::SearchPopupMenu::saveRecentSearches): (WebCore::SearchPopupMenu::loadRecentSearches):
  • platform/chromium/SharedTimerChromium.cpp: Added. (WebCore::setSharedTimerFiredFunction): (WebCore::setSharedTimerFireTime): (WebCore::stopSharedTimer):
  • platform/chromium/TemporaryLinkStubs.cpp: Added. (WebCore::signedPublicKeyAndChallengeString): (WebCore::getSupportedKeySizes): (WebCore::KURL::fileSystemPath): (WebCore::SharedBuffer::createWithContentsOfFile): (WTF::scheduleDispatchFunctionsOnMainThread):
11:40 Changeset [39902] by dglazkov@chromium.org
  • 1 edit
    6 adds in trunk/WebCore

2009-01-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23321
Upstream more bits of graphics/chromium.

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::hashTableDeletedFontValue): (WebCore::FontPlatformData::scriptFontProperties):
  • platform/graphics/chromium/FontPlatformDataChromiumWin.h: Added. (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::size): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::scriptCache): (WebCore::FontPlatformData::RefCountedHFONT::create): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash): (WebCore::FontPlatformData::RefCountedHFONT::operator==): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT):
  • platform/graphics/chromium/FontPlatformDataLinux.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::setupPaint): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::isFixedPitch):
  • platform/graphics/chromium/FontPlatformDataLinux.h: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::size): (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::hashTableDeletedFontValue):
  • platform/graphics/chromium/FontUtilsChromiumWin.cpp: Added. (WebCore::): (WebCore::FontMap::getAscent): (WebCore::FontMap::FontData::FontData): (WebCore::getFontFamilyForScript): (WebCore::getFallbackFamily): (WebCore::getDerivedFontData): (WebCore::getStyleFromLogfont):
  • platform/graphics/chromium/FontUtilsChromiumWin.h: Added. (WebCore::):
11:37 Changeset [39901] by darin@apple.com
  • 2 edits in trunk/WebKit/mac

2009-01-14 Darin Adler <darin@apple.com>

Reviewed by Oliver Hunt.

Fix crash I ran into while printing. I was unable to reproduce it, but also,
it's clear there's no guarantee that the frame will be non-zero in this case,
so it seems fine to check it.

  • WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero and don't do anything with it if it's zero.
11:25 Changeset [39900] by dglazkov@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

Remove errant WARNING from WebCore/ChangeLog.

11:23 Changeset [39899] by dglazkov@chromium.org
  • 1 edit
    9 adds in trunk/WebCore

2009-01-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23325
Upstream even more graphics/chromium bits.

WARNING: NO TEST CASES ADDED OR CHANGED

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Added. (WebCore::fillEmptyGlyphs): (WebCore::initSpaceGlyph): (WebCore::fillBMPGlyphs): (WebCore::fillNonBMPGlyphs): (WebCore::GlyphPage::fill):
  • platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Added. (WebCore::GlyphPage::fill):
  • platform/graphics/chromium/IconChromiumLinux.cpp: Added. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::paint):
  • platform/graphics/chromium/IconChromiumMac.cpp: Added. (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::~Icon): (WebCore::Icon::paint):
  • platform/graphics/chromium/IconChromiumWin.cpp: Added. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::paint):
  • platform/graphics/chromium/ImageBufferData.h: Added.
  • platform/graphics/chromium/ImageChromiumMac.mm: Added. (WebCore::Image::loadPlatformResource): (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData):
  • platform/graphics/chromium/MediaPlayerPrivateChromium.h: Added.
  • platform/graphics/chromium/PlatformIcon.h: Added.
11:11 Changeset [39898] by darin@chromium.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23323
Upstream platform/text/chromium/

  • platform/text/chromium: Added.
  • platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Added. (WebCore::currentTextBreakLocaleID):
11:07 Changeset [39897] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-01-14 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler and Oliver hunt.

Correctly match allocation functions by implementing a custom deref().

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

  • runtime/ByteArray.h: (JSC::ByteArray::deref): (JSC::ByteArray::ByteArray):
11:02 Changeset [39896] by darin@chromium.org
  • 1 edit
    1 move
    1 add in trunk/WebCore

2009-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23324
Move platform/chromium/EditorChromium.cpp into editing/chromium/

  • editing/chromium: Added.
  • editing/chromium/EditorChromium.cpp: Copied from platform/chromium/EditorChromium.cpp.
  • platform/chromium/EditorChromium.cpp: Removed.
10:56 Changeset [39895] by sfalken@apple.com
  • 4 edits in trunk

Update copyright year in version resources.

10:34 Changeset [39894] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23320
Make it possible to use notImplemented outside of the WebCore namespace

  • platform/NotImplemented.h:
10:23 Changeset [39893] by darin@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2009-01-14 Nigel Tao <nigel.tao.gnome@gmail.com>

Reviewed by Darin Adler.

Tests: http/tests/security/dataTransfer-set-data-file-url.html

platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html

  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setData):

LayoutTests:

2009-01-14 Nigel Tao <nigel.tao.gnome@gmail.com>

Reviewed by Darin Adler.

  • http/tests/security/dataTransfer-set-data-file-url-expected.txt: Added.
  • http/tests/security/dataTransfer-set-data-file-url.html: Added.
  • platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.txt: Added.
  • platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html: Added.
10:18 Changeset [39892] by mitz@apple.com
  • 14 edits in trunk

JavaScriptCore:

Reviewed by John Sullivan.

  • update copyright
  • Info.plist:

JavaScriptGlue:

Reviewed by John Sullivan.

  • update copyright
  • Info.plist:

WebCore:

Reviewed by John Sullivan.

  • update copyright
  • Info.plist:

WebKit/mac:

Reviewed by John Sullivan.

  • update copyright
  • Info.plist:

WebKit/win:

Reviewed by John Sullivan.

  • update copyright
  • WebKit.resources/Info.plist:
  • WebKit.vcproj/WebKit.rc:

WebKitTools:

Reviewed by John Sullivan.

  • update copyright
  • DumpRenderTree/TestNetscapePlugIn.subproj/Info.plist:
  • WebKitLauncher/Info.plist:
09:58 Changeset [39891] by ap@webkit.org
  • 3 edits
    3 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23316
Application cache updating always fails with an assertion

Test: http/tests/appcache/update-cache.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Correctly handle the case where multiple caches survive the last DocumentLoader destruction, preventing a crash in release builds. (WebCore::ApplicationCacheGroup::setNewestCache): Removed a bogus assertion.
09:19 Changeset [39890] by ap@webkit.org
  • 4 edits in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23313
appcache/offline-access.html fails frequently

  • http/tests/appcache/resources/offline-access-frame.html: Make sure that the test runs, even if the cache update finishes before we install event listeners.
  • http/tests/appcache/offline-access-expected.txt:
  • http/tests/appcache/offline-access.html: Don't dump frame content, as it is timing dependent.
05:56 Changeset [39889] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

[Qt] Unit tests for text selection and editing actions of QWebPage.
The following are tested:

  • the actions are not NULL
  • the actions are disabled when contentEditable is false
  • the actions are enabled when contentEditable is true
05:48 Changeset [39888] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-14 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix failing assertion when pressing an extra mouse button on a
QWebView.

Mice with more than three buttons - for example with a dedicated
"back" button - can generate Qt::XButton1 or Button2.
WebCore::MouseButton contains only Left, Middle and Right, so in
Qt's PlatformMouseEvent we map to NoButton, resulting in a mouse
press or release even with no button set. That triggers an assertion
in EventTargetNode::dispatchMouseEvent requiring that either a button
is set or it is just a mouse move event, which is correct.

In QWebPage decide not to dispatch such mouse events where we cannot
map the mouse button to a WebCore::MouseButton.

05:34 Changeset [39887] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

http://www.qtsoftware.com/developer/task-tracker/index_html?id=241144&method=entry

[Qt] Create actions for text selection and editing for QWebPage.
Also properly disable and enable them when contentEditable is toggled.

  • Api/qwebpage.cpp: (QWebPagePrivate::updateAction): (QWebPagePrivate::updateEditorActions): (QWebPage::action):
04:39 Changeset [39886] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon Hausmann.

[Qt] Unit tests for cursor movements. The following are tested:

  • the actions are not NULL
  • the actions are disabled when contentEditable is false
  • the actions are enabled when contentEditable is true
  • the cursor moves properly when the actions are triggered
  • tests/qwebpage/tst_qwebpage.cpp: (CursorTrackedPage::CursorTrackedPage): (CursorTrackedPage::selectedText): (CursorTrackedPage::selectionStartOffset): (CursorTrackedPage::selectionEndOffset): (CursorTrackedPage::isSelectionCollapsed): (tst_QWebPage::cursorMovements):
01:02 Changeset [39885] by ap@webkit.org
  • 2 edits in trunk/WebCore

Release build fix.

  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::storeUpdatedType): Use ASSERT_UNUSED.

01/13/09:

23:17 Changeset [39884] by ap@webkit.org
  • 7 edits
    5 adds in trunk

Reviewed by Anders Carlsson.

Test: http/tests/appcache/xhr-foreign-resource.html

https://bugs.webkit.org/show_bug.cgi?id=23256
Implement application cache foreign entries

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Removed a misplaced check for foreign resources that prevented them from being loaded altogether.
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): If a document that was loaded from appcache should be associated with a different cache, mark the resource as foreign in the original cache and start over.
  • loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType): This function can now be called after a cache is stored, so it no longer asserts the opposite.
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupForURL): Fix database pass to correctly ignore in-memory caches that were already rejected. (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto. (WebCore::ApplicationCacheStorage::storeUpdatedType): Added a function that updates type of an already stored cached resource.
  • loader/appcache/ApplicationCacheStorage.h: Added storeUpdatedType().
23:14 Changeset [39883] by ap@webkit.org
  • 1 edit
    7 adds in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23286
Add a test for non-ASCII URIs in application cache

  • http/tests/appcache/cyrillic-uri-expected.txt: Added.
  • http/tests/appcache/cyrillic-uri.html: Added.
  • http/tests/appcache/resources/cyrillic-uri-form.html: Added.
  • http/tests/appcache/resources/cyrillic-uri.manifest: Added.
  • http/tests/appcache/resources/intercept: Added.
  • http/tests/appcache/resources/intercept/.htaccess: Added.
  • http/tests/appcache/resources/print-uri.php: Added.
17:44 Changeset [39882] by bdakin@apple.com
  • 5 edits in trunk

JavaScriptCore:

2009-01-13 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler and Oliver Hunt.

<rdar://problem/6489314> REGRESSION: Business widget's front side
fails to render correctly when flipping widget

The problem here is that parseInt was parsing NaN as 0. This patch
corrects that by parsing NaN as NaN. This matches our old behavior
and Firefox.

  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt):

LayoutTests:

2009-01-13 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler and Oliver Hunt.

Updated test and results for <rdar://problem/6489314> REGRESSION:
Business widget's front side fails to render correctly when
flipping widget

parseInt(NaN) should be NaN.

  • fast/js/numeric-conversion-expected.txt:
  • fast/js/resources/numeric-conversion.js:
17:24 Changeset [39881] by mrowe@apple.com
  • 6 edits in trunk/WebCore

Fix the Tiger WebCore build after r39880.

  • editing/Editor.cpp:

(WebCore::Editor::markBadGrammar):

  • loader/mac/DocumentLoaderMac.cpp:

(WebCore::DocumentLoader::schedule):
(WebCore::DocumentLoader::unschedule):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::writeSelection):

  • platform/mac/WebCoreObjCExtras.mm:

(WebCoreObjCFinalizeOnMainThread):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::unschedule):

16:16 Changeset [39880] by darin@apple.com
  • 17 edits in trunk/WebCore

2009-01-13 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

Bug 23102: turn on unused parameter warnings in WebCore
https://bugs.webkit.org/show_bug.cgi?id=23102

Last step: Turn on the warning and fix the last few instances.

  • Configurations/Base.xcconfig: Removed -Wno-unused-parameter from WARNING_CFLAGS_BASE, so the unused parameter warning will fire.
  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseMessageChannel): Separate the version for use when CHANNEL_MESSAGING is turned off, so we can omit the argument names. It would be better to not even have this property in that case, rather than having the function return undefined, but I don't know how to do that with the bindings script.
  • bindings/scripts/CodeGeneratorJS.pm: Leave out argument names in functions where they're not used (the SVG context, and the property name in the index getter). Use UNUSED_PARAM where arguments are sometimes not used.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::put): Use UNUSED_PARAM for non-QT.
  • css/MediaQueryEvaluator.cpp: (WebCore::animationMediaFeatureEval): Omit argument names for style and frame. (WebCore::transitionMediaFeatureEval): Ditto. (WebCore::transform_2dMediaFeatureEval): Ditto. (WebCore::transform_3dMediaFeatureEval): Ditto.
  • dom/make_names.pl: Leave out the createdByParser property name in cases where it's not used.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Separate the version for the Mac platform so we can omit the argument names.
  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::contentsSizeChanged): Removed argument name.
  • loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldUsePluginDocument): Commented out argument name.
  • loader/icon/IconFetcher.cpp: (WebCore::IconFetcher::didReceiveResponse): Use ASSERT_UNUSED. (WebCore::IconFetcher::didReceiveData): Ditto. (WebCore::IconFetcher::didFinishLoading): Ditto. (WebCore::IconFetcher::didFail): Ditto.
  • platform/KURL.cpp: (WebCore::assertProtocolIsGood): Separate out the NDEBUG version so we can omit the argument names.
  • platform/Timer.cpp: (WebCore::TimerHeapIterator::checkConsistency): Use ASSERT_UNUSED.
  • platform/graphics/GlyphBuffer.h: (WebCore::GlyphBuffer::offsetAt): Use UNUSED_PARAM in the non-WIN case. (WebCore::GlyphBuffer::add): Use UNUSED_PARAM in the non-CAIRO case.
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear): Removed argument name.
  • rendering/SVGRenderSupport.cpp: (WebCore::prepareToRenderSVGContent): Use UNUSED_PARAM when SVG_FILTERS is not enabled. (WebCore::finishRenderSVGContent): Ditto.
16:15 Changeset [39879] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-01-13 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Fix for: https://bugs.webkit.org/show_bug.cgi?id=23292

Implementation of two argument canDoFastAdditiveOperations does not correlate well with reality.

  • runtime/JSImmediate.h: (JSC::JSFastMath::canDoFastAdditiveOperations):
15:40 ApplicationsGtk edited by greut.lists@dosimple.ch
fixed Empathy's link label (diff)
14:47 Changeset [39878] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

Implemented https://bugs.webkit.org/show_bug.cgi?id=23298
Simple fix to convertToLength to catch style==null cases

  • css/CSSStyleSelector.cpp: (WebCore::convertToLength):
14:36 Changeset [39877] by andersca@apple.com
  • 5 edits
    2 adds in trunk

WebKitTools:

2009-01-13 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add NPRuntime test.

  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (testNPRuntime):
  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
  • DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: (NPP_New): (NPP_GetValue):

LayoutTests:

2009-01-13 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add NPRuntime test.


  • plugins/npruntime-expected.txt: Added.
  • plugins/npruntime.html: Added.
13:15 Changeset [39876] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

Speculative fix for an Uninitialized Memory Read (UMR)
seen by purify in chormium's equivalent V8 file.

  • bindings/js/JSSVGPODTypeWrapper.h: (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
12:55 Changeset [39875] by dglazkov@chromium.org
  • 1 edit
    4 adds in trunk/WebCore

2009-01-13 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

Land portions of platform/graphics/chromium.
https://bugs.webkit.org/show_bug.cgi?id=23297

  • platform/graphics/chromium/FontCustomPlatformData.cpp: Added. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::EOTStream::EOTStream): (WebCore::EOTStream::read): (WebCore::readEmbedProc): (WebCore::createUniqueFontName): (WebCore::createFontCustomPlatformData):
  • platform/graphics/chromium/FontCustomPlatformData.h: Added. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  • platform/graphics/chromium/FontLinux.cpp: Added. (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
  • platform/graphics/chromium/FontPlatformData.h: Added.
12:44 Changeset [39874] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-08 Yongjun Zhang <yongjun.zhang@nokia.com>

Reviewed by Simon Hausmann.

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

Update webview with the intersected rect.

In ChromeClientQt::repaint, view should be updated with the
intersected rect, not the whole windowRect;

This generally is not a problem for normal viewport setup where
viewport size is the same as the qwebview widget size. However, if we
set the viewport size smaller than qwebkit widget, we will see
unwanted painting outside the viewport.

12:43 Changeset [39873] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-13 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

[Qt] Missing piece from my previous commit:
Disable and enable the cursor navigation actions when contentEditable
is changed.

  • Api/qwebpage.cpp: (QWebPagePrivate::updateEditorActions):
12:24 Changeset [39872] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Don't copy DOMStringList.idl into the framework bundle.

Rubber-stamped by Oliver Hunt.

  • WebCore.xcodeproj/project.pbxproj:
12:22 WebKit Team edited by vestbo@webkit.org
(diff)
12:07 Changeset [39871] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=23290
Fix JSImmediate::isImmediate(src) to !src->isCell()

Reviewed by Darin Adler.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

12:07 Changeset [39870] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-13 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

[Qt] Create actions for cursor navigation for QWebPage.
Also properly disable and enable them when contentEditable is toggled.

  • Api/qwebpage.cpp: (QWebPagePrivate::updateAction): (QWebPage::action):
11:26 Changeset [39869] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2009-01-12 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Add a bunch of methods to WebKitPluginClient.defs, and implement them.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::fromUTF8WithLatin1Fallback): If the length isn't specified, get it by calling strlen.


(WKPCEvaluate):
Evaluate doesn't take any arguments.


(WKPCGetIntIdentifier):
Call _NPN_GetIntIdentifier.


(identifierFromServerIdentifier):
New helper function that returns a JSC Identifier from an NPIdentifier.


(WKPCInvoke):
Call identifierFromServerIdentifier.


(WKPCRemoveProperty):
(WKPCHasProperty):
(WKPCHasMethod):
Call NetscapePluginInstanceProxy.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod):
  • Plugins/Hosted/WebKitPluginClient.defs: Add new definitions.
11:25 Changeset [39868] by christian@webkit.org
  • 2 edits in trunk/WebCore

2009-01-13 Christian Dywan <christian@twotoasts.de>

Build fix, StorageEvent is only defined if we have DOM_STORAGE

  • dom/Document.cpp: (WebCore::Document::createEvent): Conditionalize StorageEvent
11:17 Changeset [39867] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-01-13 Anders Carlsson <andersca@apple.com>

Fix build.

  • WebView/WebView.mm: (-[WebView _initWithArguments:]):
11:13 Changeset [39866] by dglazkov@chromium.org
  • 2 edits in trunk/JavaScriptCore

2009-01-13 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23281
Fix the Chromium Win build.
Need to use PLATFORM(WIN_OS) instead of PLATFORM(WIN).
Moved GTK and WX up in #if sequence because they could come with WIN_OS too,
while they have their own implementation even on Windows.

  • wtf/CurrentTime.cpp: (WTF::currentTime):
10:12 Changeset [39865] by timothy@apple.com
  • 7 edits in trunk/WebKit

Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.

<rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)

Reviewed by Darin Adler.

  • Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
  • Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
  • Misc/WebNSObjectExtras.mm: (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments. Passes the optional object to the selector. (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:. Put the optional object into the arguments dictionary. (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
  • WebView/WebResource.mm: (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again. (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
  • WebView/WebView.mm: (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method. (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle. (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread to call _initWithArguments: passing the frame, frameName and groupName. (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
09:59 Changeset [39864] by darin@apple.com
  • 2 edits in trunk/WebCore

2009-01-13 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

Bug 23277: space bar scrolls the page when typed in any text field
https://bugs.webkit.org/show_bug.cgi?id=23277
rdar://problem/6490249

There's already a regression test for this, since bug 16421 was the same problem, but on
Mac. The regression test is fast/events/space-scroll-event.html, so I won't write a new one.

This bug doesn't affect Mac because the canEdit check in -[WebHTMLView insertText:] prevents
a text input event from being generated at all. That difference may in itself be a bug, but
the only symptom is that you get text input events in more cases on platforms other than Mac.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleTextInputEvent): Return whether the event's default was handled, not the result of the dispatchEvent function, which indicates only whether the default behavior was prevented, not if the default behavior did some insertion. This fix makes it so the keyboard event handler can detect that no space was inserted and know that the space bar keypress event can be treated as a scrolling command. (WebCore::EventHandler::defaultKeyboardEventHandler): Handle the keypress event, not the keydown event. Without the change above, making this change would have restored the old behavior, reintroducing bug 22913 where the space bar doesn't scroll at all on Windows.
09:58 Changeset [39863] by hausmann@webkit.org
  • 6 edits in trunk/WebKit/qt

2009-01-13 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

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

Based on patch by Yael Aharon <yael.aharon@nokia.com>

Make the QWebSettings functions for setting the path for the local
storage database private QtWebkit API, including the ability to
associated a QWebPage with a named page group.

09:24 Changeset [39862] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt] Make sure media elements dispatch the 'loaded' event

We assume that when Phonon goes into paused state that we have the
complete media file. Once we do media loading ourselves we can
distinguish between loading the first frame and the complete media.

08:48 Changeset [39861] by darin@chromium.org
  • 1 edit
    27 adds in trunk/WebCore

2009-01-13 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

Landing portions of platform/chromium/, taken from here:
http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/chromium/

  • platform/chromium/ChromiumBridge.h: Added.
  • platform/chromium/ChromiumDataObject.cpp: Added. (WebCore::ChromiumDataObject::clear): (WebCore::ChromiumDataObject::hasData):
  • platform/chromium/ChromiumDataObject.h: Added. (WebCore::ChromiumDataObject::create): (WebCore::ChromiumDataObject::ChromiumDataObject):
  • platform/chromium/ClipboardChromium.cpp: Added. (WebCore::): (WebCore::clipboardTypeFromMIMEType): (WebCore::ClipboardChromium::ClipboardChromium): (WebCore::ClipboardChromium::create): (WebCore::ClipboardChromium::clearData): (WebCore::ClipboardChromium::clearAllData): (WebCore::ClipboardChromium::getData): (WebCore::ClipboardChromium::setData): (WebCore::ClipboardChromium::types): (WebCore::ClipboardChromium::setDragImage): (WebCore::ClipboardChromium::setDragImageElement): (WebCore::ClipboardChromium::createDragImage): (WebCore::imageToMarkup): (WebCore::getCachedImage): (WebCore::writeImageToDataObject): (WebCore::ClipboardChromium::declareAndWriteDragImage): (WebCore::ClipboardChromium::writeURL): (WebCore::ClipboardChromium::writeRange): (WebCore::ClipboardChromium::hasData):
  • platform/chromium/ClipboardChromium.h: Added. (WebCore::ClipboardChromium::~ClipboardChromium): (WebCore::ClipboardChromium::dataObject):
  • platform/chromium/ClipboardUtilitiesChromium.cpp: Added. (WebCore::replaceNewlinesWithWindowsStyleNewlines): (WebCore::replaceNBSPWithSpace): (WebCore::urlToMarkup):
  • platform/chromium/ClipboardUtilitiesChromium.h: Added.
  • platform/chromium/ContextMenuChromium.cpp: Added. (WebCore::ContextMenu::ContextMenu): (WebCore::ContextMenu::~ContextMenu): (WebCore::ContextMenu::itemCount): (WebCore::ContextMenu::insertItem): (WebCore::ContextMenu::appendItem): (WebCore::ContextMenu::itemWithAction): (WebCore::ContextMenu::itemAtIndex): (WebCore::ContextMenu::setPlatformDescription): (WebCore::ContextMenu::platformDescription): (WebCore::ContextMenu::releasePlatformDescription):
  • platform/chromium/ContextMenuItemChromium.cpp: Added. (WebCore::ContextMenuItem::ContextMenuItem): (WebCore::ContextMenuItem::~ContextMenuItem): (WebCore::ContextMenuItem::releasePlatformDescription): (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::action): (WebCore::ContextMenuItem::title): (WebCore::ContextMenuItem::platformSubMenu): (WebCore::ContextMenuItem::setType): (WebCore::ContextMenuItem::setAction): (WebCore::ContextMenuItem::setTitle): (WebCore::ContextMenuItem::setSubMenu): (WebCore::ContextMenuItem::setChecked): (WebCore::ContextMenuItem::setEnabled): (WebCore::ContextMenuItem::enabled):
  • platform/chromium/CursorChromium.cpp: Added. (WebCore::Cursor::Cursor): (WebCore::Cursor::~Cursor): (WebCore::Cursor::operator=): (WebCore::pointerCursor): (WebCore::crossCursor): (WebCore::handCursor): (WebCore::iBeamCursor): (WebCore::waitCursor): (WebCore::helpCursor): (WebCore::eastResizeCursor): (WebCore::northResizeCursor): (WebCore::northEastResizeCursor): (WebCore::northWestResizeCursor): (WebCore::southResizeCursor): (WebCore::southEastResizeCursor): (WebCore::southWestResizeCursor): (WebCore::westResizeCursor): (WebCore::northSouthResizeCursor): (WebCore::eastWestResizeCursor): (WebCore::northEastSouthWestResizeCursor): (WebCore::northWestSouthEastResizeCursor): (WebCore::columnResizeCursor): (WebCore::rowResizeCursor): (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): (WebCore::moveCursor): (WebCore::verticalTextCursor): (WebCore::cellCursor): (WebCore::contextMenuCursor): (WebCore::aliasCursor): (WebCore::progressCursor): (WebCore::noDropCursor): (WebCore::copyCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::zoomInCursor): (WebCore::zoomOutCursor): (WebCore::grabCursor): (WebCore::grabbingCursor):
  • platform/chromium/DragDataChromium.cpp: Added. (WebCore::containsHTML): (WebCore::DragData::createClipboard): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::containsColor): (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asFragment): (WebCore::DragData::asColor):
  • platform/chromium/EditorChromium.cpp: Added. (WebCore::Editor::newGeneralClipboard):
  • platform/chromium/FileChooserChromium.cpp: Added. (WebCore::FileChooser::basenameForWidth):
  • platform/chromium/FileSystemChromium.cpp: Added. (WebCore::deleteFile): (WebCore::deleteEmptyDirectory): (WebCore::getFileSize): (WebCore::getFileModificationTime): (WebCore::directoryName): (WebCore::pathByAppendingComponent): (WebCore::makeAllDirectories): (WebCore::fileExists):
  • platform/chromium/FileSystemChromiumLinux.cpp: Added. (WebCore::pathGetFileName):
  • platform/chromium/FileSystemChromiumMac.mm: Added. (WebCore::pathGetFileName):
  • platform/chromium/FileSystemChromiumWin.cpp: Added. (WebCore::pathGetFileName):
  • platform/chromium/FramelessScrollView.cpp: Added. (WebCore::FramelessScrollView::~FramelessScrollView): (WebCore::FramelessScrollView::invalidateScrollbarRect): (WebCore::FramelessScrollView::isActive): (WebCore::FramelessScrollView::invalidateRect): (WebCore::FramelessScrollView::hostWindow): (WebCore::FramelessScrollView::windowClipRect): (WebCore::FramelessScrollView::paintContents): (WebCore::FramelessScrollView::contentsResized): (WebCore::FramelessScrollView::visibleContentsResized):
  • platform/chromium/FramelessScrollView.h: Added. (WebCore::FramelessScrollView::FramelessScrollView): (WebCore::FramelessScrollView::client): (WebCore::FramelessScrollView::setClient):
  • platform/chromium/FramelessScrollViewClient.h: Added.
  • platform/chromium/ScrollbarThemeChromiumWin.cpp: Added. (WebCore::): (WebCore::ScrollbarThemeChromium::scrollbarThickness): (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): (WebCore::ScrollbarThemeChromium::paintTrackPiece): (WebCore::ScrollbarThemeChromium::paintButton): (WebCore::ScrollbarThemeChromium::paintThumb): (WebCore::ScrollbarThemeChromium::getThemeState): (WebCore::ScrollbarThemeChromium::getThemeArrowState): (WebCore::ScrollbarThemeChromium::getClassicThemeState):
  • platform/chromium/SoundChromiumPosix.cpp: Added. (WebCore::systemBeep):
  • platform/chromium/SoundChromiumWin.cpp: Added. (WebCore::systemBeep):
  • platform/chromium/SystemTimeChromium.cpp: Added. (WebCore::currentTime): (WebCore::userIdleTime):
  • platform/chromium/WidgetChromium.cpp: Added. (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setCursor): (WebCore::Widget::paint): (WebCore::Widget::setFocus): (WebCore::Widget::setIsSelected): (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/chromium/WindowsVersion.cpp: Added. (WebCore::isVistaOrNewer):
  • platform/chromium/WindowsVersion.h: Added.
08:38 Changeset [39860] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt] Add more verbose error output when loading NPAPI plugins

08:17 Changeset [39859] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

2009-01-13 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix crash in the Qt port when deleting a popup from within a
JavaScript onchange handler.

06:58 Changeset [39858] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[GIO] Make sure to untef the GFile and the GInputStream on destruction

Make sure to call cleanupGioOperation from the ResourceHandleInternal
d'tor. Change the signature of cleanupGioOperation so we can do the
cleanup of GIO next to the cleanup of SOUP.

06:58 Changeset [39857] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[GIO] Attach the ResourceHandle to the GObject and get it from the GObject

https://bugs.webkit.org/show_bug.cgi?id=23116 discussed with Benjamin Otte

Sometimes it is not possible to cancel a pending GIO operation and the
callback might be invoked with a pointer to an already destructed
ResourceHandle. To avoid this issue we will attach the ResourceHandle
to the GObject* and in the callback attempt to get the ResourceHandle
from the GObject*. If no ResourceHandle is attached we silently fail
as the cleanup has been already done.

06:58 Changeset [39856] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[GIO] Invoke cleanupGioOperation before calling didFail to avoid crashes

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

The ResourceHandle becomes invalid (e.g. got destructed) from within
the invocation of didFail. Avoid this by cleaning up everything before
calling didFail and simply return afterwards.

This is happening with many tests from dom/html/level2/html e.g.
LayoutTests/dom/html/level2/html/HTMLBodyElement07.html.

06:57 Changeset [39855] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-01-13 Alexander V. Butenko <alex@digiqube.com>

Reviewed by Holger Freyther.

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

Fix crash on WebView dispose stage.

Add null checks to webkit_web_view_set_scroll_adjustments and
webkit_web_view_get_accessible as they get called from within
the dispose.

  • webkit/webkitwebview.cpp:
06:51 Changeset [39854] by vestbo@webkit.org
  • 7 edits
    1 move
    2 adds
    2 deletes in trunk/WebCore

2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Change how themes adjust mediaControls.css to match html4/quicks.css

Instead of providing the full style sheet, the themes provide extra
overrides to the default style defined in UserAgentStyleSheetsData.

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

Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up
build time for the Qt port.

00:11 Changeset [39853] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Build fix.

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):

01/12/09:

23:54 Changeset [39852] by mrowe@apple.com
  • 6 edits in trunk/WebKitTools

Use the modern spelling of WebKit.

  • Scripts/find-extra-includes:
  • Scripts/report-include-statistics:
  • Scripts/run-webkit-app:
  • Scripts/svn-unapply:
  • Scripts/update-webkit:
20:51 Changeset [39851] by barraclough@apple.com
  • 38 edits in trunk

JavaScriptCore:

2009-01-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Make the JSImmediate interface private.

All manipulation of JS values should be through the JSValuePtr class, not by using JSImmediate
directly. The key missing methods on JSValuePtr are:

  • isCell() - check for values that are JSCell*s, and as such where asCell() may be used.
  • isInt32Fast() getInt32Fast() - fast check/access for integer immediates.
  • isUInt32Fast() getUInt32Fast() - ditto for unsigned integer immediates.

The JIT is allowed full access to JSImmediate, since it needs to be able to directly
manipulate JSValuePtrs. The Interpreter is provided access to perform operations directly
on JSValuePtrs through the new JSFastMath interface.

No performance impact.

  • API/JSCallbackObjectFunctions.h: (JSC::::toNumber):
  • API/JSValueRef.cpp: (JSValueIsEqual): (JSValueIsStrictEqual):
  • JavaScriptCore.exp:
  • bytecode/CodeBlock.h: (JSC::CodeBlock::isKnownNotImmediate):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::keyForImmediateSwitch):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue): (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
  • interpreter/Interpreter.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAdd): (JSC::jsIsObjectType): (JSC::cachePrototypeChain): (JSC::Interpreter::tryCachePutByID): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_get_by_val_byte_array): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_put_by_val_byte_array): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_vm_throw):
  • interpreter/Interpreter.h: (JSC::Interpreter::isJSArray): (JSC::Interpreter::isJSString): (JSC::Interpreter::isJSByteArray):
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h: (JSC::JIT::isStrictEqCaseHandledInJITCode):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_rshift): (JSC::JIT::compileFastArith_op_bitand): (JSC::JIT::compileFastArith_op_mod):
  • jit/JITCall.cpp: (JSC::JIT::unlinkCall): (JSC::JIT::compileOpCall):
  • jit/JITInlineMethods.h: (JSC::JIT::getConstantOperandImmediateInt): (JSC::JIT::isOperandConstantImmediateInt):
  • parser/Nodes.cpp: (JSC::processClauseList):
  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf):
  • runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncValueOf):
  • runtime/Collector.cpp: (JSC::Heap::protect): (JSC::Heap::unprotect): (JSC::Heap::heap):
  • runtime/JSByteArray.cpp: (JSC::JSByteArray::getOwnPropertySlot):
  • runtime/JSByteArray.h: (JSC::JSByteArray::getIndex):
  • runtime/JSCell.cpp:
  • runtime/JSCell.h: (JSC::JSValuePtr::isNumberCell): (JSC::JSValuePtr::asCell): (JSC::JSValuePtr::isNumber):
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt):
  • runtime/JSImmediate.h: (JSC::js0): (JSC::jsImpossibleValue): (JSC::JSValuePtr::toInt32): (JSC::JSValuePtr::toUInt32): (JSC::JSValuePtr::isCell): (JSC::JSValuePtr::isInt32Fast): (JSC::JSValuePtr::getInt32Fast): (JSC::JSValuePtr::isUInt32Fast): (JSC::JSValuePtr::getUInt32Fast): (JSC::JSValuePtr::makeInt32Fast): (JSC::JSValuePtr::areBothInt32Fast): (JSC::JSFastMath::canDoFastBitwiseOperations): (JSC::JSFastMath::equal): (JSC::JSFastMath::notEqual): (JSC::JSFastMath::andImmediateNumbers): (JSC::JSFastMath::xorImmediateNumbers): (JSC::JSFastMath::orImmediateNumbers): (JSC::JSFastMath::canDoFastRshift): (JSC::JSFastMath::canDoFastUrshift): (JSC::JSFastMath::rightShiftImmediateNumbers): (JSC::JSFastMath::canDoFastAdditiveOperations): (JSC::JSFastMath::addImmediateNumbers): (JSC::JSFastMath::subImmediateNumbers): (JSC::JSFastMath::incImmediateNumber): (JSC::JSFastMath::decImmediateNumber):
  • runtime/JSNumberCell.h: (JSC::JSValuePtr::asNumberCell): (JSC::jsNumber): (JSC::JSValuePtr::uncheckedGetNumber): (JSC::JSNumberCell::toInt32): (JSC::JSNumberCell::toUInt32): (JSC::JSValuePtr::toJSNumber): (JSC::JSValuePtr::getNumber): (JSC::JSValuePtr::numberToInt32): (JSC::JSValuePtr::numberToUInt32):
  • runtime/JSObject.h: (JSC::JSValuePtr::isObject): (JSC::JSValuePtr::get): (JSC::JSValuePtr::put):
  • runtime/JSValue.cpp: (JSC::JSValuePtr::toInteger): (JSC::JSValuePtr::toIntegerPreserveNaN):
  • runtime/JSValue.h:
  • runtime/Operations.cpp: (JSC::JSValuePtr::equalSlowCase): (JSC::JSValuePtr::strictEqualSlowCase):
  • runtime/Operations.h: (JSC::JSValuePtr::equal): (JSC::JSValuePtr::equalSlowCaseInline): (JSC::JSValuePtr::strictEqual): (JSC::JSValuePtr::strictEqualSlowCaseInline):
  • runtime/Protect.h: (JSC::gcProtect): (JSC::gcUnprotect):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt):
  • runtime/Structure.cpp: (JSC::Structure::createCachedPrototypeChain):

WebCore:

2009-01-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough.

  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

WebKit/mac:

2009-01-12 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough.

  • WebView/WebView.mm: (aeDescFromJSValue):
18:33 Changeset [39850] by beidson@apple.com
  • 2 edits in trunk/WebKit/win

2009-01-12 Brady Eidson <beidson@apple.com>

Reviewed by NOBODY (OOPS!).


<rdar://problem/6490446> - Crash when going back to a cached page

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::savePlatformDataToCachedPage): ENABLE(CFNETWORK) needed to be USE(CFNETWORK)
17:09 Changeset [39849] by cmarrin@apple.com
  • 4 edits in trunk/WebCore

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

I added a common getElapsedTime() function to AnimationBase which uses a combination of
the techniques from KeyframeAnimation and AnimationBase to compute elapsedTime in all
states.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::progress): (WebCore::AnimationBase::getElapsedTime):
  • page/animation/AnimationBase.h:
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
16:22 Changeset [39848] by bfulgham@webkit.org
  • 3 edits
    2 adds in trunk

Correct scrolldelay units (s -> ms)

16:20 Changeset [39847] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

In RenderBox::repaintLayerRectsForImage(), the repaint rect does not have
to be computed in absolute coordintes. Instead, we compute a repaintRect
relative to the RenderObject, which can repaint itself.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage):
16:15 Changeset [39846] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 David Hyatt <hyatt@apple.com>

Apply the same idea as the previous fix but for matched declarations.

Reviewed by Dan Bernstein

  • css/CSSStyleSelector.h:
16:15 Changeset [39845] by beidson@apple.com
  • 17 edits in trunk

WebCore:

2009-01-12 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/6468274> - Track Non-get requests in global history

  • WebCore.base.exp:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • history/HistoryItem.h: (WebCore::HistoryItem::lastVisitWasHTTPNonGet): (WebCore::HistoryItem::setLastVisitWasHTTPNonGet):

WebKit/mac:

2009-01-12 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/6468274> - Track Non-get requests in global history

  • History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
  • History/WebHistoryInternal.h:
  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem _lastVisitWasHTTPNonGet]):
  • History/WebHistoryItemPrivate.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load

WebKit/win:

2009-01-12 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

<rdar://problem/6468274> - Track Non-get requests in global history

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory):
  • WebHistory.cpp: (WebHistory::addItem):
  • WebHistory.h:
  • Interfaces/IWebHistoryItemPrivate.idl:
  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation): (WebHistoryItem::dictionaryRepresentation): (WebHistoryItem::lastVisitWasHTTPNonGet): (WebHistoryItem::setLastVisitWasHTTPNonGet):
  • WebHistoryItem.h:
15:49 Changeset [39844] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

wx build fix. JSValue* -> JSValuePtr.

15:47 Changeset [39843] by kevino@webkit.org
  • 5 edits in trunk/WebCore

!ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header so it can be used by all builds.

15:41 Changeset [39842] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build typo fix.

15:39 Changeset [39841] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Since platform date time functions have moved to JSC, now the wx port JSC needs to depend on wx.

15:18 Changeset [39840] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2009-01-12 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Move marshalling into NetscapePluginInstanceProxy.


Add support for marshallin strings.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate): (WKPCInvoke):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::marshalValue):
  • Plugins/Hosted/WebKitPluginHostTypes.h:
15:01 Changeset [39839] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 David Hyatt <hyatt@apple.com>

Make sure the set of matched rules has a reserved capacity of 32. This prevents remalloc thrash as
elements are matched, since the Vector is shrinking and growing over and over. 1% PLT speedup.

Reviewed by Oliver Hunt

  • css/CSSStyleSelector.h:
14:37 Changeset [39838] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 David Hyatt <hyatt@apple.com>

Optimize Element::attributeChanged to just check if accessibility is enabled up front before looking at the
two accessibility-related attributes. This avoids the rest of the code for all attributes on the PLT.
Tiny speedup.

Reviewed by Oliver Hunt

  • dom/Element.cpp: (WebCore::Element::attributeChanged):
14:34 Changeset [39837] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 David Hyatt <hyatt@apple.com>

Optimize the retrieval of line height. If the document is not using any first-line rules, just immediately
default to the normal case. Tiny speedup on PLT.

Reviewed by Oliver Hunt

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::lineHeight):
14:25 Changeset [39836] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2009-01-12 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Implement WKPCInvoke.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate): (WKPCInvoke):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::idForObject): (WebKit::NetscapePluginInstanceProxy::invoke):
  • Plugins/Hosted/WebKitPluginClient.defs:
14:15 QtWebKitTodo edited by hausmann@webkit.org
(diff)
14:15 Changeset [39835] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2009-01-12 David Hyatt <hyatt@apple.com>

Fix 0.6% regression in PLT. Make sure not to waste time updating NSScrollView's can blit on scroll state
in the ScrollView constructor, since this is always going to be properly updated by FrameView anyway.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView):
13:42 Changeset [39834] by simon.fraser@apple.com
  • 12 edits in trunk/WebCore

2009-01-12 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Merge layoutDelta into LayoutState. This requires that we
push even when layoutState is disabled, so that layoutDelta
can still be stored.

13:38 Changeset [39833] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2009-01-12 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::marshalValue):
  • Plugins/Hosted/WebKitPluginHostTypes.h:
13:31 Changeset [39832] by jchaffraix@webkit.org
  • 2 edits in trunk/WebCore

2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Holger Freyther.

[Qt] Build fix after turning the fontCache to a singleton
https://bugs.webkit.org/show_bug.cgi?id=23253

Add a stub implementation for WebCore::fontCache() and FontCache::FontCache().

  • platform/graphics/qt/FontCacheQt.cpp: (WebCore::fontCache): (WebCore::FontCache::FontCache):
13:07 Changeset [39831] by dglazkov@chromium.org
  • 5 edits
    2 adds in trunk

2009-01-12 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.


Fix some bugs with Selection::appendTrailingWhitespace().
https://bugs.webkit.org/show_bug.cgi?id=23232


Test: editing/selection/doubleclick-whitespace-crash.html


  • editing/Selection.cpp: (WebCore::makeSearchRange): (WebCore::Selection::appendTrailingWhitespace):

2009-01-12 Eric Roman <eroman@chromium.org>

Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=23232

  • editing/selection/doubleclick-whitespace-crash-expected.txt: Added.
  • editing/selection/doubleclick-whitespace-crash.html: Added.
  • editing/selection/doubleclick-whitespace-expected.txt:
  • editing/selection/doubleclick-whitespace.html:
12:26 Changeset [39830] by eric@webkit.org
  • 1 edit
    5 adds in trunk/WebCore

2009-01-12 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

Add the first pieces of platform/graphics/chromium
https://bugs.webkit.org/show_bug.cgi?id=23257

  • platform/graphics/chromium/ColorChromium.cpp: Added. (WebCore::focusRingColor):
  • platform/graphics/chromium/FontCacheChromiumWin.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::isStringASCII): (WebCore::LookupAltName): (WebCore::FontCodepage::): (WebCore::FontCodepage::if): (WebCore::createFontIndirectAndGetWinName): (WebCore::fontContainsCharacter): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::alternateFamilyName): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::toGDIFontWeight): (WebCore::FontCache::getGenericFontForScript): (WebCore::FillLogFont): (WebCore::FontCache::fontExists): (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): (WebCore::traitsInFamilyEnumProc): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData):
  • platform/graphics/chromium/FontCacheLinux.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::alternateFamilyName): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData): (WebCore::FontCache::getGenericFontForScript):
  • platform/graphics/chromium/FontChromiumWin.cpp: Added. (WebCore::windowsCanHandleTextDrawing): (WebCore::skiaDrawText): (WebCore::PaintSkiaText): (WebCore::Font::drawGlyphs): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
11:25 Changeset [39829] by darin@chromium.org
  • 3 edits
    6 adds in trunk/WebCore

2009-01-12 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23254
Upstream page/chromium/

  • page/chromium/AXObjectCacheChromium.cpp: Added. (WebCore::AXObjectCache::detachWrapper): (WebCore::AXObjectCache::attachWrapper): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement): (WebCore::AXObjectCache::handleFocusedUIElementChanged):
  • page/chromium/AccessibilityObjectChromium.cpp:
  • page/chromium/AccessibilityObjectWrapper.h:
  • page/chromium/ChromeClientChromium.h: Added.
  • page/chromium/DragControllerChromium.cpp: Added. (WebCore::DragController::dragOperation): (WebCore::DragController::isCopyKeyDown): (WebCore::DragController::maxDragImageSize): (WebCore::DragController::cleanupAfterSystemDrag):
  • page/chromium/EventHandlerChromium.cpp: Added. (WebCore::EventHandler::passMousePressEventToSubframe): (WebCore::EventHandler::passMouseMoveEventToSubframe): (WebCore::EventHandler::passMouseReleaseEventToSubframe): (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::passWidgetMouseDownEventToWidget): (WebCore::EventHandler::passMouseDownEventToWidget): (WebCore::EventHandler::tabsToAllControls): (WebCore::EventHandler::eventActivatedView): (WebCore::EventHandler::createDraggingClipboard): (WebCore::EventHandler::focusDocumentView): (WebCore::EventHandler::accessKeyModifiers):
  • page/chromium/FrameChromium.cpp: Added. (WebCore::computePageRectsForFrame): (WebCore::Frame::dragImageForSelection):
  • page/chromium/FrameChromium.h: Added.
11:10 Changeset [39828] by dglazkov@chromium.org
  • 4 edits in trunk/WebCore

2008-01-12 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22936
Fix uninitialized memory read error, reported by Purify.

  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): Added initializer for

m_unitsPerEm using cDefaultUnitsPerEm constant.

  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with

the constant.

  • svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant.
07:50 Changeset [39827] by treat@webkit.org
  • 2 edits in trunk/WebCore

Do not set fixedLayoutSize for anything other than the mainframe during
the transition as this is a page level state like the viewportSize.

05:03 Changeset [39826] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-12 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt] Ensure that we're always notified of navigation actions for local anchors

FrameLoader::checkNavigationPolicy() does not notify us if the request has
been checked before (which happens for local anchors), but in the case of
our clients not accepting the navigation request we do want to be notified
again later on, so we clear the lastCheckedRequest flag.

04:51 Changeset [39825] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-12 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Build fix: use qobject_cast which does not rely on RTTI. This fixes the
unit test when building it with a version of Qt (e.g. Qt/Embedded)
configured without RTTI.

  • tests/qwebframe/tst_qwebframe.cpp:
03:10 Changeset [39824] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

Update test results.

  • fast/dom/Window/window-properties-expected.txt: Remove appcache dynamic entries methods.
02:46 Changeset [39823] by jchaffraix@webkit.org
  • 18 edits in trunk

WebCore:

2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Darin Adler.

Bug 22861: Turn the FontCache into a singleton
https://bugs.webkit.org/show_bug.cgi?id=22861

  • Added fontCache() to get the global FontCache.
  • Made all the methods in FontCache instance method.
  • Changed FontCache:: to fontCache()-> in WebCore.
  • WebCore.base.exp: Now export fontCache().
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData):
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::CSSFontSelector): (WebCore::CSSFontSelector::~CSSFontSelector): (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::fontDataForGenericFamily):
  • platform/graphics/Font.cpp: (WebCore::Font::glyphDataForCharacter):
  • platform/graphics/FontCache.cpp: (WebCore::fontCache): (WebCore::FontCache::FontCache):
  • platform/graphics/FontCache.h:
  • platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont):
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::~SimpleFontData):
  • platform/graphics/mac/FontCacheMac.mm: (WebCore::fontCacheATSNotificationCallback):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::smallCapsFontData):
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::getCJKCodePageMasks):
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::containsCharacters):

WebKit/mac:

2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Darin Adler.

Bug 22861: Turn the FontCache into a singleton
https://bugs.webkit.org/show_bug.cgi?id=22861

  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics cachedFontDataCount]): (+[WebCoreStatistics cachedFontDataInactiveCount]): (+[WebCoreStatistics purgeInactiveFontData]): Redirected all the static calls to the global FontCache instance.

WebKit/win:

2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Darin Adler.

Bug 22861: Turn the FontCache into a singleton
https://bugs.webkit.org/show_bug.cgi?id=22861

  • WebCoreStatistics.cpp: (WebCoreStatistics::cachedFontDataCount): (WebCoreStatistics::cachedFontDataInactiveCount): (WebCoreStatistics::purgeInactiveFontData): Redirected all the static calls to the global FontCache instance.
01:58 QtWebKitJournal edited by hausmann@webkit.org
(diff)
01:41 Changeset [39822] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-12 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

When the QWebView is disabled context menus implemented in JavaScript should not pop up.

Just like in QWidget::event() we have to check for the disabled state and
ignore context menu events.

01:36 Changeset [39821] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-12 Simon Hausmann <simon.hausmann@nokia.com

Reviewed by Tor Arne Vestbø.

Fix QWebView appearance when showed uninitialized without page.

Only set WA_OpaquePaintEvent if we have a page set that will actually
paint the entire contents, otherwise the optimization does not apply
as we do not have a paintEvent() implementation and Qt has to fill the
view with its default background instead.

01:12 Changeset [39820] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-01-11 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Do not create a QVariant from QObject* directly, use the
template-specialized function.

  • tests/qwebframe/tst_qwebframe.cpp: (MyQObject::myOverloadedSlot):
Note: See TracTimeline for information about the timeline view.