Timeline



Mar 26, 2009:

11:16 PM Changeset in webkit [42031] by eric@webkit.org
  • 3 edits in trunk/LayoutTests

Reviewed by David Hyatt.

Update fast/repaint/lines-with-layout-delta.html pixel results.
Hyatt says it's a progression, blame him if it ain't.

  • platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.png:
10:19 PM Changeset in webkit [42030] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Try and fix the Qt build.

  • platform/text/TextEncodingDetectorNone.cpp:

(WebCore::detectTextEncoding):

9:56 PM Changeset in webkit [42029] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-03-26 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=24874
24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it


The 'duration' attribute is NaN when no media is available, so the
media element should take care when comparing with duration().

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when it is NaN. (WebCore::HTMLMediaElement::endedPlayback): Ditto.
9:30 PM Changeset in webkit [42028] by mrowe@apple.com
  • 6 edits
    2 moves
    1 delete in trunk/LayoutTests

Update layout test results for changes to Geeza Pro.

  • platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Removed.
  • platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum.
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.png: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png.
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
  • platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
8:21 PM Changeset in webkit [42027] by mrowe@apple.com
  • 3 edits in trunk/WebCore

Fix the build.

7:51 PM Changeset in webkit [42026] by cwzwarich@webkit.org
  • 4 edits in trunk/WebCore

2009-03-26 Jungshik Shin <jshin@chromium.org>

Reviewed by Cameron Zwarich.

  1. Fix the crash in setHintEncoding
  2. Fix build failures on Tiger and Qt. UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp in the patch landed in r42023 for http://bugs.webkit.org/show_bug.cgi?id=16482
  • loader/TextResourceDecoder.h: (WebCore::TextResourceDecoder::setHintEncoding):
  • platform/text/TextEncodingDetectorICU.cpp:
  • platform/text/TextEncodingDetectorNone.cpp:
6:27 PM Changeset in webkit [42025] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-03-26 Simon Fraser <Simon Fraser>

Build fix when ACCELERATED_COMPOSITING is turned on.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::canUseDirectCompositing):
6:12 PM Changeset in webkit [42024] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-03-26 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Change the terminology from "inner content layer" to "direct compositing"
for cases where we can push an image directly over to the compositing system,
without having to draw it.

Clean up much of the code which looks at style to determine if this is possible,
and fix some bugs when backgrounds change dynamically.

  • rendering/RenderLayerBacking.cpp: (WebCore::hasBorderOutlineOrShadow): (WebCore::hasBoxDecorations): (WebCore::hasBoxDecorationsWithBackgroundImage): (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer): (WebCore::RenderLayerBacking::canUseDirectCompositing): (WebCore::RenderLayerBacking::detectDrawingOptimizations): (WebCore::RenderLayerBacking::rendererContentChanged): (WebCore::RenderLayerBacking::updateImageContents):
  • rendering/RenderLayerBacking.h:
5:28 PM Changeset in webkit [42023] by eric@webkit.org
  • 1 edit
    4 adds in trunk/WebCore

No additional review, committing previously reviewed files for build fix only.

Add files I missed when commiting Jungshik's patch in r42022.
https://bugs.webkit.org/show_bug.cgi?id=16482

  • icu/unicode/ucsdet.h: Added.
  • platform/text/TextEncodingDetector.h: Added.
  • platform/text/TextEncodingDetectorICU.cpp: Added. (WebCore::detectTextEncoding):
  • platform/text/TextEncodingDetectorNone.cpp: Added. (WebCore::detectTextEncoding):
5:01 PM Changeset in webkit [42022] by eric@webkit.org
  • 18 edits in trunk

2009-03-26 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.

Add an encoding detector 'hook' to TextResourceDecoder.

  • add |usesEncodingDetector| to Settings. It's off by default.
  • add a new encoding source type |EncodingFromParent| to distinguish cases when the encoding is inherited from the parent frame from cases when it's actually auto-detected.
  • add TextEncodingDetector* to platform/text. Currently, the only implementation uses ICU. Stub is added for ports that do not use ICU and a build on Tiger. Mac OS Tiger comes with ICU 3.2 that does not support encoding detector.
  • add ucsdet.h to icu/unicode for ports using ICU.

Layout tests will be added once bug 20534 is fixed and a WebPreference
can be controlled in test_shell. With UsesEncodingDetector off, there
is no change to test.

http://bugs.webkit.org/show_bug.cgi?id=16482

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCore/GNUmakefile.am
  • WebCore/WebCore.pro
  • WebCore/WebCore.scons
  • WebCore/WebCoreSources.bkl
  • WebCore.base.exp
  • icu/unicode/ucsdet.h
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding.
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::TextResourceDecoder): (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame (WebCore::TextResourceDecoder::checkForHeadCharset): ditto (WebCore::TextResourceDecoder::shouldAutoDetect): (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true. (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
  • loader/TextResourceDecoder.h: (WebCore::TextResourceDecoder::): (WebCore::TextResourceDecoder::create): (WebCore::TextResourceDecoder::setHintEncoding): (WebCore::TextResourceDecoder::source):
  • page/Settings.cpp: add m_usesEncodingDetector (WebCore::Settings::Settings): (WebCore::Settings::setUsesEncodingDetector):
  • page/Settings.h: (WebCore::Settings::usesEncodingDetector):
  • platform/text/TextEncodingDetector.h: Added.
  • platform/text/TextEncodingDetectorICU.cpp: Added. (WebCore::detectTextEncoding):
  • platform/text/TextEncodingDetectorNone.cpp: Added. (WebCore::detectTextEncoding):
4:50 PM Changeset in webkit [42021] by Darin Adler
  • 13 edits in trunk/WebCore

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Removed code that casts EventListener down to derived classes
without type checking. A crash could happen if you added event
listeners with Objective-C and then manipulated the class with
JavaScript.

  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): Removed all the casts and used the markIfNotNull function and mark functions on EventListener instead.
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark): Ditto.
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::mark): Ditto.
  • bindings/js/JSWorkerCustom.cpp: (WebCore::JSWorker::mark): Ditto.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): Ditto.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Used function, the new name for what used to be called listenerObj. (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since this doesn't need to be virtual for callers who have a pointer to this class, not the base class. (WebCore::JSEventListener::function): Renamed from listenerObj. (WebCore::JSProtectedEventListener::function): Ditto.
  • bindings/js/JSEventListener.h: Removed unneeded forward class declarations. Made all virtual functions private since there's no need to call any of them on a particular derived class, only on EventListener. Explicitly declare JSEventListener::mark as virtual since it's now overriding a function in the EventListener base class. Made JSProtectedEventListener::m_globalObject protected so the JSLazyEventListener derived class can use it directly instead of using a virtual function to get the pointer.
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead of globalObject since the latter is a virtual function and there's no need to pay virtual function overhead. (WebCore::JSLazyEventListener::function): Renamed from listenerObj.
  • bindings/js/JSLazyEventListener.h: Moved forward declaration of the Node class here from JSEventListener.h.
  • bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to JSEventListener when getting the script object from a listener.
  • dom/EventListener.h: Added virtual function and mark functions so we can extract the JavaScript function object or mark a JavaScript event listener in a type safe manner.
4:25 PM Changeset in webkit [42020] by pkasting@chromium.org
  • 4 edits in trunk/WebCore

2009-03-26 Peter Kasting <pkasting@google.com>

Reviewed by Adele Peterson.

https://bugs.webkit.org/show_bug.cgi?id=24859
Use CSS file instead of code to adjust search field styling.

  • css/themeWin.css:
  • rendering/RenderThemeWin.cpp:
  • rendering/RenderThemeWin.h:
3:53 PM Changeset in webkit [42019] by Darin Adler
  • 10 edits
    2 copies in trunk/WebCore

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Split JSLazyEventListener out into its own separate source file.
We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
so leave those in the same file with JSEventListener.

  • GNUmakefile.am: Added JSLazyEventListener.
  • WebCore.pro: Ditto.
  • WebCore.scons: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part. Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since JSAbstractEventListener is not derived from JSCell.
  • bindings/js/JSEventListener.h: Removed the JSLazyEventListener part and the now-unneeded include of PlatformString.h.
  • bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp. Kept only the JSLazyEventListener part. (WebCore::eventParameterName): Made this have internal linkage by adding "static". Also moved the default case out of the switch statement so we will get a warning if we omit any cases in the future.
  • bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h. Kept only the JSLazyEventListener part.
  • bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.
3:31 PM Changeset in webkit [42018] by Darin Adler
  • 15 edits in trunk

WebCore:

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Renamed JSUnprotectedEventListener to JSEventListener.
And related renames.

Soon Geoff will make all JavaScript event listeners use mark instead
of protect, so there's no need to emphasize "unprotected".

  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): (WebCore::JSDOMGlobalObject::findJSEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): (WebCore::JSDOMGlobalObject::jsEventListeners): (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener): (WebCore::JSEventListener::listenerObj): (WebCore::JSEventListener::globalObject): (WebCore::JSEventListener::clearGlobalObject): (WebCore::JSEventListener::mark):
  • bindings/js/JSEventListener.h: (WebCore::JSEventListener::create):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener):
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::mark): (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener):
  • bindings/js/JSWorkerCustom.cpp: (WebCore::JSWorker::mark): (WebCore::JSWorker::addEventListener): (WebCore::JSWorker::removeEventListener):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm: All just renaming.

WebKitTools:

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • Scripts/do-webcore-rename:Update for rename of JSUnprotectedEventListener to JSEventListener.
3:21 PM Changeset in webkit [42017] by Darin Adler
  • 12 edits in trunk

