Timeline


and

11/28/07:

23:57 IconContestIdeas edited by aroben@apple.com
(diff)
23:40 IconContestIdeas edited by aroben@apple.com
(diff)
23:39 IconContestIdeas edited by aroben@apple.com
Stole a judging criterion from the SVG logo contest (diff)
23:32 IconContestIdeas edited by aroben@apple.com
Change start of submissions to be the same as the announcement (diff)
22:20 Changeset [28134] by mrowe@apple.com

Unreviewed layout test fix. Fix typos in the name of four files used by HTTP layout tests.

22:07 Changeset [28133] by antti@apple.com

WebCore:

Reviewed by Geoff.


Fallback content inside media elements should not be rendered.

Test: media/fallback.html

  • rendering/RenderMedia.h: (WebCore::RenderMedia::canHaveChildren):

LayoutTests:

Reviewed by Geoff.


Test that fallback content inside media elements is not be rendered.

  • media/fallback-expected.txt: Added.
  • media/fallback.html: Added.
22:04 Changeset [28132] by beidson@apple.com

Reviewed by Geoff

Add copyKeysToVector utility, mirroring copyValuesToVector
Also change the copyValuesToVector implementation to be a little more attractive

  • wtf/HashMap.h: (WTF::copyKeysToVector): (WTF::copyValuesToVector):
21:33 Changeset [28131] by mrowe@apple.com

Windows build fix.

21:29 Changeset [28130] by mrowe@apple.com

Gtk build fix.

20:50 Changeset [28129] by antti@apple.com

Reviewed by Oliver.

Make QTMovieView fill color transparent. This behavior matches the specification
(and allows nice alpha blended video).

  • platform/graphics/mac/MoviePrivateQTKit.mm: (WebCore::MoviePrivate::createQTMovieView):
18:54 IconContestIdeas edited by aroben@apple.com
(diff)
18:48 IconContestIdeas edited by aroben@apple.com
(diff)
18:48 IconContestIdeas edited by aroben@apple.com
(diff)
18:25 Changeset [28128] by alice.liu@apple.com

just some more typo fixes

  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt:
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
18:02 Changeset [28127] by antti@apple.com

WebCore:

Reviewed by Darin.

Test: media/video-controls.html


<rdar://problem/5605668>
Implement controls attribute for video element


  • Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented later by just instantiating RenderMedia as renderer.
  • Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can have child nodes (for controls).
  • Controls are implemented as a shadow DOM.
  • Current look is a placeholder. It is defined purely in CSS.
  • Some things like volume controls are not yet implemented.
  • Fade-in/out is done manually, CSS animations don't work well in shadow trees.


  • WebCore.xcodeproj/project.pbxproj:
  • css/html4.css:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attributeChanged): (WebCore::HTMLMediaElement::updateMovie): (WebCore::HTMLMediaElement::defaultEventHandler):
  • html/HTMLMediaElement.h:
  • rendering/RenderMedia.cpp: Added. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlShadowRootElement::isShadowNode): (WebCore::MediaControlShadowRootElement::shadowParentNode): (WebCore::MediaControlInputElement::MediaControlInputElement): (WebCore::MediaControlInputElement::attachToParent): (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): (WebCore::MediaControlPlayButtonElement::inPausedState): (WebCore::MediaControlPlayButtonElement::defaultEventHandler): (WebCore::MediaControlPlayButtonElement::update): (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): (WebCore::MediaControlTimelineElement::defaultEventHandler): (WebCore::MediaControlTimelineElement::update): (WebCore::RenderMedia::RenderMedia): (WebCore::RenderMedia::~RenderMedia): (WebCore::RenderMedia::mediaElement): (WebCore::RenderMedia::movie): (WebCore::RenderMedia::setStyle): (WebCore::RenderMedia::createControlsShadowRoot): (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createPlayButton): (WebCore::RenderMedia::createTimeline): (WebCore::RenderMedia::createTimeDisplay): (WebCore::RenderMedia::updateFromElement): (WebCore::RenderMedia::updateControls): (WebCore::RenderMedia::timeUpdateTimerFired): (WebCore::RenderMedia::updateTimeDisplay): (WebCore::RenderMedia::updateControlVisibility): (WebCore::RenderMedia::changeOpacity): (WebCore::RenderMedia::opacityAnimationTimerFired): (WebCore::RenderMedia::forwardEvent):
  • rendering/RenderMedia.h: Added. (WebCore::RenderMedia::renderName): (WebCore::RenderMedia::isMedia): (WebCore::RenderMedia::intrinsicSize):
  • rendering/RenderObject.h: (WebCore::RenderObject::isMedia):
  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): (WebCore::RenderVideo::videoSizeChanged): (WebCore::RenderVideo::paintObject): (WebCore::RenderVideo::layout): (WebCore::RenderVideo::updateFromElement): (WebCore::RenderVideo::calcAspectRatioWidth): (WebCore::RenderVideo::calcAspectRatioHeight):
  • rendering/RenderVideo.h:

LayoutTests:

Reviewed by Darin.


<rdar://problem/5605668>
Implement controls attribute for video element


  • A new test for the controls attribute.
  • Add the controls attibute to all existing video tests. This will give the code some additional exercise without affecting test results.
  • media/progress-event.html:
  • media/video-append-source.html:
  • media/video-autoplay.html:
  • media/video-buffered.html:
  • media/video-controls-expected.txt: Added.
  • media/video-controls.html: Added.
  • media/video-currentTime-set.html:
  • media/video-currentTime-set2.html:
  • media/video-currentTime.html:
  • media/video-dom-autoplay.html:
  • media/video-dom-end.html:
  • media/video-dom-loopcount.html:
  • media/video-dom-loopend.html:
  • media/video-dom-loopstart.html:
  • media/video-dom-src.html:
  • media/video-dom-start.html:
  • media/video-end.html:
  • media/video-error-abort.html:
  • media/video-error-does-not-exist.html:
  • media/video-load-networkState.html:
  • media/video-load-readyState.html:
  • media/video-loopcount.html:
  • media/video-loopend.html:
  • media/video-loopstart.html:
  • media/video-muted.html:
  • media/video-no-autoplay.html:
  • media/video-pause-empty-events.html:
  • media/video-play-empty-events.html:
  • media/video-play-pause-events.html:
  • media/video-play-pause-exception.html:
  • media/video-poster.html:
  • media/video-seek-past-end-paused.html:
  • media/video-seek-past-end-playing.html:
  • media/video-seekable.html:
  • media/video-seeking.html:
  • media/video-size.html:
  • media/video-source-media.html:
  • media/video-source-type.html:
  • media/video-source.html:
  • media/video-src-change.html:
  • media/video-src-remove.html:
  • media/video-src-set.html:
  • media/video-src-source.html:
  • media/video-src.html:
  • media/video-start.html:
  • media/video-volume.html:
  • media/video-width-height.html:
17:33 Changeset [28126] by justin.garcia@apple.com

WebCore:

Reviewed by Darin Adler.

<rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating


In the new beta, Google has added some custom code on top of our RemoveFormat
to work around a bug where fully selected lists aren't removed. This code corrupts
the undo stack and causes crashes. This change fixes two problems with RemoveFormat
so that Google doesn't have to have any custom code. After checking this in I'll
work on bulletproofing the undo stack

  • WebCore.xcodeproj/project.pbxproj:
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method. (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not just the last paragraph. Added code to support an input string with '\n's.
  • editing/CompositeEditCommand.h:
  • editing/Editor.cpp: (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
  • editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here. (WebCore::RemoveFormatCommand::RemoveFormatCommand): (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
  • editing/RemoveFormatCommand.h: Added. (WebCore::RemoveFormatCommand::editingAction):

LayoutTests:

Reviewed by Darin Adler.


<rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating

Added to demonstrate fixes:

  • editing/execCommand/5573879.html: Added.
  • platform/mac/editing/execCommand/5573879-expected.checksum: Added.
  • platform/mac/editing/execCommand/5573879-expected.png: Added.
  • platform/mac/editing/execCommand/5573879-expected.txt: Added.


Fixes (RemoveFormat now preserves the selection correctly):

  • platform/mac/editing/execCommand/4920742-1-expected.checksum:
  • platform/mac/editing/execCommand/4920742-1-expected.png:
  • platform/mac/editing/execCommand/4920742-1-expected.txt:
  • platform/mac/editing/execCommand/remove-formatting-2-expected.checksum:
  • platform/mac/editing/execCommand/remove-formatting-2-expected.png:
  • platform/mac/editing/execCommand/remove-formatting-2-expected.txt:
  • platform/mac/editing/execCommand/remove-formatting-expected.checksum:
  • platform/mac/editing/execCommand/remove-formatting-expected.png:
  • platform/mac/editing/execCommand/remove-formatting-expected.txt:
17:17 IconContestIdeas edited by aroben@apple.com
Little re-organziation (diff)
17:16 IconContestIdeas edited by aroben@apple.com
Added a submissions section (diff)
17:13 WebKit Team edited by aroben@apple.com
(diff)
17:06 IconContestIdeas edited by aroben@apple.com
(diff)
17:05 Changeset [28125] by timothy@apple.com

Make this test not depend on the screen size.

  • fast/dom/Window/window-resize-expected.txt:
  • fast/dom/Window/window-resize.html:
17:04 IconContestIdeas edited by aroben@apple.com
(diff)
17:02 IconContestIdeas edited by aroben@apple.com
Added a disclaimer (diff)
16:59 IconContestIdeas edited by aroben@apple.com
Added a preliminary schedule (diff)
16:44 IconContestIdeas edited by aroben@apple.com
Added voting section (diff)
16:43 Changeset [28124] by darin@apple.com

Reviewed by Adam Roben.

  • DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController keyDown:withModifiers:]): Send capital letters through as lowercase letters with the shift key down rather than sending them as if they were highly unusual "capital letter keys".
  • Scripts/update-javascriptcore-test-results: Add a "--force" option for cases where you need to update results and more tests are failing than before.
16:33 Changeset [28123] by andersca@apple.com

WebKitTools:

Reviewed by Darin.

<rdar://problem/5132001>
contextClick is not implemented in DRT on Windows.


  • DumpRenderTree/win/EventSender.cpp: (contextClickCallback): Add a callback for contextClick, which sends a WM_RBUTTONDOWN message followed by a WM_RBUTTONUP message.


  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::hasCustomMenuImplementation): (UIDelegate::trackCustomPopupMenu):
  • DumpRenderTree/win/UIDelegate.h: Add a no-op implementation of trackCustomPopupMenu, to prevent the default popup menu from being shown (and causing the DRT to hang).

LayoutTests:

Reviewed by Darin.

<rdar://problem/5132001>
contextClick is not implemented in DRT on Windows.

Remove tests that pass now that we have contextClick.


  • platform/win/Skipped:
15:05 Changeset [28122] by alice.liu@apple.com

Removing some tests tracked by <rdar://5130762> because they don't fail.

  • platform/win/Skipped:
15:01 IconContestIdeas edited by timothy@apple.com
Rename resolution to size. (diff)
14:54 HackingGtk edited by alp@atoker.com
Add an API rationale (diff)
14:51 IconContestIdeas edited by aroben@apple.com
(diff)
14:45 Changeset [28121] by alice.liu@apple.com

Removing fixed tests tracked by <rdar://5128229>

  • platform/win/Skipped:
14:41 IconContestIdeas edited by aroben@apple.com
(diff)
14:29 IconContestIdeas edited by aroben@apple.com
(diff)
14:29 IconContestIdeas edited by aroben@apple.com
(diff)
14:27 Changeset [28120] by alice.liu@apple.com

Rubberstamped by Sam.

Fixing a typo in some filenames

  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html: Removed.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html.
  • platform/win/Skipped:
14:25 IconContestIdeas created by aroben@apple.com
Initial ideas for a WebKit icon contest
14:24 Changeset [28119] by kmccullough@apple.com

Reviewed by Tim.

  • Added guards to the wait loop so execution would not hang and now the console window can process JavaScript.
  • WebScriptDebugServer.cpp: (WebScriptDebugServer::suspendProcessIfPaused):
14:04 Changeset [28118] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046

Test: fast/table/empty-auto-column-zero-divide.html

  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): (WebCore::AutoTableLayout::fullRecalc): (WebCore::AutoTableLayout::calcEffectiveWidth): (WebCore::AutoTableLayout::layout): When distributing the remaining width among columns, skip those whose effective (rather than specified) width is auto and contain only empty cells.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
  • fast/table/empty-auto-column-zero-divide-expected.txt: Added.
  • fast/table/empty-auto-column-zero-divide.html: Added.
14:03 Changeset [28117] by adele@apple.com

Reviewed by Darin.

Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6

The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
WebHTMLView to prevent future problems in other methods as well.

  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView keyUp:]): (-[WebHTMLView flagsChanged:]): (-[WebHTMLView _selectionStartFontAttributesAsRTF]): (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): (-[WebHTMLView checkSpelling:]): (-[WebHTMLView showGuessPanel:]): (-[WebHTMLView indent:]): (-[WebHTMLView outdent:]): (-[WebHTMLView paste:]): (-[WebHTMLView _lookUpInDictionaryFromMenu:]): (-[WebHTMLView insertText:]): (-[WebHTMLView selectionTextRects]):
13:17 Changeset [28116] by andersca@apple.com

Reviewed by Adam.

Implement the last bits of the WebDatabaseManager API.


  • Interfaces/IWebDatabaseManager.idl:
  • WebDatabaseManager.cpp: (isEqual): (WebDatabaseManager::sharedWebDatabaseManager): (WebDatabaseManager::dispatchDidModifyOrigin): (WebDatabaseManager::dispatchDidModifyDatabase):
  • WebDatabaseManager.h:
12:55 WebKit Team edited by zimmermann@kde.org
(diff)
12:12 Changeset [28115] by andersca@apple.com

Get Drosera working again for real.


  • COMEnumVariant.h: (::Next):
11:57 Changeset [28114] by alp@webkit.org

2007-11-28 Peter Kasting <zerodpx@gmail.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16169
GIF decoder needs to set hasAlpha() correctly on subsequent frames.


This also removes the workaround for this problem in
ImageSourceCairo.cpp.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameHasAlphaAtIndex):
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::initFrameBuffer):
11:37 Changeset [28113] by jhoneycutt@apple.com

2007-11-28 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Dan.

<rdar://problem/5507360> plugins/return-error-from-new-stream-callback-
in-full-frame-plugin.html is crashing

Alice fixed this in r28046

  • platform/win/Skipped:
10:08 HackingGtk edited by alp@atoker.com
Codify URL vs. URI public API policy (diff)
09:46 Changeset [28112] by kmccullough@apple.com

Reviewed by Maciej and Adam.

  • Added Drosera to the WebKit project.
  • WebKit.vcproj/WebKit.sln:
08:47 Changeset [28111] by mitz@apple.com

Reviewed by Darin Adler and Adam Roben.

  • <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
  • platform/win/SearchPopupMenuWin.cpp: (WebCore::SearchPopupMenu::enabled): Changed to return true. (WebCore::autosaveKey): Added. Returns a preferences key for the autosave name by prefixing it with "com.apple.WebKit.searchField:". (WebCore::SearchPopupMenu::saveRecentSearches): Implemented. (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
05:12 Changeset [28110] by mrowe@apple.com

Roll out r28106 and r28108. These introduced a frequent assertion failure on page load and broke all non-Mac builds.

04:47 Changeset [28109] by alp@webkit.org

2007-11-28 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15689
[GTK] Background of loading images is always black

frameHasAlphaAtIndex() exists only to allow optimization for cases we
are certain the image can be blitted rather than composited.

Thus we need to be conservative, returning false only when we are
absolutely certain there is no need for composited copying, and true
otherwise.

CG doesn't even bother with this optimization at all and always
returns true.

Patch includes a workaround for

http://bugs.webkit.org/show_bug.cgi?id=16169
GIF ImageDecoder hasAlpha() return value incorrect

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameHasAlphaAtIndex):
03:03 Changeset [28108] by mjs@apple.com

JavaScriptCore:

Add files missing from previous commit.

  • kjs/MarkStack.h: Added.

LayoutTests:

add files missing from previous commit.

  • fast/js/gc-breadth-2-expected.txt: Added.
  • fast/js/gc-breadth-2.html: Added.
  • fast/js/gc-breadth-expected.txt: Added.
  • fast/js/gc-breadth.html: Added.
  • fast/js/gc-depth-expected.txt: Added.
  • fast/js/gc-depth.html: Added.
  • fast/js/resources/gc-breadth-2.js: Added.
  • fast/js/resources/gc-breadth.js: Added.
  • fast/js/resources/gc-depth.js: Added.
02:42 Changeset [28107] by mrowe@apple.com

2007-11-26 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Mark Rowe.

Set CONFIG option for the window system GTK+ is using

  • WebKit.pri:
02:08 Changeset [28106] by mjs@apple.com

JavaScriptCore:

Reviewed by Darin and Geoff.


Implement mark stack. This version is not suitable for prime time because it makes a
huge allocation on every collect, and potentially makes marking of detached subtrees
slow. But it is an 0.4% SunSpider speedup even without much tweaking.


The basic approach is to replace mark() methods with
markChildren(MarkStack&) methods. Reachable references are pushed
onto a mark stack (which encapsulates ignoring already-marked
references).


