Timeline



Mar 7, 2008:

11:54 PM Changeset in webkit [30897] by ddkilzer@apple.com
  • 55 edits
    1 add in trunk

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.
11:46 PM Changeset in webkit [30896] by ap@webkit.org
  • 2 edits in trunk/WebKit/mac

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.
11:25 PM Changeset in webkit [30895] by mrowe@apple.com
  • 6 edits in trunk

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.
11:11 PM Changeset in webkit [30894] by ap@webkit.org
  • 5 edits in trunk

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.
10:19 PM Changeset in webkit [30893] by Stephanie Lewis
  • 2 edits in trunk/WebCore

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.
10:07 PM Changeset in webkit [30892] by alp@webkit.org
  • 2 edits in trunk/WebCore

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):
9:58 PM Changeset in webkit [30891] by oliver@apple.com
  • 4 edits
    3 adds in trunk

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

7:43 PM Changeset in webkit [30890] by oliver@apple.com
  • 2 edits in trunk/WebCore

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.

7:25 PM Changeset in webkit [30889] by Stephanie Lewis
  • 3 edits in trunk/WebKitTools

2008-03-07 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver.

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

  • DumpRenderTree/win/DumpRenderTree.cpp: (dump): (main):
7:08 PM Changeset in webkit [30888] by weinig@apple.com
  • 13 edits
    4 adds in trunk

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.
5:30 PM Changeset in webkit [30887] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

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:
5:28 PM Changeset in webkit [30886] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
4:19 PM Changeset in webkit [30885] by adele@apple.com
  • 1 edit in trunk/LayoutTests/platform/win/Skipped

Removing duplicate entry for hasFocus.html

4:09 PM Changeset in webkit [30884] by Stephanie Lewis
  • 3 edits in trunk

2008-03-07 Stephanie Lewis <Stephanie Lewis>

update Windows Skipped List

  • platform/win/Skipped:
3:29 PM Changeset in webkit [30883] by mrowe@apple.com
  • 4 edits in trunk

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
2:56 PM Changeset in webkit [30882] by adele@apple.com
  • 2 edits in trunk/LayoutTests

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

  • platform/win/Skipped:
2:32 PM Changeset in webkit [30881] by Stephanie Lewis
  • 3 edits in trunk/WebKitTools

2008-03-07 Stephanie <Stephanie Lewis>

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
2:23 PM Changeset in webkit [30880] by mrowe@apple.com
  • 4 edits in tags/Safari-6526.0.1

Versioning.

2:21 PM Changeset in webkit [30879] by mrowe@apple.com
  • 2 edits in tags/Safari-6526.0.1/WebCore

Fix the 64-bit build.

2:18 PM Changeset in webkit [30878] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.0.1

New tag.

1:23 PM ProposedWebInspectorUIRefresh edited by Adam Roben
Added images inline (diff)
1:18 PM New Inspector - Resources 3.1.png attached to ProposedWebInspectorUIRefresh by Adam Roben
Mockup of the Inspector's Resources view showing a resource's source
1:17 PM New Inspector - Resources 3.png attached to ProposedWebInspectorUIRefresh by Adam Roben
Mockup of the Inspector's Resources view showing the Time graph
1:15 PM New Inspector - Elements.png attached to ProposedWebInspectorUIRefresh by Adam Roben
Mockup of the Inspector's Elements view
1:15 PM Changeset in webkit [30877] by mrowe@apple.com
  • 2 edits in trunk/WebKit/win

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
1:15 PM ProposedWebInspectorUIRefresh created by Adam Roben
Initial version copied from Tim's emails
1:13 PM Changeset in webkit [30876] by mrowe@apple.com
  • 5 edits in trunk

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:
1:09 PM Web Inspector edited by Adam Roben
Add a link to a new page about Inspector UI improvements (diff)
1:00 PM Changeset in webkit [30875] by Darin Adler
  • 13 edits in trunk

WebCore:

Reviewed by Adam.

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

WebKit/mac:

Reviewed by Adam.

  • eliminated WebCoreFrameBridge runOpenPanel
  • WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): Added. (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the FileChooser so it can get a result from the UI delegate. (-[WebOpenPanelResultListener dealloc]): Added. (-[WebOpenPanelResultListener finalize]): Added. (-[WebOpenPanelResultListener cancel]): Added. (-[WebOpenPanelResultListener chooseFilename:]): Added.
12:51 PM Changeset in webkit [30874] by Adam Roben
  • 11 edits
    3 adds in trunk

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

WebCore:

Add JavaScriptDebugServer

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

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

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

Reviewed by Darin.

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

WebKit/win:

Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer

WebScriptDebugServer is now a JavaScriptDebugListener.

Reviewed by Darin.

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

Reviewed by Brady.

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

Get pdevenv working with Visual Studio Express.


Reviewed by Adam.

  • Scripts/pdevenv:
11:46 AM Changeset in webkit [30871] by ggaren@apple.com
  • 16 edits
    10 adds
    4 deletes in trunk

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.
5:09 AM Changeset in webkit [30870] by Simon Hausmann
  • 4 edits in trunk

Fix the Qt build.

Mar 6, 2008:

11:45 PM Changeset in webkit [30869] by oliver@apple.com
  • 8 edits
    2 adds in trunk

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

7:24 PM ApplicationsGtk edited by alp@atoker.com
Fix app URL (diff)
7:22 PM ApplicationsGtk edited by alp@atoker.com
Add another doc browser (diff)
5:55 PM Changeset in webkit [30868] by andersca@apple.com
  • 7 edits in trunk/WebCore

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):
5:51 PM Changeset in webkit [30867] by Darin Adler
  • 10 edits in trunk

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.
5:30 PM Changeset in webkit [30866] by adele@apple.com
  • 7 edits
    5 adds in trunk

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.
5:09 PM Changeset in webkit [30865] by mitz@apple.com
  • 4 edits
    4 adds in trunk

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.
4:28 PM Changeset in webkit [30864] by pewtermoose@webkit.org
  • 4 edits in trunk

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:
4:14 PM Changeset in webkit [30863] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/bindings/scripts/CodeGeneratorCOM.pm

Fix typos.

4:14 PM Changeset in webkit [30862] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

3:39 PM Changeset in webkit [30861] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

3:33 PM Changeset in webkit [30860] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

3:30 PM Changeset in webkit [30859] by mrowe@apple.com
  • 1 copy in tags/Safari-6526

New tag.

3:28 PM Changeset in webkit [30858] by kmccullough@apple.com
  • 2 edits in trunk/WebKitTools

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:
3:11 PM Changeset in webkit [30857] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

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

  • GNUmakefile.am:
1:45 PM Changeset in webkit [30856] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

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):
1:09 PM Changeset in webkit [30855] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • wtf/ThreadingWin.cpp: (WTF::ThreadCondition::timedWait):
12:58 PM Changeset in webkit [30854] by beidson@apple.com
  • 2 edits in trunk/WebKitTools

Tiger build fix...?

  • DumpRenderTree/mac/WatchdogMac.mm:
12:08 PM Changeset in webkit [30853] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • another small step towards fixing the Qt build
  • JavaScriptCore.pri: Remove more references to the now-obsolete bindings directory.
12:02 PM Changeset in webkit [30852] by Darin Adler
  • 6 edits in trunk

JavaScriptCore:

  • a small step towards fixing the Qt build

WebCore:

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

WebKit/mac:

  • fix Tiger build
  • History/WebHistory.mm: Added include of WebTypesInternal.h.
11:50 AM Changeset in webkit [30851] by beidson@apple.com
  • 2 edits in trunk/JavaScriptCore

Gtk Build fix

  • wtf/ThreadingGtk.cpp: (WTF::ThreadCondition::timedWait):
11:34 AM Changeset in webkit [30850] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Wx build fix.

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

JavaScriptCore:

Reviewed by Darin

Add a timedWait() method to ThreadCondition

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

WebKitTools:

Reviewed by Darin

Added a cross-platform Watchdog thread to DRT.

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

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

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

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

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

More build fixes.

  • jscore.bkl: Add the wtf/unicode directory.
  • wtf/unicode/CollatorDefault.cpp: (WTF::Collator::userDefault): Use a constructor that does exist.
  • wtf/unicode/icu/CollatorICU.cpp: Mac build fix for case-sensitive file systems.
10:21 AM Changeset in webkit [30847] by Darin Adler
  • 2 edits in trunk/WebKit/mac
  • fix Release build
  • History/WebHistory.mm: (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore. (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if. (-[WebHistoryPrivate saveToURL:error:]): Ditto.
10:19 AM Changeset in webkit [30846] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • try to fix the Qt build
10:18 AM Changeset in webkit [30845] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • try to fix the GTK build
  • GNUmakefile.am: Add a -I for the unicode directory.
10:14 AM Changeset in webkit [30844] by Darin Adler
  • 1 edit
    5 copies in trunk/JavaScriptCore
  • 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.
9:51 AM Changeset in webkit [30843] by Darin Adler
  • 4 edits in trunk/WebCore
  • fix some builds
  • GNUmakefile.am: Added PageGroup.cpp.
  • WebCore.base.exp: Removed WebCoreHistory.
  • WebCore.pro: Added PageGroup.cpp.
9:50 AM Changeset in webkit [30842] by ap@webkit.org
  • 17 edits
    7 adds in trunk

Reviewed by Darin.

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

9:45 AM Changeset in webkit [30841] by mitz@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

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.
9:21 AM Changeset in webkit [30840] by Darin Adler
  • 33 edits
    3 adds
    7 deletes in trunk

WebCore:

Reviewed by Mitz.

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

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

WebKit:

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

WebKit/mac:

Reviewed by Mitz.

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

WebKit/win:

Reviewed by Mitz.

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

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.
8:15 AM Changeset in webkit [30838] by Adam Roben
  • 5 edits
    2 moves in trunk/WebKit

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.
8:15 AM Changeset in webkit [30837] by Adam Roben
  • 5 edits in trunk/WebKit/mac

Rename WebCoreScriptDebuggerImp to WebScriptDebugger

Reviewed by Kevin M.

  • WebView/WebCoreScriptDebuggerImp.h:
  • WebView/WebCoreScriptDebuggerImp.mm:
  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]):
  • WebView/WebFrameInternal.h:
