Timeline


and

11/15/07:

23:47 Changeset [27846] by mrowe@apple.com

2007-11-15 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/Parser.cpp:
23:44 Changeset [27845] by mrowe@apple.com

Mac build and header search path sanity fix.

Reviewed by Sam Weinig and Tim Hatcher.

Move base setting for HEADER_SEARCH_PATHS into Base.xcconfig, and extend
it in JavaScriptCore.xcconfig. This removes the need to override it on a
per-target basis inside the .xcodeproj file.

  • Configurations/Base.xcconfig:
  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
23:08 Changeset [27844] by mrowe@apple.com

2007-11-15 Mark Rowe <mrowe@apple.com>

Qt build fix.

  • kjs/Parser.h:
23:00 Changeset [27843] by adele@apple.com

WebCore:

Reviewed by Oliver.

Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)

Test: fast/forms/menulist-no-renderer-onmousedown.html

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.

LayoutTests:

Reviewed by Oliver.

Test for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)

  • fast/forms/menulist-no-renderer-onmousedown-expected.txt: Added.
  • fast/forms/menulist-no-renderer-onmousedown.html: Added.
22:54 Changeset [27842] by ggaren@apple.com

Reviewed by Eric Seidel.

Another round of grammar / parsing cleanup.


  1. Created distinct parser calls for parsing function bodies vs programs. This will help later with optimizing global variable access.


  1. Turned Parser into a singleton. Cleaned up Lexer's singleton interface.


  1. Modified Lexer to free a little more memory when done lexing. (Added FIXMEs for similar issues that I didn't fix.)


  1. Changed Lexer::makeIdentifier and Lexer::makeUString to start respecting the arguments passed to them. (No behavior change, but this problem could have caused serious problems for an unsuspecting user of these functions.)


  1. Removed KJS_DEBUG_MEM because it was bit-rotted.


  1. Removed Parser::prettyPrint because the same work was simpler to do at the call site.


  1. Some renames:


"Parser::accept" => "Parser::didFinishParsing"
"Parser::sid" => "Parser::m_sourceID"
"Lexer::doneParsing" => "Lexer::clear"
"sid" => "sourceId"
"lineno" => "lineNo"


  • JavaScriptCore.exp:
  • kjs/Parser.cpp: (KJS::Parser::Parser): (KJS::Parser::parseProgram): (KJS::Parser::parseFunctionBody): (KJS::Parser::parse): (KJS::Parser::didFinishParsing): (KJS::parser):
  • kjs/Parser.h: (KJS::Parser::sourceId):
  • kjs/function.cpp: (KJS::GlobalFuncImp::callAsFunction):
  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/grammar.y:
  • kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax): (KJS::Interpreter::evaluate):
  • kjs/interpreter.h:
  • kjs/lexer.cpp: (kjsyylex): (KJS::lexer): (KJS::Lexer::Lexer): (KJS::Lexer::~Lexer): (KJS::Lexer::scanRegExp): (KJS::Lexer::doneParsing): (KJS::Lexer::makeIdentifier): (KJS::Lexer::makeUString):
  • kjs/lexer.h: (KJS::Lexer::pattern): (KJS::Lexer::flags): (KJS::Lexer::sawError):
  • kjs/nodes.cpp: (KJS::Node::Node): (KJS::FunctionBodyNode::FunctionBodyNode):
  • kjs/nodes.h:
  • kjs/testkjs.cpp: (prettyPrintScript): (kjsmain):
  • kjs/ustring.cpp:
  • kjs/ustring.h:
22:25 Changeset [27841] by antti@apple.com

Reviewed by Adele.

Fix <rdar://problem/5601598>
The movie tag should do initialization on need and not during startup.


Initialize Movie MIME type hash on demand

  • platform/MIMETypeRegistry.cpp: (WebCore::initialiseSupportedMovieMIMETypes): (WebCore::initialiseMIMETypeRegistry): (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
22:18 Changeset [27840] by mrowe@apple.com

2007-11-15 Mark Rowe <mrowe@apple.com>

Build fix for Qt on Windows.

  • xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis):
22:15 Changeset [27839] by timothy@apple.com

Reviewed by Mark Rowe.

Bug 14761: Web Inspector leaks JS objects and DOM nodes
http://bugs.webkit.org/show_bug.cgi?id=14761

  • page/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): Change the tear down order so that inspectorDestroyed() is called before InspectorController private data is set to Zero. The inspectorDestroyed() call ends up closing the WebView and triggering InspectorController::close() which unprotects m_scriptObject. This didn't happen when the private data was cleared before calling inspectorDestroyed().
22:10 Changeset [27838] by mrowe@apple.com

2007-11-15 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • WebCore.pro:
22:04 Changeset [27837] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15989
XPath queries with predicates incorrectly retains the current node across unions

Test: fast/xpath/union-context-node.xhtml

  • xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
  • xml/XPathStep.cpp: (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
22:02 Changeset [27836] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15448
Import XPath test suite from amachang.art-code.org

Test by Hitoshi Amano <seijro@gmail.com>.

  • fast/xpath/xpath-functional-test-expected.txt: Added.
  • fast/xpath/xpath-functional-test.html: Added.
22:00 Changeset [27835] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15988
REGRESSION: XPath preceding-axis query misses nested elements

Test: fast/xpath/preceding-axis.xhtml

  • xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
17:21 Changeset [27834] by timothy@apple.com

Reviewed by Mark Rowe and Sam.

This corrects a couple of issues in the Web Inspector where selected search results
would not have the right text color when the window is inactive or the results are focused.

  • page/inspector/inspector.css:
17:04 Changeset [27833] by timothy@apple.com

Reviewed by Sam.

Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
http://bugs.webkit.org/show_bug.cgi?id=16007

Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
20 pixels, and the default is 10 pixels.

  • page/inspector/ResourceCategory.js:
  • page/inspector/treeoutline.js:
16:42 Changeset [27832] by andersca@apple.com

Reviewed by Brady.

Pass a VoidCallback to Database::transaction and Database::changeVersion.
This is not yet hooked up to the database machinery.


  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction):
  • storage/Database.cpp: (WebCore::Database::changeVersion): (WebCore::Database::transaction):
  • storage/Database.h:
16:40 Changeset [27831] by oliver@apple.com

<rdar://problem/5601548> REGRESSION: All SourceElements and their children leak after a syntax error

Reviewed by Darin.

Add a stub node to maintain the Vector of SourceElements until assignment.

16:17 Changeset [27830] by eric@webkit.org

2007-11-15 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

Abstract most of RMATCH into MatchStack functions.

SunSpider claims this, combined with the last 2 patches was a 1% speedup, 10% for dna-regexp.

  • pcre/pcre_exec.cpp: (MatchStack::canUseStackBufferForNextFrame): (MatchStack::allocateNextFrame): (MatchStack::pushNewFrame): (MatchStack::frameIsStackAllocated): (MatchStack::popCurrentFrame): (MatchStack::unrollAnyHeapAllocatedFrames): (match):
16:16 Changeset [27829] by eric@webkit.org

2007-11-15 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

Remove RETURN_ERROR, add MatchStack

  • pcre/pcre_exec.cpp: (MatchStack::MatchStack): (MatchStack::unrollAnyHeapAllocatedFrames): (matchError): (match):
16:14 Changeset [27828] by eric@webkit.org

2007-11-15 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

Clean up match function to match WebKit style

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • pcre/pcre_exec.cpp: (match):
16:07 Changeset [27827] by timothy@apple.com

Reviewed by Adam.

Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
http://bugs.webkit.org/show_bug.cgi?id=16005

Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
crumb will expose as many hidden crumbs as possible to the user. Also crumbs
that have ID attributes will compact to the ID over the tag name.

  • page/inspector/DocumentPanel.js:
15:53 Changeset [27826] by andersca@apple.com

Reviewed by Sam.

Make the VoidCallback DOM interface behave more like our other DOM interfaces.


  • bindings/js/JSCustomVoidCallback.h: Added.
  • bindings/js/JSCustomVoidCallback.cpp: Added. (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): (WebCore::JSCustomVoidCallback::handleEvent): VoidCallback implementation that wraps a JS object.


(WebCore::toVoidCallback):
New method that creates a VoidCallback implementation given a JS object.


  • bindings/scripts/CodeGeneratorJS.pm: Specify that VoidCallback can fail conversion and add a custom conversion function.


  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieCuePointReached): Call handleEvent on the callback.


(WebCore::HTMLMediaElement::removeCuePoint):
Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
on overriding VoidCallback equality.


  • html/VoidCallback.cpp: Removed.


  • html/VoidCallback.h: (WebCore::VoidCallback::VoidCallback): (WebCore::VoidCallback::~VoidCallback): Make this an abstract class with a pure virtual handleEvent method.
15:42 Changeset [27825] by aroben@apple.com

Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work

There were two things broken here:

  • WebView now requires a WM_CHAR message to be sent before it will create a keyboard event with a charCode, but we were only sending a WM_KEYDOWN event.
  • The popup menu was not updating its focused index when the <select> element's selectedIndex changed.

Reviewed by Adele.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::updateFromElement): Update the focused index from the client's selected index. (WebCore::PopupWndProc): When we receive a WM_CHAR message for a printable character, manufacture a WM_KEYDOWN message for it and post both that and the current WM_CHAR message to the WebView.
15:23 Changeset [27824] by beidson@apple.com

Build fix

  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin):
14:54 Changeset [27823] by justin.garcia@apple.com

Forgot this new expected result in my previous check-in.

14:29 Changeset [27822] by beidson@apple.com

Reviewed by John and Sam

Stubbing out everything required for a WebKit API for databases

Biggest change in WebCore is that we passed around SecurityOriginData as the representation
of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
that has a different purpose besides just hanging on to the data)

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/SecurityOrigin.cpp:
  • platform/SecurityOrigin.h:
  • platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 pieces of data in the SecurityOrigin tuple (WebCore::SecurityOriginData::SecurityOriginData): (WebCore::SecurityOriginData::protocol): (WebCore::SecurityOriginData::host): (WebCore::SecurityOriginData::port): (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, colon separated
  • storage/Database.cpp: (WebCore::Database::Database): Use SecurityOriginData instead
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): (WebCore::DatabaseTracker::deleteDatabase):
  • storage/DatabaseTracker.h:
  • storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
14:27 Changeset [27821] by beidson@apple.com

WebCore:

Reviewed by John and Sam

Stubbing out everything required for a WebKit API for databases

Biggest change in WebCore is that we passed around SecurityOriginData as the representation
of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
that has a different purpose besides just hanging on to the data)

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/SecurityOrigin.cpp:
  • platform/SecurityOrigin.h:
  • platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 pieces of data in the SecurityOrigin tuple (WebCore::SecurityOriginData::SecurityOriginData): (WebCore::SecurityOriginData::protocol): (WebCore::SecurityOriginData::host): (WebCore::SecurityOriginData::port): (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, colon separated
  • storage/Database.cpp: (WebCore::Database::Database): Use SecurityOriginData instead
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): (WebCore::DatabaseTracker::deleteDatabase):
  • storage/DatabaseTracker.h:
  • storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):

WebKit:

Reviewed by John

Stubbing out everything required for a WebKit API for databases

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Reviewed by John

Stubbing out everything required for a WebKit API for databases

These interfaces seem to provide everything we need for UI and management at the browser level

  • Misc/WebDatabaseManager.h: Removed.
  • Misc/WebDatabaseManager.mm: Removed.
  • Misc/WebDatabaseManagerPrivate.h: Removed.
  • Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple" (protocol, domain, and port) (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]): (-[WebSecurityOriginPrivate dealloc]): (-[WebSecurityOrigin initWithProtocol:domain:]): (-[WebSecurityOrigin initWithProtocol:domain:port:]): (-[WebSecurityOrigin protocol]): (-[WebSecurityOrigin domain]): (-[WebSecurityOrigin port]): (-[WebSecurityOrigin dealloc]): (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
  • Misc/WebSecurityOriginInternal.h: Added.
  • Misc/WebSecurityOriginPrivate.h: Added.
  • Storage/WebDatabaseManager.mm: Added. (+[WebDatabaseManager sharedWebDatabaseManager]): (-[WebDatabaseManager origins]): Get a list of all origins currently tracked (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota (-[WebDatabaseManager deleteAllDatabases]): (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]): (-[WebDatabaseManager deleteDatabase:withOrigin:]):
  • Storage/WebDatabaseManagerPrivate.h: Added.
  • Storage/WebDatabaseManagerInternal.h: Added. (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
  • Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
  • Storage/WebDatabaseTrackerClient.mm: Added. (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient): (WebDatabaseTrackerClient::WebDatabaseTrackerClient): (WebDatabaseTrackerClient::~WebDatabaseTrackerClient): (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of Database-related things here
14:23 Changeset [27820] by jhoneycutt@apple.com

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

Reviewed by Anders.

NP_ASFILEONLY streams should not buffer data in m_deliveryData.

  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::didReceiveData):
14:02 Changeset [27819] by andersca@apple.com

Revert accidental change. andersca--

13:52 Changeset [27818] by justin.garcia@apple.com

WebCore:

Reviewed by Adele Peterson.

<rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode


A textarea that contained the selection was removed but the selection wasn't cleared,
and we'd crash in code that assumed a valid, in-document selection.

  • editing/SelectionController.cpp: (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the shadowAncestorNode of the node that contains the position, not just if the node being removed contains that shadowAncestorNode.

LayoutTests:

Reviewed by Adele Peterson.

<rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode

  • editing/selection/5497643-expected.txt: Added.
  • editing/selection/5497643.html: Added.
13:35 Changeset [27817] by aroben@apple.com

Make run-safari actually work on Windows

  • Scripts/run-safari: Fixed the order of arguments to cp, and added a chdir call.
13:22 Changeset [27816] by zimmermann@webkit.org

Reviewed by Maciej.
Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.

12:27 Changeset [27815] by andersca@apple.com

WebCore:

Reviewed by Brady.

<rdar://problem/5562470>
openDatabase does not work when the version string is empty

If the string is empty, pass a real empty string to sqlite3_bind_text16.


  • platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::bindText):

LayoutTests:

Reviewed by Brady.

<rdar://problem/5562470>
openDatabase does not work when the version string is empty

  • storage/open-database-empty-version-expected.txt: Added.
  • storage/open-database-empty-version.html: Added.
12:00 Changeset [27814] by sfalken@apple.com

New tag.

11:49 Changeset [27813] by andersca@apple.com

Reviewed by Brady.

Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): (WebCore::IconDatabase::removePageURLFromSQLDatabase): (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): (WebCore::IconDatabase::addIconURLToSQLDatabase): (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
  • platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::prepare):
  • platform/sql/SQLiteStatement.h:
  • storage/Database.cpp: (WebCore::setTextValueInDatabase):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::addDatabase):