Objects are no longer responsible for actually setting their own
mark bits, the collector does that. This means that for objects on
the number heap we don't have to call markChildren() at all since
we know there aren't any.


The mark phase of collect pushes roots onto the mark stack
and drains it as often as possible.


To make this approach viable requires a constant-size mark stack
and a slow fallback approach for when the stack size is exceeded,
plus optimizations to make the required stack small in common
cases. This should be doable.

  • JavaScriptCore.exp: Export new symbols.
  • JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
  • kjs/collector.cpp: (KJS::Collector::heapAllocate): (KJS::drainMarkStack): Helper for all of the below. (KJS::Collector::markStackObjectsConservatively): Use mark stack. (KJS::Collector::markCurrentThreadConservatively): ditto (KJS::Collector::markOtherThreadConservatively): ditto (KJS::Collector::markProtectedObjects): ditto (KJS::Collector::markMainThreadOnlyObjects): ditto (KJS::Collector::collect): ditto
  • kjs/collector.h: (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.
  • kjs/MarkStack.h: Added. The actual mark stack implementation. (KJS::MarkStack::push): (KJS::MarkStack::pushAtom): (KJS::MarkStack::pop): (KJS::MarkStack::isEmpty): (KJS::MarkStack::reserveCapacity):

Changed mark() methods to markChildren() methods:


  • kjs/ExecState.cpp: (KJS::ExecState::markChildren):
  • kjs/ExecState.h:
  • kjs/JSWrapperObject.cpp: (KJS::JSWrapperObject::markChildren):
  • kjs/JSWrapperObject.h:
  • kjs/array_instance.cpp: (KJS::ArrayInstance::markChildren):
  • kjs/array_instance.h:
  • kjs/bool_object.cpp: (BooleanInstance::markChildren):
  • kjs/bool_object.h:
  • kjs/error_object.cpp:
  • kjs/error_object.h:
  • kjs/function.cpp: (KJS::FunctionImp::markChildren): (KJS::Arguments::Arguments): (KJS::Arguments::markChildren): (KJS::ActivationImp::markChildren):
  • kjs/function.h:
  • kjs/internal.cpp: (KJS::GetterSetterImp::markChildren):
  • kjs/interpreter.cpp: (KJS::Interpreter::markRoots):
  • kjs/interpreter.h:
  • kjs/list.cpp: (KJS::List::markProtectedListsSlowCase):
  • kjs/list.h: (KJS::List::markProtectedLists):
  • kjs/object.cpp: (KJS::JSObject::markChildren):
  • kjs/object.h: (KJS::ScopeChain::markChildren):
  • kjs/property_map.cpp: (KJS::PropertyMap::markChildren):
  • kjs/property_map.h:
  • kjs/scope_chain.h:
  • kjs/string_object.cpp: (KJS::StringInstance::markChildren):
  • kjs/string_object.h:

JavaScriptGlue:

Reviewed by Darin and Geoff.

Fixups for JavaScriptCore mark stack.

  • JSObject.cpp: (JSUserObject::Mark):
  • JSObject.h:
  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark):
  • JSValueWrapper.h:
  • UserObjectImp.cpp:
  • UserObjectImp.h:

WebCore:

Reviewed by Darin and Geoff.

Implement mark stack. This version is not suitable for prime time because it makes a
huge allocation on every collect, and potentially makes marking of detached subtrees
slow. But it is a .2% - .4% speedup even without much tweaking.

I replaced mark() methods with markChildren() as usual. One
optimization that is lost is avoiding walking detached DOM
subtrees more than once to mark them; since marking is not
recursive there's no obvious way to bracket operation on the tree
any more.

  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::markChildren):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren):
  • bindings/js/JSNodeFilterCondition.cpp:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::markChildren):
  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::markChildren):
  • bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::markChildren):
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::markChildren):
  • bindings/js/JSXMLHttpRequest.h:
  • bindings/js/kjs_binding.cpp: (KJS::ScriptInterpreter::markDOMNodesForDocument):
  • bindings/js/kjs_binding.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSUnprotectedEventListener::markChildren):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_window.cpp: (KJS::Window::markChildren):
  • bindings/js/kjs_window.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Node.cpp: (WebCore::Node::Node):
  • dom/Node.h:
  • dom/NodeFilter.h:
  • dom/NodeFilterCondition.h:

LayoutTests:

Not reviewed.


I have fixed this with the mark stack work.


  • fast/js/gc-breadth-2-expected.txt: Added.
  • fast/js/gc-breadth-2.html: Added.
  • fast/js/gc-breadth-expected.txt: Added.
  • fast/js/gc-breadth.html: Added.
  • fast/js/gc-depth-expected.txt: Added.
  • fast/js/gc-depth.html: Added.
  • fast/js/resources/gc-breadth-2.js: Added.
  • fast/js/resources/gc-breadth.js: Added.
  • fast/js/resources/gc-depth.js: Added.
01:24 Changeset [28105] by mjs@apple.com

Not reviewer for this patch.

01:04 Changeset [28104] by mitz@apple.com

Reviewed by Maciej Stachowiak.

  • fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
  • WebView/WebHTMLView.mm: (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver because addMouseMovedObserver returns early if the dataSource is not nil. But if the dataSource is already set (which happens when a WebHTMLView is being reused) then addMouseMovedObserver must not be called again.
00:27 Changeset [28103] by alp@webkit.org

2007-11-27 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Install the JavaScriptCore headers as part of the GTK+ port.

11/27/07:

22:31 Changeset [28102] by bdakin@apple.com

WebCore:

Reviewed by Oliver.

Fix for <rdar://problem/5616052> SVGs with width or height of 100%
hang when used as a background-image (16164)

  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::size): Use valueAsPercentage() for percents instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() returns, for example, 50 for 50%, so multiplying percentages by the default size of 300 x 150 led to ridiculously huge dimensions for SVG images, and the subsequent hang.

LayoutTests:

Reviewed by Oliver.

Test for <rdar://problem/5616052> SVGs with width or height of 100%
hang when used as a background-image (16164)

  • fast/images/resources/width-100-percent.svg: Added.
  • fast/images/svg-width-100p-as-background.html: Added.
  • platform/mac/fast/images/svg-width-100p-as-background-expected.checksum: Added.
  • platform/mac/fast/images/svg-width-100p-as-background-expected.png: Added.
  • platform/mac/fast/images/svg-width-100p-as-background-expected.txt: Added.
21:54 Changeset [28101] by mjs@apple.com

Not reviewed.

Fix DumpRenderTree ObjC bug comparing strings.

  • DumpRenderTree/mac/ObjCController.m: (-[ObjCController identityIsEqual::]): Compare strings with string equality instead of identiy equality.
21:48 Changeset [28100] by alp@webkit.org

2007-11-27 Alp Toker <alp@atoker.com>

Prospective MSVC build fix.

Roll back dllexport/dllimport support for now.

  • API/JSBase.h:
20:50 Changeset [28099] by jhoneycutt@apple.com

2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
Set haveRegisteredWindowClass to true

  • WebView.cpp: (registerWebViewWindowClass):
20:47 Changeset [28098] by jhoneycutt@apple.com

2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Adam.

Set haveRegisteredWindowClass when we register the window class.

  • plugins/win/PluginViewWin.cpp: (WebCore::registerPluginView):
20:31 Changeset [28097] by alp@webkit.org

2007-11-27 Alp Toker <alp@atoker.com>

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=15569
[gtk] GTK JavaScriptCore needs to export symbols for JSC API and WTF

Introduce JS_EXPORT to mark symbols to be exported as public API.

Export all public symbols in the JavaScriptCore C API.

This matches conventions for exporting symbols set by the CF and CG
frameworks.

  • API/JSBase.h:
  • API/JSContextRef.h:
  • API/JSObjectRef.h:
  • API/JSStringRef.h:
  • API/JSStringRefBSTR.h:
  • API/JSStringRefCF.h:
  • API/JSValueRef.h:
18:47 Changeset [28096] by andersca@apple.com

Speculative fix to get Drosera working.


  • COMEnumVariant.h: (::Next): Update the number of elements fetched correctly.
17:34 Changeset [28095] by andersca@apple.com