8:14 AM Changeset in webkit [30836] by Adam Roben
  • 7 edits
    1 delete in trunk/WebKit

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:
8:14 AM Changeset in webkit [30835] by Adam Roben
  • 8 edits in trunk

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.
8:13 AM Changeset in webkit [30834] by Adam Roben
  • 5 edits in trunk/WebKit/mac

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.
8:13 AM Changeset in webkit [30833] by Adam Roben
  • 4 edits in trunk/WebKit/mac

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.
8:13 AM Changeset in webkit [30832] by Adam Roben
  • 4 edits in trunk/WebKit/mac

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.
8:13 AM Changeset in webkit [30831] by Adam Roben
  • 4 edits in trunk/WebKit/mac

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:
8:12 AM Changeset in webkit [30830] by Adam Roben
  • 7 edits
    2 deletes in trunk/WebKit

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.
8:12 AM Changeset in webkit [30829] by Adam Roben
  • 5 edits
    2 adds in trunk/WebKit

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):
8:12 AM Changeset in webkit [30828] by Adam Roben
  • 5 edits in trunk/WebKit/mac

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.
4:15 AM Changeset in webkit [30827] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit

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.
1:40 AM Changeset in webkit [30826] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix 64-bit Mac build.

1:24 AM Changeset in webkit [30825] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Leopard build fix.

Mar 5, 2008:

10:26 PM Changeset in webkit [30824] by kevino@webkit.org
  • 7 edits in trunk

Fix the wx build after the bindings move.

10:20 PM Changeset in webkit [30823] by mitz@apple.com
  • 2 edits in trunk/WebCore

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.
10:18 PM Changeset in webkit [30822] by alp@webkit.org
  • 2 edits in trunk/WebCore

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:
8:44 PM Changeset in webkit [30821] by alp@webkit.org
  • 4 edits in trunk

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:
8:07 PM Changeset in webkit [30820] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

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.
8:02 PM Changeset in webkit [30819] by alp@webkit.org
  • 1 edit in trunk/WebKitTools/Scripts/webkitdirs.pm

Another buildbot fix attempt, pass SHELL=/bin/bash

7:49 PM Changeset in webkit [30818] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

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:
6:21 PM Changeset in webkit [30817] by mrowe@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo in ChangeLog.

6:08 PM Changeset in webkit [30816] by andersca@apple.com
  • 6 edits in trunk/WebCore

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]):
6:05 PM Changeset in webkit [30815] by Darin Adler
  • 4 edits in trunk/WebCore

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.
5:39 PM Changeset in webkit [30814] by andersca@apple.com
  • 7 edits in trunk/WebCore

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.
3:52 PM Changeset in webkit [30813] by andersca@apple.com
  • 3 edits in trunk/WebCore

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:
2:44 PM Changeset in webkit [30812] by mrowe@apple.com
  • 7 edits in trunk

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
2:26 PM Changeset in webkit [30811] by beidson@apple.com
  • 6 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Alexey and Mark Rowe

Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html

DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
removing particular items for Databases that were shutting down.

This filtering operation is not atomic, and therefore causes a race condition with the
MessageQueue waking up and reading from the message queue.

The end result was an attempt to dereference a null DatabaseTask. Timing-wise, this never
seemed to happen in a debug build, otherwise an assertion would've caught it. Replacing that
assertion with a crash in a release build is what revealed this bug.

  • wtf/MessageQueue.h: (WTF::::waitForMessage): Tweak the waiting logic to check the queue's empty state then go back to sleep if the queue was empty - checking m_killed each time it wakes up.

WebCore:

Reviewed by Alexey and Mark Rowe

Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html

DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
removing particular items for Databases that were shutting down.

This filtering operation is not atomic, and therefore causes a race condition with the
database thread waking up and reading from the message queue.

The end result was an attempt to dereference a null DatabaseTask. Timing-wise, this never
seemed to happen in a debug build, otherwise an assertion would've caught it. Replacing that
assertion with a crash in a release build is what revealed this bug.

The fix for the above symptom was entirely in WTF::MessageQueue in JSCore. With this fix in
place, another crash popped up in the layout tests that was related to dereferencing a
deallocated object - simply because SQLTransaction had a raw pointer to it's Database object
when it needed to be a ref pointer.

  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::runCurrentStatement):
  • storage/SQLTransaction.h: Change m_database to be a RefPtr (WebCore::SQLTransaction::database):

LayoutTests:

Reviewed by Alexey + Mark Rowe

Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html

This test takes its best shot at handling two databases on a single database thread at once,
then having one of those databases go away completely (garbage collection and everything)

  • storage/multiple-databases-garbage-collection-expected.txt: Added.
  • storage/multiple-databases-garbage-collection.html: Added.
2:20 PM Changeset in webkit [30810] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

Remove unused header includes from interpreter.cpp.

Reviewed by Darin.

  • kjs/interpreter.cpp: Remove unused header includes.
2:08 PM Changeset in webkit [30809] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Build fix. Remove symbol that no longer exists from the exports file.

1:51 PM Changeset in webkit [30808] by ddkilzer@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed commit date.

12:56 PM Changeset in webkit [30807] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

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

Re-attempt to switch to the autotools build system for GTK+.

Change scripts to continue when distclean fails.

  • Scripts/webkitdirs.pm:
11:35 AM Changeset in webkit [30806] by Adam Roben
  • 5 edits in trunk/WebKit/mac

Remove WebCoreScriptCallFrame

Reviewed by Tim.

  • WebView/WebCoreScriptDebugger.h:
    • Replaced WebCoreScriptCallFrame with WebScriptCallFrame
    • Replaced -newWrapperForFrame: with -newFrameWithGlobalObject:caller:state:
    • Removed WebCoreScriptCallFrame interface.
  • WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame with WebScriptCallFrame. (-[WebCoreScriptDebugger _enterFrame:]): Changed to call -newFrameWithGlobalObject:caller:state. (-[WebCoreScriptDebugger _leaveFrame]):
  • WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's _private ivar to be of type WebScriptCallFramePrivate*.
  • WebView/WebScriptDebugDelegate.mm:
    • Replaced WebCoreScriptCallFrame with WebScriptCallFrame
    • Added WebScriptCallFramePrivate

(-[WebScriptDebugger enteredFrame:sourceId:line:]):
(-[WebScriptDebugger hitStatement:sourceId:line:]):
(-[WebScriptDebugger leavingFrame:sourceId:line:]):
(-[WebScriptDebugger exceptionRaised:sourceId:line:]):
(-[WebScriptCallFramePrivate dealloc]): Added.
(-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
Code came from WebCoreScriptCallFrame.
(-[WebScriptCallFrame dealloc]): Added a call to release the _private
ivar.
(-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
_private with direct access of _private's ivars.
(-[WebScriptCallFrame caller]): Ditto.
(-[WebScriptCallFrame scopeChain]): Ditto.
(-[WebScriptCallFrame evaluateWebScript:]): Ditto.

11:35 AM Changeset in webkit [30805] by Adam Roben
  • 4 edits in trunk/WebKit/mac

Move -_convertValueToObjcValue to WebScriptCallFrame

Reviewed by Darin.

  • WebView/WebCoreScriptDebugger.h: Removed declaration of -_convertValueToObjcValue.
  • WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came from -[WebCoreScriptCallFrame _convertValueToObjcValue]. (-[WebScriptCallFrame scopeChain]): Changed to call -_convertValueToObjcValue on self instead of _private. (-[WebScriptCallFrame exception]): Ditto. (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
11:34 AM Changeset in webkit [30804] by Adam Roben
  • 4 edits in trunk/WebKit/mac

Move -exception and -evaluateWebScript: to WebScriptCallFrame

Reviewed by Darin.

  • WebView/WebCoreScriptDebugger.h: Removed declarations of -exception and -evaluateWebScript:.
  • WebView/WebCoreScriptDebugger.mm: Removed -exception and -evaluateWebScript:.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame exception]): Added. Code came from -[WebCoreScriptCallFrame exception]. (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from -[WebCoreScriptCallFrame evaluateWebScript:].
11:34 AM Changeset in webkit [30803] by Adam Roben
  • 4 edits in trunk/WebKit/mac

Move -scopeChain to WebScriptCallFrame

Reviewed by Darin.

  • WebView/WebCoreScriptDebugger.h:
    • Added declarations of -globalObject and -_convertValueToObjcValue: to WebCoreScriptCallFrame
    • Removed declaration of -scopeChain.
  • WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue within the main WebCoreScriptCallFrame implementation. (-[WebCoreScriptCallFrame globalObject]): Added.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): Added. Code came from -[WebCoreScriptCallFrame scopeChain].
11:34 AM Changeset in webkit [30802] by Adam Roben
  • 4 edits in trunk/WebKit/mac

Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame

Reviewed by Darin.

  • WebView/WebCoreScriptDebugger.h:
    • Removed #else case of #ifdef cplusplus since this file is only ever used by C++ Objective-C files
    • Removed 'using KJS::ExecState' statement since we prefer not to have using statements in header files
    • Consequently prefixed uses of ExecState with KJS::
    • Added declaration of toNSString method that takes a const UString&
    • Added declaration of -[WebCoreScriptCallFrame state]
    • Removed declaration of -[WebCoreScriptCallFrame functionName]
  • WebView/WebCoreScriptDebugger.mm: (toNSString): Made this no longer static. (-[WebCoreScriptCallFrame state]): Added.
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame functionName]): Added. Code came from -[WebCoreScriptCallFrame functionName], though I changed some nested ifs into early returns.
11:33 AM Changeset in webkit [30801] by Adam Roben
  • 8 edits
    2 moves in trunk

