abf522c6b895523021d03578856e7ea5dc6d9d85
[WebKit-https.git] / WebCore / ChangeLog
1 2008-03-07  Darin Adler  <darin@apple.com>
2
3         Reviewed by Adam.
4
5         - eliminated WebCoreFrameBridge runOpenPanel
6
7         * page/ChromeClient.h: Added runOpenPanel function.
8         * page/mac/ChromeMac.mm:
9         (WebCore::ChromeClient::runOpenPanel): Added.
10         * platform/FileChooser.cpp:
11         (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
12         Also start the refcount at 1.
13         (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
14         (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
15         * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
16         * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
17         since they are no longer platform-specific.
18         * platform/qt/FileChooserQt.cpp: Ditto.
19         * platform/win/FileChooserWin.cpp: Ditto.
20         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
21         * platform/mac/FileChooserMac.mm:
22         (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
23         bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
24         class and m_controller data member and move the cosntrutor/destructor to platform-
25         independent code.
26
27 2008-03-07  Adam Roben  <aroben@apple.com>
28
29         Add JavaScriptDebugServer
30
31         This class is a singleton which allows one or more
32         JavaScriptDebugListeners to receive callbacks during JavaScript
33         execution.
34
35         Right now all listeners receive callbacks for all Pages in the
36         process. Eventually we will want to support listeners registering for
37         callbacks for specific Pages (e.g., the Inspector will want to listen
38         for execution in just the Page it's inspecting).
39
40         Pages notify the JavaScriptDebugServer when they are created so that
41         it can install itself as the Page's debugger.
42
43         Reviewed by Darin.
44
45         * GNUMakefile.am: Added new files to project.
46         * WebCore.pro: Ditto.
47         * WebCore.vcproj/WebCore.vcproj: Ditto.
48         * WebCore.xcodeproj/project.pbxproj: Ditto.
49         * WebCoreSources.bkl: Ditto.
50         * page/JavaScriptDebugListener.h: Added.
51         * page/JavaScriptDebugServer.cpp: Added.
52         (WebCore::toFrame):
53         (WebCore::JavaScriptDebugServer::shared):
54         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
55         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
56         (WebCore::JavaScriptDebugServer::addListener): Registers as the
57         debugger for all Pages if we're adding our first listener.
58         (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
59         debugger for all Pages if we're removing our last listner.
60         (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
61         debugger for the newly created Page if we have any listeners.
62         (WebCore::dispatchDidParseSource): Helper function.
63         (WebCore::dispatchFailedToParseSource): Ditto.
64         (WebCore::JavaScriptDebugServer::sourceParsed): Call
65         dispatchDidParseSource or dispatchFailedToParseSource depending on
66         whether there was an error or not.
67         (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
68         the passed-in JavaScriptExecutionCallback on each listener, guarding
69         against re-entry.
70         (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
71         (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
72         (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
73         (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
74         * page/JavaScriptDebugServer.h: Added.
75         * page/Page.cpp:
76         (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
77         created so it can register as our debugger if needed.
78
79 2008-03-07  Darin Adler  <darin@apple.com>
80
81         Reviewed by Brady.
82
83         - fix a theoretical problem with the visited-link hash table by avoiding collision
84           with the special "deleted" value
85         - improve efficiency of with the visited-link hash table by not hashing twice
86
87         * page/PageGroup.cpp:
88         (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
89         value, since the hash table uses that for deleted hash table entries.
90         (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
91         value with the HashSet.
92         (WebCore::PageGroup::addVisitedLink): Ditto.
93
94         * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
95         values. This assumes that the value is already a hash value, and doesn't try to
96         hash it again. Used this for m_visitedLinkHashes.
97
98 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
99
100         Fix the Qt build.
101
102         * WebCore.pro:
103
104 2008-03-06  Sam Weinig  <sam@webkit.org> with a little help from Oliver Hunt  <oliver@apple.com>
105
106         Reviewed by Mitz.
107
108         Implement the HTML5 canvas tainting rules to prevent potential data leakage
109
110         Added originClean to HTMLCanvasElement and CanvasPattern
111         to track whether a canvas (or pattern) is tainted by remote
112         data.
113         Use originClean flag to determine whether getImageData should
114         return, well, image data.
115
116         Test: http/tests/security/canvas-remote-read-remote-image.html
117
118         * html/CanvasPattern.cpp:
119         (WebCore::CanvasPattern::CanvasPattern):
120         * html/CanvasPattern.h:
121         * html/CanvasRenderingContext2D.cpp:
122         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
123         (WebCore::CanvasRenderingContext2D::setFillStyle):
124         (WebCore::CanvasRenderingContext2D::checkOrigin):
125         (WebCore::CanvasRenderingContext2D::drawImage):
126         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
127         (WebCore::CanvasRenderingContext2D::createPattern):
128         (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
129         (WebCore::CanvasRenderingContext2D::getImageData):
130         * html/CanvasRenderingContext2D.h:
131         * html/HTMLCanvasElement.cpp:
132         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
133         * html/HTMLCanvasElement.h:
134         (WebCore::HTMLCanvasElement::setOriginTainted):
135         (WebCore::HTMLCanvasElement::originClean):
136
137 2008-03-06  Anders Carlsson  <andersca@apple.com>
138
139         Reviewed by Jon.
140
141         Templatize the JNI call code to reduce the amount of code that has
142         to be duplicated.
143
144         * bridge/jni/jni_class.cpp:
145         (JavaClass::JavaClass):
146         * bridge/jni/jni_instance.cpp:
147         (JavaInstance::stringValue):
148         (JavaInstance::numberValue):
149         (JavaInstance::booleanValue):
150         (JavaInstance::invokeMethod):
151         * bridge/jni/jni_jsobject.cpp:
152         (JavaJSObject::convertJObjectToValue):
153         * bridge/jni/jni_runtime.cpp:
154         (JavaField::JavaField):
155         (JavaMethod::JavaMethod):
156         * bridge/jni/jni_utility.cpp:
157         * bridge/jni/jni_utility.h:
158         (KJS::Bindings::):
159         (KJS::Bindings::callJNIMethodIDA):
160         (KJS::Bindings::callJNIMethodV):
161         (KJS::Bindings::callJNIMethod):
162         (KJS::Bindings::callJNIStaticMethod):
163
164 2008-03-06  Darin Adler  <darin@apple.com>
165
166         Reviewed by Mitz.
167
168         - fix regression test failures from the visited-link change
169
170         * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
171         * page/PageGroup.cpp:
172         (WebCore::PageGroup::addVisitedLink): Do nothing and return early
173         if shouldTrackVisitedLinks is false.
174         (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
175         so the next time a link is queried this will be populated from history.
176         (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
177         * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
178         for now, but it would be better if it was per-page-group instead.
179
180 2008-03-06  Adele Peterson  <adele@apple.com>
181
182         Reviewed by Darin.
183
184         Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
185         and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
186
187         Tests: fast/dom/HTMLDocument/activeElement.html
188                fast/dom/HTMLDocument/hasFocus.html
189
190         * html/HTMLDocument.cpp:
191         (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
192         (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
193         * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
194         * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
195
196 2008-03-06  Dan Bernstein  <mitz@apple.com>
197
198         Reviewed by Darin Adler.
199
200         - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
201
202         Test: fast/text/soft-hyphen-3.html
203
204         * rendering/bidi.cpp:
205         (WebCore::checkMidpoints):
206         (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
207         midpoint after a hyphen always be a valid iterator, not allowing an
208         offset past the end of a text node. Changed the check for consecutive
209         soft hyphens to account for that.
210
211 2008-03-06  Darin Adler  <darin@apple.com>
212
213         - try to fix Wx build
214
215         * WebCoreSources.bkl: Added PageGroup.cpp.
216
217 2008-03-06  Darin Adler  <darin@apple.com>
218
219         - fix some builds
220
221         * GNUmakefile.am: Added PageGroup.cpp.
222         * WebCore.base.exp: Removed WebCoreHistory.
223         * WebCore.pro: Added PageGroup.cpp.
224
225 2008-03-06  Alexey Proskuryakov  <ap@webkit.org>
226
227         Reviewed by Darin.
228
229         <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
230         
231         * ForwardingHeaders/wtf/unicode/Collator.h: Added.
232         * xml/XSLTUnicodeSort.cpp:
233         (WebCore::xsltUnicodeSortFunction):
234         * xml/XSLTUnicodeSort.h:
235
236 2008-03-06  Darin Adler  <darin@apple.com>
237
238         Reviewed by Mitz.
239
240         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
241           REGRESSION: iframes are added to Safari's History menu
242           by separating the visited link machinery from global history
243
244         This should also make page loading faster due to more efficient visited link coloring.
245
246         * WebCore.base.exp: Updated.
247         * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
248         * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
249
250         * css/CSSStyleSelector.cpp: Updated includes.
251         (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
252         currentEncodedURL.
253         (WebCore::checkPseudoState): Moved most of the code inside a new
254         PageGroup::isLinkVisited function.
255         (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
256         references and only getting colors when needed.
257         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
258         * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
259
260         * dom/Document.cpp:
261         (WebCore::Document::attach): Removed call to setEncodedURL.
262         (WebCore::Document::setURL): Ditto.
263         (WebCore::Document::recalcStyleSelector): Ditto.
264
265         * loader/FrameLoader.cpp:
266         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
267         early exit idiom to be a little more readable.
268         (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
269         better efficiency.
270         (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
271         readable.
272         (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
273         in here and got rid of the helper function updateGlobalHistory, restoring the
274         logic before r30549. Also added a call to the new addVisitedLink function.
275         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
276         addVisitedLink here.
277         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
278         (WebCore::FrameLoader::updateHistoryForReload): Removed call to
279         updateGlobalHistory; we can just go without updating global history or
280         visited links here, at least for now, since it's not clear that a reload
281         is a "history event".
282         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
283         history code back where it was, and added the call to addVisitedLink, just
284         as in updateHistoryForStandardLoad above.
285         * loader/FrameLoader.h: Removed updateGlobalHistory function.
286
287         * page/Chrome.cpp:
288         (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
289         don't have to implement this for every port all at once.
290         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
291         new PageGroup class.
292         * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
293         visited links set from the global history at application startup time.
294
295         * page/FrameTree.cpp:
296         (WebCore::FrameTree::find): Updated to use the new PageGroup class.
297
298         * page/GlobalHistory.h: Removed.
299         * page/win/GlobalHistoryWin.cpp: Removed.
300         * page/mac/GlobalHistoryMac.mm: Removed.
301         * platform/mac/WebCoreHistory.h: Removed.
302         * platform/mac/WebCoreHistory.m: Removed.
303         * platform/win/WebCoreHistory.cpp: Removed.
304         * platform/win/WebCoreHistory.h: Removed.
305
306         * page/Page.cpp:
307         (WebCore::Page::Page): Set m_group to 0.
308         (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
309         group, set it to 0 for now to postpone the cost of creating a group.
310         (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
311         group; used when getting a group.
312         (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
313         on all page groups.
314         * page/Page.h: Moved enums inside the WebCore namespace. Removed the
315         frameNamespace function and instead added the group and groupPtr functions.
316
317         * page/PageGroup.cpp: Added. Contains all the visited code from the
318         CSSStyleSelector in the isVisitedLink function, but more efficient because
319         we don't allocate memory for the buffer.
320         * page/PageGroup.h: Added.
321
322         * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
323         * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
324         * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
325
326 2008-03-06  Mark Rowe  <mrowe@apple.com>
327
328         Fix 64-bit Mac build.
329
330         * WebCore.xcodeproj/project.pbxproj:  Exclude _NPN symbols from the exports list as they
331         are compiled out of 64-bit builds.
332
333 2008-03-06  Mark Rowe  <mrowe@apple.com>
334
335         Leopard build fix.
336
337         * WebCore.base.exp:
338
339 2008-03-05  Kevin Ollivier  <kevino@theolliviers.com>
340
341         Fix the wx build after the bindings move.
342
343         * WebCoreSources.bkl:
344         * webcore-base.bkl:
345         * webcore-wx.bkl:
346
347 2008-03-05  Dan Bernstein  <mitz@apple.com>
348
349         Reviewed by Adele Peterson.
350
351         - fix "background-position: inherit"
352
353         * css/CSSStyleSelector.cpp:
354         Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
355         a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
356         macro.
357
358 2008-03-05  Alp Toker  <alp@atoker.com>
359
360         Add a missing make dependency for derived sources to improve
361         autotools build dependency tracking.
362
363         Issue spotted by Ori Bernstein.
364
365         * GNUmakefile.am:
366
367 2008-03-05  Alp Toker  <alp@atoker.com>
368
369         GTK+ build fix for breakage introduced in r30800.
370
371         Track moved bridge sources from JavaScriptCore to WebCore.
372
373         * GNUmakefile.am:
374
375 2008-03-05  Justin Garcia  <justin.garcia@apple.com>
376
377         Reviewed by Darin.
378
379         One part of fix for:
380         <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
381
382         * editing/markup.cpp:
383         (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
384         inline style declarations, not the other way around. 
385
386 2008-03-05  Anders Carlsson  <andersca@apple.com>
387
388         Reviewed by Darin.
389
390         Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
391
392         * bridge/jni/jni_jsobject.cpp:
393         (completedJavaScriptAccess):
394         (initializeJavaScriptAccessLock):
395         (lockJavaScriptAccess):
396         (unlockJavaScriptAccess):
397         (dispatchToJavaScriptThread):
398         (performJavaScriptAccess):
399         (JavaJSObject::initializeJNIThreading):
400         (isJavaScriptThread):
401         (JavaJSObject::invoke):
402         * bridge/jni/jni_jsobject.h:
403         * bridge/runtime_root.cpp:
404         * bridge/runtime_root.h:
405         * page/mac/WebCoreFrameBridge.mm:
406         (-[WebCoreFrameBridge init]):
407
408 2008-03-05  Darin Adler  <darin@apple.com>
409
410         Reviewed by Sam.
411
412         - add functions giving offsets within a KURL, slated to replace the
413           EncodedURL object in CSSStyleSelector (in a future "visited link" change)
414         - changed all KURL data members names to use the traditional m_ prefix
415         - initialize all members to 0 in invalid KURLs rather than having all
416           functions check m_isValid
417
418         * platform/KURL.cpp:
419         (WebCore::KURL::invalidate): Added. Initializes all the fields except for
420         m_string to the "invalid" values. For use in the empty constructor and
421         in the init and parse functions.
422         (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
423         early to use the invalidate() function. Updated for member variable name
424         changes.
425         (WebCore::KURL::hasPath): Updated for member variable name changes.
426         Remove now-unneeded check of m_isValid.
427         (WebCore::KURL::lastPathComponent): Ditto.
428         (WebCore::KURL::protocol): Ditto.
429         (WebCore::KURL::host): Ditto.
430         (WebCore::KURL::port): Ditto.
431         (WebCore::KURL::pass): Ditto.
432         (WebCore::KURL::user): Ditto.
433         (WebCore::KURL::ref): Ditto.
434         (WebCore::KURL::hasRef): Ditto.
435         (WebCore::KURL::protocolIs): Ditto.
436         (WebCore::KURL::query): Ditto.
437         (WebCore::KURL::path): Ditto.
438         (WebCore::KURL::setProtocol): Ditto.
439         (WebCore::KURL::setHost): Ditto.
440         (WebCore::KURL::setPort): Ditto.
441         (WebCore::KURL::setHostAndPort): Ditto.
442         (WebCore::KURL::setUser): Ditto.
443         (WebCore::KURL::setPass): Ditto.
444         (WebCore::KURL::setRef): Ditto.
445         (WebCore::KURL::setQuery): Ditto.
446         (WebCore::KURL::setPath): Ditto.
447         (WebCore::KURL::prettyURL): Ditto.
448         (WebCore::copyPathRemovingDots): Removed braces to match our code style.
449         (WebCore::KURL::parse): Changed all code paths that return early to use
450         the invalidate function. Moved code to set m_isValid to true to the very
451         end of the function. Removed braces to match our code style. Removed an
452         extra copy of the path/query/fragment code (there were two identical copies
453         in the two sides of an if statement). Removed some commented-out code.
454         Reversed an if statment. Added code to set the new m_pathAfterLastSlash
455         field. Updated for member variable name changes.
456         (WebCore::equalIgnoringRef): Updated for member variable name changes.
457         (WebCore::KURL::isHierarchical): Ditto.
458
459         * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
460         constructor inline and called the new invalidate function. Added new
461         pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
462         new visited link code. Added an invalidate function. Renamed all the
463         data members to use the m_ prefix.
464
465         * WebCore.base.exp: Updated.
466
467 2008-03-05  Anders Carlsson  <andersca@apple.com>
468
469         Reviewed by Sam.
470
471         * WebCore.xcodeproj/project.pbxproj:
472         Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 
473         this with jni_objc.mm and create jni_jsobject.mm.
474         
475         * bridge/jni/jni_jsobject.cpp:
476         (createRootObject):
477         Move createRootObject here from WebCoreFrameBridge.
478         
479         (JavaJSObject::createNative):
480         Call the newly added createRootObject function.
481         
482         * bridge/runtime_root.cpp:
483         (KJS::Bindings::RootObject::initializeJNIThreading):
484         * bridge/runtime_root.h:
485         setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
486
487         * page/mac/FrameMac.mm:
488         (WebCore::Frame::createScriptInstanceForWidget):
489         Just call Frame::createRootObject here.
490         
491         * page/mac/WebCoreFrameBridge.mm:
492         (-[WebCoreFrameBridge init]):
493         Call initializeJNIThreading.
494
495 2008-03-05  Anders Carlsson  <andersca@apple.com>
496
497         Reviewed by Sam.
498
499         Change some static class variables to be regular static variables,
500         making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
501
502         * bridge/runtime_root.cpp:
503         (KJS::Bindings::completedJavaScriptAccess):
504         (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
505         (KJS::Bindings::performJavaScriptAccess):
506         (KJS::Bindings::RootObject::createRootObject):
507         (KJS::Bindings::RootObject::runLoop):
508         (KJS::Bindings::RootObject::setCreateRootObject):
509         * bridge/runtime_root.h:
510
511 2008-03-05  Brent Fulgham <bfulgham@gmail.com>
512
513         Reviewed by Adam Roben.
514
515         Modify source files to use the USE(SAFARI_THEME) macro, rather than
516         USE_SAFARI_THEME.  (http://bugs.webkit.org/show_bug.cgi?id=17683)
517
518         * WebCore/platform/win/PlatformScrollBarSafari.cpp
519         * WebCore/rendering/RenderThemeSafari.cpp
520         * WebCore/rendering/RenderThemeSafari.h
521         * config.h: Move definition of WTF_USE_SAFARI_THEME here 
522
523 2008-03-05  Brady Eidson  <beidson@apple.com>
524
525         Reviewed by Alexey and Mark Rowe
526
527         Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
528
529         DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
530         removing particular items for Databases that were shutting down.
531
532         This filtering operation is not atomic, and therefore causes a race condition with the
533         database thread waking up and reading from the message queue.  
534
535         The end result was an attempt to dereference a null DatabaseTask.  Timing-wise, this never
536         seemed to happen in a debug build, otherwise an assertion would've caught it.  Replacing that
537         assertion with a crash in a release build is what revealed this bug.
538
539         The fix for the above symptom was entirely in WTF::MessageQueue in JSCore.  With this fix in 
540         place, another crash popped up in the layout tests that was related to dereferencing a 
541         deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 
542         when it needed to be a ref pointer.
543
544         * storage/SQLTransaction.cpp:
545         (WebCore::SQLTransaction::runCurrentStatement):
546         * storage/SQLTransaction.h: Change m_database to be a RefPtr
547         (WebCore::SQLTransaction::database):
548
549 2008-03-05  Mark Rowe  <mrowe@apple.com>
550
551         Build fix.
552
553         * WebCore.base.exp:  Remove symbol that no longer exists from the exports file.
554
555 2008-03-05  Adam Roben  <aroben@apple.com>
556
557         Export a header/symbol for WebKit
558
559         Reviewed by Kevin M.
560
561         * WebCore.base.exp:
562         * WebCore.xcodeproj/project.pbxproj:
563
564 2008-03-05  Adam Roben  <aroben@apple.com>
565
566         Move WebCoreScriptDebugger up to WebKit
567
568         Reviewed by Darin.
569
570         * WebCore.base.exp: Exported some functions used by
571         WebCoreScriptDebugger, and sorted the list.
572         * WebCore.xcodeproj/project.pbxproj: Removed
573         WebCoreScriptDebugger.{h,mm} from the project and marked
574         a few headers private so that WebKit can use them.
575         * page/mac/WebCoreScriptDebugger.h: Removed.
576         * page/mac/WebCoreScriptDebugger.mm: Removed.
577
578 2008-03-05  Anders Carlsson  <andersca@apple.com>
579
580         Build bridge/. Copy some headers over to WebKit as part of the post-build step.
581         
582         * WebCore.vcproj/WebCore.vcproj:
583
584 2008-03-05  Anders Carlsson  <andersca@apple.com>
585
586         Reviewed by Geoff.
587
588         * WebCore.base.exp:
589         Add the NPN and KJS methods.
590         
591         * WebCore.xcodeproj/project.pbxproj:
592         Bring in bridge/
593
594         * config.h:
595         Add HAVE_JNI define.
596         
597         * bindings/js/kjs_html.cpp:
598         * bindings/objc/DOMInternal.mm:
599         * bindings/objc/DOMUtility.mm:
600         * bindings/objc/WebScriptObject.mm:
601         * html/HTMLAppletElement.cpp:
602         * html/HTMLEmbedElement.cpp:
603         * html/HTMLObjectElement.cpp:
604         * html/HTMLPlugInElement.cpp:
605         * page/Frame.cpp:
606         * page/mac/FrameMac.mm:
607         * page/mac/WebCoreFrameBridge.mm:
608         * page/mac/WebCoreScriptDebugger.mm:
609         * plugins/win/PluginViewWin.cpp:
610         Include file changes.
611
612 2008-03-04  Anders Carlsson  <andersca@apple.com>
613
614         Reviewed by Sam.
615
616         Rewrite NPRuntime string conversion routines to use WebCore::String
617         
618         * bridge/NP_jsobject.cpp:
619         (_NPN_Evaluate):
620         * bridge/c/c_utility.cpp:
621         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
622         (KJS::Bindings::convertNPVariantToValue):
623         (KJS::Bindings::convertNPStringToUTF16):
624         (KJS::Bindings::identifierFromNPIdentifier):
625         * bridge/c/c_utility.h:
626
627 2008-03-05  Oliver Hunt  <oliver@apple.com>
628
629         Reviewed by Alexey P.
630
631         Small performance improvement to putImageData (3-5% on assignment in my tests)
632
633         * html/CanvasPixelArray.h:
634         (WebCore::CanvasPixelArray::set):
635
636 2008-03-04  Sam Weinig  <sam@webkit.org>
637
638         Reviewed by Adele.
639
640         * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
641
642 2008-03-04  Maciej Stachowiak  <mjs@apple.com>
643
644         Reviewed by Sam and Oliver.
645
646         - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
647         - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
648
649         * bindings/js/JSNodeCustom.cpp:
650         (WebCore::JSNode::mark): When marking a node that's in-document,
651         mark the owner document if it hasn't been already. This means holding on
652         to a single node from an unreferenced document now keeps the whole document alive.
653         
654         We are now at 90/100 on Acid3.
655
656 2008-03-04  Sam Weinig  <sam@webkit.org>
657
658         Qt build fix.
659
660         * page/qt/FrameQt.cpp:
661
662 2008-03-04  Sam Weinig  <sam@webkit.org>
663
664         Reviewed by Mark Rowe.
665
666         Rename kjs_window to JSDOMWindowBase.
667
668         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
669           JSDOMWindow.h
670
671         * ChangeLog:
672         * DerivedSources.make:
673         * GNUmakefile.am:
674         * WebCore.pro:
675         * WebCore.vcproj/WebCore.vcproj:
676         * WebCore.xcodeproj/project.pbxproj:
677         * WebCoreSources.bkl:
678         * bindings/js/JSCustomVoidCallback.cpp:
679         * bindings/js/JSCustomXPathNSResolver.cpp:
680         * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
681         * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
682         * bindings/js/JSDOMWindowCustom.cpp:
683         * bindings/js/JSDatabaseCustom.cpp:
684         * bindings/js/JSEventTargetBase.cpp:
685         * bindings/js/JSEventTargetBase.h:
686         * bindings/js/JSEventTargetNode.cpp:
687         * bindings/js/JSHTMLDocumentCustom.cpp:
688         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
689         * bindings/js/JSHistoryCustom.cpp:
690         * bindings/js/JSLocation.cpp:
691         * bindings/js/JSSQLTransactionCustom.cpp:
692         * bindings/js/JSXMLHttpRequest.cpp:
693         * bindings/js/ScheduledAction.cpp:
694         * bindings/js/kjs_binding.cpp:
695         * bindings/js/kjs_events.cpp:
696         * bindings/js/kjs_navigator.cpp:
697         * bindings/js/kjs_proxy.cpp:
698         * bindings/js/kjs_window.cpp: Removed.
699         * bindings/js/kjs_window.h: Removed.
700         * bindings/scripts/CodeGeneratorJS.pm:
701         * history/CachedPage.cpp:
702         * loader/FrameLoader.cpp:
703         * page/Chrome.cpp:
704         * page/InspectorController.cpp:
705         * page/mac/FrameMac.mm:
706         * page/mac/WebCoreFrameBridge.mm:
707         * page/qt/FrameQt.cpp:
708         * page/win/FrameWin.cpp:
709         * plugins/win/PluginViewWin.cpp:
710
711 2008-03-04  Mark Rowe  <mrowe@apple.com>
712
713         Speculative Qt build fix.
714
715         * platform/qt/PasteboardQt.cpp:
716
717 2008-03-04  Anders Carlsson  <andersca@apple.com>
718
719         Reviewed by Sam.
720
721         Update include paths. This code is not used yet.
722
723         * bridge/NP_jsobject.cpp:
724         * bridge/c/c_class.cpp:
725         * bridge/c/c_instance.cpp:
726         * bridge/c/c_utility.cpp:
727         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
728         #if 0 this out for now. 
729         
730         * bridge/jni/jni_class.cpp:
731         * bridge/jni/jni_jsobject.cpp:
732         * bridge/jni/jni_objc.mm:
733         * bridge/jni/jni_runtime.cpp:
734         * bridge/jni/jni_utility.cpp:
735         * bridge/jni/jni_utility.h:
736         * bridge/npruntime.cpp:
737         * bridge/objc/WebScriptObject.h:
738         * bridge/objc/objc_class.h:
739         * bridge/objc/objc_instance.h:
740         * bridge/objc/objc_runtime.h:
741         * bridge/objc/objc_utility.h:
742         * bridge/objc/objc_utility.mm:
743         * bridge/runtime.cpp:
744         * bridge/runtime.h:
745         * bridge/runtime_array.cpp:
746         * bridge/runtime_array.h:
747         * bridge/runtime_method.cpp:
748         * bridge/runtime_method.h:
749         * bridge/runtime_object.cpp:
750         * bridge/runtime_object.h:
751         * bridge/runtime_root.cpp:
752         * bridge/runtime_root.h:
753
754 2008-03-04  Dan Bernstein  <mitz@apple.com>
755
756         Reviewed by Darin Adler.
757
758         - fix http://bugs.webkit.org/show_bug.cgi?id=17676
759           <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
760
761         Test: fast/encoding/url-host-name-non-ascii.html
762
763         * platform/KURL.cpp:
764         (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
765         case to avoid copying the host name twice and corrected the error
766         checking after calling uidna_IDNToASCII().
767
768 2008-03-04  Sam Weinig  <sam@webkit.org>
769
770         Reviewed by Dan Bernstein.
771
772         Use JSDOMWindow exclusively instead of JSDOMWindowBase.
773
774         * bindings/js/ScheduledAction.cpp:
775         (WebCore::ScheduledAction::execute):
776         * bindings/js/ScheduledAction.h:
777         * bindings/js/kjs_window.cpp:
778         (WebCore::JSDOMWindowBase::timerFired):
779
780 2008-03-04  Timothy Hatcher  <timothy@apple.com>
781
782         Reviewed by Darin Adler.
783
784         <rdar://problem/5720160> Browser windows "do nothing" while modal
785         dialog or menu is up due to run loop modes (or while scrolling)
786
787         Adds a new SchedulePair object that holds a runloop and the mode to use.
788         A HashSet of SchedulePairs is tracked by Page so it can be used for resource
789         loading and, in the future, maybe SharedTimerMac.
790
791         * WebCore.base.exp: Add new exports for WebKit.
792         * WebCore.xcodeproj/project.pbxproj: Add new files.
793         * loader/mac/DocumentLoaderMac.cpp: Added.
794         (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
795         (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
796         (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
797         (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
798         * loader/DocumentLoader.h:
799         * page/Page.h:
800         (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
801         * page/mac/PageMac.cpp:
802         (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
803         (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
804         * platform/cf/SchedulePair.cpp: Added.
805         * platform/cf/SchedulePair.h: Added.
806         * platform/mac/SchedulePairMac.mm: Added.
807         * platform/network/ResourceHandle.h:
808         * platform/network/mac/FormDataStreamMac.mm:
809         (WebCore::advanceCurrentStream): Use the new SchedulePair.
810         (WebCore::formCreate): Ditto.
811         (WebCore::formFinalize): Ditto.
812         (WebCore::formSchedule): Ditto.
813         (WebCore::formUnschedule): Ditto.
814         * platform/network/mac/ResourceHandleMac.mm:
815         (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
816         that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
817         pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
818         (WebCore::ResourceHandle::schedule):
819         (WebCore::ResourceHandle::unschedule):
820
821 2008-03-04  Sam Weinig  <sam@webkit.org>
822
823         Reviewed by Darin Adler.
824
825         Rename kjs_css to JSRGBColor.
826
827         * DerivedSources.make:
828         * GNUmakefile.am:
829         * WebCore.pro:
830         * WebCore.vcproj/WebCore.vcproj:
831         * WebCore.xcodeproj/project.pbxproj:
832         * WebCoreSources.bkl:
833         * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
834         * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
835         * bindings/js/kjs_css.cpp: Removed.
836         * bindings/js/kjs_css.h: Removed.
837         * bindings/js/kjs_window.cpp:
838         * bindings/objc/DOMUtility.mm:
839         * bindings/scripts/CodeGeneratorJS.pm:
840
841 2008-03-04  Anders Carlsson  <andersca@apple.com>
842
843         Fix 64-bit build.
844         
845         * html/HTMLPlugInElement.cpp:
846
847 2008-03-04  Nikolas Zimmermann  <zimmermann@kde.org>
848
849         Reviewed by Eric & David.
850
851         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
852
853         Fix getSubStringLength() handling, verified by Acid3 test 77.
854         Brings up Acid3 score to 88/100.
855
856         Added test: svg/custom/acid3-test-77.html
857                     svg/custom/getSubStringLength.html
858
859         * svg/SVGTextContentElement.cpp:
860         (WebCore::cummulatedCharacterRangeLength): Simplify some code.
861         (WebCore::SVGTextContentElement::getSubStringLength):
862
863 2008-03-04  Anders Carlsson  <andersca@apple.com>
864
865         Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
866
867         * bindings/js/kjs_proxy.cpp:
868         (WebCore::KJSProxy::attachDebugger):
869         * page/Page.cpp:
870         (WebCore::Page::setDebuggerForAllPages):
871         (WebCore::Page::setDebugger):
872
873 2008-03-04  Adam Roben  <aroben@apple.com>
874
875         Add ExecState.h to ForwardingHeaders
876
877         Reviewed by Anders.
878
879         * ForwardingHeaders/kjs/ExecState.h: Added.
880         * page/Page.cpp: Touch this to force WebCore to build and the headers
881         to be copied.
882
883 2008-03-04  Adam Roben  <aroben@apple.com>
884
885         Make it possible to set a KJS::Debugger on all Frames in a Page and
886         all Pages in the process
887
888         Reviewed by Kevin M.
889
890         * ForwardingHeaders/kjs/debugger.h: Added.
891         * bindings/js/kjs_proxy.cpp:
892         (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
893         is one.
894         (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
895         detach any existing debugger if none was passed in.
896         * bindings/js/kjs_proxy.h:
897         * page/Page.cpp:
898         (WebCore::Page::Page): Initialize new member.
899         (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
900         in the process.
901         (WebCore::Page::setDebugger): Store the debugger and pass it off to
902         all our Frames.
903         * page/Page.h:
904
905 2008-03-04  Sam Weinig  <sam@webkit.org>
906
907         Reviewed by Darin Adler.
908
909         Add ClassInfo to custom constructors so that they toString properly
910
911         - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
912           and XSLTProcessorConstructorImp and prefix all the classes with JS. 
913
914         * bindings/js/JSAudioConstructor.cpp:
915         (WebCore::): Added ClassInfo definition.
916         (WebCore::JSAudioConstructor::JSAudioConstructor):
917         (WebCore::JSAudioConstructor::construct): Cleanup.
918         * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
919         (WebCore::JSAudioConstructor::classInfo): Added.
920
921         * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 
922         to JSHTMLInputElementBasePrototype as seen if toString'ed.
923         (WebCore::):
924
925         * bindings/js/JSHTMLOptionElementConstructor.cpp:
926         (WebCore::): Added ClassInfo definition.
927         * bindings/js/JSHTMLOptionElementConstructor.h:
928         (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
929
930         * bindings/js/JSImageConstructor.cpp:
931         (WebCore::): Added ClassInfo definition.
932         (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
933         * bindings/js/JSImageConstructor.h:
934         (WebCore::JSImageConstructor::classInfo): Added.
935
936         * bindings/js/JSXMLHttpRequest.cpp:
937         (WebCore::): Rename XMLHttpRequestPrototype  to JSXMLHttpRequestPrototype 
938         as seen if toString'ed.
939         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
940         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
941         (WebCore::JSXMLHttpRequestConstructor::construct):
942         * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
943         JSXMLHttpRequestConstructor and doc to m_document and 
944         (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
945
946         * bindings/js/JSXSLTProcessor.cpp:
947         (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 
948         XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
949         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
950         (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
951         (WebCore::JSXSLTProcessorConstructor::construct):
952         * bindings/js/JSXSLTProcessor.h:
953         (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
954
955         * bindings/js/kjs_window.cpp:
956         (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
957
958 2008-03-04  Dan Bernstein  <mitz@apple.com>
959
960         Reviewed by Oliver Hunt and Geoffrey Garen.
961
962         - fix http://bugs.webkit.org/show_bug.cgi?id=17667
963           <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
964
965         * loader/loader.cpp:
966         (WebCore::Loader::didFinishLoading): Changed to call
967         setLoadInProgress(false) even for 4xx errors, because that triggers
968         load completion check.
969
970 2008-03-04  Adele Peterson  <adele@apple.com>
971
972         Reviewed by Beth.
973
974         Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
975
976         If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
977         from being keyboard focusable (using the tab key).
978
979         * html/HTMLAnchorElement.cpp:
980         (WebCore::HTMLAnchorElement::isFocusable):
981         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
982
983 2008-03-04  Chris Fleizach  <cfleizach@apple.com>
984
985         Reviewed by Darin Adler.
986
987         - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
988
989         * page/mac/WebCoreAXObject.mm:
990         (headingLevel):
991         (-[WebCoreAXObject accessibilityIsIgnored]):
992
993 2008-03-04  Sam Weinig  <sam@webkit.org>
994
995         GTK+ build fix.
996
997         * GNUmakefile.am:
998
999 2008-03-04  Sam Weinig  <sam@webkit.org>
1000
1001         Reviewed by Darin Adler.
1002
1003         Remame ImageConstructorImp to JSImageConstructor and move it into its
1004         own file.
1005
1006         * GNUmakefile.am:
1007         * WebCore.pro:
1008         * WebCore.vcproj/WebCore.vcproj:
1009         * WebCore.xcodeproj/project.pbxproj:
1010         * WebCoreSources.bkl:
1011         * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
1012         (WebCore::JSImageConstructor::JSImageConstructor):
1013         (WebCore::JSImageConstructor::construct):
1014         * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
1015         * bindings/js/kjs_html.cpp:
1016         (WebCore::getRuntimeObject): Make this function static since it is only used
1017         in this file.
1018         * bindings/js/kjs_html.h:
1019         * bindings/js/kjs_window.cpp:
1020         (WebCore::JSDOMWindowBase::getValueProperty):
1021
1022 2008-03-04  Adam Roben  <aroben@apple.com>
1023
1024         Fix an uninitialized value warning in CodeGeneratorJS.pm
1025
1026         * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
1027         non-existent $maybeOkParam (this was removed in r30753).
1028
1029 2008-03-04  Sam Weinig  <sam@webkit.org>
1030
1031         Reviewed by Darin Adler.
1032
1033         Remove kjs_dom.{h,cpp}.
1034
1035         - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
1036           to us a null return value as an indication of failure. (This new logic is used
1037           for toVoidCallback as well.)
1038         - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
1039           functions currently live.
1040         - Move checkNodeSecurity to kjs_binding, where other frame security functions 
1041           currently live.
1042         - Remove getNodeConstructor.  It had no implementation.
1043
1044         * GNUmakefile.am:
1045         * WebCore.pro:
1046         * WebCore.vcproj/WebCore.vcproj:
1047         * WebCore.xcodeproj/project.pbxproj:
1048         * WebCoreSources.bkl:
1049         * bindings/js/JSAttrCustom.cpp:
1050         * bindings/js/JSCustomVoidCallback.cpp:
1051         (WebCore::toVoidCallback):
1052         * bindings/js/JSCustomVoidCallback.h:
1053         * bindings/js/JSDatabaseCustom.cpp:
1054         (WebCore::JSDatabase::changeVersion):
1055         (WebCore::JSDatabase::transaction):
1056         * bindings/js/JSElementCustom.cpp:
1057         (WebCore::JSElement::setAttributeNode):
1058         (WebCore::JSElement::setAttributeNodeNS):
1059         * bindings/js/JSEventTargetBase.cpp:
1060         (WebCore::toJS):
1061         * bindings/js/JSEventTargetBase.h:
1062         * bindings/js/JSHTMLAppletElementCustom.cpp:
1063         * bindings/js/JSHTMLElementCustom.cpp:
1064         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1065         * bindings/js/JSHTMLFormElementCustom.cpp:
1066         * bindings/js/JSHTMLFrameElementCustom.cpp:
1067         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1068         * bindings/js/JSHTMLObjectElementCustom.cpp:
1069         * bindings/js/JSNamedNodeMapCustom.cpp:
1070         * bindings/js/JSNamedNodesCollection.cpp:
1071         * bindings/js/JSNodeFilterCustom.cpp:
1072         * bindings/js/JSXSLTProcessor.cpp:
1073         * bindings/js/kjs_binding.cpp:
1074         (WebCore::checkNodeSecurity):
1075         * bindings/js/kjs_binding.h:
1076         * bindings/js/kjs_css.cpp:
1077         * bindings/js/kjs_dom.cpp: Removed.
1078         * bindings/js/kjs_dom.h: Removed.
1079         * bindings/js/kjs_events.cpp:
1080         * bindings/js/kjs_html.cpp:
1081         (WebCore::getRuntimeObject):
1082         * bindings/js/kjs_html.h:
1083         * bindings/js/kjs_window.cpp:
1084         * bindings/scripts/CodeGeneratorJS.pm:
1085         * dom/Attr.idl:
1086         * html/HTMLPlugInElement.cpp:
1087         * page/InspectorController.cpp:
1088
1089 2008-03-04  Adam Roben  <aroben@apple.com>
1090
1091         Win/Qt/GTK+/wx build fix after r30740
1092
1093         * editing/Editor.cpp: Added missing #include.
1094         * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
1095         * page/win/FrameWin.cpp: Ditto.
1096         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1097
1098 2008-03-04  Alp Toker  <alp@atoker.com>
1099
1100         GTK+ build fix for breakage introduced in r30740.
1101
1102         Remove Frame::dashboardRegionsChanged(). There's now a default
1103         implementation at ChromeClient::dashboardRegionsChanged().
1104
1105         * page/gtk/FrameGtk.cpp:
1106
1107 2008-03-04  Alp Toker  <alp@atoker.com>
1108
1109         GTK+ build fix suggested by aroben. Remove an unused Mac-specific
1110         included introduced in r30740.
1111
1112         * page/ChromeClient.h:
1113
1114 2008-03-04  Dan Bernstein  <mitz@apple.com>
1115
1116         Reviewed by Sam Weinig.
1117
1118         - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
1119
1120         Test: platform/win/fast/text/uniscribe-missing-glyph.html
1121
1122         Note that default installations of Windows do not have Myanmar fonts.
1123         What this patch does is ensure that the Myanmar and other complex
1124         scripts are rendered as missing glyphs rather than not rendered at all.
1125         The particular page in the bug measures the relative widths of two
1126         rendered strings and, if they are rendered as missing glyphs, detects
1127         that a Myanmar fonts is not available and substitutes the text with
1128         images. By not rendering (and measuring) missing glyphs, WebKit was
1129         throwing the page's detection code off.
1130
1131         * platform/graphics/win/UniscribeController.cpp:
1132         (WebCore::UniscribeController::shape): Removed an early return in case
1133         shaping resulted in missing glyphs. This is now expected if font
1134         fallback failed to produce a font containing glyphs for the character.
1135         Also changed two resize()s to shrink()s.
1136
1137 2008-03-04  Darin Adler  <darin@apple.com>
1138
1139         Reviewed by Adam.
1140
1141         - remove WebCoreFrameBridge reapplyStyles method
1142
1143         * WebCore.base.exp: Added exports.
1144         * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
1145         reapplyStylesForDeviceType: method.
1146         * page/mac/WebCoreFrameBridge.mm: Ditto.
1147
1148 2008-03-04  Darin Adler  <darin@apple.com>
1149
1150         Reviewed by Adam.
1151
1152         - eliminate WebCoreFrameBridge createFrameViewWithNSView
1153
1154         * WebCore.base.exp: Added some more exports.
1155         * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
1156         * page/mac/WebCoreFrameBridge.mm: Ditto.
1157
1158 2008-03-04  Darin Adler  <darin@apple.com>
1159
1160         Reviewed by Adam.
1161
1162         - removed WebCoreFrameBridge scrollOverflowInDirection
1163
1164         * WebCore.base.exp: Export function needed by WebKit.
1165         * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
1166         and scrollOverflowInDirection.
1167         * page/mac/WebCoreFrameBridge.mm: Removed method.
1168
1169 2008-03-04  Darin Adler  <darin@apple.com>
1170
1171         Reviewed by Adam.
1172
1173         - remove WebCoreFrameBridge installInFrame: method
1174
1175         * WebCore.base.exp: Export a few symbols.
1176         * WebCore.xcodeproj/project.pbxproj: Export a few files.
1177         * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
1178         * page/mac/WebCoreFrameBridge.mm: Ditto.
1179
1180 2008-03-04  Darin Adler  <darin@apple.com>
1181
1182         Reviewed by Adam.
1183
1184         - remove WebCoreFrameBridge window method
1185
1186         * page/mac/EventHandlerMac.mm:
1187         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
1188         window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
1189         special, so a call to -[NSView window] is fine.
1190
1191         * page/mac/WebCoreFrameBridge.h: Removed the window method.
1192
1193 2008-03-04  Darin Adler  <darin@apple.com>
1194
1195         Reviewed by Adam.
1196
1197         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
1198
1199         * WebCore.base.exp: Updated.
1200         * page/Chrome.cpp:
1201         (WebCore::ChromeClient::dashboardRegionsChanged): Added.
1202         * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
1203         * page/Frame.h: Removed dashboardRegionsChanged function.
1204         * page/FrameView.cpp:
1205         (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
1206         on ChromeClient and to only call it when the regions actually changed.
1207         * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
1208         * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
1209
1210 2008-03-04  Darin Adler  <darin@apple.com>
1211
1212         Reviewed by Adam.
1213
1214         - remove WebCoreFrameBridge issuePasteComand method
1215
1216         * editing/Editor.cpp:
1217         (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
1218         * editing/mac/EditorMac.mm:
1219         (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
1220         WebHTMLView). We should get rid of this eventually.
1221         * page/Frame.h: Removed issuePasteCommand.
1222         * page/mac/FrameMac.mm: Ditto.
1223         * page/mac/WebCoreFrameBridge.h: Ditto.
1224
1225 2008-03-04  Alexey Proskuryakov  <ap@webkit.org>
1226
1227         Suggested by Darin, rubber-stamped by Mark.
1228
1229         http://bugs.webkit.org/show_bug.cgi?id=17569
1230         REGRESSION (r30571): Buzzword.com doesn't load
1231
1232         Rolling out r30571, as determining what is wrong with it proved tricky.
1233
1234         * loader/FrameLoader.cpp:
1235         (WebCore::FrameLoader::load):
1236         (WebCore::FrameLoader::tokenizerProcessedData):
1237         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1238
1239 2008-03-04  Sam Weinig  <sam@webkit.org>
1240
1241         Build fix.
1242
1243         * bindings/js/kjs_events.cpp:
1244
1245 2008-03-03  Sam Weinig  <sam@webkit.org>
1246
1247         Reviewed by Mark Rowe.
1248
1249         Move JSClipboard into its own file.
1250
1251         * DerivedSources.make:
1252         * GNUmakefile.am:
1253         * WebCore.pro:
1254         * WebCore.vcproj/WebCore.vcproj:
1255         * WebCore.xcodeproj/project.pbxproj:
1256         * WebCoreSources.bkl:
1257         * bindings/js/JSAttrCustom.cpp:
1258         * bindings/js/JSClipboardCustom.cpp: Added.
1259         (WebCore::JSClipboard::types):
1260         (WebCore::JSClipboard::clearData):
1261         (WebCore::JSClipboard::getData):
1262         (WebCore::JSClipboard::setData):
1263         (WebCore::JSClipboard::setDragImage):
1264         * bindings/js/JSElementCustom.cpp:
1265         * bindings/js/JSEventCustom.cpp:
1266         * bindings/js/JSHTMLFrameElementCustom.cpp:
1267         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1268         * bindings/js/kjs_events.cpp:
1269         * bindings/js/kjs_events.h:
1270         * bindings/js/kjs_window.cpp:
1271         * bindings/scripts/CodeGeneratorJS.pm:
1272         * dom/Clipboard.cpp:
1273         (WebCore::Clipboard::setDropEffect):
1274         (WebCore::Clipboard::setEffectAllowed):
1275         * dom/Clipboard.idl: Added.
1276
1277 2008-03-03  Sam Weinig  <sam@webkit.org>
1278
1279         Windows build-fix.
1280
1281         * page/Chrome.cpp:
1282         * plugins/win/PluginViewWin.cpp:
1283
1284 2008-03-03  Sam Weinig  <sam@webkit.org>
1285
1286         Reviewed by Darin Adler.
1287
1288         Cleanup and plumbing in preparation for the great Window split.
1289
1290         - Rename KJS::Window to WebCore::JSDOMWindowBase.
1291         - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
1292           with the new toJSDOMWindow().
1293         - Remove KJS::Window::retrieveActive() and replace with explicit call to 
1294           exec->dynamicGlobalObject() and toJSDOMWindow().
1295
1296         * bindings/js/JSCustomVoidCallback.cpp:
1297         (WebCore::toVoidCallback):.
1298         * bindings/js/JSCustomXPathNSResolver.cpp:
1299         (WebCore::JSCustomXPathNSResolver::create):
1300         * bindings/js/JSDatabaseCustom.cpp:
1301         (WebCore::JSDatabase::changeVersion):
1302         (WebCore::JSDatabase::transaction):
1303         * bindings/js/JSDocumentCustom.cpp:
1304         (WebCore::JSDocument::location):
1305         (WebCore::toJS):
1306         * bindings/js/JSEventTargetBase.cpp:
1307         (WebCore::jsEventTargetAddEventListener):
1308         (WebCore::jsEventTargetRemoveEventListener):
1309         * bindings/js/JSEventTargetNode.cpp:
1310         (WebCore::JSEventTargetNode::setListener):
1311         * bindings/js/JSHTMLDocumentCustom.cpp:
1312         (WebCore::JSHTMLDocument::nameGetter):
1313         (WebCore::JSHTMLDocument::open):
1314         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1315         (WebCore::JSHTMLFrameSetElement::nameGetter):
1316         * bindings/js/JSLocation.cpp:
1317         (WebCore::JSLocation::put):
1318         (WebCore::jsLocationProtoFuncReplace):
1319         (WebCore::jsLocationProtoFuncReload):
1320         (WebCore::jsLocationProtoFuncAssign):
1321         * bindings/js/JSLocation.h:
1322         * bindings/js/JSSQLTransactionCustom.cpp:
1323         (WebCore::JSSQLTransaction::executeSql):
1324         * bindings/js/JSSVGLazyEventListener.cpp:
1325         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
1326         (WebCore::JSSVGLazyEventListener::eventParameterName):
1327         * bindings/js/JSSVGLazyEventListener.h:
1328         * bindings/js/JSXMLHttpRequest.cpp:
1329         (WebCore::JSXMLHttpRequest::putValueProperty):
1330         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
1331         (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
1332         (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
1333         * bindings/js/ScheduledAction.cpp:
1334         (WebCore::ScheduledAction::execute):
1335         * bindings/js/ScheduledAction.h:
1336         * bindings/js/kjs_binding.cpp:
1337         (WebCore::allowsAccessFromFrame):
1338         (WebCore::printErrorMessageForFrame):
1339         * bindings/js/kjs_events.cpp:
1340         (WebCore::JSAbstractEventListener::handleEvent):
1341         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1342         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1343         (WebCore::JSUnprotectedEventListener::windowObj):
1344         (WebCore::JSEventListener::JSEventListener):
1345         (WebCore::JSEventListener::~JSEventListener):
1346         (WebCore::JSEventListener::windowObj):
1347         (WebCore::JSLazyEventListener::JSLazyEventListener):
1348         (WebCore::JSLazyEventListener::parseCode):
1349         * bindings/js/kjs_events.h:
1350         * bindings/js/kjs_navigator.cpp:
1351         (WebCore::MimeType::getValueProperty):
1352         * bindings/js/kjs_proxy.cpp:
1353         (WebCore::KJSProxy::evaluate):
1354         (WebCore::KJSProxy::createHTMLEventHandler):
1355         (WebCore::KJSProxy::createSVGEventHandler):
1356         * bindings/js/kjs_window.cpp:
1357         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
1358         (WebCore::DOMWindowTimer::DOMWindowTimer):
1359         (WebCore::DOMWindowTimer::action):
1360         (WebCore::DOMWindowTimer::takeAction):
1361         (WebCore::):
1362         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1363         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1364         (WebCore::JSDOMWindowBase::location):
1365         (WebCore::JSDOMWindowBase::mark):
1366         (WebCore::allowPopUp):
1367         (WebCore::createWindow):
1368         (WebCore::showModalDialog):
1369         (WebCore::JSDOMWindowBase::getValueProperty):
1370         (WebCore::JSDOMWindowBase::childFrameGetter):
1371         (WebCore::JSDOMWindowBase::indexGetter):
1372         (WebCore::JSDOMWindowBase::namedItemGetter):
1373         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1374         (WebCore::JSDOMWindowBase::put):
1375         (WebCore::JSDOMWindowBase::allowsAccessFrom):
1376         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
1377         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
1378         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
1379         (WebCore::JSDOMWindowBase::printErrorMessage):
1380         (WebCore::JSDOMWindowBase::globalExec):
1381         (WebCore::JSDOMWindowBase::shouldInterruptScript):
1382         (WebCore::JSDOMWindowBase::setListener):
1383         (WebCore::JSDOMWindowBase::getListener):
1384         (WebCore::JSDOMWindowBase::findJSEventListener):
1385         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1386         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1387         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1388         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
1389         (WebCore::JSDOMWindowBase::clear):
1390         (WebCore::JSDOMWindowBase::setCurrentEvent):
1391         (WebCore::JSDOMWindowBase::currentEvent):
1392         (WebCore::windowProtoFuncAToB):
1393         (WebCore::windowProtoFuncBToA):
1394         (WebCore::windowProtoFuncOpen):
1395         (WebCore::windowProtoFuncSetTimeout):
1396         (WebCore::windowProtoFuncClearTimeout):
1397         (WebCore::windowProtoFuncSetInterval):
1398         (WebCore::windowProtoFuncAddEventListener):
1399         (WebCore::windowProtoFuncRemoveEventListener):
1400         (WebCore::windowProtoFuncShowModalDialog):
1401         (WebCore::windowProtoFuncNotImplemented):
1402         (WebCore::JSDOMWindowBase::setReturnValueSlot):
1403         (WebCore::JSDOMWindowBase::clearAllTimeouts):
1404         (WebCore::JSDOMWindowBase::installTimeout):
1405         (WebCore::JSDOMWindowBase::pauseTimeouts):
1406         (WebCore::JSDOMWindowBase::resumeTimeouts):
1407         (WebCore::JSDOMWindowBase::clearTimeout):
1408         (WebCore::JSDOMWindowBase::timerFired):
1409         (WebCore::JSDOMWindowBase::disconnectFrame):
1410         (WebCore::JSDOMWindowBase::jsEventListeners):
1411         (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
1412         (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
1413         (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
1414         (WebCore::toJS):
1415         (WebCore::toJSDOMWindow):
1416         (WebCore::toJSDOMWindow):
1417         * bindings/js/kjs_window.h:
1418         (WebCore::JSDOMWindowBase::impl):
1419         (WebCore::JSDOMWindowBase::classInfo):
1420         (WebCore::JSDOMWindowBase::):
1421         * bindings/objc/DOMUtility.mm:
1422         (KJS::createDOMWrapper):
1423         * bindings/scripts/CodeGeneratorJS.pm:
1424         * history/CachedPage.cpp:
1425         (WebCore::CachedPage::CachedPage):
1426         (WebCore::CachedPage::restore):
1427         * page/Chrome.cpp:
1428         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1429         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1430         * page/DOMWindow.idl:
1431         * page/Frame.cpp:
1432         (WebCore::Frame::~Frame):
1433         (WebCore::Frame::windowScriptNPObject):
1434         (WebCore::Frame::pageDestroyed):
1435         * page/InspectorController.cpp:
1436         (WebCore::inspectedWindow):
1437         * page/mac/FrameMac.mm:
1438         (WebCore::Frame::windowScriptObject):
1439         * page/mac/WebCoreFrameBridge.mm:
1440         (updateRenderingForBindings):
1441         * platform/SecurityOrigin.cpp:
1442         (WebCore::SecurityOrigin::canAccess):
1443
1444 2008-03-03  Kevin Ollivier  <kevino@theolliviers.com>
1445
1446         wx build fixes after recent Frame-related changes.
1447
1448         * platform/wx/PasteboardWx.cpp:
1449         * platform/wx/TemporaryLinkStubs.cpp:
1450
1451 2008-03-03  Dan Bernstein  <mitz@apple.com>
1452
1453         Reviewed by Darin Adler.
1454
1455         - make :first-letter apply to the first letter in normal flow, skipping
1456           floats and positioned objects
1457
1458         Test: fast/css/first-letter-skip-out-of-flow.html
1459
1460         * rendering/RenderBlock.cpp:
1461         (WebCore::RenderBlock::updateFirstLetter):
1462
1463 2008-03-03  Ada Chan  <adachan@apple.com>
1464
1465         Fix build.
1466
1467         * plugins/win/PluginViewWin.cpp:
1468
1469 2008-03-03  Mark Rowe  <mrowe@apple.com>
1470
1471         Reviewed by Dan Bernstein.
1472
1473         Fix http://bugs.webkit.org/show_bug.cgi?id=17313
1474         Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
1475
1476         Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
1477         before using it to resolve styles, which lead to it having a stale m_style member in some situations.
1478         This stale m_style member resulted in a wild store that would write over whatever object now resided
1479         at the location m_style pointed to.
1480
1481         Test: fast/dom/SelectorAPI/bug-17313.html
1482
1483         * dom/Node.cpp:
1484         (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
1485         * dom/SelectorNodeList.cpp:
1486         (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
1487
1488 2008-03-03  Anders Carlsson  <andersca@apple.com>
1489
1490         Reviewed by Darin and Sam.
1491
1492         Include fixes, in preparation of using the headers in WebCore/bridge.
1493         
1494         * bindings/js/kjs_binding.h:
1495         * bindings/js/kjs_dom.cpp:
1496         * bindings/objc/DOMInternal.mm:
1497         * bindings/objc/DOMUtility.mm:
1498         * bindings/objc/WebScriptObject.mm:
1499         * bindings/objc/WebScriptObjectPrivate.h:
1500         * bridge/objc/objc_class.h:
1501         * bridge/objc/objc_instance.h:
1502         * bridge/objc/objc_runtime.h:
1503         * bridge/objc/objc_utility.h:
1504         * bridge/runtime.h:
1505         * bridge/runtime_object.h:
1506         * bridge/runtime_root.h:
1507         * html/HTMLAppletElement.cpp:
1508         * html/HTMLAppletElement.h:
1509         * html/HTMLEmbedElement.cpp:
1510         * html/HTMLEmbedElement.h:
1511         * html/HTMLObjectElement.cpp:
1512         * html/HTMLPlugInElement.cpp:
1513         * html/HTMLPlugInElement.h:
1514         * page/mac/FrameMac.mm:
1515         * page/mac/WebCoreFrameBridge.h:
1516         * page/mac/WebCoreFrameBridge.mm:
1517         * page/mac/WebCoreScriptDebugger.mm:
1518
1519 2008-03-03  David Hyatt  <hyatt@apple.com>
1520
1521         Full page zoom plumbing.  Add a notion of whether or not a zoom is text only or a full zoom to the
1522         Frame.  setTextSizeMultiplier does a text only zoom.
1523
1524         Reviewed by Tim H.
1525
1526         * page/Frame.cpp:
1527         (WebCore::Frame::zoomFactor):
1528         (WebCore::Frame::isZoomFactorTextOnly):
1529         (WebCore::Frame::setZoomFactor):
1530         (WebCore::FramePrivate::FramePrivate):
1531         * page/Frame.h:
1532         * page/FramePrivate.h:
1533         * page/mac/WebCoreFrameBridge.mm:
1534         (-[WebCoreFrameBridge setTextSizeMultiplier:]):
1535         * svg/SVGSVGElement.cpp:
1536         (WebCore::SVGSVGElement::setCurrentScale):
1537
1538 2008-03-03  David Hyatt  <hyatt@apple.com>
1539
1540         Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
1541
1542         This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
1543
1544         Make sure not to access position -1 of the size 0 vectors.
1545
1546         Reviewed by ggaren
1547
1548         * rendering/FixedTableLayout.cpp:
1549         (WebCore::FixedTableLayout::layout):
1550
1551 2008-03-03  David D. Kilzer  <ddkilzer@webkit.org>
1552
1553         Dynamically inserting CSS rule with @media query fails with DOM Exception 12
1554         <http://bugs.webkit.org/show_bug.cgi?id=15986>
1555
1556         Reviewed by Darin.
1557
1558         Allow any valid rule (@font-face, @import, @media, @page or style) to be
1559         parsed when using CSSStyleSheet.insertRule().  Previously only import and
1560         style rules were allowed.  Note that @page rules always throw an exception
1561         because they're not implemented yet, so no test case was added for them.
1562
1563         Tests: fast/css/insertRule-font-face.html
1564                fast/css/insertRule-media.html
1565
1566         * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'.  Renamed
1567         'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
1568
1569 2008-03-03  Anders Carlsson  <andersca@apple.com>
1570
1571         Reviewed by Sam.
1572
1573         Copy JSC bindings directory over to WebCore/bridge.
1574
1575         * bridge: Copied from ../JavaScriptCore/bindings.
1576
1577 2008-03-03  Dan Bernstein  <mitz@apple.com>
1578
1579         Reviewed by Darin Adler.
1580
1581         - remove CSSMutableStyleDeclaration::setChanged()'s change type
1582           parameter
1583
1584         * css/CSSMutableStyleDeclaration.cpp:
1585         (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
1586         type parameter and made this function determine the correct change type
1587         based on whether this is an inline style declaration.
1588         (WebCore::CSSMutableStyleDeclaration::setProperty):
1589         * css/CSSMutableStyleDeclaration.h:
1590         (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
1591         method.
1592         (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
1593
1594 2008-03-03  Darin Adler  <darin@apple.com>
1595
1596         Reviewed by Adam.
1597
1598         - some "cleanup" on the path to removing WebCoreFrameBridge
1599
1600         * WebCore.base.exp: Exported some stuff we either already use or
1601         I am about to use in an upcoming patch.
1602
1603         * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
1604         than project, for future use in WebKit.
1605
1606         * bindings/objc/WebScriptObject.mm: Removed some dead code.
1607
1608         * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
1609         * editing/Editor.cpp: Ditto.
1610
1611         * editing/Editor.h: Removed many unneeded declarations and includes.
1612         Removed the unused userVisibleString function.
1613
1614         * editing/EditorCommand.cpp:
1615         (WebCore::executeYank): Added parameter for triggeringEvent, which no
1616         longer has a default value.
1617         (WebCore::executeYankAndSelect): Ditto.
1618
1619         * editing/mac/EditorMac.mm: Removed userVisibleString.
1620
1621         * page/mac/EventHandlerMac.mm:
1622         (WebCore::isKeyboardOptionTab): Tweaked formattin.
1623
1624         * page/mac/WebCoreFrameBridge.mm:
1625         (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
1626         rather than from the bridge. There's no special value in the bridge's window
1627         method and we can use NSView directly.
1628         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
1629
1630         * platform/graphics/mac/ImageMac.mm:
1631         (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
1632         find the bundle rather than using WebCoreFrameBridge.
1633
1634         * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
1635         * platform/mac/PasteboardMac.mm: Ditto.
1636
1637         * rendering/RenderObject.h:
1638         (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
1639         comparing the clip rectangle.
1640         (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
1641
1642 2008-03-03  Oliver Hunt  <oliver@apple.com>
1643
1644         Reviewed by Mark Rowe.
1645
1646         Bug 17620: getImageData lies
1647         http://bugs.webkit.org/show_bug.cgi?id=17620
1648
1649         Correct logic to actually iterate over the source row
1650
1651         * platform/graphics/cg/ImageBufferCG.cpp:
1652         (WebCore::ImageBuffer::getImageData):
1653
1654 2008-03-03  Oliver Hunt  <oliver@apple.com>
1655
1656         Reviewed by Mark Rowe.
1657
1658         Correct incorrect assertion
1659
1660         * platform/graphics/cg/ImageBufferCG.cpp:
1661         (WebCore::ImageBuffer::putImageData):
1662
1663 2008-03-02  Alp Toker  <alp@atoker.com>
1664
1665         Another fix for non-database builds after changes in r30331.
1666
1667         Conditionalize a stopDatabases() call.
1668
1669         * loader/FrameLoader.cpp:
1670         (WebCore::FrameLoader::stopLoading):
1671
1672 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1673
1674         Reviewed by Alp Toker.
1675
1676         Scrolling fixes. Implement page scrolling, initialize mouse wheel
1677         event variables, and remove duplicate event binding for TOP
1678         scrolling event.
1679
1680         http://bugs.webkit.org/show_bug.cgi?id=17643
1681
1682         * platform/wx/MouseWheelEventWx.cpp:
1683         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1684         * platform/wx/ScrollViewWx.cpp:
1685         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
1686         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
1687
1688 2008-03-02  Alp Toker  <alp@atoker.com>
1689
1690         Fix building without database support after changes in r30331.
1691
1692         * dom/Document.cpp:
1693
1694 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1695
1696         wx build fix for Windows after PageWin.cpp move.
1697
1698         * webcore-wx.bkl:
1699
1700 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1701
1702         Reviewed by Dave Hyatt.
1703
1704         Gracefully handle a CSS rule containing an invalid value.
1705         (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
1706
1707         * css/CSSGrammar.y:
1708
1709 2008-03-02  Alp Toker  <alp@atoker.com>
1710
1711         Reviewed by Mark Rowe.
1712
1713         Improve the Cairo Path::isEmpty() function
1714
1715         Use cairo_has_current_point() where available.
1716
1717         * platform/graphics/cairo/PathCairo.cpp:
1718         (WebCore::Path::isEmpty):
1719
1720 2008-03-01  Mark Rowe  <mrowe@apple.com>
1721
1722         Reviewed by Tim Hatcher.
1723
1724         Update Xcode configuration to support building debug and release from the mysterious future.
1725
1726         * Configurations/DebugRelease.xcconfig:
1727
1728 2008-03-01  Oliver Hunt  <oliver@apple.com>
1729
1730         Reviewed by Sam Weinig.
1731
1732         Bug 16954: Support putImageData
1733         
1734         Implement support for HTML5's putImageData for the CG port.  All other ports
1735         are currently just using stubs for the final blit.
1736
1737         Test: fast/canvas/canvas-putImageData.html
1738
1739         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1740         (WebCore::JSCanvasRenderingContext2D::putImageData):
1741         * html/CanvasRenderingContext2D.cpp:
1742         (WebCore::CanvasRenderingContext2D::putImageData):
1743         * html/CanvasRenderingContext2D.h:
1744         * platform/graphics/ImageBuffer.h:
1745         * platform/graphics/cairo/ImageBufferCairo.cpp:
1746         * platform/graphics/cg/ImageBufferCG.cpp:
1747         (WebCore::ImageBuffer::putImageData):
1748         * platform/graphics/qt/ImageBufferQt.cpp:
1749         * platform/graphics/wx/ImageBufferWx.cpp:
1750
1751 2008-03-01  Jon Honeycutt  <jhoneycutt@apple.com>
1752
1753         Reviewed by Darin.
1754
1755         <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
1756         instances
1757
1758         The VLC Netscape plug-in crashes if more than one instance is created.
1759
1760         Added a quirk that disallows a plug-in from having more than one
1761         instance and set this for the VLC plug-in.
1762
1763         In addition, we now sort plug-ins that handle the same MIME
1764         type to choose the most appropriate one. This sorting first sorts by
1765         whether a plug-in has an issue that should put it at the end of the
1766         list, then whether it appears in a "preferred" plug-in directory.
1767
1768         * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
1769         * plugins/PluginDatabase.cpp:
1770         (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
1771         sorting plug-ins; calls PluginPackage::compare().
1772         (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
1773         that handle this MIME type to a list, sort the list, and return the
1774         first item.
1775         (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
1776         that handle this extension to a list, sort the list, and return the MIME
1777         type used by the plug-in at the beginning of the list.
1778         * plugins/PluginDatabase.h:
1779         * plugins/PluginPackage.h:
1780         (WebCore::PluginPackage::version): Added; returns the module version.
1781         * plugins/win/PluginDatabaseWin.cpp:
1782         (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
1783         const.
1784         * plugins/win/PluginPackageWin.cpp:
1785         (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
1786         the end, then plug-ins in preferred directories to the beginning, then
1787         alphabetically by file name, numerically by version, and alphabetically
1788         by parent directory.
1789         (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
1790         instances" quirk for VLC.
1791         (WebCore::PluginPackage::load): Return false if the plug-in library has
1792         already been loaded and the "don't allow multiple instances" quirk is
1793         set.
1794         * platform/gtk/TemporaryLinkStubs.cpp:
1795         (PluginPackage::compare): Added stub.
1796         (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
1797         * platform/qt/TemporaryLinkStubs.cpp:
1798         (PluginPackage::compare): Added stub.
1799         (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
1800         * platform/wx/TemporaryLinkStubs.cpp:
1801         (PluginPackage::compare): Added stub.
1802         (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
1803
1804 2008-03-01  Sam Weinig  <sam@webkit.org>
1805
1806         Rubber-stamped by Mark Rowe.
1807
1808         Remove reference to the now non-existent bridge directory.
1809
1810         * WebCore.xcodeproj/project.pbxproj:
1811
1812 2008-03-01  Sam Weinig  <sam@webkit.org>
1813
1814         Reviewed by Darin Adler.
1815
1816         Search the entire prototype chain when doing early prototype lookup in
1817         the Window's getOwnPropertySlot method.
1818
1819         Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
1820
1821         * bindings/js/kjs_window.cpp:
1822         (KJS::Window::getOwnPropertySlot):
1823
1824 2008-03-01  Nikolas Zimmermann  <zimmermann@kde.org>
1825
1826         Reviewed by Oliver.
1827
1828         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
1829
1830         As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
1831
1832         Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
1833                svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
1834                svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
1835                svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
1836                svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
1837                svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
1838                svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
1839                svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
1840
1841         * svg/SVGForeignObjectElement.cpp:
1842         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1843         (WebCore::addCSSPropertyAndNotifyAttributeMap):
1844         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1845         * svg/SVGForeignObjectElement.h:
1846
1847 2008-02-29  Brady Eidson  <beidson@apple.com>
1848
1849         Reviewed by build-fix karma
1850
1851         Bonehead mistake.  Revert function to previous version for all non-Windows+CFNetwork platforms
1852
1853         * platform/network/ProtectionSpace.cpp:
1854         (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
1855
1856 2008-02-29  Brady Eidson  <beidson@apple.com>
1857
1858         Reviewed by Darin
1859         
1860         <rdar://problem/5771227> - Incorrect password handling text in credential sheet
1861
1862         * platform/network/ProtectionSpace.cpp:
1863         (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
1864           get "secureness" of the auth challenge instead of figuring it out ourselves
1865
1866 2008-02-29  Brent Fulgham  <bfulgham@gmail.com>
1867
1868         http://bugs.webkit.org/show_bug.cgi?id=17483
1869         Implement scrollbars on Windows (Cairo)
1870
1871         Reviewed by Adam Roben.
1872
1873         * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
1874           from PlatformScrollBarWinSafari.cpp, then modify to use the
1875           native Windows theme engine.  Use SOFT_LINK.  Use platform
1876           'GetSystemMetrics' call to decide size of scrollbars and buttons.
1877
1878 2008-02-29  Adam Roben  <aroben@apple.com>
1879
1880         Windows build fix
1881
1882         * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
1883         and the post-build event, and add page/win to each. Also let VS have
1884         its way with the order of the files.
1885         * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
1886         * page/win/GlobalHistoryWin.cpp: Copied from
1887         bridge/win/GlobalHistoryWin.cpp in r30673
1888
1889 2008-02-29  Anders Carlsson  <andersca@apple.com>
1890
1891         Build fix.
1892
1893         * WebCore.xcodeproj/project.pbxproj:
1894
1895 2008-02-29  Mark Rowe  <mrowe@apple.com>
1896
1897         Reviewed by Tim Hatcher.
1898
1899         64-bit build fix.
1900
1901         * platform/graphics/mac/SimpleFontDataMac.mm:
1902         (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
1903         FMGetATSFontRefFromFont is not available.
1904
1905 2008-02-29  Mark Rowe  <mrowe@apple.com>
1906
1907         Build fix.  Only declare pathFromFont in debug builds as it is unused in release builds.
1908
1909         * platform/graphics/mac/SimpleFontDataMac.mm:
1910
1911 2008-02-29  Anders Carlsson  <andersca@apple.com>
1912
1913         Reviewed by Adam.
1914         
1915         Copy the remaining files in bridge/ over to page/
1916
1917         * WebCore.vcproj/WebCore.vcproj:
1918         * WebCore.xcodeproj/project.pbxproj:
1919         * bridge: Removed.
1920         * bridge/AXObjectCache.h: Removed.
1921         * bridge/EditorClient.h: Removed.
1922         * bridge/GlobalHistory.h: Removed.
1923         * bridge/win: Removed.
1924         * bridge/win/FrameCGWin.cpp: Removed.
1925         * bridge/win/FrameCairoWin.cpp: Removed.
1926         * bridge/win/FrameWin.cpp: Removed.
1927         * bridge/win/FrameWin.h: Removed.
1928         * bridge/win/GlobalHistoryWin.cpp: Removed.
1929         * bridge/win/PageWin.cpp: Removed.
1930         * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
1931         * page/EditorClient.h: Copied from bridge/EditorClient.h.
1932         * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
1933         * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
1934         * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
1935         * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
1936         * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
1937
1938 2008-02-29  Robert Blaut  <webkit@blaut.biz>
1939
1940         Reviewed by Darin Adler.
1941
1942         - fix http://bugs.webkit.org/show_bug.cgi?id=17532
1943           Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
1944
1945         Test: fast/html/link-rel-stylesheet.html
1946
1947         * html/HTMLLinkElement.cpp:
1948         (WebCore::HTMLLinkElement::process):
1949
1950 2008-02-29  Mark Rowe  <mrowe@apple.com>
1951
1952         Reviewed by Anders Carlsson.
1953
1954         Replace use of WKPathFromFont with implementation in terms of public API.
1955
1956         * WebCore.base.exp: Remove unused symbol.
1957         * platform/graphics/mac/SimpleFontDataMac.mm:
1958         (WebCore::initFontData):
1959         (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
1960         (WebCore::SimpleFontData::platformInit):
1961         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
1962         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1963
1964 2008-02-29  Anders Carlsson  <andersca@apple.com>
1965
1966         Reviewed by Adam.
1967
1968         Move a bunch of files from bridge/mac to page/mac.
1969         
1970         * WebCore.xcodeproj/project.pbxproj:
1971         * bridge/mac: Removed.
1972         * bridge/mac/AXObjectCacheMac.mm: Removed.
1973         * bridge/mac/GlobalHistoryMac.mm: Removed.
1974         * bridge/mac/WebCoreAXObject.h: Removed.
1975         * bridge/mac/WebCoreAXObject.mm: Removed.
1976         * bridge/mac/WebCoreScriptDebugger.h: Removed.
1977         * bridge/mac/WebCoreScriptDebugger.mm: Removed.
1978         * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
1979         * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
1980         * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
1981         * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
1982         * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
1983         * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
1984
1985 2008-02-29  David Hyatt  <hyatt@apple.com>
1986
1987         Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
1988         guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
1989         been assigned into the document's member variable.
1990
1991         Reviewed by aroben
1992
1993         * css/CSSStyleSelector.cpp:
1994         (WebCore::CSSRuleSet::addRulesFromSheet):
1995         * css/MediaQueryEvaluator.cpp:
1996         (WebCore::MediaQueryEvaluator::eval):
1997         * css/MediaQueryEvaluator.h:
1998
1999 2008-02-29  David Hyatt  <hyatt@apple.com>
2000
2001         <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
2002
2003         Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
2004         Be more precise in terms of what nodes we mark dirty.
2005
2006         Reviewed by Beth
2007
2008         * css/CSSStyleSelector.cpp:
2009         (WebCore::CSSStyleSelector::checkSelector):
2010         * dom/Element.cpp:
2011         (WebCore::Element::recalcStyle):
2012         (WebCore::checkForSiblingStyleChanges):
2013         (WebCore::Element::childrenChanged):
2014         (WebCore::Element::finishParsingChildren):
2015         * rendering/RenderStyle.cpp:
2016         (WebCore::RenderStyle::RenderStyle):
2017         * rendering/RenderStyle.h:
2018         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
2019         (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
2020         (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
2021
2022 2008-02-29  Alexey Proskuryakov  <ap@webkit.org>
2023
2024         Reviewed by Darin.
2025
2026         <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
2027
2028         Test: http/tests/xmlhttprequest/status-after-abort.html
2029
2030         * xml/XMLHttpRequest.cpp:
2031         (WebCore::XMLHttpRequest::getStatus):
2032         (WebCore::XMLHttpRequest::getStatusText):
2033         Changed to match Firefox more closely (IE just raises an exception in most of those cases).
2034
2035 2008-02-29  Dan Bernstein  <mitz@apple.com>
2036
2037         Reviewed by Darin Adler.
2038
2039         - fix a bug where explicit embedding past the end of a line could
2040           affect text that line
2041
2042         Test: fast/text/embed-at-end-of-pre-wrap-line.html
2043
2044         * rendering/bidi.cpp:
2045         (WebCore::RenderBlock::skipWhitespace): Removed calls to
2046         setAdjustEmbedding().
2047         (WebCore::RenderBlock::findNextLineBreak): Added calls to
2048         setAdjustEmbedding() around skipWhitespace() only where needed.
2049
2050 2008-02-29  Mark Rowe  <mrowe@apple.com>
2051
2052         Reviewed by Oliver Hunt.
2053
2054         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
2055
2056         * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
2057         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2058         * platform/network/mac/ResourceRequestMac.mm:
2059         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
2060         * WebCore.Tiger.exp: Move Tiger-only symbol here.
2061         * WebCore.base.exp:
2062
2063 2008-02-29  Mark Rowe  <mrowe@apple.com>
2064
2065         Rubber-stamped by Eric Seidel.
2066
2067         Remove unneeded includes of WebCoreSystemInterface.h.
2068
2069         * loader/mac/LoaderNSURLExtras.m:
2070         * page/mac/FrameMac.mm:
2071         * page/mac/WebCoreFrameBridge.mm:
2072         * platform/MIMETypeRegistry.cpp:
2073         * platform/graphics/mac/ImageMac.mm:
2074         * platform/mac/PasteboardMac.mm:
2075
2076 2008-02-29  Mark Rowe  <mrowe@apple.com>
2077
2078         Reviewed by Oliver Hunt and Oliver Hunt.
2079
2080         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
2081
2082         * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
2083         * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
2084         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
2085         * WebCore.base.exp:  Ditto.
2086
2087 2008-02-28  Mark Rowe  <mrowe@apple.com>
2088
2089         Reviewed by Dave Hyatt.
2090
2091         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
2092
2093         * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
2094         * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
2095         * WebCore.base.exp:
2096         * platform/graphics/mac/SimpleFontDataMac.mm:
2097         (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
2098         * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
2099         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
2100
2101 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
2102
2103         Reviewed by Tim Hatcher.
2104
2105         Bug 16535: Stylesheets loaded with @import are not editable
2106         http://bugs.webkit.org/show_bug.cgi?id=16535
2107         <rdar://problem/5712899>
2108
2109         Sheets loaded using @import were incorrectly being flagged as non-editable
2110         user agent sheets because their parent sheet doesn't have an ownerNode. We now
2111         check to make sure sheets also don't have a href before restricting their editability.
2112
2113         * page/inspector/StylesSidebarPane.js:
2114
2115 2008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
2116
2117         Reviewed by Adam Roben.
2118
2119         Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
2120         Add PluginPackage.cpp to build configurations.
2121         Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
2122         Use cross-platform pathGetFilename method.
2123         Remove platform-specific code from shared PluginPackage implementation.
2124         Remove shared code from PluginPackageWin.cpp.
2125
2126         * GNUmakefile.am:
2127         * WebCore.pro:
2128         * WebCoreSources.bkl:
2129         * WebCore.vcproj/WebCore.vcproj:
2130         * platform/gtk/TemporaryLinkStubs.cpp:
2131         * platform/qt/TemporaryLinkStubs.cpp:
2132         * platform/wx/TemporaryLinkStubs.cpp:
2133         * plugins/PluginPackage.cpp:
2134         * plugins/win/PluginPackageWin.cpp:
2135
2136 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
2137
2138         Reviewed by Darin Adler.
2139
2140         <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
2141         
2142         Add a second style span at copy time to hold document default styles.  This helps us
2143         differentiate between those and user applied styles at paste time, where we'll want
2144         to let Mail's Paste As Quotation blockquote override document default styles, but
2145         not others.
2146
2147         * css/CSSComputedStyleDeclaration.cpp:
2148         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
2149         for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
2150         are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
2151         type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
2152         an element and that element's inlineStyleDecl(), causing identical values to always appear 
2153         different to diff().
2154         * editing/ReplaceSelectionCommand.cpp:
2155         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
2156         the class to an empty string, completely remove it, it's no longer needed.
2157         (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
2158         (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
2159         Added, replaces removeRedundantStyles.
2160         We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
2161         unused code and renamed the function.
2162         There won't be more than two style spans that we need to consider, the one with the 
2163         source document's default styles and styles on the commonAncestor of the copied Range, 
2164         so don't look for more than two.
2165         Let elements that wrap the incoming fragment override the source document's styles.
2166         (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
2167         and call the renamed handleStyleSpans.
2168         * editing/ReplaceSelectionCommand.h:
2169         * editing/markup.cpp:
2170         (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
2171         that holds user applied styles, since they'll be added to their own style span.
2172         (WebCore::createMarkup):
2173         Add a second style span that holds just the document defaults. This lets us differentiate
2174         between those and user applied styles at paste time.
2175         Mail blockquotes are just another type of special element, moved their handling there. This
2176         also lets paste code make assumptions about the position of the two style spans (they are 
2177         *always* parent-child).
2178
2179 2008-02-28  Brent Fulgham <bfulgham@gmail.com>
2180
2181         http://bugs.webkit.org/show_bug.cgi?id=17576
2182         Modify RenderThemeWin to use SOFT_LINK
2183
2184         Reviewed by Adam Roben.
2185
2186         * rendering/RenderThemeWin.h: Remove unneeded library handle
2187         * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
2188           rather than hand-coded load library calls.
2189
2190 2008-02-28  Dan Bernstein  <mitz@apple.com>
2191
2192         Reviewed by Darin Adler.
2193
2194         - fix http://bugs.webkit.org/show_bug.cgi?id=17590
2195           ASSERTION FAILED: subject in jsRegExpExecute()
2196
2197         * page/mac/FrameMac.mm:
2198         (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
2199         case the element name is empty.
2200
2201 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
2202
2203         Reviewed by Dan Bernstein
2204         
2205         Small editing speed up.
2206         
2207         * dom/Position.cpp:
2208         (WebCore::Position::upstream): Don't check for a change in editability
2209         if the current node hasn't changed.
2210         (WebCore::Position::downstream): Ditto.
2211
2212 2008-02-27  Dan Bernstein  <mitz@apple.com>
2213
2214         Reviewed by John Sullivan.
2215
2216         - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
2217
2218         Test: fast/text/soft-hyphen-2.html
2219
2220         * rendering/bidi.cpp:
2221         (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
2222         that if there are two midpoints at the given position, only the last one
2223         will be chopped off.
2224
2225 2008-02-27  Dan Bernstein  <mitz@apple.com>
2226
2227         Reviewed by Darin Adler.
2228
2229         - make centered text in right-to-left blocks spill over to the left
2230
2231         Test: fast/text/align-center-rtl-spill.html
2232
2233         * rendering/bidi.cpp:
2234         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
2235
2236 2008-02-27  Dan Bernstein  <mitz@apple.com>
2237
2238         Reviewed by Darin Adler.
2239
2240         - more bidi.cpp cleanup
2241
2242         * platform/text/BidiResolver.h:
2243         (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
2244         (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
2245         here.
2246         (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
2247         addRun().
2248         (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
2249         destroy(), avoiding the need to specialize this method in BidiState.
2250         * rendering/bidi.cpp:
2251         (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
2252         (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
2253         (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
2254         (WebCore::RenderBlock::createLineBoxes): 
2255         (WebCore::RenderBlock::constructLine):
2256         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
2257         (WebCore::RenderBlock::computeVerticalPositionsForLine):
2258         (WebCore::buildCompactRuns):
2259         (WebCore::RenderBlock::layoutInlineChildren):
2260         (WebCore::RenderBlock::determineStartPosition):
2261         (WebCore::RenderBlock::determineEndPosition):
2262         (WebCore::RenderBlock::matchedEndLine):
2263         (WebCore::skipNonBreakingSpace):
2264         (WebCore::RenderBlock::skipWhitespace):
2265         (WebCore::shouldSkipWhitespaceAfterStartObject):
2266         * rendering/bidi.h:
2267         (WebCore::BidiRun): Added m_ prefixes to several member variables. 
2268
2269 2008-02-27  Sam Weinig  <sam@webkit.org>
2270
2271         Reviewed by Darin.
2272
2273         Fix for <rdar://problem/5768769>
2274
2275         - Don't allow cross-origin calls using window.functionName.call(otherFrame)
2276           syntax.
2277
2278         * bindings/js/JSLocation.cpp:
2279         (WebCore::jsLocationProtoFuncToString): Do same-origin check.
2280         * bindings/js/kjs_window.cpp:
2281         (KJS::windowProtoFuncAToB): Ditto.
2282         (KJS::windowProtoFuncBToA): Ditto.
2283         (KJS::windowProtoFuncOpen): Ditto.
2284         (KJS::windowProtoFuncClearTimeout): Ditto.
2285         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2286
2287 2008-02-27  David Hyatt  <hyatt@apple.com>
2288
2289         More cleanup in preparation for fixing the HTML5 spec performance regression.
2290
2291         Reviewed by Sam Weinig
2292
2293         * dom/Attr.cpp:
2294         (WebCore::Attr::childrenChanged):
2295         * dom/Attr.h:
2296         * dom/ContainerNode.cpp:
2297         (WebCore::ContainerNode::insertBefore):
2298         (WebCore::ContainerNode::replaceChild):
2299         (WebCore::ContainerNode::removeChild):
2300         (WebCore::ContainerNode::removeChildren):
2301         (WebCore::ContainerNode::appendChild):
2302         (WebCore::ContainerNode::addChild):
2303         (WebCore::ContainerNode::childrenChanged):
2304         * dom/ContainerNode.h:
2305         * dom/Document.cpp:
2306         (WebCore::Document::childrenChanged):
2307         * dom/Document.h:
2308         * dom/Element.cpp:
2309         (WebCore::Element::childrenChanged):
2310         * dom/Element.h:
2311         * dom/Node.h:
2312         (WebCore::Node::childrenChanged):
2313         * html/HTMLObjectElement.cpp:
2314         (WebCore::HTMLObjectElement::childrenChanged):
2315         * html/HTMLObjectElement.h:
2316         * html/HTMLOptGroupElement.cpp:
2317         (WebCore::HTMLOptGroupElement::childrenChanged):
2318         * html/HTMLOptGroupElement.h:
2319         * html/HTMLOptionElement.cpp:
2320         (WebCore::HTMLOptionElement::childrenChanged):
2321         * html/HTMLOptionElement.h:
2322         * html/HTMLScriptElement.cpp:
2323         (WebCore::HTMLScriptElement::childrenChanged):
2324         * html/HTMLScriptElement.h:
2325         * html/HTMLSelectElement.cpp:
2326         (WebCore::HTMLSelectElement::childrenChanged):
2327         * html/HTMLSelectElement.h:
2328         * html/HTMLStyleElement.cpp:
2329         (WebCore::HTMLStyleElement::childrenChanged):
2330         * html/HTMLStyleElement.h:
2331         * html/HTMLTextAreaElement.cpp:
2332         (WebCore::HTMLTextAreaElement::childrenChanged):
2333         * html/HTMLTextAreaElement.h:
2334         * html/HTMLTitleElement.cpp:
2335         (WebCore::HTMLTitleElement::childrenChanged):
2336         * html/HTMLTitleElement.h:
2337         * svg/SVGClipPathElement.cpp:
2338         (WebCore::SVGClipPathElement::childrenChanged):
2339         * svg/SVGClipPathElement.h:
2340         * svg/SVGDefinitionSrcElement.cpp:
2341         (WebCore::SVGDefinitionSrcElement::childrenChanged):
2342         * svg/SVGDefinitionSrcElement.h:
2343         * svg/SVGFontFaceElement.cpp:
2344         (WebCore::SVGFontFaceElement::childrenChanged):
2345         * svg/SVGFontFaceElement.h:
2346         * svg/SVGFontFaceFormatElement.cpp:
2347         (WebCore::SVGFontFaceFormatElement::childrenChanged):
2348         * svg/SVGFontFaceFormatElement.h:
2349         * svg/SVGFontFaceSrcElement.cpp:
2350         (WebCore::SVGFontFaceSrcElement::childrenChanged):
2351         * svg/SVGFontFaceSrcElement.h:
2352         * svg/SVGFontFaceUriElement.cpp:
2353         (WebCore::SVGFontFaceUriElement::childrenChanged):
2354         * svg/SVGFontFaceUriElement.h:
2355         * svg/SVGGElement.cpp:
2356         (WebCore::SVGGElement::childrenChanged):
2357         * svg/SVGGElement.h:
2358         * svg/SVGGradientElement.cpp:
2359         (WebCore::SVGGradientElement::childrenChanged):
2360         * svg/SVGGradientElement.h:
2361         * svg/SVGMarkerElement.cpp:
2362         (WebCore::SVGMarkerElement::childrenChanged):
2363         * svg/SVGMarkerElement.h:
2364         * svg/SVGMaskElement.cpp:
2365         (WebCore::SVGMaskElement::childrenChanged):
2366         * svg/SVGMaskElement.h:
2367         * svg/SVGPatternElement.cpp:
2368         (WebCore::SVGPatternElement::childrenChanged):
2369         * svg/SVGPatternElement.h:
2370         * svg/SVGStyleElement.cpp:
2371         (WebCore::SVGStyleElement::childrenChanged):
2372         * svg/SVGStyleElement.h:
2373         * svg/SVGStyledElement.cpp:
2374         (WebCore::SVGStyledElement::childrenChanged):
2375         * svg/SVGStyledElement.h:
2376         * svg/SVGTitleElement.cpp:
2377         (WebCore::SVGTitleElement::childrenChanged):
2378         * svg/SVGTitleElement.h:
2379         * svg/SVGUseElement.cpp:
2380         (WebCore::SVGUseElement::childrenChanged):
2381         * svg/SVGUseElement.h:
2382
2383 2008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
2384
2385         Reviewed by Alexey.
2386
2387         http://bugs.webkit.org/show_bug.cgi?id=17481
2388         Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
2389
2390         Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
2391
2392         * xml/XMLHttpRequest.cpp:
2393         (WebCore::XMLHttpRequest::open):
2394
2395 2008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
2396
2397         Reviewed, tweaked and landed by ap.
2398
2399         http://bugs.webkit.org/show_bug.cgi?id=17487
2400         HTMLInput mysteriously fails to work if ICU dat file is missing
2401
2402         * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
2403         has been opened.
2404
2405 2008-02-27  Adam Roben  <aroben@apple.com>
2406
2407         Windows build fix after r30616
2408
2409         * platform/win/ClipboardWin.cpp:
2410
2411 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
2412
2413         Reviewed by Simon.
2414
2415         Small style cleanup, and obvious fix: SVGGElement reacted on
2416         'clipPathUnits' changes, which is a funny copy&paste error.
2417
2418         * svg/SVGGElement.cpp:
2419         (WebCore::SVGGElement::parseMappedAttribute):
2420         (WebCore::SVGGElement::svgAttributeChanged):
2421         (WebCore::SVGGElement::createRenderer):
2422
2423 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
2424
2425         Reviewed by Simon.
2426
2427         Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
2428         Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
2429
2430         * svg/SVGDefsElement.cpp:
2431         (WebCore::SVGDefsElement::createRenderer):
2432         * svg/SVGDefsElement.h:
2433         * svg/SVGDescElement.h:
2434
2435 2008-02-26  Antti Koivisto  <antti@apple.com>
2436
2437         Reviewed by Darin.
2438
2439         Fix <rdar://problem/5761326>
2440         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2441         
2442         Generate better code with VS:
2443         - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
2444         - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
2445         - Add a separate version of the function for cases where error messages are not wanted
2446
2447         * bindings/js/JSDOMWindowCustom.cpp:
2448         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2449         * bindings/js/kjs_window.cpp:
2450         (KJS::Window::allowsAccessFrom):
2451         (KJS::Window::allowsAccessFromNoErrorMessage):
2452         (KJS::Window::allowsAccessFromPrivate):
2453         (KJS::Window::crossDomainAccessErrorMessage):
2454         * bindings/js/kjs_window.h:
2455
2456 2008-02-26  Sam Weinig  <sam@webkit.org>
2457
2458         Reviewed by Dave Hyatt.
2459
2460         - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
2461
2462         * GNUmakefile.am:
2463         * WebCore.pro:
2464         * WebCore.vcproj/WebCore.vcproj:
2465         * WebCore.xcodeproj/project.pbxproj:
2466         * WebCoreSources.bkl:
2467         * platform/ArrayImpl.cpp: Removed.
2468         * platform/ArrayImpl.h: Removed.
2469         * platform/DeprecatedArray.h: Removed.
2470         * platform/DeprecatedCString.cpp: Removed.
2471         * platform/DeprecatedCString.h: Removed.
2472         * platform/text/CString.cpp:
2473         (WebCore::CString::length):
2474         * platform/text/CString.h:
2475
2476 2008-02-26  David Hyatt  <hyatt@apple.com>
2477
2478         Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
2479
2480         Reviewed by Sam Weinig
2481
2482         * dom/Attr.cpp:
2483         (WebCore::Attr::childrenChanged):
2484         * dom/ContainerNode.cpp:
2485         (WebCore::ContainerNode::insertBefore):
2486         (WebCore::ContainerNode::replaceChild):
2487         (WebCore::ContainerNode::removeChild):
2488         (WebCore::ContainerNode::removeChildren):
2489         (WebCore::ContainerNode::appendChild):
2490         (WebCore::ContainerNode::addChild):
2491         (WebCore::ContainerNode::childrenChanged):
2492         * dom/ContainerNode.h:
2493         * dom/EventTargetNode.cpp:
2494         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2495         * dom/EventTargetNode.h:
2496         * dom/NamedAttrMap.cpp:
2497         (WebCore::NamedAttrMap::addAttribute):
2498         (WebCore::NamedAttrMap::removeAttribute):
2499
2500 2008-02-26  Darin Adler  <darin@apple.com>
2501
2502         Reviewed by Sam.
2503
2504         - remove use of DeprecatedCString from Windows pasteboard code
2505
2506         * platform/win/ClipboardUtilitiesWin.cpp:
2507         (WebCore::createGlobalData): Added an overload for Vector<char>.
2508         Streamlined the logic a bit.
2509         (WebCore::append): Added. Helper functions for appending to a
2510         Vector<char>.
2511         (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
2512         of DeprecatedCString. Also simplified the logic a bit and used
2513         macros to handle the integer width.
2514         (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
2515         (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
2516         * platform/win/ClipboardUtilitiesWin.h: Update type of return
2517         value from markupToCF_HTML. Did a bit of streamlining too.
2518         * platform/win/ClipboardWin.cpp:
2519         (WebCore::writeURL): Update for above changes.
2520         (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
2521         (WebCore::ClipboardWin::writeRange): Ditto.
2522         * platform/win/PasteboardWin.cpp:
2523         (WebCore::Pasteboard::writeSelection): Ditto.
2524         (WebCore::Pasteboard::writeURL): Ditto.
2525
2526 2008-02-26  Timothy Hatcher  <timothy@apple.com>
2527
2528         Reviewed by Adam Roben.
2529
2530         <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
2531         source list does not scroll when item at edge is reached (16572)
2532
2533         Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
2534         we were using in utilities.js.
2535
2536         * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
2537         * page/inspector/Resource.js: Ditto.
2538         * page/inspector/inspector.js: Ditto.
2539         * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
2540         of scrollIntoView, so the source line is centered in the view if needed.
2541         * page/inspector/utilities.js: Removed scrollToElement().
2542
2543 2008-02-26  David Hyatt  <hyatt@apple.com>
2544
2545         Reviewed by Dan
2546
2547         http://bugs.webkit.org/show_bug.cgi?id=17485
2548
2549         Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
2550         Fixes a regression on huffingtonpost.com.
2551
2552         New tests added to fast/inline
2553
2554         * rendering/InlineFlowBox.cpp:
2555         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2556         (WebCore::InlineFlowBox::placeBoxesVertically):
2557         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
2558         * rendering/RenderFlow.cpp:
2559         (WebCore::RenderFlow::calcMargins):
2560         * rendering/RenderFlow.h:
2561         * rendering/RenderObject.h:
2562         (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
2563         (WebCore::RenderObject::hasHorizontalBordersOrPadding):
2564         * rendering/bidi.cpp:
2565         (WebCore::getBorderPaddingMargin):
2566         (WebCore::RenderBlock::layoutInlineChildren):
2567         (WebCore::inlineFlowRequiresLineBox):
2568
2569 2008-02-26  Sam Weinig  <sam@webkit.org>
2570
2571         Fix Windows build.
2572
2573         * platform/text/PlatformString.h:
2574         (WebCore::reverseFind):
2575
2576 2008-02-26  Dan Bernstein  <mitz@apple.com>
2577
2578         Reviewed by Darin Adler.
2579
2580         - fix http://bugs.webkit.org/show_bug.cgi?id=17555
2581           <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
2582
2583         Test: fast/dynamic/subtree-table-cell-height.html
2584
2585         * rendering/RenderObject.cpp:
2586         (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
2587         height depends on their contents even if the CSS height property is
2588         fixed.
2589
2590 2008-02-25  Sam Weinig  <sam@webkit.org>
2591
2592         Reviewed by Dan Bernstein.
2593
2594         Make the cleanPath function in CSSStyleSelector more efficient by using
2595         a Vector<UChar>.
2596
2597         * css/CSSStyleSelector.cpp:
2598         (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
2599         of a String.  Also remove unnecessary reverseFind call that could be acomplished
2600         with two compares.
2601         (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
2602         a stack buffer.
2603         * platform/text/PlatformString.h:
2604         (WebCore::find): Make this find generic enough that it can be used for
2605         String::find.
2606         (WebCore::reverseFind): Implement reverseFind so that it can be used
2607         for with a UChar* and length.
2608         * platform/text/StringImpl.cpp:
2609         (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
2610         (WebCore::StringImpl::reverseFind): Ditto,
2611
2612 2008-02-26  Satoshi Nakagawa  <artension@gmail.com>
2613
2614         Reviewed by Darin. Tweaked and landed by Alexey.
2615
2616         http://bugs.webkit.org/show_bug.cgi?id=17411
2617         Ideographic comma and full stop should be treated as line-breakable characters
2618
2619         Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
2620
2621         * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
2622         * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
2623         Unicode 5.0 that is causing this.
2624
2625 2008-02-26  MorganL  <morganl.webkit@yahoo.com>
2626
2627         Reviewed by eseidel.  Landed by eseidel
2628
2629         Fix improperly initialized m_isUpToDate member variable.
2630         Fixs 50+ layout tests when run on Tiger.
2631         http://bugs.webkit.org/show_bug.cgi?id=17549
2632
2633         * platform/network/cf/ResourceResponse.h:
2634         (WebCore::ResourceResponse::ResourceResponse):
2635         * platform/network/mac/ResourceResponse.h:
2636         (WebCore::ResourceResponse::ResourceResponse):
2637
2638 2008-02-25  Dan Bernstein  <mitz@apple.com>
2639
2640         Reviewed by Sam Weinig.
2641
2642         - fix http://bugs.webkit.org/show_bug.cgi?id=17152
2643           Paragraphs indented with :first-letter and text-align CSS render incorrectly
2644
2645         Test: fast/text/apply-start-width-after-skipped-text.html
2646
2647         * rendering/bidi.cpp:
2648         (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
2649         to figure in the padding, border and margin before a text node when the
2650         line begins inside a text node.
2651
2652 2008-02-25  Kevin Ollivier  <kevino@theolliviers.com>
2653
2654         Windows build fix for wx port.
2655
2656         * loader/FTPDirectoryDocument.cpp:
2657
2658 2008-02-25  Mark Rowe  <mrowe@apple.com>
2659
2660         Windows build fix.
2661
2662         * platform/network/cf/ResourceResponseCFNet.cpp:
2663         (WebCore::ResourceResponse::platformCompare):  Implement platformCompare for ResourceResponseCFNet.cpp.
2664
2665 2008-02-25  Beth Dakin  <bdakin@apple.com>
2666
2667         Reviewed by Geoff.
2668
2669         Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 
2670         Document::removePendingSheet() from r30438
2671
2672         r30438 added a call to CachedResource::error() from inside 
2673         Loader::didReceiveData() if a CSS file 4xxs. There was an 
2674         assumption in the loader, though, that either error() would be 
2675         called, or didFinishLoading() would be called, so some work is 
2676         duplicated in each. Now that we are calling an error() on files 
2677         that will also make it to didFinishLoading() (since they succeeded 
2678         in the network layer), we need to make sure we do not duplicate the 
2679         work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 
2680         decrementing the document's pending style sheet counter. 
2681         checkNotify() was still getting called, though, through the normal  
2682         didFinishLoading code path, and the counter was being decremented 
2683         twice. Bad!
2684
2685         * loader/loader.cpp:
2686         (WebCore::Loader::didFinishLoading):
2687         (WebCore::Loader::didReceiveData):
2688
2689 2008-02-25  Mark Rowe  <mrowe@apple.com>
2690
2691         Fix the Gtk, wx and Qt builds.
2692
2693         * GNUmakefile.am: Add new files.
2694         * WebCore.pro: Ditto.
2695         * WebCoreSources.bkl: Ditto.
2696         * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
2697
2698 2008-02-25  MorganL  <morganl.webkit@yahoo.com>
2699
2700         Reviewed by Darin Adler.
2701
2702         Eliminate some #ifdefs from headers in platform/network.
2703         http://bugs.webkit.org/show_bug.cgi?id=17210
2704
2705         * WebCore.base.exp:
2706         * WebCore.order:
2707         * WebCore.vcproj/WebCore.vcproj:
2708         * WebCore.xcodeproj/project.pbxproj:
2709         * dom/XMLTokenizer.cpp:
2710         * loader/ResourceLoader.h:
2711         * platform/network/AuthenticationChallenge.cpp: Removed.
2712         * platform/network/AuthenticationChallenge.h: Removed.
2713         * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
2714         (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
2715         (WebCore::AuthenticationChallengeBase::previousFailureCount):
2716         (WebCore::AuthenticationChallengeBase::proposedCredential):
2717         (WebCore::AuthenticationChallengeBase::protectionSpace):
2718         (WebCore::AuthenticationChallengeBase::failureResponse):
2719         (WebCore::AuthenticationChallengeBase::error):
2720         (WebCore::AuthenticationChallengeBase::isNull):
2721         (WebCore::AuthenticationChallengeBase::nullify):
2722         (WebCore::AuthenticationChallengeBase::compare):
2723         * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
2724         (WebCore::AuthenticationChallengeBase::platformCompare):
2725         (WebCore::operator==):
2726         (WebCore::operator!=):
2727         * platform/network/ResourceError.cpp: Removed.
2728         * platform/network/ResourceError.h: Removed.
2729         * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
2730         (WebCore::ResourceErrorBase::lazyInit):
2731         (WebCore::ResourceErrorBase::compare):
2732         * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
2733         (WebCore::ResourceErrorBase::isNull):
2734         (WebCore::ResourceErrorBase::domain):
2735         (WebCore::ResourceErrorBase::errorCode):
2736         (WebCore::ResourceErrorBase::failingURL):
2737         (WebCore::ResourceErrorBase::localizedDescription):
2738         (WebCore::ResourceErrorBase::ResourceErrorBase):
2739         (WebCore::ResourceErrorBase::platformLazyInit):
2740         (WebCore::ResourceErrorBase::platformCompare):
2741         (WebCore::operator==):
2742         * platform/network/ResourceResponseBase.cpp:
2743         (WebCore::ResourceResponseBase::isHTTP):
2744         (WebCore::ResourceResponseBase::url):
2745         (WebCore::ResourceResponseBase::setUrl):
2746         (WebCore::ResourceResponseBase::mimeType):
2747         (WebCore::ResourceResponseBase::setMimeType):
2748         (WebCore::ResourceResponseBase::expectedContentLength):
2749         (WebCore::ResourceResponseBase::setExpectedContentLength):
2750         (WebCore::ResourceResponseBase::textEncodingName):
2751         (WebCore::ResourceResponseBase::setTextEncodingName):
2752         (WebCore::ResourceResponseBase::suggestedFilename):
2753         (WebCore::ResourceResponseBase::setSuggestedFilename):
2754         (WebCore::ResourceResponseBase::httpStatusCode):
2755         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2756         (WebCore::ResourceResponseBase::httpStatusText):
2757         (WebCore::ResourceResponseBase::setHTTPStatusText):
2758         (WebCore::ResourceResponseBase::httpHeaderField):
2759         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2760         (WebCore::ResourceResponseBase::httpHeaderFields):
2761         (WebCore::ResourceResponseBase::isAttachment):
2762         (WebCore::ResourceResponseBase::setExpirationDate):
2763         (WebCore::ResourceResponseBase::expirationDate):
2764         (WebCore::ResourceResponseBase::setLastModifiedDate):
2765         (WebCore::ResourceResponseBase::lastModifiedDate):
2766         (WebCore::ResourceResponseBase::lazyInit):
2767         (WebCore::ResourceResponseBase::compare):
2768         * platform/network/ResourceResponseBase.h:
2769         (WebCore::ResourceResponseBase::ResourceResponseBase):
2770         (WebCore::ResourceResponseBase::platformLazyInit):
2771         (WebCore::ResourceResponseBase::platformCompare):
2772         (WebCore::operator==):
2773         * platform/network/cf/AuthenticationCF.cpp:
2774         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2775         (WebCore::AuthenticationChallenge::platformCompare):
2776         * platform/network/cf/AuthenticationChallenge.h: Added.
2777         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2778         (WebCore::AuthenticationChallenge::sourceHandle):
2779         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
2780         * platform/network/cf/ResourceError.h: Added.
2781         (WebCore::ResourceError::ResourceError):
2782         * platform/network/cf/ResourceErrorCF.cpp:
2783         (WebCore::ResourceError::ResourceError):
2784         (WebCore::ResourceError::platformLazyInit):
2785         (WebCore::ResourceError::platformCompare):
2786         (WebCore::ResourceError::operator CFStreamError):
2787         * platform/network/cf/ResourceResponse.h:
2788         (WebCore::ResourceResponse::ResourceResponse):
2789         * platform/network/cf/ResourceResponseCFNet.cpp:
2790         (WebCore::ResourceResponse::platformLazyInit):
2791         * platform/network/curl/AuthenticationChallenge.h: Added.
2792         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2793         * platform/network/curl/ResourceError.h: Added.
2794         (WebCore::ResourceError::ResourceError):
2795         * platform/network/curl/ResourceResponse.h:
2796         (WebCore::ResourceResponse::ResourceResponse):
2797         * platform/network/mac/AuthenticationChallenge.h: Added.
2798         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2799         (WebCore::AuthenticationChallenge::sender):
2800         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
2801         * platform/network/mac/AuthenticationMac.mm:
2802         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2803         (WebCore::AuthenticationChallenge::platformCompare):
2804         * platform/network/mac/ResourceError.h: Added.
2805         (WebCore::ResourceError::ResourceError):
2806         * platform/network/mac/ResourceErrorMac.mm:
2807         (WebCore::ResourceError::platformLazyInit):
2808         (WebCore::ResourceError::platformCompare):
2809         * platform/network/mac/ResourceResponse.h:
2810         (WebCore::ResourceResponse::ResourceResponse):
2811         * platform/network/mac/ResourceResponseMac.mm:
2812         (WebCore::ResourceResponse::platformLazyInit):
2813         (WebCore::ResourceResponse::platformCompare):
2814         * platform/network/qt/AuthenticationChallenge.h: Added.
2815         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2816         * platform/network/qt/ResourceError.h: Added.
2817         (WebCore::ResourceError::ResourceError):
2818         * platform/network/qt/ResourceResponse.h:
2819         (WebCore::ResourceResponse::ResourceResponse):
2820         * xml/XSLTProcessor.cpp:
2821
2822 2008-02-25  Anders Carlsson  <andersca@apple.com>
2823
2824         Reviewed by Darin.
2825
2826         Move remaining render style objects over to start with a refcount of 1 and get
2827         rid of DeprecatedDataRef.
2828         
2829         * rendering/DataRef.h:
2830         (WebCore::DataRef::operator*):
2831         (WebCore::DataRef::operator->):
2832         * rendering/RenderStyle.h:
2833         * rendering/SVGRenderStyle.cpp:
2834         (WebCore::SVGRenderStyle::SVGRenderStyle):
2835         * rendering/SVGRenderStyle.h:
2836         (WebCore::SVGRenderStyle::create):
2837         (WebCore::SVGRenderStyle::copy):
2838         * rendering/SVGRenderStyleDefs.cpp:
2839         (StyleFillData::StyleFillData):
2840         (StyleStrokeData::StyleStrokeData):
2841         (StyleStopData::StyleStopData):
2842         (StyleTextData::StyleTextData):
2843         (StyleClipData::StyleClipData):
2844         (StyleMaskData::StyleMaskData):
2845         (StyleMarkerData::StyleMarkerData):
2846         (StyleMiscData::StyleMiscData):
2847         * rendering/SVGRenderStyleDefs.h:
2848         (WebCore::StyleFillData::create):
2849         (WebCore::StyleFillData::copy):
2850         (WebCore::StyleStrokeData::create):
2851         (WebCore::StyleStrokeData::copy):
2852         (WebCore::StyleStopData::create):
2853         (WebCore::StyleStopData::copy):
2854         (WebCore::StyleTextData::create):
2855         (WebCore::StyleTextData::copy):
2856         (WebCore::StyleClipData::create):
2857         (WebCore::StyleClipData::copy):
2858         (WebCore::StyleMaskData::create):
2859         (WebCore::StyleMaskData::copy):
2860         (WebCore::StyleMarkerData::create):
2861         (WebCore::StyleMarkerData::copy):
2862         (WebCore::StyleMiscData::create):
2863         (WebCore::StyleMiscData::copy):
2864
2865 2008-02-25  Dan Bernstein  <mitz@apple.com>
2866
2867         Reviewed by Dave Hyatt.
2868
2869         - remove file-static BidiRun variables from bidi.cpp
2870
2871         * platform/text/BidiResolver.h:
2872         (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
2873         (WebCore::BidiResolver::logicallyLastRun): Added.
2874         (WebCore::BidiResolver::runCount): Made unsigned.
2875         (WebCore::::reverseRuns): Changed ints to unsigned.
2876         (WebCore::::createBidiRunsForLine): Made this function set
2877         m_logicallyLastRun.
2878         * rendering/RenderBlock.h:
2879         * rendering/bidi.cpp:
2880         (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
2881         (WebCore::RenderBlock::constructLine): Removed unused start parameter
2882         and added run count and first and last run parameters. Replaced end
2883         parameter with lastLine boolean and endObject pointer.
2884         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
2885         and logically last run parameters.
2886         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
2887         parameter.
2888         (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
2889         variables.
2890         (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
2891         accessors instead of file statics.
2892
2893 2008-02-25  Rodney Dawes  <dobey@wayofthemonkey.com>
2894
2895         Reviewed by Jon Honeycutt.
2896
2897         http://bugs.webkit.org/show_bug.cgi?id=16924
2898         Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
2899
2900         Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
2901         Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
2902         Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
2903         Add new PluginDatabase.cpp to Windows build.
2904         Add temporary stubs for new PluginDatabase and PluginPackage.
2905         shared classes to GTK+, Qt, and Wx ports.
2906         Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
2907         Remove shared code from PluginDatabaseWin.cpp.
2908         Remove Windows-specific code from PluginDatabase.cpp.
2909         Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
2910         Remove extraneous PluginPackage:: from hash() class method prototype.
2911         Subsume storeFileVersion into PluginPackage::fetchInfo.
2912         Add cross-platform PlatformModuleVersion type definition.
2913         Use PlatformModuleVersion to store the module version.
2914         Rename m_fileVersion[ML]S to m_moduleVersion.
2915         Change compareFileVersion to use PlatformModuleVersion as the argument.
2916         Move PluginView::determineQuirks and m_quirks to PluginPackage.
2917         Updated determineQuirks for the PlatformModuleVersion.
2918
2919         * GNUmakefile.am:
2920         * WebCore.pro:
2921         * WebCoreSources.bkl:
2922         * webcore-base.bkl:
2923         * WebCore.vcproj/WebCore.vcproj:
2924         * Platform/FileSystem.h:
2925         * platform/qt/PlugInInfoStoreQt.cpp:
2926         * platform/gtk/TemporaryLinkStubs.cpp:
2927         * platform/qt/TemporaryLinkStubs.cpp:
2928         * platform/wx/TemporaryLinkStubs.cpp:
2929         * plugins/PluginDatabase.cpp:
2930         * plugins/PluginDatabase.h:
2931         * plugins/win/PluginDatabaseWin.cpp:
2932         * plugins/PluginPackage.h:
2933         * plugins/win/PluginPackageWin.cpp:
2934         * plugins/PluginView.h:
2935         * plugins/win/PluginViewWin.cpp:
2936
2937 2008-02-25  Anders Carlsson  <andersca@apple.com>
2938
2939         Reviewed by Darin.
2940
2941         Make more style objects start out with a refcount of 1.
2942         
2943         * rendering/RenderStyle.cpp:
2944         (WebCore::StyleSurroundData::StyleSurroundData):
2945         (WebCore::StyleBoxData::StyleBoxData):
2946         (WebCore::StyleVisualData::StyleVisualData):
2947         (WebCore::StyleBackgroundData::StyleBackgroundData):
2948         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2949         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2950         (WebCore::StyleInheritedData::StyleInheritedData):
2951         * rendering/RenderStyle.h:
2952         (WebCore::StyleSurroundData::create):
2953         (WebCore::StyleSurroundData::copy):
2954         (WebCore::StyleBoxData::create):
2955         (WebCore::StyleBoxData::copy):
2956         (WebCore::StyleVisualData::create):
2957         (WebCore::StyleVisualData::copy):
2958         (WebCore::StyleBackgroundData::create):
2959         (WebCore::StyleBackgroundData::copy):
2960         (WebCore::StyleBackgroundData::~StyleBackgroundData):
2961         (WebCore::StyleRareNonInheritedData::create):
2962         (WebCore::StyleRareNonInheritedData::copy):
2963         (WebCore::StyleRareInheritedData::create):
2964         (WebCore::StyleRareInheritedData::copy):
2965         (WebCore::StyleInheritedData::create):
2966         (WebCore::StyleInheritedData::copy):
2967
2968 2008-02-25  Anders Carlsson  <andersca@apple.com>
2969
2970         Reviewed by Darin.
2971
2972         Make some of the refcounted style objects start out with a refcount of 1.
2973
2974         * rendering/DataRef.h:
2975         Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
2976         Change DataRef to use ::create() and ::copy() instead of the constructors.
2977         Change DataRef's pointer to be a RefPtr instead.
2978
2979         * rendering/RenderStyle.cpp:
2980         (WebCore::StyleMarqueeData::StyleMarqueeData):
2981         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2982         (WebCore::StyleMultiColData::StyleMultiColData):
2983         (WebCore::StyleTransformData::StyleTransformData):
2984         Start with a RefCount of 1.
2985         
2986         * rendering/RenderStyle.h:
2987         * rendering/SVGRenderStyle.h:
2988         Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
2989
2990 2008-02-25  Darin Adler  <darin@apple.com>
2991
2992         Reviewed by Anders.
2993         Based on a patch by Tim Steele <timsteele41@gmail.com>.
2994
2995         - fix http://bugs.webkit.org/show_bug.cgi?id=17186
2996           Fragment navigation within a page permanently cancels meta refresh
2997
2998         Test: fast/loader/meta-refresh-anchor-click.html
2999
3000         * loader/FrameLoader.cpp:
3001         (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
3002         always do a real load. This makes sure that meta refresh loads are treated as real loads
3003         rather than anchor scrolls. Also tweaked formatting a bit.
3004         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
3005         an alternate way to complete a load, so it needs to start the redirection timer if
3006         redirection has already been scheduled.
3007
3008 2008-02-25  Dan Bernstein  <mitz@apple.com>
3009
3010         Reviewed by Darin Adler.
3011
3012         - avoid counting spaces in non-justified text
3013
3014         * rendering/bidi.cpp:
3015         Removed file-static numSpaces.
3016         (WebCore::BidiState::addRun): Removed space counting.
3017         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
3018         counting, conditional on the block having the text-align: justify
3019         property value.
3020         (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
3021         numSpaces.
3022
3023 2008-02-25  Darin Adler  <darin@apple.com>
3024
3025         Requested by Steve.
3026
3027         * platform/graphics/cg/ImageSourceCG.cpp:
3028         (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
3029         variable (because CFSTR is inefficient on Windows).
3030
3031 2008-02-25  Darin Adler  <darin@apple.com>
3032
3033         Reviewed by Adam.
3034
3035         * WebCore.base.exp: Export blankURL, and sort the file.
3036
3037 2008-02-25  Simon Hausmann  <hausmann@webkit.org>
3038
3039         Reviewed by Mark Rowe.
3040
3041         Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
3042
3043         * dom/Position.cpp:
3044         * dom/Range.cpp:
3045         * editing/Selection.cpp:
3046         * editing/SelectionController.cpp:
3047         * editing/VisiblePosition.cpp:
3048         * history/HistoryItem.cpp:
3049         * loader/Cache.cpp:
3050         * loader/FTPDirectoryParser.cpp:
3051         * platform/KURL.cpp:
3052         * platform/gtk/FileSystemGtk.cpp:
3053         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3054         * platform/text/TextCodecLatin1.cpp:
3055         * platform/text/TextCodecUserDefined.cpp:
3056         * rendering/CounterNode.cpp:
3057         * rendering/RenderObject.cpp:
3058
3059 2008-02-25  Johnny Ding  <johnnyding.webkit@gmail.com>
3060
3061         Reviewed by Darin Adler.
3062
3063         - fix http://bugs.webkit.org/show_bug.cgi?id=17444
3064
3065         In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
3066         whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
3067         and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
3068         to decide whether to save prependingSrc or not. The later behavior is not right
3069         because, in scriptHandler and scriptExecution, even the pendingScripts queue is
3070         empty, the testBit:LoadingExtScript might be TRUE.
3071
3072         Test: fast/tokenizer/nested-multiple-scripts.html
3073
3074         * html/HTMLTokenizer.cpp:
3075         (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
3076         checking state.loadingExtScript().
3077         (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
3078         checking state.loadingExtScript().
3079
3080 2008-02-24  Darin Adler  <darin@apple.com>
3081
3082         * dom/Document.h: Removed stray duplicate declaration of
3083         RegisteredEventListenerList.
3084
3085 2008-02-24  Darin Adler  <darin@apple.com>
3086
3087         * dom/Range.cpp:
3088         (WebCore::Range::surroundContents): Removed incorrect comment.
3089         I added it a while ago, and I was just mixed up.
3090
3091 2008-02-24  Darin Adler  <darin@apple.com>
3092
3093         - quick follow-up to that last check-in
3094
3095         * platform/graphics/cg/ImageSourceCG.cpp:
3096         (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
3097         WebCore::String's == for speed.
3098
3099 2008-02-24  Michael Knaup  <michael.knaup@mac.com>
3100
3101         Reviewed by Darin.
3102
3103         Bug 8749: XBM rendered incorrectly as black on white
3104
3105         xbm images are now created and rendered using black on a
3106         transparent background (same behavior as in Firefox)
3107
3108         Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
3109
3110         * platform/graphics/cg/ImageSourceCG.cpp:
3111         (WebCore::ImageSource::createFrameAtIndex):
3112
3113 2008-02-24  Dan Bernstein  <mitz@apple.com>
3114
3115         Reviewed by Darin Adler.
3116
3117         - fix http://bugs.webkit.org/show_bug.cgi?id=17471
3118           REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
3119
3120         Test: http/tests/misc/object-image-error.html
3121
3122         * html/HTMLObjectElement.cpp:
3123         (WebCore::HTMLObjectElement::attach): Added an early return in case
3124         updateFromElement() has changed the object to use fallback content.
3125
3126 2008-02-24  Dan Bernstein  <mitz@apple.com>
3127
3128         Reviewed by Darin Adler.
3129
3130         - fix float positioning when a float that does not fit on the line is
3131           followed by a float that does
3132
3133         Test: fast/block/float/narrow-after-wide.html
3134
3135         * rendering/bidi.cpp:
3136         (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
3137         more floats on the line once a float that does not fit is encountered.
3138         That float should be pushed to the next line, and so should all floats
3139         that follow, regardless of whether they can fit on the current line.
3140
3141 2008-02-24  Darin Adler  <darin@apple.com>
3142
3143         Reviewed by Sam.
3144
3145         - fix http://bugs.webkit.org/show_bug.cgi?id=16770
3146           Acid3 expects :visited styled links to restyle on iframe load
3147
3148         Disentangle global history updating from the back/forward history.
3149         There are many cases where we don't want to create a new back/forward
3150         item, but we do still want to add to the global history (used for visited
3151         link coloring) in those cases.
3152
3153         Test: fast/history/subframe-is-visited.html
3154
3155         * loader/FrameLoader.cpp:
3156         (WebCore::FrameLoader::updateGlobalHistory): Renamed from
3157         addHistoryForCurrentLocation and removed the back/forward handling.
3158         (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
3159         bit. Replaced call to addHistoryForCurrentLocation with a call to
3160         addBackForwardItemClippedAtTarget. Added an unconditional call to
3161         updateGlobalHistory.
3162         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
3163         why doesn't this function update global history?
3164         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
3165         (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
3166         the client with a call to the new updateGlobalHistory function.
3167         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
3168         the same changes as for updateHistoryForStandardLoad.
3169         * loader/FrameLoader.h: More of the same.
3170
3171         * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
3172         renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
3173
3174         * svg/graphics/SVGImageEmptyClients.h:
3175         (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
3176         match the above.
3177
3178 2008-02-23  Darin Adler  <darin@apple.com>
3179
3180         Reviewed by Sam.
3181
3182         - fix http://bugs.webkit.org/show_bug.cgi?id=17508
3183           REGRESSION (r30535): mailto regression tests failing
3184
3185         * html/HTMLFormElement.cpp:
3186         (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
3187         trip through String do to the replace operation. It's inefficient, but there's
3188         no real reason to worry about the efficiency of mailto forms, since that feature
3189         is nearly obsolete.
3190
3191 2008-02-23  Darin Adler  <darin@apple.com>
3192
3193         Reviewed by Sam.
3194
3195         - replace SegmentedString's use of DeprecatedValueList with Deque
3196
3197         Testing indicates this is a slight speed-up for page loading.
3198
3199         * platform/text/SegmentedString.cpp:
3200         (WebCore::SegmentedString::length): Update to use Deque.
3201         (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
3202         (WebCore::SegmentedString::append): Ditto.
3203         (WebCore::SegmentedString::prepend): Ditto.
3204         (WebCore::SegmentedString::advanceSubstring): Ditto.
3205         (WebCore::SegmentedString::toString): Ditto.
3206         * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
3207         class private with a single friend. Change m_sbstrings from a DeprecatedValueList
3208         to a Deque.
3209
3210 2008-02-23  Darin Adler  <darin@apple.com>
3211
3212         Reviewed by Anders.
3213
3214         - fix http://bugs.webkit.org/show_bug.cgi?id=17506
3215           REGRESSION (r30535): ASSERTION FAILED: i < size()
3216
3217         * loader/TextResourceDecoder.cpp:
3218         (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
3219         the C string here.
3220
3221 2008-02-23  Matt Lilek  <webkit@mattlilek.com>
3222
3223         Not reviewed, build fix.
3224
3225         * platform/network/cf/FormDataStreamCFNet.cpp:
3226         (WebCore::httpBodyFromRequest):
3227         * plugins/win/PluginViewWin.cpp:
3228         (WebCore::PluginView::handlePost):
3229
3230 2008-02-23  Dan Bernstein  <mitz@apple.com>
3231
3232         - fix a typo
3233
3234         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
3235         (WebCore::GlyphPage::fill):
3236         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
3237         (WebCore::GlyphPage::fill):
3238
3239 2008-02-23  Dan Bernstein  <mitz@apple.com>
3240
3241         Reviewed by Anders Carlsson.
3242
3243         - fix GlyphPage::fill() logic for partial page fills
3244
3245         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
3246         (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
3247         work correctly when the length parameter is less than a full page size.
3248         Also updated the comment.
3249         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
3250         (WebCore::GlyphPage::fill): Ditto.
3251
3252 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
3253
3254         Reviewed by Darin Adler.
3255
3256         Move text drawing into wxcode, as we need platform-dependent
3257         APIs for drawing non-kerned text, which wx doesn't yet have.
3258         (But hopefully will, once these APIs are fleshed out on all
3259         platforms!)
3260
3261         http://bugs.webkit.org/show_bug.cgi?id=17396
3262
3263         * platform/graphics/wx/FontWx.cpp:
3264         (WebCore::Font::drawGlyphs):
3265         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
3266         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
3267         * platform/wx/wxcode/non-kerned-drawing.h: Added.
3268         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
3269         * webcore-wx.bkl:
3270
3271 2008-02-23  Darin Adler  <darin@apple.com>
3272
3273         Pointed out by Mitz.
3274
3275         * loader/TextResourceDecoder.cpp:
3276         (WebCore::find): Fix a "==" that was supposed to be ">".
3277         (WebCore::findIgnoringCase): Ditto.
3278
3279 2008-02-23  Darin Adler  <darin@apple.com>
3280
3281         Reviewed by Sam.
3282
3283         * html/HTMLFormElement.cpp:
3284         (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
3285
3286 2008-02-23  Darin Adler  <darin@apple.com>
3287
3288         Reviewed by Sam.
3289
3290         - remove all but 1 remaining use of DeprecatedCString
3291         - change FormData to start refcount at 1
3292
3293         * html/HTMLFormElement.cpp:
3294         (WebCore::appendString): Added. Helpers for Vector<char>.
3295         (WebCore::appendEncodedString): Renamed from encodeCString and changed to
3296         append to an existing Vector<char> to cut down a bit on memory allocation.
3297         (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
3298         enc_string with a Vector<char> called encodedData. Change to use the new
3299         FormData::create function.
3300         (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
3301
3302         * loader/TextResourceDecoder.cpp:
3303         (WebCore::find): Added. Helper for searching in char* with length.
3304         (WebCore::findIgnoringCase): Ditto.
3305         (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
3306         when we have a char* with length rather than a null-terminated char*.
3307         (WebCore::findXMLEncoding): Changed to use char* and length rather than
3308         DeprecatedCString. Also fixed some things that would be one-character
3309         buffer overruns in a string that's not null-terminated.
3310         (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
3311         findTextEncoding rather than constructing a CString to pass to the
3312         TextEncodingconstructor.
3313         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
3314
3315         * platform/network/FormData.cpp:
3316         (WebCore::FormData::FormData): Changed to start refcount at 1.
3317         (WebCore::FormData::create): Added.
3318         (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
3319         * platform/network/FormData.h: Made constructor private. Added create functions.
3320
3321         * platform/network/mac/ResourceRequestMac.mm:
3322         (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
3323         * xml/XMLHttpRequest.cpp:
3324         (WebCore::XMLHttpRequest::send): Ditto.
3325
3326 2008-02-23  Darin Adler  <darin@apple.com>
3327
3328         Reviewed by Anders.
3329
3330         - http://bugs.webkit.org/show_bug.cgi?id=17067
3331           eliminate attributes parameter from JSObject::put for speed/clarity
3332
3333         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3334         (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
3335
3336         * bindings/js/JSCanvasPixelArrayCustom.cpp:
3337         (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
3338         (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
3339         CanvasPixelArray object, for consistency with the getter. Removed attributes
3340         argument.
3341
3342         * bindings/js/JSDOMWindowCustom.cpp:
3343         (WebCore::JSDOMWindow::customPut): Removed special case for variable
3344         initialization, which is not needed since that does use put any more.
3345         Removed attributes argument.
3346
3347         * bindings/js/JSEventTargetBase.h:
3348         (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
3349         (WebCore::JSEventTargetBase::put): Ditto.
3350         (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
3351         * bindings/js/JSEventTargetNode.cpp:
3352         (WebCore::JSEventTargetNode::put): Removed attributes argument.
3353         (WebCore::JSEventTargetNode::putValueProperty): Ditto.
3354         * bindings/js/JSEventTargetNode.h: Ditto.
3355         * bindings/js/JSHTMLAppletElementCustom.cpp:
3356         (WebCore::JSHTMLAppletElement::customPut): Ditto.
3357         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3358         (WebCore::JSHTMLEmbedElement::customPut): Ditto.
3359         * bindings/js/JSHTMLInputElementBase.cpp:
3360         (WebCore::JSHTMLInputElementBase::put): Ditto.
3361         (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
3362         * bindings/js/JSHTMLInputElementBase.h: Ditto.
3363         * bindings/js/JSHTMLObjectElementCustom.cpp:
3364         (WebCore::JSHTMLObjectElement::customPut): Ditto.
3365         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3366         (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
3367         * bindings/js/JSHTMLSelectElementCustom.cpp:
3368         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
3369         * bindings/js/JSHistoryCustom.cpp:
3370         (WebCore::JSHistory::customPut): Ditto.
3371         * bindings/js/JSLocation.cpp:
3372         (WebCore::JSLocation::put): Ditto.
3373         * bindings/js/JSLocation.h: Ditto.
3374         * bindings/js/JSXMLHttpRequest.cpp:
3375         (WebCore::JSXMLHttpRequest::put): Ditto.
3376         (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
3377         * bindings/js/JSXMLHttpRequest.h: Ditto.
3378
3379         * bindings/js/kjs_dom.cpp:
3380         (WebCore::getRuntimeObject): Changed return type to JSObject*.
3381         * bindings/js/kjs_dom.h: Ditto.
3382
3383         * bindings/js/kjs_events.cpp:
3384         (WebCore::JSClipboard::put): Removed attributes argument.
3385         (WebCore::JSClipboard::putValueProperty): Ditto.
3386         * bindings/js/kjs_events.h: Ditto.
3387
3388         * bindings/js/kjs_html.cpp:
3389         (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
3390         return a JSObject. Used early exit idiom.
3391         (WebCore::runtimeObjectPropertyGetter): Ditto.
3392         (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
3393         (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
3394         that we should put with the property syntax instead of canPut.
3395         (WebCore::runtimeObjectImplementsCall): Ditto.
3396         (WebCore::runtimeObjectCallAsFunction): Ditto.
3397         * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
3398
3399         * bindings/js/kjs_window.cpp:
3400         (KJS::Window::put): Removed attributes argument.
3401         * bindings/js/kjs_window.h: Ditto.
3402
3403         * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
3404         putValueProperty, customPut, and indexSetter.
3405
3406         * html/CanvasPixelArray.h:
3407         (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
3408         function. Before, the checking was done in the JavaScript bindings for set.
3409
3410 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
3411
3412         Reviewed by Adam and Darin.
3413
3414         http://bugs.webkit.org/show_bug.cgi?id=17442
3415         Correct the Windows Cairo implementation of GraphicsContext so
3416         that Windows 'WorldTransform' is kept in sync with the Cairo
3417         transormations.
3418
3419         Also corrects an uninitialized variable in the Cairo Windows
3420         image drag handler.
3421
3422         WARNING: NO TEST CASES ADDED OR CHANGED
3423
3424         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Modify
3425           methods to call GraphicsContextPlatformPrivate calls, just
3426           as is done for the CoreGraphics version.  These calls are
3427           nop's for everything but Windows.
3428         (WebCore::GraphicsContext::savePlatformState):
3429         (WebCore::GraphicsContext::restorePlatformState):
3430         (WebCore::GraphicsContext::clip):
3431         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3432         (WebCore::GraphicsContext::translate):
3433         (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
3434         (WebCore::GraphicsContext::beginTransparencyLayer):
3435         (WebCore::GraphicsContext::endTransparencyLayer):
3436         (WebCore::GraphicsContext::rotate):
3437         (WebCore::GraphicsContext::scale):
3438         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3439         * platform/graphics/win/GraphicsContextCGWin.cpp:  Move common
3440           code for handling WorldTransform calls to parent class.
3441         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add common
3442           code for handling WorldTransform calls.
3443           (WebCore::GraphicsContextPlatformPrivate::concatCTM):  Change
3444           implementation so that it only handles WorldTransform.  The
3445           Cairo update is done in GraphicsContextCairo.cpp
3446         * platform/graphics/win/GraphicsContextWin.cpp:  Call platform-private
3447           methods to keep WorldTransform in sync.
3448         (WebCore::GraphicsContextPlatformPrivate::save):
3449         (WebCore::GraphicsContextPlatformPrivate::restore):
3450         (WebCore::GraphicsContextPlatformPrivate::clip):
3451         (WebCore::GraphicsContextPlatformPrivate::scale):
3452         (WebCore::GraphicsContextPlatformPrivate::rotate):
3453         (WebCore::GraphicsContextPlatformPrivate::translate):
3454         * platform/win/DragImageCairoWin.cpp:
3455         (WebCore::createDragImageFromImage):  Correct uninitialized value
3456
3457 2008-02-23  Dan Bernstein  <mitz@apple.com>
3458
3459         Reviewed by Dave Hyatt.
3460
3461         - make non-autowrapping text clear floats
3462
3463         Test: fast/text/whitespace/nowrap-clear-float.html
3464
3465         * rendering/RenderBlock.cpp:
3466         (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
3467         this and changed to avoid comparing bottom to 0 in each iteration.
3468         (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
3469         * rendering/RenderBlock.h:
3470         * rendering/bidi.cpp:
3471         (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
3472         findNextLineBreak() and simplified.
3473         (WebCore::RenderBlock::findNextLineBreak): Changed to call
3474         fitBelowFloats(). Fixed the bug by trying to fit below floats in the
3475         case of non-wrapping text. Removed some redundancy.
3476
3477 2008-02-23  Sam Weinig  <sam@webkit.org>
3478
3479         Reviewed by Oliver Hunt.
3480
3481         Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
3482         Speed up DOM lists array subscription syntax by using the fast 
3483         getOwnPropertySlot and set paths
3484
3485         - 6x speed improvement on Oliver's ImageData put test.
3486
3487         * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
3488         and put when an indexGetter or indexSetter is used.  We can not use the fast
3489         path if an overridingNameGetter is used as there would be no way to override.
3490
3491 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
3492
3493         wx build fix after JSImageData.cpp was added.
3494
3495         * WebCoreSources.bkl:
3496
3497 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
3498
3499         Windows build fix - move ThreadCondition implementation from WebCore to WTF.
3500
3501         * WebCore.vcproj/WebCore.vcproj:
3502         * platform/win/ThreadConditionWin.cpp: Removed.
3503
3504 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
3505
3506         Reviewed by Darin.
3507
3508         Move basic threading support from WebCore to WTF.
3509
3510         One call that remains in WebCore is callOnMainThread(), and it has its own header now.
3511
3512         * ForwardingHeaders/wtf/Locker.h: Added.
3513         * ForwardingHeaders/wtf/MessageQueue.h: Added.
3514         * ForwardingHeaders/wtf/Threading.h: Added.
3515         * GNUmakefile.am:
3516         * WebCore.pro:
3517         * WebCore.vcproj/WebCore.vcproj:
3518         * WebCore.xcodeproj/project.pbxproj:
3519         * WebCoreSources.bkl:
3520         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3521         * dom/XMLTokenizer.cpp:
3522         * loader/icon/IconDatabase.cpp:
3523         (WebCore::iconDatabase):
3524         * loader/icon/IconDatabase.h:
3525         * platform/Locker.h: Removed.
3526         * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
3527         (WebCore::initializeThreadingAndMainThread):
3528         * platform/MessageQueue.h: Removed.
3529         * platform/SecurityOrigin.h:
3530         * platform/Threading.h: Removed.
3531         * platform/ThreadingNone.cpp: Removed.
3532         * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
3533         * platform/gtk/ThreadingGtk.cpp: Removed.
3534         * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
3535         * platform/mac/Threading.mm: Removed.
3536         * platform/pthreads: Removed.
3537         * platform/pthreads/ThreadingPthreads.cpp: Removed.
3538         * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
3539         * platform/qt/ThreadingQt.cpp: Removed.
3540         * platform/sql/SQLValue.h:
3541         * platform/sql/SQLiteAuthorizer.h:
3542         * platform/sql/SQLiteDatabase.h:
3543         * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
3544         (WebCore::initializeThreadingAndMainThread):
3545         * platform/win/MutexWin.cpp: Removed.
3546         * platform/win/ThreadingWin.cpp: Removed.
3547         * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
3548         * platform/wx/ThreadingWx.cpp: Removed.
3549         * storage/Database.cpp:
3550         (WebCore::Database::Database):
3551         * storage/Database.h:
3552         * storage/DatabaseTask.h:
3553         * storage/DatabaseThread.h:
3554         * storage/DatabaseTracker.cpp:
3555         * storage/OriginQuotaManager.h:
3556         * storage/SQLError.h:
3557         * storage/SQLResultSet.h:
3558         * storage/SQLStatement.h:
3559         * storage/SQLStatementCallback.h:
3560         * storage/SQLStatementErrorCallback.h:
3561         * storage/SQLTransaction.h:
3562         * storage/SQLTransactionCallback.h:
3563         * storage/SQLTransactionErrorCallback.h:
3564         * webcore-wx.bkl:
3565
3566 2008-02-23  David Kilzer  <ddkilzer@apple.com>
3567
3568         Please clarify licensing for some files
3569         <http://bugs.webkit.org/show_bug.cgi?id=14970>
3570
3571         Reviewed by Darin.
3572
3573         * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
3574         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
3575         * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
3576
3577 2008-02-22  Justin Garcia  <justin.garcia@apple.com>
3578
3579         Reviewed by Anders Carlsson.
3580
3581         <rdar://problem/5714333> Add document.getSelection()
3582         
3583         Add a synonym for window.getSelection() that FF supports.  There were requests in
3584         this bugs dupes to also support the IE only document.selection, but IE's Selection
3585         object is too different than ours currently for that to be safe (specifically, we
3586         don't support enough of IE's TextRange methods on our DOM Range object yet). I
3587         filed <rdar://problem/5761233> to cover that.
3588
3589         * dom/Document.cpp: