WebKit-https.git
11 years ago2008-03-09 Alp Toker <alp@atoker.com>
alp@webkit.org [Mon, 10 Mar 2008 02:44:33 +0000 (02:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30915 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRoll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
oliver@apple.com [Mon, 10 Mar 2008 00:49:20 +0000 (00:49 +0000)]
Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)

RS=Mark Rowe

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30914 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-09 J?rg Billeter <j@bitron.ch>
alp@webkit.org [Mon, 10 Mar 2008 00:49:15 +0000 (00:49 +0000)]
2008-03-09  J?rg Billeter  <j@bitron.ch>

        Reviewed by Alp Toker.

        Conditionalise ICU for Unicode in the GTK+ port.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Make WebInspectorClient use WindowMessageBroadcaster instead of manual subcla...
aroben@apple.com [Sun, 9 Mar 2008 23:01:46 +0000 (23:01 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30912 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Make the node highlight not obscure the tab bar when it first appears
aroben@apple.com [Sun, 9 Mar 2008 23:01:27 +0000 (23:01 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30911 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Fix Bug 14254: Inspector node highlight applied to all tabs
aroben@apple.com [Sun, 9 Mar 2008 23:00:36 +0000 (23:00 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Adam.
darin@apple.com [Sun, 9 Mar 2008 20:36:41 +0000 (20:36 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Windows build fix
aroben@apple.com [Sun, 9 Mar 2008 17:47:47 +0000 (17:47 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix stray executable bit.
darin@apple.com [Sun, 9 Mar 2008 07:59:08 +0000 (07:59 +0000)]
Fix stray executable bit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoAttempt to fix the Qt build.
mrowe@apple.com [Sun, 9 Mar 2008 07:00:25 +0000 (07:00 +0000)]
Attempt to fix the Qt build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoBug 16516: canvas image patterns stop working with some transformations
oliver@apple.com [Sun, 9 Mar 2008 06:48:41 +0000 (06:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30905 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoBug 17728: Canvas.createPattern with null repeat argument throws an exception
oliver@apple.com [Sun, 9 Mar 2008 02:39:28 +0000 (02:39 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30904 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-08 Julien Chaffraix <julien.chaffraix@gmail.com>
mrowe@apple.com [Sun, 9 Mar 2008 01:57:17 +0000 (01:57 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30903 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sun, 9 Mar 2008 01:57:08 +0000 (01:57 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30902 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Oliver Hunt.
mitz@apple.com [Sat, 8 Mar 2008 23:10:16 +0000 (23:10 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30901 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
darin@apple.com [Sat, 8 Mar 2008 14:09:52 +0000 (14:09 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30900 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago * platform/win/Skipped: Fixed some typos (stray "s" characters).
darin@apple.com [Sat, 8 Mar 2008 14:05:44 +0000 (14:05 +0000)]
    * platform/win/Skipped: Fixed some typos (stray "s" characters).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago 2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 08:09:42 +0000 (08:09 +0000)]
 2008-03-07  Stephanie Lewis  <slewis@apple.com>

         Reviewed by Oliver.

         Fix Windows build.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoJavaScriptCore:
ddkilzer@apple.com [Sat, 8 Mar 2008 07:54:51 +0000 (07:54 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30897 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Darin.
ap@webkit.org [Sat, 8 Mar 2008 07:46:27 +0000 (07:46 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30896 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sat, 8 Mar 2008 07:25:28 +0000 (07:25 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Darin.
ap@webkit.org [Sat, 8 Mar 2008 07:11:37 +0000 (07:11 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Dan Bernstein <mitz@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 06:19:04 +0000 (06:19 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30893 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
alp@webkit.org [Sat, 8 Mar 2008 06:07:54 +0000 (06:07 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30892 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoBug 16610: <canvas> restore() removes path segments created before it
oliver@apple.com [Sat, 8 Mar 2008 05:58:20 +0000 (05:58 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30891 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix for crash caused by FrameLoader incorrectly assuming it has
oliver@apple.com [Sat, 8 Mar 2008 03:43:35 +0000 (03:43 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30890 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago 2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 03:25:54 +0000 (03:25 +0000)]
 2008-03-07  Stephanie Lewis <slewis@apple.com>

         Reviewed by Oliver.

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

         * DumpRenderTree/win/DumpRenderTree.cpp:
         (dump):
         (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30889 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
weinig@apple.com [Sat, 8 Mar 2008 03:08:48 +0000 (03:08 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30888 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 8 Mar 2008 01:30:46 +0000 (01:30 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30887 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Build fix.
sfalken@apple.com [Sat, 8 Mar 2008 01:28:36 +0000 (01:28 +0000)]
    Build fix.

        * WebCore.vcproj/WebCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30886 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRemoving duplicate entry for hasFocus.html
adele@apple.com [Sat, 8 Mar 2008 00:19:59 +0000 (00:19 +0000)]
Removing duplicate entry for hasFocus.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30885 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 8 Mar 2008 00:09:25 +0000 (00:09 +0000)]
2008-03-07  Stephanie Lewis <slewis@apple.com>

update Windows Skipped List

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30884 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 23:29:31 +0000 (23:29 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I inves...
adele@apple.com [Fri, 7 Mar 2008 22:56:33 +0000 (22:56 +0000)]
    Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I investigate the failure.

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Stephanie <slewis@apple.com>
slewis@apple.com [Fri, 7 Mar 2008 22:32:24 +0000 (22:32 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 21:15:08 +0000 (21:15 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-07 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Fri, 7 Mar 2008 21:13:24 +0000 (21:13 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
darin@apple.com [Fri, 7 Mar 2008 21:00:48 +0000 (21:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoAdd WebCore::JavaScriptDebugServer and use it from WebKit/win
aroben@apple.com [Fri, 7 Mar 2008 20:51:35 +0000 (20:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Brady.
darin@apple.com [Fri, 7 Mar 2008 20:39:21 +0000 (20:39 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Get pdevenv working with Visual Studio Express.
sfalken@apple.com [Fri, 7 Mar 2008 20:15:43 +0000 (20:15 +0000)]
    Get pdevenv working with Visual Studio Express.

        Reviewed by Adam.

        * Scripts/pdevenv:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30872 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoJavaScriptCore:
ggaren@apple.com [Fri, 7 Mar 2008 19:46:33 +0000 (19:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30871 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix the Qt build.
hausmann@webkit.org [Fri, 7 Mar 2008 13:09:09 +0000 (13:09 +0000)]
Fix the Qt build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30870 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoImplement the HTML5 canvas tainting rules to prevent potential data leakage
oliver@apple.com [Fri, 7 Mar 2008 07:45:38 +0000 (07:45 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Jon.
andersca@apple.com [Fri, 7 Mar 2008 01:55:18 +0000 (01:55 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30868 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
darin@apple.com [Fri, 7 Mar 2008 01:51:20 +0000 (01:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30867 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
adele@apple.com [Fri, 7 Mar 2008 01:30:28 +0000 (01:30 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30866 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
mitz@apple.com [Fri, 7 Mar 2008 01:09:51 +0000 (01:09 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebKit/win:
pewtermoose@webkit.org [Fri, 7 Mar 2008 00:28:55 +0000 (00:28 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix typos.
ddkilzer@apple.com [Fri, 7 Mar 2008 00:14:54 +0000 (00:14 +0000)]
Fix typos.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30863 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Build fix.
sfalken@apple.com [Fri, 7 Mar 2008 00:14:22 +0000 (00:14 +0000)]
    Build fix.

        * JavaScriptCore.vcproj/testkjs/testkjs.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Build fix.
sfalken@apple.com [Thu, 6 Mar 2008 23:39:43 +0000 (23:39 +0000)]
    Build fix.

        * JavaScriptCore.vcproj/WTF/WTF.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30861 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoVersioning.
mrowe@apple.com [Thu, 6 Mar 2008 23:33:07 +0000 (23:33 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Sam and Tim.
kmccullough@apple.com [Thu, 6 Mar 2008 23:28:05 +0000 (23:28 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-06 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 6 Mar 2008 23:11:37 +0000 (23:11 +0000)]
2008-03-06  Alp Toker  <alp@atoker.com>

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

        * GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30857 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Darin Adler.
mitz@apple.com [Thu, 6 Mar 2008 21:45:50 +0000 (21:45 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30856 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Build fix.
sfalken@apple.com [Thu, 6 Mar 2008 21:09:29 +0000 (21:09 +0000)]
    Build fix.

        * wtf/ThreadingWin.cpp:
        (WTF::ThreadCondition::timedWait):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Tiger build fix...?
beidson@apple.com [Thu, 6 Mar 2008 20:58:35 +0000 (20:58 +0000)]
    Tiger build fix...?

        * DumpRenderTree/mac/WatchdogMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30854 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - another small step towards fixing the Qt build
darin@apple.com [Thu, 6 Mar 2008 20:08:54 +0000 (20:08 +0000)]
    - another small step towards fixing the Qt build

        * JavaScriptCore.pri: Remove more references to the now-obsolete bindings directory.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoJavaScriptCore:
darin@apple.com [Thu, 6 Mar 2008 20:02:04 +0000 (20:02 +0000)]
JavaScriptCore:

        - a small step towards fixing the Qt build

        * JavaScriptCore.pri: Remove references to files no longer present in JavaScriptCore/bindings.

WebCore:

        - try to fix Wx build

        * WebCoreSources.bkl: Added PageGroup.cpp.

WebKit/mac:

        - fix Tiger build

        * History/WebHistory.mm: Added include of WebTypesInternal.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30852 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Gtk Build fix
beidson@apple.com [Thu, 6 Mar 2008 19:50:32 +0000 (19:50 +0000)]
    Gtk Build fix

        * wtf/ThreadingGtk.cpp:
        (WTF::ThreadCondition::timedWait):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Wx build fix.
ap@webkit.org [Thu, 6 Mar 2008 19:34:31 +0000 (19:34 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoJavaScriptCore:
beidson@apple.com [Thu, 6 Mar 2008 18:55:02 +0000 (18:55 +0000)]
JavaScriptCore:

        Reviewed by Darin

        Add a timedWait() method to ThreadCondition

        * JavaScriptCore.exp:

        * 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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago More build fixes.
ap@webkit.org [Thu, 6 Mar 2008 18:51:57 +0000 (18:51 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - fix Release build
darin@apple.com [Thu, 6 Mar 2008 18:21:27 +0000 (18:21 +0000)]
    - fix Release build

        * History/WebHistory.mm:
        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
        (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
        (-[WebHistoryPrivate saveToURL:error:]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - try to fix the Qt build
darin@apple.com [Thu, 6 Mar 2008 18:19:09 +0000 (18:19 +0000)]
    - try to fix the Qt build

        * JavaScriptCore.pri: Add the wtf/unicode directory.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - try to fix the GTK build
darin@apple.com [Thu, 6 Mar 2008 18:18:06 +0000 (18:18 +0000)]
    - try to fix the GTK build

        * GNUmakefile.am: Add a -I for the unicode directory.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - try to fix the Mac build
darin@apple.com [Thu, 6 Mar 2008 18:14:28 +0000 (18:14 +0000)]
    - 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago - fix some builds
darin@apple.com [Thu, 6 Mar 2008 17:51:26 +0000 (17:51 +0000)]
    - fix some builds

        * GNUmakefile.am: Added PageGroup.cpp.
        * WebCore.base.exp: Removed WebCoreHistory.
        * WebCore.pro: Added PageGroup.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Darin.
ap@webkit.org [Thu, 6 Mar 2008 17:50:08 +0000 (17:50 +0000)]
    Reviewed by Darin.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30842 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Adele.
mitz@apple.com [Thu, 6 Mar 2008 17:45:27 +0000 (17:45 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
darin@apple.com [Thu, 6 Mar 2008 17:21:55 +0000 (17:21 +0000)]
WebCore:

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17526
          REGRESSION: iframes are added to Safari's History menu
          by separating the visited link machinery from global history

        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.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17526
          REGRESSION: iframes are added to Safari's History menu
          by separating the visited link machinery from global history

        * 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.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17526
          REGRESSION: iframes are added to Safari's History menu
          by separating the visited link machinery from global history

        * 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Rubber-stamped by Adam Roben.
timothy@apple.com [Thu, 6 Mar 2008 17:03:56 +0000 (17:03 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
aroben@apple.com [Thu, 6 Mar 2008 16:15:28 +0000 (16:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Rename WebCoreScriptDebuggerImp to WebScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:15:08 +0000 (16:15 +0000)]
    Rename WebCoreScriptDebuggerImp to WebScriptDebugger

        Reviewed by Kevin M.

        * WebView/WebCoreScriptDebuggerImp.h:
        * WebView/WebCoreScriptDebuggerImp.mm:
        * WebView/WebFrame.mm:
        (-[WebFrame _attachScriptDebugger]):
        * WebView/WebFrameInternal.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRemove WebScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:14:49 +0000 (16:14 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30836 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRemove -webFrame and -globalObject from WebScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:14:27 +0000 (16:14 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30835 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Remove -enterFrame: and -leaveFrame from WebScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:13:56 +0000 (16:13 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30834 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Remove -parsedSource: from WebScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:13:39 +0000 (16:13 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDe...
aroben@apple.com [Thu, 6 Mar 2008 16:13:23 +0000 (16:13 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30832 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Remove -[WebScriptDebugger hitStatement:sourceId:line:]
aroben@apple.com [Thu, 6 Mar 2008 16:13:08 +0000 (16:13 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoRemove WebCoreScriptDebugger
aroben@apple.com [Thu, 6 Mar 2008 16:12:52 +0000 (16:12 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30830 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoMove WebCoreScriptDebuggerImp to its own source files
aroben@apple.com [Thu, 6 Mar 2008 16:12:33 +0000 (16:12 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30829 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDeb...
aroben@apple.com [Thu, 6 Mar 2008 16:12:14 +0000 (16:12 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Name the WebKit build phase script that generates WebKit.LP64.exp.
ddkilzer@apple.com [Thu, 6 Mar 2008 12:15:12 +0000 (12:15 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30827 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix 64-bit Mac build.
mrowe@apple.com [Thu, 6 Mar 2008 09:40:57 +0000 (09:40 +0000)]
Fix 64-bit Mac build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30826 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoLeopard build fix.
mrowe@apple.com [Thu, 6 Mar 2008 09:24:51 +0000 (09:24 +0000)]
Leopard build fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix the wx build after the bindings move.
kevino@webkit.org [Thu, 6 Mar 2008 06:26:42 +0000 (06:26 +0000)]
Fix the wx build after the bindings move.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Adele Peterson.
mitz@apple.com [Thu, 6 Mar 2008 06:20:53 +0000 (06:20 +0000)]
    Reviewed by Adele Peterson.

        - fix "background-position: inherit"

        * css/CSSStyleSelector.cpp:
        Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
        a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
        macro.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-05 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 6 Mar 2008 06:18:14 +0000 (06:18 +0000)]
2008-03-05  Alp Toker  <alp@atoker.com>

        Add a missing make dependency for derived sources to improve
        autotools build dependency tracking.

        Issue spotted by Ori Bernstein.

        * GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-05 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 6 Mar 2008 04:44:06 +0000 (04:44 +0000)]
2008-03-05  Alp Toker  <alp@atoker.com>

        GTK+ build fix for breakage introduced in r30800.

        Track moved bridge sources from JavaScriptCore to WebCore.

        * GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoWebCore:
justin.garcia@apple.com [Thu, 6 Mar 2008 04:07:05 +0000 (04:07 +0000)]
WebCore:

        Reviewed by Darin.

        One part of fix for:
        <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues

        * editing/markup.cpp:
        (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
        inline style declarations, not the other way around.

LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues

        * editing/pasteboard/5780697-1-expected.txt: Added.
        * editing/pasteboard/5780697-1.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoAnother buildbot fix attempt, pass SHELL=/bin/bash
alp@webkit.org [Thu, 6 Mar 2008 04:02:25 +0000 (04:02 +0000)]
Another buildbot fix attempt, pass SHELL=/bin/bash

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-05 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 6 Mar 2008 03:49:21 +0000 (03:49 +0000)]
2008-03-05  Alp Toker  <alp@atoker.com>

        Attempt to get the autotools build working again on the bot with
        build-webkit.

        Force the use of /bin/bash since we seem to have bash-isms in the
        configure script right now.

        * Scripts/webkitdirs.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years agoFix typo in ChangeLog.
mrowe@apple.com [Thu, 6 Mar 2008 02:21:36 +0000 (02:21 +0000)]
Fix typo in ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Darin.
andersca@apple.com [Thu, 6 Mar 2008 02:08:48 +0000 (02:08 +0000)]
    Reviewed by Darin.

        Move JNI specific code from runtime_root over to jni_jsobject, where it is used.

        * bridge/jni/jni_jsobject.cpp:
        (completedJavaScriptAccess):
        (initializeJavaScriptAccessLock):
        (lockJavaScriptAccess):
        (unlockJavaScriptAccess):
        (dispatchToJavaScriptThread):
        (performJavaScriptAccess):
        (JavaJSObject::initializeJNIThreading):
        (isJavaScriptThread):
        (JavaJSObject::invoke):
        * bridge/jni/jni_jsobject.h:
        * bridge/runtime_root.cpp:
        * bridge/runtime_root.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge init]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Sam.
darin@apple.com [Thu, 6 Mar 2008 02:05:47 +0000 (02:05 +0000)]
    Reviewed by Sam.

        - add functions giving offsets within a KURL, slated to replace the
          EncodedURL object in CSSStyleSelector (in a future "visited link" change)
        - chagned all KURL data members names to use the traditional m_ prefix
        - initialize all members to 0 in invalid KURLs rather than having all
          functions check m_isValid

        * platform/KURL.cpp:
        (WebCore::KURL::invalidate): Added. Initializes all the fields except for
        m_string to the "invalid" values. For use in the empty constructor and
        in the init and parse functions.
        (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
        early to use the invalidate() function. Updated for member variable name
        changes.
        (WebCore::KURL::hasPath): Updated for member variable name changes.
        Remove now-unneeded check of m_isValid.
        (WebCore::KURL::lastPathComponent): Ditto.
        (WebCore::KURL::protocol): Ditto.
        (WebCore::KURL::host): Ditto.
        (WebCore::KURL::port): Ditto.
        (WebCore::KURL::pass): Ditto.
        (WebCore::KURL::user): Ditto.
        (WebCore::KURL::ref): Ditto.
        (WebCore::KURL::hasRef): Ditto.
        (WebCore::KURL::protocolIs): Ditto.
        (WebCore::KURL::query): Ditto.
        (WebCore::KURL::path): Ditto.
        (WebCore::KURL::setProtocol): Ditto.
        (WebCore::KURL::setHost): Ditto.
        (WebCore::KURL::setPort): Ditto.
        (WebCore::KURL::setHostAndPort): Ditto.
        (WebCore::KURL::setUser): Ditto.
        (WebCore::KURL::setPass): Ditto.
        (WebCore::KURL::setRef): Ditto.
        (WebCore::KURL::setQuery): Ditto.
        (WebCore::KURL::setPath): Ditto.
        (WebCore::KURL::prettyURL): Ditto.
        (WebCore::copyPathRemovingDots): Removed braces to match our code style.
        (WebCore::KURL::parse): Changed all code paths that return early to use
        the invalidate function. Moved code to set m_isValid to true to the very
        end of the function. Removed braces to match our code style. Removed an
        extra copy of the path/query/fragment code (there were two identical copies
        in the two sides of an if statement). Removed some commented-out code.
        Reversed an if statment. Added code to set the new m_pathAfterLastSlash
        field. Updated for member variable name changes.
        (WebCore::equalIgnoringRef): Updated for member variable name changes.
        (WebCore::KURL::isHierarchical): Ditto.

        * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
        constructor inline and called the new invalidate function. Added new
        pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
        new visited link code. Added an invalidate function. Renamed all the
        data members to use the m_ prefix.

        * WebCore.base.exp: Updated.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Sam.
andersca@apple.com [Thu, 6 Mar 2008 01:39:21 +0000 (01:39 +0000)]
    Reviewed by Sam.

        * WebCore.xcodeproj/project.pbxproj:
        Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge
        this with jni_objc.mm and create jni_jsobject.mm.

        * bridge/jni/jni_jsobject.cpp:
        (createRootObject):
        Move createRootObject here from WebCoreFrameBridge.

        (JavaJSObject::createNative):
        Call the newly added createRootObject function.

        * bridge/runtime_root.cpp:
        (KJS::Bindings::RootObject::initializeJNIThreading):
        * bridge/runtime_root.h:
        setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::createScriptInstanceForWidget):
        Just call Frame::createRootObject here.

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge init]):
        Call initializeJNIThreading.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago Reviewed by Sam.
andersca@apple.com [Wed, 5 Mar 2008 23:52:14 +0000 (23:52 +0000)]
    Reviewed by Sam.

        Change some static class variables to be regular static variables,
        making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]

        * bridge/runtime_root.cpp:
        (KJS::Bindings::completedJavaScriptAccess):
        (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
        (KJS::Bindings::performJavaScriptAccess):
        (KJS::Bindings::RootObject::createRootObject):
        (KJS::Bindings::RootObject::runLoop):
        (KJS::Bindings::RootObject::setCreateRootObject):
        * bridge/runtime_root.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 years ago2008-03-05 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Wed, 5 Mar 2008 22:44:12 +0000 (22:44 +0000)]
2008-03-05  Brent Fulgham <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Modify source files to use the USE(SAFARI_THEME) macro, rather than
        USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)

        * WebCore/platform/win/PlatformScrollBarSafari.cpp
        * WebCore/rendering/RenderThemeSafari.cpp
        * WebCore/rendering/RenderThemeSafari.h
        * config.h: Move definition of WTF_USE_SAFARI_THEME here

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

        Reviewed by Adam Roben.

        Remove definition of WTF_USE_SAFARI_THEME from wtf/Platform.h
        because the PLATFORM(CG) flag is not set until config.h has
        already included this file.

        * wtf/Platform.h:  Remove useless definition of WTF_USE_SAFARI_THEME

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30812 268f45cc-cd09-0410-ab3c-d52691b4dbfc