WebCore:

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Renamed JSEventListener to JSProtectedEventListener.
And related renames.

Soon Geoff will make all JavaScript event listeners use mark instead
of protect, and so this class will be be obsolete. We will rename
JSUnrpotectedEventListener to JSEventListener in the next check-in,
since that one will remain.

  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSEventListener.cpp: (WebCore::JSProtectedEventListener::JSProtectedEventListener): (WebCore::JSProtectedEventListener::~JSProtectedEventListener): (WebCore::JSProtectedEventListener::listenerObj): (WebCore::JSProtectedEventListener::globalObject): (WebCore::JSProtectedEventListener::clearGlobalObject): (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/JSEventListener.h: (WebCore::JSProtectedEventListener::create):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::addEventListener): (WebCore::JSNode::removeEventListener):
  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener): All just renaming.

WebKitTools:

2009-03-26 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • Scripts/do-webcore-rename: Update for rename of JSEventListener to JSProtectedEventListener. This includes all the related renames, but not that one because that one renames the file.
2:28 PM Changeset in webkit [42016] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Copy testapi.js to $WebKitOutputDir on Windows

Part of Bug 24856: run-javascriptcore-tests should run testapi on
Windows
<https://bugs.webkit.org/show_bug.cgi?id=24856>

This matches what Mac does, which will help once we enable running
testapi from run-javascriptcore-tests on Windows.

Reviewed by Steve Falkenburg.

  • JavaScriptCore.vcproj/testapi/testapi.vcproj: Copy testapi.js next to testapi.exe.
1:39 PM Changeset in webkit [42015] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

1:38 PM Changeset in webkit [42014] by mrowe@apple.com
  • 1 copy in tags/Safari-6530.4

New tag.

1:35 PM Changeset in webkit [42013] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

  • fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can create runs extending beyond the end

No test because Safari does not use this version of
createBidiRunsForLine() with the end iterator not pointing to the end
of the text run.

  • platform/text/BidiResolver.h: (WebCore::BidiResolver::appendRun): Cap the end of the run at the end of the line and set the reachedEndOfLine flag. This mirrors the logic in the specialized version of appendRun() in bidi.cpp, which is why the problem did not show up in HTML. Also avoid creating empty runs.
1:18 PM Changeset in webkit [42012] by Adam Roben
  • 2 edits in trunk/WebKitTools

Reduce run-webkit-tests's time out limit to 15 seconds (or 2.5 minutes under GuardMalloc)

The previous limit was 60 seconds (or 10 minutes under GuardMalloc).
There's no evidence that we need the limit to be this long, and having
it be so long just makes timed-out tests take forever to complete.
DRT's watchdog timer is 10 seconds, so still has time to fire before
run-webkit-tests will cut it off.

Reviewed by Simon Fraser.

  • Scripts/run-webkit-tests: (sub readFromDumpToolWithTimer): Reduced the limit to 15 seconds (or 2.5 mintues under GuardMalloc).
1:10 PM Changeset in webkit [42011] by Adam Roben
  • 6 edits in trunk/WebKitTools

Make DRT's watchdog timer actually work on Windows

We were previously trying to use a CFRunLoopTimer for the watchdog
timer on Windows. This doesn't work because we don't use a CFRunLoop
on the main thread on Windows.

This patch changes the watchdog timer on Windows be a normal Windows
timer.

Reviewed by Simon Fraser.

  • DumpRenderTree/DumpRenderTree.h: Moved declaration of waitToDumpWatchdog from here...
  • DumpRenderTree/mac/DumpRenderTreeMac.h: ...to here.
  • DumpRenderTree/win/DumpRenderTree.cpp: (invalidateAnyPreviousWaitToDumpWatchdog): Added. This function cancels an existing watchdog timer. (dump): Call invalidateAnyPreviousWaitToDumpWatchdog. This will prevent watchdogs from previous tests firing during subsequent ones. This matches Mac's behavior.
  • DumpRenderTree/win/DumpRenderTreeWin.h: Added a declaration of waitToDumpWatchdog.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (waitUntilDoneWatchdogFired): Converted this to be a Windows TIMERPROC. (LayoutTestController::setWaitToDump): Changed to use SetTimer instead of CFRunLoopAddTimer.
11:48 AM Changeset in webkit [42010] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

2009-03-26 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

  • Fix <rdar://problem/6687055> and <rdar://problem/6713639>.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvalidateRect): Call NetscapePluginInstanceProxy::invalidateRect.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::cleanup): Stop the request timer, set m_pluginView to nil.


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
No need to set m_pluginView to nil here anymore, it's now done in cleanup().


(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
Assert that the plug-in view is not nil.


(WebKit::NetscapePluginInstanceProxy::invalidateRect):
Call setNeedsDisplayInRect here.

11:34 AM Changeset in webkit [42009] by Simon Fraser
  • 6 edits
    10 adds in trunk

2009-03-26 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Tests: compositing/overflow/ancestor-overflow.html

compositing/overflow/parent-overflow.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRects::infiniteRect): New static method that returns a large rect that is used by the clipping logic.
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use parentClipRects(), rather than calculateRects(), to compute the overflow rect that we'll use to create a masking layer for composited clipping.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::clippedByAncestor): Use parentClipRects() to see whether there's a layer between us and our compositing ancestor which applies clipping.

(WebCore::RenderLayerCompositor::clipsCompositingDescendants):
A layer which imposes clipping to its children doesn't have to be a stacking
context; it might be a normal flow layer; in either case, we can rely on the
hasCompositingDescendant() bit.

11:18 AM Changeset in webkit [42008] by Adam Roben
  • 1 edit
    1 delete in trunk/WebKitLibraries

Remove SafariThemeConstants.h, which is now provided by WebKitSupportLibrary

  • win/include/SafariTheme: Removed.
  • win/include/SafariTheme/SafariThemeConstants.h: Removed.
10:05 AM Changeset in webkit [42007] by sfalken@apple.com
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=24837
Escape key should dismiss select menu

Reviewed by Adam Roben.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupWndProc):
9:12 AM Changeset in webkit [42006] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

Make sure the script uses LF line endings even on Windows.

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

8:21 AM Changeset in webkit [42005] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-03-26 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Fix the documentation of the QLocale usage in userAgentForUrl.

8:06 AM Changeset in webkit [42004] by Adam Roben
  • 2 edits in trunk/LayoutTests

2009-03-25 Brian Weinstein <bweinstein@gmail.com>

Update Windows skipped list based on failures in r41995, to try and make Windows build-bot green.

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

Reviewed by Adam Roben

  • platform/win/Skipped:
7:26 AM Changeset in webkit [42003] by mitz@apple.com
  • 4 edits in trunk/WebKit/win

Reviewed by Adam Roben.

  • add close() to the WebView API.
  • Interfaces/IWebView.idl:
  • WebView.cpp: (WebView::close):
  • WebView.h:
7:24 AM Changeset in webkit [42002] by staikos@webkit.org
  • 37 edits in trunk/WebCore

2009-03-26 Eli Fidler <eli.fidler@torchmobile.com>

Reviewed by George Staikos.

Remove warnings all over the place by making operator precedence

explicit in cases like x && y
z. No functional change.
4:43 AM Changeset in webkit [42001] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-03-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=24804
[GTK] 401 responses cause rogue content to be loaded

Our soup code handles 401 responses itself, so we should not feed
the headers and data of those responses to the loader.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::gotHeadersCallback): (WebCore::gotChunkCallback):
2:31 AM Changeset in webkit [42000] by ariya@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-03-20 Erik L. Bunce <elbunce@xendom.com>

Reviewed by Simon Hausmann.

Fix for InsertParagraphSeparator and InsertLineSeparator so that
QWebPage::action() creates QActions for them. Also make sure they get
updated appropriately.

  • Api/qwebpage.cpp: (QWebPagePrivate::updateEditorActions): (QWebPage::action):
  • tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::textEditing):

Mar 25, 2009:

7:39 PM Changeset in webkit [41999] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix exception handling for instanceof in the interpreter.

Reviewed by Geoff Garen

7:34 PM Changeset in webkit [41998] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-03-25 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6724011> Write to freed memory in JSC::Label::deref
when reloading http://helpme.att.net/speedtest/

  • bytecompiler/BytecodeGenerator.h: Reversed the declaration order for m_labelScopes and m_labels to reverse their destruction order. m_labelScopes has references to memory within m_labels, so its destructor needs to run first.
7:12 PM Changeset in webkit [41997] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2009-03-25 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Darin Adler.


Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
during Stress test (#3 & #7 WER crashes for Safari 4 Beta)


The problem was that allocation of the global object would, for just a
moment, leave the global object's prototype unprotected from GC. This
bug doesn't apply to non-global DOM objects because their prototypes are
cached and marked by the global object.

No test case because the crashing condition is hard to deterministically
produce in a normal build, and in a Windows Release build with
COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.

  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript): Protect the global object's prototype from GC during construction, since the global object does not yet point to it, and therefore won't mark it.
6:38 PM Changeset in webkit [41996] by dino@apple.com
  • 9 edits
    10 adds in trunk

2009-03-25 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser

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

When using hardware compositing, some images can be directly
rendered by the hardware - no need to draw them into a separate
context, therefore saving memory.
Only images with certain style properties can be directly
composited - basically anything that is not a simple image requires
the usual rendering path (eg. if the image has borders).

