Timeline


and

03/10/08:

23:28 Changeset [30953] by darin@apple.com
  • Windows build fix
  • kjs/function.cpp: (KJS::decode): Initialize variable.
21:42 Changeset [30952] by justin.garcia@apple.com

WebCore:

Reviewed by Sam.

<rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::hasCSSPropertyNamePrefix): Fixed a typo. The code was only comparing the first character of the prefix to the first character of the property name.

LayoutTests:

Reviewed by Sam.


<rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog

  • editing/pasteboard/5780697-2-expected.txt: Added.
  • editing/pasteboard/5780697-2.html: Added.
  • editing/selection/5779984-1-expected.txt: Added.
  • editing/selection/5779984-1.html: Added.
20:40 Changeset [30951] by bdakin@apple.com

Reviewed by Beth.

Hold off on initializing the frame to avoid the RenderView getting
a null FrameView. This could potentially cause problems.

  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged):
17:48 Changeset [30950] by darin@apple.com
  • try to fix Qt build
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
17:45 Changeset [30949] by darin@apple.com

Reviewed by Antti.

We now mark all links on a page as "changed" at the appropriate times.

  • WebCore.base.exp: Update since I made completeURL be a const member function.
  • css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned into locals. Also changed some static data members to file-scoped globals with internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the prefix on m_styleNotYetAvailable to s_styleNotYetAvailable. (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes. (WebCore::parseUASheet): Tweak the comment. (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to use local variables instead of globals where possible. (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so it can store the link in a hash. Also changed it to have a return value instead of having it modify a global variable. Added code to put the hash into a set so we can tell later if this is one of the links that affects this page. (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to checkPseudoState. (WebCore::CSSStyleSelector::matchUARules): Updated for name changes. (WebCore::CSSStyleSelector::styleForElement): Ditto. (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read the SVG style sheet to use a boolean global and put it right here in the function since this is the only code that needs to know about it. (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes. (WebCore::colorForCSSValue): Moved code inside the function that is not needed anywhere else. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change to checkPseudoState. (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on all links if there were any in the set. (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all links if the one that changed is in the set.
  • css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made CSSStyleSelector derive from Noncopyable. Made lots of member functions private that didn't need to be public, and removed others that could be made into non-member functions. Changed pseudoStyleRulesForElement to take a const String& instead of a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions. Got rid of unneeded friend declarations.
  • dom/Document.cpp: (WebCore::Document::completeURL): Made const. (WebCore::findSlashDotDotSlash): Moved here from PageGroup. (WebCore::findSlashSlash): Ditto. (WebCore::findSlashDotSlash): Ditto. (WebCore::containsColonSlashSlash): (WebCore::cleanPath): Ditto. (WebCore::matchLetter): Ditto. (WebCore::needsTrailingSlash): Ditto. (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is the poor-man's completeURL function. The idea of putting it here is that this way it can be alongside the real completeURL function. Later we should figure out a way to make this function share more code with the real thing and match behavior.
  • dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
  • page/Page.cpp: (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all style selectors. (WebCore::Page::visitedStateChanged): Ditto.
  • page/Page.h: Added the above functions.
  • page/PageGroup.cpp: (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter. The CSSStyleSelector now handles actually computing the hash, and it does so by calling code in Document. (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share a bit more code. Added code that calls visitedStateChanged if a new link was added. (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged if any visited links are removed.
  • page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct definition here.
  • platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with the StringImpl::computeHash function, using the same technique for avoiding 0. (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h. (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead of getting directly at a data member so the data member could be made private.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll. (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
  • loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
17:36 Changeset [30948] by eric@webkit.org

No review, build fix only.

Speculative fix for Windows build, use ::UChar instead of KJS::UChar

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::valueForVariable): (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
17:14 Changeset [30947] by aroben@apple.com

Part of Bug 17224: DOM nodes/attributes should be editable

<http://bugs.webkit.org/show_bug.cgi?id=17224>
<rdar://problem/5732825>

This patch makes DOM attributes editable via double-click.

Reviewed by Tim.

  • page/inspector/DocumentPanel.js: (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if we're being edited, since we want default editing behaviors to work. (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing before doing anything else. (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only lets you edit attributes. (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added. Uses a scratch element to get the new attribute(s) parsed, then sets the attribute(s) on the node in the inspected document. (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added. (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the representation of the node in the Inspector's DOM tree to reflect the node's current state.
  • page/inspector/inspector.css: Made the .editing class apply everywhere.
  • page/inspector/utilities.js: (nodeTitleInfo): Changed to surround attribute name/value pairs in a webkit-html-attribute span so that we can easily edit the pair as a whole.
16:39 Changeset [30946] by aroben@apple.com

2008-03-10 Brent Fulgham <bfulgham@gmail.com>

Windows build fix

Reviewed by Adam.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Set the PATH to include Cygwin before running touch.
16:02 Changeset [30945] by ddkilzer@apple.com

Fix 64-bit builds.

Reviewed by Stephanie.

WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
so we must exclude the _NPN symbols when creating WebCore.LP64.exp.

  • WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
15:57 Changeset [30944] by eric@webkit.org

Reviewed by NOBODY.

Build fix for JSC on windows.

  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString):
  • kjs/function.cpp: (KJS::decode):
  • kjs/nodes2string.cpp: (KJS::escapeStringForPrettyPrinting):
15:44 Changeset [30943] by eric@webkit.org

No review, build fix only.

Attempt to fix the windows build?

  • kjs/ustring.h: change unsigned short to UChar
15:06 Changeset [30942] by eric@webkit.org

Reviewed by Darin.

Remove KJS::UChar, use ::UChar instead
http://bugs.webkit.org/show_bug.cgi?id=17017

To functional changes, thus no tests.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::hasCSSPropertyNamePrefix): (WebCore::cssPropertyName):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA):
  • bindings/js/JSSVGPODTypeWrapper.h:
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
  • bridge/objc/objc_utility.mm: (KJS::Bindings::throwError):
  • dom/Document.cpp: (WebCore::Document::parseQualifiedName):
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
  • platform/text/String.cpp: (WebCore::String::String): (WebCore::String::operator Identifier): (WebCore::String::operator UString):
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode):
  • svg/SVGAnimatedTemplate.h:
11:58 Changeset [30941] by sfalken@apple.com

Fix build break caused by r30920.


Serialize remaining dependent builds by adding dependencies.
Visual Studio per-vcproj parallelization doesn't add a lot of value
since so many of our builds are dependent - this just enforces that.
We do our parallelization via pdevenv, which works much better.

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.submit.sln:
11:25 Changeset [30940] by alp@webkit.org

2008-03-10 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

Fix "missing braces" compiler warning.

  • webkit/webkitwebview.cpp:
10:37 Changeset [30939] by darin@apple.com

WebCore:

Reviewed by Sam.

  • eliminate keyboard UI mode method from WebCoreFrameBridge
  • page/ChromeClient.h: Added keyboardUIMode function. (WebCore::ChromeClient::keyboardUIMode): Ditto.
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead of bridge function.
  • page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused ones.
  • WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project. Do not try to fight the Xcode.

WebKit/mac:

Reviewed by Sam.

  • eliminate keyboard UI mode method from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
  • WebCoreSupport/WebFrameBridge.h: Removed unused things, including the fields for keyboard UI mode.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini method. (-[WebFrameBridge finalize]): Ditto.
  • WebView/WebView.mm: Moved the keyboard mode code in here. (-[WebView _close]): Remove observer from the distributed notification center as well as the normal one. (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved here from the bridge. (-[WebView _keyboardUIMode]): Ditto.
  • WebView/WebViewInternal.h: Added _keyboardUIMode method.
10:36 Changeset [30938] by weinig@apple.com

Reviewed by Beth Dakin.

Add Tiger specific results for toDataURL-supportedTypes.html as the image
encoders have slightly changed between releases.

  • platform/mac-tiger/fast/canvas: Added.
  • platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
10:29 Changeset [30937] by darin@apple.com
  • oops, forgot to save last couple changes from the editor
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): Tweaked a tiny bit. (WebCore::JSDOMWindow::mark): Sorted alphabetically.
10:26 Changeset [30936] by darin@apple.com

Reviewed by Geoff.

  • fix failing regression test (window.navigator is getting garbage collected and thus losing its custom properties)
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObject): Added helper function. (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang off the window object.
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without creating it if it's already there. (WebCore::DOMWindow::optionalSelection): Ditto. (WebCore::DOMWindow::optionalHistory): Ditto. (WebCore::DOMWindow::optionalLocationbar): Ditto. (WebCore::DOMWindow::optionalMenubar): Ditto. (WebCore::DOMWindow::optionalPersonalbar): Ditto. (WebCore::DOMWindow::optionalScrollbars): Ditto. (WebCore::DOMWindow::optionalStatusbar): Ditto. (WebCore::DOMWindow::optionalToolbar): Ditto. (WebCore::DOMWindow::optionalConsole): Ditto. (WebCore::DOMWindow::optionalNavigator): Ditto.
  • page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in alphabetical order since there are a lot of them.
10:01 Changeset [30935] by darin@apple.com

WebCore:

Reviewed by Sam.

  • eliminate Java applet methods from WebCoreFrameBridge
  • loader/FrameLoaderClient.h: Added a javaApplet function.
  • page/mac/FrameMac.mm: (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code. Use the loader client instead of the bridge to get the applet.
  • page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and pollForAppletInView methods. Also removed other unused things.

WebKit/mac:

Reviewed by Sam.

  • eliminate Java applet methods from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
  • WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including the ones that load Java applets.
  • WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
  • WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
09:33 Changeset [30934] by darin@apple.com

Reviewed and landed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17581
Bug 17581: Use of uninitialized value in string ne at WebKitTools/Scripts/run-webkit-tests line 1576.

Remove the previous warning which occurs when the --random option is used.

  • Scripts/run-webkit-tests: verify that $component[0] is defined before checking for its inequality
09:28 Changeset [30933] by darin@apple.com

Reviewed by Eric, landed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=16095
Move GraphicsContextPrivate to its own header file.

Moves GraphicsContextState and GraphicsContextPrivate to its
own header

  • WebCore.vcproj/WebCore.vcproj:
  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/GraphicsContextPrivate.h: Added. (WebCore::GraphicsContextState::GraphicsContextState): (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
09:25 Changeset [30932] by darin@apple.com

WebCore:

Reviewed and landed by Darin.

bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.

  • bindings/js/kjs_binding.cpp: (WebCore::setDOMException): Removed PERMISSION_DENIED code.
  • dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
  • dom/ExceptionCode.h: Ditto.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
  • xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.

LayoutTests:

Reviewed and landed by Darin.

bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

  • http/tests/xmlhttprequest/exceptions-expected.txt: Updated results
09:17 Changeset [30931] by aroben@apple.com

Refactor CSS editing code so we can share it with DOM editing

Add WebInspector.startEditing, which takes the element to be edited, a
committedCallback, a cancelledCallback, and a context parameter. This
function takes care of setting up the element for editing, and calls
either the cancelledCallback or committedCallback when editing ends.

Reviewed by Tim.

(WebInspector.StylePropertyTreeElement.editingEnded):

  • Renamed from endEditing
  • Removed code now handled by WebInspector.startEditing

(WebInspector.StylePropertyTreeElement.editingCancelled):

  • Renamed from cancelEditing
  • Changed parameters to match WebInspector.startEditing's cancelledCallback

(WebInspector.StylePropertyTreeElement.editingCommitted):

  • Renamed from commitEditing
  • Changed parameters to match WebInspector.startEditing's committedCallback
  • page/inspector/inspector.js: (WebInspector.changeFocus): Changed a call to firstParentWithClassName to firstParentOrSelfWithClassName so that if the focusable element itself is the target it will be recognized. I don't know why this change wasn't needed before this. (WebInspector.isBeingEdited): Added. (WebInspector.startEditing): Added.
09:17 Changeset [30930] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of $(WebKitOutputDir) instead of hard-coding WebKitBuild.
09:15 Changeset [30929] by darin@apple.com
  • DerivedSources.make: Merge plug-in-related changes with the new way of handling autogenerated DOM classes.
08:38 Changeset [30928] by ap@webkit.org

Reviewed, tweaked and landed by Alexey.

We didn't have a fallback to frame encoding in the case of loading a script via
changing its src attribute.

Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html

  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper charset for correct decoding of script content. (WebCore::HTMLScriptElement::insertedIntoDocument): (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset for the script (as much as can be determined prior to loading it).
  • html/HTMLScriptElement.h:
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct decoding of script content.
06:59 Changeset [30927] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Lars.

Fix reference counting of returned MimeType and Plugin objects
created in the array wrappers.

05:29 Changeset [30926] by hausmann@webkit.org

Wx linking fix.

Added missing stubs for PluginData.

05:20 Changeset [30925] by hausmann@webkit.org

Windows build fix that I forgot to merge earlier ;(

Forward declare Page as class, not struct.

05:09 Changeset [30924] by hausmann@webkit.org

Attempt to fix the Wx build.

04:52 Changeset [30923] by hausmann@webkit.org

2008-03-07 Simon Hausmann <hausmann@webkit.org>

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

Reviewed by Darin.

Done with Lars.

WebCore:

Ported the manually written JS bindings of window.navigator,
window.navigator.plugins and window.navigator.mimeTypes to
auto-generated bindings.

Moved the globally cached plugin and mimetype information to a
per WebCore::Page shared PluginData structure.

Implemented window.navigator.plugins.refresh() in a
platform-independent way.

LayoutTests:

Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815

WebKit/qt:

Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.

WebKit/mac:

Simplified WebViewFactory's refreshPlugins method to only refresh the
plugins and not reload the frames anymore since that's now done in a
platform independent manner by WebCore::Page.

Also removed the now unused pluginNameForMIMEType and
pluginSupportsMIMEType methods.

WebKitTools/DumpRenderTree/qt:

Ported the netscape test plugin to QWebPluginFactory.

04:29 Changeset [30922] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Replace two printfs() in the Qt port with notImplemented().

04:23 Changeset [30921] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Alp.

Compilation fix with gcc 4.3: Include stdio.h for printf.

03/09/08:

22:35 Changeset [30920] by sfalken@apple.com

JavaScriptCore:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

WebCore:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreGenerated.vcproj:

WebKit/win:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/InterfacesGenerated.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:

WebKitTools:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • Drosera/win/Drosera.vcproj/Drosera.vcproj:
  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
20:10 Changeset [30919] by darin@apple.com
  • DerivedSources.make: Third try at fixing the build.
  • bindings/js/JSRGBColor.cpp: And touching this file.
20:03 Changeset [30918] by darin@apple.com
  • DerivedSources.make: One *more* try at fixing the build.
19:58 Changeset [30917] by darin@apple.com
  • DerivedSources.make: One more try at fixing the build.
19:53 Changeset [30916] by darin@apple.com
  • DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the bots by removing the incorrect file.
19:44 Changeset [30915] by alp@webkit.org

2008-03-09 Alp Toker <alp@atoker.com>

GTK+ build fix for r30913.

Use UNICODE_CFLAGS for C++ sources as well as C sources.

  • GNUmakefile.am:
17:49 Changeset [30914] by oliver@apple.com

Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)

RS=Mark Rowe

17:49 Changeset [30913] by alp@webkit.org

2008-03-09 J?rg Billeter <j@bitron.ch>

Reviewed by Alp Toker.

Conditionalise ICU for Unicode in the GTK+ port.

16:01 Changeset [30912] by aroben@apple.com

Make WebInspectorClient use WindowMessageBroadcaster instead of manual subclassing

Reviewed by Darin.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::WebInspectorClient): Removed m_orignalWebViewWndProc member. (WebInspectorClient::attachWindow): Register as a listener with WindowMessageBroadcaster instead of subclassing. (WebInspectorClient::detachWindow): Deregister as a listener with WindowMessageBroadcaster instead of unsubclassing. (WebInspectorClient::windowReceivedMessage): Renamed from SubclassedWebViewWndProc. Also added a missing break statement after the call to onWebViewWindowPosChanging.
  • WebCoreSupport/WebInspectorClient.h:
16:01 Changeset [30911] by aroben@apple.com

Make the node highlight not obscure the tab bar when it first appears

Reviewed by Darin.

  • WebNodeHighlight.cpp: (WebNodeHighlight::onWebViewWindowPosChanged): Added. Listens for changes to the WebView's size and resizes the highlight window to match. (WebNodeHighlight::onRootWindowPosChanged): Added. Listens for changes to the WebView's root window's position and moves the highlight window to match. (WebNodeHighlight::windowReceivedMessage): Call onWebViewWindowPosChanged/onRootWindowPosChanged as appropriate.
  • WebNodeHighlight.h:
16:00 Changeset [30910] by aroben@apple.com

Fix Bug 14254: Inspector node highlight applied to all tabs

<http://bugs.webkit.org/show_bug.cgi?id=14254>
<rdar://problem/5322306>

WebNodeHighlight now listens for the WM_SHOWWINDOW message being sent
to the inspected WebView so that it can hide/show itself as the
WebView is hidden/shown.

Reviewed by Anders.

  • WebNodeHighlight.cpp: (WebNodeHighlight::~WebNodeHighlight): Remove ourselves as a listener for our inspected WebView's window's messages. (WebNodeHighlight::show): Add ourselves as a listener for our inspected WebView's window's messages. (WebNodeHighlight::onWebViewShowWindow): Added. Hide ourselves when the WebView hides, show ourselves when the WebView is shown. (WebNodeHighlight::windowReceivedMessage): Added a separate switch statement to handle the inspected WebView's window's messages.
  • WebNodeHighlight.h:
13:36 Changeset [30909] by darin@apple.com

Reviewed by Adam.

  • DerivedSources.make: Put the list of DOM classes into its own variable, and generate the JavaScript bindings and Objective-C bindings dependencies from that. Added some separators to make it a little easier to see the sections of the file. Moved all the Mac-specific rules (except for the SVG conditional part) down to the bottom of the file in a separate section.
11:06 ProposedWebInspectorUIRefresh edited by aroben@apple.com
Added a section about the Scripts view with a new mockup from Tim (diff)
11:05 New Inspector - Scripts.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Scripts view
10:47 Changeset [30908] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are excluded from all three CG-based configurations: Debug, Release, and Debug_Internal.

03/08/08:

23:59 Changeset [30907] by darin@apple.com

Fix stray executable bit.

23:00 Changeset [30906] by mrowe@apple.com

Attempt to fix the Qt build.

22:48 Changeset [30905] by oliver@apple.com

Bug 16516: canvas image patterns stop working with some transformations

Reviewed by Sam W.

Simple fix. We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
with CG. However any transforms involving FLT_MAX immediately get
consumed by the introduced floating point error. yStep had already been
clamped to a much smaller arbitrary value, and this patch makes us use
that clamp value for xStep as well.

18:39 Changeset [30904] by oliver@apple.com

Bug 17728: Canvas.createPattern with null repeat argument throws an exception

Reviewed by Mitz

Trivial fix, we were calling toString on null which produces the string "null",
we just needed to switch to using valueToStringWithNullCheck rather than
JSValue::toString directly

Test: fast/canvas/canvas-pattern-behaviour.html

17:57 Changeset [30903] by mrowe@apple.com

2008-03-08 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Mark Rowe.

DRT build fix for Tiger.

  • DumpRenderTree/mac/DumpRenderTreeMac.h: Define BUILDING_ON_TIGER.
17:57 Changeset [30902] by mrowe@apple.com

2008-03-08 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

  • bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
  • platform/mac/SharedBufferMac.mm: Ditto.

2008-03-08 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

  • DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
  • DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
  • History/WebHistoryItem.mm: Ditto.
  • Misc/WebElementDictionary.mm: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the variable being unused in 64-bit.
  • WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
  • WebView/WebHTMLView.mm: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required. (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
15:10 Changeset [30901] by mitz@apple.com

Reviewed by Oliver Hunt.

  • fix garbage in transparent areas in canvas.toDataURL results
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before painting the canvas image onto it.
06:09 Changeset [30900] by darin@apple.com

WebCore:

Reviewed by Adele.

  • eliminate custom highlight methods from WebCoreFrameBridge
  • page/Chrome.cpp: (WebCore::ChromeClient::customHighlightRect): Added. (WebCore::ChromeClient::paintCustomHighlight): Added.
  • page/ChromeClient.h: Added custom highlight functions.
  • page/Frame.h: Removed custom highlight functions.
  • page/mac/FrameMac.mm: Ditto.
  • page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintCustomHighlight): Ditto.
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow): Ditto. (WebCore::RootInlineBox::paintCustomHighlight): Ditto.

WebKit/mac:

Reviewed by Adele.

  • eliminate custom highlight methods from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::customHighlightRect): Moved code here from bridge. (WebChromeClient::paintCustomHighlight): Ditto.
  • WebCoreSupport/WebFrameBridge.mm: Removed code here.
06:05 Changeset [30899] by darin@apple.com
  • platform/win/Skipped: Fixed some typos (stray "s" characters).
00:09 Changeset [30898] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver.

Fix Windows build.

  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::toDataURL):

03/07/08:

23:54 Changeset [30897] by ddkilzer@apple.com

JavaScriptCore:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

  • wtf/Platform.h: Define ENABLE_NETSCAPE_PLUGIN_API here.

WebCore:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

No test cases since there is no change in functionality.

  • DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro. If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
  • WebCore.NPAPI.exp: Added.
  • WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
  • WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except comments) since we now handle exported NPAPI methods via DerivedSources.make.
  • config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
  • bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (-[DOMElement _NPObject]):
bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN)
!defined(LP64) with

ENABLE(NETSCAPE_PLUGIN_API).

  • bridge/NP_jsobject.h: Ditto.
  • bridge/c/c_class.cpp: Ditto.
  • bridge/c/c_class.h: Ditto.
  • bridge/c/c_instance.cpp: Ditto.
  • bridge/c/c_instance.h: Ditto.
  • bridge/c/c_runtime.cpp: Ditto.
  • bridge/c/c_runtime.h: Ditto.
  • bridge/c/c_utility.cpp: Ditto.
  • bridge/c/c_utility.h: Ditto.
  • bridge/npruntime.cpp: Ditto.
  • bridge/npruntime_impl.h: Ditto.
  • bridge/npruntime_priv.h: Ditto.
  • bridge/runtime.cpp: Ditto. (KJS::Bindings::Instance::createBindingForLanguageInstance):
  • html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::HTMLPlugInElement::HTMLPlugInElement): (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
  • html/HTMLPlugInElement.h: Ditto.
  • page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::Frame::clearScriptObjects): (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API) guard around m_windowScriptNPObject.
  • page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  • page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around m_windowScriptNPObject.
  • page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::Frame::createScriptInstanceForWidget):

WebKit/mac:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

  • WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
  • WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
  • Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef LP64 with #if ENABLE(NETSCAPE_PLUGIN_API).
  • Plugins/WebBaseNetscapePluginStream.mm: Ditto.
  • Plugins/WebBaseNetscapePluginView.h: Ditto.
  • Plugins/WebBaseNetscapePluginView.mm: Ditto.
  • Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
  • Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
  • Plugins/WebBasePluginPackage.h: Ditto.
  • Plugins/WebBasePluginPackage.m: Ditto. (+[WebBasePluginPackage pluginWithPath:]):
  • Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
  • Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
  • Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
  • Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
  • Plugins/WebNetscapePluginPackage.h: Ditto.
  • Plugins/WebNetscapePluginPackage.m: Ditto.
  • Plugins/WebNetscapePluginStream.h: Ditto.
  • Plugins/WebNetscapePluginStream.mm: Ditto.
  • Plugins/WebPluginDatabase.m: Ditto. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
  • Plugins/npapi.m: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: Ditto. (WebFrameLoaderClient::objectContentType): (WebFrameLoaderClient::createPlugin):
  • WebView/WebHTMLView.mm: Ditto. (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
  • WebView/WebHTMLViewInternal.h: Ditto.
  • WebView/WebFrame.mm: Replaced #ifndef LP64 with #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate) category to (WebInternal) category so we don't expose the ENABLE() macro from the private header. (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
  • WebView/WebFrameInternal.h: Ditto.
  • WebView/WebFramePrivate.h: Ditto.
23:46 Changeset [30896] by ap@webkit.org

Reviewed by Darin.

<rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites

  • WebView/WebPreferences.m: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match the one used in Safari.
23:25 Changeset [30895] by mrowe@apple.com

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • WebKit.xcodeproj/project.pbxproj: Mark WebTypesInternal.h as a private header so that DumpRenderTree can use it.

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm: Use correct argument type in method signature.
23:11 Changeset [30894] by ap@webkit.org

Reviewed by Darin.

REGRESSION: Korean decoding doesn't support extended EUC-KR.

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU encoding names by manually registering windows-939-2000, and mapping all other related encodings to it.
22:19 Changeset [30893] by slewis@apple.com

2008-03-07 Dan Bernstein <mitz@apple.com>

Reviewed by Stephanie.

  • try to fix leaks seen on Tiger after r30840
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator delete, rather than arena delete, to deallocate the root default style.
22:07 Changeset [30892] by alp@webkit.org

2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17681
GtkLauncher fails to render an element with position: fixed

Implement the required parts of PlatformScreenGtk.

  • ChangeLog:
  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenIsMonochrome): (WebCore::screenRect):
21:58 Changeset [30891] by oliver@apple.com

Bug 16610: <canvas> restore() removes path segments created before it

Reviewed by Darin Adler (code) and Mark Rowe (tests)

The problem here is that WebKit stored the Path as part of the state, so
restore would incorrectly lose changes made to the canvas path. To match
Firefox and HTML5 we make two real changes:

  • Move the context path from the state object directly onto the context. This is responsible for all the changes to the path manipulation functions
  • Add transform tracking to each state -- this is needed to correctly transform the current path when restore()-ing to a prior state.

Test: fast/canvas/canvas-save-restore-with-path.html

19:43 Changeset [30890] by oliver@apple.com

Fix for crash caused by FrameLoader incorrectly assuming it has
a RenderWidget

Reviewed by Ada

In some circumstances an application embedding a WebView may
choose to prevent a webview from loading a resource. If that
resource was requested by an <object> element then we may
fallback to different content which may not produce a RenderWidget.
Unfortunately FrameLoader::loadSubframe was assuming that if a
renderer was produced it would always be a RenderWidget, and arbitrarily
performed what could be an incorrect cast. This could then lead to
a crash.

We currently don't have anyway of making a test for this.

19:25 Changeset [30889] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver.

Add Windows part of <rdar://problem/5693690>

  • DumpRenderTree/win/DumpRenderTree.cpp: (dump): (main):
19:08 Changeset [30888] by weinig@apple.com

WebCore:

Reviewed by Oliver Hunt.

Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
<canvas> lacks toDataURL()

Tests: fast/canvas/toDataURL-noData.html

fast/canvas/toDataURL-supportedTypes.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has been called on a tainted canvas. (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel data, checks to see if the MIME type is supported. Unsupported MIME types and the null string (which is made by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec. The actual toDataURL logic is actually done in the ImageBuffer class.
  • html/HTMLCanvasElement.h: Add function declarations.
  • html/HTMLCanvasElement.idl: Add function declaration.
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): (WebCore::initializeSupportedJavaScriptMIMETypes): (WebCore::initializeSupportedNonImageMimeTypes): (WebCore::initializeSupportedMediaMIMETypes): (WebCore::initializeMIMETypeRegistry): (WebCore::MIMETypeRegistry::getMIMETypeForPath): (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
  • platform/MIMETypeRegistry.h: Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
  • platform/graphics/ImageBuffer.h: Add toDataURL method.
  • platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::create): (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData): (WebCore::ImageBuffer::toDataURL): Converts the current context to a data: url of the specified MIME type. This method unfortunately has to flip the context, resulting in less than optimal code.
  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.
  • platform/graphics/wx/ImageBufferWx.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.

LayoutTests:

Reviewed by Oliver Hunt.

Tests for http://bugs.webkit.org/show_bug.cgi?id=16673
<canvas> lacks toDataURL()

  • fast/canvas/toDataURL-noData-expected.txt: Added.
  • fast/canvas/toDataURL-noData.html: Added.
  • fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
  • fast/canvas/toDataURL-supportedTypes.html: Added.
17:30 Changeset [30887] by alp@webkit.org

2008-03-07 Alp Toker <alp@atoker.com>

Back out the r30818, r30819 build fix attempts now the GTK+ build
server has been upgraded.

  • Scripts/webkitdirs.pm:
17:28 Changeset [30886] by sfalken@apple.com

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
16:19 Changeset [30885] by adele@apple.com

Removing duplicate entry for hasFocus.html

16:09 Changeset [30884] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

update Windows Skipped List

  • platform/win/Skipped:
15:29 Changeset [30883] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Mark Rowe.

Correct build intermediary output
(http://bugs.webkit.org/show_bug.cgi?id=17713)

  • WebKit/win/WebKit.vcproj/WebKit.vcproj: Correct output and intermediary paths

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Mark Rowe.

Correct build intermediary output
(http://bugs.webkit.org/show_bug.cgi?id=17713)

  • WebCore/WebCore.vcproj: Correct intermediary paths
14:56 Changeset [30882] by adele@apple.com

Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I investigate the failure.

  • platform/win/Skipped:
14:32 Changeset [30881] by slewis@apple.com

2008-03-07 Stephanie <slewis@apple.com>

Reviewed by Geoff.

<rdar://problem/5693690> run-webkit-tests swallows STDERR output, including WebCore LEAK messages

  • DumpRenderTree/mac/DumpRenderTree.mm: (dump): push EOF to stderr after every test
  • Scripts/run-webkit-tests: collect stderr output and print it
14:23 Changeset [30880] by mrowe@apple.com

Versioning.

14:21 Changeset [30879] by mrowe@apple.com

Fix the 64-bit build.

14:18 Changeset [30878] by mrowe@apple.com

New tag.

13:23 ProposedWebInspectorUIRefresh edited by aroben@apple.com
Added images inline (diff)
13:18 New Inspector - Resources 3.1.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Resources view showing a resource's source
13:17 New Inspector - Resources 3.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Resources view showing the Time graph
13:15 New Inspector - Elements.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Elements view
13:15 Changeset [30877] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Do not link (or attempt to initialize) the SafariTheme.dll
when not building with USE(SAFARI_THEME) enabled.
(http://bugs.webkit.org/show_bug.cgi?id=17707)

  • WebKit/win/WebKitClassFactory.cpp: Conditionalize use of SafariTheme.dll
13:15 ProposedWebInspectorUIRefresh created by aroben@apple.com
Initial version copied from Tim's emails
13:13 Changeset [30876] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Steve Falkenburg.

Add Cairo build requirements to WebCore.vcproj under a new
set of targets. Exclude Cairo elements from normal CG build.
Exclude CG elements from Cairo builds.
(http://bugs.webkit.org/show_bug.cgi?id=17300)

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/webcore.vsprops: Added.

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Steve Falkenburg.

Update solution to understand Cairo build target. Add
library dependencies for Cairo build target.
(http://bugs.webkit.org/show_bug.cgi?id=17300)

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.vcproj:
13:09 Web Inspector edited by aroben@apple.com
Add a link to a new page about Inspector UI improvements (diff)
13:00 Changeset [30875] by darin@apple.com

WebCore:

Reviewed by Adam.

  • eliminated WebCoreFrameBridge runOpenPanel
  • page/ChromeClient.h: Added runOpenPanel function.
  • page/mac/ChromeMac.mm: (WebCore::ChromeClient::runOpenPanel): Added.
  • platform/FileChooser.cpp: (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific. Also start the refcount at 1. (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one. (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
  • platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
  • platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor, since they are no longer platform-specific.
  • platform/qt/FileChooserQt.cpp: Ditto.
  • platform/win/FileChooserWin.cpp: Ditto.
  • platform/wx/TemporaryLinkStubs.cpp: Ditto.
  • platform/mac/FileChooserMac.mm: (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController class and m_controller data member and move the cosntrutor/destructor to platform- independent code.

WebKit/mac:

Reviewed by Adam.

  • eliminated WebCoreFrameBridge runOpenPanel
  • WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): Added. (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the FileChooser so it can get a result from the UI delegate. (-[WebOpenPanelResultListener dealloc]): Added. (-[WebOpenPanelResultListener finalize]): Added. (-[WebOpenPanelResultListener cancel]): Added. (-[WebOpenPanelResultListener chooseFilename:]): Added.
12:51 Changeset [30874] by aroben@apple.com

Add WebCore::JavaScriptDebugServer and use it from WebKit/win

WebCore:

Add JavaScriptDebugServer

This class is a singleton which allows one or more
JavaScriptDebugListeners to receive callbacks during JavaScript
execution.

Right now all listeners receive callbacks for all Pages in the
process. Eventually we will want to support listeners registering for
callbacks for specific Pages (e.g., the Inspector will want to listen
for execution in just the Page it's inspecting).

Pages notify the JavaScriptDebugServer when they are created so that
it can install itself as the Page's debugger.

Reviewed by Darin.

  • GNUMakefile.am: Added new files to project.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • page/JavaScriptDebugListener.h: Added.
  • page/JavaScriptDebugServer.cpp: Added. (WebCore::toFrame): (WebCore::JavaScriptDebugServer::shared): (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::addListener): Registers as the debugger for all Pages if we're adding our first listener. (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the debugger for all Pages if we're removing our last listner. (WebCore::JavaScriptDebugServer::pageCreated): Registers as the debugger for the newly created Page if we have any listeners. (WebCore::dispatchDidParseSource): Helper function. (WebCore::dispatchFailedToParseSource): Ditto. (WebCore::JavaScriptDebugServer::sourceParsed): Call dispatchDidParseSource or dispatchFailedToParseSource depending on whether there was an error or not. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls the passed-in JavaScriptExecutionCallback on each listener, guarding against re-entry. (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame. (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement. (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame. (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
  • page/JavaScriptDebugServer.h: Added.
  • page/Page.cpp: (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were created so it can register as our debugger if needed.

WebKit/win:

Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer

WebScriptDebugServer is now a JavaScriptDebugListener.

Reviewed by Darin.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::WebScriptDebugServer): Removed initialization of m_callingListeners member. (WebScriptDebugServer::addListener): Register as a listener with JavaScriptDebugServer if we've just added our first listener. (WebScriptDebugServer::removeListener): Deregister as a listener with JavaScriptDebugServer if we've just removed our last listener. (WebScriptDebugServer::didParseSource): Added. Code came from the old sourceParsed method. Removed m_callingListeners code because JavaScriptDebugServer guards against re-entry for us. (WebScriptDebugServer::failedToParseSource): Ditto. (WebScriptDebugServer::didEnterCallFrame): Ditto for callEvent. (WebScriptDebugServer::willExecuteStatement): Ditto for atStatement. (WebScriptDebugServer::willLeaveCallFrame): Ditto for willLeaveCallFrame. (WebScriptDebugServer::exceptionWasRaised): Ditto for exception.
  • WebScriptDebugServer.h: Changed to inherit from WebCore::JavaScriptDebugListener.
  • WebView.cpp: (WebView::initWithFrame): Removed call to WebScriptDebugServer::pageCreated. This is now handled by WebCore.
12:39 Changeset [30873] by darin@apple.com

Reviewed by Brady.

  • fix a theoretical problem with the visited-link hash table by avoiding collision with the special "deleted" value
  • improve efficiency of with the visited-link hash table by not hashing twice
  • page/PageGroup.cpp: (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones" value, since the hash table uses that for deleted hash table entries. (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash value with the HashSet. (WebCore::PageGroup::addVisitedLink): Ditto.
  • page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer values. This assumes that the value is already a hash value, and doesn't try to hash it again. Used this for m_visitedLinkHashes.
12:15 Changeset [30872] by sfalken@apple.com

Get pdevenv working with Visual Studio Express.


Reviewed by Adam.

  • Scripts/pdevenv:
11:46 Changeset [30871] by ggaren@apple.com

JavaScriptCore:

Reviewed by Darin Adler.


Fixed <rdar://problem/5689093> Stricter (ES4) eval semantics


The basic rule is:


  • "eval(s)" is treated as an operator that gives the ES3 eval behavior.

... but only if there is no overriding declaration of "eval" in scope.

  • All other invocations treat eval as a function that evaluates a script in the context of its "this" object.

... but if its "this" object is not the global object it was
originally associated with, eval throws an exception.


Because only expressions of the form "eval(s)" have access to local
scope, the compiler can now statically determine whether a function
needs local scope to be dynamic.

  • kjs/nodes.h: Added FunctionCallEvalNode. It works just like FuncationCallResolveNode, except it statically indicates that the node may execute eval in the ES3 way.
  • kjs/nodes.cpp:
  • kjs/nodes2string.cpp:
  • tests/mozilla/expected.html: This patch happens to fix a Mozilla JS test, but it's a bit of a pyrrhic victory. The test intends to test Mozilla's generic API for calling eval on any object, but, in reality, we only support calling eval on the global object.

LayoutTests:

Reviewed by Darin Adler.

Tests for <rdar://problem/5689093> Stricter (ES4) eval semantics


  • fast/js/eval-cross-window-expected.txt: Added.
  • fast/js/eval-cross-window.html: Added.
  • fast/js/eval-keyword-vs-function-expected.txt: Added.
  • fast/js/eval-keyword-vs-function.html: Added.
  • fast/js/eval-overriding-expected.txt: Added.
  • fast/js/eval-overriding.html: Added.


Tests to make sure not to regress security:

  • http/tests/security/resources/xss-eval2.html: Added.
  • http/tests/security/resources/xss-eval3.html: Added.
  • http/tests/security/xss-eval-expected.txt: Added.
  • http/tests/security/xss-eval.html: Added.

I removed these tests because we no longer match the behavior they
expected, and the new tests are more comprehensive:


  • fast/js/window-eval-context-expected.txt: Removed.
  • fast/js/window-eval-context.html: Removed.
  • fast/js/window-eval-tearoff-expected.txt: Removed.
  • fast/js/window-eval-tearoff.html: Removed.
05:09 Changeset [30870] by hausmann@webkit.org

Fix the Qt build.

03/06/08:

23:45 Changeset [30869] by oliver@apple.com

Implement the HTML5 canvas tainting rules to prevent potential data leakage

Reviewed by Mitz

Added originClean to HTMLCanvasElement and CanvasPattern
to track whether a canvas (or pattern) is tainted by remote
data.
Use originClean flag to determine whether getImageData should
return, well, image data.

Test: http/tests/security/canvas-remote-read-remote-image.html

19:24 ApplicationsGtk edited by alp@atoker.com
Fix app URL (diff)
19:22 ApplicationsGtk edited by alp@atoker.com
Add another doc browser (diff)
17:55 Changeset [30868] by andersca@apple.com

Reviewed by Jon.

Templatize the JNI call code to reduce the amount of code that has
to be duplicated.

  • bridge/jni/jni_class.cpp: (JavaClass::JavaClass):
  • bridge/jni/jni_instance.cpp: (JavaInstance::stringValue): (JavaInstance::numberValue): (JavaInstance::booleanValue): (JavaInstance::invokeMethod):
  • bridge/jni/jni_jsobject.cpp: (JavaJSObject::convertJObjectToValue):
  • bridge/jni/jni_runtime.cpp: (JavaField::JavaField): (JavaMethod::JavaMethod):
  • bridge/jni/jni_utility.cpp:
  • bridge/jni/jni_utility.h: (KJS::Bindings::): (KJS::Bindings::callJNIMethodIDA): (KJS::Bindings::callJNIMethodV): (KJS::Bindings::callJNIMethod): (KJS::Bindings::callJNIStaticMethod):
17:51 Changeset [30867] by darin@apple.com

WebCore:

Reviewed by Mitz.

  • fix regression test failures from the visited-link change
  • WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
  • page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLink): Do nothing and return early if shouldTrackVisitedLinks is false. (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated so the next time a link is queried this will be populated from history. (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
  • page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global for now, but it would be better if it was per-page-group instead.

WebKit/mac:

Reviewed by Mitz.

  • fix regression test failures from the visited-link change
  • History/WebHistory.mm: (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks to turn off visited links if there is no history object. Also call removeAllVisitedLinks so we can start over from scratch with the new history.

WebKit/win:

Reviewed by Mitz.

  • fix regression test failures and crashes from the visited-link change
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::populateVisitedLinks): Check for null before calling addVisitedLinksToPageGroup.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Ditto.
  • WebHistory.cpp: (WebHistory::setOptionalSharedHistory): Call PageGroup::setShouldTrackVisitedLinks to turn off visited links if there is no history object. Also call removeAllVisitedLinks so we can start over from scratch with the new history.
17:30 Changeset [30866] by adele@apple.com

WebCore:

Reviewed by Darin.

Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

Tests: fast/dom/HTMLDocument/activeElement.html

fast/dom/HTMLDocument/hasFocus.html

  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused. (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
  • html/HTMLDocument.h: Added methods for activeElement and hasFocus.
  • html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.

WebKitTools:

Reviewed by Darin.

Updated for testing <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webViewFocus:]): Remove duplicate code that was also in LayoutTestController::setWindowIsKey (-[UIDelegate webViewUnfocus:]): Added. In Safari, the default is to focus another window if there is one. To easily test cases where the window is unfocused, I made this just call setWindowIsKey(false).

LayoutTests:

Reviewed by Darin.

Tests for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)

  • fast/dom/HTMLDocument/activeElement-expected.txt: Added.
  • fast/dom/HTMLDocument/activeElement.html: Added.
  • fast/dom/HTMLDocument/hasFocus-expected.txt: Added.
  • fast/dom/HTMLDocument/hasFocus.html: Added.
  • fast/dom/HTMLDocument/resources/hasFocus-iframe.html: Added.
17:09 Changeset [30865] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)

Test: fast/text/soft-hyphen-3.html

  • rendering/bidi.cpp: (WebCore::checkMidpoints): (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the midpoint after a hyphen always be a valid iterator, not allowing an offset past the end of a text node. Changed the check for consecutive soft hyphens to account for that.

LayoutTests:

Reviewed by Darin Adler.

  • test and updated results for <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
  • fast/text/soft-hyphen-3.html: Added.
  • platform/mac/fast/text/basic/014-expected.txt:
  • platform/mac/fast/text/soft-hyphen-3-expected.checksum: Added.
  • platform/mac/fast/text/soft-hyphen-3-expected.png: Added.
  • platform/mac/fast/text/soft-hyphen-3-expected.txt: Added.
16:28 Changeset [30864] by pewtermoose@webkit.org

WebKit/win:

Reviewed by Adam Roben.

Bug 17691: REGRESSION: FindSafari doesn't work
http://bugs.webkit.org/show_bug.cgi?id=17691

Swap my change from r30394 to use the Release libraries instead of Debug
since some machines don't have the Debug version.

  • WebKit.vcproj/WebKit.sln:

WebKitTools:

Reviewed by Adam Roben.

Bug 17691: REGRESSION: FindSafari doesn't work
http://bugs.webkit.org/show_bug.cgi?id=17691

Swap my change from r30394 to use the Release libraries instead of Debug
since some machines don't have the Debug version.

  • FindSafari/FindSafari.vcproj:
16:14 Changeset [30863] by ddkilzer@apple.com

Fix typos.

16:14 Changeset [30862] by sfalken@apple.com

Build fix.

15:39 Changeset [30861] by sfalken@apple.com

Build fix.

15:33 Changeset [30860] by mrowe@apple.com

Versioning.

15:30 Changeset [30859] by mrowe@apple.com

New tag.

15:28 Changeset [30858] by kmccullough@apple.com

Reviewed by Sam and Tim.

<rdar://5631450> Drosera: breakpoint indicators disappear after the
script is finished running.

  • If there is a pre-existing breakpoint on a line when the file is updated we need to redraw it.
  • Drosera/debugger.js:
15:11 Changeset [30857] by alp@webkit.org

2008-03-06 Alp Toker <alp@atoker.com>

Fix the build fix in r30845 to support out-of-tree builds.

  • GNUmakefile.am:
13:45 Changeset [30856] by mitz@apple.com

Reviewed by Darin Adler.

  • fix a regression from r30741: a crash under WebFrameLoaderClient::createPlugin() when showing a Mail message with an attachment
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin):
13:09 Changeset [30855] by sfalken@apple.com

Build fix.

  • wtf/ThreadingWin.cpp: (WTF::ThreadCondition::timedWait):
12:58 Changeset [30854] by beidson@apple.com

Tiger build fix...?

  • DumpRenderTree/mac/WatchdogMac.mm:
12:08 Changeset [30853] by darin@apple.com
  • another small step towards fixing the Qt build
  • JavaScriptCore.pri: Remove more references to the now-obsolete bindings directory.
12:02 Changeset [30852] by darin@apple.com

JavaScriptCore:

  • a small step towards fixing the Qt build

WebCore:

  • try to fix Wx build
  • WebCoreSources.bkl: Added PageGroup.cpp.

WebKit/mac:

  • fix Tiger build
  • History/WebHistory.mm: Added include of WebTypesInternal.h.
11:50 Changeset [30851] by beidson@apple.com

Gtk Build fix

  • wtf/ThreadingGtk.cpp: (WTF::ThreadCondition::timedWait):
11:34 Changeset [30850] by ap@webkit.org

Wx build fix.

  • wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault): Put ICU workaround under both PLATFORM(DARWIN) and PLATFORM(CF) checks, so that each port can decide if it wants to use CF on Mac for it.
10:55 Changeset [30849] by beidson@apple.com

JavaScriptCore:

Reviewed by Darin

Add a timedWait() method to ThreadCondition

  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::ThreadCondition::timedWait):
  • wtf/ThreadingNone.cpp: (WTF::ThreadCondition::timedWait):
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadCondition::timedWait):
  • wtf/ThreadingWin.cpp: (WTF::ThreadCondition::timedWait): Needs implementation

WebKitTools:

Reviewed by Darin

Added a cross-platform Watchdog thread to DRT.

The current watchdog in both DRTWin and DRTMac is Timer based. Therefore, deadlocks and long running
main thread hangs still affect DRT.

By placing the watchdog on a thread and having DRT "check in" after each test, long-running hangs
and true deadlocks can be caught.

There is one hook for platform specific code. As I did my development and testing on Mac, and Mac has
sample available, the Mac implementation of this hook samples the process before it is killed.

I arbitrarily chose 30 seconds as the timeout for now - this can be tweaked easily if we find a need.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Added LINKER_DISPLAYS_MANGLED_NAMES
  • DumpRenderTree/ForwardingHeaders/wtf/Locker.h: Added.
  • DumpRenderTree/ForwardingHeaders/wtf/Threading.h: Added.
  • DumpRenderTree/Watchdog.cpp: Added. (Watchdog::Watchdog): (Watchdog::~Watchdog): (Watchdog::start): (Watchdog::stop): (Watchdog::checkIn): (Watchdog::setWatchdogInterval): (Watchdog::handleHang): (Watchdog::watchdogThreadStart): (Watchdog::watchdogThread):
  • DumpRenderTree/Watchdog.h: Added.
  • DumpRenderTree/mac/WatchdogMac.h: Added.
  • DumpRenderTree/mac/WatchdogMac.mm: Added. (WatchdogMac::handleHang): Sample the process and write it out to a file
  • DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Setup and start the watchdog before running any tests (runTest): Checkin with the watchdog after each test
10:51 Changeset [30848] by ap@webkit.org

More build fixes.

  • jscore.bkl: Add the wtf/unicode directory.
  • wtf/unicode/CollatorDefault.cpp: (WTF::Collator::userDefault): Use a constructor that does exist.
  • wtf/unicode/icu/CollatorICU.cpp: Mac build fix for case-sensitive file systems.
10:21 Changeset [30847] by darin@apple.com
  • fix Release build
  • History/WebHistory.mm: (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore. (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if. (-[WebHistoryPrivate saveToURL:error:]): Ditto.
10:19 Changeset [30846] by darin@apple.com
  • try to fix the Qt build
10:18 Changeset [30845] by darin@apple.com
  • try to fix the GTK build
  • GNUmakefile.am: Add a -I for the unicode directory.
10:14 Changeset [30844] by darin@apple.com
  • try to fix the Mac build
  • icu/unicode/parseerr.h: Copied from ../WebCore/icu/unicode/parseerr.h.
  • icu/unicode/ucol.h: Copied from ../WebCore/icu/unicode/ucol.h.
  • icu/unicode/uloc.h: Copied from ../WebCore/icu/unicode/uloc.h.
  • icu/unicode/unorm.h: Copied from ../WebCore/icu/unicode/unorm.h.
  • icu/unicode/uset.h: Copied from ../WebCore/icu/unicode/uset.h.
09:51 Changeset [30843] by darin@apple.com
  • fix some builds
  • GNUmakefile.am: Added PageGroup.cpp.
  • WebCore.base.exp: Removed WebCoreHistory.
  • WebCore.pro: Added PageGroup.cpp.
09:50 Changeset [30842] by ap@webkit.org

Reviewed by Darin.

<rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore

09:45 Changeset [30841] by mitz@apple.com

Reviewed by Adele.

  • add test for r30823 (background-position: inherit)
  • fast/css/background-position-inherit-expected.txt: Added.
  • fast/css/background-position-inherit.html: Added.
09:21 Changeset [30840] by darin@apple.com

WebCore:

Reviewed by Mitz.

This should also make page loading faster due to more efficient visited link coloring.

  • WebCore.base.exp: Updated.
  • WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
  • WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
  • css/CSSStyleSelector.cpp: Updated includes. (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set currentEncodedURL. (WebCore::checkPseudoState): Moved most of the code inside a new PageGroup::isLinkVisited function. (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using references and only getting colors when needed. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
  • css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
  • dom/Document.cpp: (WebCore::Document::attach): Removed call to setEncodedURL. (WebCore::Document::setURL): Ditto. (WebCore::Document::recalcStyleSelector): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use early exit idiom to be a little more readable. (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly better efficiency. (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more readable. (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back in here and got rid of the helper function updateGlobalHistory, restoring the logic before r30549. Also added a call to the new addVisitedLink function. (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call addVisitedLink here. (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment. (WebCore::FrameLoader::updateHistoryForReload): Removed call to updateGlobalHistory; we can just go without updating global history or visited links here, at least for now, since it's not clear that a reload is a "history event". (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved history code back where it was, and added the call to addVisitedLink, just as in updateHistoryForStandardLoad above.
  • loader/FrameLoader.h: Removed updateGlobalHistory function.
  • page/Chrome.cpp: (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we don't have to implement this for every port all at once. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the new PageGroup class.
  • page/ChromeClient.h: Added populateVisitedLinks function, used to fill the visited links set from the global history at application startup time.
  • page/FrameTree.cpp: (WebCore::FrameTree::find): Updated to use the new PageGroup class.
  • page/GlobalHistory.h: Removed.
  • page/win/GlobalHistoryWin.cpp: Removed.
  • page/mac/GlobalHistoryMac.mm: Removed.
  • platform/mac/WebCoreHistory.h: Removed.
  • platform/mac/WebCoreHistory.m: Removed.
  • platform/win/WebCoreHistory.cpp: Removed.
  • platform/win/WebCoreHistory.h: Removed.
  • page/Page.cpp: (WebCore::Page::Page): Set m_group to 0. (WebCore::Page::setGroupName): Set up m_group. If the page is not in any group, set it to 0 for now to postpone the cost of creating a group. (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page group; used when getting a group. (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks on all page groups.
  • page/Page.h: Moved enums inside the WebCore namespace. Removed the frameNamespace function and instead added the group and groupPtr functions.
  • page/PageGroup.cpp: Added. Contains all the visited code from the CSSStyleSelector in the isVisitedLink function, but more efficient because we don't allocate memory for the buffer.
  • page/PageGroup.h: Added.
  • platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
  • platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
  • platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.

WebKit:

  • WebKit.xcodeproj/project.pbxproj: Added WebHistoryInternal.h.

WebKit/mac:

Reviewed by Mitz.

  • History/WebHistory.mm: Moved WebHistoryPrivate inside this file. (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the PageGroup::removeAllVisitedLinks function if the last URL was removed. (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks. (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this method name, since it's on a private object. (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Ditto. (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this to correctly return the error by using the newer version of writeToURL: and removed the FIXME about that. (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink for every link in the history. (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now. (-[WebHistory addItem:]): Moved into the WebPrivate category. (-[WebHistory addItemForURL:]): Ditto. (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we create an item and already know its title. (-[WebHistory ageLimitDate]): Moved into the WebPrivate category. (-[WebHistory containsItemForURLString:]): Ditto. (-[WebHistory removeItem:]): Ditto. (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto. (-[WebHistory _itemForURLString:]): Ditto. (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
  • History/WebHistoryInternal.h: Added.
  • History/WebHistoryItemInternal.h: Tweaked formatting and includes.
  • History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header. Also reorganized what was left behind.
  • WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::populateVisitedLinks): Added a call to the new -[WebHistory _addVisitedLinksToPageGroup:] method.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new -[WebHistory _addItemForURL:title:] method.

WebKit/win:

Reviewed by Mitz.

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::populateVisitedLinks): Added a call to the new WebHistory::addVisitedLinksToPageGroup function.
  • WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks. Also fixed the webView function to be non-virtual.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): Changed to use the new WebHistory::addItem function. (WebFrameLoaderClient::webHistory): Changed to return a WebHistory*, there's no reason to AddRef the result from this function.
  • WebCoreSupport/WebFrameLoaderClient.h: Ditto.
  • WebHistory.cpp: Removed IWebHistoryPrivate and _WebCoreHistoryProvider. (WebHistory::QueryInterface): Removed IWebHistoryPrivate. (sharedHistoryStorage): Added. (WebHistory::sharedHistory): Added. (WebHistory::optionalSharedHistory): Changed to use sharedHistory(). (WebHistory::setOptionalSharedHistory): Changed to require a WebHistory object, not just an IWebHistory. (WebHistory::removeAllItems): Call PageGroup::removeAllVisitedLinks. (WebHistory::addItem): Changed parameter types since this is called with arguments from WebCore -- at some point this could allow better efficiency. (WebHistory::removeItemForURLString): Call PageGroup::removeAllVisitedLinks if the last URL is being removed. (addVisitedLinkToPageGroup): Added. Helper. Adds a single link to a group's visited link set. (WebHistory::addVisitedLinksToPageGroup): Added. Adds all links to a group's visited link.
  • WebHistory.h: Removed IWebHistoryPrivate. Removed optionalSharedHistoryInternal and added sharedHistory. Replaced addItemForURL and containsItemForURLString with non-virtual addItem and addVisitedLinksToPageGroup functions.
09:03 Changeset [30839] by timothy@apple.com

Rubber-stamped by Adam Roben.

Add a simple page that has various demo functions for Drosera.

  • demos/drosera: Added.
  • demos/drosera/demo.js: Added.
  • demos/drosera/drosera.png: Added.
  • demos/drosera/index.html: Added.
08:15 Changeset [30838] by aroben@apple.com

Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}

WebKit:

Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}

Reviewed by Kevin M.

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}

Reviewed by Kevin M.

  • WebView/WebFrame.mm:
  • WebView/WebScriptDebugDelegate.mm:
  • WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
  • WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
08:15 Changeset [30837] by aroben@apple.com

Rename WebCoreScriptDebuggerImp to WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.h:
  • WebView/WebCoreScriptDebuggerImp.mm:
  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]):
  • WebView/WebFrameInternal.h:
08:14 Changeset [30836] by aroben@apple.com

Remove WebScriptDebugger

WebKit:

Remove WebScriptDebugger

Reviewed by Kevin M.

  • WebKit.xcodeproj/project.pbxproj: Remove WebScriptDebugDelegatePrivate.h from the project.

WebKit/mac:

Remove WebScriptDebugger

Uses of WebScriptDebugger have been replaced with
WebCoreScriptDebuggerImp.

Reviewed by Kevin M.

  • WebView/WebFrame.mm: (-[WebFramePrivate dealloc]): Use delete instead of release since WebCoreScriptDebuggerImp is a C++ class. (-[WebFrame _attachScriptDebugger]): Updated to use early returns and WebCoreScriptDebuggerImp. (-[WebFrame _detachScriptDebugger]): Ditto.
  • WebView/WebFrameInternal.h:
  • WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
  • WebView/WebScriptDebugDelegatePrivate.h: Removed.
  • WebView/WebView.mm:
08:14 Changeset [30835] by aroben@apple.com

Remove -webFrame and -globalObject from WebScriptDebugger

WebCore:

Export a header/symbol for WebKit

Reviewed by Kevin M.

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:

WebKit/mac:

Remove -webFrame and -globalObject from WebScriptDebugger

WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger* parameter to the constructor.
  • WebView/WebCoreScriptDebuggerImp.mm: (toWebFrame): Added. (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame. (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's WindowScriptObject ourselves instead of asking WebScriptDebugger for it. (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame. (WebCoreScriptDebuggerImp::returnEvent): Ditto. (WebCoreScriptDebuggerImp::exception): Ditto.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptDebugger initWithWebFrame:]): Updated for change to WebScriptDebuggerImp's constructor.
  • WebView/WebScriptDebugDelegatePrivate.h: Removed -webFrame/-globalObject.
08:13 Changeset [30834] by aroben@apple.com

Remove -enterFrame: and -leaveFrame from WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its lifetime.
  • WebView/WebCoreScriptDebuggerImp.mm:
    • Added declaration of -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
    • Changed most uses of m_topCallFrame to m_topCallFrame.get()

(WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
now-unnecessary initialization of m_topCallFrame.
(WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
with its implementation. The one difference between this
implementation and the old enterFrame: method is that we don't hand
our reference to m_topCallFrame to _initWithGlobalObject: -- that
method must now retain the passed-in WebScriptCallFrame manually.
(WebCoreScriptDebuggerImp::atStatement):
(WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
with its implementation.
(WebCoreScriptDebuggerImp::exception):

  • WebView/WebScriptDebugDelegate.mm: Removed declaration of -[WebScriptCallFrame _initWithGlobalObject:caller:state:]. (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed to retain the passed-in caller.
  • WebView/WebScriptDebugDelegatePrivate.h:
    • Removed _current ivar
    • Removed enterFrame:/leaveFrame declarations.
08:13 Changeset [30833] by aroben@apple.com

Remove -parsedSource: from WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.mm: (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
  • WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
  • WebView/WebScriptDebugDelegatePrivate.h: Ditto.
08:13 Changeset [30832] by aroben@apple.com

Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.mm: (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call trhough to callEvent instead of duplicating its code here. (WebCoreScriptDebuggerImp::callEvent): Moved code from -[WebScriptDebugger enteredFrame:sourceId:line:] here. (WebCoreScriptDebuggerImp::returnEvent): Moved code from -[WebScriptDebugger leavingFrame:sourceId:line:] here. (WebCoreScriptDebuggerImp::exception): Moved code from -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
  • WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:, -leavingFrame:, and -exceptionRaised:.
  • WebView/WebScriptDebugDelegatePrivate.h: Ditto.
08:13 Changeset [30831] by aroben@apple.com

Remove -[WebScriptDebugger hitStatement:sourceId:line:]

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.mm: (WebCoreScriptDebuggerImp::atStatement): Moved code here from -[WebScriptDebugger hitStatement:sourceId:line:].
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptDebugger webFrame]): Added.
  • WebView/WebScriptDebugDelegatePrivate.h:
08:12 Changeset [30830] by aroben@apple.com

Remove WebCoreScriptDebugger

WebKit:

Remove WebCoreScriptDebugger.{h,mm}

Reviewed by Kevin M.

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Remove WebCoreScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebugger.h: Removed.
  • WebView/WebCoreScriptDebugger.mm: Removed.
  • WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger with WebScriptDebugger.
  • WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger delegate] with just m_debugger. (toNSString): Moved here from WebCoreScriptDebugger.mm. (toNSURL): Ditto. (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): (WebCoreScriptDebuggerImp::sourceParsed): (WebCoreScriptDebuggerImp::callEvent): (WebCoreScriptDebuggerImp::atStatement): (WebCoreScriptDebuggerImp::returnEvent): (WebCoreScriptDebuggerImp::exception):
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a WebCoreScriptDebuggerImp, so initialize it properly.
  • WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a WebCoreScriptDebuggerImp.
08:12 Changeset [30829] by aroben@apple.com

Move WebCoreScriptDebuggerImp to its own source files

WebKit:

Move WebCoreScriptDebuggerImp to its own source files

Reviewed by Kevin M.

  • WebKit.xcodeproj/project.pbxproj: Added new files to the project.

WebKit/mac:

Move WebCoreScriptDebuggerImp to its own source files

Also changed WebCoreScriptDebuggerImp coding style to match our style
guidelines.

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL function.
  • WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp implementation. (toNSURL): Made no longer static.
  • WebView/WebCoreScriptDebuggerImp.h: Added.
  • WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from WebCoreScriptDebugger.mm and cleaned up. (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): (WebCoreScriptDebuggerImp::sourceParsed): (WebCoreScriptDebuggerImp::callEvent): (WebCoreScriptDebuggerImp::atStatement): (WebCoreScriptDebuggerImp::returnEvent): (WebCoreScriptDebuggerImp::exception):
08:12 Changeset [30828] by aroben@apple.com

Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebugger.h:
    • Removed newFrameWithGlobalObject:caller:state: from WebScriptDebugger protocol
    • Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
    • Removed _current ivar from WebCoreScriptDebugger
  • WebView/WebCoreScriptDebugger.mm: (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on the delegate. (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptDebugger dealloc]): Added code to release _current. (-[WebScriptDebugger enterFrame:]): Added. Code came from WebCoreScriptDebugger. (-[WebScriptDebugger leaveFrame]): Ditto.
  • WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
04:15 Changeset [30827] by ddkilzer@apple.com

Name the WebKit build phase script that generates WebKit.LP64.exp.

  • WebKit.xcodeproj/project.pbxproj: Name the build phase script that generates the 64-bit export file to match the corresponding build phase script in WebCore.
01:40 Changeset [30826] by mrowe@apple.com

Fix 64-bit Mac build.

01:24 Changeset [30825] by mrowe@apple.com

Leopard build fix.

Note: See TracTimeline for information about the timeline view.