⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 8, 2008:

11:59 PM Changeset in webkit [30907] by Darin Adler
  • 1 edit in trunk/JavaScriptCore/wtf/OwnPtrWin.cpp

Fix stray executable bit.

11:00 PM Changeset in webkit [30906] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Attempt to fix the Qt build.

10:48 PM Changeset in webkit [30905] by oliver@apple.com
  • 5 edits in trunk

Bug 16516: canvas image patterns stop working with some transformations

Reviewed by Sam W.

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

6:39 PM Changeset in webkit [30904] by oliver@apple.com
  • 3 edits
    3 adds in trunk

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

Reviewed by Mitz

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

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

5:57 PM Changeset in webkit [30903] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

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

Reviewed by Mark Rowe.

DRT build fix for Tiger.

  • DumpRenderTree/mac/DumpRenderTreeMac.h: Define BUILDING_ON_TIGER.
5:57 PM Changeset in webkit [30902] by mrowe@apple.com
  • 11 edits in trunk

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

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

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

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

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

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

Reviewed by Oliver Hunt.

  • fix garbage in transparent areas in canvas.toDataURL results
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before painting the canvas image onto it.
6:09 AM Changeset in webkit [30900] by Darin Adler
  • 13 edits in trunk

WebCore:

Reviewed by Adele.

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

WebKit/mac:

Reviewed by Adele.

  • eliminate custom highlight methods from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::customHighlightRect): Moved code here from bridge. (WebChromeClient::paintCustomHighlight): Ditto.
  • WebCoreSupport/WebFrameBridge.mm: Removed code here.
6:05 AM Changeset in webkit [30899] by Darin Adler
  • 2 edits in trunk/LayoutTests
  • platform/win/Skipped: Fixed some typos (stray "s" characters).
12:09 AM Changeset in webkit [30898] by Stephanie Lewis
  • 4 edits in trunk

2008-03-07 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver.

Fix Windows build.

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

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.

Note: See TracTimeline for information about the timeline view.