Test: compositing/direct-image-compositing.html

  • manual-tests/resources/simple_image.png: Added.
  • manual-tests/simple-image-compositing.html: Added.
  • platform/graphics/Image.h: (WebCore::Image::startAnimation):
    • move this to public
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
    • poke compositing layer if image has changed

(WebCore::RenderImage::notifyFinished):

  • let the compositing layer know that it can render the image
  • rendering/RenderImage.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::rendererContentChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::canUseInnerContentLayer): (WebCore::RenderLayerBacking::detectDrawingOptimizations): (WebCore::RenderLayerBacking::rendererContentChanged):
  • rendering/RenderLayerBacking.h:
    • code to hook up direct compositing of images where possible
4:41 PM Changeset in webkit [41995] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Update test result search path for Windows now that it has updated versions of ICU, libxml2, and friends.

Rubber-stamped by Steve Falkenburg.

  • Scripts/run-webkit-tests:
4:06 PM Changeset in webkit [41994] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-03-25 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

<rdar://problem/6714964>
CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775


Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.


  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::deliverData):
3:37 PM Changeset in webkit [41993] by Simon Fraser
  • 8 edits in trunk/LayoutTests

2009-03-25 Simon Fraser <Simon Fraser>

Reviewed by Anders Carlsson.

Update layout test results for
https://bugs.webkit.org/show_bug.cgi?id=24809

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
3:24 PM Changeset in webkit [41992] by levin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-25 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
rename of V8NodeFilter to V8NodeFilterCondition.

  • bindings/v8/V8NodeFilterCondition.cpp:
3:15 PM Changeset in webkit [41991] by eric@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by Darin Adler.

Remove dead code and style cleanup
https://bugs.webkit.org/show_bug.cgi?id=24684

  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::CanvasStyle): Coverty was annoyed that we didn't initialize all of our members. I agree, but I didn't want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
  • page/FocusController.cpp: (WebCore::FocusController::setFocusedNode): "node" was checked just above and is already known to be non-null
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::insertOnlyThisLayer): We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check (WebCore::RenderLayer::resize): element is already ASSERTed above, no need to null check it here
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addCell): currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.
3:14 PM Changeset in webkit [41990] by eric@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

Move ASSERT(foo) to before where foo-> is used
https://bugs.webkit.org/show_bug.cgi?id=24684

  • platform/chromium/PasteboardChromium.cpp: (WebCore::Pasteboard::writeImage): Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved ASSERT(node) to the top of the function it made sense to move the rest of them there too.
  • rendering/SVGRenderSupport.cpp: (WebCore::prepareToRenderSVGContent): move ASSERT(object) to *before* we use "object" :)
3:14 PM Changeset in webkit [41989] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Simon Fraser.

Make TextTokenizer ASSERT that the buffer was freed
https://bugs.webkit.org/show_bug.cgi?id=24684

  • loader/TextDocument.cpp: (WebCore::TextTokenizer::TextTokenizer): (WebCore::TextTokenizer::~TextTokenizer): (WebCore::TextTokenizer::finish): Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.
3:14 PM Changeset in webkit [41988] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
https://bugs.webkit.org/show_bug.cgi?id=24684

I don't have a test case where we were taking the wrong path here
However, adding an ASSERT(lBreak.obj) before this usage caused
multiple bidi tests to fail, so lBreak.obj can be null here.

  • rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.
3:11 PM Changeset in webkit [41987] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-03-25 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

When the slider range is zero, avoid a divide by zero, which caused the
thumb to be positioned off in the weeds, which broke painting.

Test: media/video-empty-source.html

  • rendering/RenderSlider.cpp: (WebCore::SliderRange::proportionFromValue): (WebCore::SliderRange::valueFromProportion): (WebCore::sliderPosition): (WebCore::RenderSlider::setValueForPosition):
3:04 PM Changeset in webkit [41986] by eric@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Simon Fraser.

Style cleanup and dead code removal in dom, editing
https://bugs.webkit.org/show_bug.cgi?id=24684

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): (WebCore::ContainerNode::getLowerRightCorner): (WebCore::ContainerNode::getRect): Coverty was (rightly) confused as to what the hell "o" was being used for and whether or not it would ever be NULL. I added some ASSERTS so that people (and machines) would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
  • dom/Document.cpp: (WebCore::Document::recalcStyle): Remove dead code, this block already checked that change == Force
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeInlineStyle): Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus prev will be null, and we don't really explicitly handle it (like we probably should) It's OK though, because we end up creating a null position object, which may not have been what we intended, but we certainly don't crash.
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Remove dead code, insertionPosition.node() is already checked to be non-null above.
  • editing/markup.cpp: (WebCore::appendStartMarkup): removed dead code, annotate is already known to be true at this point in the file !annotate was checked above, and break; was called.
3:04 PM Changeset in webkit [41985] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Simon Fraser.

CSS dead code removal and cleanup from Coverty errors
https://bugs.webkit.org/show_bug.cgi?id=24684

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Every other place in the code we check settings() for NULL, so I made these places check too, even though we should never be resolving style against a document which has no frame (which I believe is the only time settings() can be null)
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::styleSheetChanged): Removing dead code, "root" can never be null here.
  • css/SVGCSSStyleSelector.cpp: (WebCore::colorFromSVGColorCSSValue): (WebCore::CSSStyleSelector::applySVGProperty): Extra returns in the old macros caused dead code. Removing the old macros and use modern ones instead. :) Extra null checks to value were not needed. Added an ASSERT at the top of the function to make it clear that value will never be NULL. Added colorFromSVGColorCSSValue to clean up the code a little.
3:04 PM Changeset in webkit [41984] by eric@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Simon Fraser.

Font fallback cleanup and added ASSERT for GlyphPageTreeNode
https://bugs.webkit.org/show_bug.cgi?id=24684

  • css/CSSFontSelector.cpp: (WebCore::compareFontFaces): Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets I can't read the code well enough to tell, so I tried to make the code clearer and added an ASSERT.
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Coverty believes we can crash here due to j being larger than GlyphPage::size. I think to is already known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.
3:04 PM Changeset in webkit [41983] by eric@webkit.org
  • 9 edits in trunk/WebCore

Reviewed by Simon Fraser.

Coverty inspired fixes in Animations/Transforms
https://bugs.webkit.org/show_bug.cgi?id=24684

  • page/animation/AnimationBase.h: Fix animate() signatures to match so that the virtual methods actually override one another. :)
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): Attempt to fix this method, prevAnimation was never set to anything but NULL, as far as I can tell the author originally intended to update it at the end of the loop, which is what I changed this code to do.
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::animate): Make method signature match AnimationBase::animate
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate): Make method signature match AnimationBase::animate
  • page/animation/KeyframeAnimation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.cpp: (WebCore::PerspectiveTransformOperation::blend): if (blendToIdentity) already returned above.
  • platform/graphics/transforms/RotateTransformOperation.cpp: (WebCore::RotateTransformOperation::blend): if (blendToIdentity) already returned above.
2:31 PM Changeset in webkit [41982] by staikos@webkit.org
  • 3 edits in trunk/WebCore

2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>

Reviewed by George Staikos.

Fix compiler warnings regarding assignments in if statements.

2:25 PM Changeset in webkit [41981] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6472150> repro crash in RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using menus

Test: fast/inline/continuation-positioned-reparenting.html

  • rendering/RenderInline.cpp: (WebCore::RenderInline::splitFlow): When repurposing the existing container as the "pre" block, clear its positioned objects list, because positioned descendants may end up in a different block after the split.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/6472150> repro crash in RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using menus
  • fast/inline/continuation-positioned-reparenting-expected.txt: Added.
  • fast/inline/continuation-positioned-reparenting.html: Added.
12:52 PM Changeset in webkit [41980] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-03-24 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Length values in transform operations need to take zoom into account.

Test: fast/transforms/transforms-with-zoom.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::createTransformOperations):
12:36 PM Applications using WebKit edited by staikos@kde.org
(diff)
12:23 PM Changeset in webkit [41979] by hyatt@apple.com
  • 9 edits in trunk

WebCore:

2009-03-25 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
values. Add support for the new values (while preserving the old values for backwards
compatibility).

Changed some existing test cases to use the new values.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty):
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EFillBox):
  • css/CSSValueKeywords.in:

LayoutTests:

2009-03-25 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser.

Change a few test cases to use the new values just to verify that they work.

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

  • fast/backgrounds/size/backgroundSize17.html:
  • fast/backgrounds/size/backgroundSize18.html:
  • fast/backgrounds/size/backgroundSize19.html:
  • fast/gradients/simple-gradients.html:
11:18 AM Changeset in webkit [41978] by brettw@chromium.org
  • 3 edits
    4 adds in trunk

WebCore:
2009-03-25 Brett Wilson <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

Reviewed by Dimitri Glazkov.

Fix complex text opacity on the Chromium Windows port.
https://bugs.webkit.org/show_bug.cgi?id=24757

Test: fast/text/complex-text-opacity.html

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText):

LayoutTests:
2009-03-25 Brett Wilson <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

Reviewed by Dimitri Glazkov.

Fix complex text opacity on the Chromium Windows port.
https://bugs.webkit.org/show_bug.cgi?id=24757

  • fast/text/complex-text-opacity.html: Added.
  • platform/mac/fast/text/complex-text-opacity-expected.checksum: Added.
  • platform/mac/fast/text/complex-text-opacity-expected.png: Added.
  • platform/mac/fast/text/complex-text-opacity-expected.txt: Added.
10:30 AM Changeset in webkit [41977] by kdecker@apple.com
  • 3 edits in trunk/WebKit/mac