10:39 Changeset [27812] by sfalken@apple.com

Windows build fix.

00:01 Changeset [27811] by beidson@apple.com

WebCore:

Rubberstamped by Sam

  • platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?

11/14/07:

21:59 Changeset [27810] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15982
Improve JSString UTF-8 decoding

  • API/JSStringRef.cpp: (JSStringCreateWithUTF8CString): Use strict decoding, return 0 on error.
  • wtf/unicode/UTF8.cpp: (WTF::Unicode::convertUTF16ToUTF8): (WTF::Unicode::convertUTF8ToUTF16):
  • wtf/unicode/UTF8.h: Made these function names start with a lower case letter.
  • kjs/ustring.cpp: (KJS::UString::UTF8String): Updated for the above renaming.
  • bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback): Renamed to highlight the difference from convertUTF8ToUTF16 in wtf/unicode. (KJS::Bindings::convertNPStringToUTF16): Updated for the above renaming. (KJS::Bindings::identifierFromNPIdentifier): Ditto.
  • bindings/c/c_utility.h: Made convertUTF8ToUTF16WithLatin1Fallback() a file static.
21:49 Changeset [27809] by ap@webkit.org

Reviewed by Justin Garcia.

http://bugs.webkit.org/show_bug.cgi?id=15781
REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
a marked range that covers half of a composed character sequence)

Test: platform/mac/editing/input/devanagari-ligature.html

This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
However, this is not entirely new for them, as Roman accents are typed in a similar manner.

In the future, we probably want to make commands work with ranges (or Positions explicitly).

  • editing/Editor.cpp: (WebCore::Editor::selectComposition): Force selection to composition range.
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
21:17 Changeset [27808] by weinig@apple.com

Rubber-stamped by Anders.

Fix the Xcode project file after it was messed up in r27402.

19:52 Applications using WebKit edited by info@erikjohansson.com
Added Coda to "Web Development Applications" (diff)
18:40 Changeset [27807] by eric@webkit.org

2007-11-14 Eric Seidel <eric@webkit.org>

Reviewed by Oliver.

More PCRE style cleanup.

  • pcre/pcre_compile.cpp: (compile_regex):
18:02 Changeset [27806] by aroben@apple.com

Clean up the bison conflict checking script

Reviewed by Geoff.

  • DerivedSources.make:
18:00 Changeset [27805] by eric@webkit.org

2007-11-14 Eric Seidel <eric@webkit.org>

Reviewed by Geoff.

Another round of PCRE cleanups: inlines

SunSpider claims that this, combined with my previous PCRE cleanup were a 0.7% speedup, go figure.

  • pcre/pcre_compile.cpp: (jsRegExpCompile):
  • pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
  • pcre/pcre_internal.h: (PUT): (GET): (PUT2): (GET2): (isNewline):
17:55 Changeset [27804] by beidson@apple.com

For future use

  • images/DroseraPic.png: Added.
17:34 Changeset [27803] by aroben@apple.com

Updates to Safari launching now that 3.0.4 is released

Reviewed by Sam.

  • FindSafari/FindSafari.cpp: (getWebViewCLSID): Use version-independent ProgID.
  • Scripts/run-safari: Use run-webkit-nightly.cmd.
17:17 Changeset [27802] by eric@webkit.org

2007-11-14 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

Give PCRE a (small) bath.
Fix some formating and break things off into separate functions
http://bugs.webkit.org/show_bug.cgi?id=15993

  • pcre/pcre_compile.cpp: (calculateCompiledPatternLengthAndFlags): (printCompiledRegExp): (returnError): (jsRegExpCompile):
  • pcre/pcre_internal.h: (compile_data::compile_data):
17:04 Changeset [27801] by antti@apple.com

Try to make this test less timing dependent.

  • http/tests/media/video-play-stall.html:
15:48 Changeset [27800] by bdakin@apple.com

WebCore:

Reviewed by Hyatt.

Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
side image map and <a> tag is not working properly (15522)

  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block and inline children rather than just block children. This matches Firefox.

LayoutTests:

Reviewed by Hyatt.

Tests for <rdar://problem/5540855> REGRESSION: Combination of
client-side image map and <a> tag is not working properly (15522)

New test:

  • fast/images/image-map-anchor-children.html: Added.
  • fast/images/resources/boston.gif: Added.
  • platform/mac/fast/images/image-map-anchor-children- expected.checksum: Added.
  • platform/mac/fast/images/image-map-anchor-children-expected.png: Added.
  • platform/mac/fast/images/image-map-anchor-children-expected.txt: Added.


This test was broken and is fixed now! I had to edit the test
itself because it was written in the html that the two <map>
examples were failing, but now they succeed.

  • fast/invalid/residual-style.html:
  • platform/mac/fast/invalid/residual-style-expected.checksum:
  • platform/mac/fast/invalid/residual-style-expected.png:
  • platform/mac/fast/invalid/residual-style-expected.txt:
14:59 Changeset [27799] by ggaren@apple.com

Reviewed by Eric Seidel.


Cleaned up the JavaScript grammar a bit.


  1. Changed BlockNode to always hold a child vector (which may be empty), eliminating a few NULL-check branches in the common execution case.


  1. Changed the Block production to correctly report its starting and ending line numbers to the debugger. (It used to report its ending line as its starting line.) Also, removed duplicate line-reporting code inside the BlockNode constructor.


  1. Moved curly braces up from FunctionBody production into parent productions. (I had to move the line number reporting code, too, since it depends on the location of the curly braces.) This matches the ECMA spec more closely, and makes some future changes I plan easier.


  1. Fixed statementList* convenience functions to deal appropriately with empty Vectors.

SunSpider reports a small and statistically insignificant speedup.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::statementListPushFIFO): (KJS::statementListGetDeclarations): (KJS::statementListInitializeDeclarationStack): (KJS::statementListInitializeVariableAccessStack): (KJS::BlockNode::BlockNode): (KJS::BlockNode::optimizeVariableAccess): (KJS::BlockNode::getDeclarations): (KJS::BlockNode::execute): (KJS::FunctionBodyNode::initializeDeclarationStacks): (KJS::FunctionBodyNode::optimizeVariableAccess):
14:57 Changeset [27798] by aroben@apple.com

Change Interfaces to be a "Static Library" project

Being a Utility project meant that Interfaces was rebuilding every
time (Utility projects are supposed to handle their own dependencies).
Interfaces isn't really a static library, but it means that VS will
handle dependencies for us (and not complain about missing manifests
like it did when the project was an Application).

  • WebKit.vcproj/Interfaces.vcproj:
14:56 Changeset [27797] by aroben@apple.com

Shut up FixMIDLHeaders.pl

  • WebKit.vcproj/FixMIDLHeaders.pl:
14:33 Changeset [27796] by justin.garcia@apple.com

WebCore:

Reviewed by Alexey Proskuryakov.

<rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::handleGeneralDelete): Removed an irrelevant FIXME. (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition inside that block, which could lead to a crash. If that happens, there's no content in the block to move, so just remove the block and return. Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does its own placeholder insertion when necessary. (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs, because it handles preserving m_needPlaceholder when it calls moveParagraphs.

LayoutTests:

Reviewed by Alexey Proskuryakov.


<rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs

  • editing/deleting/5546763-expected.txt: Added.
  • editing/deleting/5546763.html: Added.
14:30 Changeset [27795] by andersca@apple.com

WebKitTools:

Reviewed by Adam.

<rdar://problem/5309081>
In DRT, "plugin.logDestroy = true" not working on Windows.


  • DumpRenderTree/win/TestNetscapePlugin/main.c: (NPP_Destroy):

LayoutTests:

Reviewed by Adam.

<rdar://problem/5309081>
In DRT, "plugin.logDestroy = true" not working on Windows.

Remove now succeeding test from the skipped list.


  • platform/win/Skipped:
14:09 Changeset [27794] by timothy@apple.com

Remove the WebKit dependancy from WebKitSystemInterface.

14:08 Changeset [27793] by aroben@apple.com

Fix ChangeLog order

14:07 Changeset [27792] by aroben@apple.com

Change Interfaces to use a Utility configuration

It had previously been marked as an "Application (.exe)", which is
wrong but worked with most versions of Visual Studio.

Rubberstamped by Steve.

  • WebKit.vcproj/Interfaces.vcproj:
13:44 Changeset [27791] by antti@apple.com

Try to make this test less timing dependent.

  • media/video-currentTime-set-expected.txt:
  • media/video-currentTime-set.html:
12:36 Changeset [27790] by eric@webkit.org

2007-11-14 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

  • sunspider: add --shark-cache for L2 Cache Miss profiling
11:19 Changeset [27789] by timothy@apple.com

Reviewed by Adam.

Bug 14380: Long DOM ancestry breadcrumb lists get cut off
http://bugs.webkit.org/show_bug.cgi?id=14380

The breadcumbs will now be compacted and collapsed if there isn't enough room
to show everything. The collapsing algorithm always affects the crumbs that
are farthest away from the selected or hovered crumb first.

  • page/inspector/DocumentPanel.js:
  • page/inspector/inspector.css:
11:10 Changeset [27788] by andersca@apple.com

WebKit/win:

Reviewed by Adam.

Get the new focus window from the wParam instead of calling GetFocus().
Also, send blur even if there is no focused frame.


  • WebView.cpp: (WebViewWndProc):

WebKitTools:

Reviewed by Adam.

<rdar://problem/5141186>
window.layoutTestController.setWindowIsKey is not implemented in DRT.


Implement setWindowIsKey.


  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setWindowIsKey):

LayoutTests:

Reviewed by Adam.

  • platform/win/Skipped: Remove fast/dom/Window/window-onFocus.html since it succeeds now.
10:53 Changeset [27787] by aroben@apple.com

Another build fix for systems without Cygwin in their PATH

  • WebKit.vcproj/Interfaces.vcproj: Add Cygwin to the PATH in the Post-Build Event.
10:36 Changeset [27786] by andersca@apple.com

Use the correct include path.


  • platform/Cursor.h:
  • plugins/win/PluginPackageWin.h:
  • plugins/win/PluginStreamWin.h:
10:11 Applications using WebKit edited by tristan@apple.com
(diff)
10:10 Applications using WebKit edited by tristan@apple.com
(diff)
08:33 BuildingGtk edited by zecke2@selfish.org
(diff)
08:32 BuildingGtk edited by zecke2@selfish.org
(diff)

11/13/07:

22:59 Changeset [27785] by mrowe@apple.com

2007-11-13 Mark Rowe <mrowe@apple.com>

Gtk build fix. Replace incorrect use of the LOG macro with g_print.

  • Api/webkitgtkpage.cpp:
22:46 Changeset [27784] by beidson@apple.com

WebCore:

Reviewed by Adam

http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception

  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the SQLTransactionCallback fails (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it and make the commit/rollback decision accordingly

LayoutTests:

Reviewed by Adam

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

  • storage: Added - There will soon be an entire suite in here!
  • storage/transaction_callback_exception_crash-expected.txt: Added.
  • storage/transaction_callback_exception_crash.html: Added.
22:25 Changeset [27783] by aroben@apple.com

Add the http/tests/media directory to the Windows Skipped file

  • platform/win/Skipped:
21:40 Changeset [27782] by alp@webkit.org

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

Reviewed by Alp.

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

Implement signals for script dialogs and console messages.

  • Api/webkitgtk-marshal.list:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::addMessageToConsole): (WebKit::ChromeClient::runJavaScriptAlert): (WebKit::ChromeClient::runJavaScriptConfirm): (WebKit::ChromeClient::runJavaScriptPrompt):
19:48 Changeset [27781] by oliver@apple.com

Fix <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)

Reviewed by Anders.

When drawing directly to PDF CG may delay the use of the gradient function until outside our
standard drawing path, which in turn could let us invalidate the caches before they were used.

To work around this we now store the cached stops in a RefCounted object, so that we can ensure
that cache exists as long as required.

19:04 Changeset [27780] by ggaren@apple.com

Build fix: changed Shared to RefCounted.

  • WebCoreSupport/ChromeClientQt.h:
  • WebCoreSupport/ContextMenuClientQt.cpp:
  • WebCoreSupport/ContextMenuClientQt.h:
  • WebCoreSupport/EditorClientQt.h:
  • WebCoreSupport/FrameLoaderClientQt.h:
18:33 Changeset [27779] by andersca@apple.com

Fix Windows build.


  • platform/Cursor.h:
  • plugins/win/PluginPackageWin.h:
  • plugins/win/PluginStreamWin.h:
18:20 Changeset [27778] by andersca@apple.com

Add RefCounted.h (And remove Shared.h)


18:19 Changeset [27777] by ggaren@apple.com

Build fix.

  • kjs/regexp.h:
18:05 Changeset [27776] by ggaren@apple.com

JavaScriptCore:

Reviewed by Anders Carlsson.

Renamed Shared to RefCounted.

  • API/JSClassRef.h:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/interpreter.h:
  • kjs/regexp.h:
  • wtf/RefCounted.h: Copied from JavaScriptCore/wtf/Shared.h. (WTF::RefCounted::RefCounted):
  • wtf/Shared.h: Removed.

JavaScriptGlue:

Reviewed by Anders Carlsson.

Renamed Shared to RefCounted.

  • ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
  • ForwardingHeaders/wtf/Shared.h: Removed.

WebCore:

Reviewed by Anders Carlsson.