Move WebCoreScriptDebugger up to WebKit

WebCore:

Move WebCoreScriptDebugger up to WebKit

Reviewed by Darin.

  • WebCore.base.exp: Exported some functions used by WebCoreScriptDebugger, and sorted the list.
  • WebCore.xcodeproj/project.pbxproj: Removed WebCoreScriptDebugger.{h,mm} from the project and marked a few headers private so that WebKit can use them.
  • page/mac/WebCoreScriptDebugger.h: Removed.
  • page/mac/WebCoreScriptDebugger.mm: Removed.

WebKit:

Move WebCoreScriptDebugger to WebKit

Reviewed by Darin.

  • WebKit.xcodeproj/project.pbxproj: Added WebCoreScriptDebugger.{h,mm} to the project.

WebKit/mac:

Move WebCoreScriptDebugger to WebKit

Reviewed by Darin.

  • WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
  • WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm. (toNSString): (toNSURL): (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): (WebCoreScriptDebuggerImp::sourceParsed): (WebCoreScriptDebuggerImp::callEvent): (WebCoreScriptDebuggerImp::atStatement): (WebCoreScriptDebuggerImp::returnEvent): (WebCoreScriptDebuggerImp::exception): (+[WebCoreScriptDebugger initialize]): (-[WebCoreScriptDebugger initWithDelegate:]): (-[WebCoreScriptDebugger dealloc]): (-[WebCoreScriptDebugger finalize]): (-[WebCoreScriptDebugger delegate]): (-[WebCoreScriptDebugger _enterFrame:]): (-[WebCoreScriptDebugger _leaveFrame]): (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]): (-[WebCoreScriptCallFrame _setWrapper:]): (-[WebCoreScriptCallFrame _convertValueToObjcValue:]): (-[WebCoreScriptCallFrame dealloc]): (-[WebCoreScriptCallFrame wrapper]): (-[WebCoreScriptCallFrame caller]): (-[WebCoreScriptCallFrame scopeChain]): (-[WebCoreScriptCallFrame functionName]): (-[WebCoreScriptCallFrame exception]): (-[WebCoreScriptCallFrame evaluateWebScript:]):
  • WebView/WebScriptDebugDelegate.mm: Updated header path.
  • WebView/WebScriptDebugDelegatePrivate.h: Ditto.
11:14 AM Changeset in webkit [30800] by andersca@apple.com
  • 1 edit
    1 delete in trunk/JavaScriptCore

Reviewed by Sam.


Remove bindings/.

  • bindings: Removed.
11:13 AM Changeset in webkit [30799] by andersca@apple.com
  • 2 edits in trunk/WebKit/win

Build fix.

  • WebKit.vcproj/WebKit.vcproj:
11:12 AM Changeset in webkit [30798] by andersca@apple.com
  • 2 edits in trunk/WebCore

Build bridge/. Copy some headers over to WebKit as part of the post-build step.


  • WebCore.vcproj/WebCore.vcproj:
11:11 AM Changeset in webkit [30797] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

Don't build bindings/ anymore.


11:04 AM Changeset in webkit [30796] by andersca@apple.com
  • 25 edits in trunk

JavaScriptCore:

Reviewed by Geoff.

Don't build JavaScriptCore/bindings.




  • kjs/config.h: No need to define HAVE_JNI anymore.


  • kjs/interpreter.cpp: Remove unnecessary include.

WebCore:

Reviewed by Geoff.

  • WebCore.base.exp: Add the NPN and KJS methods.


  • WebCore.xcodeproj/project.pbxproj: Bring in bridge/
  • config.h: Add HAVE_JNI define.


  • bindings/js/kjs_html.cpp:
  • bindings/objc/DOMInternal.mm:
  • bindings/objc/DOMUtility.mm:
  • bindings/objc/WebScriptObject.mm:
  • html/HTMLAppletElement.cpp:
  • html/HTMLEmbedElement.cpp:
  • html/HTMLObjectElement.cpp:
  • html/HTMLPlugInElement.cpp:
  • page/Frame.cpp:
  • page/mac/FrameMac.mm:
  • page/mac/WebCoreFrameBridge.mm:
  • page/mac/WebCoreScriptDebugger.mm:
  • plugins/win/PluginViewWin.cpp: Include file changes.

WebKit/mac:

Reviewed by Geoff.

Include file changes.


  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebNetscapePluginPackage.m:
10:19 AM Changeset in webkit [30795] by ddkilzer@apple.com
  • 3 edits in trunk/JavaScriptCore

Allow override of default script file name using command-line argument.

Reviewed by Adele.

  • API/minidom.c: (main): Allow first command-line argument to override the default script file name of "minidom.js".
  • API/testapi.c: (main): Allow first command-line argument to override the default script file name of "testapi.js".
9:02 AM Changeset in webkit [30794] by andersca@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Sam.

Rewrite NPRuntime string conversion routines to use WebCore::String


  • bridge/NP_jsobject.cpp: (_NPN_Evaluate):
  • bridge/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback): (KJS::Bindings::convertNPVariantToValue): (KJS::Bindings::convertNPStringToUTF16): (KJS::Bindings::identifierFromNPIdentifier):
  • bridge/c/c_utility.h:
1:13 AM Changeset in webkit [30793] by oliver@apple.com
  • 2 edits in trunk/WebCore

Small performance improvement to putImageData (3-5% on assignment in my tests)

Reviewed by Alexey P

12:44 AM Changeset in webkit [30792] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

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

Force qmake for the GTK+ build until we get the build bot to succeed
with autotools (currently dies at make distclean)

  • Scripts/webkitdirs.pm:

Mar 4, 2008:

11:31 PM Changeset in webkit [30791] by weinig@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Adele.

  • bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
11:08 PM Changeset in webkit [30790] by mjs@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Sam and Oliver.

  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark): When marking a node that's in-document, mark the owner document if it hasn't been already. This means holding on to a single node from an unreferenced document now keeps the whole document alive.


We are now at 90/100 on Acid3.

LayoutTests:

Reviewed by Sam and Oliver.

  • fast/dom/gc-11-expected.txt: Added. Test case from bug 16289.
  • fast/dom/gc-11.html: Added.
  • fast/dom/gc-acid3.html: Added. DOM garbage collection part of Acid3.
  • fast/dom/gc-acid3-expected.txt: Added.
  • fast/dom/gc-6-expected.txt: Updated results. The old assumptions of this test were in conflict with the requirements of Acid3.
10:54 PM Changeset in webkit [30789] by alp@webkit.org
  • 5 edits in trunk/WebKitTools

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

Reviewed by Mark Rowe.

Switch the default GTK+ build system from qmake to autotools.

qmake can still be used by defining WEBKIT_BUILD_SYSTEM=qmake

  • Scripts/build-webkit:
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
10:42 PM Changeset in webkit [30788] by weinig@apple.com
  • 2 edits in trunk/WebCore

Qt build fix.

  • page/qt/FrameQt.cpp:
10:17 PM Changeset in webkit [30787] by weinig@apple.com
  • 42 edits
    2 moves in trunk

WebCore:

Reviewed by Mark Rowe.

Rename kjs_window to JSDOMWindowBase.

  • Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including JSDOMWindow.h
  • ChangeLog:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSCustomVoidCallback.cpp:
  • bindings/js/JSCustomXPathNSResolver.cpp:
  • bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
  • bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSDatabaseCustom.cpp:
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSHTMLDocumentCustom.cpp:
  • bindings/js/JSHTMLFrameSetElementCustom.cpp:
  • bindings/js/JSHistoryCustom.cpp:
  • bindings/js/JSLocation.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/js/JSXMLHttpRequest.cpp:
  • bindings/js/ScheduledAction.cpp:
  • bindings/js/kjs_binding.cpp:
  • bindings/js/kjs_events.cpp:
  • bindings/js/kjs_navigator.cpp:
  • bindings/js/kjs_proxy.cpp:
  • bindings/js/kjs_window.cpp: Removed.
  • bindings/js/kjs_window.h: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:
  • history/CachedPage.cpp:
  • loader/FrameLoader.cpp:
  • page/Chrome.cpp:
  • page/InspectorController.cpp:
  • page/mac/FrameMac.mm:
  • page/mac/WebCoreFrameBridge.mm:
  • page/qt/FrameQt.cpp:
  • page/win/FrameWin.cpp:
  • plugins/win/PluginViewWin.cpp:

WebKit/gtk:

Reviewed by Mark Rowe.

  • Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including JSDOMWindow.h
  • WebCoreSupport/FrameLoaderClientGtk.cpp:
  • webkit/webkitwebframe.cpp:

WebKit/qt:

Reviewed by Mark Rowe.

  • Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including JSDOMWindow.h
  • Api/qwebframe.cpp: (QWebFrame::addToJSWindowObject):

WebKit/win:

Reviewed by Mark Rowe.

  • Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including JSDOMWindow.h
  • WebFrame.cpp:
8:48 PM Changeset in webkit [30786] by timothy@apple.com
  • 3 edits in trunk

Fix the Tiger build.

8:40 PM Changeset in webkit [30785] by mrowe@apple.com
  • 2 edits in trunk/WebKit/qt