Reviewed by Kevin Decker.


<rdar://problem/6453738> call SetWindow when user creates a new tab


CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
Flash is excluded from this change in behavior, as it has historical WebKit-specific code
that isn't compatible with this change.

  • Plugins/WebNetscapePluginView.h:

Added an _isFlash ivar.

  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView _createPlugin]):

Set the new _isFlash ivar based on the bundle identifier.

(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):

When using the CG drawing model and in a non-drawable state, set the portState
to NULL and return early.

(-[WebNetscapePluginView updateAndSetWindow]):

When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
Flash is an exception to this, due to its historical behavior.

(-[WebNetscapePluginView setWindowIfNecessary]):

Removed an assertion that was no longer true. The [NSView focus] view
is no longer guaranteed to be 'self' at this point.
Also modified the debug logging for CG plug-ins to include the size of the
window's clipRect, which was useful in verifying the correct behavior of this patch.

10:07 AM Changeset in webkit [41976] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2009-03-25 David Hyatt <hyatt@apple.com>

Reviewed by Eric Seidel

Fix for bug 23198, border images should not clip to border radii. The border-image should just ignore
the border-radius, since the assumption is that any desired rounding will be built into the border-image
itself.

Note that I do not agree with this change, but I am matching the spec.

Added fast/borders/border-image-border-radius.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

2009-03-25 David Hyatt <hyatt@apple.com>

Reviewed by Eric Seidel

Test case for bug 23198.

  • fast/borders/border-image-border-radius.html: Added.
  • platform/mac/fast/borders/border-image-border-radius-expected.checksum: Added.
  • platform/mac/fast/borders/border-image-border-radius-expected.png: Added.
  • platform/mac/fast/borders/border-image-border-radius-expected.txt: Added.
8:09 AM Changeset in webkit [41975] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-03-25 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=24750
[GTK] requests download instead of displaying page

Fix the Content-Type headers we get from soup, so that we set a
proper media type on the ResourceResponse.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::fillResponseFromMessage):
7:49 AM Changeset in webkit [41974] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-03-25 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=24600
[GTK] responses with status code >= 400 should not be given special treatment

Do not special case requests that have HTTP responses >=

  1. Redirects are handled automatically by libsoup, but the rest of the responses should be treated like any other.
  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::): (WebCore::gotHeadersCallback): (WebCore::gotChunkCallback): (WebCore::finishedCallback):
7:36 AM Changeset in webkit [41973] by Darin Adler
  • 5 edits in trunk/WebCore

2009-03-25 Darin Adler <Darin Adler>