Renamed Shared to RefCounted.

  • ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
  • ForwardingHeaders/wtf/Shared.h: Removed.
  • bindings/js/JSSVGPODTypeWrapper.h:
  • css/CSSFontFace.h:
  • css/CSSRuleList.h:
  • css/Counter.h:
  • css/Pair.h:
  • css/Rect.h:
  • css/StyleBase.h:
  • css/StyleSheetList.h:
  • dom/Attribute.h:
  • dom/Clipboard.h:
  • dom/DOMImplementation.h:
  • dom/Event.h:
  • dom/EventListener.h:
  • dom/NamedNodeMap.h:
  • dom/NodeFilter.h:
  • dom/NodeFilterCondition.h:
  • dom/NodeList.h:
  • dom/QualifiedName.h:
  • dom/Range.h:
  • dom/RangeException.h:
  • dom/RegisteredEventListener.h:
  • dom/Traversal.h:
  • editing/EditCommand.h:
  • history/BackForwardList.h:
  • history/CachedPage.h:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • history/HistoryItem.h:
  • html/CanvasGradient.h:
  • html/CanvasPattern.h:
  • html/CanvasRenderingContext2D.h:
  • html/CanvasStyle.h:
  • html/HTMLCollection.h:
  • html/MediaError.h:
  • html/TimeRanges.h:
  • html/VoidCallback.h:
  • ksvg2/css/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::SVGRenderStyle):
  • ksvg2/css/SVGRenderStyle.h:
  • ksvg2/css/SVGRenderStyleDefs.cpp: (StyleFillData::StyleFillData): (StyleStrokeData::StyleStrokeData): (StyleStopData::StyleStopData): (StyleTextData::StyleTextData): (StyleClipData::StyleClipData): (StyleMaskData::StyleMaskData): (StyleMarkerData::StyleMarkerData): (StyleMiscData::StyleMiscData):
  • ksvg2/css/SVGRenderStyleDefs.h:
  • ksvg2/svg/SVGAngle.cpp: (WebCore::SVGAngle::SVGAngle):
  • ksvg2/svg/SVGAngle.h:
  • ksvg2/svg/SVGAnimatedTemplate.h:
  • ksvg2/svg/SVGElementInstanceList.h:
  • ksvg2/svg/SVGException.h:
  • ksvg2/svg/SVGList.h:
  • ksvg2/svg/SVGPathSeg.h:
  • ksvg2/svg/SVGPreserveAspectRatio.cpp: (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
  • ksvg2/svg/SVGPreserveAspectRatio.h:
  • ksvg2/svg/SVGRenderingIntent.h:
  • ksvg2/svg/SVGTransform.h:
  • ksvg2/svg/SVGUnitTypes.h:
  • loader/DocumentLoader.h:
  • loader/FormState.h:
  • loader/ResourceLoader.h:
  • loader/TextResourceDecoder.h:
  • loader/icon/IconRecord.h:
  • page/BarInfo.h:
  • page/Console.h:
  • page/DOMSelection.h:
  • page/DOMWindow.h:
  • page/Frame.h:
  • page/History.h:
  • page/InspectorController.cpp:
  • page/Plugin.h:
  • page/Screen.h:
  • platform/ArrayImpl.h:
  • platform/CString.h:
  • platform/Cursor.h:
  • platform/DeprecatedValueListImpl.cpp: (WebCore::DeprecatedValueListImpl::Private::Private):
  • platform/FileChooser.h:
  • platform/FontFallbackList.h:
  • platform/FontFamily.cpp: (WebCore::FontFamily::FontFamily):
  • platform/FontFamily.h:
  • platform/FontSelector.h:
  • platform/GlyphPageTreeNode.h:
  • platform/PopupMenu.h:
  • platform/RegularExpression.cpp:
  • platform/ScrollBar.h:
  • platform/SharedBuffer.h:
  • platform/StringImpl.h:
  • platform/graphics/Icon.h:
  • platform/graphics/svg/SVGResource.h:
  • platform/network/FormData.cpp: (WebCore::FormData::FormData):
  • platform/network/FormData.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • rendering/RenderStyle.cpp: (WebCore::StyleSurroundData::StyleSurroundData): (WebCore::StyleBoxData::StyleBoxData): (WebCore::StyleVisualData::StyleVisualData): (WebCore::StyleBackgroundData::StyleBackgroundData): (WebCore::StyleMarqueeData::StyleMarqueeData): (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): (WebCore::StyleMultiColData::StyleMultiColData): (WebCore::StyleTransformData::StyleTransformData): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleInheritedData::StyleInheritedData):
  • rendering/RenderStyle.h:
  • rendering/SVGCharacterLayoutInfo.h: (WebCore::SVGCharOnPath::SVGCharOnPath):
  • storage/SQLResultSetRowList.h:
  • xml/DOMParser.h:
  • xml/XMLHttpRequest.h:
  • xml/XMLSerializer.h:
  • xml/XPathEvaluator.h:
  • xml/XPathExpression.h:
  • xml/XPathNSResolver.h:
  • xml/XPathResult.h:
  • xml/XPathValue.h:
  • xml/XSLTProcessor.h:

WebKit/mac:

Reviewed by Anders Carlsson.


Renamed Shared to RefCounted.

  • ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
  • ForwardingHeaders/wtf/Shared.h: Removed.
  • WebCoreSupport/WebContextMenuClient.h:
17:54 Changeset [27775] by beidson@apple.com

Reviewed by Mark Rowe

Remove errantly added files, and fix the idl (for reference's sake)

  • storage/JSCustomSQLStatementCallback.h: Removed.
  • storage/JSCustomSQLStatementErrorCallback.h: Removed.
  • storage/JSCustomSQLTransactionCallback.h: Removed.
  • storage/JSCustomSQLTransactionErrorCallback.h: Removed.
  • storage/SQLStatementCallback.idl:
17:41 Changeset [27774] by aroben@apple.com

Fix a bug and improve upon Brady's fix

Reviewed by Anders.

  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql): Made the code a little clearer and more correct.
  • loader/icon/IconDatabase.cpp: Put parentheses around the expansion of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the comparison it meant to.
17:39 Changeset [27773] by weinig@apple.com

Fix Qt and Gtk builds.

  • WebCore.pro: Remove non-generated idl files.
17:36 Changeset [27772] by mrowe@apple.com

2007-11-13 Mark Rowe <mrowe@apple.com>

Remove removed file from the project.

  • WebCore.pro:
17:30 Changeset [27771] by weinig@apple.com

WebKitTools:

Reviewed by Adam Roben.

Fix for <rdar://problem/5382579>
http/tests/security/cross-frame-access-put.html reports large
negative numbers for screenLeft and screenTop (Mac reports "0")

  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::UIDelegate): Initialize the RECT. (UIDelegate::setFrame): copy the contents of the rect, not the pointer. (UIDelegate::webViewFrame): ditto.
  • DumpRenderTree/win/UIDelegate.h: Use a RECT not a RECT*

LayoutTests:

Reviewed by Adam Roben.

Fix for <rdar://problem/5382579>
http/tests/security/cross-frame-access-put.html reports large
negative numbers for screenLeft and screenTop (Mac reports "0")

  • platform/win/Skipped: remove http/tests/security/cross-frame-access-put.html
17:29 Changeset [27770] by beidson@apple.com

Release build fix

  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql):
17:05 Changeset [27769] by kmccullough@apple.com

WebKit/win:

Reviewed by Adam.

  • Make Drosera show source, source URLs, and function stack on Windows and some minor fixes.
  • WebScriptCallFrame.cpp: Fixed a bug where the callFrame was not reffed properly before being returned, and changed functionName() to check for Null or if the name is empty. (EnumScopes::Clone): (WebScriptCallFrame::WebScriptCallFrame): (WebScriptCallFrame::createInstance): (WebScriptCallFrame::caller): (WebScriptCallFrame::functionName):
  • WebScriptCallFrame.h: Ditto
  • WebScriptDebugServer.cpp: Made the listenerSet static since we were already treating it as if it were. Removed the EnumViews stuff. This was added by Steve to demonstrate DCOM and he thought it would be needed by Drosera, but I don't believe it will be. Implemented suspendProcessIfPaused() also added calls to it at the end of several functions to ensure we pause if Drosera has told WebKit to. (WebScriptDebugServer::WebScriptDebugServer): (WebScriptDebugServer::sharedWebScriptDebugServer): (WebScriptDebugServer::addListener): (WebScriptDebugServer::removeListener): (WebScriptDebugServer::suspendProcessIfPaused): (WebScriptDebugServer::didLoadMainResourceForDataSource): (WebScriptDebugServer::didParseSource): (WebScriptDebugServer::failedToParseSource): (WebScriptDebugServer::didEnterCallFrame): (WebScriptDebugServer::willExecuteStatement): (WebScriptDebugServer::willLeaveCallFrame): (WebScriptDebugServer::exceptionWasRaised):
  • WebScriptDebugServer.h: Ditto.
  • WebScriptDebugger.cpp: The important change here is that leaveFrame() is called before willLeaveCallFrame(). I think there is some EOL stuff going on too.
  • It was the implementing of these functions that allows source, the source URLs and function stack to be displayed. (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::enterFrame): (WebScriptDebugger::leaveFrame):
  • WebView.cpp: Removed the EnumView functions. (WebView::WebView): (WebView::~WebView):

WebKitTools:

Reviewed by Adam.

  • Make Drosera show source, source URLs, and function stack on Windows, and some minor fixes.
  • Drosera/DebuggerDocument.cpp: Force source to always update display. (DebuggerDocument::updateFileSource):
  • Drosera/debugger.js: Force source to always update display.
  • Drosera/win/DebuggerClient.cpp: Create the needed functions for the menu controls. (DebuggerClient::resume): (DebuggerClient::pause): (DebuggerClient::stepInto): (DebuggerClient::stepOver): (DebuggerClient::stepOut): (DebuggerClient::showConsole): (DebuggerClient::closeCurrentFile):
  • Drosera/win/DebuggerClient.h: Ditto.
  • Drosera/win/DebuggerDocumentPlatform.cpp: Changed getPlatformCurrentFunctionStack to not use an unecessary HRESULT and removed two bugs. 1) caller could be in a bad state when asked to assign into it. 2) BSTRs were not created correctly. (DebuggerDocument::getPlatformCurrentFunctionStack):
  • Drosera/win/Drosera.cpp: Hook up the menu controls. (droseraWndProc): (handleCommand): (Drosera::resume): (Drosera::pause): (Drosera::stepInto): (Drosera::stepOver): (Drosera::stepOut): (Drosera::showConsole): (Drosera::closeCurrentFile):
  • Drosera/win/Drosera.h: Hook up the menu controls.
  • Drosera/win/ServerConnection.cpp: Removed unncessary server connection functions, added a null check, and fixed another bug where caller could be in a bad state when asked to assign into it. (ServerConnection::didLoadMainResourceForDataSource): (ServerConnection::getCallerFrame):
  • Drosera/win/ServerConnection.h: Safety first.
16:58 Changeset [27768] by aroben@apple.com

Build fix

Reviewed by Geoff.

  • kjs/regexp.h: Added a missing #include.
16:51 Changeset [27767] by andersca@apple.com

Reviewed by Adam.


Make this a text-only test.


  • fast/dom/Window/window-onFocus-expected.txt: Added.
  • fast/dom/Window/window-onFocus.html:
  • platform/mac/fast/dom/Window/window-onFocus-expected.checksum: Removed.
  • platform/mac/fast/dom/Window/window-onFocus-expected.png: Removed.
  • platform/mac/fast/dom/Window/window-onFocus-expected.txt: Removed.
16:49 Changeset [27766] by mitz@apple.com

Reviewed by Darin Adler.

  • DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Removed the --paint option because the painting code is always exercised as a result of -[FrameLoadDelegate webView:didFinishLoadFromFrame:] calling -displayIfNeeded. (dump): Changed to always grab the image from the window since the view is always displayed. (runTest): (displayWebView):
  • Scripts/run-webkit-tests: No need to pass --paint to DumpRenderTree because it always paints.
16:44 Changeset [27765] by aroben@apple.com

Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab

WebCore:

Add WindowMessageBroadcaster

This class is used to listen in on messages sent to HWNDs. Multiple
WindowMessageListeners can be notified about messages sent to a single
HWND, and one WindowMessageListener can listen to messages from
multiple HWNDs.