Another go at fixing the Qt build.

8:34 PM Changeset in webkit [30784] by mrowe@apple.com
  • 2 edits in trunk/WebKitSite

Update link to Windows Platform SDK to its new location.

8:22 PM Changeset in webkit [30783] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speculative Qt build fix.

6:14 PM Changeset in webkit [30782] by andersca@apple.com
  • 28 edits in trunk/WebCore

Reviewed by Sam.

Update include paths. This code is not used yet.

  • bridge/NP_jsobject.cpp:
  • bridge/c/c_class.cpp:
  • bridge/c/c_instance.cpp:
  • bridge/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback): #if 0 this out for now.


  • bridge/jni/jni_class.cpp:
  • bridge/jni/jni_jsobject.cpp:
  • bridge/jni/jni_objc.mm:
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_utility.cpp:
  • bridge/jni/jni_utility.h:
  • bridge/npruntime.cpp:
  • bridge/objc/WebScriptObject.h:
  • bridge/objc/objc_class.h:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_utility.h:
  • bridge/objc/objc_utility.mm:
  • bridge/runtime.cpp:
  • bridge/runtime.h:
  • bridge/runtime_array.cpp:
  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:
  • bridge/runtime_root.cpp:
  • bridge/runtime_root.h:
6:09 PM Changeset in webkit [30781] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/encoding/url-host-name-non-ascii.html

  • platform/KURL.cpp: (WebCore::appendEncodedHostname): Added an early return in the all-ASCII case to avoid copying the host name twice and corrected the error checking after calling uidna_IDNToASCII().

LayoutTests:

  • fast/encoding/url-host-name-non-ascii-expected.txt: Added.
  • fast/encoding/url-host-name-non-ascii.html: Added.
5:21 PM Changeset in webkit [30780] by timothy@apple.com
  • 1 edit in trunk/WebCore/platform/network/mac/ResourceHandleMac.mm

Fix the Tiger build.

5:02 PM Changeset in webkit [30779] by weinig@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Dan Bernstein.

Use JSDOMWindow exclusively instead of JSDOMWindowBase.

  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/kjs_window.cpp: (WebCore::JSDOMWindowBase::timerFired):
4:57 PM Changeset in webkit [30778] by timothy@apple.com
  • 13 edits
    5 adds in trunk

WebCore:

Reviewed by Darin Adler.

<rdar://problem/5720160> Browser windows "do nothing" while modal
dialog or menu is up due to run loop modes (or while scrolling)