Reviewed by Brady.

  • Storage/WebDatabaseManager.mm:
  • Storage/WebDatabaseManagerPrivate.h:
  • Storage/WebDatabaseTrackerClient.mm: (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
  • Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
  • Storage/WebSecurityOriginInternal.h:
17:22 Changeset [28094] by timothy@apple.com

Reviewed by Sam.

Reset the authorAndUserStylesEnabled preference
back to YES for each test. Fixes the broken tests.

  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
17:12 Changeset [28093] by timothy@apple.com

Reviewed by Sam Weinig.

Bug 16165: Dragging the inspector toolbar should move the window
http://bugs.webkit.org/show_bug.cgi?id=16165

  • page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
  • page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
  • page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add toolbar drag functions that move the window.
17:12 Changeset [28092] by andersca@apple.com

Reviewed by Adam.

Some COM cleanup.


  • CFDictionaryPropertyBag.cpp: (CFDictionaryPropertyBag::QueryInterface):
  • CFDictionaryPropertyBag.h:
  • WebBackForwardList.cpp: (WebBackForwardList::addItem): (WebBackForwardList::removeItem):
  • WebDownload.cpp: (WebDownload::initWithRequest):
  • WebFrame.cpp: (WebFrame::loadRequest): (WebFrame::initWithWebFrameView): (WebFrame::webHistory): (WebFrame::dispatchWillSendRequest):
  • WebURLAuthenticationChallenge.cpp: (WebURLAuthenticationChallenge::QueryInterface): (WebURLAuthenticationChallenge::initWithProtectionSpace):
  • WebURLAuthenticationChallenge.h:
  • WebURLAuthenticationChallengeSender.cpp: (WebURLAuthenticationChallengeSender::QueryInterface):
  • WebURLAuthenticationChallengeSender.h:
  • WebURLResponse.cpp: (WebURLResponse::QueryInterface):
  • WebURLResponse.h:
  • WebView.cpp: (WebView::notifyDidAddIcon): (WebView::goToBackForwardItem): (WebView::canHandleRequest): (WebView::loadBackForwardListFromOtherView): (core):
16:35 Changeset [28091] by kmccullough@apple.com

Reviewed by Adam.

  • Drosera now displays the console window, although it cannot currently process JavaScript.
  • Drosera/win/DebuggerClient.cpp: Shows the console window. (registerConsoleClass): Implemented. (consoleWndProc): Implemented. (DebuggerClient::onSize): Implemented. (DebuggerClient::createWebViewWithRequest): Implemented, now creates a new window.
  • Drosera/win/DebuggerClient.h: Added needed method and members for creating and maintaining a new window.
  • Drosera/win/Drosera.cpp: Fixed some minor bugs, and moved a couple of lines of code to more appropriate places. (Drosera::handleCommand): (Drosera::initUI): (Drosera::onSize): (Drosera::attach):
16:12 Changeset [28090] by andersca@apple.com

Add COMEnumVariant.h to the project.


  • WebKit.vcproj/WebKit.vcproj:
16:11 Changeset [28089] by andersca@apple.com

Reviewed by Adam.

Return E_INVALIDARG if the databaseName BSTR is null;


  • WebDatabaseManager.cpp: (WebDatabaseManager::detailsForDatabaseWithOrigin): (WebDatabaseManager::deleteDatabaseWithOrigin):
15:57 Changeset [28088] by andersca@apple.com

Reviewed by Adam.

Implement the rest of the WebDatabaseManager API.

  • COMEnumVariant.h:
  • Interfaces/IWebDatabaseManager.idl:
  • WebDatabaseManager.cpp: (isEqual): (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag): (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag): (DatabaseDetailsPropertyBag::createInstance): (DatabaseDetailsPropertyBag::AddRef): (DatabaseDetailsPropertyBag::Release): (DatabaseDetailsPropertyBag::QueryInterface): (DatabaseDetailsPropertyBag::Read): (DatabaseDetailsPropertyBag::Write): (WebDatabaseManager::detailsForDatabaseWithOrigin): (WebDatabaseManager::deleteAllDatabases): (WebDatabaseManager::deleteDatabasesWithOrigin): (WebDatabaseManager::deleteDatabaseWithOrigin):
  • WebDatabaseManager.h:
15:34 Changeset [28087] by timothy@apple.com

Land results for my last test change,

15:32 Changeset [28086] by adachan@apple.com

<rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
was not allocated correctly.

Reviewed by Anders.

  • WebHistoryItem.cpp: (WebHistoryItem::setAlternateTitle): (WebHistoryItem::alternateTitle):
  • WebHistoryItem.h:
15:30 Changeset [28085] by antti@apple.com

Reviewed by Mitz.

Small changes to make RenderSlider a bit more generic so it can be used in video controls.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
  • rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events. (WebCore::RenderSlider::setStyle): (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset. (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
  • rendering/RenderSlider.h:
15:27 Changeset [28084] by antti@apple.com

Reviewed by Darin.

  • Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles generally exist when asked for so the optimization does not do much. This reverses the continuing growth of the _pseudoBits bitfield in RenderStyle.
  • Add some pseudo elements for media controls
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRulesForList): (WebCore::CSSStyleSelector::checkOneSelector):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle):
  • rendering/RenderStyle.cpp: (WebCore::pseudoBit): (WebCore::RenderStyle::hasPseudoStyle): (WebCore::RenderStyle::setHasPseudoStyle):
  • rendering/RenderStyle.h: (WebCore::RenderStyle::):
15:05 Changeset [28083] by timothy@apple.com

WebCore:

Reviewed by Kevin McCullough.

Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
http://bugs.webkit.org/show_bug.cgi?id=16161

Removed the "Adjust the window rect to be in the coordinate space of
the screen rect" step which was always adding (0,22) to the window
position (on the main screen). Instead, account for screen X and Y
in the bottom and right constrain step.

Added more test cases to: fast/dom/Window/window-resize.html

  • bindings/js/kjs_window.cpp: (KJS::adjustWindowRect):

LayoutTests:

Reviewed by Kevin McCullough.

Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
http://bugs.webkit.org/show_bug.cgi?id=16161

Added test cases for moveBy(0, 0), moveBy(0, 1) and moveBy(1, 0).

  • fast/dom/Window/window-resize.html:
15:00 Changeset [28082] by andersca@apple.com

Build fix.


  • JSUtils.cpp: (KJSValueToCFTypeInternal):
  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames):
14:30 Changeset [28081] by andersca@apple.com

Reviewed by Darin, landed by Anders.

Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131