Reviewed by Ada.

  • WebCore.vcproj/WebCore.vcproj: Added new files to project.
  • platform/win/WindowMessageBroadcaster.cpp: Added. (WebCore::instancesMap): Static helper. (WebCore::WindowMessageBroadcaster::addListener): Registers a listener for a particular HWND. (WebCore::WindowMessageBroadcaster::removeListener): Removes a listener for a particular HWND. (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster): (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster): (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster from the instancesMap, removes all of its listeners, unsubclasses the window, and deletes the broadcaster. (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses the window (which means that SubclassedWndProc won't be called again for this window). (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all the listeners about every message sent to the HWND
  • platform/win/WindowMessageBroadcaster.h: Added. (WebCore::WindowMessageBroadcaster::listeners): (WebCore::WindowMessageBroadcaster::originalWndProc):
  • platform/win/WindowMessageListener.h: Added.

WebKit/win:

Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab

The bug was that multiple WebNodeHighlights would subclass the same
browser window, leading to infinite recursion within
SubclassedWndProc.

WebNodeHighlight is now a WindowMessageListener, and lets
WindowMessageBroadcaster handle subclassing the window.

Reviewed by Ada.

  • WebNodeHighlight.cpp: (WebNodeHighlight::WebNodeHighlight): Initialize m_observedWindow member. (WebNodeHighlight::~WebNodeHighlight): Unregister as a listener for m_observedWindow. (WebNodeHighlight::highlight): Register as a listener. (WebNodeHighlight::windowReceivedMessage): Do the work that used to be done in SubclassedWndProc.
  • WebNodeHighlight.h: Made WebNodeHighlight a WindowMessageListener, and renamed m_subclassedWindow to m_observedWindow.
16:44 Changeset [27764] by aroben@apple.com

Build fix for systems that don't have Cygwin in their PATH

  • WebKit.vcproj/Interfaces.vcproj: Put Cygwin in the PATH before trying to run bash.
16:30 Changeset [27763] by ggaren@apple.com

JavaScriptCore:

Reviewed by Sam Weinig.

Moved Shared.h into wtf so it could be used in more places. Deployed
Shared in places where JSCore previously had hand-rolled ref-counting
classes.

  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass):
  • API/JSClassRef.h:
  • API/JSObjectRef.cpp: (JSClassRetain): (JSClassRelease):
  • JavaScriptCore.vcproj/WTF/WTF.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/interpreter.cpp: (KJS::Interpreter::init):
  • kjs/interpreter.h:
  • kjs/regexp.cpp: (KJS::RegExp::RegExp):
  • kjs/regexp.h:
  • wtf/Shared.h: Copied from WebCore/platform/Shared.h.

JavaScriptGlue:

Reviewed by Sam Weinig.

Moved Shared.h into wtf so it could be used in more places.

  • ForwardingHeaders/wtf/Shared.h: Added.

WebCore:

Reviewed by Sam Weinig.

Moved Shared.h into wtf so it could be used in more places. Retained
TreeShared, but moved it to its own file, TreeShared.h.

  • ForwardingHeaders/wtf/Shared.h: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSVGPODTypeWrapper.h:
  • css/CSSFontFace.h:
  • css/CSSRuleList.h:
  • css/Counter.h:
  • css/Pair.h:
  • css/Rect.h:
  • css/StyleBase.h:
  • css/StyleSheetList.h:
  • dom/Clipboard.h:
  • dom/DOMImplementation.h:
  • dom/Event.h:
  • dom/EventListener.h:
  • dom/NamedNodeMap.h:
  • dom/NodeFilterCondition.h:
  • dom/NodeList.h:
  • dom/Range.h:
  • dom/RangeException.h:
  • dom/RegisteredEventListener.h:
  • dom/Traversal.h:
  • history/BackForwardList.h:
  • history/CachedPage.h:
  • history/HistoryItem.h:
  • html/CanvasGradient.h:
  • html/CanvasPattern.h:
  • html/HTMLCollection.h:
  • html/MediaError.h:
  • html/TimeRanges.h:
  • html/VoidCallback.h:
  • ksvg2/css/SVGRenderStyleDefs.h:
  • ksvg2/svg/SVGAnimatedTemplate.h:
  • ksvg2/svg/SVGElementInstanceList.h:
  • ksvg2/svg/SVGList.h:
  • ksvg2/svg/SVGPathSeg.h:
  • ksvg2/svg/SVGPreserveAspectRatio.h:
  • ksvg2/svg/SVGRenderingIntent.h:
  • ksvg2/svg/SVGTransform.h:
  • ksvg2/svg/SVGUnitTypes.h:
  • loader/DocumentLoader.h:
  • loader/FormState.h:
  • loader/ResourceLoader.h:
  • loader/TextResourceDecoder.h:
  • loader/icon/IconRecord.h:
  • page/BarInfo.h:
  • page/Console.h:
  • page/DOMSelection.h:
  • page/DOMWindow.h:
  • page/History.h:
  • page/InspectorController.cpp:
  • page/Plugin.h:
  • page/Screen.h:
  • platform/ArrayImpl.h:
  • platform/CString.h:
  • platform/DeprecatedValueListImpl.cpp:
  • platform/FontFallbackList.h:
  • platform/FontFamily.h:
  • platform/FontSelector.h:
  • platform/GlyphPageTreeNode.h:
  • platform/PopupMenu.h:
  • platform/RegularExpression.cpp:
  • platform/ScrollBar.h:
  • platform/Shared.h: Removed.
  • platform/SharedBuffer.h:
  • platform/StringImpl.h:
  • platform/graphics/Icon.h:
  • platform/graphics/svg/SVGResource.h:
  • platform/network/FormData.h:
  • platform/network/ResourceHandleClient.h:
  • rendering/RenderStyle.h:
  • rendering/SVGCharacterLayoutInfo.h:
  • storage/SQLResultSetRowList.h:
  • xml/DOMParser.h:
  • xml/XMLSerializer.h:
  • xml/XPathEvaluator.h:
  • xml/XPathExpression.h:
  • xml/XPathNSResolver.h:
  • xml/XPathResult.h:

WebKit/mac:

Reviewed by Sam Weinig.

Moved Shared.h into wtf so it could be used in more places.

  • ChangeLog:
  • WebCoreSupport/WebContextMenuClient.h:
16:26 Changeset [27762] by beidson@apple.com

Squashed commit of the following:

commit 3e6cb737b3b823b4bf177b9e0c2fcfcc38baf46d
Author: Brady Eidson <beidson@apple.com>
Date: Tue Nov 13 16:22:36 2007 -0800

Changelog for commit

commit 4be13a5ef17685368e68a76292b785c99da1d7f2
Author: Brady Eidson <beidson@apple.com>
Date: Tue Nov 13 16:19:34 2007 -0800

Make inspector work with new API

commit c500ed90c32b31fbc37a183c8ae5427f36b9ccc2
Author: Brady Eidson <beidson@apple.com>
Date: Tue Nov 13 14:37:16 2007 -0800

Woops!

commit c61b147f35a2801c340f82054d177914da6ccde5
Author: Brady Eidson <beidson@apple.com>
Date: Tue Nov 13 11:45:40 2007 -0800

Ander's review comments

commit f3dc2683acc5730cbab8758226adae3e35f7263b
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 12 18:05:21 2007 -0800

Initial vcproj changes after the rebase

commit c8cf9be275479ff1fb39b911e5165f07fcd5ae34
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 12 18:02:30 2007 -0800

Fixed Changelog a bit

commit c9790cde9b79e25690f1c0b34b9c1e77d2f4449f
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 12 16:53:48 2007 -0800

Finish the rebase/trunk merge

commit 663ad85619ec677eb5c52bed3c59b8b3f50de624
Author: Brady Eidson <beidson@apple.com>
Date: Tue Nov 6 11:54:26 2007 -0800

VCProj changes for new SQL api + blind attempt at keeping qt/gtk going

commit 2aceeb3bdfa6894bb4e93c0b129867059e9cdad7
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 15:27:55 2007 -0800

Changelog edit cleanup

commit a05f11fa4fa0ba935eb28df6d9628f29a4074d7a
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 15:25:27 2007 -0800

Changelog entries and small style cleanup

commit a2d34a78d06f446f4bdb6ea1797dfb91cfc336fe
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 13:37:10 2007 -0800

Minor edit

commit eaf0aa9c07cfeb54df312c130677ecbc60728c5f
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 13:32:20 2007 -0800

Do version check at time of executeSql

commit 3bac84615badcc810f44ebf14d1679bffd4cc8fb
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 13:04:14 2007 -0800

Newline = t3h gone

commit de7cfcf737b1a6143b74f1cc60955c317877ca27
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 13:02:11 2007 -0800

Example + inspector fixes

commit 536b119c219de72c97fe6756e226a36bef5e6880
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 11:47:30 2007 -0800

DatabaseExample works

commit fff79aa99dbf47955bc37ca325928460fc41a59e
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 10:36:59 2007 -0800

Remove the old, now unused DatabaseCallback

commit 06bc8e16ad346b755f767ce8e7849da819ccf96f
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 09:57:36 2007 -0800

Sort project file

commit 741084d108ec994ff513e18c3d7a3153f6dd6bb5
Author: Brady Eidson <beidson@apple.com>
Date: Mon Nov 5 09:30:37 2007 -0800

Sort the project file

commit 2e77cec4337db174f56269b7fb406d81ebb1de7d
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 16:01:03 2007 -0700

Yay! Change version even works!

commit 05c2ed1f22e3b689dd453ea300154492937f46db
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 15:19:56 2007 -0700

Nuke some DRT changes

commit 9b5b9b25c45d7d4720e4ddf4a31f163fb4f7faf2
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 15:05:59 2007 -0700

Nuke some printfs

commit 8503eecdefa95278a15246bb4eed2dccb69af12a
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 13:44:32 2007 -0700

Added "current transaction" to Database and reworked how scheduling goes

commit f70354c9a84d654d28894ab3c6b13679ce494fc3
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 11:49:26 2007 -0700

Things are largely working. Still need to clean up loose ends in the sticky notes demo and do further testing

commit 417665cd15f020c22af5691577e5c8a072630839
Author: Brady Eidson <beidson@apple.com>
Date: Thu Nov 1 00:00:47 2007 -0700

Transaction steps are almost locked up completely. Still need the SQLError for the transaction error callback and actually implementing ::execute() on the SQLStatement

commit 752d572acd4d1d9832976b4869284e554845205a
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 31 18:52:55 2007 -0700

Forgot this.

commit 2c8f2689d212296961a841c579a2f93609858862
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 31 18:31:05 2007 -0700

Merge.

commit 7540d4fa7ef858400d9f834cba976a439394412d
Author: Brady Eidson <beidson@apple.com>
Date: Wed Oct 31 17:14:30 2007 -0700

Even closer!

commit 143a70a5d026ab9fab1b5de91f826effcd481527
Author: Brady Eidson <beidson@apple.com>
Date: Wed Oct 31 16:43:31 2007 -0700

Merge project file correctly

commit 11207e7b6e391a4052fc41f6db42ce30449c7e3e
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 31 11:04:35 2007 -0700

Remove more unused methods.

commit 9a0d306d467eb9aa8c19825da03b7abe318c609c
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 31 11:01:35 2007 -0700

Add SQLTransactionCallback.idl

commit 12e2fa2858145e3895320293462ec441c35a7e3d
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 31 10:47:17 2007 -0700

Fix build.

commit 02f4631705b0f6e0bd3c715c64f4938ea53f4670
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 23:36:24 2007 -0700

All steps now take place in the right order, following the right rules - only thing missing is the actual SQL executing!

commit 6a8c0d7d2beb745c070c55b14beac9a47d373fc4
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 18:20:35 2007 -0700

Closer and closer we roll

commit f945446453ae48a28d6e2f3dcce4660feae0da79
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 17:59:25 2007 -0700

Things are really rolling - transaction steps 1-5 are called as expected. Downhill from here

commit 138b49b62bc8f3d05b1171e280d403e8b15ef9c4
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 14:50:14 2007 -0700

Use pointer-to-member functions for the transaction steps... !!!

commit 3eb4f794861827f5c88cd8c36efb144cdc537bd5
Author: Anders Carlsson <andersca@apple.com>
Date: Tue Oct 30 14:45:59 2007 -0700

Remove more old cruft.

commit f18835f0709b4aff00903738974dbebb11a224f0
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 13:55:05 2007 -0700

Restore that comment

commit 35b2eac5ac3ec338cc2a8a4fe611f85e62c72dd6
Author: Brady Eidson <beidson@apple.com>
Date: Tue Oct 30 12:08:29 2007 -0700

Closer, still, to the new model working. Lotsa little tweaks

commit a8476702a7d9bb38b8e15966e837ceca5858e9b2
Author: Anders Carlsson <andersca@apple.com>
Date: Tue Oct 30 11:23:02 2007 -0700

Wrap changeVersion.

commit aa0d8cc6aaaf674de341996555306eb9f122de3c
Author: Brady Eidson <beidson@apple.com>
Date: Mon Oct 29 22:35:16 2007 -0700

Dummy callback as part of transaction steps acheived! And other architectural changes

commit 01c0a92daf764375be79753bc7bc417aa0205168
Author: Brady Eidson <beidson@apple.com>
Date: Mon Oct 29 18:23:00 2007 -0700

Have a the first chunk of transaction steps occuring asynchronously with stubs and printf()s - should be downhill from here. Also updated the DatabaseExample.html for the portion of the new API that works so far.

commit 6b6e9e7a064424cd6b70489de80c79e7ae950b38
Author: Brady Eidson <beidson@apple.com>
Date: Mon Oct 29 17:32:30 2007 -0700

Made DatabaseTasks create mutex/conditions on demand, and renamed the internal sqlitedatabase

commit 99d06513090c2b4e04edda82d82108cf97da245a
Author: Anders Carlsson <andersca@apple.com>
Date: Mon Oct 29 16:30:52 2007 -0700

Fix bug.

commit 83def2ce73fa001f5bda3e152ca60e58c563dbed
Author: Anders Carlsson <andersca@apple.com>
Date: Mon Oct 29 15:17:45 2007 -0700

Remove some cruft.

commit 9f2c8c21d06d6b379426449357f1ee00a25faeee
Author: Anders Carlsson <andersca@apple.com>
Date: Mon Oct 29 14:45:54 2007 -0700

More bindings.

commit 9eae9135ed17179b7bcd225648272d24b76de8b9
Author: Brady Eidson <beidson@apple.com>
Date: Mon Oct 29 14:19:34 2007 -0700

Adapt to new openDatabase() method

commit 2e1dad857b190634f4394475e925d2dc518ae1fe
Author: Brady Eidson <beidson@apple.com>
Date: Mon Oct 29 12:05:53 2007 -0700

More infrastructure changes for the new spec, getting really close now!

commit b0d8ca9dc7ffe1a424070d5f8587346eca56b76b
Author: Brady Eidson <beidson@apple.com>
Date: Fri Oct 26 17:25:41 2007 -0700

More stubbing of infrastructure

commit bb8c6528208a24f129af9a8c09763989e5723157
Author: Anders Carlsson <andersca@apple.com>
Date: Fri Oct 26 15:38:16 2007 -0700

Remove SQLVersionChangeCallback.h

commit c77ec8b1d2a7c8cb7a6a0bc42b089c34541cdf83
Author: Brady Eidson <beidson@apple.com>
Date: Fri Oct 26 15:28:08 2007 -0700

Make it build (removed the old changeVersion)

commit e205fd2d6cb0cd4e6dd47cf4b6609196d0d8e87d
Author: Brady Eidson <beidson@apple.com>
Date: Fri Oct 26 14:53:15 2007 -0700

Even more progress in the architecture change

commit 322f576e2ed8c584244335f918302169c81ea39f
Author: Anders Carlsson <andersca@apple.com>
Date: Fri Oct 26 14:52:22 2007 -0700

Add JSSQLTransactionCustom.cpp.

commit 22d0b184e1d5d92574b5caf2b73eb6c7faae84be
Author: Anders Carlsson <andersca@apple.com>
Date: Fri Oct 26 13:21:55 2007 -0700

Add new API to Database.

commit 910660c7668f2728850990f8984045de9e41423f
Author: Anders Carlsson <andersca@apple.com>
Date: Fri Oct 26 11:48:33 2007 -0700

Add more .IDL files

commit 4d0cbb5b3e8c57076ce0cb743f8a52a5e31c0219
Author: Brady Eidson <beidson@apple.com>
Date: Fri Oct 26 11:20:54 2007 -0700

Further groundwork for new API (does not build)

commit d6420aacd1bf610ca53eced12e61ecd074f31bd7
Author: Brady Eidson <beidson@apple.com>
Date: Thu Oct 25 18:02:23 2007 -0700

Further stubs and adaptations to the new API

commit ea80b0c14037cfbdccf322146b26b62df2aa8211
Author: Brady Eidson <beidson@apple.com>
Date: Thu Oct 25 15:51:43 2007 -0700

Remove closeTransaction()

commit 4e701837674e07111da80a476135f5b73e25210f
Author: Brady Eidson <beidson@apple.com>
Date: Thu Oct 25 14:05:40 2007 -0700

Further stubbing and API-matching cleanup

commit f667cf3c7847069a6720296710876394954611bd
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 24 16:32:58 2007 -0700

Add extra arguments to Window.openDatabase.

commit efbbe3016a31a9c4a717de25d831406288f8126d
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 24 14:21:22 2007 -0700

cleanup.

commit b70a8252a588eee36d06835bad5793361ced35c5
Author: Anders Carlsson <andersca@apple.com>
Date: Wed Oct 24 12:31:06 2007 -0700

Stub out a couple of new classes.

14:14 Changeset [27761] by mitz@apple.com

Reviewed by Beth Dakin.

  • fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
  • css/html4.css: Added a 'cursor: auto' rule for links.
  • manual-tests/link-cursor-auto.html: Added.
13:59 Changeset [27760] by mitz@apple.com

Reviewed by Beth Dakin.

  • fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)

The root cause for the crash is that when a non-HTML view enters the
frame, the frame's document pointer keeps pointing at the last HTML-type
document it contained. This patch does not address the root cause, but
makes changes to account for that condition.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedMainResourceError): Do not change the frame's current document's page cache state here. (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's current document is in fact the history item being invalidated, then set its page cache state here.
12:37 Changeset [27759] by eric@webkit.org

2007-11-13 Eric Seidel <eric@webkit.org>

Reviewed by Maciej.

Add an ASSERT to getTruncatedInt32 to enforce proper usage.
Best part about this patch? It doesn't break the web!

  • kjs/JSImmediate.h: (KJS::JSImmediate::getTruncatedInt32): (KJS::JSImmediate::toDouble): (KJS::JSImmediate::getUInt32):
12:08 Changeset [27758] by antti@apple.com

WebCore:

Reviewed by Adele.

Fix that 'timeupdate' and 'waiting' events were never dispatched.


Add explicit m_paused attribute instead of trying to derive paused state from
underlying media. Call updatePlayState() to start/stop media playback
when any attribute that affects active playback state changes. This matches
specification text.


Test: http/tests/media/video-play-stall.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::setReadyState): (WebCore::HTMLMediaElement::paused): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::checkIfSeekNeeded): (WebCore::HTMLMediaElement::movieDidEnd): (WebCore::HTMLMediaElement::updatePlayState):
  • html/HTMLMediaElement.h:

LayoutTests:

Reviewed by Adele.


  • add HTTP media test for stalling load
  • update tests that don't specifically test autoplay feature to not use autoplay attribute since playback may start before event listeners are registered
  • http/tests/media: Added.
  • http/tests/media/video-load-and-stall.cgi: Added.
  • http/tests/media/video-play-stall-expected.txt: Added.
  • http/tests/media/video-play-stall.html: Added.
  • media/video-autoplay.html:
  • media/video-dom-loopstart.html:
  • media/video-end.html:
  • media/video-loopcount.html:
  • media/video-loopend.html:
  • media/video-loopstart.html:
12:05 Changeset [27757] by antti@apple.com

Reviewed by Adele.


Add support for http media tests

  • Scripts/run-webkit-tests:
11:54 Changeset [27756] by ap@webkit.org

Windows build fix.

  • bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16):
  • kjs/ustring.cpp: (KJS::UString::UTF8String):
  • wtf/unicode/UTF8.cpp: (WTF::Unicode::ConvertUTF8ToUTF16):
11:29 Changeset [27755] by sfalken@apple.com

Add IDOMElementPrivate::font() to get an element's font
as a WebFontDescription.


Reviewed by Darin.

  • DOMCoreClasses.cpp: (DOMElement::font):
  • DOMCoreClasses.h:
  • Interfaces/DOMPrivate.idl:
10:15 Changeset [27754] by sullivan@apple.com

WebCore:

Reviewed by Darin.

removed recently-added PreferredType concept; we found a better way to do what
ths was accomplishing

  • bridge/WindowFeatures.h: (WebCore::WindowFeatures::WindowFeatures): removed definition of PreferredType


  • page/ContextMenuController.cpp: (WebCore::openNewWindow): removed use of PreferredType

WebKit/mac:

Reviewed by Darin.

removed recently-added PreferredType concept; we found a better way to do what
ths was accomplishing

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): removed use of PreferredType
09:35 Changeset [27753] by sullivan@apple.com

Reviewed by Dan Bernstein.


  • fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in form fields other than the one you're typing into
  • WebCoreSupport/WebEditorClient.mm: (selectorForKeyEvent): correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445 but didn't get updated here.
09:25 Changeset [27752] by darin@apple.com

JavaScriptCore:

Reviewed by Geoff.

+ single-digit sequences like \4 should be treated as octal

character constants, unless there is a sufficient number
of brackets for them to be treated as backreferences

+ \8 turns into the character "8", not a binary zero character

followed by "8" (same for 9)

+ only the first 3 digits should be considered part of an

octal character constant (the old behavior was to decode
an arbitrarily long sequence and then mask with 0xFF)

+ if \x is followed by anything other than two valid hex digits,

then it should simply be treated a the letter "x"; that includes
not supporting the \x{41} syntax

+ if \u is followed by anything less than four valid hex digits,

then it should simply be treated a the letter "u"

+ an extra "+" should be a syntax error, rather than being treated

as the "possessive quantifier"

+ if a "]" character appears immediately after a "[" character that

starts a character class, then that's an empty character class,
rather than being the start of a character class that includes a
"]" character

+ a "$" should not match a terminating newline; we could have gotten

PCRE to handle this the way we wanted by passing an appropriate option

Test: fast/js/regexp-no-extensions.html

  • pcre/pcre_compile.cpp: (check_escape): Check backreferences against bracount to catch both overflows and things that should be treated as octal. Rewrite octal loop to not go on indefinitely. Rewrite both hex loops to match and remove \x{} support. (compile_branch): Restructure loops so that we don't special-case a "]" at the beginning of a character class. Remove code that treated "+" as the possessive quantifier. (jsRegExpCompile): Change the "]" handling here too.
  • pcre/pcre_exec.cpp: (match): Changed CIRC to match the DOLL implementation. Changed DOLL to remove handling of "terminating newline", a Perl concept which we don't need.
  • tests/mozilla/expected.html: Two tests are fixed now: ecma_3/RegExp/regress-100199.js and ecma_3/RegExp/regress-188206.js. One test fails now: ecma_3/RegExp/perlstress-002.js -- our success before was due to a bug (we treated all 1-character numeric escapes as backreferences). The date tests also now both expect success -- whatever was making them fail before was probably due to the time being close to a DST shift; maybe we need to get rid of those tests.

LayoutTests:

Reviewed by Geoff.

  • fast/js/regexp-no-extensions-expected.txt: Added.
  • fast/js/regexp-no-extensions.html: Added.
  • fast/js/resources/regexp-no-extensions.js: Added.
09:22 Changeset [27751] by darin@apple.com
  • kjs/JSImmediate.h: (KJS::JSImmediate::getTruncatedInt32): Remove too-strong assert that was firing constantly and preventing even basic web browsing from working in a debug build. This function is used in many cases where the immediate value is not a number; the assertion could perhaps be added back later with a bit of reorganization.
01:49 Changeset [27750] by alp@webkit.org

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

Build fix for breakage to non-Mac builds introduced in r27746.

  • kjs/ustring.cpp:
00:34 Changeset [27749] by eric@webkit.org

2007-11-13 Eric Seidel <eric@webkit.org>

Reviewed by Maciej.

Clean up evaluateToBoolean functions to use inlines instead of copy/paste code

  • kjs/JSImmediate.h:
  • kjs/nodes.cpp: (KJS::GreaterNode::inlineEvaluateToBoolean): (KJS::GreaterNode::evaluate): (KJS::LessEqNode::inlineEvaluateToBoolean): (KJS::LessEqNode::evaluate): (KJS::GreaterEqNode::inlineEvaluateToBoolean): (KJS::GreaterEqNode::evaluate): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::inlineEvaluateToBoolean): (KJS::EqualNode::evaluate): (KJS::NotEqualNode::inlineEvaluateToBoolean): (KJS::NotEqualNode::evaluate): (KJS::StrictEqualNode::inlineEvaluateToBoolean): (KJS::StrictEqualNode::evaluate): (KJS::NotStrictEqualNode::inlineEvaluateToBoolean): (KJS::NotStrictEqualNode::evaluate):
  • kjs/nodes.h:
00:05 Changeset [27748] by ggaren@apple.com

Reviewed by Sam Weinig.


Fixed http://bugs.webkit.org/show_bug.cgi?id=15958
base64 spends 1.1% of total time checking for special Infinity case


Use a fast character test instead of calling strncmp.


1.1% speedup on string-base64. SunSpider reports a .4% speedup overall;
Sharks reports only .1%. Who are you going to believe? Huh?

  • kjs/ustring.cpp: (KJS::UString::toDouble):
00:02 Changeset [27747] by eric@webkit.org

2007-11-12 Eric Seidel <eric@webkit.org>

Reviewed by Oliver.

Add evaluateToInt32 and evaluateUInt32 methods and deploy them.
Fix a few missing evaluateToBoolean methods
Deploy all evaluateTo* functions to more nodes to avoid slowdowns
http://bugs.webkit.org/show_bug.cgi?id=15950