Reviewed by John Sullivan.

Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
they are being used only for selections, not an entire document.

  • WebCore.base.exp: Remove exported function that's not used in WebKit.
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member function so it can share private things with other member functions. Added some FIXME comments to a branch of code I think is dead. Changed boolean argument into a named one. Renamed to match other similar functions. (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto. (WebCore::LegacyWebArchive::createResource): Ditto. (WebCore::LegacyWebArchive::create): Merged the create and init functions. (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because we should never fail to write (we can fail to read). (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static member function as above. (WebCore::LegacyWebArchive::createFromSelection): Ditto. (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than iterators. Only include the favicon if the first node is the document since we don't want to include the favicon when copying and pasting.
  • loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private. Made the Mac-specific functions be static member functions. Made other helpers be static member functions. Removed the nit function.
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated comment and made this a static member function. (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made it so we only type cast in one place.
7:34 AM Changeset in webkit [41972] by Darin Adler
  • 12 edits
    2 adds in trunk

WebCore:

2009-03-25 Darin Adler <Darin Adler>

Reviewed by David Hyatt.

Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
https://bugs.webkit.org/show_bug.cgi?id=24740
rdar://problem/6679873

Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
https://bugs.webkit.org/show_bug.cgi?id=12104

Test: media/video-display-none-crash.html

The problem here was that RenderSlider was trying to position its thumb in a way that
requires it to call updateLayout inside rendering code. The right way to position a
child renderer is to do layout, so I had to write a layout function. And then fix a few
other small problems shown by the same test case.

  • rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage. Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML prefix for public DOM classes, not elements used as implementation details. Made SliderThumbElement function members private and got rid of unneeded default argument value for shadowParent. (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes. (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above. (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in a way that clamps to the range. (WebCore::sliderPosition): Added. Computes the slider position: a double. (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit initialization of m_initialClickPoint. (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead of calling setCurrentPosition and valueChanged. (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb. (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle. (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code setting the position to relative and setting the left and top. We now handle positioning in a custom layout function. (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout. (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value in the element if it's out of range. This clamping used to be done as a side effect of setPositionFromValue. Also, this has nothing to do with the renderer, so at some point it could be moved into HTMLInputElement. Removed call to setPositionFromValue and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want this to be propagated to the parent -- it's not called during layout. (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange class. Also don't call setCurrentPosition; instead just call setNeedsLayout. (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather than the style to find the position; that means this needs to be done after layout is done. Also removed unneeded runtime checks and replaced them with assertions, after checking all callers to see they already guarantee this. (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them with assertions, after checking all callers to see they already guarantee this. (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't crash if called early on a brand new RenderSlider.
  • rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode. Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML prefix for public DOM classes, not elements used as implementation details. Made the mouseEventIsInThumb function non-virtual. Removed the return value and argument from setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some private member functions.

LayoutTests:

2009-03-25 Darin Adler <Darin Adler>

Reviewed by David Hyatt.

Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
https://bugs.webkit.org/show_bug.cgi?id=24740
rdar://problem/6679873

Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
https://bugs.webkit.org/show_bug.cgi?id=12104

  • media/video-display-none-crash-expected.txt: Added.
  • media/video-display-none-crash.html: Added.
  • platform/mac/fast/forms/box-shadow-override-expected.txt: Updated since a slider's thumb is no longer relative-positioned and hence no longer gets its own layer.
  • platform/mac/fast/forms/input-appearance-height-expected.txt: Ditto.
  • platform/mac/fast/forms/slider-padding-expected.txt: Ditto.
  • platform/mac/fast/forms/slider-thumb-shared-style-expected.txt: Ditto.
  • platform/mac/fast/forms/slider-thumb-stylability-expected.txt: Ditto.
  • platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
  • platform/mac/media/video-controls-rendering-expected.txt: Ditto.
  • platform/mac/media/video-display-toggle-expected.txt: Ditto.
7:31 AM Changeset in webkit [41971] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-03-25 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=15793
[GTK] tooltip position doesn't update when hovering consecutive links

Work-around tooltips not updating their location when the elements
are consecutive, by clearing the tooltip when handling
mouseDidMoveOverElement.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::mouseDidMoveOverElement):
6:01 AM Changeset in webkit [41970] by staikos@webkit.org
  • 5 edits in trunk/WebCore

2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>

Reviewed by George Staikos.

Fix ambiguous else cases by adding braces to nested if()s with elses.

5:00 AM Changeset in webkit [41969] by xan@webkit.org
  • 3 edits in trunk/WebKit/gtk

2009-03-23 Alejandro Garcia Castro <alex@igalia.com>

Reviewed by Holger Freyther.

[Gtk] Current API does not allow us to open target="_blank" links
in new tabs instead of windows
https://bugs.webkit.org/show_bug.cgi?id=23932

Added a signal to the API (new-window-policy-decision-requested)
that allows the browser to decide the policy for the new window
request, if the signal is not handled we open the new window as
usual.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::getNavigationAction): (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/webkitwebview.cpp:

Mar 24, 2009:

9:18 PM Changeset in webkit [41968] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix the Tiger build some more.

9:06 PM Changeset in webkit [41967] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix the Tiger build.

8:29 PM Changeset in webkit [41966] by mrowe@apple.com
  • 4 edits in trunk

Explicitly map NSNotFound to -1 so that the result of-characterIndexForPointX:Y: does not differ between 32- and 64-bit.

Reviewed by Jon "The Most Boring Man in the World" Honeycutt.

  • DumpRenderTree/mac/TextInputController.m:

(-[TextInputController characterIndexForPointX:Y:]):

Update test result for change to explicitly map NSNotFound to -1 in textInputController.characterIndexForPoint.

  • platform/mac/fast/dom/character-index-for-point-expected.txt:
8:13 PM Changeset in webkit [41965] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Skip some more tests that are failing.

Rubber-stamped by Oliver Hunt.

  • platform/mac-snowleopard/Skipped:
7:47 PM Changeset in webkit [41964] by staikos@webkit.org
  • 2 edits in trunk/WebCore

2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>

Reviewed by George Staikos.

Move variable into proper platform block to quiet warning.

7:14 PM Changeset in webkit [41963] by eric.carlson@apple.com
  • 3 edits in trunk/WebCore

2009-03-24 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti Koivisto.

Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies

  • WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having network state of NETWORK_NO_SOURCE.
  • WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK corresponds to HaveFutureData, not HaveEnoughData.
5:57 PM Changeset in webkit [41962] by adele@apple.com
  • 7 edits in trunk

WebCore:

2009-03-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
<rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): After breaking out of an empty mail blockquote, we still want continue with the deletion so actual content will get deleted, and not just the quote style.

LayoutTests:

2009-03-24 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Updated tests for https://bugs.webkit.org/show_bug.cgi?id=24707
<rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

  • editing/deleting/2610675-1-expected.txt:
  • editing/deleting/2610675-1.html:
  • editing/deleting/2610675-2-expected.txt:
  • editing/deleting/2610675-2.html:
5:30 PM Changeset in webkit [41961] by Darin Adler
  • 2 edits in trunk/WebCore

2009-03-24 Darin Adler <Darin Adler>

Reviewed by Brady Eidson.

<rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Added a null check.
5:02 PM Changeset in webkit [41960] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-24 Adam Langley <agl@google.com>

Reviewed by Darin Fisher.

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

The Skia drawLine function takes subpixel values and attempts to draw
a line with subpixel precision. This is complex and slow for drawing
scrollbars which use only vertical and horizontal lines.

This changes the Chromium Linux scrollbar code to use drawIRect.

  • platform/chromium/ScrollbarThemeChromiumLinux.cpp: (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): (WebCore::drawVertLine): (WebCore::drawHorizLine): (WebCore::drawBox): (WebCore::ScrollbarThemeChromium::paintTrackPiece): (WebCore::ScrollbarThemeChromium::paintThumb):
4:36 PM Changeset in webkit [41959] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.

Rubber-stamped by Sam Weinig.

  • platform/mac-snowleopard/Skipped:
4:25 PM Changeset in webkit [41958] by Simon Fraser
  • 1 edit in trunk/WebCore/ChangeLog

Fix the list of files touched in r41951 in the Changelog.

4:18 PM Changeset in webkit [41957] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Skip some more media tests for now.

  • platform/mac-snowleopard/Skipped:
4:18 PM Changeset in webkit [41956] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Use a different platform search path for tests and skip lists, so that Tiger doesn't end up
using the Leopard skip list. Tests and skip lists are now looked for in the directory for
the current OS and the generic "mac" directory. Tests and skip lists for newer OS versions are
ignored.

Reviewed by Sam Weinig.

  • Scripts/run-webkit-tests:
3:30 PM Changeset in webkit [41955] by pam@chromium.org
  • 1 edit
    26 adds in trunk/LayoutTests

2009-03-24 Pamela Greene <pam@chromium.org>

Reviewed by Sam Weinig.

Add tests of font choices and metrics, to isolate those dependencies.

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

  • fonts: Added.
  • fonts/cursive.html: Added.
  • fonts/default.html: Added.
  • fonts/fantasy.html: Added.
  • fonts/monospace.html: Added.
  • fonts/sans-serif.html: Added.
  • fonts/serif.html: Added.
  • platform/mac/fonts: Added.
  • platform/mac/fonts/cursive-expected.checksum: Added.
  • platform/mac/fonts/cursive-expected.png: Added.
  • platform/mac/fonts/cursive-expected.txt: Added.
  • platform/mac/fonts/default-expected.checksum: Added.
  • platform/mac/fonts/default-expected.png: Added.
  • platform/mac/fonts/default-expected.txt: Added.
  • platform/mac/fonts/fantasy-expected.checksum: Added.
  • platform/mac/fonts/fantasy-expected.png: Added.
  • platform/mac/fonts/fantasy-expected.txt: Added.
  • platform/mac/fonts/monospace-expected.checksum: Added.
  • platform/mac/fonts/monospace-expected.png: Added.
  • platform/mac/fonts/monospace-expected.txt: Added.
  • platform/mac/fonts/sans-serif-expected.checksum: Added.
  • platform/mac/fonts/sans-serif-expected.png: Added.
  • platform/mac/fonts/sans-serif-expected.txt: Added.
  • platform/mac/fonts/serif-expected.checksum: Added.
  • platform/mac/fonts/serif-expected.png: Added.
  • platform/mac/fonts/serif-expected.txt: Added.
3:22 PM Changeset in webkit [41954] by staikos@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>

Reviewed by George Staikos.

Correct warnings which in some environments are treated as errors.

2:40 PM Changeset in webkit [41953] by ddkilzer@apple.com
  • 3 edits
    3 adds in trunk

Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly

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

Reviewed by Darin Adler.

WebCore:

Test: fast/frames/iframe-no-src-set-location.html

  • dom/Document.cpp: (WebCore::Document::completeURL): If m_baseURL is empty or is about:blank and we have a parent document, use the parent document's URL for the base when completing a new URL.

LayoutTests:

  • fast/frames/iframe-no-src-set-location-expected.txt: Added.
  • fast/frames/iframe-no-src-set-location.html: Added.
  • fast/frames/resources/iframe-no-src-set-location-pass.html: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.
2:07 PM Changeset in webkit [41952] by Simon Fraser
  • 3 edits
    2 adds in trunk

2009-03-24 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
into the coordinate space of the layer, and doing so can result in pathalogical quads
that break hit testing. In that case, simply use the same bounds as used for painting,
which are the composited bounds for this layer.

Test: transforms/3d/hit-testing/rotated-hit-test.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer):
2:03 PM Changeset in webkit [41951] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-03-24 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

When compositing is enabled, painting and hit testing end up using different
clipping roots, because, for painting, every composited layer is a clipping root,
but for hit testing only layers with transforms are. To fix this, we use
temporary clip rects for hit testing, if the page is in compositing mode.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer):
1:46 PM Changeset in webkit [41950] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-03-24 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Fix regression with CSS clip rects with non-length values, by reverting to
the original code, but passing the zoom multiplier through convertToLength().

Also make stylistic change in createTransformOperations(), renaming 'inStyle'
to 'style.

Tested by existing tests.

  • css/CSSStyleSelector.cpp: (WebCore::convertToLength): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::createTransformOperations):
1:29 PM Changeset in webkit [41949] by bfulgham@webkit.org
  • 2 edits in trunk/WebKit/win

2009-03-24 Brent Fulgham <bfulgham@webkit.org>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=24779
Conditionalize CFNetwork-specific code in WebView to permit
support for other network backends.

  • WebView.cpp: (WebView::setCacheModel): Add CFNETWORK check around CFNetwork specific cache implementation. (updateSharedSettingsFromPreferencesIfNeeded): Add CFNETWORK check around use of CFHTTPCookie code.
1:23 PM Changeset in webkit [41948] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2009-03-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents
to a border-radius.

This patch makes non-self-painting overflow layers and control clips work with border-radius. RenderLayers
that should be clipped by overflow ancestors with border-radius are still broken.

Added fast/clip/overflow-border-radius-clip.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::pushContentsClip):

LayoutTests:

2009-03-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

Test for https://bugs.webkit.org/show_bug.cgi?id=21789

  • fast/clip/overflow-border-radius-clip.html: Added.
  • platform/mac/fast/clip/overflow-border-radius-clip-expected.checksum: Added.
  • platform/mac/fast/clip/overflow-border-radius-clip-expected.png: Added.
  • platform/mac/fast/clip/overflow-border-radius-clip-expected.txt: Added.
1:05 PM Changeset in webkit [41947] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderReplaced.cpp

Fix stray ; that snuck in right before landing.

12:52 PM Changeset in webkit [41946] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Explicitly define HAVE_LANGINFO_H on Darwin. Fixes the wx build bot jscore
test failure.

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

12:35 PM Changeset in webkit [41945] by hyatt@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

2009-03-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents.


This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements. Common
replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be
done).


Added fast/replaced/border-radius-clip.html

  • css/html4.css:
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint):

LayoutTests:

2009-03-24 David Hyatt <hyatt@apple.com>

Reviewed by Simon Fraser

Test for https://bugs.webkit.org/show_bug.cgi?id=21789

  • fast/replaced/border-radius-clip.html: Added.
  • platform/mac/fast/replaced/border-radius-clip-expected.checksum: Added.
  • platform/mac/fast/replaced/border-radius-clip-expected.png: Added.
  • platform/mac/fast/replaced/border-radius-clip-expected.txt: Added.
11:25 AM Changeset in webkit [41944] by adele@apple.com
  • 3 edits in trunk/WebCore

2009-03-24 Adele Peterson <adele@apple.com>

RS by Mark Rowe.

Only build these Mail quirks checks in on the Mac.

  • dom/Document.cpp: (WebCore::disableRangeMutation):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
10:55 AM Changeset in webkit [41943] by bfulgham@webkit.org
  • 2 edits in trunk/WebCore

2009-03-24 Brent Fulgham <bfulgham@webkit.org>

Build fix, no review.

Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas
and Debug targets.

  • WebCore.vcproj/WebCore.vcproj:
10:36 AM Changeset in webkit [41942] by eric.carlson@apple.com
  • 9 edits in trunk

2009-03-24 Eric Carlson <eric.carlson@apple.com>

Update media tests broken by r41907.

  • fast/dom/Window/window-properties-expected.txt:
  • http/tests/media/video-play-stall-seek.html:
  • http/tests/media/video-play-stall.html:

2009-03-24 Eric Carlson <eric.carlson@apple.com>

Fix layout tests broken by r41907.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state
10:18 AM Changeset in webkit [41941] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-03-24 Dmitry Titov <dimich@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24689
Fix Chromium compilation errors.

  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener): (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
10:08 AM Changeset in webkit [41940] by Dimitri Glazkov
  • 2 edits in trunk/WebCore

2009-03-24 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=24759
Add missing methods Element.prototype.removeMatchingStyleClasses and
Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content
iframe. These methods are called by Element.prototype.removeStyleClass and
Node.prototype.enclosingNodeOrSelfWithNodeName.

  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._loaded):
10:03 AM Changeset in webkit [41939] by Dimitri Glazkov
  • 24 edits in trunk/WebCore

2009-03-24 Mark Mentovai <mark@chromium.org>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=24653
WebKit should be buildable without prefix header injection.
Adds missing #includes and forward declarations as needed.

  • editing/SmartReplaceCF.cpp:
  • platform/graphics/mac/ColorMac.mm:
  • platform/graphics/mac/FontCacheMac.mm:
  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/mac/FontMac.mm:
  • platform/graphics/mac/FontMacATSUI.mm:
  • platform/graphics/mac/FontPlatformData.h:
  • platform/graphics/mac/FontPlatformDataMac.mm:
  • platform/graphics/mac/GraphicsContextMac.mm:
  • platform/graphics/mac/SimpleFontDataMac.mm:
  • platform/mac/FoundationExtras.h:
  • platform/mac/LocalCurrentGraphicsContext.h:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRenderer.mm:
  • platform/mac/WebFontCache.h:
  • platform/mac/WebFontCache.mm:
  • platform/text/PlatformString.h:
  • platform/text/mac/ShapeArabic.c:
  • platform/text/mac/StringMac.mm:
  • rendering/RenderThemeChromiumMac.h:
9:24 AM Changeset in webkit [41938] by mitz@apple.com
  • 4 edits
    3 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6107874> by capping the nesting depth of "block-level" elements generated by the parser

Test: fast/parser/block-nesting-cap.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::pushBlock): (WebCore::HTMLParser::popOneBlockCommon): (WebCore::HTMLParser::freeBlock):
  • html/HTMLParser.h:

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6107874>

Test that the nesting depth of "block-level" elements generated by
the parser is capped

  • fast/parser/block-nesting-cap-expected.txt: Added.
  • fast/parser/block-nesting-cap.html: Added.
  • fast/parser/resources/block-nesting-cap.js: Added.
12:50 AM Changeset in webkit [41937] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Oliver Hunt.

  • speculative fix for <rdar://problem/6630134> Crash at Editor::compositionRange()
  • WebView/WebHTMLView.mm: (-[WebHTMLView markedRange]): Null-check the Frame like most other methods in this class.

Mar 23, 2009:

9:16 PM Changeset in webkit [41936] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Greg Bolsinga <bolsinga@apple.com>

Reviewed by David Kilzer.

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


DOMTimeStamps are based upon 1970.

  • platform/mac/GeolocationServiceMac.mm: (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
8:45 PM Changeset in webkit [41935] by eric@webkit.org
  • 2 edits in trunk/WebCore

Build fix, no review.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()
8:19 PM Changeset in webkit [41934] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2009-03-23 Stephanie <Stephanie Lewis>

Fix root build.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
7:25 PM Changeset in webkit [41933] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

Rename Position::container to m_anchorNode and make it private
https://bugs.webkit.org/show_bug.cgi?id=24760

More code cleanup for Position.

Change all uses of m_container to node()
Eventually most uses of node() should change to anchorNode() to designate
that it's the node the Position is anchored to, but not necessarily the
container of the position (it could be the before/after neighbor).

Remove any code which sets m_container, and change it to use a new
Position::moveToPosition function which takes a node and offset.
It never makes sense to change the node and leave the offset.

  • dom/Position.h: (WebCore::Position::Position): (WebCore::Position::clear): (WebCore::Position::anchorNode): (WebCore::Position::node): (WebCore::Position::moveToPosition): (WebCore::Position::moveToOffset): (WebCore::Position::isNull): (WebCore::Position::isNotNull): (WebCore::operator==):
  • dom/Range.cpp: (WebCore::Range::create): (WebCore::Range::compareBoundaryPoints):
  • dom/RangeBoundaryPoint.h: (WebCore::RangeBoundaryPoint::container): (WebCore::RangeBoundaryPoint::set): (WebCore::RangeBoundaryPoint::setOffset): (WebCore::RangeBoundaryPoint::setToChild): (WebCore::RangeBoundaryPoint::setToStart): (WebCore::RangeBoundaryPoint::setToEnd):
7:06 PM Changeset in webkit [41932] by eric@webkit.org
  • 3 edits
    3 adds in trunk

Reviewed by David Hyatt.

document.write() should be able to make a document strict mode
https://bugs.webkit.org/show_bug.cgi?id=24336

Remove an implicit write of "<html>" on the first document.write call
this was added as part of a KDE import http://trac.webkit.org/changeset/798
with no layout test or explanation. I can't think of any reason why
an implicit <html> write is necessary (or correct), so I'm removing it and
adding a test for the correct behavior. The parser will add any necessary
HTMLHTMLElements during the write() anyway.

Our behavior is now tested by fast/dom/Document/document-write-doctype
and matches IE, FF fails this new test. Mozilla bug filed:
https://bugzilla.mozilla.org/show_bug.cgi?id=483908

  • dom/Document.cpp: (WebCore::Document::write):
6:59 PM Changeset in webkit [41931] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix className() for API defined class

Reviewed by Cameron Zwarich

6:31 PM Changeset in webkit [41930] by weinig@apple.com
  • 9 edits in trunk

WebCore:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CrossOriginPreflightResultCache.cpp: (WebCore::CrossOriginPreflightResultCache::empty):
  • loader/CrossOriginPreflightResultCache.h:

WebKit/mac:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • Misc/WebCache.mm: (+[WebCache empty]):

WebKit/win:

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache

  • WebCache.cpp: (WebCache::empty): Also add application cache emptying to match the mac.
5:53 PM Changeset in webkit [41929] by Darin Adler
  • 1 edit in trunk/WebCore/rendering/RenderObject.cpp

Tweak comment.

5:50 PM Changeset in webkit [41928] by Darin Adler
  • 10 edits
    2 adds in trunk

WebCore:

2009-03-23 Darin Adler <Darin Adler>

Reviewed by Adele Peterson.

Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992

Test: editing/selection/hit-test-anonymous.html

  • rendering/RenderBR.cpp: (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of creating a VisiblePosition directly. It will handle finding non-anonymous content nearby if node() is 0.
  • rendering/RenderBlock.cpp: (WebCore::positionForPointRespectingEditingBoundaries): Ditto. (WebCore::positionForPointWithInlineChildren): Ditto. (WebCore::RenderBlock::positionForPoint): Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionForPoint): Ditto.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::positionForPoint): Ditto. (WebCore::RenderObject::createVisiblePosition): Added.
  • rendering/RenderObject.h: Added createVisiblePosition.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::positionForPoint): Ditto.
  • rendering/RenderText.cpp: (WebCore::RenderText::positionForPoint): Ditto.

LayoutTests:

2009-03-23 Darin Adler <Darin Adler>

Reviewed by Adele Peterson.

Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992

  • editing/selection/hit-test-anonymous-expected.txt: Added.
  • editing/selection/hit-test-anonymous.html: Added.
5:41 PM Changeset in webkit [41927] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2009-03-23 Stephanie Lewis <Stephanie Lewis>

Reviewed by Mark Rowe.

Add production configuration for creating roots of WebKitTools.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
5:34 PM Changeset in webkit [41926] by adele@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler & Dave Hyatt.

Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade

Leopard Mail doesn't expect <style> to be in the body. This change reverts back to the old behavior of
moving <style> to <head> for that version of Mail.

  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
5:33 PM Changeset in webkit [41925] by adele@apple.com
  • 7 edits in trunk

WebCore:

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Mark Rowe & Dave Hyatt.

Merge some of the individual Mail quirks into two settings that we can check for future quirks.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::disableRangeMutation): (WebCore::Document::nodeChildrenChanged): (WebCore::Document::nodeWillBeRemoved): (WebCore::Document::textInserted): (WebCore::Document::textRemoved): (WebCore::Document::textNodesMerged): (WebCore::Document::textNodeSplit):
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setNeedsLeopardMailQuirks): (WebCore::Settings::setNeedsTigerMailQuirks):
  • page/Settings.h: (WebCore::Settings::needsLeopardMailQuirks): (WebCore::Settings::needsTigerMailQuirks):

WebKit/mac:

2009-03-23 Adele Peterson <adele@apple.com>

Reviewed by Mark Rowe & Dave Hyatt.

Merge some of the individual Mail quirks into two settings that we can check for future quirks.

  • WebView/WebView.mm: (runningLeopardMail): (runningTigerMail): (-[WebView _preferencesChangedNotification:]):
5:18 PM Changeset in webkit [41924] by oliver@apple.com
  • 4 edits in trunk

Make testapi run as part of the standard JavaScriptCore tests.

Reviewed by Geoff Garen.

We only run testapi on the mac as currently windows webkit doesn't
place all the necessary files for testapi, and we also test the
JSC/CF APIs as well.

4:46 PM Changeset in webkit [41923] by adachan@apple.com
  • 8 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=24762
Support text-indent in <option> elements on windows platform.

Reviewed by Adele Peterson.

  • css/themeWin.css:
  • platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now. Make this explicit via windows themed default stylesheet. (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction. (WebCore::PopupMenuStyle::textIndent): (WebCore::PopupMenuStyle::textDirection):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and text-indent is specified with LTR direction.
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options. (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows. (WebCore::RenderMenuList::menuStyle): Ditto.
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
  • rendering/RenderTheme.h: (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added. Default is false since we are only supporting it in windows for now.
  • rendering/RenderThemeWin.h: (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.
4:14 PM Changeset in webkit [41922] by weinig@apple.com
  • 4 edits in trunk/WebCore

2009-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
REGRESSION: Java Applets broken
<rdar://problem/6707494>

Fix loading Java applets without a codeBase. Only pass the base (up to the
the last path component) of the baseURL to the plug-in.

  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createRenderer):
  • platform/KURL.cpp: (WebCore::KURL::baseAsString):
  • platform/KURL.h:
3:15 PM Changeset in webkit [41921] by Darin Adler
  • 2 edits in trunk/WebCore

2009-03-23 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • platform/KURL.h: Removed now-incorrect comments. None of the parts include the separator characters any more, now that query doesn't include the "?", so the comments explaining which do and do not are no-longer helpful.
2:25 PM Changeset in webkit [41920] by levin@chromium.org
  • 6 edits
    2 moves in trunk/WebCore

2009-03-23 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

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

Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
class names. Also fixed some headers that got mangled in search/replace
operations.

No change in behavior, so no test.

  • bindings/v8/V8NodeFilter.h: Removed.
  • bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
  • bindings/v8/V8NodeFilterCondition.h: Added.
  • bindings/v8/custom/V8ClipboardCustom.cpp:
  • bindings/v8/custom/V8DocumentCustom.cpp:
  • bindings/v8/custom/V8ElementCustom.cpp:
  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
  • bindings/v8/custom/V8NavigatorCustom.cpp:
1:48 PM Changeset in webkit [41919] by darin@chromium.org
  • 4 edits in trunk/WebCore

2009-03-23 Darin Fisher <darin@chromium.org>

Reviewed by Antti Koivisto.

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

Adds a unique across-browser-sessions identifier to FormData, which may
be used by ResourceHandle as a secondary cache key to enable cached
form submissions.

At issue: two otherwise identical form submissions may result in
completely independent responses, which may each be appropriate to
store and reuse from cache.

  • html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that we only enable cached form submissions for those generated by HTML. This way we do not bother with POSTs generated by XMLHttpRequest. (WebCore::generateFormDataIdentifier): (WebCore::HTMLFormElement::createFormData):
  • platform/network/FormData.cpp: Initialize m_identifier to 0, which means the unspecified identifier. So by default there is no identifier and nothing changes. (WebCore::FormData::FormData):
  • platform/network/FormData.h: Added m_identifier with setter and getter. (WebCore::FormData::setIdentifier): (WebCore::FormData::identifier):
1:39 PM Changeset in webkit [41918] by Simon Fraser
  • 7 edits
    2 adds in trunk

2009-03-23 Simon Fraser <Simon Fraser>

Reviewed by Antti Koivisto

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

Fix media controller with full-page zoom. Previously, the media controller
shadow nodes never saw style changes on the RenderMedia, so did not respond
to zooming at all. Now, we update the style on the shadow renderers
whenever RenderMedia gets a style change. Also fix the video thumb in
the theme to be scaled properly.

Test: media/video-controls-zoomed.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::updateStyle): (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): (WebCore::MediaTextDisplayElement::updateStyle): (WebCore::MediaControlInputElement::MediaControlInputElement): (WebCore::MediaControlInputElement::updateStyle):
  • rendering/MediaControlElements.h:
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::styleDidChange):
  • rendering/RenderMedia.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize):
1:27 PM Changeset in webkit [41917] by darin@chromium.org
  • 4 edits in trunk/WebCore

2009-03-23 Mike Belshe <mike@belshe.com>

Reviewed by Darin Adler.

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

Rework StringImpl::create methods to try to allocate a single buffer
rather than allocating both the StringImpl class and a separate data
buffer.

  • platform/text/StringImpl.cpp:
  • platform/text/StringImpl.h:
12:05 PM Changeset in webkit [41916] by Darin Adler
  • 3 edits in trunk/WebCore

2009-03-23 Darin Adler <Darin Adler>

Reviewed by Antti Koivisto.

Based on a patch by Nico Weber <nicolasweber@gmx.de>

Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
https://bugs.webkit.org/show_bug.cgi?id=24755

  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding is UTF7 without loading extended codecs. (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead of comparing with UTF7Encoding(). Eliminate the explicit check of noExtendedTextEncodingNameUsed() because that's now handled by the functions that this function calls instead.
  • platform/text/TextEncoding.h: Added isUTF7Encoding function. Also tweaked formatting a bit.
12:02 PM Changeset in webkit [41915] by pkasting@chromium.org
  • 4 edits in trunk/WebCore

2009-03-20 Peter Kasting <pkasting@google.com>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=24720
RenderThemeChromium should draw something for Slider parts instead of
dropping them on the floor.

  • platform/chromium/ChromiumBridge.h:
  • rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): (WebCore::RenderThemeChromiumWin::paintSliderTrack): (WebCore::RenderThemeChromiumWin::determineSliderThumbState): (WebCore::RenderThemeChromiumWin::getThemeData):
  • rendering/RenderThemeChromiumWin.h: (WebCore::RenderThemeChromiumWin::paintSliderThumb):
11:56 AM Changeset in webkit [41914] by Simon Fraser
  • 5 edits
    10 adds in trunk

2009-03-23 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Fix three mostly-unrelated problems with full-page zoom:

  • dom/Document.cpp: (WebCore::Document::elementFromPoint): Document::elementFromPoint() needs to take full-page zoom into account.
  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget): Take full-page zoom into account when computing offsetX/offsetY.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Don't use offsetX/offsetY when hit testing list boxes; offsets were broken with full-page zoom, and using pageX/pageY is easier because we don't have to worry about the event target, and we already have a point in absolute coordinates.

Tests: fast/forms/listbox-hit-test-zoomed.html

fast/forms/search-zoomed.html
fast/forms/slider-zoomed.html

11:54 AM Changeset in webkit [41913] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-03-23 Glen Murphy <glen@chromium.org>

Reviewed by Darin Fisher.

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

Fix Skia drawing of highly scaled bitmaps; the conversion to
IntRect produced visible layout test failures in highly scaled
coordinate systems.

Test: svg/custom/image-small-width-height.svg

  • WebCore\platform\graphics\skia\ImageSkia.cpp:
11:27 AM Changeset in webkit [41912] by ddkilzer@apple.com
  • 5 edits in trunk

Provide JavaScript exception information after slow script timeout

Reviewed by Oliver Hunt.

JavaScriptCore:

  • runtime/Completion.cpp: (JSC::evaluate): Set the exception object as the Completion object's value for slow script timeouts. This is used in WebCore when reporting the exception.
  • runtime/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::toString): Added. Provides a description message for the exception when it is reported.

WebCore:

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Changed to report exceptions for the Interrupted completion type as well.
10:55 AM Changeset in webkit [41911] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-03-23 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

The rect for CSS 'clip' needs to have zooming applied to it.

Test: fast/css/clip-zooming.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
9:47 AM Changeset in webkit [41910] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2009-03-23 Darin Adler <Darin Adler>

  • WebView/WebTextIterator.h: Fixed a spelling error in a comment.
8:13 AM Changeset in webkit [41909] by kov@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-03-23 Gustavo Noronha Silva <Gustavo Noronha Silva> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=24674
Crashes in !PLATFORM(MAC)'s formatLocaleDate, in very specific situations

Make sure strftime never returns 2-digits years to avoid ambiguity
and a crash. We wrap this new code option in HAVE_LANGINFO_H,
since it is apparently not available in all platforms.

  • runtime/DatePrototype.cpp: (JSC::formatLocaleDate):
  • wtf/Platform.h:
8:07 AM Changeset in webkit [41908] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

<rdar://problem/6704282>
https://bugs.webkit.org/show_bug.cgi?id=24719
QTMovieWinTimer logic inversion

Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
this was that a movie timer would sometimes be blocked for significant amounts of time
because WM_TIMER messages are not processed when the thread's message queue has any
higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
timers. Also change SetTimer call to use HWND and custom message instead of
timer function since the timer already has an HWND for processing PostMessage.

Not possible to make a test for this because it is so timing dependant.

  • platform/graphics/win/QTMovieWinTimer.cpp: (TimerWindowWndProc): (setSharedTimerFireDelay):
8:02 AM Changeset in webkit [41907] by eric.carlson@apple.com
  • 55 edits
    12 adds in trunk

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele Peterson.

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


Update media element implementation to current HTML5 spec

New tests:

media/media-constants.html
media/video-seek-no-src-exception.html
media/video-source-add-src.html
media/video-src-invalid-remove.html
media/video-src-plus-source.html
media/video-timeupdate-during-playback.html

  • dom/EventNames.h: Remove obsolute events, add new ones.
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars. (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't have a source. (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes. (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and add it to the event queue to be dispatch when the timer fires. (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add it to the event queue to be dispatch when the timer fires. (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the asynch event timer. (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events. (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or try to load the next <source> url. (WebCore::HTMLMediaElement::load): Minor style change. (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup the current load (if any) and set up state for a new load. (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart' event, and initiate load from 'src' if present. (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger noneSupported() if no more to consider. (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url. (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer. (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid media url was found. (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid media engine failed with a decode error or a network error. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states. (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state. (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active. (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag we use to guard against sending 'ended' more than once. (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata. (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an invalid rate. (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an invalid rate. Cache rate being set so we can use it later if media engine isn't ready now. (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just starts loading asynchronously. (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing' event depending on current state. (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just starts loading asynchronously. (WebCore::HTMLMediaElement::pauseInternal): Remove exception param. (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent (WebCore::HTMLMediaElement::togglePlayState): Remove exception param. (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param. (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per second when the movie is playing to timeupdate so we can post 'timeupdate' events. (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc. (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate' event because we both fire them them when the spec says we should and when the media engine says that time has jumped, but we don't want to fire more than one at a given movie time. We also use this bottleneck to keep track of the last time one was posted so we won't fire too often during playback. (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata. (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source> element with a 'src' attribute that we have not tried to load yet. (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next <source> element that we haven't tried to load. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes. Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since some media engines call this proc more than once when playback reaches the end and stops, but we don't want to post 'ended' more than once. (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform when the movie duration changes and we can post 'durationchanged' event. (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when the rate changed and we can updated our cached rate. This is useful because we only want to know post periodic 'timeupdate' events when the movie is actually playing, and because we want to know the actual playback rate when it differs from what we tried to set. (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when a movie's intrinsic size changes and we can inform the renderer. (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now uses "actively playing" for this concept. Update logic for new state names and un-comment calls to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons are part of the answer. (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of the determination of "potentially playing". (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user agent supports this spec concept. (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' events when we pauses the movie. Set the media engine rate before calling play() in case it wasn't set up when the rate was changed. (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate' event timers. (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive and updated for the current spec. (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad. (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments. (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the initial url.
  • html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec, update for changes in .cpp. (WebCore::HTMLMediaElement::):
  • html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes. defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.
  • html/MediaError.h: (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.
  • html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.
  • loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.
  • platform/graphics/MediaPlayer.cpp: (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes. (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes. (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes. (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
  • platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec states. (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New. (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New. (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New. (WebCore::MediaPlayer::):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Ditto. (WebCore::MediaPlayerPrivate::loadingFailed): Ditto.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes. Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration. (WebCore::MediaPlayerPrivate::metaDataAvailable):
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize m_enabledTrackCount and m_duration. Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. (WebCore::MediaPlayerPrivate::pause): Ditto. (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime. (WebCore::MediaPlayerPrivate::seek): Ditto. (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is already zero. (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime. (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return different errors depending on what causes a failure. Watch for and report duration changes. (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes. (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes. (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer. (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.
  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Ditto. (WebCore::MediaPlayerPrivate::duration): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Ditto. (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more m_endPointTimer. (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. (WebCore::MediaPlayerPrivate::pause): Ditto. (WebCore::MediaPlayerPrivate::setEndTime): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state name changes. (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.

2009-03-23 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele Peterson.


https://bugs.webkit.org/show_bug.cgi?id=24588
Bug 24588: Update media element implementation to current spec

  • media/media-constants-expected.txt: Test all media constants.
  • media/media-constants.html: Ditto.
  • media/remove-from-document-expected.txt: Updated for spec changes.
  • media/remove-from-document-no-load.html: Ditto.
  • media/remove-from-document.html: Ditto.
  • media/unsupported-rtsp-expected.txt: Ditto.
  • media/unsupported-rtsp.html: Ditto.
  • media/video-currentTime-set-expected.txt: Ditto.
  • media/video-currentTime-set.html: Ditto.
  • media/video-error-does-not-exist-expected.txt: Ditto.
  • media/video-error-does-not-exist.html: Ditto.
  • media/video-load-networkState-expected.txt: Ditto.
  • media/video-load-networkState.html: Ditto.
  • media/video-load-readyState-expected.txt: Ditto.
  • media/video-load-readyState.html: Ditto.
  • media/video-loop-expected.txt: Ditto.
  • media/video-loop.html: Ditto.
  • media/video-pause-empty-events-expected.txt: Ditto.
  • media/video-pause-empty-events.html: Ditto.
  • media/video-play-empty-events-expected.txt: Ditto.
  • media/video-play-empty-events.html: Ditto.
  • media/video-play-pause-events-expected.txt: Ditto.
  • media/video-play-pause-events.html: Ditto.
  • media/video-play-pause-exception-expected.txt: Ditto.
  • media/video-play-pause-exception.html: Ditto.
  • media/video-seek-no-src-exception-expected.txt: Test that seeking whene there is no 'src' attribute throws an INVALID_STATE_ERR exception.
  • media/video-seek-no-src-exception.html:
  • media/video-seek-past-end-playing-expected.txt: Ditto.
  • media/video-seek-past-end-playing.html: Ditto.
  • media/video-seeking-expected.txt: Ditto.
  • media/video-seeking.html: Ditto.
  • media/video-source-add-src-expected.txt: Test that adding a 'src' attribute does nothing when a <source> element has already been chosen.
  • media/video-source-add-src.html:
  • media/video-src-change-expected.txt: Ditto.
  • media/video-src-change.html: Ditto.
  • media/video-src-invalid-remove-expected.txt: Test that removing invalid 'src' attribute triggers <source> elements loading.
  • media/video-src-invalid-remove.html:
  • media/video-src-plus-source-expected.txt: Test that a <source> element is not used when a bogus 'src' attribute is present.
  • media/video-src-plus-source.html:
  • media/video-src-remove-expected.txt: Ditto.
  • media/video-src-remove.html: Ditto.
  • media/video-test.js: (findMediaElement): (testExpected): (waitForEvent): (failTest):
  • media/video-timeupdate-during-playback-expected.txt: Test that 'timeupdate' events are posted while an element is playing but not while paused.
  • media/video-timeupdate-during-playback.html:
  • platform/mac/Skipped: Skip media/video-error-abort.html for now, need to figure out how to test now that the 'loadstart' event is now fired asynchronously.
  • platform/win/Skipped
5:43 AM Changeset in webkit [41906] by xan@webkit.org
  • 2 edits in trunk

2009-03-21 Xan Lopez <xlopez@igalia.com>

Reviewed by Holger Freyther.

Require gnome-keyring 2.26.0, since we were depending on an
unreleased trunk revision between 2.25.91 and 2.26.0.

  • configure.ac:

Mar 22, 2009:

11:01 PM Changeset in webkit [41905] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix exception handling in API

Reviewed by Cameron Zwarich.

We can't just use the ExecState exception slot for returning exceptions
from class introspection functions provided through the API as many JSC
functions will explicitly clear the ExecState exception when returning.

9:31 PM Changeset in webkit [41904] by oliver@apple.com
  • 1 edit in trunk/JavaScriptCore/jit/JITStubs.cpp

Fix instanceof implementation to handle API object overriding hasInstance

Reviewed by Cameron Zwarich.

We can only take the fast paths for instanceof if the object doesn't override
hasInstance, so we have to check for that.

8:46 PM Changeset in webkit [41903] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by John Sullivan.

  • fix <rdar://problem/6640741> Messages not displaying after the Safari 4 beta was installed

Mail assumes that if -[WebArchive subresources] is not nil, then it
contains at least one object.

  • WebView/WebArchive.mm: (-[WebArchive subresources]): Preserve the behavior of returning nil if there are no subresources.
2:12 PM Companies and Organizations that have contributed to WebKit edited by alp@atoker.com
Add Nuanti (diff)
12:50 PM Changeset in webkit [41902] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-03-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
setting HitTestResult::innerNode(), but returning false, which violates
hit testing rules. Use a temporary HitTestResult so that we only fill in
result when we know we've hit.

  • rendering/RenderImage.cpp: (WebCore::RenderImage::nodeAtPoint):
12:45 PM Changeset in webkit [41901] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wxGTK build fix. Add missing header.

11:43 AM Changeset in webkit [41900] by Simon Fraser
  • 3 edits
    2 adds in trunk

2009-03-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Fix hit testing regression from r41840. We need to pass the temporary
HitTestResult when testing sublayers, then only copy to 'result' when
the layer is known to have been hit.

Test: fast/layers/zindex-hit-test.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer):
10:35 AM Changeset in webkit [41899] by Simon Fraser
  • 11 edits in trunk/WebCore

2009-03-20 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Fix hit testing on video controls after full page zoom by fixing wider issue
with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be
invariant under zooming (for JavaScript), so we keep an actual page point around
in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere.

  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::initCoordinates): (WebCore::MouseRelatedEvent::computePageLocation):
  • dom/MouseRelatedEvent.h: (WebCore::MouseRelatedEvent::absoluteLocation): (WebCore::MouseRelatedEvent::setAbsoluteLocation): Member var, and getter and setter for absoluteLocation. New method, computePageLocation(), to compute the actual page point, and call it when creating and initting mouse-related events.
  • dom/Node.cpp: (WebCore::Node::dispatchMouseEvent): (WebCore::Node::dispatchWheelEvent): Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation() on the event to replace a potentially rounded point.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Clean up slider handling code.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Add FIXME comment for use of offsetX/offsetY.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::handleContextMenuEvent): Use absoluteLocation() when hit testing for context menus.
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): Use absoluteLocation() when resizing frames.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): Use absoluteLocation() when hit testing media controls.
  • rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): (WebCore::RenderSlider::mouseEventIsInThumb): Use absoluteLocation() when handling slider events.

(WebCore::RenderSlider::forwardEvent):
Factor some code out of HTMLInputElement::defaultEventHandler().

  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::forwardEvent): Use absoluteLocation() when hit testing search field buttons, which fixees bugs in the search field with zooming.
12:34 AM Changeset in webkit [41898] by levin@chromium.org
  • 1 edit
    5 adds in trunk/WebCore

2009-03-21 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24727
Add V8XMLHttpRequest*.

  • bindings/v8/V8XMLHttpRequestUtilities.cpp: Added.
  • bindings/v8/V8XMLHttpRequestUtilities.h: Added.
  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added.
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added.
  • bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added.
12:34 AM Changeset in webkit [41897] by levin@chromium.org
  • 1 edit
    2 adds in trunk/WebCore

2009-03-21 David Levin <levin@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=24725
Add V8NodeFilter.

  • bindings/v8/V8NodeFilter.cpp: Added.
  • bindings/v8/V8NodeFilter.h: Added.
Note: See TracTimeline for information about the timeline view.