The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
database will compare bundle versions and always load the latest version.

  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes, but we think for now it's good enough for us.
  • Plugins/WebPluginDatabase.m: (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number. If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
14:27 Changeset [28080] by andersca@apple.com

Reviewed by Adam.

Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.


  • WebScriptCallFrame.cpp: (WebScriptCallFrame::scopeChain):
  • WebScriptScope.cpp: (WebScriptScope::variableNames):
14:21 Changeset [28079] by andersca@apple.com

Reviewed by Adam.

Make PropertyNameArray and ScopeChain COMEnumVariant friendly.


  • kjs/PropertyNameArray.cpp: (KJS::PropertyNameArray::swap): Implement PropertyNameArray::swap.


  • kjs/PropertyNameArray.h: Add ValueType typedef. Replace PropertyNameArrayIterator with PropertyNameArray::const_iterator.


  • kjs/nodes.cpp: (KJS::ForInNode::execute):
  • kjs/scope_chain.cpp: (KJS::ScopeChain::print): Update for changes to PropertyNameArray.


  • kjs/scope_chain.h: Add const_iterator and ValueType typedef.
13:48 Changeset [28078] by andersca@apple.com

Reviewed by Adam.

Use the correct include paths.


  • COMEnumVariant.h:
13:43 Changeset [28077] by andersca@apple.com

Reviewed by Darin.


Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
you enumerate over a C++ container, be it WTF or STL.


  • COMEnumVariant.h: Added.


  • WebDatabaseManager.cpp: (WebDatabaseManager::origins): (WebDatabaseManager::databasesWithOrigin): Implement these using COMEnumVariant.


  • WebSecurityOrigin.cpp: (WebSecurityOrigin::QueryInterface):
  • WebSecurityOrigin.h: Add a UUID for the implementation so that other parts of WebKit can access the WebCore::SecurityOriginData object.
13:27 Changeset [28076] by andersca@apple.com

Reviewed by Darin.

Add a ValueType typedef.


  • wtf/Vector.h:
13:23 Changeset [28075] by timothy@apple.com

Reviewed by Adam Roben.

  • page/inspector/inspector.css: Make the text in the Network panel legend more readable.
12:51 Changeset [28074] by timothy@apple.com

Reviewed by Adam Roben.

Don't call setNeedsReapplyStylesInAllFrames if the
authorAndUserStylesEnabled setting didn't change.

  • page/Settings.cpp: (WebCore::Settings::setAuthorAndUserStylesEnabled):
10:53 Changeset [28073] by alp@webkit.org

2007-11-27 Alp Toker <alp@atoker.com>

Fix potential broken build due to a missing DEPENDPATH.

  • WebCore.pro:
10:48 Changeset [28072] by sullivan@apple.com

Fixed 5614525, caused by a recent bug in WKGetExtensionsForMIMEType
that affects Safari.


reviewed by Kevin Decker

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
09:15 Changeset [28071] by timothy@apple.com

WebCore:

Reviewed by Dave Hyatt.

<rdar://problem/5569233> Add the ability to disable author and user CSS styles

  • WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter. (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before matching user and author rules. (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
  • css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
  • dom/Document.cpp: (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector. (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
  • page/Settings.cpp: (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true. (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames when the setting changes.
  • page/Settings.h: Add m_authorAndUserStylesEnabled. (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.

WebKit/mac:

Reviewed by Dave Hyatt.

<rdar://problem/5569233> Add the ability to disable author and user CSS styles

  • WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
  • WebView/WebPreferences.m: (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES. (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value. (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
  • WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.

WebKitTools:

Reviewed by Dave Hyatt.

<rdar://problem/5569233> Add the ability to disable author and user CSS styles


Add support for disabling author and user styles for testing.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/LayoutTestController.cpp: (setAuthorAndUserStylesEnabledCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setAuthorAndUserStylesEnabled):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setAuthorAndUserStylesEnabled):

LayoutTests:

Reviewed by Dave Hyatt.

Test for: <rdar://problem/5569233> Add the ability to disable author and user CSS styles

  • fast/css/disabled-author-styles.html: Added.
  • platform/mac/fast/css/disabled-author-styles-expected.txt: Added.
07:06 QtWebKitGitInstructions edited by hausmann@webkit.org
(diff)
01:48 HackingGtk edited by alp@atoker.com
Link to OptimizingGtk (diff)
00:15 Changeset [28070] by alp@webkit.org

2007-11-27 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Based on changes by Mike Emmel.

CURL HTTP backend local file fixes:

Set a MIME type for local files based on the file extension.

Remove any HTTP query part sent to a local file.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::startJob):

11/26/07:

19:28 Changeset [28069] by beidson@apple.com

WebCore:

Reviewed by Mark Rowe

Allow setting the default storage quota per database origin

  • WebCore.base.exp:
  • page/Settings.cpp: (WebCore::Settings::setDefaultDatabaseOriginQuota): (WebCore::Settings::defaultDatabaseOriginQuota):
  • page/Settings.h:
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::DatabaseTracker): (WebCore::DatabaseTracker::setDefaultOriginQuota): (WebCore::DatabaseTracker::defaultOriginQuota):
  • storage/DatabaseTracker.h:

WebKit/mac:

Reviewed by Mark Rowe

Provide API for setting the default storage quota per database origin

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m: (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto (-[WebPreferences defaultDatabaseQuota]): (-[WebPreferences setDefaultDatabaseQuota:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
19:01 Changeset [28068] by alp@webkit.org

2007-11-26 Peter Kasting <zerodpx@gmail.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=15974
GIF decoding should respect frames' specified disposal methods.

  • platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::): (WebCore::RGBA32Buffer::RGBA32Buffer): (WebCore::RGBA32Buffer::disposalMethod): (WebCore::RGBA32Buffer::setDisposalMethod):
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::frameBufferAtIndex): (WebCore::GIFImageDecoder::initFrameBuffer): (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): (WebCore::GIFImageDecoder::haveDecodedRow): (WebCore::GIFImageDecoder::frameComplete):
  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
  • platform/image-decoders/gif/GIFImageReader.h: (GIFFrameReader::GIFFrameReader):
18:20 Changeset [28067] by aroben@apple.com

Make WebKitGraphics able to handle grayscale colors

WebCore:

Add a Color(CGColorRef) constructor

Reviewed by Darin.

  • platform/graphics/Color.h:
  • platform/graphics/cg/ColorCG.cpp: (WebCore::Color::Color): Added.

WebKit/win:

Take advantage of the new Color constructor that takes a CGColorRef

This lets us handle grayscale colors (which only have 2 components).

Reviewed by Darin.

  • WebKitGraphics.cpp: (DrawTextAtPoint):
18:15 Changeset [28066] by adele@apple.com

Reviewed by Darin.

Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet.

  • page/Frame.cpp: (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
18:08 Changeset [28065] by alp@webkit.org

2007-11-26 Alp Toker <alp@atoker.com>

Reviewed by Adam Roben.

http://bugs.webkit.org/show_bug.cgi?id=16149
Implement the window-object-cleared signal

This implementation provides the JSGlobalContextRef and JSObjectRef
directly rather than using an intermediate JS wrapper object, similar
to the approach taken by the Win port.

  • Api/webkitgtk-marshal.list:
  • Api/webkitgtkframe.h:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::windowObjectCleared):
18:07 Changeset [28064] by adele@apple.com

Reviewed by Darin.

Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]

  • page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil. (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
18:05 Changeset [28063] by mrowe@apple.com

GCC 4.2 build fix.

  • xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
17:52 Changeset [28062] by weinig@apple.com

WebCore:

Reviewed and touched up by Sam Weinig.

Fix for http://bugs.webkit.org/show_bug.cgi?id=16073

Test: http/tests/security/xss-DENIED-invalid-domain-change.html

  • dom/Document.cpp: (WebCore::Document::setDomain): Don't set the securityOrigin policy unless the set succeeds. Adds some early returns as well.

LayoutTests:

Reviewed by Sam Weinig.

Tests for http://bugs.webkit.org/show_bug.cgi?id=16073

  • http/tests/security/resources/iframe-invalid-domain-change.html: Added.
  • http/tests/security/xss-DENIED-invalid-domain-change-expected.txt: Added.
  • http/tests/security/xss-DENIED-invalid-domain-change.html: Added.
17:35 Changeset [28061] by darin@apple.com

Reviewed by Adele.

  • some middle-mouse-button-related fixes

These don't affect Safari since it maps the middle mouse button to the command key,
but that might not always be the case for future versions.

  • WebView/WebHTMLView.mm: (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore. (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events. (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
  • WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
17:25 Changeset [28060] by sfalken@apple.com

Build fix.

  • WebKit.vcproj/WebKit.make:
17:08 Changeset [28059] by sfalken@apple.com

WebCore:

Build fix.

  • WebCore.vcproj/WebCore.make:
  • WebCore.vcproj/migrate-idls.sh:

WebKit/win:

Build fix.

  • WebKit.vcproj/build-generated-files.sh:
16:50 Changeset [28058] by darin@apple.com

JavaScriptCore:

Reviewed by Mitz.

Test: fast/js/regexp-overflow.html

  • pcre/pcre_compile.cpp: (calculateCompiledPatternLengthAndFlags): Removed a stray "ptr++" that I added by accident when merging the changes between PCRE 6.4 and 6.5.

LayoutTests:

Reviewed by Mitz.

  • fast/js/regexp-overflow-expected.txt: Added.
  • fast/js/regexp-overflow.html: Added.
  • fast/js/resources/regexp-overflow.js: Added.
16:28 Changeset [28057] by weinig@apple.com

Fix potential null-dereference.

Reviewed by Adam Roben.

  • page/FrameTree.cpp: (WebCore::FrameTree::isDescendantOf):
16:15 Changeset [28056] by weinig@apple.com

WebCore:

Reviewed by Darin.

Fix for <rdar://problem/5592988>

  • Enforce tighter restrictions on what frames in other domains can be navigated.

Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html

http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html

  • bindings/js/kjs_window.cpp: (KJS::Window::put): (KJS::Location::put): (KJS::LocationProtoFuncReplace::callAsFunction): (KJS::LocationProtoFuncAssign::callAsFunction):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::load): (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
  • loader/FrameLoader.h:
  • page/FrameTree.cpp: (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not in the same page.

LayoutTests:

Reviewed by Darin.

Tests for <rdar://problem/5592988>

  • Update and add tests for new tighter restrictions on what frames in other domains can be navigated.
  • http/tests/security/cross-frame-access-location-expected.txt:
  • http/tests/security/frameNavigation: Added.
  • http/tests/security/frameNavigation/resources: Added.
  • http/tests/security/frameNavigation/resources/iframe-that-performs-parent-navigation.html: Added.
  • http/tests/security/frameNavigation/resources/iframe-with-inner-frame-on-foreign-domain.html: Added.
  • http/tests/security/frameNavigation/resources/navigation-changed-iframe.html: Added.
  • http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change-expected.txt: Added.
  • http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html: Added.
  • http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change-expected.txt: Added.
  • http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html: Added.
15:53 Changeset [28055] by sfalken@apple.com

WebCore:

Build fix.

  • WebCore.vcproj/migrate-idls.sh:

WebKit/win:

Build fix.

  • WebKit.vcproj/build-generated-files.sh:
15:50 Changeset [28054] by ggaren@apple.com

Fixed typo

15:48 Changeset [28053] by ggaren@apple.com

Reviewed by Kevin McCullough.


Fixed <rdar://problem/5597937> REGRESSION (r27126): Drosera does not
show variables (can't enumerate ActivationImp properties)


Implemented a custome ActivationImp::getPropertyNames, since
ActivationImp now uses a custom property storage mechanism for local
variables.

  • kjs/function.cpp: (KJS::ActivationImp::getPropertyNames):
  • kjs/function.h:
15:45 Changeset [28052] by andersca@apple.com

Reviewed by Adam.

Add an implementation of IWebSecurityOrigin and a partially stubbed out
implementation of IWebDatabaseManager.


  • ForEachCoClass.h:
  • Interfaces/IWebDatabaseManager.idl:
  • Interfaces/WebKit.idl:
  • WebDatabaseManager.cpp: (WebDatabaseManager::createInstance): (WebDatabaseManager::WebDatabaseManager): (WebDatabaseManager::~WebDatabaseManager): (WebDatabaseManager::QueryInterface): (WebDatabaseManager::AddRef): (WebDatabaseManager::Release): (WebDatabaseManager::sharedWebDatabaseManager): (WebDatabaseManager::origins): (WebDatabaseManager::databasesWithOrigin): (WebDatabaseManager::detailsForDatabaseWithOrigin): (WebDatabaseManager::deleteAllDatabases): (WebDatabaseManager::deleteDatabasesWithOrigin): (WebDatabaseManager::deleteDatabaseWithOrigin):
  • WebDatabaseManager.h:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKitClassFactory.cpp:
  • WebSecurityOrigin.cpp: Added. (WebSecurityOrigin::createInstance): (WebSecurityOrigin::WebSecurityOrigin): (WebSecurityOrigin::~WebSecurityOrigin): (WebSecurityOrigin::QueryInterface): (WebSecurityOrigin::AddRef): (WebSecurityOrigin::Release): (WebSecurityOrigin::protocol): (WebSecurityOrigin::domain): (WebSecurityOrigin::port): (WebSecurityOrigin::usage): (WebSecurityOrigin::quota): (WebSecurityOrigin::setQuota):
  • WebSecurityOrigin.h: Added.
15:34 Changeset [28051] by mitz@apple.com
  • Tiger build fix.
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
15:03 Changeset [28050] by kmccullough@apple.com

WebKit/win:

Reviewed by Maciej.

  • Implemented displaying variables for Drosera on Win.
  • Interfaces/IWebScriptCallFrame.idl: Added a local function to be able to access the WebScriptCallFrame.
  • Interfaces/IWebScriptScope.idl: Implemented.
  • Interfaces/WebKit.idl: Added WebScriptScope to the tlb.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebScriptCallFrame.cpp: Implemented the helper and accessor methods. (EnumScopes::Next): Fixed a bug where we did not release correctly and would accidentally destroy scopes. (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Implemented. (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Implemented
  • WebScriptCallFrame.h: Implemented the helper and accessor methods. (WebScriptCallFrame::impl): (WebScriptCallFrame::state):
  • WebScriptScope.cpp: Implmented. (EnumVariables::EnumVariables): Created an IEnumVariant over the variables to be able to pass a DCOM acceptable structure back to Drosera. (EnumVariables::createInstance): (EnumVariables::QueryInterface): (EnumVariables::AddRef): (EnumVariables::Release): (EnumVariables::Next): (EnumVariables::Skip): (EnumVariables::Reset): (EnumVariables::Clone): (WebScriptScope::WebScriptScope): (WebScriptScope::createInstance): Implemented. (WebScriptScope::variableNames): Implemented. (WebScriptScope::valueForVariable):
  • WebScriptScope.h: Implmeneted.

WebKitTools:

Reviewed by Maciej.

  • Implemented displaying variables for Drosera on Win.
  • Drosera/win/DebuggerDocumentPlatform.cpp: Changed Drosera functions that retrieve variables to not hold onto the return value since it's not returned. Also changed to use the new signatures of the retrieval functions. (DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame): (DebuggerDocument::platformValueForScopeVariableNamed):
  • Drosera/win/Drosera.cpp: Removed a needless TODO. (droseraWndProc):
14:15 Changeset [28049] by andersca@apple.com

Reviewed by Brady.

Add IWebDatabaseManager and IWebSecurityOrigin interfaces.


  • Interfaces/IWebDatabaseManager.idl: Added.
  • Interfaces/IWebSecurityOrigin.idl: Added.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
13:19 Changeset [28048] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into

Test: fast/dynamic/float-withdrawal-2.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): When a float may have been withdrawn from a child, mark all descendants if necessary and not just the child.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
  • fast/dynamic/float-withdrawal-2.html: Added.
  • platform/mac/fast/dynamic/float-withdrawal-2-expected.checksum: Added.
  • platform/mac/fast/dynamic/float-withdrawal-2-expected.png: Added.
  • platform/mac/fast/dynamic/float-withdrawal-2-expected.txt: Added.
13:16 Changeset [28047] by weinig@apple.com

Cleanup names of painting and repainting functions.

Reviewed by Adam Roben.

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (drawSelectionRect): was drawSelectionRectIntoContext. (dumpWebViewAsPixelsAndCompareWithExpected):
  • DumpRenderTree/cg/PixelDumpSupportCG.h:
  • DumpRenderTree/mac/PixelDumpSupportMac.mm: (paintWebView): was drawWebViewIntoContext. (repaintWebView): was repaintWithVerticalSweep and repaintWithHorizontalSweep.
11:51 Changeset [28046] by alice.liu@apple.com

Reviewed by Jon Honeycutt.

Fall back to the default Policy Delegate in these functions,
as is already done in dispatchDecidePolicyForNavigationAction

  • WebFrame.cpp: (WebFrame::dispatchDecidePolicyForMIMEType): (WebFrame::dispatchDecidePolicyForNewWindowAction): (WebFrame::dispatchUnableToImplementPolicy):
11:47 Changeset [28045] by mitz@apple.com

Reviewed by Dan Bernstein.

  • Leopard build fix
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
11:35 Changeset [28044] by andersca@apple.com

Reviewed by Brady.

Get rid of the WebSecurityOriginPrivate object and store
the WebCore::SecurityOriginData pointer in the _private field of
the WebSecurityOrigin object instead.


  • Storage/WebDatabaseManager.mm: (-[WebDatabaseManager databasesWithOrigin:]): (-[WebDatabaseManager detailsForDatabase:withOrigin:]): (-[WebDatabaseManager deleteDatabasesWithOrigin:]): (-[WebDatabaseManager deleteDatabase:withOrigin:]):
  • Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin initWithProtocol:domain:port:]): (-[WebSecurityOrigin protocol]): (-[WebSecurityOrigin domain]): (-[WebSecurityOrigin port]): (-[WebSecurityOrigin usage]): (-[WebSecurityOrigin quota]): (-[WebSecurityOrigin setQuota:]): (-[WebSecurityOrigin dealloc]): (-[WebSecurityOrigin finalize]): (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]): (-[WebSecurityOrigin _core]):
  • Storage/WebSecurityOriginInternal.h:
11:34 Changeset [28043] by sfalken@apple.com

Build fix.

  • WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
  • WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
  • WebCore.vcproj/migrate-idls.sh:
11:19 Changeset [28042] by weinig@apple.com

Fix for http://bugs.webkit.org/show_bug.cgi?id=16136
Use shared PixelDumpSupport for Mac DRT

Reviewed by Adam Roben.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/PixelDumpSupport.h: Copied from DumpRenderTree/win/PixelDumpSupport.h.
  • DumpRenderTree/cg/ImageDiffCG.cpp:
  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (drawSelectionRectIntoContext): (dumpWebViewAsPixelsAndCompareWithExpected):
  • DumpRenderTree/cg/PixelDumpSupportCG.h:
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • DumpRenderTree/mac/ImageDiff.m: Removed.
  • DumpRenderTree/mac/PixelDumpSupport.h: Removed.
  • DumpRenderTree/mac/PixelDumpSupport.mm: Removed.
  • DumpRenderTree/mac/PixelDumpSupportMac.mm: Copied from DumpRenderTree/mac/PixelDumpSupport.mm. (setDefaultColorProfileToRGB): (getBitmapContextFromWebView): (drawWebViewIntoContext): (repaintWithVerticalSweep): (repaintWithHorizontalSweep): (getSelectionRect):
  • DumpRenderTree/win/PixelDumpSupport.h: Removed.
11:17 Changeset [28041] by beidson@apple.com

Reviewed by Anders (and typo lovingly found by Adam)

Change Databases to be stored in a per-origin directory hierarchy - this will make
storage quotas much easier to enforce

  • platform/SecurityOriginData.cpp: (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':' (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'. '_' still works due to not being allowed in domain names, but also is a valid filename character ' on all filesystems we care about
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize databases by origin
10:40 Changeset [28040] by alp@webkit.org

2007-11-26 Alp Toker <alp@atoker.com>

GTK+/Qt/Wx build fix for breakage introduced in r28039.

  • ForwardingHeaders/JavaScriptCore/JSRetainPtr.h: Added.
09:17 Changeset [28039] by timothy@apple.com

WebCore:

Reviewed by Adam Roben.

Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
http://bugs.webkit.org/show_bug.cgi?id=16137

On Leopard the toolbar background will be transparent, to allow the
window background to show through the transparent WebView. The
search results divs needed to move inside the "main" div, so they
would be clipped and not show where the toolbar is.

  • page/InspectorController.cpp: (WebCore::platform): Return a string for which platform we are. (WebCore::InspectorController::windowScriptObjectAvailable): Define the platform function on the JavaScript class.
  • page/inspector/Panel.js: Add panels to the panels div.
  • page/inspector/inspector.css: On the Leopard platform make the toolbar background transparent so the window background shows.
  • page/inspector/inspector.html: Add a panels div and move search result divs inside the main div.
  • page/inspector/inspector.js: Tweak the resize code to acount for the search results divs moving inside the main div.

WebKit/mac:

Reviewed by Adam Roben.

Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
http://bugs.webkit.org/show_bug.cgi?id=16137

Create the Web Inspector window with the textured style. Set the content border
thickness for the top of the window or the height of the toolbar. Also make the
window's bottom corners square, since a normal textured window normally has
rounded bottom corners.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController window]):

WebKitLibraries:

Reviewed by Adam Roben.

Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
http://bugs.webkit.org/show_bug.cgi?id=16137

Add a new function to make bottom window corners square for textured windows.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceTiger.a:
  • libWebKitSystemInterfaceLeopard.a:

11/25/07:

23:29 Changeset [28038] by aroben@apple.com

Fix a leak pointed out by Alexey

  • WebView.cpp: (getUpdateRects): Use a Vector<unsigned char>, since OwnPtr doesn't know to call delete[].
23:06 Changeset [28037] by ddkilzer@apple.com

Bug 16052: prepare-ChangeLog doesn't report deleted files
<http://bugs.webkit.org/show_bug.cgi?id=16052>

Reviewed by Sam.

  • Scripts/prepare-ChangeLog: Fixed logic that checks for removed files.
23:02 Changeset [28036] by aroben@apple.com

Fix Bug 16138: Reduce code duplication in WebView.cpp

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

Reviewed by Sam.

  • WebView.cpp: (getUpdateRects): Factored code out of updateBackingStore and paint into this new helper function. (WebView::updateBackingStore): Use getUpdateRects. (WebView::paint): Ditto. (WebView::paintIntoBackingStore): Changed to take a const IntRect&. (WebView::paintIntoWindow): Ditto.
  • WebView.h:
22:00 Changeset [28035] by ddkilzer@apple.com

Bug 15864: Replace merge-changelog with resolve-ChangeLogs
<http://bugs.webkit.org/show_bug.cgi?id=15864>

Reviewed by Adam.

Roll functionality of merge-changelog into resolve-ChangeLogs
script. The script now checks for ChangeLog.rej and
ChangeLog.orig files first. If it finds them, it uses the
ChangeLog.rej file as a patch (in old contextual diff format) to
apply with --fuzz=3.

  • Scripts/merge-changelog: Removed.
  • Scripts/resolve-ChangeLogs: Handle traditional rejected patches.
21:26 Changeset [28034] by aroben@apple.com
  • platform/win/Skipped: Add a known failure.
21:25 Changeset [28033] by aroben@apple.com
  • platform/win/Skipped: Remove an unnecessary entry.
20:16 Changeset [28032] by weinig@apple.com

Add .xcconfig files for the ImageDiff and TestNetscapePlugIn targets of the DumpRenderTree.

Reviewed by Mark Rowe.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
  • DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Added.
  • DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: Added.
19:52 Changeset [28031] by weinig@apple.com

Convert DumpRenderTree to ues .xcconfig files.

Reviewed by Mark Rowe.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/Configurations: Added.
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Added.
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Added.
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Added.
18:54 Changeset [28030] by weinig@apple.com

Add ForwardingHeaders to wtf for DumpRenderTree.

Reviewed by Mark Rowe.

  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/ForwardingHeaders: Added.
  • DumpRenderTree/ForwardingHeaders/wtf: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/Assertions.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/Noncopyable.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/OwnPtr.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/Platform.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/RetainPtr.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/StringExtras.h: Added.
  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/WorkQueue.cpp:
  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/FrameLoadDelegate.mm:
  • DumpRenderTree/mac/JavaScriptThreading.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/mac/ObjCController.m:
  • DumpRenderTree/mac/UIDelegate.mm:
  • DumpRenderTree/mac/WorkQueueItemMac.mm:
18:37 Changeset [28029] by mrowe@apple.com

2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Maciej Stachowiak.

Remove the unneeded CFNETWORK #ifdefs.

  • loader/NetscapePlugInStreamLoader.h:
18:12 Changeset [28028] by mrowe@apple.com

2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>

Reviewed by Sam Weinig.

Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.

  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizer.h:
  • platform/DeprecatedString.h:
  • platform/PlatformString.h:
18:12 Changeset [28027] by mrowe@apple.com

2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>

Reviewed by Maciej Stachowiak.

Fix minor compiler warning (GCC 4.1.3)

  • pcre/pcre_internal.h:
  • pcre/pcre_ucp_searchfuncs.cpp: (_pcre_ucp_othercase):
17:53 Changeset [28026] by aroben@apple.com

Fix some test failures caused by r28019

Now that stdout is in binary mode, we need to always use printf
instead of wprintf. Otherwise we'll end up with UTF-16 characters in
the output.

Reviewed by Sam.

  • DumpRenderTree/win/UIDelegate.cpp: Replaced uses of wprintf with printf. (UIDelegate::runJavaScriptAlertPanelWithMessage): (UIDelegate::runJavaScriptConfirmPanelWithMessage): (UIDelegate::runJavaScriptTextInputPanelWithPrompt): (UIDelegate::webViewAddMessageToConsole):
17:06 Changeset [28025] by mitz@apple.com

Reviewed by Adam Roben.

  • fix off-center error images

Covered by many pixel tests with missing images

  • rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Account for the 1 pixel outline when positioning the error image.
16:13 Changeset [28024] by aroben@apple.com

Set the font smoothing preference in DRT

This makes the pixel results on Windows closer to the Mac results.

Reviewed by Mitz.

  • DumpRenderTree/win/DumpRenderTree.cpp: (initializePreferences):
16:03 Changeset [28023] by aroben@apple.com

Fix Bug 16133: Implement pixel test support on Windows

WebKit/win:

Add ImageDiff.vcproj to WebKit.sln

Reviewed by Sam.

  • WebKit.vcproj/WebKit.sln:

WebKitTools:

Port ImageDiff to CG and C++

Final part of http://bugs.webkit.org/show_bug.cgi?id=16133
<rdar://5071708>

Reviewed by Sam.

  • DumpRenderTree/DumpRenderTree.sln: Added ImageDiff.vcproj.
  • DumpRenderTree/cg/ImageDiffCG.cpp: Added. (main): (createImageFromStdin): (compareImages): (getDifferenceBitmap): (computePercentageDifferent):
  • DumpRenderTree/win/ImageDiff.vcproj: Added.
16:03 Changeset [28022] by aroben@apple.com

Fix image diff link generation on Windows

Reviewed by Sam.

  • Scripts/run-webkit-tests: Removed unnecessary and incorrect calls to toURL.
16:02 Changeset [28021] by aroben@apple.com

Implement pixel dumping in Windows DRT

Part of http://bugs.webkit.org/show_bug.cgi?id=16133
<rdar://5071708>

Reviewed by Sam.

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: Added. (printPNG): Dumps a CGImageRef as a PNG to stdout, along with a Content-Length header. (getMD5HashStringForBitmap): (dumpWebViewAsPixelsAndCompareWithExpected):
  • DumpRenderTree/cg/PixelDumpSupportCG.h: Copied from WebKitTools/DumpRenderTree/mac/DumpRenderTreePasteboard.h.
  • DumpRenderTree/win/DumpRenderTree.cpp: (dump): Do a pixel dump if requested. (main): Parse pixel test options.
  • DumpRenderTree/win/DumpRenderTree.vcproj: Added new files and added the cg/ subdirectory to the include path.
  • DumpRenderTree/win/MD5.cpp: Added. Windows MD5 functions aren't available in a header or import library, so we have to go through this LoadLibrary/GetProcAddress dance to use them. (cryptDLL): (init): (update): (final): (MD5_Init): (MD5_Update): (MD5_Final):
  • DumpRenderTree/win/MD5.h: Added.
  • DumpRenderTree/win/PixelDumpSupport.h: Added. This file should be moved up to the top level to share it with Mac eventually.
  • DumpRenderTree/win/PixelDumpSupportWin.cpp: Added. (getBitmapContextFromWebView): Forces the WebView to paint using a WM_PRINTCLIENT message, and puts the result in a CGBitmapContext.
16:02 Changeset [28020] by aroben@apple.com

Clean up Windows DRT's option parsing a little bit

Reviewed by Sam.

  • DumpRenderTree/win/DumpRenderTree.cpp: (main): Put non-option arguments into a Vector.
16:01 Changeset [28019] by aroben@apple.com

Make Windows DRT stop changing LF into CRLF

Reviewed by Sam.

  • DumpRenderTree/win/DumpRenderTree.cpp: (main): Put stdout in binary mode.
  • Scripts/run-webkit-tests: Remove the CRLF hack.
14:14 Changeset [28018] by mrowe@apple.com

Fix bug 16129: REGRESSION (r27761-r27811): malloc error while visiting http://mysit.es (crashes release build)

  • pcre/pcre_compile.cpp: Change errorcode to be passed by reference so that any error code is propagated

to our caller like they expect.

Reviewed by Dan Bernstein.

13:16 Changeset [28017] by kevino@webkit.org

wx build fixes for Linux/GTK+ port.

05:06 Changeset [28016] by zimmermann@webkit.org

Fix wrong bug number in ChangeLog. Not reviewed.

05:04 Changeset [28015] by zimmermann@webkit.org

Reviewed by Adam Roben.

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

Fix problems with hidden glyphs. They were taken into account for quite
some operations (hit testing, length calulcations etc..) except painting.
Especially fixes boundaries of <textPath> (see using Web Inspector) if
text-anchor isn't equal to 'start'.

Added testcase:
svg/text/textPathBoundsBug.svg

Fixed testcase: (all showed text selection problems on text paths)
svg/batik/text/textGlyphOrientationHorizontal.svg
svg/batik/text/textOnPath.svg
svg/batik/text/textOnPath3.svg
svg/batik/text/verticalTextOnPath.svg
svg/text/text-align-04-b.svg
svg/W3C-SVG-1.1/text-align-04-b.svg

01:45 Changeset [28014] by ap@webkit.org

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=15919
XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end

Test: fast/xsl/extra-lf-at-end.html

  • xml/XSLTProcessor.cpp: (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend(). (WebCore::saveResultToString): Remove trailing line feed if present.
00:48 Changeset [28013] by alp@webkit.org

2007-11-24 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15691
[GTK] Public API does not follow GTK+ conventions

Public API enhancements:

Implement webkit_page_get_editable() and webkit_page_set_editable().

Implement webkit_frame_get_name().

Remove definitions for functions that are unusable or not implemented.
This has caused much confusion for application developers.

Improve documentation.

Correct/constify some return types.

Add parameter checks.

Make the default fixed font "Courier New" to match the other Web
font names.

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframe.h:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.h:
  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::isEditable):

11/24/07:

23:15 Changeset [28012] by ddkilzer@apple.com

Added tests for select.options.remove(boolean).

Reviewed by Maciej.

  • fast/js/resources/select-options-add.js: Added two tests.
  • fast/js/select-options-add-expected.txt: Updated results.
19:39 Changeset [28011] by alp@webkit.org

2007-11-24 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=16125
[GTK] Up key doesn't work properly when content is editable

Add a missing 'break' to avoid falling through to the next case when
handling VK_UP keystrokes. This was noticed when working on editing
support in the GTK+ port.

I've checked the other cases for similar typos and they seem fine.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeypress):
19:13 Changeset [28010] by ddkilzer@apple.com

2007-11-24 David Kilzer <ddkilzer@webkit.org>

Removed empty directory.

  • Scripts/resources: Removed.
18:53 Changeset [28009] by alp@webkit.org

2007-11-24 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=15745
[GTK] Arrow keys do not Scroll


  • Api/webkitgtkpage.cpp:

Support Up/Down/Right/Left keys to scroll. Slight hack, see FIXME for
details.

17:23 Changeset [28008] by alp@webkit.org

2007-11-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=15891
[GTK] Javascript console and dialogs are not implemented

Fix call to gtk_message_dialog_new() which expects a format string.

  • Api/webkitgtkpage.cpp:
16:23 HackingGtk edited by alp@atoker.com
Mention the build bots (diff)
15:56 Changeset [28007] by mrowe@apple.com

Tiger build fix.

Use WebCFAutorelease in place of NSMakeCollectable then autorelease as this also works on Tiger.

15:48 Changeset [28006] by mrowe@apple.com

Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
http://bugs.webkit.org/show_bug.cgi?id=13705

Reviewed by Tim Hatcher.

Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
dumping the data to disk in a single go when the stream has completed loading. On a test case
involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
on page load from around 400MB to 22MB.

The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.

15:43 Changeset [28005] by aroben@apple.com

Get rid of WebCoreSystemInterface on Windows

WebCore:

Get rid of WebCoreSystemInterface on Windows

The one function defined in that file is now in WebKitSystemInterface.

Reviewed by Tim.

  • WebCore.vcproj/WebCore.vcproj: Removed WebCoreSystemInterface.{cpp,h}.
  • platform/graphics/cg/ImageCG.cpp: Made #include of WebCoreSystemInterface.h Mac-only.
  • platform/win/GraphicsContextWin.cpp: Ditto.
  • platform/win/WebCoreSystemInterface.cpp: Removed.
  • platform/win/WebCoreSystemInterface.h: Removed.

WebKitLibraries:

Add wkSetPatternPhaseInUserSpace to WebKitSystemInterface on Windows

Reviewed by Tim.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Added declaration.
  • win/lib/WebKitSystemInterface.lib: Updated.
  • win/lib/WebKitSystemInterface_debug.lib: Updated.
15:33 Changeset [28004] by aroben@apple.com

Replace uses of %@ with %s in the inspector

Rubberstamped by Tim.

  • English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
  • page/inspector/DatabasePanel.js: Ditto.
  • page/inspector/StylesSidebarPane.js: Ditto.
  • page/inspector/inspector.js: Ditto.
  • page/inspector/utilities.js: (String.vsprintf): Removed @ as a format specifier.
15:32 Changeset [28003] by aroben@apple.com

Windows build fix

Turn off the change made in r27984 on Windows for now.

  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
  • xml/XSLTUnicodeSort.cpp:
14:35 Changeset [28002] by timothy@apple.com

Reviewed by Adam Roben.

Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
addEventListener and setTimeout
http://bugs.webkit.org/show_bug.cgi?id=16121

Add Function.prototype.bind. This helper will return a wrapper function
that will call the original function with the supplied arguments
and using the supplied 'this' object.

  • page/inspector/Database.js: Remove a use of setTimeout by inheriting some common functions from Resource.
  • page/inspector/DatabasePanel.js: Use the new bind function.
  • page/inspector/ConsolePanel.js: Ditto.
  • page/inspector/DocumentPanel.js: Ditto.
  • page/inspector/NetworkPanel.js: Ditto.
  • page/inspector/PropertiesSection.js: Ditto.
  • page/inspector/Resource.js: Ditto.
  • page/inspector/SidebarPane.js: Ditto.
  • page/inspector/inspector.html: Moved Database.js after Resource.js, now that Database.js uses it.
  • page/inspector/inspector.js: Use the new bind function. Also removed a setTimeout used for the localized strings code. There is now a load event listener added to the localized strings script element that will call WebInspector.loaded.
  • page/inspector/utilities.js: Add Function.prototype.bind.
14:20 Changeset [28001] by timothy@apple.com

Add missing strings.

13:52 Changeset [28000] by alp@webkit.org

2007-11-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=15793
[GTK] Webkit doesn't show title attribute tooltip when hovering over an image

Implement tooltip support using the new Tooltip API.

Support for older versions of GTK+ is still lacking.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::setToolTip):
11:18 Changeset [27999] by timothy@apple.com

Reviewed by Adam Roben.

Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
http://bugs.webkit.org/show_bug.cgi?id=16112

In the places where we use offsetWidth and offsetHeight before
the stylesheet loads there is now a check. If the body's
offsetWidth is not greater than zero, then set a timeout
to do the updates requiring the stylesheet later.

The three places this happened:

  • DOM tree selection highlight would show up at the wrong height when using Inspect Element to open the inspector.
  • DOM tree breadcrumbs would not collapse when using Inspect Element to open the inspector.
  • Network Timeline divider lines would not show when opening directly into the timeline.
  • page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
  • page/inspector/NetworkPanel.js: Ditto.
  • page/inspector/inspector.html: Include the stylesheet before any scripts, this will help get it loaded sooner.
10:18 Changeset [27998] by kevino@webkit.org

Add wx implementation for pathGetFilename

Reviewed by David D. Kilzer.

Note: See TracTimeline for information about the timeline view.