Adds a new SchedulePair object that holds a runloop and the mode to use.
A HashSet of SchedulePairs is tracked by Page so it can be used for resource
loading and, in the future, maybe SharedTimerMac.

  • WebCore.base.exp: Add new exports for WebKit.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • loader/mac/DocumentLoaderMac.cpp: Added. (WebCore::scheduleAll): Call schedule all the ResourceLoader handles. (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles. (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader. (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
  • loader/DocumentLoader.h:
  • page/Page.h: (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
  • page/mac/PageMac.cpp: (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs. (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
  • platform/cf/SchedulePair.cpp: Added.
  • platform/cf/SchedulePair.h: Added.
  • platform/mac/SchedulePairMac.mm: Added.
  • platform/network/ResourceHandle.h:
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::advanceCurrentStream): Use the new SchedulePair. (WebCore::formCreate): Ditto. (WebCore::formFinalize): Ditto. (WebCore::formSchedule): Ditto. (WebCore::formUnschedule): Ditto.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes. (WebCore::ResourceHandle::schedule): (WebCore::ResourceHandle::unschedule):

WebKit/mac:

Reviewed by Darin Adler.

<rdar://problem/5720160> Browser windows "do nothing" while modal
dialog or menu is up due to run loop modes (or while scrolling)

Add new API that lets a WebView be scheduled with multiple runloops and modes.
This lets loading continue when in a nested runloop or in a different mode.

  • Misc/WebKitVersionChecks.h: Add a new version define: WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise. (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page. (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
  • WebView/WebViewPrivate.h: Add the new pending API methods.
4:53 PM Changeset in webkit [30777] by Nikolas Zimmermann
  • 3 edits in trunk/LayoutTests

Reviewed by Eric.
Fix svg/dynamic-updates time-dependancy problem. Remove unneeded setTimeout() call.

4:28 PM Changeset in webkit [30776] by weinig@apple.com
  • 10 edits
    2 moves in trunk/WebCore

Reviewed by Darin Adler.

Rename kjs_css to JSRGBColor.

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
  • bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
  • bindings/js/kjs_css.cpp: Removed.
  • bindings/js/kjs_css.h: Removed.
  • bindings/js/kjs_window.cpp:
  • bindings/objc/DOMUtility.mm:
  • bindings/scripts/CodeGeneratorJS.pm:
4:08 PM Changeset in webkit [30775] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix 64-bit build.


  • html/HTMLPlugInElement.cpp:
4:05 PM Changeset in webkit [30774] by Adam Roben
  • 3 edits in trunk/WebKit/win

WebScriptDebugServer cleanup

Reviewed by Anders.

  • WebScriptDebugServer.cpp: Renamed m_callingServer to m_callingListeners. (WebScriptDebugServer::WebScriptDebugServer): (WebScriptDebugServer::sharedWebScriptDebugServer): Changed to keep the shared instance as a function-level static. (WebScriptDebugServer::didLoadMainResourceForDataSource): Made return void. (WebScriptDebugServer::sourceParsed): (WebScriptDebugServer::callEvent): (WebScriptDebugServer::atStatement): (WebScriptDebugServer::returnEvent): (WebScriptDebugServer::exception): (WebScriptDebugServer::serverDidDie): Made return void.
  • WebScriptDebugServer.h:
    • Removed unnecessary #includes
    • Made inheritance from KJS::Debugger private
    • Made some methods private
4:04 PM Changeset in webkit [30773] by Adam Roben
  • 4 edits
    2 deletes in trunk/WebKit/win

Remove WebScriptDebugger

Reviewed by Anders.

  • WebKit.vcproj/WebKit.vcproj: Removed files from project.
  • WebScriptDebugServer.cpp: (frame): Moved here from WebScriptDebugger.cpp. (webFrame): Ditto. (webView): Ditto. (WebScriptDebugServer::WebScriptDebugServer): Initialize new member.
  • WebScriptDebugServer.h: Changed to inherit directly from KJS::Debugger instead of from WebScriptDebugger, and added m_callingServer member that WebScriptDebugger used to own.
  • WebScriptDebugger.cpp: Removed.
  • WebScriptDebugger.h: Removed.
4:04 PM Changeset in webkit [30772] by Adam Roben
  • 5 edits in trunk/WebKit/win

Move sourceParsed to WebScriptDebugServer

Reviewed by Anders.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::sourceParsed): Moved here from WebScriptDebugger and merged with didParseSource/failedToParseSource.
  • WebScriptDebugServer.h: Removed didParseSource/failedToParseSource.
  • WebScriptDebugger.cpp: Removed sourceParsed.
  • WebScriptDebugger.h: Ditto.
4:04 PM Changeset in webkit [30771] by Adam Roben
  • 7 edits
    1 add in trunk

Move callEvent, returnEvent, and exception to WebScriptDebugServer

WebCore:

Add ExecState.h to ForwardingHeaders

Reviewed by Anders.

  • ForwardingHeaders/kjs/ExecState.h: Added.
  • page/Page.cpp: Touch this to force WebCore to build and the headers to be copied.

WebKit/win:

Move callEvent, returnEvent, and exception to WebScriptDebugServer

Reviewed by Anders.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::callEvent): Moved here from WebScriptDebugger and merged with didEnterCallFrame. (WebScriptDebugServer::returnEvent): Ditto for willLeaveCallFrame. (WebScriptDebugServer::exception): Ditto for exceptionWasRaised.
  • WebScriptDebugServer.h: Removed didEnterCallFrame, willLeaveCallFrame, and exceptionWasRaised.
  • WebScriptDebugger.cpp: Removed callEvent, returnEvent, and exception.
  • WebScriptDebugger.h: Ditto.
4:03 PM Changeset in webkit [30770] by Adam Roben
  • 5 edits in trunk/WebKit/win

Move atStatement to WebScriptDebugServer

Reviewed by Anders.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::atStatement): Moved here and merged with the old willExecuteStatement method.
  • WebScriptDebugServer.h: Removed inheritance from IWebScriptDebugListener, which no one was relying on.
  • WebScriptDebugger.cpp: (webFrame): Made non-static. (webView): Ditto.
  • WebScriptDebugger.h: Added declarations of webFrame and webView methods for WebScriptDebugServer's benefit. Removed unused m_webView and m_frame members.
4:02 PM Changeset in webkit [30769] by Adam Roben
  • 5 edits in trunk/WebKit/win

Start to merge WebScriptDebugger and WebScriptDebugServer

WebScriptDebugServer now inherits from WebScriptDebugger.

Reviewed by Anders.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::pageCreated): Use sharedWebScriptDebugServer instead of WebScriptDebugger::shared. (WebScriptDebugServer::addListener): Ditto. (WebScriptDebugServer::removeListener): Ditto.
  • WebScriptDebugServer.h: Changed to inherit from WebScriptDebugger.
  • WebScriptDebugger.cpp: Removed shared method.
  • WebScriptDebugger.h: Made constructor/destructor protected, and removed shared method.
3:43 PM Changeset in webkit [30768] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Mac build fix. Add new symbol to exports file.

3:21 PM Changeset in webkit [30767] by Nikolas Zimmermann
  • 7 edits
    11 adds in trunk

Reviewed by Eric & David.

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

Fix getSubStringLength() handling, verified by Acid3 test 77.
Brings up Acid3 score to 88/100.

Added test: svg/custom/acid3-test-77.html

svg/custom/getSubStringLength.html

3:07 PM Changeset in webkit [30766] by andersca@apple.com
  • 3 edits in trunk/WebCore

Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::attachDebugger):
  • page/Page.cpp: (WebCore::Page::setDebuggerForAllPages): (WebCore::Page::setDebugger):
2:35 PM Changeset in webkit [30765] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Darin.

Fix crash that happens when trying to load a page with a Java applet.


  • WebCoreSupport/WebFrameLoaderClient.mm: Don't release the names and values array - the kit method returns an autoreleased array.
2:26 PM Changeset in webkit [30764] by Adam Roben
  • 15 edits
    1 add in trunk

Move debugger-attaching code from WebKit/win to WebCore

WebCore:

Make it possible to set a KJS::Debugger on all Frames in a Page and
all Pages in the process

Reviewed by Kevin M.

  • ForwardingHeaders/kjs/debugger.h: Added.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::initScript): Attach the Page's debugger if there is one. (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or detach any existing debugger if none was passed in.
  • bindings/js/kjs_proxy.h:
  • page/Page.cpp: (WebCore::Page::Page): Initialize new member. (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page in the process. (WebCore::Page::setDebugger): Store the debugger and pass it off to all our Frames.
  • page/Page.h:

WebKit/win:

Use WebCore's new debugger-attaching code

Reviewed by Kevin M.

  • WebCoreSupport/WebFrameLoaderClient.cpp: Moved a kit() function to WebView.{cpp,h} so that other files can call it.
  • WebFrame.cpp: (WebFrame::WebFrame): Removed m_scriptDebugger member. (WebFrame::windowObjectCleared): Removed attach/detach calls. This is no longer needed because WebScriptDebugger no longer stores any per-WebFrame state.
  • WebFrame.h:
  • WebScriptDebugServer.cpp: (WebScriptDebugServer::pageCreated): Added. Attaches our shared debugger to the Page if we have any listeners. (WebScriptDebugServer::addListener): Sets our shared debugger for all Pages when we get our first listener. (WebScriptDebugServer::removeListener): Removes our shared debugger from all Pages when we lose our last listener.
  • WebScriptDebugServer.h:
  • WebScriptDebugger.cpp: (WebScriptDebugger::shared): Added. (WebScriptDebugger::WebScriptDebugger): Removed m_frame member. (WebScriptDebugger::~WebScriptDebugger): Added. (frame): Gets a Frame from an ExecState. (webFrame): Gets a WebFrame from an ExecState. (webView): Gets a WebView from an ExecState. (WebScriptDebugger::sourceParsed): Changed to call webFrame() and webView() instead of using m_frame and m_webView members. (WebScriptDebugger::callEvent): Ditto. (WebScriptDebugger::atStatement): Ditto. (WebScriptDebugger::returnEvent): Ditto. (WebScriptDebugger::exception): Ditto.
  • WebScriptDebugger.h:
  • WebView.cpp: (kit): Moved here from WebFrameLoaderClient.cpp. (WebView::initWithFrame): Tell the WebScriptDebugServer about the new Page so it can attach a debugger if needed.
  • WebView.h:
2:05 PM Changeset in webkit [30763] by weinig@apple.com
  • 19 edits in trunk

WebCore:

Reviewed by Darin Adler.

Add ClassInfo to custom constructors so that they toString properly

  • Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp, and XSLTProcessorConstructorImp and prefix all the classes with JS.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::): Added ClassInfo definition. (WebCore::JSAudioConstructor::JSAudioConstructor): (WebCore::JSAudioConstructor::construct): Cleanup.
  • bindings/js/JSAudioConstructor.h: Rename m_doc to m_document. (WebCore::JSAudioConstructor::classInfo): Added.
  • bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype to JSHTMLInputElementBasePrototype as seen if toString'ed. (WebCore::):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::): Added ClassInfo definition.
  • bindings/js/JSHTMLOptionElementConstructor.h: (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
  • bindings/js/JSImageConstructor.cpp: (WebCore::): Added ClassInfo definition. (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
  • bindings/js/JSImageConstructor.h: (WebCore::JSImageConstructor::classInfo): Added.
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::): Rename XMLHttpRequestPrototype to JSXMLHttpRequestPrototype as seen if toString'ed. (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): (WebCore::JSXMLHttpRequestConstructor::implementsConstruct): (WebCore::JSXMLHttpRequestConstructor::construct):
  • bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to JSXMLHttpRequestConstructor and doc to m_document and (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
  • bindings/js/JSXSLTProcessor.cpp: (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and XSLTProcessorConstructorImp to JSXSLTProcessorConstructor. (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): (WebCore::JSXSLTProcessorConstructor::implementsConstruct): (WebCore::JSXSLTProcessorConstructor::construct):
  • bindings/js/JSXSLTProcessor.h: (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
  • bindings/js/kjs_window.cpp: (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.

WebKitTools:

Reviewed by Darin Adler.

  • Scripts/do-webcore-rename: Update renaming plan.

LayoutTests:

Reviewed by Darin Adler.

Update results for fixed class names.

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/xmlhttprequest-get-expected.txt:
  • http/tests/xmlhttprequest/event-target-expected.txt:
1:12 PM Changeset in webkit [30762] by mitz@apple.com
  • 5 edits in trunk

WebCore:

Reviewed by Oliver Hunt and Geoffrey Garen.

  • loader/loader.cpp: (WebCore::Loader::didFinishLoading): Changed to call setLoadInProgress(false) even for 4xx errors, because that triggers load completion check.

LayoutTests:

Reviewed by Oliver Hunt and Geoffrey Garen.

  • http/tests/misc/missing-style-sheet-expected.txt:
  • http/tests/misc/missing-style-sheet.html:
1:09 PM Changeset in webkit [30761] by adele@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Beth.

Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content

If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
from being keyboard focusable (using the tab key).

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): (WebCore::HTMLAnchorElement::isKeyboardFocusable):

LayoutTests:

Reviewed by Beth.

Test for <rdar://problem/5779718> focus() does not work for anchor elements with no content

  • fast/events/anchor-empty-focus-expected.txt: Added.
  • fast/events/anchor-empty-focus.html: Added.
11:36 AM Changeset in webkit [30760] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information

Make headers appear in AX regardless of whether they have BlockFlow renderers or not

Reviewed by Darin Adler.

  • page/mac/WebCoreAXObject.mm:

(headingLevel): no longer ignores BlockFlow rendered headers
(-[WebCoreAXObject accessibilityIsIgnored]): does not ignore headers

11:15 AM Changeset in webkit [30759] by Adam Roben
  • 1 edit
    1 add in trunk/BugsSite
  • PrettyPatch/PrettyPatch.rb: Allow the extent of the previous file to be omitted from the hunk header.
9:59 AM Changeset in webkit [30758] by Adam Roben
  • 2 edits in trunk/WebKit/win

Change WebView's string-finding methods to call through to Page

These methods were added to Page back in r28878 (and the
implementation was copied from WebView!) but we never switched over to
using them.

Reviewed by Sam.

  • WebView.cpp: (WebView::searchFor): Call through to Page::findString. (WebView::markAllMatchesForText): Call through to Page. (WebView::unmarkAllTextMatches): Ditto.
9:57 AM Changeset in webkit [30757] by weinig@apple.com
  • 2 edits in trunk/WebCore

GTK+ build fix.

  • GNUmakefile.am:
9:46 AM Changeset in webkit [30756] by weinig@apple.com
  • 9 edits
    2 copies in trunk/WebCore

Reviewed by Darin Adler.

Remame ImageConstructorImp to JSImageConstructor and move it into its
own file.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp. (WebCore::JSImageConstructor::JSImageConstructor): (WebCore::JSImageConstructor::construct):
  • bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
  • bindings/js/kjs_html.cpp: (WebCore::getRuntimeObject): Make this function static since it is only used in this file.
  • bindings/js/kjs_html.h:
  • bindings/js/kjs_window.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
9:24 AM Changeset in webkit [30755] by Darin Adler
  • 2 edits in trunk/WebKit/mac

Reviewed by Adam.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting code here to exactly match the way it was before it was moved from WebCore. I had introduced a storage leak and that was causing problems with scroll bars!
9:21 AM Changeset in webkit [30754] by Adam Roben
  • 2 edits in trunk/WebCore

Fix an uninitialized value warning in CodeGeneratorJS.pm

  • bindings/scripts/CodeGeneratorJS.pm: Remove reference to non-existent $maybeOkParam (this was removed in r30753).
9:02 AM Changeset in webkit [30753] by weinig@apple.com
  • 35 edits
    2 deletes in trunk/WebCore

Reviewed by Darin Adler.

Remove kjs_dom.{h,cpp}.

  • Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm to us a null return value as an indication of failure. (This new logic is used for toVoidCallback as well.)
  • Move getRuntimeObject to kjs_html where a bunch of other runtime object related functions currently live.
  • Move checkNodeSecurity to kjs_binding, where other frame security functions currently live.
  • Remove getNodeConstructor. It had no implementation.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::toVoidCallback):
  • bindings/js/JSCustomVoidCallback.h:
  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction):
  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttributeNode): (WebCore::JSElement::setAttributeNodeNS):
  • bindings/js/JSEventTargetBase.cpp: (WebCore::toJS):
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSHTMLAppletElementCustom.cpp:
  • bindings/js/JSHTMLElementCustom.cpp:
  • bindings/js/JSHTMLEmbedElementCustom.cpp:
  • bindings/js/JSHTMLFormElementCustom.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/js/JSHTMLObjectElementCustom.cpp:
  • bindings/js/JSNamedNodeMapCustom.cpp:
  • bindings/js/JSNamedNodesCollection.cpp:
  • bindings/js/JSNodeFilterCustom.cpp:
  • bindings/js/JSXSLTProcessor.cpp:
  • bindings/js/kjs_binding.cpp: (WebCore::checkNodeSecurity):
  • bindings/js/kjs_binding.h:
  • bindings/js/kjs_css.cpp:
  • bindings/js/kjs_dom.cpp: Removed.
  • bindings/js/kjs_dom.h: Removed.
  • bindings/js/kjs_events.cpp:
  • bindings/js/kjs_html.cpp: (WebCore::getRuntimeObject):
  • bindings/js/kjs_html.h:
  • bindings/js/kjs_window.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Attr.idl:
  • html/HTMLPlugInElement.cpp:
  • page/InspectorController.cpp:
9:00 AM Changeset in webkit [30752] by Adam Roben
  • 2 edits in trunk/WebKit/win

Actually pause the process while Drosera is at a breakpoint

WebScriptDebugServer::suspendProcessIfPaused is supposed to pause the
process while Drosera is at a breakpoint. Previously we were just
starting a message pump that would deliver messages to all windows in
the process, allowing mouse events, JS timers, etc. to execute.

Now we only deliver messages to COM's message window, which is all we
need to allow RPC to function.

Reviewed by Anders.

  • WebScriptDebugServer.cpp: (comMessageWindow): Added. Finds COM's message window. (WebScriptDebugServer::suspendProcessIfPaused): Only deliver messages to COM's message window so that mouse events, JS timers, etc., won't execute.
9:00 AM Changeset in webkit [30751] by Adam Roben
  • 5 edits in trunk/WebKit/win

Generate WebScriptCallFrame instances dynamically

WebScriptDebugger no longer holds a reference to the topmost call
frame, and WebScriptCallFrame no longer holds a reference to its
caller. We now generate WebScriptCallFrame instances as needed by
walking the callingExecState chain.

By making WebKit no longer responsible for keeping track of the call
stack, we get one step closer to moving most JS debugging code out of
WebKit entirely.

This incidentally fixes a bug in Drosera where we'd never show the
global scope in the call stack.

Reviewed by Sam and Kevin M.

  • WebScriptCallFrame.cpp: (callingFunctionOrGlobalExecState): Finds the nearest calling ExecState that is a FunctionExecState or GlobalExecState, if any, and returns it. (WebScriptCallFrame::WebScriptCallFrame):
    • No longer takes a caller parameter.
    • Sets m_state to the callingFunctionOrGlobalExecState of the ExecState passed in.

(WebScriptCallFrame::createInstance): Removed the caller parameter.
(WebScriptCallFrame::caller): Generate a new WebScriptCallFrame on the
fly from our ExecState.

  • WebScriptCallFrame.h: No longer holds a reference to the caller.
  • WebScriptDebugger.cpp: (WebScriptDebugger::WebScriptDebugger): Removed the call to callEvent that was supposed to set up the global scope call frame, but never worked because m_callingServer was set to true, which would cause callEvent to return early without doing anything. Also removed the m_callingServer guards since we're not calling callEvent anymore. (WebScriptDebugger::callEvent): Create a WebScriptCallFrame on the fly from the passed-in ExecState. (WebScriptDebugger::atStatement): Ditto. (WebScriptDebugger::returnEvent): Ditto, but use the callingExecState. This is equivalent to what calling leaveFrame() did before. (WebScriptDebugger::exception): Ditto, using the passed-in ExecState.
  • WebScriptDebugger.h: Removed m_topStackFrame member and enterFrame/leaveFrame methods.
8:59 AM Changeset in webkit [30750] by Adam Roben
  • 5 edits in trunk/WebCore

Win/Qt/GTK+/wx build fix after r30740

  • editing/Editor.cpp: Added missing #include.
  • page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
  • page/win/FrameWin.cpp: Ditto.
  • platform/wx/TemporaryLinkStubs.cpp: Ditto.
8:57 AM Changeset in webkit [30749] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

GTK+ build fix for breakage introduced in r30740.

Remove Frame::dashboardRegionsChanged(). There's now a default
implementation at ChromeClient::dashboardRegionsChanged().

  • page/gtk/FrameGtk.cpp:
8:49 AM Changeset in webkit [30748] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

GTK+ build fix suggested by aroben. Remove an unused Mac-specific
included introduced in r30740.

  • page/ChromeClient.h:
8:03 AM Changeset in webkit [30747] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: platform/win/fast/text/uniscribe-missing-glyph.html

Note that default installations of Windows do not have Myanmar fonts.
What this patch does is ensure that the Myanmar and other complex
scripts are rendered as missing glyphs rather than not rendered at all.
The particular page in the bug measures the relative widths of two
rendered strings and, if they are rendered as missing glyphs, detects
that a Myanmar fonts is not available and substitutes the text with
images. By not rendering (and measuring) missing glyphs, WebKit was
throwing the page's detection code off.

  • platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shape): Removed an early return in case shaping resulted in missing glyphs. This is now expected if font fallback failed to produce a font containing glyphs for the character. Also changed two resize()s to shrink()s.

LayoutTests:

  • platform/win/fast/text/uniscribe-missing-glyph-expected.txt: Added.
  • platform/win/fast/text/uniscribe-missing-glyph.html: Added.
7:34 AM Changeset in webkit [30746] by Darin Adler
  • 6 edits in trunk

WebCore:

Reviewed by Adam.

  • remove WebCoreFrameBridge reapplyStyles method
  • WebCore.base.exp: Added exports.
  • page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and reapplyStylesForDeviceType: method.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit/mac:

Reviewed by Adam.

  • remove WebCoreFrameBridge reapplyStyles method
  • WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
7:29 AM Changeset in webkit [30745] by Darin Adler
  • 6 edits in trunk

WebCore:

Reviewed by Adam.

  • eliminate WebCoreFrameBridge createFrameViewWithNSView
  • WebCore.base.exp: Added some more exports.
  • page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit/mac:

Reviewed by Adam.

  • eliminate WebCoreFrameBridge createFrameViewWithNSView
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved code here from createFrameViewWithNSView.
7:24 AM Changeset in webkit [30744] by Darin Adler
  • 6 edits in trunk

WebCore:

Reviewed by Adam.

  • removed WebCoreFrameBridge scrollOverflowInDirection
  • WebCore.base.exp: Export function needed by WebKit.
  • page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity, and scrollOverflowInDirection.
  • page/mac/WebCoreFrameBridge.mm: Removed method.

WebKit/mac:

Reviewed by Adam.

  • removed WebCoreFrameBridge scrollOverflowInDirection
  • WebView/WebFrameView.mm: (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call EventHandler directly instead of using the bridge. (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead of the ones from the bridge. (-[WebFrameView scrollToEndOfDocument:]): Ditto. (-[WebFrameView _pageVertically:]): Ditto. (-[WebFrameView _pageHorizontally:]): Ditto. (-[WebFrameView _scrollLineVertically:]): Ditto. (-[WebFrameView _scrollLineHorizontally:]): Ditto.
7:21 AM Changeset in webkit [30743] by Darin Adler
  • 9 edits in trunk

WebCore:

Reviewed by Adam.

  • remove WebCoreFrameBridge installInFrame: method
  • WebCore.base.exp: Export a few symbols.
  • WebCore.xcodeproj/project.pbxproj: Export a few files.
  • page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit/mac:

Reviewed by Adam.

  • remove WebCoreFrameBridge installInFrame: method
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): Call -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
  • WebView/WebFrameView.mm: (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:]. (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire method isn't nested inside an if statement. Call -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
  • WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be used in WebFrameLoaderClient.mm.
7:20 AM Changeset in webkit [30742] by Darin Adler
  • 5 edits in trunk

WebCore:

Reviewed by Adam.

  • remove WebCoreFrameBridge window method
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling window on the NSView instead of using the bridge. The WebKit side wasn't doing anything special, so a call to -[NSView window] is fine.
  • page/mac/WebCoreFrameBridge.h: Removed the window method.

WebKit/mac:

Reviewed by Adam.

  • remove WebCoreFrameBridge window method
  • WebCoreSupport/WebFrameBridge.mm: Removed window method.
7:17 AM Changeset in webkit [30741] by Darin Adler
  • 4 edits in trunk/WebKit/mac

Reviewed by Adam.

  • move code from WebFrameBridge into WebFrameLoaderClient
  • WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration, removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed, redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]): Changed to use WebCore::String. (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto. (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here and added a FIXME. (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here. (WebFrameLoaderClient::objectContentType): Ditto. (parameterValue): Added. Helper function, based on code originally in WebFrameBridge. (pluginView): Ditto. (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
7:10 AM Changeset in webkit [30740] by Darin Adler
  • 13 edits in trunk

WebCore:

Reviewed by Adam.

  • remove -[WebCoreFrameBridge dashboardRegionsChanged:]
  • WebCore.base.exp: Updated.
  • page/Chrome.cpp: (WebCore::ChromeClient::dashboardRegionsChanged): Added.
  • page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
  • page/Frame.h: Removed dashboardRegionsChanged function.
  • page/FrameView.cpp: (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged on ChromeClient and to only call it when the regions actually changed.
  • page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
  • page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.

WebKit/mac:

Reviewed by Adam.

  • remove -[WebCoreFrameBridge dashboardRegionsChanged:]
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge. The WebCore side now calls this only when there's an actual change.
  • WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions. Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
7:07 AM Changeset in webkit [30739] by Darin Adler
  • 9 edits in trunk

WebCore:

Reviewed by Adam.

  • remove WebCoreFrameBridge issuePasteComand method
  • editing/Editor.cpp: (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
  • editing/mac/EditorMac.mm: (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a WebHTMLView). We should get rid of this eventually.
  • page/Frame.h: Removed issuePasteCommand.
  • page/mac/FrameMac.mm: Ditto.
  • page/mac/WebCoreFrameBridge.h: Ditto.

WebKit/mac:

Reviewed by Adam.

  • remove WebCoreFrameBridge issuePasteComand method
  • WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
  • WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
1:11 AM Changeset in webkit [30738] by ap@webkit.org
  • 3 edits
    3 deletes in trunk

Suggested by Darin, rubber-stamped by Mark.

http://bugs.webkit.org/show_bug.cgi?id=17569
REGRESSION (r30571): Buzzword.com doesn't load

Rolling out r30571, as determining what is wrong with it proved tricky.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::load): (WebCore::FrameLoader::tokenizerProcessedData): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
12:25 AM Changeset in webkit [30737] by mrowe@apple.com
  • 2 edits in trunk/WebKitSite

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

Reviewed by Sam Weinig.

Add a note about preferring if over else if when the previous if is terminated by a return statement.

  • coding/coding-style.html:
12:11 AM Changeset in webkit [30736] by weinig@apple.com
  • 2 edits in trunk/WebCore

Build fix.

  • bindings/js/kjs_events.cpp:

Mar 3, 2008:

11:48 PM Changeset in webkit [30735] by weinig@apple.com
  • 20 edits
    2 adds in trunk

WebCore:

Reviewed by Mark Rowe.

Move JSClipboard into its own file.

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSClipboardCustom.cpp: Added. (WebCore::JSClipboard::types): (WebCore::JSClipboard::clearData): (WebCore::JSClipboard::getData): (WebCore::JSClipboard::setData): (WebCore::JSClipboard::setDragImage):
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventCustom.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/js/kjs_events.cpp:
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_window.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Clipboard.cpp: (WebCore::Clipboard::setDropEffect): (WebCore::Clipboard::setEffectAllowed):
  • dom/Clipboard.idl: Added.

LayoutTests:

Reviewed by Mark Rowe.

Update test results.

  • fast/dom/Window/window-properties-expected.txt:
11:01 PM BuildingGtk edited by Thijs Triemstra
adding mac osx section (diff)
10:25 PM WebDevelopers edited by Thijs Triemstra
(diff)
10:20 PM WebDevelopers edited by Thijs Triemstra
update wikipedia link (diff)
10:20 PM Changeset in webkit [30734] by weinig@apple.com
  • 2 edits in trunk/WebKit/gtk

GTK+ build fix.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::windowObjectCleared):
9:33 PM Changeset in webkit [30733] by weinig@apple.com
  • 2 edits in trunk/WebKit/win

Windows build fix.

  • WebFrame.cpp: (WebFrame::windowObjectCleared):
9:05 PM Changeset in webkit [30732] by weinig@apple.com
  • 3 edits in trunk/WebCore

Windows build-fix.

  • page/Chrome.cpp:
  • plugins/win/PluginViewWin.cpp:
8:12 PM WebKitFeatures edited by webkit@mattlilek.com
Make the plugin section less confusing (diff)
8:10 PM ApolloWebKit edited by Thijs Triemstra
adding info about air (diff)
8:07 PM WikiStart edited by Thijs Triemstra
renaming adobe's 'apollo' to newer 'air' (diff)
8:06 PM WikiStart edited by Thijs Triemstra
referencing new page (diff)
8:05 PM WebKitFeatures edited by Thijs Triemstra
linking plugins (diff)
8:04 PM WebKitFeatures created by Thijs Triemstra
initial page
7:48 PM New features in WebKit since Safari 2.0 edited by Thijs Triemstra
adding header (diff)
7:08 PM Changeset in webkit [30731] by weinig@apple.com
  • 35 edits in trunk/WebCore

Reviewed by Darin Adler.

Cleanup and plumbing in preparation for the great Window split.

  • Rename KJS::Window to WebCore::JSDOMWindowBase.
  • Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace with the new toJSDOMWindow().
  • Remove KJS::Window::retrieveActive() and replace with explicit call to exec->dynamicGlobalObject() and toJSDOMWindow().
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::toVoidCallback):.
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create):
  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction):
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::location): (WebCore::toJS):
  • bindings/js/JSEventTargetBase.cpp: (WebCore::jsEventTargetAddEventListener): (WebCore::jsEventTargetRemoveEventListener):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::setListener):
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::nameGetter): (WebCore::JSHTMLDocument::open):
  • bindings/js/JSHTMLFrameSetElementCustom.cpp: (WebCore::JSHTMLFrameSetElement::nameGetter):
  • bindings/js/JSLocation.cpp: (WebCore::JSLocation::put): (WebCore::jsLocationProtoFuncReplace): (WebCore::jsLocationProtoFuncReload): (WebCore::jsLocationProtoFuncAssign):
  • bindings/js/JSLocation.h:
  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql):
  • bindings/js/JSSVGLazyEventListener.cpp: (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): (WebCore::JSSVGLazyEventListener::eventParameterName):
  • bindings/js/JSSVGLazyEventListener.h:
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::JSXMLHttpRequest::putValueProperty): (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener): (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/kjs_binding.cpp: (WebCore::allowsAccessFromFrame): (WebCore::printErrorMessageForFrame):
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): (WebCore::JSUnprotectedEventListener::windowObj): (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener): (WebCore::JSEventListener::windowObj): (WebCore::JSLazyEventListener::JSLazyEventListener): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_navigator.cpp: (WebCore::MimeType::getValueProperty):
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): (WebCore::KJSProxy::createHTMLEventHandler): (WebCore::KJSProxy::createSVGEventHandler):
  • bindings/js/kjs_window.cpp: (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): (WebCore::DOMWindowTimer::DOMWindowTimer): (WebCore::DOMWindowTimer::action): (WebCore::DOMWindowTimer::takeAction): (WebCore::): (WebCore::JSDOMWindowBase::JSDOMWindowBase): (WebCore::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::JSDOMWindowBase::location): (WebCore::JSDOMWindowBase::mark): (WebCore::allowPopUp): (WebCore::createWindow): (WebCore::showModalDialog): (WebCore::JSDOMWindowBase::getValueProperty): (WebCore::JSDOMWindowBase::childFrameGetter): (WebCore::JSDOMWindowBase::indexGetter): (WebCore::JSDOMWindowBase::namedItemGetter): (WebCore::JSDOMWindowBase::getOwnPropertySlot): (WebCore::JSDOMWindowBase::put): (WebCore::JSDOMWindowBase::allowsAccessFrom): (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): (WebCore::JSDOMWindowBase::printErrorMessage): (WebCore::JSDOMWindowBase::globalExec): (WebCore::JSDOMWindowBase::shouldInterruptScript): (WebCore::JSDOMWindowBase::setListener): (WebCore::JSDOMWindowBase::getListener): (WebCore::JSDOMWindowBase::findJSEventListener): (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): (WebCore::JSDOMWindowBase::clearHelperObjectProperties): (WebCore::JSDOMWindowBase::clear): (WebCore::JSDOMWindowBase::setCurrentEvent): (WebCore::JSDOMWindowBase::currentEvent): (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA): (WebCore::windowProtoFuncOpen): (WebCore::windowProtoFuncSetTimeout): (WebCore::windowProtoFuncClearTimeout): (WebCore::windowProtoFuncSetInterval): (WebCore::windowProtoFuncAddEventListener): (WebCore::windowProtoFuncRemoveEventListener): (WebCore::windowProtoFuncShowModalDialog): (WebCore::windowProtoFuncNotImplemented): (WebCore::JSDOMWindowBase::setReturnValueSlot): (WebCore::JSDOMWindowBase::clearAllTimeouts): (WebCore::JSDOMWindowBase::installTimeout): (WebCore::JSDOMWindowBase::pauseTimeouts): (WebCore::JSDOMWindowBase::resumeTimeouts): (WebCore::JSDOMWindowBase::clearTimeout): (WebCore::JSDOMWindowBase::timerFired): (WebCore::JSDOMWindowBase::disconnectFrame): (WebCore::JSDOMWindowBase::jsEventListeners): (WebCore::JSDOMWindowBase::jsHTMLEventListeners): (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners): (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners): (WebCore::toJS): (WebCore::toJSDOMWindow): (WebCore::toJSDOMWindow):
  • bindings/js/kjs_window.h: (WebCore::JSDOMWindowBase::impl): (WebCore::JSDOMWindowBase::classInfo): (WebCore::JSDOMWindowBase::):
  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper):
  • bindings/scripts/CodeGeneratorJS.pm:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore):
  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  • page/DOMWindow.idl:
  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::windowScriptNPObject): (WebCore::Frame::pageDestroyed):
  • page/InspectorController.cpp: (WebCore::inspectedWindow):
  • page/mac/FrameMac.mm: (WebCore::Frame::windowScriptObject):
  • page/mac/WebCoreFrameBridge.mm: (updateRenderingForBindings):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canAccess):