SunSpider claims this is at least a 1.4% speedup.

  • kjs/JSImmediate.h: (KJS::JSImmediate::getTruncatedInt32): (KJS::JSImmediate::toDouble): (KJS::JSImmediate::getUInt32):
  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToNumber): (KJS::ExpressionNode::evaluateToInt32): (KJS::ExpressionNode::evaluateToUInt32): (KJS::NumberNode::evaluateToInt32): (KJS::NumberNode::evaluateToUInt32): (KJS::ImmediateNumberNode::evaluateToInt32): (KJS::ImmediateNumberNode::evaluateToUInt32): (KJS::ResolveNode::evaluate): (KJS::ResolveNode::evaluateToNumber): (KJS::ResolveNode::evaluateToBoolean): (KJS::ResolveNode::evaluateToInt32): (KJS::ResolveNode::evaluateToUInt32): (KJS::LocalVarAccessNode::evaluateToInt32): (KJS::LocalVarAccessNode::evaluateToUInt32): (KJS::BracketAccessorNode::evaluateToNumber): (KJS::BracketAccessorNode::evaluateToBoolean): (KJS::BracketAccessorNode::evaluateToInt32): (KJS::BracketAccessorNode::evaluateToUInt32): (KJS::DotAccessorNode::inlineEvaluate): (KJS::DotAccessorNode::evaluate): (KJS::DotAccessorNode::evaluateToNumber): (KJS::DotAccessorNode::evaluateToBoolean): (KJS::DotAccessorNode::evaluateToInt32): (KJS::DotAccessorNode::evaluateToUInt32): (KJS::NewExprNode::inlineEvaluate): (KJS::NewExprNode::evaluate): (KJS::NewExprNode::evaluateToNumber): (KJS::NewExprNode::evaluateToBoolean): (KJS::NewExprNode::evaluateToInt32): (KJS::NewExprNode::evaluateToUInt32): (KJS::FunctionCallResolveNode::inlineEvaluate): (KJS::FunctionCallResolveNode::evaluate): (KJS::FunctionCallResolveNode::evaluateToNumber): (KJS::FunctionCallResolveNode::evaluateToBoolean): (KJS::FunctionCallResolveNode::evaluateToInt32): (KJS::FunctionCallResolveNode::evaluateToUInt32): (KJS::LocalVarFunctionCallNode::evaluate): (KJS::LocalVarFunctionCallNode::evaluateToNumber): (KJS::LocalVarFunctionCallNode::evaluateToBoolean): (KJS::LocalVarFunctionCallNode::evaluateToInt32): (KJS::LocalVarFunctionCallNode::evaluateToUInt32): (KJS::FunctionCallDotNode::evaluate): (KJS::FunctionCallDotNode::evaluateToNumber): (KJS::FunctionCallDotNode::evaluateToBoolean): (KJS::FunctionCallDotNode::evaluateToInt32): (KJS::FunctionCallDotNode::evaluateToUInt32): (KJS::PostDecLocalVarNode::inlineEvaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToNumber): (KJS::PostDecLocalVarNode::evaluateToBoolean): (KJS::PostDecLocalVarNode::evaluateToInt32): (KJS::PostDecLocalVarNode::evaluateToUInt32): (KJS::typeStringForValue): (KJS::UnaryPlusNode::evaluate): (KJS::UnaryPlusNode::evaluateToBoolean): (KJS::UnaryPlusNode::evaluateToNumber): (KJS::UnaryPlusNode::evaluateToInt32): (KJS::BitwiseNotNode::inlineEvaluateToInt32): (KJS::BitwiseNotNode::evaluate): (KJS::BitwiseNotNode::evaluateToNumber): (KJS::BitwiseNotNode::evaluateToBoolean): (KJS::BitwiseNotNode::evaluateToInt32): (KJS::MultNode::evaluateToBoolean): (KJS::MultNode::evaluateToInt32): (KJS::MultNode::evaluateToUInt32): (KJS::DivNode::evaluateToInt32): (KJS::DivNode::evaluateToUInt32): (KJS::ModNode::evaluateToBoolean): (KJS::ModNode::evaluateToInt32): (KJS::ModNode::evaluateToUInt32): (KJS::AddNode::evaluateToNumber): (KJS::AddNode::evaluateToInt32): (KJS::AddNode::evaluateToUInt32): (KJS::AddNumbersNode::evaluateToInt32): (KJS::AddNumbersNode::evaluateToUInt32): (KJS::SubNode::evaluateToInt32): (KJS::SubNode::evaluateToUInt32): (KJS::LeftShiftNode::inlineEvaluateToInt32): (KJS::LeftShiftNode::evaluate): (KJS::LeftShiftNode::evaluateToNumber): (KJS::LeftShiftNode::evaluateToInt32): (KJS::RightShiftNode::inlineEvaluateToInt32): (KJS::RightShiftNode::evaluate): (KJS::RightShiftNode::evaluateToNumber): (KJS::RightShiftNode::evaluateToInt32): (KJS::UnsignedRightShiftNode::inlineEvaluateToUInt32): (KJS::UnsignedRightShiftNode::evaluate): (KJS::UnsignedRightShiftNode::evaluateToNumber): (KJS::UnsignedRightShiftNode::evaluateToInt32): (KJS::LessNode::inlineEvaluateToBoolean): (KJS::LessNode::evaluate): (KJS::LessNode::evaluateToBoolean): (KJS::LessNumbersNode::inlineEvaluateToBoolean): (KJS::LessNumbersNode::evaluate): (KJS::LessNumbersNode::evaluateToBoolean): (KJS::LessStringsNode::inlineEvaluateToBoolean): (KJS::LessStringsNode::evaluate): (KJS::BitAndNode::evaluate): (KJS::BitAndNode::inlineEvaluateToInt32): (KJS::BitAndNode::evaluateToNumber): (KJS::BitAndNode::evaluateToBoolean): (KJS::BitAndNode::evaluateToInt32): (KJS::BitXOrNode::inlineEvaluateToInt32): (KJS::BitXOrNode::evaluate): (KJS::BitXOrNode::evaluateToNumber): (KJS::BitXOrNode::evaluateToBoolean): (KJS::BitXOrNode::evaluateToInt32): (KJS::BitOrNode::inlineEvaluateToInt32): (KJS::BitOrNode::evaluate): (KJS::BitOrNode::evaluateToNumber): (KJS::BitOrNode::evaluateToBoolean): (KJS::BitOrNode::evaluateToInt32): (KJS::ConditionalNode::evaluateToNumber): (KJS::ConditionalNode::evaluateToInt32): (KJS::ConditionalNode::evaluateToUInt32): (KJS::valueForReadModifyAssignment): (KJS::AssignExprNode::evaluate): (KJS::AssignExprNode::evaluateToBoolean): (KJS::AssignExprNode::evaluateToNumber): (KJS::AssignExprNode::evaluateToInt32): (KJS::VarDeclNode::handleSlowCase):
  • kjs/nodes.h: (KJS::FunctionCallResolveNode::precedence): (KJS::AddNode::precedence): (KJS::AddNode::): (KJS::LessNumbersNode::): (KJS::LessStringsNode::):
  • kjs/value.cpp: (KJS::JSValue::toInt32SlowCase): (KJS::JSValue::toUInt32SlowCase):
  • kjs/value.h: (KJS::JSValue::asCell): (KJS::JSValue::toInt32): (KJS::JSValue::toUInt32):

11/12/07:

23:12 Changeset [27746] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15953
Add UTF-8 encoding/decoding to WTF

  • kjs/ustring.h: Moved UTF8SequenceLength() and decodeUTF8Sequence() to wtf/unicode.
  • kjs/ustring.cpp: (KJS::UString::UTF8String): Changed this function to take a strict/lenient parameter. Callers are not interested in getting decoding results in strict mode, so this allows for bailing out as soon as an error is seen.
  • kjs/function.cpp: (KJS::encode): Updated for new UString::UTF8String() signature.
  • API/JSStringRef.cpp: (JSStringCreateWithCharacters): Disambiguate UChar. (JSStringCreateWithUTF8CString): Actually use UTF-8 when creating the string!
  • bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16): Use ConvertUTF8ToUTF16().
  • wtf/unicode/UTF8.cpp: Added. (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): (WTF::Unicode::inlineUTF8SequenceLength): (WTF::Unicode::UTF8SequenceLength): (WTF::Unicode::decodeUTF8Sequence): (WTF::Unicode::): (WTF::Unicode::ConvertUTF16ToUTF8): (WTF::Unicode::isLegalUTF8): (WTF::Unicode::ConvertUTF8ToUTF16):
  • wtf/unicode/UTF8.h: Added. (WTF::Unicode::): Some code moved from ustring.h, some adapted from unicode.org sources.
22:48 Changeset [27745] by weinig@apple.com

JavaScriptCore:

Reviewed by Darin.

  • bindings/npapi.h:

WebKit/mac:

Reviewed by Darin.

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setVariable:value:]):
22:21 Changeset [27744] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15954
Move DOM Selection operations out of SelectionController

No change in functionality.

WebCore:

  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelectedRange):
  • editing/SelectionController.h:
  • page/DOMSelection.cpp: (WebCore::DOMSelection::anchorNode): (WebCore::DOMSelection::baseNode): (WebCore::DOMSelection::anchorOffset): (WebCore::DOMSelection::baseOffset): (WebCore::DOMSelection::focusNode): (WebCore::DOMSelection::extentNode): (WebCore::DOMSelection::focusOffset): (WebCore::DOMSelection::extentOffset): (WebCore::DOMSelection::isCollapsed): (WebCore::DOMSelection::type): (WebCore::DOMSelection::rangeCount): (WebCore::DOMSelection::collapse): (WebCore::DOMSelection::collapseToEnd): (WebCore::DOMSelection::collapseToStart): (WebCore::DOMSelection::empty): (WebCore::DOMSelection::setBaseAndExtent): (WebCore::DOMSelection::setPosition): (WebCore::DOMSelection::modify): (WebCore::DOMSelection::extend): (WebCore::DOMSelection::getRangeAt): (WebCore::DOMSelection::removeAllRanges): (WebCore::DOMSelection::addRange): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::selectAllChildren): (WebCore::DOMSelection::toString):
  • page/DOMSelection.h: Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange() to return its result directly instead of via an ExceptionCode that no caller wanted.
  • editing/Editor.cpp: (WebCore::Editor::deleteRange): (WebCore::Editor::removeFormattingAndStyle): (WebCore::Editor::selectComposition): (WebCore::Editor::setComposition):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Adapted for SelectionController::setSelectedRange() now returning a bool. SelectionController::toString() is no longer avasilable, use plainText() explicitly.
  • WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.

WebKit:

  • WebView/WebHTMLView.mm: (-[WebHTMLView _expandSelectionToGranularity:]): (-[WebHTMLView selectToMark:]): (-[WebHTMLView swapWithMark:]):
  • WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Adapted for SelectionController::setSelectedRange() now returning a bool.
20:53 Changeset [27743] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

Test: fast/repaint/invisible-objects.html

Avoid repainting invisible blocks if they are enclosed in a layer that
contains no visible objects.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteClippedOverflowRect):

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/invisible-objects.html: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.checksum: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.png: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.txt: Added.
19:57 Changeset [27742] by oliver@apple.com

<rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)

Reviewed by John S.

EventHandler needs to reset these fields when a drag terminates, otherwise
EventHandler is left in an inconsistent state when a drag is initiated on a
page with multiple frames.

18:33 Changeset [27741] by wsiegrist@apple.com
18:23 Changeset [27740] by wsiegrist@apple.com

test 4

18:10 Changeset [27739] by wsiegrist@apple.com

3

18:04 Changeset [27738] by wsiegrist@apple.com

2++

17:58 Changeset [27737] by wsiegrist@apple.com

take 2

17:53 Changeset [27736] by wsiegrist@apple.com

testing post-commit.

17:39 Changeset [27735] by timothy@apple.com

Reviewed by Mark Rowe.

Prevent selecting a word in the breadcrumb or the styles section when double
clicking on a DOM node in the outline tree.

  • page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event with a detail of 2 or higher comes in. This prevents the selection.
  • page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
17:33 Changeset [27734] by weinig@apple.com

WebKitTools:

Reviewed by Adam Roben.

Implement LayoutTestController.setPrivateBrowsingEnabled(bool) for windows.

  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPrivateBrowsingEnabled):

LayoutTests:

Reviewed by Adam Roben.

  • platform/win/Skipped: Remove http/tests/security/cross-frame-acdcess-private-browsing.html from the windows skipped list now that LayoutTestController.setPrivateBrowsingEnabled has been implmented.
16:22 Changeset [27733] by darin@apple.com

JavaScriptCore:

Reviewed by Sam.

Test: fast/js/regexp-many-brackets.html

  • pcre/pcre_exec.cpp: (match): Added back accidentally-removed case for the BRANUMBER opcode.

LayoutTests:

Reviewed by Sam.

  • fast/js/regexp-many-brackets-expected.txt: Added.
  • fast/js/regexp-many-brackets.html: Added.
  • fast/js/resources/regexp-many-brackets.js: Added.
15:53 Changeset [27732] by oliver@apple.com

Return behaviour for 0 sized pattern back to what it was prior to r27704

Reviewed by Darin and Antti.

This change in behaviour broke two layout tests in DRT, so correcting it
corrects existing tests.

15:27 Changeset [27731] by timothy@apple.com

Reviewed by John.

<rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]

  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): If the SharedBuffer is null insert an empty NSData instead of nil.
15:04 Changeset [27730] by darin@apple.com

Reviewed by Geoff.

  • fix use of prefix and config.h, got rid of a few unneeded things in the PCRE code; no behavior changes
  • API/JSBase.cpp: Added include of config.h.
  • API/JSCallbackConstructor.cpp: Ditto.
  • API/JSCallbackFunction.cpp: Ditto.
  • API/JSCallbackObject.cpp: Ditto.
  • API/JSClassRef.cpp: Ditto.
  • API/JSContextRef.cpp: Ditto.
  • API/JSObjectRef.cpp: Ditto.
  • API/JSStringRef.cpp: Ditto.
  • API/JSValueRef.cpp: Ditto.
  • JavaScriptCorePrefix.h: Removed obsolete <ctype.h> workaround. Moved new/delete macros after includes, as they are in WebCore's prefix. Removed "config.h".
  • pcre/dftables.cpp: (main): Changed back to not use a separate maketables function. This is needed for PCRE, but not helpful for our use. Also changed the tables to all be 128 entries long instead of 256, since only the first 128 are ever used.
  • pcre/pcre_compile.cpp: Added include of config.h. Eliminated digitab, which was only being used to check hex digits. Changed all uses of TRUE and FALSE to use the C++ true and false instead. (check_escape): Just the TRUE/FALSE thing. (is_counted_repeat): Ditto. (could_be_empty_branch): Ditto. (get_othercase_range): Ditto. (compile_branch): Ditto. (compile_regex): Ditto. (is_anchored): Ditto. (is_startline): Ditto. (find_firstassertedchar): Ditto. (jsRegExpCompile): Ditto.
  • pcre/pcre_exec.cpp: Added include of config.h. Changed all uses of TRUE and FALSE to use the C++ true and false instead. (match_ref): Just the TRUE/FALSE thing. (match): Ditto. Removed some unneeded braces. (jsRegExpExecute): Just the TRUE/FALSE thing.
  • pcre/pcre_internal.h: Moved the constants needed by dftables.cpp to the top of the file instead of the bottom, so they can be used. Also changed the table sizes to 128 instead of 256. Removed macro definitions of FALSE and TRUE. Set array sizes for all the const arrays. Changed _pcre_utf8_table1_size to be a macro instead of a extern int.
  • pcre/pcre_maketables.cpp: Removed. It's all in dftables.cpp now.
  • pcre/pcre_tables.cpp: Made table sizes explicit.
  • pcre/pcre_xclass.cpp: Just the TRUE/FALSE thing.
14:28 Changeset [27729] by darin@apple.com

Reviewed by Tim.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange): Factored out the slow case of isScheduledLocationChangePending into this.
  • loader/FrameLoader.h: (WebCore::FrameLoader::isScheduledLocationChangePending): Added an inline check of the far and away most common case, where m_scheduledRedirection is 0; the rest is in the isLocationChange function.
14:11 Changeset [27728] by oliver@apple.com

Appease geoff :D

14:06 Changeset [27727] by ggaren@apple.com

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/completion-expected.txt:
  • fast/js/kde/resources/completion.js:
14:04 Changeset [27726] by oliver@apple.com

<rdar://problem/5522011> The content of the password field of Safari is displayed by reconversion.

Reviewed by Darin.

Some input methods (notably Kotoeri) can incorrectly provide
access to the raw text of a password field. To work around
this we forcefully override the inputContext whenever a password
field is active.

13:59 Changeset [27725] by ggaren@apple.com

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/lval-exceptions-expected.txt: Added.
  • fast/js/kde/lval-exceptions.html: Added.
  • fast/js/kde/operators-expected.txt:
  • fast/js/kde/resources/lval-exceptions.js: Added.
  • fast/js/kde/resources/operators.js:
13:57 Changeset [27724] by ggaren@apple.com

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/func-decl-expected.txt: Added.
  • fast/js/kde/func-decl.html: Added.
  • fast/js/kde/resources/func-decl.js: Added.
13:55 Changeset [27723] by ggaren@apple.com

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/rehash-assign-expected.txt: Added.
  • fast/js/rehash-assign.html: Added.
  • fast/js/resize-array-assign-expected.txt: Added.
  • fast/js/resize-array-assign.html: Added.
  • fast/js/resources/rehash-assign.js: Added.
  • fast/js/resources/resize-array-assign.js: Added.