5:16 PM Changeset in webkit [30730] by mrowe@apple.com
  • 2 edits in tags/Safari-5525.11.1/JavaScriptGlue

Merge r30677.

5:03 PM Changeset in webkit [30729] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

5:02 PM Changeset in webkit [30728] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.13

New tag.

4:43 PM Changeset in webkit [30727] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r30716.

4:24 PM Changeset in webkit [30726] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Make ForInNode check for the timeout interrupt

Reviewed by Anders

3:08 PM Changeset in webkit [30725] by kevino@webkit.org
  • 5 edits in trunk

wx build fixes after recent Frame-related changes.

2:59 PM Changeset in webkit [30724] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • make :first-letter apply to the first letter in normal flow, skipping floats and positioned objects

Test: fast/css/first-letter-skip-out-of-flow.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):

LayoutTests:

Reviewed by Darin Adler.

  • test that :first-letter applies to the first letter in normal flow, skipping floats and positioned objects
  • fast/css/first-letter-skip-out-of-flow.html: Added.
  • platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.checksum: Added.
  • platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.png: Added.
  • platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: Added.
2:58 PM Changeset in webkit [30723] by adachan@apple.com
  • 2 edits in trunk/WebCore

Fix build.

  • plugins/win/PluginViewWin.cpp:
2:51 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
2:43 PM Changeset in webkit [30722] by mrowe@apple.com
  • 4 edits
    2 adds in trunk

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

Reviewed by Dan Bernstein.

Fix http://bugs.webkit.org/show_bug.cgi?id=17313
Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper

Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
before using it to resolve styles, which lead to it having a stale m_style member in some situations.
This stale m_style member resulted in a wild store that would write over whatever object now resided
at the location m_style pointed to.

Test: fast/dom/SelectorAPI/bug-17313.html

  • dom/Node.cpp: (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
  • dom/SelectorNodeList.cpp: (WebCore::SelectorNodeList::SelectorNodeList): Ditto.

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

Reviewed by Dan Bernstein.

Test for http://bugs.webkit.org/show_bug.cgi?id=17313
Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper

  • fast/dom/SelectorAPI/bug-17313-expected.txt: Added.
  • fast/dom/SelectorAPI/bug-17313.html: Added.
2:06 PM Changeset in webkit [30721] by alp@webkit.org
  • 2 edits in trunk

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

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17644
Build GTK on Mac OS X using native ICU library

Use Apple native ICU libraries when building GTK
webkit on Mac OS.

  • configure.ac:
1:53 PM Changeset in webkit [30720] by andersca@apple.com
  • 18 edits in trunk/WebCore

Reviewed by Darin and Sam.

Include fixes, in preparation of using the headers in WebCore/bridge.


  • bindings/js/kjs_binding.h:
  • bindings/js/kjs_dom.cpp:
  • bindings/objc/DOMInternal.mm:
  • bindings/objc/DOMUtility.mm:
  • bindings/objc/WebScriptObject.mm:
  • bindings/objc/WebScriptObjectPrivate.h:
  • bridge/objc/objc_class.h:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_utility.h:
  • bridge/runtime.h:
  • bridge/runtime_object.h:
  • bridge/runtime_root.h:
  • html/HTMLAppletElement.cpp:
  • html/HTMLAppletElement.h:
  • html/HTMLEmbedElement.cpp:
  • html/HTMLEmbedElement.h:
  • html/HTMLObjectElement.cpp:
  • html/HTMLPlugInElement.cpp:
  • html/HTMLPlugInElement.h:
  • page/mac/FrameMac.mm:
  • page/mac/WebCoreFrameBridge.h:
  • page/mac/WebCoreFrameBridge.mm:
  • page/mac/WebCoreScriptDebugger.mm:
1:18 PM Changeset in webkit [30719] by hyatt@apple.com
  • 8 edits in trunk

WebCore:

Full page zoom plumbing. Add a notion of whether or not a zoom is text only or a full zoom to the
Frame. setTextSizeMultiplier does a text only zoom.

Reviewed by Tim H.

  • page/Frame.cpp: (WebCore::Frame::zoomFactor): (WebCore::Frame::isZoomFactorTextOnly): (WebCore::Frame::setZoomFactor): (WebCore::FramePrivate::FramePrivate):
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setTextSizeMultiplier:]):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::setCurrentScale):