13:48 Changeset [27722] by ggaren@apple.com

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/arguments-scope-expected.txt: Added.
  • fast/js/kde/arguments-scope.html: Added.
  • fast/js/kde/resources/arguments-scope.js: Added.
  • fast/js/kde/resources/scope.js:
  • fast/js/kde/scope-expected.txt:
12:11 Changeset [27721] by staikos@webkit.org

2007-11-12 George Staikos <staikos@kde.org>

Reviewed by Tim.

Extract the text match marker highlight color into RenderTheme instead
of the hardcoded yellow.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintTextMatchMarker):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::platformTextSearchHighlightColor):
  • rendering/RenderTheme.h:
11:49 Changeset [27720] by mrowe@apple.com

2007-11-12 Mark Rowe <mrowe@apple.com>

  • building/tools.html: Remove extra >.
11:45 Changeset [27719] by mrowe@apple.com

2007-11-12 Mark Rowe <mrowe@apple.com>

Fix deadlock on launch on the Mac.

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
10:51 Changeset [27718] by sullivan@apple.com

Reviewed by Tim Hatcher


  • speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56


The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
by this class, but should be. (It is retained by WebHTMLView, e.g.).

  • WebView/WebPDFView.mm: (-[WebPDFView dealloc]): release dataSource ivar (-[WebPDFView setDataSource:]): retain dataSource ivar
10:34 Changeset [27717] by mrowe@apple.com

2007-11-12 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Brady.

http://bugs.webkit.org/show_bug.cgi?id=15955
Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): (WebCore::IconDatabase::close):
  • loader/icon/IconDatabase.h:
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::open): (WebCore::SQLiteDatabase::close):
  • platform/sql/SQLiteDatabase.h:
08:31 InterTrac created by trac
08:31 TracSearch edited by trac
(diff)
08:31 TracRevisionLog created by trac
08:31 TracUnicode edited by trac
(diff)
08:31 TracUpgrade edited by trac
(diff)
08:31 TracTimeline edited by trac
(diff)
08:31 TracRoadmap edited by trac
(diff)
08:31 TracReports edited by trac
(diff)
08:31 TracSupport edited by trac
(diff)
08:31 TracPlugins edited by trac
(diff)
08:31 TracChangeset edited by trac
(diff)
08:31 TracQuery edited by trac
(diff)
08:31 TracStandalone edited by trac
(diff)
08:31 TracModPython edited by trac
(diff)
08:31 WikiRestructuredTextLinks edited by trac
(diff)
08:31 TracAccessibility edited by trac
(diff)
08:31 TracEnvironment edited by trac
(diff)
08:31 CamelCase edited by trac
(diff)
08:31 TracSyntaxColoring edited by trac
(diff)
08:31 WikiFormatting edited by trac
(diff)
08:31 TracTicketsCustomFields edited by trac
(diff)
08:31 TracNotification edited by trac
(diff)
08:31 WikiDeletePage edited by trac
(diff)
08:31 InterMapTxt created by trac
08:31 InterWiki created by trac
08:31 WikiHtml edited by trac
(diff)
08:31 TracWiki edited by trac
(diff)
08:31 TracIni edited by trac
(diff)
08:31 TracCgi edited by trac
(diff)
08:31 TracRss edited by trac
(diff)
08:31 WikiProcessors edited by trac
(diff)
08:31 TracPermissions edited by trac
(diff)
08:31 WikiNewPage edited by trac
(diff)
08:31 TracLinks edited by trac
(diff)
08:31 TracInterfaceCustomization edited by trac
(diff)
08:31 WikiMacros edited by trac
(diff)
08:31 TracImport edited by trac
(diff)
08:31 TracInstall edited by trac
(diff)
08:31 TracFastCgi edited by trac
(diff)
08:31 TracGuide edited by trac
(diff)
08:31 TracBackup edited by trac
(diff)
08:31 TracBrowser edited by trac
(diff)
08:31 WikiRestructuredText edited by trac
(diff)
08:31 TracAdmin edited by trac
(diff)
08:31 WikiPageNames edited by trac
(diff)
08:31 TracTickets edited by trac
(diff)
03:02 Changeset [27716] by aroben@apple.com

Windows build fix

  • config.h: Touch because VS apparently can't figure out which files depend on ResourceResponse.h.
  • WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to project and remove old ResourceResponse files.
02:39 Changeset [27715] by aroben@apple.com

Change update-webkit-localizable-strings to only scan mac and win directories

WebKit:

  • StringsNotToBeLocalized.txt: Updated.

WebKitTools:

  • Scripts/update-webkit-localizable-strings: Changed to only scan the mac and win subdirectories.
02:33 Changeset [27714] by mrowe@apple.com

2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15334
Split ResourceResponse into platform specific files

  • WebCore.base.exp:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceResponse.cpp: Removed.
  • platform/network/ResourceResponse.h: Removed.
  • platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp. (WebCore::ResourceResponseBase::asResourceResponse): (WebCore::ResourceResponseBase::isHTTP): (WebCore::ResourceResponseBase::url): (WebCore::ResourceResponseBase::setUrl): (WebCore::ResourceResponseBase::mimeType): (WebCore::ResourceResponseBase::setMimeType): (WebCore::ResourceResponseBase::expectedContentLength): (WebCore::ResourceResponseBase::setExpectedContentLength): (WebCore::ResourceResponseBase::textEncodingName): (WebCore::ResourceResponseBase::setTextEncodingName): (WebCore::ResourceResponseBase::suggestedFilename): (WebCore::ResourceResponseBase::setSuggestedFilename): (WebCore::ResourceResponseBase::httpStatusCode): (WebCore::ResourceResponseBase::setHTTPStatusCode): (WebCore::ResourceResponseBase::httpStatusText): (WebCore::ResourceResponseBase::setHTTPStatusText): (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField): (WebCore::ResourceResponseBase::httpHeaderFields): (WebCore::ResourceResponseBase::isAttachment): (WebCore::ResourceResponseBase::setExpirationDate): (WebCore::ResourceResponseBase::expirationDate): (WebCore::ResourceResponseBase::setLastModifiedDate): (WebCore::ResourceResponseBase::lastModifiedDate): (WebCore::ResourceResponseBase::updateResourceResponse):
  • platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h. (WebCore::ResourceResponseBase::ResourceResponseBase):
  • platform/network/cf/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/curl/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
  • platform/network/mac/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/qt/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
02:27 Changeset [27713] by aroben@apple.com

Windows build fix

  • WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
  • WebKit.vcproj/WebKit_debug.def: Ditto.
01:59 Changeset [27712] by aroben@apple.com

Build fix

  • wtf/FastMalloc.h: Add missing using statement.
00:00 Changeset [27711] by oliver

Add special fastZeroedMalloc function to replace a
number of fastCalloc calls where one argument was 1.

Reviewed by Darin.

This results in a 0.4% progression in SunSpider, more
than making up for the earlier regression caused by
additional overflow checks.

11/11/07:

22:44 Changeset [27710] by aroben@apple.com

Fix <rdar://5578982> ASSERT in HashTable::checkTableConsistencyExceptSize beneath WebNotificationCenter

The bug was due to a mismatch between HashMap::remove and
HashTable::checkTableConsistency. HashMap::remove can delete the value
stored in the HashTable (by derefing it), which is not normally
allowed by HashTable. It's OK in this case because the value is about
to be removed from the table, but HashTable wasn't aware of this.

HashMap::remove now performs the consistency check itself before
derefing the value.

Darin noticed that the same bug would occur in HashSet, so I've fixed
it there as well.

Reviewed by Darin.

  • wtf/HashMap.h: (WTF::HashMap::remove): Perform the HashTable consistency check manually before calling deref.
  • wtf/HashSet.h: (WTF::HashSet::remove): Ditto.
  • wtf/HashTable.h: Made checkTableConsistency public so that HashMap and HashSet can call it. (WTF::HashTable::removeAndInvalidateWithoutEntryConsistencyCheck): Added. (WTF::HashTable::removeAndInvalidate): Added. (WTF::HashTable::remove): (WTF::HashTable::removeWithoutEntryConsistencyCheck): Added.
22:16 Changeset [27709] by mrowe@apple.com

Roll out r27708 as it breaks the Mac PowerPC build.

22:00 Changeset [27708] by mrowe@apple.com

2007-11-11 Mike Hommey <mh+webkit@glandium.org>

Reviewed by Maciej.

Fix http://bugs.webkit.org/show_bug.cgi?id=14521
Bug 14521: JavaScriptCore fails to build on Linux/PPC gcc 4.1.2

  • wtf/TCSpinLock.h: (TCMalloc_SpinLock::Unlock): Change constraint from o to m.
21:54 Changeset [27707] by mrowe@apple.com

2007-11-11 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Adam Roben.

http://bugs.webkit.org/show_bug.cgi?id=15939
Adds a currentThread API for use by SQLiteDatabase, etc.

  • platform/Threading.h:
  • platform/ThreadingNone.cpp: (WebCore::currentThread):
  • platform/gtk/ThreadingGtk.cpp: (WebCore::identifierByGthreadHandle): (WebCore::):
  • platform/pthreads/ThreadingPthreads.cpp: (WebCore::identifierByPthreadHandle): (WebCore::currentThread):
21:40 Changeset [27706] by mitz@apple.com

WebCore:

Reviewed by Adam Roben.

Test: editing/selection/cleared-by-relayout.html

  • editing/Selection.cpp: (WebCore::Selection::toRange): Check if the selection has been cleared by updating layout.

LayoutTests:

Reviewed by Adam Roben.

  • editing/selection/cleared-by-relayout-expected.txt: Added.
  • editing/selection/cleared-by-relayout.html: Added.
20:51 Changeset [27705] by darin@apple.com

Reviewed by Mark Rowe.

  • fix line numbers that were off since my recent patch
  • platform/SegmentedString.h: (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers and rename it to m_doNotExcludeLineNumbers. (WebCore::SegmentedSubstring::excludeLineNumbers): Updated. (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added. (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated. (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix the regression, but keep the speediness. I accidentally had removed a ! here.
  • platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
20:48 Changeset [27704] by oliver

Fix for <rdar://problem/5585334>

Reviewed by Darin.

Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
malformed SVG file in WebCore::ImageBuffer::create. Add protection
against a potential overflow.

20:37 Changeset [27703] by mrowe@apple.com

2007-11-11 Mark Rowe <mrowe@apple.com>

Build fix. Use the correct filename case.

  • kjs/nodes.h:
20:27 Changeset [27702] by ggaren@apple.com

Reviewed by Sam Weinig.


Fixed http://bugs.webkit.org/show_bug.cgi?id=15902
15% of string-validate-input.js is spent compiling the same regular expression


Store a compiled representation of the regular expression in the AST.


Only a .2% SunSpider speedup overall, but a 10.6% speedup on
string-validate-input.js.

  • kjs/nodes.cpp: (KJS::RegExpNode::evaluate):
  • kjs/nodes.h: (KJS::RegExpNode::):
  • kjs/nodes2string.cpp: (KJS::RegExpNode::streamTo):
  • kjs/regexp.cpp: (KJS::RegExp::flags):
  • kjs/regexp.h: (KJS::RegExp::pattern):
  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::construct): (KJS::RegExpObjectImp::createRegExpImp):
  • kjs/regexp_object.h:
20:26 Changeset [27701] by antti@apple.com

Reviewed by Darin.

Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.

  • bindings/js/kjs_binding.cpp: (KJS::setDOMException):
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Element.cpp: (WebCore::Element::setPrefix):
  • dom/Range.cpp: (WebCore::Range::setStart): (WebCore::Range::setEnd): (WebCore::Range::isPointInRange): (WebCore::Range::comparePoint): (WebCore::Range::compareBoundaryPoints): (WebCore::Range::deleteContents): (WebCore::Range::processContents): (WebCore::Range::extractContents): (WebCore::Range::insertNode): (WebCore::Range::setStartAfter): (WebCore::Range::setEndBefore): (WebCore::Range::setEndAfter): (WebCore::Range::selectNode): (WebCore::Range::surroundContents): (WebCore::Range::setStartBefore):
  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): (WebCore::HTMLSelectElement::setOption):
  • xml/XPathEvaluator.cpp: (WebCore::XPathEvaluator::evaluate):
20:14 Changeset [27700] by darin@apple.com

Reviewed by Mitz.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no longer know if the transform is identity or not. (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant CGContextSave/RestoreGState. (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no longer know if the transform is identity or not. (WebCore::GraphicsContext::endTransparencyLayer): Ditto. (WebCore::GraphicsContext::scale): Ditto. (WebCore::GraphicsContext::rotate): Ditto. (WebCore::GraphicsContext::translate): Ditto. (WebCore::GraphicsContext::concatCTM): Ditto. (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform is known to be identity, and record that fact when we discover it otherwise.
  • platform/graphics/cg/GraphicsContextPlatformPrivate.h: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
20:09 Changeset [27699] by darin@apple.com

Reviewed by Mitz.

I measured a speed-up of the page load test while developing this patch. I don't
have a precise figure, though.

  • html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed lineno to m_lineNumber.
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function since we don't want to update a line number. (WebCore::HTMLTokenizer::parseSpecial): Ditto. (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly instead of lineNumberPtr() since the advance function now takes a reference. (WebCore::HTMLTokenizer::parseServer): Ditto. (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. (WebCore::HTMLTokenizer::parseText): Ditto. (WebCore::HTMLTokenizer::parseEntity): Ditto. (WebCore::HTMLTokenizer::parseTag): Ditto. (WebCore::HTMLTokenizer::write): Ditto.
  • loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write): Don't pass 0 to the advance function.
  • platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined the most common case, and pushed less common cases into a separate function that is not inlined. Also got rid of a branch by separating the case with a line number from the case without one.
  • platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): Added. The aforementioned less common cases are here.
19:36 Changeset [27698] by oliver

Partial fix for <rdar://problem/5585334> numfuzz: integer overflows opening malformed SVG file in WebCore::ImageBuffer::create

Reviewed By Eric.

Unfortunately this is a very slight regression, but is unavoidable.

18:02 Changeset [27697] by antti@apple.com

Forgot to do this review change (and test HTTP commit).

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::play):
17:54 Changeset [27696] by antti

WebCore:

Reviewed by Darin.


  • Update play() and pause() to match current HTML5 draft
    • send events asynchronously
    • add timeupdate event to pause
    • rethrow load() exception, not others
  • Use list for async events to get ordering right

Tests: media/video-pause-empty-events.html

media/video-play-empty-events.html
media/video-play-pause-events.html
media/video-play-pause-exception.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::dispatchEventAsync): (WebCore::HTMLMediaElement::asyncEventTimerFired): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause):
  • html/HTMLMediaElement.h:

LayoutTests:

Reviewed by Darin.


Add tests for play() and pause() events.
Update one test to match new behavior.

  • media/video-currentTime-expected.txt:
  • media/video-currentTime.html:
  • media/video-pause-empty-events-expected.txt: Added.
  • media/video-pause-empty-events.html: Added.
  • media/video-play-empty-events-expected.txt: Added.
  • media/video-play-empty-events.html: Added.
  • media/video-play-pause-events-expected.txt: Added.
  • media/video-play-pause-events.html: Added.
  • media/video-play-pause-exception-expected.txt: Added
  • media/video-play-pause-exception.html: Added
  • media/video-test.js:
16:34 Changeset [27695] by eseidel

2007-11-10 Eric Seidel <eric@webkit.org>

Reviewed by darin.

Add simple type inferencing to the parser, and create custom
AddNode and LessNode subclasses based on inferred types.
http://bugs.webkit.org/show_bug.cgi?id=15884

SunSpider claims this is at least a 0.5% speedup.

  • JavaScriptCore.exp:
  • kjs/grammar.y:
  • kjs/internal.cpp: (KJS::NumberImp::getPrimitiveNumber): (KJS::GetterSetterImp::getPrimitiveNumber):
  • kjs/internal.h:
  • kjs/lexer.cpp: (KJS::Lexer::lex):
  • kjs/nodes.cpp: (KJS::Node::Node): (KJS::StringNode::evaluate): (KJS::StringNode::evaluateToNumber): (KJS::StringNode::evaluateToBoolean): (KJS::RegExpNode::evaluate): (KJS::UnaryPlusNode::optimizeVariableAccess): (KJS::AddNode::evaluate): (KJS::AddNode::evaluateToNumber): (KJS::AddNumbersNode::inlineEvaluateToNumber): (KJS::AddNumbersNode::evaluate): (KJS::AddNumbersNode::evaluateToNumber): (KJS::AddStringsNode::evaluate): (KJS::AddStringLeftNode::evaluate): (KJS::AddStringRightNode::evaluate): (KJS::lessThan): (KJS::lessThanEq): (KJS::LessNumbersNode::evaluate): (KJS::LessStringsNode::evaluate):
  • kjs/nodes.h: (KJS::ExpressionNode::): (KJS::RegExpNode::): (KJS::RegExpNode::precedence): (KJS::TypeOfResolveNode::): (KJS::LocalVarTypeOfNode::): (KJS::UnaryPlusNode::): (KJS::UnaryPlusNode::precedence): (KJS::AddNode::): (KJS::AddNode::precedence): (KJS::AddNumbersNode::): (KJS::AddStringLeftNode::): (KJS::AddStringRightNode::): (KJS::AddStringsNode::): (KJS::LessNode::): (KJS::LessNode::precedence): (KJS::LessNumbersNode::): (KJS::LessStringsNode::):
  • kjs/nodes2string.cpp: (KJS::StringNode::streamTo):
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/value.h: (KJS::JSValue::getPrimitiveNumber):
16:25 Changeset [27694] by alp@webkit.org

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

Reviewed by Anders.

Initialize m_userAgent.

Fix typos in GDK_WINDOWING conditionals.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::agentPlatform):
14:36 Changeset [27693] by zimmermann@webkit.org

Forgot to commit ChangeLog, in my last commit.

14:33 Changeset [27692] by zimmermann@webkit.org

Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)

Add (basic) support for dominant-baseline / alignment-baseline text properties.
Note: there are no official testcases, and no-one implemented it before. Only ASV3

supported dominant-baseline, but not correct it seems.

12:51 Changeset [27691] by aroben@apple.com

Fix <rdar://5133816> keepWebHistory is not implemented

WebCore:

Add wrappers around CoCreateInstance to COMPtr

I followed the example of the Query constructor and query method by
adding a Create constructor and create method.

Reviewed by Darin.

  • platform/win/COMPtr.h: (COMPtr::COMPtr): Added a new constructor that calls CoCreateInstance. (COMPtr::create): Added. (COMPtr::createInstance): Added.

WebKitTools:

Fix <rdar://5133816> keepWebHistory is not implemented

Fixes fast/history/clicked-link-is-visited.html.

Reviewed by Darin.

  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Clear the optionalSharedHistory.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::keepWebHistory): Set the optionalSharedHistory.

LayoutTests:

Remove a now-passing test from the Windows Skipped file

Reviewed by Darin.

  • platform/win/Skipped:
12:28 Changeset [27690] by ap@webkit.org

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15896
More editing cleanup

No functionality changes.

  • dom/Node.h: Moved several editing-related methods elsewhere.
  • dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset() to highlight that it is a match to offsetInCharacters(), and much different from other offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check offsetInCharacters() before calling this.
  • dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
  • dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode): Updated for above renamings.
  • dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
  • dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
  • dom/Position.h:
  • dom/Position.cpp: (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset(). (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset(). (WebCore::Position::previous): Adapted to the above move. (WebCore::Position::next): Ditto. (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think), and BR elements are covered by editingIgnoresContent(). (WebCore::Position::downstream): Ditto. (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset(). (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
  • dom/PositionIterator.h: Added a comment describing this class from the original check-in.
  • dom/PositionIterator.cpp: (WebCore::PositionIterator::increment): Updated for the above moves. (WebCore::PositionIterator::decrement): Ditto.
  • dom/ProcessingInstruction.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset): ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset(). I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
  • dom/Range.cpp: (WebCore::Range::selectNodeContents):
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::applyInlineStyle): (WebCore::maxRangeOffset): (WebCore::ApplyStyleCommand::removeInlineStyle): (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNodeAt): (WebCore::CompositeEditCommand::positionOutsideTabSpan):
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::insertTab):
  • editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition): Updated for the above moves.
  • editing/Editor.cpp: (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
  • editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases. (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
  • editing/htmlediting.h:
  • editing/htmlediting.cpp: (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept child nodes, other than via DOM manipulation, which is not specific to BRs. (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent(). (WebCore::maxDeepOffset): Ditto. (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions. (WebCore::caretMaxOffset): Ditto.
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor will take care of adjusting the offset.
  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing. Changed some runtime checks that seemingly cannot fail into assertions.
11:24 Changeset [27689] by darin@apple.com
  • try another way of fixing dftables builds -- refactor pcre_internal.h a bit
  • pcre/pcre_internal.h: Make most of this header do nothing when DFTABLES is set. Later we can break it into two files.
  • JavaScriptCore.vcproj/dftables/dftables.vcproj: Take out now-unneeded include paths.
  • pcre/dftables.cpp: Set DFTABLES. Use delete instead of free.
  • pcre/dftables.pro: Take out now-unneeded include paths.
  • pcre/pcre_maketables.cpp: Use new instead of malloc.
11:05 Changeset [27688] by darin@apple.com
  • pcre/dftables.pro: Try fixing Qt builds (I looked at qt-win) by adding another include path.
11:03 Changeset [27687] by darin@apple.com
  • JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds by adding another include path.
10:56 Changeset [27686] by darin@apple.com

JavaScriptCore:

Reviewed by Sam.

This is a combination of converting to C++, tweaking the API, and adding
some additional optimizations.

Future steps will involve getting rid of the use of UTF-8 completely
(we'll use UTF-16 exclusively instead), eliminating more source files,
and some more speed-ups.

SunSpider says the current round is an 0.9% speed-up overall, and a
5.3% speed-up for regexp.

  • kjs/regexp.cpp: (KJS::RegExp::RegExp): Changed to use the error message without calling strdup on it and to pass the new types and options. (KJS::RegExp::~RegExp): Removed the now-unneeded free of the error message. (KJS::RegExp::match): Pass the new types and options.
  • kjs/regexp.h: Update type of m_constructionError.
  • pcre/AUTHORS: Update to reflect the status of the project -- we don't include the Google parts, and this isn't the PCRE library, per se.
  • pcre/COPYING: Ditto.
  • pcre/dftables.cpp: Copied from JavaScriptCore/pcre/dftables.c. (main): Removed unneeded ctype_digit.
  • pcre/pcre.h: Convert to C++, tweak API a bit. Use UChar instead of JSRegExpChar.
  • pcre/pcre_compile.cpp: Copied from JavaScriptCore/pcre/pcre_compile.c. Moved a lot of private stuff used only within this file here from pcre_internal.h. Renumbered the error codes. (error_text): Use a single string with embedded nulls for the error text (I got this idea from newer versions of PCRE). (check_escape): Changed return type to be enum instead of int. Replaced ctype_digit uses with isASCIIDigit. (is_counted_repeat): Ditto. (read_repeat_counts): Ditto. (first_significant_code): Ditto. (find_fixedlength): Ditto. (could_be_empty_branch): Ditto. (compile_branch): Ditto. Also removed some code that handles changing options. JavaScript doesn't have any of the features that allow options to change. (compile_regex): Updated for change to options parameter. (is_anchored): Ditto. (find_firstassertedchar): Ditto. (jsRegExpCompile): Changed to take separate flags instead of an options int. Also changed to call new/delete instead of pcre_malloc/free. (jsRegExpFree): Ditto.
  • pcre/pcre_exec.cpp: Copied from JavaScriptCore/pcre/pcre_exec.c. Added a case that uses computed goto for the opcode loop, but did not turn it on. Changed the RMATCH macro to handle returns more efficiently by putting the where pointer in the new frame instead of the old one, allowing us to branch to the return with a single statement. Switched to new/delete from pcre_malloc/free. Changed many RRETURN callers to not set the return value since it's already set correctly. Replaced the rrc variable with an is_match variable. Values other than "match" and "no match" are now handled differently. This allows us to remove the code to check for those cases in various rules. (match): All the case statements use a macro BEGIN_OPCODE instead. And all the continue statements, or break statements that break out of the outer case use a macro NEXT_OPCODE instead. Replaced a few if statements with assertions. (jsRegExpExecute): Use new/delete instead of pcre_malloc/free. Removed unused start_match field from the match block.
  • pcre/pcre_internal.h: Moved the last few configuration macros from pcre-config.h in here. Removed various unused types. Converted from JSRegExpChar to UChar. Eliminated pcre_malloc/free. Replaced the opcode enum with a macro that can be used in multiple places. Unfortunately we lose the comments for each opcode; we should find a place to put those back. Removed ctype_digit.
  • pcre/pcre_maketables.cpp: Copied from JavaScriptCore/pcre/pcre_maketables.c. (pcre_maketables): Got rid of the conditional code that allows this to be compiled in -- it's only used for dftables now (and soon may be obsolete entirely). Changed code for cbit_digit to not use isdigit, and took the "_" case out of the loop. Removed ctype_digit.
  • pcre/pcre_ord2utf8.cpp: Copied from JavaScriptCore/pcre/pcre_ord2utf8.c.
  • pcre/pcre_tables.cpp: Copied from JavaScriptCore/pcre/pcre_tables.c. Moved _pcre_OP_lengths out of here into pcre_exec.cpp.
  • pcre/pcre_ucp_searchfuncs.cpp: Copied from JavaScriptCore/pcre/pcre_ucp_searchfuncs.c. Updated for other file name changes.
  • pcre/ucpinternal.h: Updated header.
  • wtf/ASCIICType.h: (WTF::isASCIIDigit): Removed a branch by changing from && to & for this operation. Also added an overload that takes an int because that's useful for PCRE. Later we could optimize for int and overload other functions in this file; stuck to this simple one for now.
  • wtf/unicode/icu/UnicodeIcu.h: Removed unused isUpper.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.
  • pcre/LICENCE: Removed.
  • pcre/pcre-config.h: Removed.
  • wtf/FastMallocPCRE.cpp: Removed.
  • pcre/dftables.c: Renamed to cpp.
  • pcre/pcre_compile.c: Ditto.
  • pcre/pcre_exec.c: Ditto.
  • pcre/pcre_maketables.c: Ditto.
  • pcre/pcre_ord2utf8.c: Ditto.
  • pcre/pcre_tables.c: Ditto.
  • pcre/pcre_ucp_searchfuncs.c: Ditto.
  • pcre/pcre_xclass.c: Ditto.
  • pcre/ucptable.c: Ditto.

WebCore:

Reviewed by Sam.

  • updated for JSRegExp function changes
  • platform/RegularExpression.cpp: (WebCore::RegularExpression::Private::compile): (WebCore::RegularExpression::match):
01:32 Changeset [27685] by alp@webkit.org

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

Reviewed by Mark Rowe.

Mention Safari in the UserAgent string to improve site compatibility.

Also bump the hard-coded AppleWebKit version number.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::composeUserAgent):
00:34 Changeset [27684] by eseidel

2007-11-11 Eric Seidel <eric@webkit.org>

Reviewed by Oliver.

Add KJS_CHECKEXCEPTIONBOOLEAN to match rest of nodes.cpp

  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToBoolean): (KJS::LessNode::evaluateToBoolean): (KJS::GreaterNode::evaluateToBoolean): (KJS::LessEqNode::evaluateToBoolean): (KJS::GreaterEqNode::evaluateToBoolean): (KJS::InstanceOfNode::evaluateToBoolean): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::evaluateToBoolean): (KJS::NotEqualNode::evaluateToBoolean): (KJS::StrictEqualNode::evaluateToBoolean): (KJS::NotStrictEqualNode::evaluateToBoolean): (KJS::LogicalAndNode::evaluateToBoolean): (KJS::LogicalOrNode::evaluateToBoolean): (KJS::ConditionalNode::evaluateToBoolean):
Note: See TracTimeline for information about the timeline view.