WebKit/win:

Full page zoom work. Make setting of a zoom factor take a boolean saying whether it is a text only
or full page zoom.

Reviewed by Tim H.

  • WebFrame.cpp: (WebFrame::setTextSizeMultiplier):
12:03 PM Changeset in webkit [30718] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

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

Fix the GTK+ build following breakage introduced in r30712.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::imContextCommitted):
11:58 AM Changeset in webkit [30717] by jhoneycutt@apple.com
  • 5 edits in branches/Safari-3-1-branch/WebCore

2008-03-03 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin, Anders.

Merge 30698 to Safari-3-1-branch.

  • plugins/PluginDatabase.h: Added isPreferredPluginPath(), preferredPluginCompare() qsort comparator.
  • plugins/PluginPackage.h: Added bool m_allowsMultipleInstances. (WebCore::PluginPackage::allowsMultipleInstances): Added; returns true if plug-in can have multiple instances, false otherwise.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::preferredPluginCompare): qsort comparator function, calls PluginPackage::compare(). (WebCore::PluginDatabase::pluginForMIMEType): Builds a list of plug-ins for a MIME type, sorts them, and returns the first item. (WebCore::PluginDatabase::MIMETypeForExtension): Builds a list of plug-ins that handle this extension, sorts them, and returns the MIME type the first plug-in in the list associates with this extension. (WebCore::PluginDatabase::isPreferredPluginPath): Returns true if the passed path is the "preferred" plug-in path.
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::PluginPackage): Set m_allowsMultipleInstances to true. (WebCore::PluginPackage::fetchInfo): If this is the VLC plug-in, set m_allowsMultipleInstances to false. (WebCore::PluginPackage::compare): Compare two plug-ins, first checking whether a plug-in has an issue that should push it to the back, then whether it's in a preferred directory that should move it to the front, then by filename, version, and parent directory. (WebCore::PluginPackage::load): If this plug-in doesn't allow multiple instances, and the package has been loaded, return false.
11:51 AM Changeset in webkit [30716] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash

This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.

Make sure not to access position -1 of the size 0 vectors.

Reviewed by ggaren

  • rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::layout):
11:45 AM Changeset in webkit [30715] by ddkilzer@apple.com
  • 3 edits
    6 adds in trunk

WebCore:

Dynamically inserting CSS rule with @media query fails with DOM Exception 12
<http://bugs.webkit.org/show_bug.cgi?id=15986>

Reviewed by Darin.

Allow any valid rule (@font-face, @import, @media, @page or style) to be
parsed when using CSSStyleSheet.insertRule(). Previously only import and
style rules were allowed. Note that @page rules always throw an exception
because they're not implemented yet, so no test case was added for them.

Tests: fast/css/insertRule-font-face.html

fast/css/insertRule-media.html

  • css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'. Renamed 'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.

LayoutTests:

Dynamically inserting CSS rule with @media query fails with DOM Exception 12
<http://bugs.webkit.org/show_bug.cgi?id=15986>

Reviewed by Darin.

  • fast/css/insertRule-font-face.html: Added.
  • fast/css/insertRule-media.html: Added.
  • fast/css/resources/insertRule-font-face.js: Added.
  • fast/css/resources/insertRule-media.js: Added.
11:43 AM Changeset in webkit [30714] by andersca@apple.com
  • 1 edit
    31 copies in trunk/WebCore

Reviewed by Sam.

Copy JSC bindings directory over to WebCore/bridge.

10:56 AM Changeset in webkit [30713] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

  • remove CSSMutableStyleDeclaration::setChanged()'s change type parameter
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change type parameter and made this function determine the correct change type based on whether this is an inline style declaration. (WebCore::CSSMutableStyleDeclaration::setProperty):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused method. (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
10:44 AM Changeset in webkit [30712] by Darin Adler
  • 26 edits in trunk

WebCore:

Reviewed by Adam.

  • some "cleanup" on the path to removing WebCoreFrameBridge
  • WebCore.base.exp: Exported some stuff we either already use or I am about to use in an upcoming patch.
  • WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather than project, for future use in WebKit.
  • bindings/objc/WebScriptObject.mm: Removed some dead code.
  • dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
  • editing/Editor.cpp: Ditto.
  • editing/Editor.h: Removed many unneeded declarations and includes. Removed the unused userVisibleString function.
  • editing/EditorCommand.cpp: (WebCore::executeYank): Added parameter for triggeringEvent, which no longer has a default value. (WebCore::executeYankAndSelect): Ditto.
  • editing/mac/EditorMac.mm: Removed userVisibleString.
  • page/mac/EventHandlerMac.mm: (WebCore::isKeyboardOptionTab): Tweaked formattin.
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window] rather than from the bridge. There's no special value in the bridge's window method and we can use NSView directly. (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
  • platform/graphics/mac/ImageMac.mm: (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to find the bundle rather than using WebCoreFrameBridge.
  • platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
  • platform/mac/PasteboardMac.mm: Ditto.
  • rendering/RenderObject.h: (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't comparing the clip rectangle. (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.

WebKit/mac:

Reviewed by Adam.

  • some "cleanup" on the path to removing WebCoreFrameBridge
  • Storage/WebDatabaseManager.mm: Tweak includes.
  • Storage/WebDatabaseTrackerClient.mm: Ditto.
  • Storage/WebSecurityOrigin.mm: Ditto.
  • Storage/WebSecurityOriginInternal.h: Ditto.
  • WebView/WebFrame.mm: (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly match WebCore::EditableLinkBehavior.
  • WebView/WebFrameInternal.h: Removed unused kit function.
  • WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
  • WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
  • WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
  • WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
1:34 AM Changeset in webkit [30711] by oliver@apple.com
  • 5 edits in trunk

Bug 17620: getImageData lies
http://bugs.webkit.org/show_bug.cgi?id=17620

Reviewed by Mark Rowe

Correct logic to actually iterate over the source row

12:17 AM Changeset in webkit [30710] by oliver@apple.com
  • 4 edits in trunk

Correct incorrect assertion

Reviewed by Mark Rowe

Note: See TracTimeline for information about the timeline view.